Decision and Looping Konstruksi Pengambilan Keputusan Konstruksi if Konstruksi if merupakan bentuk konstruksi pengambilan keputusan dengan 2 kemungkinan keputusan. Kemungkinankemungkinan keputusan itu akan dipilih berdasarkan suatu kondisi yang diperiksa. Kondisi tersebut merupakan suatu ekspresi boolean / boolean expression. Sintaks dasarnya: if ( boolean_expression ){ code block; 2 1
3 Contoh: public class HasilUjian{ public static void main(string[] args){ int nilai1 = 8; int nilai2 = 7; int nilai3 = 5; float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3; if(rata_rata<5){ System.out.println( Tidak Lulus ); System.out.println( Nilai Rata-rata = +rata_rata); Output : 4 2
Konstruksi if..else.. Konstruksi if / else digunakan sebagai konstruksi pengambilan keputusan yang memiliki beberapa kemungkinan keputusan. Sintak dasarnya adalah seperti berikut : if ( boolean_expression_1 ){ code block 1; else if ( boolean_expression_2 ){ code block 2;... else{ code block n; 5 6 3
Output : Contoh public class HasilUjian{ public static void main(string[] args){ int nilai1 = 8; int nilai2 = 7; int nilai3 = 5; float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3; if(rata_rata<5){ System.out.println( Tidak Lulus ); else if ((rata_rata>=5) && (rata_rata<6)){ System.out.println( Harus ikut ujian perbaikan ); else { // rata_rata >= 6 System.out.println( Lulus ); System.out.println( Nilai Rata-rata = + rata_rata); 7 Konstruksi Switch Konstruksi switchadalah konstruksi pengambilan keputusan yang mengevaluasi kemungkinan-kemungkinan nilai dari variabel yang dievaluasi. Bentuk umum syntax konstruksi switch adalah sebagai berikut: switch( variabel ) { case nilai_literal_1 : code_block_1; break; case nilai_literal_2 : code_block_2; break;.. default: code_block_default; break; 8 4
Keterangan: switch adalah kata kunci yang mengindikasikan dimulainya konstruksi switch; variabel adalah variabel yang nilainya akan dievaluasi. variabel hanya dapat bertipe-data char, byte, short, atau int; caseadalahkata kunciyang mengindikasikansebuahnilaiyang diuji. Kombinasi kata kunci case dan nilai_literal disebut case label; nilai_literal_kadalahnilaiyang mungkinakanmenjadinilaivariabel. nilai_literal_k tidak dapat berupa variabel, ekspresi, atau method, tetapi dapat merupakan konstanta. k = {default, 1,2,...,n ; break adalah pernyataan yang sifatnya opsional, yang mengakibatkan aliran program keluar dari blok switch. Jika setelah code_block_k tidak terdapatpernyataanbreak, makaaliranprogram akanmasukkecase berikutnya.k = {default, 1,2,3,...,n; default adalah kata kunci yang mengindikasikan code_block_default akan dieksekusi jika semua case yang diuji tidak sesuai dengan nilai variabel. 9 Contoh: public class HasilUjian{ public static void main(string[] args){ int nilai1 = 8; int nilai2 = 7; int nilai3 = 5; float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3; switch((int)rata_rata){ case 0 : case 1 : case 2 : case 3 : case 4 : System.out.println( Tidak Lulus ); break; case 5 : System.out.println( Ikut ujian perbaikan ); break; default : System.out.println( Lulus ); break; System.out.println( Nilai Rata-rata = + rata_rata); Output : 10 5
Konsep Perulangan Sebuah proses di dalam program yang akan mengulang satu atau beberapa statement terus-menerus hingga sampai pada kondisi berhenti. Bentuk Perulangan di Java for while do-while 6
Pengulangan: for Umumnya digunakan pada pengulangan yang jumlah iterasinya sudah pasti atau sudah diketahui sebelumnya. Formula : for (inisialisasi; kondisi; iterasi) { //statement yang akan diulang Alur Kerja for Start inisialisasi kondisi false End true Statement yang diulang iterasi 7
Contoh-contoh for 1. Program untukmenuliskanteks Java Programming class sebanyak DemoFor1 10 kali. { public static void main (String[] args) { for (int i=0; i<10; i++) { System.out.println("Java"); class DemoFor1 { public static void main (String[] args) { for (int i=10; i>0; i--) { System.out.println("Java"); 2. Program untuk menjumlahkan 5 bil. positif pertama class DemoFor3 { int n = 5; // 5 bilangan positif pertama int hasil = 0; for (int i=1; i<=n; i++) { hasil = hasil + i; if (i!= n) { System.out.print(i + " + "); else { System.out.print("= "); System.out.println(hasil); Output : 8
3. Program untuk menentukan apakah sebuah integer termasuk prima atau tidak. class DemoFor4 { int bilangan = 7; boolean prima = true; for (int i=2; i <= (bilangan/2); i++) { if ((bilangan % i) == 0) { prima = false; break; // menghentikan pengulangan if (prima) { System.out.println(bilangan + " merupakan bilangan prima"); else { System.out.println(bilangan + " bukan bilangan prima"); Output : Penggunaan koma dalam for Perhatikan program berikut: class DemoFor5 { int j=4; for (int i=0; i < 5; i++) { System.out.println("Nilai i: " + i); System.out.println("Nilai j: " + j); System.out.println(); j--; Output : 9
class DemoFor6 { int i,j; Dapat disederhanakan sbb: for (i=0, j=4; i < 5; i++, j--) { System.out.println("Nilai i: " + i); System.out.println("Nilai j: " + j); System.out.println(); Output : Variasi for For dengan kondisi berhenti sebuah variabel boolean import java.util.scanner; public class ForBoolean { Scanner input = new Scanner(System.in); int angka, i; boolean stop=false; for (i=0;!stop; i++){ System.out.print("Masukkan angka : "); angka = input.nextint(); System.out.print(angka+ ); if (angka == 0) stop = true; System.out.println("Selesai."); Output : 10
Variasi program sebelumnya: import java.util.scanner; public class ForBoolean { Scanner input = new Scanner(System.in); int angka, i; boolean stop=false; i = 0; for (;!stop; ){ System.out.print("Masukkan angka : "); angka = input.nextint(); if (angka == 0) stop = true; i++; System.out.println("Selesai."); Output : Sebuah Cerita Tiga mahasiswa IT nonton bareng sebelum ujian akhir. Besoknya mereka nggak siap untuk ikut ujian. Mereka memutuskan untuk tidak datang dan sepakat mengarang cerita, lalu belajar selama seminggu. Seminggu kemudian mereka bertiga menghadap profesor. Mereka cerita bahwa mereka pergi ke pedalaman Kalimantan, naik jip, terus ban mereka meledak, sementara ban cadangan gembos. Makan waktu 3 hari untuk jalan ke Pontianak, terus pulang naik pesawat ke Jakarta. Kataprofesor, Yasudah, kalauban kalian meledak itubukansalahkalian kan, ayosekarangikutsaya Merekadiberi2 soal. Mereka dipisah, disuruhmasukkekelasyang berbeda-beda, lalu mulailah ujian Soalpertama [poin5] ApakahkepanjanganRAM? Merekabertiga mikir, wah gampang banget Random Access Memory Soalkedua[point 95] Ban manayang kempes? Waduuuuhhhh 11
Percabangan: while Formula : inisialisasi while (kondisi) { //statement yang diulang iterasi Contoh-contoh while import java.util.scanner; Program yang akan menjumlahkan secara berulang integer masukan user dan berhenti ketika jumlahnya sudah >100 public class DemoWhile1 { Scanner input = new Scanner(System.in); int bil, jumlah=0; while (jumlah<=100){ System.out.print("Masukkan angka : "); bil = input.nextint(); jumlah = jumlah+bil; System.out.println("Selesai. Total masukan user = "+jumlah); 12
Program miniatm Perulangan do-while Formula inisialisasi do { //statement yang akan diulang iterasi while (kondisi); 13
Contoh class ContohDoWhile { public static void main (String [] args) { int i = 6; do { System.out.println( Java ); i++; while (i<5); Perulangan Bersarang(1) for bersarang public class NestedFor { int i,j; for (i=1;i<=5;i++){ for (j=1;j<=i;j++){ System.out.print(i+" "); System.out.println(); 14
Perulangan Bersarang(2) while bersarang public class NestedWhile { int i=1,j=1; while (i<=5){ while (j<=i){ System.out.print(i+" "); j++; System.out.println(); i++; Perulangan Bersarang(3) do-while bersarang public class NestedDoWhile { int i=1,j=1; do { do { System.out.print(i+" "); j++; while (j<=i); System.out.println(); i++; while (i<=5); 15
SOAL 1. Perbaiki kode berikut : for ( i = 100, i >= 1, i++ ) System.out.println( i ); 2. Kodeberikutharusnyamenampilkaninteger ganjildari19 s/d 1 : for ( i = 19; i >= 1; i += 2 ) System.out.println( i ); 3. Kodeberikutharusnyamenampilkaninteger genapdari2 s/d 50 : counter = 2; do { System.out.println( counter ); counter += 2 ; while ( counter < 50 ); 16
4. Apakah output program berikut: public class Printing { public static void main(string args[]){ for ( int i = 1; i <= 3; i++ ) { for ( int j = 1; j <= 3; j++ ) System.out.print( '@' ); System.out.println(); // end outer for // end main // end class Printing Latihan 1. Buat program perulangan yang outputnya: a. 1 3 5 7 9 99 b. 100 99 98 97 1 c. 5 10 15 20 100 d. 2 4 8 16 32 256 2. Modifikasilah contoh program di slide 21 sehingga banyaknya integer yang dimasukkan tergantung masukan user. Program akanterusmenerusmengulanghinggauser memasukkan huruf t pada pertanyaan Ingin mengulang lagi(y/t)? 17
3. Buatlah program menampilkan deretan berikut: 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 4. Buatlah program Java yang meminta masukan jumlah data nilaiyang akandihitung. Kemudiandi akhirprogram akanmenampilkanjumlahtotal darinilai-nilaiyang dimasukkan tersebut. Variabel yang perlu disimpan Nilai Nilai total Jumlah nilai Tambahkan program menghitung rata-rata nilai 36 18