Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana...

9
MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009) DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT 1 JAVA Education Network Indonesia jeni.jardiknas.org Struktur Kontrol Pengenalan Pemrograman 1 Tujuan Pada akhir pembahasan, siswa diharapkan mampu untuk: 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. 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. 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. if-statement Flowchart

Transcript of Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana...

Page 1: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

1

JAVA Education Network Indonesia

jeni.jardiknas.org

Struktur KontrolPengenalan Pemrograman 1

Tujuan

Pada akhir pembahasan, siswa diharapkan mampu untuk:

• 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.

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 untukmemilih dan mengeksekusi specific blocks darikode 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 booleanbernilai true.

• Form pernyataan-if:if( boolean_ekspresi )

pernyataan;

atauif( boolean_ekspresi ){

pernyataan 1;

pernyataan 2;

}

– dimana,

• boolean_ekspresi sama dengan boolean ekspresi atauboolean variabel.

if-statement Flowchart

Page 2: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

2

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(“AndaBerhasil!");

}

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 sebuahpernyataan 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 Andagagal");

Page 3: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

3

Contoh 2

int grade = 68;

if( grade > 60 ){

System.out.println(“Selamat!");

System.out.println(“Andaberhasil!");

}

else{

System.out.println(“Maaf Andagagal");

}

Petunjuk Penulisan Program

1. Untuk menghindari kesalahan, selalu letakkan pernyataan-pernyataan dari blok if atau if-else didalam tanda {}.

2. Anda dapat memiliki blok if-else berantai. Artinya Anda dapatmemilki blok if-else yang lain didalam blok if-else yang lain.

Contoh,

if( boolean_ekspresi ){

if( boolean_ekspresi ){//pernyataan

}

}

else{

// pernyataan

}

Pernyataan if-else-else if

• 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;

Flowchart

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.

Page 4: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

4

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

}

Contoh 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:

pernyataan1;//

pernyataan2;//blok 1

break;

case case_pilihan2:

pernyataan1;//

pernyataan2;//blok 2

break;

:

default:

pernyataan1;//

pernyataan2;//blok n

}

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

• 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.

Page 5: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

5

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 ataupernyataan-switch adalah dengan memikirkan keputusanyang tepat. Anda dapat menentukan yang mana yang akandigunakan, berdasar pada kemampuan hasil program danfaktor yang lain.

2. Sebuah pernyataan-if dapat digunakan untuk membuatkeputusan berdasarkan pada deretan dari nilai atau kondisi, dimana statement-switch dapat membuat keputusan hanyaberdasar kepada single integer atau nilai karakter. Juga, nilaiyang disediakan untuk setiap pernyataan-case harus berbeda(unique).

Struktur Kontrol Pengulangan

• Struktur kontrol pengulangan

– Pada pernyataan Java, kita diperbolehkanuntuk 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 ){

pernyataan1;

pernyataan2;

. . .

}

– Pernyataan didalam pengulangan while akan

dieksekusi selama boolean_ekspresi bernilai true.

Contoh 1

int x = 0;

while (x<10) {System.out.println(x);

x++;}

Page 6: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

6

Contoh 2

//Pengulangan tanpa bataswhile(true)

System.out.println(“hello”);

Contoh 3

//Tanpa pengulangan// Pernyataan yang tidak pernah dieksekusiwhile (false)

System.out.println(“hello”);

Pernyataan-do-while

• Pernyataan-do-while

– Sama dengan pengulangan-while

– Pernyataan didalam pengulangan do-while akan dieksekusibeberapa kali selama kondisinya sesuai dengan ekspressiyang diberikan.

– Hal utama yang membedakan antara pengulangan while dando-while:

• Pernyataan didalam pengulangan do-while loop setidaknya dieksekusi satu kali.

• Form pengulangan-do-while:do{

pernyataan1; pernyataan2; . . .

}while( boolean_ekspresi );

Contoh 1

int x = 0;

do { System.out.println(x); x++;

}while (x<10);

Contoh 2

//pengulangan tanpa batasdo{

System.out.println(“hello”); } while (true);

Contoh 3

//satu kali pengulangan// pernyataan dieksekusi satu kalido

System.out.println(“hello”); while (false);

Page 7: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

7

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 berilaisama berulang-ulang.

• Form pengulangan-for:for(InisialisasiEkspresi;KondisiPengulangan;StepEkspresi){ pernyataan1; pernyataan2; . . .

}

– dimana,

• InisialisasiEkspresi –meninisialisasi variabelpengulangan.

• KondisiPengulangan – membandingkan variable pengulangan dengan nilai limit.

• StepEkspresi - memperbarui variabel pengulangan.

Contoh

• Kode diatas sama dengan pengulangan-

while dibawah ini.

int i;

for( i = 0; i < 10; i++ ){

System.out.println(i);

}

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 mengakhiripengulangan for, while, atau do-while

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 + " tidakditemukan." );

Page 8: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

8

Pernyataan labeled break

• Pernyataan labeled break– Mengakhiri sebuah pernyataan, yang mana

diidentifikasi oleh spesifikasi label padapernyataan break.

– Contoh program pada slide berikutnya untukmencari sebuah nilai pada array dua dimensi. Pengulangan melewati dua array. Ketikanilainya ditemukan, sebuah labeled break mengakhiri pernyataan labeled search, yang mana digunakan diluar pengulangan.

Contohint[][] 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 danmemberikan nilai boolean ekspresi yang mengontrol pengulangan tersebut, padadasarnya perpindahan merupakanpengingat(remainder) dari iterasi yang berasaldari pengulangan.

Contoh

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 padadaftar");

Pernyataan labeled continue

• Pernyataan labeled continue

– Melewati iterasi dari sebuah outer loop marked dengan memberikan label.

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.

Page 9: Struktur kontrol keputusan • Tipe-tipe - Jurusan Informatika · else, switch) dimana diperbolehkan seleksi dari bagian spesifik dari kode yang harus dieksekusi. • Menggunkan struktur

MMT-061 Pemograman Berorientasi Objek (semester genap 2008/2009)

DR. Taufik Fuadi Abidin, M.Tech / Zahnur, M.IT

9

Pernyataan return

• Pernyataan return

– Digunakan untuk keluar dari method.

– Mengikuti kontrol return dari pernyataan padamethod 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 pendeklarasiannilai 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