Tujuan Pada akhir pembahasan, siswa diharapkan mampu untuk: JAVA Education Network Indonesia Struktur Kontrol Pengenalan Pemrograman 1 Menggunakan struktur kontrol pernyataan keputusan (if, else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. Menggunkan struktur kontrol pernyataan pengulangan (while, do-while, for) dimana memperbolehkan mengeksekusi bagian spesifik dari kode sesuai dengan angka yang merupakan jumlah pengulangannya. Menggunakan pernyataan branching (break, continue, return) dimana memperbolehkan redirection dari alur sebuah program. jeni.jardiknas.org Struktur Kontrol Struktur kontrol Memperbolehkan kita untuk merubah sebuah permintaan dari bagaimana sebuah pernyataan dari program kita akan dieksekusi. Struktur kontrol mempunyai dua tipe: Struktur kontrol keputusan Memperbolehkan kita untuk memilih bagian yang spesifik dari kode yang akan dieksekusi Struktur kontrol pengulangan Memperbolehkan kita untuk mengeksekusi bagian yang spesifik sesuai dengan jumlah angka pengulangannya. Struktur Kontrol Keputusan Struktur kontrol keputusan Pernyataan Java memperbolehkan kita untuk memilih dan mengeksekusi specific blocks dari kode dimana dapat meloncat ke bagian yang lain. Tipe-tipe: Pernyataan-if Pernyataan-if-else Pernyataan-if-else if Pernyataan-if Pernyataan-if Menspesifikasikan sebuah pernyataan (atau block dari kode) yang akan dieksekusi jika dan hanya jika pernyataan boolean bernilai true. if-statement Flowchart Form pernyataan-if: if( boolean_ekspresi ) pernyataan; atau pernyataan 1; pernyataan 2; dimana, boolean_ekspresi sama dengan boolean ekspresi atau boolean variabel. 1
1 if( grade > 60 ) System.out.println( Selamat!"); 2 if( grade > 60 ){ System.out.println( Selamat!"); System.out.println( Anda Berhasil!"); Penuntun Coding 1. Boolean_ekspresi merupakan bagian dari sebuha pernyataan yang harus dieveluasi ke sebuha nilai boolean. Hal tersebut berarti bahwa eksekusi dari kondisi harus memiliki nilai true atau false. 2. Pernyataan dalam blok-if., // // Pernyataan if-else Pernyataan if-else Digunakan ketika kita akan mengeksekusi sebuah pernyataan jika kondisinya true, dan pernyataan yang lain jika berkondisi false. Form pernyataan if-else: else{ pernyataan3; pernyataan4; Flowchart 1 if( grade > 60 ) System.out.println( Selamat!"); else System.out.println( Maaf Anda gagal"); 2
2 if( grade > 60 ){ System.out.println( Selamat!"); System.out.println( Anda berhasil!"); else{ System.out.println( Maaf Anda gagal"); Petunjuk Penulisan Program 1. Untuk menghindari kesalahan, selalu letakkan pernyataanpernyataan dari blok if atau if-else didalam tanda {. 2. Anda dapat memiliki blok if-else berantai. Artinya Anda dapat memilki blok if-else yang lain didalam blok if-else yang lain., //pernyataan else{ // pernyataan Pernyataan if-else-else if Flowchart Pernyataan pada else-clause dari sebuah blok if-else dapat menjadi struktur if-else yang lain. Struktur ini memperbolehkan kita untuk membuat pilihan yang lebih kompleks. Form pernyataan if-else-else if: if( boolean_ekspresi1 ) else if( boolean_ekspresi2 ) else pernyataan3; if( grade > 90 ){ System.out.println( Sangat Bagus!"); else if( grade > 60 ){ System.out.println("Sangat Bagus!"); else{ System.out.println( Maaf Anda gagal"); Kesalahan Umum 1. Kondisi didalam pernyataan if-statement tidak ditentukan dalam nilai boolean., //SALAH int number = 0; if( number ){ //pernyataan Angka variabel tidak ditentukan sebagai nilai boolean. 2. Menulis elseif sebagai ganti dari else if. 3
Kesalahan Umum 3. Menggunakan = pengganti dari == sebagai pembanding., //SALAH int number = 0; if( number = 0 ){ //pernyataan Seharusnya ditulis, //BENAR int number = 0; if( number == 0 ){ // pernyataan Program 1 public class Grade { 2 public static void main( String[] args ) 3 { 4 double grade = 92.0; 5 if( grade >= 90 ){ 6 System.out.println( "Excellent!" ); 7 8 else if( (grade < 90) && (grade >= 80)){ 9 System.out.println( Bagus!" ); 10 11 else if( (grade < 80) && (grade >= 60)){ 12 System.out.println( Belajar lagi!" ); 13 14 else{ System.out.println( Maaf, Anda gagal."); 15 16 17 18 Pernyataan-switch Switch Memperbolehkan percabangan pada multiple outcomes. Form pernyataan-switch: switch( switch_ekspresi ){ case case_pilihan1: // //blok 1 break; case case_pilihan2: // //blok 2 break; : default: // //blok n Dimana, Pernyataan-switch switch_ekspresi Merupakan integer atau karakter ekspresi case_pilihan1, case_pilihan2 dan yang lainnya, merupakan integer unique atau karakter tetap. Pernyataan-switch Ketika sebuah switch digunakan, Pertama Java menilai switch_ekspresi, dan melompat ke case yang pilihan dari pemilih sesuai dengan nilai dari ekspresi. Program mengeksekusi pernyataan yang diminta dari point sebuah case sampai pernyataan break dibaca, kemudian pindah ke pernyataan awal setelah membaca akhir dari srtuktur switch. Jika tidak ada case yang sesuai, maka blok default akan dieksekusi. Catatan, bahwa bagian default merupakan pilihan. Pernyataan-switch CATATAN: Tidak sama dengan pernyataan-if, pernyataan multiple dieksekusi pada pernyataan-switch tanpa membutuhkan pernyataan percabangan (braches statement). Ketikan sebuah case pada pernyataan-switch telah dicocokan, semua pernyataan yang ada didalam case tersebut akan dieksekusi. Tidak hanya itu, pernyataan yang berhubungan dengan case tersebut juga akan dieksekusi. Untuk mencegah program dari pengeksekusian pernyataan pada case sebelumnya, kita menggunakan pernyataan-break sebagai pernyataan akhir. 4
Flowchart 1 public class Grade { 2 public static void main( String[] args ) 3 { 4 int grade = 92; 5 switch(grade){ 6 case 100: 7 System.out.println( "Excellent!" ); 8 break; 9 case 90: 10 System.out.println( Bagus!" ); 11 break; 12 case 80: 13 System.out.println( Belajar lagi!" ); 14 break; 15 default: 16 System.out.println( Maaf, Anda gagal."); 17 18 19 Penunjuk Penulisan Program Struktur Kontrol Pengulangan 1. Penentuan apakah menggunakan pernyataan-if atau pernyataan-switch adalah dengan memikirkan keputusan yang tepat. Anda dapat menentukan yang mana yang akan digunakan, berdasar pada kemampuan hasil program dan faktor yang lain. 2. Sebuah pernyataan-if dapat digunakan untuk membuat keputusan berdasarkan pada deretan dari nilai atau kondisi, dimana statement-switch dapat membuat keputusan hanya berdasar kepada single integer atau nilai karakter. Juga, nilai yang disediakan untuk setiap pernyataan-case harus berbeda (unique). Struktur kontrol pengulangan Pada pernyataan Java, kita diperbolehkan untuk menentukan angka pengulangan yang akan dilakukan, Tipe: Pengulangan-while Pengulangan-do-while Pengulangan-for Pengulangan-while Pengulangan while Merupakan pernyataan atao blok dari pernyataan yang diulang selama kondisinya sesuai. Form pengulangan while: while( boolean_ekspresi ){ 1 int x = 0; while (x<10) { System.out.println(x); x++; Pernyataan didalam pengulangan while akan dieksekusi selama boolean_ekspresi bernilai true. 5
2 3 //Pengulangan tanpa batas while(true) System.out.println( hello ); //Tanpa pengulangan // Pernyataan yang tidak pernah dieksekusi while (false) System.out.println( hello ); Pernyataan-do-while Pernyataan-do-while Sama dengan pengulangan-while Pernyataan didalam pengulangan do-while akan dieksekusi beberapa kali selama kondisinya sesuai dengan ekspressi yang diberikan. Hal utama yang membedakan antara pengulangan while dan do-while: Pernyataan didalam pengulangan do-while loop setidaknya dieksekusi satu kali. int x = 0; 1 do { System.out.println(x); x++; while (x<10); Form pengulangan-do-while: do{ while( boolean_ekspresi ); 2 3 //pengulangan tanpa batas do{ System.out.println( hello ); while (true); //satu kali pengulangan // pernyataan dieksekusi satu kali do System.out.println( hello ); while (false); 6
Petunjuk Penulisan Program 1. Kesalahan pemrograman secara umum terjadi, ketika lupa menulis semi-colon setelah ekspresi while pada saat menggunakan pengulangan do-while do{... while(boolean_ekspresi)//salah->lupa semicolon; 2. Sama halnya dengan pengulangan while, pastikan bahwa pengulangan do-while Anda akan diakhiri dengan point yang sama (semi-colon). Pengulangan-for Pengulangan-for Memperbolehkan pengeksekusian dari kode yang berilai sama berulang-ulang. Form pengulangan-for: for(inisialisasiekspresi;kondisipengulangan;ste pekspresi) { dimana, InisialisasiEkspresi meninisialisasi variabel pengulangan. KondisiPengulangan membandingkan variable pengulangan dengan nilai limit. StepEkspresi - memperbarui variabel pengulangan. int i; for( i = 0; i < 10; i++ ){ System.out.println(i); Kode diatas sama dengan pengulanganwhile dibawah ini. int i = 0; while( i < 10 ){ System.out.print(i); i++; Pernyataan Branching Pernyataan branching memperbolehkan kita untuk secara langsung mengatur flow dari pengeksekusian program. Java menyediakan tiga pernyataan branching: break continue return. Pernyataan Unlabeled break Unlabeled break Mengakhiri pernyataan switch Juga dapat digunakan untuk mengakhiri pengulangan for, while, atau do-while String names[]={"beah","bianca","lance","belle","nico","yza", "Gem","Ethan"; String searchname = "Yza"; boolean foundname = false; for( int i=0; i< names.length; i++ ){ if( names[i].equals( searchname )){ foundname = true; break; if( foundname ) System.out.println( searchname + " ditemukan!" ); else System.out.println( searchname + " tidak ditemukan." ); 7
Pernyataan labeled break Pernyataan labeled break Mengakhiri sebuah pernyataan, yang mana diidentifikasi oleh spesifikasi label pada pernyataan break. program pada slide berikutnya untuk mencari sebuah nilai pada array dua dimensi. Pengulangan melewati dua array. Ketika nilainya ditemukan, sebuah labeled break mengakhiri pernyataan labeled search, yang mana digunakan diluar pengulangan. int[][] numbers = {{1, 2, 3, {4, 5, 6,{7, 8, 9; int searchnum = 5; boolean foundnum = false; searchlabel: for( int i=0; i<numbers.length; i++ ){ for( int j=0; j<numbers[i].length; j++ ){ if( searchnum == numbers[i][j] ){ foundnum = true; break searchlabel; if( foundnum )System.out.println(searchNum + " ditemukan!" ); else System.out.println(searchNum + " tidak ditemukan!"); Pernyataan Unlabeled Continue Pernyataan unlabeled continue Pindah ke akhir dari bagian pengulangan dan memberikan nilai boolean ekspresi yang mengontrol pengulangan tersebut, pada dasarnya perpindahan merupakan pengingat(remainder) dari iterasi yang berasal dari pengulangan. String names[] = {"Beah", "Bianca", "Lance", "Beah"; int count = 0; for( int i=0; i<names.length; i++ ){ if(!names[i].equals("beah") ){ continue; //pindah kepernyataan berikutnya count++; System.out.println( Inilah "+count+" Beahs pada daftar"); Pernyataan labeled continue Pernyataan labeled continue Melewati iterasi dari sebuah outer loop marked dengan memberikan label. outerloop: for( int i=0; i<5; i++ ){ for( int j=0; j<5; j++ ){ System.out.println("Inside for(j) loop"); //pesan1 if( j == 2 ) continue outerloop; System.out.println("Inside for(i) loop"); //pesan2 Pada contoh ini, pesan2 tidak pernah ditampilkan sejak kita memiliki pernyataan continue outerloop yang mana merupakan perpindahan (skip) iterasi. 8
Pernyataan return Pernyataan return Digunakan untuk keluar dari method. Mengikuti kontrol return dari pernyataan pada method yang memanggilnya. Pernyataan return Return sebuah nilai Menaruh nilai (atau sebuah ekspresi yang menghitung sebuah nilai) setelah return keyword., return ++count; or return "Hello"; Tipe data dari nilai dikembalikan oleh return harus sama dengan tipe dari pendeklarasian nilai dari method yang memanggilnya. Pernyataan return Ketikan sebuah method dideklasikan sebagai void, gunakan form yang tidak menggunakan nilai return., return; Kita akan mendiskusikan pernyataan return lebih lanjut ketika kita membahas tentang method. Ringkasan Struktur Kontrol Keputusan if if-else if else if switch Struktur Kontrol Pengulangan while do-while for Pernyataan Branching break continue return 9