9/12/2011
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.
Pernyataan-if
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
if-statement Flowchart
• Pernyataan-if – Menspesifikasikan sebuah pernyataan (atau block dari kode) yang akan dieksekusi jika dan hanya jika pernyataan boolean bernilai true. • Form pernyataan-if: if( boolean_ekspresi ) pernyataan; atau if( boolean_ekspresi ){ pernyataan 1; pernyataan 2; } – dimana, • boolean_ekspresi sama dengan boolean ekspresi atau boolean variabel.
1
9/12/2011
Contoh 1 int grade = 68; if( grade > 60 ) System.out.println(“Selamat!");
Contoh 2 int grade = 68; 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. Contoh, if( boolean_ekspresi ){ //pernyataan1; //pernyataan2; }
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: if( boolean_ekspresi ){ pernyataan1; pernyataan2; . . . } else{ pernyataan3; pernyataan4; . . . }
Flowchart
Contoh 1 int grade = 68; if( grade > 60 ) System.out.println(“Selamat!");
else System.out.println(“Maaf Anda gagal");
2
9/12/2011
Petunjuk Penulisan Program
Contoh 2 int grade = 68; if( grade > 60 ){ System.out.println(“Selamat!"); System.out.println(“Anda berhasil!");
} else{ System.out.println(“Maaf Anda gagal");
}
Pernyataan if-else-else if
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. Contoh, if( boolean_ekspresi ){ if( boolean_ekspresi ){ //pernyataan } } else{ // pernyataan }
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 ) pernyataan1; else if( boolean_ekspresi2 ) pernyataan2; else pernyataan3;
Contoh int grade = 68; 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. Contoh, //SALAH int number = 0; if( number ){ //pernyataan } Angka variabel tidak ditentukan sebagai nilai boolean. 2. Menulis elseif sebagai ganti dari else if.
3
9/12/2011
Contoh Program
Kesalahan Umum 3. Menggunakan = pengganti dari == sebagai pembanding. Contoh, //SALAH int number = 0; if( number = 0 ){ //pernyataan } Seharusnya ditulis, //BENAR int number = 0; if( number == 0 ){ // pernyataan }
Pernyataan-switch •
Switch – Memperbolehkan percabangan pada multiple outcomes.
•
Form pernyataan-switch: switch( switch_ekspresi ){ case case_pilihan1: pernyataan1;// pernyataan2;//blok 1 break; case case_pilihan2: pernyataan1;// pernyataan2;//blok 2 break; : default: pernyataan1;// pernyataan2;//blok n }
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.
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 • Dimana, – switch_ekspresi • Merupakan integer atau karakter ekspresi
– case_pilihan1, case_pilihan2 dan yang lainnya, • merupakan integer unique atau karakter tetap.
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
9/12/2011
Flowchart
Contoh 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 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).
Pengulangan-while • Pengulangan while – Merupakan pernyataan atao blok dari pernyataan yang diulang selama kondisinya sesuai. • Form pengulangan while: while( boolean_ekspresi ){ pernyataan1; pernyataan2; . . . }
Struktur Kontrol Pengulangan • Struktur kontrol pengulangan – Pada pernyataan Java, kita diperbolehkan untuk menentukan angka pengulangan yang akan dilakukan,
• Tipe: – Pengulangan-while – Pengulangan-do-while – Pengulangan-for
Contoh 1
int x = 0; while (x<10) { System.out.println(x); x++; }
– Pernyataan didalam pengulangan while akan dieksekusi selama boolean_ekspresi bernilai true.
5
9/12/2011
Contoh 3
Contoh 2
//Pengulangan tanpa batas while(true) System.out.println(“hello”);
//Tanpa pengulangan // Pernyataan yang tidak pernah dieksekusi while (false) System.out.println(“hello”);
Contoh 1
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; do
{ System.out.println(x); x++; }while (x<10);
• Form pengulangan-do-while: do{ pernyataan1; pernyataan2; . . . }while( boolean_ekspresi );
Contoh 2
//pengulangan tanpa batas do{ System.out.println(“hello”); } while (true);
Contoh 3
//satu kali pengulangan // pernyataan dieksekusi satu kali do System.out.println(“hello”); while (false);
6
9/12/2011
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).
Contoh 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 Unlabeled break • Unlabeled break – Mengakhiri pernyataan switch – Juga dapat digunakan untuk mengakhiri pengulangan for, while, atau do-while
Pengulangan-for • Pengulangan-for – Memperbolehkan pengeksekusian dari kode yang berilai sama berulang-ulang. • Form pengulangan-for: for(InisialisasiEkspresi;KondisiPengulangan;Ste pEkspresi) { pernyataan1; pernyataan2; . . . } – dimana, • InisialisasiEkspresi –meninisialisasi variabel pengulangan. • KondisiPengulangan – membandingkan variable pengulangan dengan nilai limit. • StepEkspresi - memperbarui variabel pengulangan.
Pernyataan Branching • Pernyataan branching memperbolehkan kita untuk secara langsung mengatur flow dari pengeksekusian program. • Java menyediakan tiga pernyataan branching: – break – continue – return.
Contoh 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
9/12/2011
Pernyataan labeled break • Pernyataan labeled break – Mengakhiri sebuah pernyataan, yang mana diidentifikasi oleh spesifikasi label pada pernyataan break. – Contoh 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.
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.
Pernyataan labeled continue • Pernyataan labeled continue – Melewati iterasi dari sebuah outer loop marked dengan memberikan label.
Contoh int[][] numbers = {{1, 2, 3}, {4, 5, 6},{7, 8, 9}}; int searchNum = 5; boolean foundNum = false; searchLabel: for( int i=0; i
Contoh String names[] = {"Beah", "Bianca", "Lance", "Beah"}; int count = 0; for( int i=0; i
Contoh 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
9/12/2011
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. – Contoh, 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. – Contoh, 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