Percabangan/Pemilihan Pertemuan ke-3 dan ke-4
Nested If (Bilangan Negatif / Positif)
Pseudocode (Bil Positif/Negatif) Baca bilangan If (bilangan > 0) then “Positif” Else If (bilangan < 0) then “Negatif” Else “Nol” bilangan disebut dengan variabel atau mudahnya adalah wadah
Nested If (Menentukan jumlah hari dalam bulan)
Contoh : part program … else if (bulan == 2) { if (tahun % 4 == 0){ jmlHari = 29; } else{ jmlHari = 28;
Operator Switch Syntax: switch(variabel){ case konstanta1 : statemen1; break; case konstanta2 : statemen2; break; … default : statemenDefault; break; }
Penggunaan switch Untuk variabel dengan tipe data Java primitif : char short byte int Hanya mengecek “=“ (sama dengan), tidak bisa <, >, <=, >= Tidak semua algoritma dengan statemen IF bisa diganti dengan SWITCH
Contoh switch switch (month) { } … case 2: if (year % 4 == 0) numDays = 29; else numDays = 28; break; default: System.out.println("Invalid month."); }
Kesalahan Umum Soal : buat program yg menampilkan Nilai dalam Huruf (A,B,C,D atau E) dengan kriteria : Nilai >= 80 : A 70 <= Nilai < 80 : B 60 <= Nilai < 70 : C 50 <= Nilai < 60 : D Nilai < 50 : E
Contoh Solusi (1) … if (nilai >= 80){ System.out.println(“A”); } System.out.println(“B”); if (nilai >= 60){ System.out.println(“C”); if (nilai >= 50){ System.out.println(“D”); else{ System.out.println(“E”);
Contoh Solusi (2) … if (nilai >= 80){ System.out.println(“A”); } else if (nilai >= 70){ System.out.println(“B”); else if (nilai >= 60){ System.out.println(“C”); else if (nilai >= 50){ System.out.println(“D”); else{ System.out.println(“E”);
Contoh Solusi (3) … if (nilai >= 80){ System.out.println(“A”); } else if ( (nilai >= 70) && (nilai < 80) ){ System.out.println(“B”); else if ( (nilai >= 60) && (nilai < 70) ){ System.out.println(“C”); else if ( (nilai >= 50) && (nilai < 60) ){ System.out.println(“D”); else{ System.out.println(“E”);
Menuliskan konstanta final double kecepatanMaks = 100; final double kecepatanMin = 60;
Latihan Pajak penghasilan(pph) progresif hanya dikenakan thd penghasilan di atas 300 ribu. Jika penghasilan kurang dari atau sama dengan 300 ribu tidak dikenakan pph. Untuk penghasilan sampai dengan 10 juta dikenai pph 15%, sedangkan jika lebih dari 10 juta dikenai pph 30%. Jika tidak terkena pajak, munculkan pesan “Horeee, gak bayar pajek, rek !” Jika total pajak-nya lebih dari 50 ribu, munculkan pesan “Aduuhh, gak isok malam mingguan iki !” Jika total pajak-nya lebih dari 75 ribu, munculkan pesan “wis gak malam mingguan, bangkrut pisan !” Buat programnya
Tugas 3 – No 3 Volume Air (m3) Tarif per m3 (Rp) 0 – 15 250 16 - 30 PDAM menentukan tarif progresif per m3 air dg ketentuan berikut : Buat program u/ membaca jumlah pemakaian air, menghitung biaya yang harus dibayar dan menampilkannya di layar Buat program secara lengkap Volume Air (m3) Tarif per m3 (Rp) 0 – 15 250 16 - 30 450 31 - 50 675 > 50 1125
Nested Looping for (int counter1 = 1; counter1 <= baris ; counter1++){ for (int counter2=1; counter2<= kolom; counter2++){ System.out.print("*"); } System.out.print("\n");
final double minBatasHasil = 300000; //batas bawah kena pajak final double maksBatasHasil = 10000000; //batas atas kena pajak final double pphRendah = 0.15; //persen pph s/d 10 juta final double pphTinggi = 0.30; //persen pph > 10 juta //deklarasi dan inisialisasi variabel double totalPajak = 0.0; double jmlHasil = 0.0; //baca input jumlah penghasilan System.out.print("Masukkan jumlah penghasilan sekarang : "); jmlHasil = TextIO.getlnDouble();
if(jmlHasil > 300000){ //hanya yang lebih dari 300 rb kena pajak totalPajak = pphRendah*jmlHasil; } else{ totalPajak = (pphRendah * maksBatasHasil) + ( (jmlHasil-10000000)*pphTinggi ); //tampilkan total pajak System.out.print("Jumlah Pajak Penghasilan = " + totalPajak); //tampilkan pesan tidak kena pajak System.out.print("Anda Tidak Kena Pajak Penghasilan");