Modul PBO – Teknokrat
12
STRUKTUR KONTROL
Tujuan
Praktikan dapat memahami, menjelaskan, dan menerapkan tentang struktur kontrol
percabangan dan pengulangan.
PERCABANGAN
Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah
instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur
dasar operator pemilihan ini, yaitu:
· Pernyataan if
· Pernyataan if-else
· Pernyataan switch-case
Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam pengambilan
keputusan. Kondisi umum yang dipakai berupa keadaan benar dan salah, operator yang bisa
digunakan berupa operator relasi atau menggunakan operator logika.
PERNYATAAN IF
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan
hanya jika persyaratan bernilai benar (true). Bentuk dari pernyataan if,
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
}
dimana, boolean_expression adalah sebuah penyataan logika (true/false) atau variabel bertipe
boolean. Gambar 2.1 berikut merupakan diagram alur (flowchart) dari struktur pemilihan if.
BAB
2
Modul PBO – Teknokrat
13
Gambar 2. 1 Flowchart struktur pemilihan if
Bentuk pernyataan ini dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak
program tidak memberikan hasil apa-apa.
Program 2-1
public class Percabangan {
public static void main(String [] args) {
// program untuk mencetak bilangan jika dibawah 10
int bil = 7;
if(bil < 10)
System.out.println("Angka " + bil + " kurang dari 10");
}
}
Hasil Output
Angka 7 kurang dari 10
Penjelasan:
Tampak bahwa jika nilai ‘bil’ lebih dari atau sama dengan 10, maka program tidak menghasilkan apa-
apa.
PERNYATAAN IF-ELSE
Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi
true dan pernyataan yang lain dengan kondisi false. Bentuk pernyataan if-else,
if( boolean_expression )
statement;
else
statement;
dapat juga ditulis seperti,
if( boolean_expression ){
statement1;
statement2;
. . .
}else{
Modul PBO – Teknokrat
14
statement1;
statement2;
. . .
}
Gambar 2.2 berikut merupakan diagram alur (flowchart) dari struktur pemilihan if-else.
Gambar 2. 2 Flowchart struktur pemilihan if-else
Arti dari pernyataan if-else:
· Jika kondisi benar, maka if code dieksekusi.
· Sedangkan bila kondisi bernilai salah, maka else code yang dieksekusi.
Masing-masing if code dan else code dapat berupa sebuah pernyataan tunggal, pernyataan
majemuk ataupun pernyataann kosong.
Program 2-2
public class Percabangan {
public static void main(String [] args) {
int bil = 13;
if(bil < 10)
System.out.println("Angka " + bil + " kurang dari 10");
else
System.out.println("Angka " + bil + " lebih dari 10");
}
}
Hasil Output
Angka 13 lebih dari 10
Penjelasan:
Tampak bahwa jika nilai yang diberikan lebih dari atau sama dengan 10, maka program akan
memberi pesan “Angka … lebih dari 10”.
Modul PBO – Teknokrat
15
PERNYATAAN IF-ELSE-IF
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain. Kondisi
struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks.
Bentuk pernyataan if-else if,
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;
Sebagai catatan: anda dapat memiliki banyak blok else-if sesudah pernyataan if. Blok else bersifat
opsional dan dapat dihilangkan. Pada contoh yang ditampilkan di atas, jika boolean_expression1
bernilai true, maka program akan mengeksekusi statement1 dan melewati pernyataan yang lain. Jika
boolean_expression2 bernilai true, maka program akan mengeksekusi statement2 dan melewati
statement3.
Program 2-3
public class Percabangan2 {
public static void main(String [] args) {
int na; // nilai akhir
char hm; // huruf mutu
na = 88;
if(na > 85) { hm = 'A'; }
else if(na > 75) { hm = 'B'; }
else if(na > 65) { hm = 'C'; }
else if(na > 55) { hm = 'D'; }
else { hm = 'E'; }
System.out.println("Huruf Mutu = " + hm);
}
}
Hasil Output
Huruf Mutu = A
PERNYATAAN SWITCH-CASE
Cara lain untuk membuat cabang adalah dengan menggunakan kata kunci switch. Switch
mengkonstruksikan cabang untuk beberapa kondisi dari nilai. Bentuk pernyataan switch,
switch( switch_expression ){
case case_selector1:
statement1; //
statement2; //block 1
. . . //
break;
case case_selector2:
statement1; //
statement2; //block 2
. . . //
break;
Modul PBO – Teknokrat
16
default:
statement1; //
statement2; //block n
break;
}
Switch expression adalah ekspresi integer atau karakter dan case_selector1, case_selector2 dan
seterusnya adalah konstanta unik dari nilai integer atau karakter.
Ketika pernyataan switch ditemukan pada potongan kode program, compiler pertamakali akan
memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh
switch_expression.
Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan
sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga
akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default. Sebagai catatan,
bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok
kode default. Gambar 2.3 berikut merupakan diagram alur (flowchart) dari struktur pemilihan
switch-case.
Gambar 2. 3 Flowchart struktur pemilihan switch-case
Program 2-4
public class Percabangan3 {
public static void main(String [] args) {
int no_hari = 3;
String nama_hari;
switch(no_hari) {
case 1: nama_hari = "Minggu"; break;
case 2: nama_hari = "Senin"; break;
case 3: nama_hari = "Selasa"; break;
case 4: nama_hari = "Rabu"; break;
case 5: nama_hari = "Kamis"; break;
Modul PBO – Teknokrat
17
case 6: nama_hari = "Jum'at"; break;
case 7: nama_hari = "Sabtu"; break;
default: nama_hari = "Tidak terdaftar"; break;
}
System.out.println("Nama hari ke-" + no_hari + ": " + nama_hari);
}
}
Hasil Output
Nama hari ke-3: Selasa
PENGULANGAN
Suatu Struktur yang terdiri dari sebuah atau sekelompok instruksi yang diulang untuk jumlah
tertentu. Baik yang terdefinisikan ataupun tidak. Struktur pengulangan terdiri atas dua bagian, yaitu
kondisi pengulangan dan isi/badan pengulangan. Kondisi pengulangan berupa ekspresi boolean yang
harus dipenuhi untuk melaksanakan pengulangan. Isi atau badan pengulangan berupa satu atau
lebih pernyataan (aksi) yang akan diulang.
PERNYATAAN FOR
Pernyataan for digunakan untuk menghasilkan pengulangan (looping) beberapa kali tanpa
penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas
awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus
dieksekusi. Diagram alir untuk pernyataan for dapat dilihat pada Gambar 2.4. Bentuk pernyataan for:
for(inisialisasi; kondisi; iterasi){
pernyataan;
}
Gambar 2. 4 Flowchart pernyataan for
Modul PBO – Teknokrat
18
Program 2-5
public class Pengulangan {
public static void main(String [] args) {
// Program untuk mencetak bilangan 1 - 15
for(int i=1; i<=15; i++) {
System.out.print(i + " ");
}
}
}
Hasil Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Pada contoh yang melibatkan pernyataan for di atas (Program 2-5), kenaikan variabel pengendali
loop berupa nilai positif. Sebenarnya kenaikan terhadap variabel pengendali loop bisa diatur bernilai
negatif. Berikut adalah contoh programnya:
Program 2-6
public class Pengulangan {
public static void main(String [] args) {
// Program untuk mencetak bilangan 15 - 1
for(int i=15; i>=1; i--) {
System.out.print(i + " ");
}
}
}
Hasil Output
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Pernyataan for dapat berada di dalam pernyataan for lainnya yang biasa disebut nested for. Berikut
contoh programnya:
Program 2-7
public class Pengulangan2 {
public static void main(String [] args) {
int tinggi = 4;
System.out.println("Tinggi Segitiga: " + tinggi);
for(int i=0; i<=tinggi; i++) {
for(int j=0; j<i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
Modul PBO – Teknokrat
19
Hasil Output
Tinggi Segitiga: 4
*
**
***
****
PERNYATAAN WHILE
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu
pernyataan atau beberapa pernyataan beberapa kali. Pada pernyataan ini pengecekan terhadap
loop dilakukan di bagian awal (sebelum tubuh loop). Pernyataan while memungkinkan statemen-
statemen yang ada didalamnya tidak diakukan sama sekali. Bentuk pernyataan while:
while (kondisi){
pernyataan;
}
Berdasarkan Gambar 2.5, dapat dilihat bahwa ada kemungkinan statement tidak dijalankan sama
sekali, yaitu apabila hasil pengujian condition yang pertama kali bernilai false.
Gambar 2. 5 Flowchart pernyataan while
Program 2-8
public class Pengulangan3 {
public static void main(String [] args) {
int bil = 10;
while(bil <= 20) { System.out.print(bil + " "); bil += 2; }
}
}
Hasil Output
10 12 14 16 18 20
Lembar Kerja Praktikum: Modul 2
Modul PBO – Teknokrat
20
NPM: Asisten:
Nama: Nilai:
Kelas: Tanggal:
Soal
1. [Score: 35] Buatlah program untuk mencetak segitiga seperti berikut (gunakan perulangan while
atau for):
Hasil Output
****
***
**
*
2. [Score: 30] Buatlah program untuk menentukan apakah bilangan yang dimasukan genap atau
ganjil:
Hasil Output
Masukan angka: 33
33 adalah bilangan ganjil
3. [Score: 35] Buatlah program untuk menentukan nilai tertinggi, terendah, dan rata-rata untuk lima
bilangan yang dimasukan:
Hasil Output
Bilangan 1: 33
Bilangan 2: 25
Bilangan 3: 17
Bilangan 4: 44
Bilangan 5: 10
Min: 17
Max: 44
Rata: 25.8

Modul PBO Bab-02 - Struktur Kontrol

  • 1.
    Modul PBO –Teknokrat 12 STRUKTUR KONTROL Tujuan Praktikan dapat memahami, menjelaskan, dan menerapkan tentang struktur kontrol percabangan dan pengulangan. PERCABANGAN Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar operator pemilihan ini, yaitu: · Pernyataan if · Pernyataan if-else · Pernyataan switch-case Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan salah, operator yang bisa digunakan berupa operator relasi atau menggunakan operator logika. PERNYATAAN IF Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya jika persyaratan bernilai benar (true). Bentuk dari pernyataan if, if( boolean_expression ) statement; atau if( boolean_expression ){ statement1; statement2; . . . } dimana, boolean_expression adalah sebuah penyataan logika (true/false) atau variabel bertipe boolean. Gambar 2.1 berikut merupakan diagram alur (flowchart) dari struktur pemilihan if. BAB 2
  • 2.
    Modul PBO –Teknokrat 13 Gambar 2. 1 Flowchart struktur pemilihan if Bentuk pernyataan ini dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa. Program 2-1 public class Percabangan { public static void main(String [] args) { // program untuk mencetak bilangan jika dibawah 10 int bil = 7; if(bil < 10) System.out.println("Angka " + bil + " kurang dari 10"); } } Hasil Output Angka 7 kurang dari 10 Penjelasan: Tampak bahwa jika nilai ‘bil’ lebih dari atau sama dengan 10, maka program tidak menghasilkan apa- apa. PERNYATAAN IF-ELSE Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false. Bentuk pernyataan if-else, if( boolean_expression ) statement; else statement; dapat juga ditulis seperti, if( boolean_expression ){ statement1; statement2; . . . }else{
  • 3.
    Modul PBO –Teknokrat 14 statement1; statement2; . . . } Gambar 2.2 berikut merupakan diagram alur (flowchart) dari struktur pemilihan if-else. Gambar 2. 2 Flowchart struktur pemilihan if-else Arti dari pernyataan if-else: · Jika kondisi benar, maka if code dieksekusi. · Sedangkan bila kondisi bernilai salah, maka else code yang dieksekusi. Masing-masing if code dan else code dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataann kosong. Program 2-2 public class Percabangan { public static void main(String [] args) { int bil = 13; if(bil < 10) System.out.println("Angka " + bil + " kurang dari 10"); else System.out.println("Angka " + bil + " lebih dari 10"); } } Hasil Output Angka 13 lebih dari 10 Penjelasan: Tampak bahwa jika nilai yang diberikan lebih dari atau sama dengan 10, maka program akan memberi pesan “Angka … lebih dari 10”.
  • 4.
    Modul PBO –Teknokrat 15 PERNYATAAN IF-ELSE-IF Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks. Bentuk pernyataan if-else if, if( boolean_expression1 ) statement1; else if( boolean_expression2 ) statement2; else statement3; Sebagai catatan: anda dapat memiliki banyak blok else-if sesudah pernyataan if. Blok else bersifat opsional dan dapat dihilangkan. Pada contoh yang ditampilkan di atas, jika boolean_expression1 bernilai true, maka program akan mengeksekusi statement1 dan melewati pernyataan yang lain. Jika boolean_expression2 bernilai true, maka program akan mengeksekusi statement2 dan melewati statement3. Program 2-3 public class Percabangan2 { public static void main(String [] args) { int na; // nilai akhir char hm; // huruf mutu na = 88; if(na > 85) { hm = 'A'; } else if(na > 75) { hm = 'B'; } else if(na > 65) { hm = 'C'; } else if(na > 55) { hm = 'D'; } else { hm = 'E'; } System.out.println("Huruf Mutu = " + hm); } } Hasil Output Huruf Mutu = A PERNYATAAN SWITCH-CASE Cara lain untuk membuat cabang adalah dengan menggunakan kata kunci switch. Switch mengkonstruksikan cabang untuk beberapa kondisi dari nilai. Bentuk pernyataan switch, switch( switch_expression ){ case case_selector1: statement1; // statement2; //block 1 . . . // break; case case_selector2: statement1; // statement2; //block 2 . . . // break;
  • 5.
    Modul PBO –Teknokrat 16 default: statement1; // statement2; //block n break; } Switch expression adalah ekspresi integer atau karakter dan case_selector1, case_selector2 dan seterusnya adalah konstanta unik dari nilai integer atau karakter. Ketika pernyataan switch ditemukan pada potongan kode program, compiler pertamakali akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch. Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default. Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi tidak memiliki blok kode default. Gambar 2.3 berikut merupakan diagram alur (flowchart) dari struktur pemilihan switch-case. Gambar 2. 3 Flowchart struktur pemilihan switch-case Program 2-4 public class Percabangan3 { public static void main(String [] args) { int no_hari = 3; String nama_hari; switch(no_hari) { case 1: nama_hari = "Minggu"; break; case 2: nama_hari = "Senin"; break; case 3: nama_hari = "Selasa"; break; case 4: nama_hari = "Rabu"; break; case 5: nama_hari = "Kamis"; break;
  • 6.
    Modul PBO –Teknokrat 17 case 6: nama_hari = "Jum'at"; break; case 7: nama_hari = "Sabtu"; break; default: nama_hari = "Tidak terdaftar"; break; } System.out.println("Nama hari ke-" + no_hari + ": " + nama_hari); } } Hasil Output Nama hari ke-3: Selasa PENGULANGAN Suatu Struktur yang terdiri dari sebuah atau sekelompok instruksi yang diulang untuk jumlah tertentu. Baik yang terdefinisikan ataupun tidak. Struktur pengulangan terdiri atas dua bagian, yaitu kondisi pengulangan dan isi/badan pengulangan. Kondisi pengulangan berupa ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Isi atau badan pengulangan berupa satu atau lebih pernyataan (aksi) yang akan diulang. PERNYATAAN FOR Pernyataan for digunakan untuk menghasilkan pengulangan (looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Diagram alir untuk pernyataan for dapat dilihat pada Gambar 2.4. Bentuk pernyataan for: for(inisialisasi; kondisi; iterasi){ pernyataan; } Gambar 2. 4 Flowchart pernyataan for
  • 7.
    Modul PBO –Teknokrat 18 Program 2-5 public class Pengulangan { public static void main(String [] args) { // Program untuk mencetak bilangan 1 - 15 for(int i=1; i<=15; i++) { System.out.print(i + " "); } } } Hasil Output 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Pada contoh yang melibatkan pernyataan for di atas (Program 2-5), kenaikan variabel pengendali loop berupa nilai positif. Sebenarnya kenaikan terhadap variabel pengendali loop bisa diatur bernilai negatif. Berikut adalah contoh programnya: Program 2-6 public class Pengulangan { public static void main(String [] args) { // Program untuk mencetak bilangan 15 - 1 for(int i=15; i>=1; i--) { System.out.print(i + " "); } } } Hasil Output 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Pernyataan for dapat berada di dalam pernyataan for lainnya yang biasa disebut nested for. Berikut contoh programnya: Program 2-7 public class Pengulangan2 { public static void main(String [] args) { int tinggi = 4; System.out.println("Tinggi Segitiga: " + tinggi); for(int i=0; i<=tinggi; i++) { for(int j=0; j<i; j++) { System.out.print("*"); } System.out.println(); } } }
  • 8.
    Modul PBO –Teknokrat 19 Hasil Output Tinggi Segitiga: 4 * ** *** **** PERNYATAAN WHILE Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pada pernyataan ini pengecekan terhadap loop dilakukan di bagian awal (sebelum tubuh loop). Pernyataan while memungkinkan statemen- statemen yang ada didalamnya tidak diakukan sama sekali. Bentuk pernyataan while: while (kondisi){ pernyataan; } Berdasarkan Gambar 2.5, dapat dilihat bahwa ada kemungkinan statement tidak dijalankan sama sekali, yaitu apabila hasil pengujian condition yang pertama kali bernilai false. Gambar 2. 5 Flowchart pernyataan while Program 2-8 public class Pengulangan3 { public static void main(String [] args) { int bil = 10; while(bil <= 20) { System.out.print(bil + " "); bil += 2; } } } Hasil Output 10 12 14 16 18 20 Lembar Kerja Praktikum: Modul 2
  • 9.
    Modul PBO –Teknokrat 20 NPM: Asisten: Nama: Nilai: Kelas: Tanggal: Soal 1. [Score: 35] Buatlah program untuk mencetak segitiga seperti berikut (gunakan perulangan while atau for): Hasil Output **** *** ** * 2. [Score: 30] Buatlah program untuk menentukan apakah bilangan yang dimasukan genap atau ganjil: Hasil Output Masukan angka: 33 33 adalah bilangan ganjil 3. [Score: 35] Buatlah program untuk menentukan nilai tertinggi, terendah, dan rata-rata untuk lima bilangan yang dimasukan: Hasil Output Bilangan 1: 33 Bilangan 2: 25 Bilangan 3: 17 Bilangan 4: 44 Bilangan 5: 10 Min: 17 Max: 44 Rata: 25.8