04
PERCABANGAN
IF34348 - PEMROGRAMAN LANJUT
IF34348 - Pemrograman Lanjut
Pernyataan IF
Pernyataan SWITCH – CASE
Operator Kondisional ( ?: )
JENIS-JENIS PERCABANGAN
IF34348 - Pemrograman Lanjut
Pernyataan IF digunakan untuk menentukan apakah
sebuah/banyak pernyataan (block code) akan dieksekusi atau tidak. Jika syaratnya terpenuhi (bernilai true) maka block
code tersebut akan dieksekusi, begitu sebaliknya.
Jenis-jenis pernyataan IF :
IF (1 kemungkinan)
IF ELSE (2 kemungkinan)
IF ELSE IF (banyak kemungkinan)
PERNYATAAN IF
IF34348 - Pemrograman Lanjut
Bentuk umum sintaknya adalah :
Atau jika pernyataan yang akan dieksekusi lebih dari 1 pernyataan maka block-code harus diapit dengan kurung kurawal ( { } ).
PERNYATAAN IF (1 KEMUNGKINAN)
if(ekspresi boolean) pernyataan;
if(ekspresi boolean){
pernyataan1;
pernyataan2;
pernyataan3;
IF34348 - Pemrograman Lanjut
Bentuk umum sintaknya adalah :
Atau jika pernyataan yang akan dieksekusi lebih dari 1 pernyataan maka block-code harus diapit dengan kurung kurawal ( { } ).
PERNYATAAN IF (2 KEMUNGKINAN)
i f(ek spr esi b oole an ) pe rny ataan -1;
e lse
Pe rny ataan -2;
if(ekspresi boolean){
pernyataan1;
pernyataan2;
}
else {
pernyataan3;
pernyataan4;
IF34348 - Pemrograman Lanjut
Bentuk umum sintaknya adalah :
PERNYATAAN IF
(BANYAK KEMUNGKINAN)
if(ekspresi boolean 1) pernyataan-1;
else
if(ekspresi boolean 2) pernyataan-2;
else
Pernyataan-3;
IF34348 - Pemrograman Lanjut
p u b l i c c l a s s T e s t C a r i I n d e x {
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { i n t n i l a i ;
c h a r i n d e x ; n i l a i = 9 0 ;
i f ( n i l a i > = 8 0 )
i n d e x = ' A ' ; e l s e i f ( n i l a i > = 6 8 )
i n d e x = ' B ' ; e l s e i f ( n i l a i > = 5 6 )
i n d e x = ' C ' ; e l s e i f ( n i l a i > = 4 5 )
i n d e x = ' D ' ; e l s e
i n d e x = ' E ' ;
S y s t e m . o u t . p r i n t l n ( " N i l a i " + n i l a i +
" m e m p u n y a i i n d e x " + i n d e x ) ; }
}
CONTOH PERNYATAAN IF
IF34348 - Pemrograman Lanjut
Pernyataan switch merupakan cara lain percabangan dimana memperbolehkan sebuah variable dicocokkan dengan
sekumpulan nilai. Jika isi variable sesuai (sama dengan) salah satu nilainya, maka pernyataan berikutnya akan dieksekusi.
Sintak dari pernyataan switch case adalah :
PERNYATAAN SWITCH-CASE
switch(variable){
case nilai1:pernyataan1;break;
case nilai2:pernyataan2;break;
case nilai3:pernyataan3;break;
default:pernyataan_default;
}
IF34348 - Pemrograman Lanjut
FLOWCHART SWITCH CASE
IF34348 - Pemrograman Lanjut
p ubli c c lass Test Car iInde x {
p ubl ic st atic vo id ma in(S tri ng[] args ) { char in dex;
inde x =' A';
swit ch( index ){
cas e ' A': Sy stem .ou t.pri ntln ("S angat Bai k") ;brea k;
cas e ' B': Sy stem .ou t.pri ntln ("B aik ") ;bre ak;
cas e ' C': Sy stem .ou t.pri ntln ("C ukup " );br eak ; cas e ' D': Sy stem .ou t.pri ntln ("K urang ");b rea k;
cas e ' E': Sy stem .ou t.pri ntln ("S angat Kur ang ");br eak;
def aul t:Sys tem. out .prin tln ( "Ng ak ta u ah ");
} }
}
CONTOH PERNYATAAN SWITCH-CASE
IF34348 - Pemrograman Lanjut
Switch-case hanya bisa memeriksa 1 variable saja.
Block-code default akan dieksekusi ketika tidak ada 1 nilai pun yang sama dengan variablenya.
Break digunakan untuk keluar dari switch case ketika sebuah nilai sama dengan variable yang diperiksa. Jika tidak
menggunakan perintah break, maka komputer akan
mengeksekusi perintah-perintah yang ada di dalam case berikutnya.
CATATAN SWITCH CASE
IF34348 - Pemrograman Lanjut
Jika index bernilai C, maka akan mengeksekusi pernyataan yang ada di C, D, E, dan default.
CONTOH SWITCH-CASE TANPA BREAK
p ubli c c lass Test Car iInde x {
p ubli c s tatic voi d m ain(S trin g[] args ) { c har ind ex;
i ndex ='C ';
s witc h(i ndex) {
cas e ' A':Sy stem .ou t.pri ntln ("S angat Bai k ") ; cas e ' B':Sy stem .ou t.pri ntln ("B aik") ;
cas e ' C':Sy stem .ou t.pri ntln ("C ukup " );
cas e ' D':Sy stem .ou t.pri ntln ("K urang ");
cas e ' E':Sy stem .ou t.pri ntln ("S angat Kur ang ");
def aul t:Sys tem. out .prin tln ( "Ng ak ta u ah ");
IF34348 - Pemrograman Lanjut
Perintah berikut akan menuliskan lulus jika index A, B, C atau D.
CONTOH SWITCH-CASE
p ubli c c lass Test Car iInde x {
p ubli c s tatic voi d m ain(S trin g[] args ) { c har ind ex;
i ndex ='C ';
s witc h(i ndex) { case 'A ':
case 'B ':
case 'C ':
case 'D ':Sys tem. out .prin tln ( "Lu lus") ;bre ak;
case 'E ':Sys tem. out .prin tln ( "Ti dak L ulus "); break ; defa ult :Syst em.o ut. print ln (" Nga k tau ah" );
} }
IF34348 - Pemrograman Lanjut
Operator ? : bisa digunakan sebagai percabangan.
Bentuk umum sintaknya adalah :
Sintak di atas bisa dibaca “Jika ekspresi boolean bernilai true, maka operator ini akan mereturnkan nilai Value1 dan jika operator ekspresi boolean bernilai false maka akan mereturnkan Value2
OPERATOR ?:
(ekspresi boolean)? value1: value2;
IF34348 - Pemrograman Lanjut
Jika menikah, maka ada tunjangan sebesar 20% dari gaji pokok.
CONTOH PENGGUNAAN OPERATOR ? :
p ubli c c lass OprK ond isi {
p ubli c s tatic voi d m ain(S trin g[] args ) { c har men ikah = 'Y';
d oubl e g ajipo kok, tun janga n ; g ajip oko k =100 0000 ;
t unja nga n =(menikah =='Y')?0.2*gajipokok:0;
S yste m.o ut.pr intl n (" Gaji Poko k : "+ga jipo kok );
S yste m.o ut.pr intl n (" Tunja ngan : "+tun jang an ) ; }
}
IF34348 - Pemrograman Lanjut
Jika menikah, maka ada tunjangan sebesar 20% dari gaji pokok.
CONTOH PENGGUNAAN OPERATOR ? :
p ubli c c lass OprK ond isi {
p ubli c s tatic voi d m ain(S trin g[] args ) { c har men ikah = 'Y';
d oubl e g ajipo kok ; g ajip oko k =100 0000 ;
S yste m.o ut.pr intl n (" Gaji Poko k : "+ga jipo kok );
S yste m.o ut.pr intl n (" Tunja ngan : "+
((menikah =='Y')?0.2*gajipokok:0)) ; }
}
Percabangan dilakukan
IF34348 - Pemrograman Lanjut