4 control flow
TRANSCRIPT
Control flow
Struktur Dasar JAVA
Tujuan
• Mahasiswa dapat :– Memahami konsep control flow– Memahami struktur control flow
Topik
• Control Flow :– If-then– If-then-else– Switch– While– Do-while– For
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
DECISION MAKING(PENGKONDISIAN)
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.
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 */
}....
Flowchart If-then
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’;
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
(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.
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*/
}
Flowchart If-then-else
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*/
}
Flowchart If-then-else
Implementasi
Char nilai_huruf;int nilai = 75;if(nilai>80) {
nilai_huruf = ‘A’;}else{
nilai_huruf = ‘B’;}
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
Contoh program
• IfElseDemo.java
(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.
Syntax Switchvariabel;switch(variabel){
case 1 :statement 1;case 2 :statement 2;case 3 :statement 3;.....case n :statement n;default : break;
}
Flowchart Switch
Penggunaan String pada Switch
• Contoh program : CharSwitchDemo.java
LOOPING (PERULANGAN)Control Flow
(1) While
• Syntax while :
while (expression) { statement(s)
}
(1) While
• Statement yang ada didalam blok while akan dieksekusi jika ekspresi bernilai true.
while (true){// your code goes here
}
Flowchart While
Benar
kondisi
Statement…….
Salah
Ke pernyataan sesudah while
Implementasi
• Contoh kode program : WhileDemo.java
(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);
Flowchart do-while
kondisi
Statement…….
Salah
Ke pernyataan sesudah while
Benar
Implementasi
• Contoh kode program : DoWhileDemo.java
(3) For
• Syntax for:
for (inisialisasi; terminasi; increment) { statement(s)
}
for ( ; ; ) {// infinite loop // your code goes here
}
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.
Implementasi
• Contoh kode program : ForDemo.java• EnhancedForDemo.java
BRANCHING STATEMENTControl Flow
(1) Break
• Menggunakan keyword : Break• Digunakan untuk menghentikan perulangan
for, while, do-while.• Dibedakan menjadi dua :
1. Unlabeled Break2. Labeled Break
Unlabeled Break
• Digunakan untuk menghentikan perulangan yang terdalam/inner statement atau perulangan yang paling dekat dengan percabangan.
Syntax Unlabeled Break (1)
• Unlabeled brake pada perulangan while :
while(…){ if(…){ break; ……}//akhir whileStatement_diluar_perulangan;
Syntax Unlabeled break (2)
• Break pada perulangan bersarang :
While (…){while(…){
if(…) break; …… }//akhir while terdalam Statement_setelah_while; ……
}//akhir while terluar
Implementasi
• Contoh kode program : BreakDemo.java
Labeled Break
• Digunakan untuk menghentikan perulangan yang terluar/outer statement atau sesuai dengan peletakan label.
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;
Implementasi
• Contoh kode program : BreakWithLabelDemo.java
(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
Unlabeled Continue
• Digunakan untuk kembali ke perulangan yang terdalam/inner statement atau perulangan yang paling dekat dengan percabangan.
Implementasi
• Contoh kode program : ContinueDemo.java
Labeled Continue
• Digunakan untuk kembali ke perulangan yang terluar/outer statement atau sesuai dengan peletakan label.
Implementasi
• Contoh kode program : ContinueWithLabelDemo.java
(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
Contoh
• Return dengan mengirim value : return ++count;
• Return tanpa mengirim value : return;
Kesimpulan
• Control flow : pengkondisian, perulangan, percabangan.
• Pengkondisian : if-then, if-then-else, switch.• Perulangan : while, do-while, for.• Percabangan : brake, continue, return.