I. Bahan Kajian Sebagai bahasa pemrograman, java memiliki cara untuk mengontrol alur eksekusi program bergantung pada kondisi yang telah ditetapkan Secara garis besar alur eksekusi ini dapat dikelompokan kedalam tiga bagian besar yaitu Pencabangan, iterasi/perulangan, dan jump. 1. Pencabangan Merupakan sebuah proses memilah / memisahkan proses satu dengan proses lainnya yang berbeda kondisi dan perlakuan Kelas menyatakan bahwa suatu instruksi akan dieksekusi berdasarkan suatu pemeriksaan terhadap syarat tertentu 2. Jenis Pencabangan Pencabangan dalam java yaitu if dan switch 2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else 2.1.1 if Pencabangan if adalah menyatakan pernyataan akan dieksekusi bila memenuhi syarat/kondisi tertentu. Kondisi mengandung ekspresi boolean, yaitu ekspresi yang menghasilkan nilai boolean (true/false). Operator yang digunakan adalah operator relasional. (*review Operator relational) Statement merupakan baris instruksi yang akan dieksekusi jika kondisi bernilai true. * Dari pola di atas, statement hanya akan dieksekusi jika kondisi bernilai true Syntaks dari pencabangan if adalah Syntaks : if (kondisi) { statement;... statement; atau if (kondisi) statement; 2.1.2 if else Pencabangan if else digunakan untuk memilih salah satu dari dua kemungkinan kemunculan Syntaks : if (kondisi) { Statement1; else { Statement2; [if-unpas] 2010 @author : Hendra Komara, ST. Page 1
Jika kondisi bernilai true maka statement1 dieksekusi, sedangkan jika kondisi bernilai false maka statement2 dieksekusi 2.1.3 if else if else if -. - else Pencabangan if else if else if - - else digunakan untuk memilih salah satu dari banyak kemungkinan kemunculan Syntaks : if (kondisi) { Statement1; else if (kondisi2) { Statement2; else if (kondisi3) { Statement3; else if (kondisi4) { Statement4; else { Statement5; Jika kondisi bernilai true maka statement1 dieksekusi, sedangkan jika kondisi bernilai false maka pemeriksaan dilakukan di if ke dua, jika kondisi2 bernilai true maka statement2 dieksekusi, sedangakan jika kondisi2 bernilai false maka pemeriksaan dilakukan di if ke tiga, begitu seterusnya hingga dicapai kondisi yang dinginkan, namun jika tidak ada kondisi yang dipenuhi maka statement5 dieksekusi 2.2 switch Pencabangan switch digunakan untuk menangani banyak kemungkinan kemunculan Sintaks : switch (identifier) { case konstanta1 : statement1; break; case konstanta2 : statement1; break; case konstanta3 : statement1; break; default : defaultstatement; Pencabangan switch memeriksa dan membandingkan sebuah identifier yang bernilai konstanta case dan mengeksekusi statement dengan konstanta yang sesuai, jika tidak ada kontanta case yang cocok maka program menuju defaultsatatement Berikut contoh penggunaan switch! Jika variabel angka bernilai 1 maka tampilkan kalimat satu, tapi jika variabel angka bernilai 2 maka tampilkan kalimat dua, tapi jika variabel angka bernilai 3 maka tampilkan kalimat tiga, tapi jika variabel angka bernilai lebih dari tiga maka tampilkan kalimat angka yang anda masukkan salah [if-unpas] 2010 @author : Hendra Komara, ST. Page 2
II. int angka = 5; switch (angka){ case 1 : System.out.println( satu ); break; case 2 : System.out.println( dua ); break; case 3 : System.out.println( tiga ); break; default : System.out.println( angka yang anda masukkan salah ); Instruksi Praktikum 1. Latihan 1 Instruksi : 1. Buat project baru 2. Klik File New Java Project 3. Beri nama projectnya dengan nrp anda modul4 klik tombol finish 4. Buat paket baru, klik kanan di folder src, pilih new package beri nama: ap1.prak. modl4.nrp1040xxx 5. Buat class baru, klik kanan di package ap1.prak.modl4.nrp1040xxx pilih new class beri nama Desicitionif1TermShow klik button finish 6. Kemudian ketikkan source dibawah ini di editornya : package ac.ifunpas.praktikum.ap1.modul4.nrp1003999; /** * @purpose Menunjukan alur program masuk ke bada if atau tidak * @copyright Hendra Komara, ST. * @author Hendra Komara, ST. * @contact @komarahendra * @version 1.0 public class Desicitionif1TermShow { //A. Tanggung-jawab-2(responsibilities) //B. Struktur data(data structures)/ atribut-2(attributes) //C. Konstruktor (constructors) //D. Metode pengaksesan(accesor methods) //E. Struktur bisnis/pengolahan(business/proccesing methods) //F. Metode-2 bantuan (helper methods) //G. Metode pengujian(testing methods) [if-unpas] 2010 @author : Hendra Komara, ST. Page 3
public static void show1(){ if(b > 10){ public static void show2(){ if(b >= 10){ public static void show3(){ if(b < 10){ public static void show4(){ if(b <= 10){ public static void show5(){ if(b == 10){ public static void show6(){ if(b!= 10){ public static void main(string[] args) { show1(); show2(); show3(); show4(); show5(); show6(); 7. Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya 8. (*Pengamatan) Pilih menu Run Run As Java Application 9. (*Pengamatan) Maka akan tampil : Masuk badan if Masuk badan if Masuk badan if [if-unpas] 2010 @author : Hendra Komara, ST. Page 4
2. Latihan 2 Instruksi : 1. Pastikan project nrp anda modul4 terpilih 2. Klik kanan pada paket ap1.prak. modl4.nrp1040xxx 3. Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new class beri nama Desicitionif2TermShow klik button finish 4. Kemudian ketikkan source dibawah ini di editornya : package ac.ifunpas.praktikum.ap1.modul4.nrp1003999; /** * @purpose Menunjukan alur program masuk ke bada if atau else * @copyright Hendra Komara, ST. * @author Hendra Komara, ST. * @contact @komarahendra * @version 1.0 public class Desicitionif2TermShow { //A. Tanggung-jawab-2(responsibilities) //B. Struktur data(data structures)/ atribut-2(attributes) //C. Konstruktor (constructors) //D. Metode pengaksesan(accesor methods) //E. Struktur bisnis/pengolahan(business/proccesing methods) //F. Metode-2 bantuan (helper methods) //G. Metode pengujian(testing methods) public static void show1(){ if(b > 10){ public static void show2(){ if(b >= 10){ [if-unpas] 2010 @author : Hendra Komara, ST. Page 5
public static void show3(){ if(b < 10){ public static void show4(){ if(b <= 10){ public static void show5(){ if(b == 10){ public static void show6(){ if(b!= 10){ public static void main(string[] args) { show1(); show2(); show3(); show4(); show5(); show6(); 5. Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya 6. (*Pengamatan) running, perhatikan dan pahami pencabangan yang manasaja yang ditampilkan kelayar [if-unpas] 2010 @author : Hendra Komara, ST. Page 6
3. Latihan 3 1. Pastikan project nrp anda modul4 terpilih 2. Klik kanan pada paket ap1.prak. modl4.nrp1040xxx 3. Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new class beri nama Desicitionif3TermShow klik button finish 4. Kemudian ketikkan source dibawah ini di editornya : package ac.ifunpas.praktikum.ap1.modul4.nrp1003999; /** * @purpose Menunjukan perbedaan alur dari if dan if-else * @copyright Hendra Komara, ST. * @author Hendra Komara, ST. * @contact @komarahendra * @version 1.0 public class Desicitionif3TermShow { static int value = 32; public static void show1(){ /* * Komentar-komentar bagian dari tipemethod dbawah * bisa diterangkan asisten. * Khususnya untuk pengetahuan didepan * mengenai fungsi dari tipe-tipe method tersebut. /* * Perhatikan pada badan if ada yg memakai * tanda { dan tidak. //A. Tanggung-jawab-2(responsibilities) //B. Struktur data(data structures)/ atribut-2(attributes) //C. Konstruktor (constructors) //D. Metode pengaksesan(accesor methods) //E. Struktur bisnis/pengolahan(business/proccesing methods) //F. Metode-2 bantuan (helper methods) [if-unpas] 2010 @author : Hendra Komara, ST. Page 7
//G. Metode pengujian(testing methods) //kondisi lebih dari 10 if(value > 10){ System.out.println(value+" > "+10); //kondisi lebih dari 20 if(value > 20){ System.out.println(value+" > "+20); //kondisi lebih dari 30 if(value > 30) System.out.println(value+" > "+30); //kondisi lebih dari 40 if(value > 40){ System.out.println(value+" > "+40); //kondisi lebih dari 50 if(value > 50) System.out.println(value+" > "+50); public static void show2(){ //kondisi lebih dari 10 if(value > 10){ System.out.println(value+" > "+10); //kondisi lebih dari 20 else if(value > 20){ System.out.println(value+" > "+20); //kondisi lebih dari 30 else if(value > 30) System.out.println(value+" > "+30); //kondisi lebih dari 40 else if(value > 40){ System.out.println(value+" > "+40); //kondisi lebih dari 50 else { System.out.println(value+" > "+50); public static void main(string[] args) { show1(); show2(); 5. Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya 6. (*Pengamatan) Pilih menu Run Run As Java Application 7. (*Pengamatan) perhatikan pada pemanggilan method show1() dan show2() [if-unpas] 2010 @author : Hendra Komara, ST. Page 8
4. Latihan 4 1. Pastikan project nrp anda modul4 terpilih 2. Klik kanan pada paket ap1.prak. modl4.nrp1040xxx 3. Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new class beri nama Desicitionif4TermShow klik button finish 4. Kemudian ketikkan source dibawah ini di editornya : package ac.ifunpas.praktikum.ap1.modul4.nrp1003999; /** * @purpose Menunjukan didalam pencabangan bisa terdapat sub pencabangan * @copyright Hendra Komara, ST. * @author Hendra Komara, ST. * @contact @komarahendra * @version 1.0 public class Desicitionif4TermShow { static int value = 32; //A. Tanggung-jawab-2(responsibilities) //B. Struktur data(data structures)/ atribut-2(attributes) //C. Konstruktor (constructors) //D. Metode pengaksesan(accesor methods) //E. Struktur bisnis/pengolahan(business/proccesing methods) //F. Metode-2 bantuan (helper methods) //G. Metode pengujian(testing methods) [if-unpas] 2010 @author : Hendra Komara, ST. Page 9
public static void show1(){ int x = 12; if(x > 10){ if(x == 20){ System.out.println("x adalah 20"); System.out.println("x bukan 20"); else System.out.println("x <= 10"); System.out.println("instruksi ini akan tetap di ekskusi apapun kondisinya"); public static void main(string[] args) { show1(); 5. Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya 6. (*Pengamatan) Pilih menu Run Run As Java Application 7. (*Pengamatan) perhatikan dan pajama alur program tersebut 8. Latihan5 1. Pastikan project nrp anda modul4 terpilih 2. Klik kanan pada paket ap1.prak. modl4.nrp1040xxx 3. Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new class beri nama DemoSwitch klik button finish 4. Kemudian ketikkan source dibawah ini di editornya : package ac.ifunpas.praktikum.ap1.modul4.nrp1003999; /** * @purpose Menunjukan karakter switch * @copyright Hendra Komara, ST. * @author Hendra Komara, ST. * @contact @komarahendra * @version 1.0 public class DemoSwitch { //A. Tanggung-jawab-2(responsibilities) //B. Struktur data(data structures)/ atribut-2(attributes) //C. Konstruktor (constructors) //D. Metode pengaksesan(accesor methods) //E. Struktur bisnis/pengolahan(business/proccesing methods) [if-unpas] 2010 @author : Hendra Komara, ST. Page 10
//F. Metode-2 bantuan (helper methods) //G. Metode pengujian(testing methods) public static void show1(){ int angka = 5; switch (angka){ case 1 : System.out.println("satu"); break; case 2 : System.out.println("dua"); break; case 3 : System.out.println("tiga"); break; default : System.out.println("angka yang anda masukkan salah"); public static void main(string[] args) { show1(); 5. Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya 6. (*Pengamatan) Pilih menu Run Run As Java Application 7. (*Pengamatan) pahami alur programtersebut TUGAS: 1. Buat sebuah program untuk permasalahan berikut dengan pencabangan if Jika nilai ujian 80 maka indeks nilai = A, tapi Jika 70 nilai ujian < 80 maka indeks nilai = B, tapi Jika 55 nilai ujian < 70 maka indeks nilai = C, tapi Jika 40 nilai ujian < 55 maka indeks nilai = D, tapi Jika nilai ujian < 40 maka indeks nilai = E 2. Buat program yang berisi pencabangan switch untuk nama-nama bulan dan menampilkan bulan juni jika variabel b bernilai 6! [if-unpas] 2010 @author : Hendra Komara, ST. Page 11