Nested If
(Menentuk an jumlah hari dalam bulan)
Start
Baca bulan
Baca tahun
jumlahHari = 31
jumlahHari = 30
bulan = 2 ?
tahun % 4 = 0 ?
jumlahHari = 29
jumlahHari = 28
Cetak jumlahHari
End
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."); break;
Kesalahan Umum
Soal : buat program yg menampilkan Nilai dalam Huruf (A,B,C,D atau E) dengan kriteria :
Nilai >= 80 70 <= Nilai < 80 60 <= Nilai < 70 50 <= Nilai < 60 Nilai < 50 :A :B :C :D :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 no 1
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
> 50
1125
Tugas No 2
Buat program yang membaca nilai dalam huruf dan menampilkan keterangan nilai tersebut di layar dg ketentuan : A : Baik Sekali B : Baik C : Cukup D : Kurang E : Kurang Sekali Tulis dengan statemen SWITCH Tipe datanya pakai karakter char Contoh pemakaian karakter :
char huruf = A; // ingat, karakter hanya pakai tanda petik 1 if (huruf == A){ } case A :
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 if(jmlHasil <= 10000000){ totalPajak = pphRendah*jmlHasil; } else{ totalPajak = (pphRendah * maksBatasHasil) + ( (jmlHasil10000000)*pphTinggi ); } //tampilkan total pajak System.out.print("Jumlah Pajak Penghasilan = " + totalPajak); } else{ //tampilkan pesan tidak kena pajak System.out.print("Anda Tidak Kena Pajak Penghasilan"); }