Modul 4, Praktikum : Algoritma dan Pemrograman 1
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
Modul 4, Praktikum : Algoritma dan Pemrograman 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
Modul 4, Praktikum : Algoritma dan Pemrograman 1
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”); }
II.
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
Modul 4, Praktikum : Algoritma dan Pemrograman 1
public static void show1(){ byte b = 5; if(b > 10){ System.out.println("Masuk badan if"); } } public static void show2(){ byte b = 5; if(b >= 10){ System.out.println("Masuk badan if"); } } public static void show3(){ byte b = 5; if(b < 10){ System.out.println("Masuk badan if"); } } public static void show4(){ byte b = 5; if(b <= 10){ System.out.println("Masuk badan if"); } } public static void show5(){ byte b = 5; if(b == 10){ System.out.println("Masuk badan if"); } } public static void show6(){ byte b = 5; if(b != 10){ System.out.println("Masuk badan if"); } } public static void main(String[] args) { show1(); show2(); show3(); show4(); show5(); show6(); } } 7. 8. 9.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( selajutnya (*Pengamatan) Pilih menu Run | Run As | Java Application (*Pengamatan) Maka akan tampil :
) maka bisa dilakukan instruksi
Masuk badan if Masuk badan if Masuk badan if
[if-unpas] 2010 @author : Hendra Komara, ST.
Page 4
Modul 4, Praktikum : Algoritma dan Pemrograman 1
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(){ byte b = 5; if(b > 10){ System.out.println("Masuk badan if"); } else{ System.out.println("Masuk badan else"); } } public static void show2(){ byte b = 5; if(b >= 10){ System.out.println("Masuk badan if"); [if-unpas] 2010 @author : Hendra Komara, ST.
Page 5
Modul 4, Praktikum : Algoritma dan Pemrograman 1
} else{ System.out.println("Masuk badan else"); } } public static void show3(){ byte b = 5; if(b < 10){ System.out.println("Masuk badan if"); } else{ System.out.println("Masuk badan else"); } } public static void show4(){ byte b = 5; if(b <= 10){ System.out.println("Masuk badan if"); } else{ System.out.println("Masuk badan else"); } } public static void show5(){ byte b = 5; if(b == 10){ System.out.println("Masuk badan if"); } else{ System.out.println("Masuk badan else"); } } public static void show6(){ byte b = 5; if(b != 10){ System.out.println("Masuk badan if"); } else{ System.out.println("Masuk badan else"); } } public static void main(String[] args) { show1(); show2(); show3(); show4(); show5(); show6(); } } 5. 6.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya (*Pengamatan) running, perhatikan dan pahami pencabangan yang manasaja yang ditampilkan kelayar
[if-unpas] 2010 @author : Hendra Komara, ST.
Page 6
Modul 4, Praktikum : Algoritma dan Pemrograman 1
3.
Latihan 3 1. 2. 3. 4.
Pastikan project nrp anda modul4 terpilih Klik kanan pada paket ap1.prak. modl4.nrp1040xxx Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new | class | beri nama Desicitionif3TermShow | klik button finish 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
Modul 4, Praktikum : Algoritma dan Pemrograman 1
//--------------------------------------------------------------//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+" } //kondisi lebih dari 20 else if(value > 20){ System.out.println(value+" } //kondisi lebih dari 30 else if(value > 30) System.out.println(value+" //kondisi lebih dari 40 else if(value > 40){ System.out.println(value+" } //kondisi lebih dari 50 else { System.out.println(value+" } }
> "+10);
> "+20);
> "+30);
> "+40);
> "+50);
public static void main(String[] args) { show1(); show2(); } } 5. 6. 7.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( ) maka bisa dilakukan instruksi selajutnya (*Pengamatan) Pilih menu Run | Run As | Java Application (*Pengamatan) perhatikan pada pemanggilan method show1() dan show2()
[if-unpas] 2010 @author : Hendra Komara, ST.
Page 8
Modul 4, Praktikum : Algoritma dan Pemrograman 1
4.
Latihan 4 1. 2. 3. 4.
Pastikan project nrp anda modul4 terpilih Klik kanan pada paket ap1.prak. modl4.nrp1040xxx Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new | class | beri nama Desicitionif4TermShow | klik button finish 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
Modul 4, Praktikum : Algoritma dan Pemrograman 1
public static void show1(){ int x = 12; if(x > 10){ if(x == 20){ System.out.println("x adalah 20"); } else{ 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 ( selajutnya (*Pengamatan) Pilih menu Run | Run As | Java Application (*Pengamatan) perhatikan dan pajama alur program tersebut
6. 7.
8.
) maka bisa dilakukan instruksi
Latihan5 1. 2. 3. 4.
Pastikan project nrp anda modul4 terpilih Klik kanan pada paket ap1.prak. modl4.nrp1040xxx Buat class baru, klik kanan di package ap1.prak. modl4.nrp1040xxx pilih new | class | beri nama DemoSwitch | klik button finish 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
Modul 4, Praktikum : Algoritma dan Pemrograman 1
//-------------------------------------------------------------------//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. 6. 7.
Simpan dengan menggunakan shortcut Ctrl+S, jika tidak ada error ( selajutnya (*Pengamatan) Pilih menu Run | Run As | Java Application (*Pengamatan) pahami alur programtersebut
) maka bisa dilakukan instruksi
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