50
Control flow Struktur Dasar JAVA

4 Control Flow

Embed Size (px)

Citation preview

Page 1: 4 Control Flow

Control flow

Struktur Dasar JAVA

Page 2: 4 Control Flow

Tujuan

• Mahasiswa dapat :– Memahami konsep control flow– Memahami struktur control flow

Page 3: 4 Control Flow

Topik

• Control Flow :– If-then– If-then-else– Switch– While– Do-while– For

Page 4: 4 Control Flow

Control Flow

• Digunakan untuk meng-eksekusi/menjalankan program berdasarkan alur : pengkondisian (decision making), percabangan (branching), maupun perulangan(looping).

• Decision making : if-then, if-then-else, switch• Looping : for, while, do-while• Branching : break, continue, return

Page 5: 4 Control Flow

DECISION MAKING(PENGKONDISIAN)

Control Flow

Page 6: 4 Control Flow

(1) IF-Then

• Baris perintah yang ada didalam blok if akan di-eksekusi jika ekspresi bernilai benar (true).

• Jika ekspresi bernilai salah maka program akan loncat ke statement yang ada dibawah blok if.

Page 7: 4 Control Flow

Syntax IF-Then

• Jika hanya ada satu statement didalam blok if, maka kurung kurawal { dan } dapat tidak disertakan/ditulis.

if(ekspresi) {

/* baris ini akan di-eksekusi jika ekspresi pada if bernilai benar */

}....

Page 8: 4 Control Flow

Flowchart If-then

Page 9: 4 Control Flow

Implementasi• Menggunakan {}

• Tidak menggunakan {}

Char nilai_huruf;int nilai = 85;if(nilai>80) {

nilai_huruf = ‘A’;}

Char nilai_huruf;int nilai = 85;if(nilai>80) nilai_huruf = ‘A’;

Page 10: 4 Control Flow

Implementasi

Char nilai_huruf;int nilai = 85;if(nilai>80) {

System.out.println(“A”);}System.out.println(“B”);;

Ekspresi If

Karena ekspresi bernilai benar maka baris perintah ini akan dijalankan

Perintah ini akan langsungdijalankan jika ekspresi bernilai salah

Page 11: 4 Control Flow

(2) IF-then-Else

• Statement if-then-else memiliki dua kondisi percabangan.

• Jika ekspresi pada if bernilai salah, maka statement else yang akan di-eksekusi.

Page 12: 4 Control Flow

Syntax IF-Then-Else (1)

• Statement else dapat memiliki lebih dari satu percabangan.

if(ekspresi) { /* baris ini akan di-eksekusi jika ekspresi pada if bernilai benar */

}else{

/* baris ini akan di-eksekusi jika ekspresi pada if bernilai salah*/

}

Page 13: 4 Control Flow

Flowchart If-then-else

Page 14: 4 Control Flow

Syntax IF-Then-Else (2)if(ekspresi 1) {

/* baris ini akan di-eksekusi jika ekspresi pada if bernilai benar */

}else if(ekspresi 2){

/* baris ini akan di-eksekusi jika ekspresi 1 bernilai salah*/

}else if(ekspresi 3){

/* baris ini akan di-eksekusi jika ekspresi 2 bernilai salah*/

}else{

/* baris ini akan di-eksekusi jika ekspresi 3 bernilai salah*/

}

Page 15: 4 Control Flow

Flowchart If-then-else

Page 16: 4 Control Flow

Implementasi

Char nilai_huruf;int nilai = 75;if(nilai>80) {

nilai_huruf = ‘A’;}else{

nilai_huruf = ‘B’;}

Page 17: 4 Control Flow

Implementasi

Char nilai_huruf;int nilai = 75;if(nilai>80) {

nilai_huruf = ‘A’;}else{

nilai_huruf = ‘B’;}

statement If

Karena ekspresi bernilai benar maka baris perintah ini tidak dijalankan

Baris perintah ini akan dijalankan

Statement else

Page 18: 4 Control Flow

Contoh program

• IfElseDemo.java

Page 19: 4 Control Flow

(3) Switch

• Switch bekerja pada tipe data : byte, short, int, long, char dan string.

• Body switch dikenal dengan switch block.• Statement pada switch block terdiri dari satu

atau lebih case atau default.• Penambahan break pada tiap stament case

bersifat optional.

Page 20: 4 Control Flow

Syntax Switchvariabel;switch(variabel){

case 1 :statement 1;case 2 :statement 2;case 3 :statement 3;.....case n :statement n;default : break;

}

Page 21: 4 Control Flow

Flowchart Switch

Page 22: 4 Control Flow

Penggunaan String pada Switch

• Contoh program : CharSwitchDemo.java

Page 23: 4 Control Flow

LOOPING (PERULANGAN)Control Flow

Page 24: 4 Control Flow

(1) While

• Syntax while :

