Anda di halaman 1dari 20

Percabangan/Pemilihan

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
(Menentuk an jumlah hari dalam bulan)

Start

bulan, tahun, jumlahHari

Baca bulan

Baca tahun

bulan = 1,3,5,7,8,10,12 ? T bulan = 4,6,9,11 ? T

jumlahHari = 31

jumlahHari = 30

bulan = 2 ?

tahun % 4 = 0 ?

jumlahHari = 29

T Cetak Bulan Invalid

jumlahHari = 28

Cetak jumlahHari

End

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."); 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

Contoh Solusi (1)


if (nilai >= 80){ System.out.println(A); } if (nilai >= 70){ 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 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

Volume Air (m3) 0 15 16 - 30 31 - 50

Tarif per m3 (Rp) 250 450 675

> 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"); }

Anda mungkin juga menyukai