while (expression) { statement(s)

}

Page 25: 4 Control Flow

(1) While

• Statement yang ada didalam blok while akan dieksekusi jika ekspresi bernilai true.

while (true){// your code goes here

}

Page 26: 4 Control Flow

Flowchart While

Benar

kondisi

Statement…….

Salah

Ke pernyataan sesudah while

Page 27: 4 Control Flow

Implementasi

• Contoh kode program : WhileDemo.java

Page 28: 4 Control Flow

(2) Do-While

• Syntax do-while :

• Statement yang ada didalam blok do-while akan dijalankan sekali sebelum pengecekan ekspresi do-while.

do { statement(s)

} while (expression);

Page 29: 4 Control Flow

Flowchart do-while

kondisi

Statement…….

Salah

Ke pernyataan sesudah while

Benar

Page 30: 4 Control Flow

Implementasi

• Contoh kode program : DoWhileDemo.java

Page 31: 4 Control Flow

(3) For

• Syntax for:

for (inisialisasi; terminasi; increment) { statement(s)

}

for ( ; ; ) {// infinite loop // your code goes here

}

Page 32: 4 Control Flow

Keterangan

• Inisialisasi : nilai awal dimulainya perulangan. Hanya dieksekusi satu kali.

• Terminasi : ekspresi untuk melakukan evaluasi pada tiap perulangan. Jika nilainya bernilai false maka perulangan berhenti.

• Increment : ekspresi yang dikerjakan pada tiap perulangan. Bisa berupa increment maupun decrement.

Page 33: 4 Control Flow

Implementasi

• Contoh kode program : ForDemo.java• EnhancedForDemo.java

Page 34: 4 Control Flow

BRANCHING STATEMENTControl Flow

Page 35: 4 Control Flow

(1) Break

• Menggunakan keyword : Break• Digunakan untuk menghentikan perulangan

for, while, do-while.• Dibedakan menjadi dua :

1. Unlabeled Break2. Labeled Break

Page 36: 4 Control Flow

Unlabeled Break

• Digunakan untuk menghentikan perulangan yang terdalam/inner statement atau perulangan yang paling dekat dengan percabangan.

Page 37: 4 Control Flow

Syntax Unlabeled Break (1)

• Unlabeled brake pada perulangan while :

while(…){ if(…){ break; ……}//akhir whileStatement_diluar_perulangan;

Page 38: 4 Control Flow

Syntax Unlabeled break (2)

• Break pada perulangan bersarang :

While (…){while(…){

if(…) break; …… }//akhir while terdalam Statement_setelah_while; ……

}//akhir while terluar

Page 39: 4 Control Flow

Implementasi

• Contoh kode program : BreakDemo.java

Page 40: 4 Control Flow

Labeled Break

• Digunakan untuk menghentikan perulangan yang terluar/outer statement atau sesuai dengan peletakan label.

Page 41: 4 Control Flow

Syntax Labeled break

• Labeled brake dengan menggunakan label selesai.

selesai :While (…){

while(…){ if(…) break selesai; …… }//akhir while terdalam Statement_setelah_while; ……

}//akhir while terluarStatement_diluar_perulangan;

Page 42: 4 Control Flow

Implementasi

• Contoh kode program : BreakWithLabelDemo.java

Page 43: 4 Control Flow

(2) Continue

• Menggunakan keyword : continue• Digunakan untuk kembali ke perulangan for, while,

do-while.• Ketika continue di-eksekusi maka compiler akan

kembali ke perulangan sehingga statement yang ada dibawah percabangan/continue tidak dijalankan.

• Dibedakan menjadi dua :1. Unlabeled Continue2. Labeled Continue

Page 44: 4 Control Flow

Unlabeled Continue

• Digunakan untuk kembali ke perulangan yang terdalam/inner statement atau perulangan yang paling dekat dengan percabangan.

Page 45: 4 Control Flow

Implementasi

• Contoh kode program : ContinueDemo.java

Page 46: 4 Control Flow

Labeled Continue

• Digunakan untuk kembali ke perulangan yang terluar/outer statement atau sesuai dengan peletakan label.

Page 47: 4 Control Flow

Implementasi

• Contoh kode program : ContinueWithLabelDemo.java

Page 48: 4 Control Flow

(3) Return

• Menggunakan keyword : return• Digunakan untuk keluar dari method maupun

control flow.• Dibedakan menjadi dua :

1. Return dengan mengirim value2. Return tanpa mengirim value

Page 49: 4 Control Flow

Contoh

• Return dengan mengirim value : return ++count;

• Return tanpa mengirim value : return;

Page 50: 4 Control Flow

Kesimpulan

• Control flow : pengkondisian, perulangan, percabangan.

• Pengkondisian : if-then, if-then-else, switch.• Perulangan : while, do-while, for.• Percabangan : brake, continue, return.