penyeleksian kondisi/percabangan & perulangan … · variabel. juga digunakan untuk ......

71
PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN PART I 4 th week Estu Sinduningrum ST,MT

Upload: nguyendieu

Post on 13-Mar-2019

316 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENYELEKSIAN

KONDISI/PERCABANGAN &

PERULANGAN

PART I

4th week

Estu Sinduningrum ST,MT

Page 2: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

REVIEW LAST WEEK

Page 3: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

TIPE DASAR

Estu Sinduningrum, ST, MT

Page 4: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENULISAN TIPE DASAR

Estu Sinduningrum, ST, MT

Page 5: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENULISAN TIPE BENTUKAN

Estu Sinduningrum, ST, MT

Page 6: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

Page 7: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

Page 8: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR

Operator adalah media yang digunakan untuk

memproses data sehingga memberikan hasil.

Secara umum operator dibagi tiga, yaitu :

1. Operator aritmatika,

2. Operator relasi, dan

3. Operator logika

Estu Sinduningrum, ST, MT

Page 9: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR ARITMATIKA

Digunakan untuk mengoperasikan data secara

matematika, misalnya (+), (-).

Estu Sinduningrum, ST, MT

Page 10: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR RELASI

Digunakan untuk membandingkan dua

buah data, misalnya (<), (>).

Estu Sinduningrum, ST, MT

Page 11: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR LOGIKA

Digunakan untuk mengaitkan dua buah kondisi

menjadi sebuah kondisi, misalnya (dan), (atau)

Estu Sinduningrum, ST, MT

Page 12: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

SEPARATOR

SIMBOL KETERANGAN DESKRIPSI

(……) Kurung (Parentheses) Digunakan untuk daftar parameter di

definisikan & menjalankan metode juga unk

mendefinisikan keterdahuluan di eskspresi.

{…….} Kurung Kurawal

(Braces) Digunakan untuk nilai2x array yg di inisialisa

secara otomatis. Juga untuk mendefinisikan

blok dari kode unk kelas, metode dan lingkup

lokal.

[……] Kurung Siku

(Brackets) Digunakan untuk mendeklarasikan tipe2x array.

Juga untuk mendeferensi nilai2x i array.

; Titik koma (Semi colon) Mengakhiri pernyataan

, Titik koma (Comma) Memisahkan identifier2x di deklarasikan

variabel. Juga digunakan untuk merangkai

pernyataan2x didalam kalimat for

. Titik (Period) Digunakan unk memisahkan nama2x paket dari

subpaket & kelas. Juga digunakan unk

memisahkan variabel/metode dari variabel

reference

Estu Sinduningrum, ST, MT

Page 13: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENDAHULUAN (IF...ELSE, SWITCH, FOR, WHILE, DO-WHILE)

Pada saat membuat program, ada kalanya kita dihadapkan

pada beberapa pilihan kondisi.

Kita dituntut untuk merancang ke alur mana saja program

akan dieksekusi.

Setiap alur pilihan akan memiliki konsekuensi masing-

masing sehingga menyebabkan perbedaan hasil akhir.

Sebagai ilustrasi, kita diminta untut membuat program

yang akan menyeleksi dan menentukan kelulusan seorang

mahasiswa untuk suatu mata kuliah.

Estu Sinduningrum, ST, MT

Page 14: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Langkah pertama, tentulah program akan meminta

parameter data mahasiswa (nama dan NIM) berisi data

nilai masing-masing.

Setelah itu, program akan menentukan nilai batas

kelulusan dan memeriksa nilai mahasiswa tersebut.

Bila nilai yang dimiliki lebih besar atau sama dengan nilai

batas, akan dinyatakan lulus dan bila lebih kecil,

dinyatakan tidak lulus.

Java telah menyediakan keyword if...else dan switch untuk

memfasilitasi penyeleksian kondisi.

Estu Sinduningrum, ST, MT

PENDAHULUAN (IF...ELSE, SWITCH, FOR, WHILE, DO-WHILE)

Page 15: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Bila Anda juga diminta untuk melakukan seleksi

sebanyak 500 orang mahasiswa, maka dibutuhkan

statement perulangan yang akan mengulangi proses

sampai selesai.

Terdapat beberapa pilihan perulangan dalam Java

yaitu : for, while, dan do..while.

Estu Sinduningrum, ST, MT

PENDAHULUAN (IF...ELSE, SWITCH, FOR, WHILE, DO-WHILE)

Page 16: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

ALGORITMA DAN FLOWCHART

(DIAGRAM ALUR)

Algoritma adalah alur logika yang

menjelaskan langkah-langkah apa yang

harus diambil untuk menyelesaikan

suatu tugas/masalah.

Flowchart adalah represenrasi grafis

dari suatu algoritma.

Estu Sinduningrum, ST, MT

Page 17: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

REPRESENTASI GRAFIS FLOWCHART

FLOW DIRECTION SYMBOLS

Estu Sinduningrum, ST, MT

Page 18: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

REPRESENTASI GRAFIS FLOWCHART

PROCESSING SYMBOLS

Page 19: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

REPRESENTASI GRAFIS FLOWCHART

PROCESSING SYMBOLS

Page 20: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

REPRESENTASI GRAFIS FLOWCHART

INPUT-OUTPUT SYMBOLS

Page 21: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

REPRESENTASI GRAFIS FLOWCHART

INPUT-OUTPUT SYMBOLS

Page 22: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PEMBUATAN FLOWCHART

1. Tidak ada kaidah yang baku, hanya biasanya flowchart

dibuat dari halaman atas kebawah, dan samping kiri ke

kanan.

2. Flowchart = gambaran hasil analisa suatu masalah

Flowchart dapat bervariasi antara satu pemrogram

dengan pemrogram lainnya.

3. Secara garis besar ada 3 bagian utama:

– Input

– Proses

– Output

Estu Sinduningrum, ST, MT

Page 23: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

4. Hindari pengulangan proses yang tidak perlu dan

logika yang berbelit sehingga jalannya proses

menjadi singkat.

5. Jalannya proses digambarkan dari atas ke bawah

kiri ke kanan, serta diberikan tanda panah untuk

memperjelas.

6. Sebuah flowchart diawali dari satu titik START dan

diakhiri dengan END.

Estu Sinduningrum, ST, MT

PEMBUATAN FLOWCHART

Page 24: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

FLOWCHART PROGRAM

Flowchart Program merupakan keterangan yang lebih rinci

tentang bagaimana setiap

Langkah program tau prosedur sesungguhnya dilaksanakan.

Flowchart ini menunjukkan setiap langkah program atau

prosedur dalam urutan yang tepat saat terjadi.

Programmer menggunakan flowchart program untuk

menggambarkan urutan instruksi dari program komputer.

Analisa Sistem menggunakan flowchart program untuk

menggambarkan urutan tugas-tugas pekerjaan dalam suatu

prosedur atau operasi.

Estu Sinduningrum, ST, MT

Page 25: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

CONTOH

FLOWCHART

PROGRAM

Estu Sinduningrum, ST, MT

Page 26: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

RESUME

Algoritma Adalah alur logika yang

mendefinisikan langkah-langkah secara

terstruktur untuk menyelesaikan suatu masalah.

Flowchart Adalah representasi grafis dalam

bentuk blok, Lingkaran, elips, serta garis alur

(panah) yang digunakan untuk melambangkan

suatu algoritma.

Estu Sinduningrum, ST, MT

Page 27: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

SEBAGAI ILUSTRASI, DI BAWAH INI ADALAH

ALGORITMA DARI AKTIVITAS MAKAN

YANG LENGKAP

1. Mengambil piring, sendok, garpu, dan gelas

minuman.

2. Menyendokkan nasi, lauk, clan sayur ke piring.

3. Menyuap dan mengunyah makanan.

4. Setelah kenyang, menuangkan minuman ke gelas.

5. Minum.

6. Membawa alat-alat makan tadi ke dapur dan

mencucinya.

Estu Sinduningrum, ST, MT

Page 28: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

FLOWCHART

Dengan flowchart, urutan langkah dari aktivitas

makan tadi digambarkan dengan simbol-simbol

persegi panjang, elips, lingkaran, dan sebagainya.

Simbol-simbol ini dihubungkan dengan tanda

panah yang disebut flowline (garis alur).

Estu Sinduningrum, ST, MT

Page 29: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

FLOWCHART

AKTIVITAS “MAKAN”

Estu Sinduningrum, ST, MT

Page 30: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 18

Estu Sinduningrum, ST, MT

Page 31: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PROGRAM

LATIHAN18

Estu Sinduningrum, ST, MT

public class Perulangan {

public static void main (String[]arg){

int i=1;

int j=5;

for (i=1;i<=5;i++);

{

System.out.println();

for(j=1;j<=i;j++) ;{

System.out.print(i);

}

}

}

}

Page 32: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENYELEKSIAN KONDISI IF

Page 33: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PERCABANGAN

Penyeleksian Kondisi atau dapat dikatakan sebagai

percabangan atau branching merupakan sebuah blok

program yang menyatakan bahwa sebuah aksi akan

dijalankan jika kondisi sebuah percabangan

terpenuhi.

Pada umumnya konsep percabangan dibagi dua, yaitu

percabangan if dan percabangan case

Estu Sinduningrum, ST, MT

Page 34: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENYELEKSIAN KONDISI IF

Gunakan seleksi if untuk memeriksa apakah suatu

variabel/ekspresi memenuhi persyaratan suatu kondisi.

Seleksi if menggunakan ekspresi Boolean untuk

menentukan apakah suatu statement /blok statement akan

dieksekusi atau tidak.

Bila variabel/ekspresi memenuhi persyaratan kondisi,

maka seleksi akan bernilai “benar”,

dan kemudian statement atau blok statement yang

menyertai if tersebut akan dieksekusi

Estu Sinduningrum, ST, MT

Page 35: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PERNYATAAN IF

Merupakan salah satu bentuk pernyataan terkondisi yang

berguna untuk pengambilan keputusan terhadap dua buah

kemungkinan.

Pernyataan if sendiri pada dasarnya memiliki dua buah bentuk,

yaitu yang tidak mengandung else dan yang mengandung else.

Bentuk pernyataan if sederhana :

If (kondisi) {

//blok pernyataan yang dijalankan

//kalau kondisi bernilai benar

}

Page 36: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

PENYELEKSIAN KONDISI IF

Page 37: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK UMUM

Estu Sinduningrum, ST, MT

Page 38: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK UMUM

Estu Sinduningrum, ST, MT

Page 39: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BANYAK KASUS

Estu Sinduningrum, ST, MT

Page 40: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BANYAK KASUS

Estu Sinduningrum, ST, MT

Page 41: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

public class Demolf {

/** Main method */

public static void main(String [] args) {

double nilaiInput;

System.out.println ( "\nPROGRAM DEMO IF" );

System.out.println ( "-----------------\n");

//Mengintruksikan user untuk menginputkan nilai

System.out.print("masukkan NiLai [0-100]: ");

nilaiInput = InputConsole.readDouble();

//Menyeleksi kondisi dan mencetak hasil ke console

if (nilaiInput >= 60)

System.out.println("\nSelamat, anda Lulus mata Kuliah ini.");

}

}

PROGRAM

LATIHAN19

Page 42: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

* INPUTCONSOLE.JAVA

* MENGAMBIL INPUT DATA DARI

CONSOLE.

/**

* Title : InputConsole

* Diskripsi : Mengambil input data dari console.

*/

import java.io.*;

public class InputConsole {

/** Membaca string dari keyboard */

public static String readString()

{

BufferedReader bfr = new BufferedReader(new

InputStreamReader (System.in), 1);

// Menginisialisasi String

String string = "";

// Mengambil string dari keyboard

try

{

string = bfr.readLine();

}

catch (IOException ex)

{

System.out.println(ex);

}

// Mengembalikan string hasil pembacaan dari keyboard

return string;

}

// Mengambil nilai int dengan parsing string

// input dari keyboard

public static int readInt()

{

return Integer.parseInt(readString());

}

// Mengambil nilai byte dengan parsing string

// input dari keyboard

public static int readByte()

{

return Byte.parseByte(readString());

}

// Mengambil nilai long dengan parsing string

// input dari keyboard

public static long readLong()

{

return Long.parseLong(readString());

}

// Mengambil nilai float dengan parsing string

// input dari keyboard

public static float readFloat()

{

return Float.parseFloat(readString());

}

// Mengambil nilai double dengan parsing string

// input dari keyboard

public static double readDouble()

{

return Double.parseDouble(readString());

} }

Page 43: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK IF..ELSE

Page 44: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK IF..ELSE

Terkadang selain menentukan aksi apa saja yang

akan dilakukan bila suatu kondisi terpenuhi,

kita juga ingin menetapkan konsekuensi-konsekuensi

yang terjadi bila kondisi itu gagal dipenuhi.

Ambil contoh, dari program sebelumnnya kita

tambahkan konsekuensi sebagai berikut:

"Bila tidak lulus, dapat diberi kesempatan ujian

perbaikan dengan grade nilai maksimal C ".

Estu Sinduningrum, ST, MT

Page 45: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Dibutuhkan tambahan keyword else sebagai pelengkap if untuk

menambahkan konsekuensi ini, sehingga disebut juga bentuk if .

.else.

Sama dengan if, else juga hanya akan mengeksekusi sebanyak satu

statement yang terletak persis di bawahnya.

Dibutuhkan blok setelah deklarasi else untuk mengeksekusi

sejumlah statement.

Bila terdapat beberapa kemungkinan konsekuensi (multiple

condition), setelah suatu if . . else kita dapat menambahkan if . . else

yang lainnya

Estu Sinduningrum, ST, MT

BENTUK IF..ELSE

Page 46: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

BENTUK IF..ELSE

Page 47: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

/** * Title : Program Demo if

* Deskripsi : Menggunakan if else untuk menyeleksi nilai ujian dan menentukan grade

kelulusannya.

*/ class DemoIfElse{

/**Main Method */

public static void main(String [] args) { double nilaiInput;

System.out.println ("\nPROGRAM DEMO IF ELSE" );

Syatem.out.println("---------------------\n" );

//Menginstruksikan user untuk menginputkan ni1ai.

// Untuk memasukkan data dari keyboard, digunakan

// kelas bantuan InputConsole.java. System.out.print ("Masukkan Nilai [0 - 100] : " ) ;

nilaiInput = inputConsole.readDouble();

PROGRAM

LATIHAN 20

//Menyeleksi range 0-100 if ((nilaiInput <0 | (nilaiInput > 100)) ) { System.out.println("Data input invalid!");

} //Kalau input valid,lakukan instruksi berikut else

{ //Menyeleksi kondisi

if (nilaiInput >= 60) { System.out.println("\nSelamat, anda lulus

mata"+"kuliah ini.");

if (nilailnput >= 85) System.out.println("\nNilai anda :A");

else if (nilailnput >= 70)

System.out.println("\nNilai anda :B"); else if (nilailnput >= 60)

System.out.println("\nNilai anda :C"); } else {

System.out.println("\nMaaf, anda harus mengulang"+ "mata kuliah ini

kembali,atau"+"mengikuti ujian perbaikan dengan "+"nilai maksimum C");

} } } }

Page 48: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK IF ATAU IF..ELSE

BERSARANG

(NESTED IF.,ELSE)

Page 49: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK IF ATAU IF..ELSE BERSARANG

(NESTED IF.,ELSE)

Selain bentuk tunggal if atau if . .else serta mutlitple

condition if . .eIse yang telah dibahas sebelumnya,

kita juga diperbolehkan untuk membuat if atau if

..else yang bersarang.

Maksudnya if atau if ..else itu dapat ditempatkan

sebagai suatu blok seleksi di dalam blok if atau if . .

else yang lain.

Estu Sinduningrum, ST, MT

Page 50: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Bila pada bentuk multiple if ..e1se kedudukan masing-

masing if ..e1se adalah sederajat, namun pada nested if

..else, kedudukannya adalah bertingkat.

Kondisi if . . else tingkat pertama akan menyeleksi

variabel/objek untuk pertama kali, dan bila lulus,

maka variabel atau objek itu akan menghadapi seleksi if

..else tahap kedua,

bila lulus lagi ke seleksi if . . else ketiga, dan seterusnya.

Estu Sinduningrum, ST, MT

BENTUK IF ATAU IF..ELSE BERSARANG

(NESTED IF.,ELSE)

Page 51: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Proses seleksi seperti ini dapat kita jumpai pada

kasus misalnya : seleksi penerimaan pegawai

baru.

Seleksi tahap pertama merupakan test tulis dan

psikotes, bila lulus, pelamar harus menghadapi

seleksi wawancara, dan bila lulus lagi, ia akan

menghadapi test kesehatan.

Estu Sinduningrum, ST, MT

BENTUK IF ATAU IF..ELSE BERSARANG

(NESTED IF.,ELSE)

Page 52: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Atau,

untuk menentukan nilai suatu ujian tergolong

sebagai A, B, C, D, atau E dengan kriteria

sebagai berikut:

Estu Sinduningrum, ST, MT

BENTUK IF ATAU IF..ELSE BERSARANG

(NESTED IF.,ELSE)

Page 53: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

KELAS BACAKEYBOARD

Estu Sinduningrum, ST, MT

// ------------------------------------------

// BacaKeyboard.Java

//

// Berisi kelas BacaKeyboard

// yang mengandung metode

bacaString

// yang berfungsi menangani

pembacaan data

// dari keyboard. Hasilnya bertipe

string

// ------------------------------------------

public class BacaKeyboard {

public static String bacaString() {

int karakter;

String str = "";

boolean selesai = false;

while(!selesai) {

try {

karakter = System.in.read();

if (karakter < 0 || (char)

karakter == '\n')

selesai = true;

else if ((char) karakter != '\r')

str = str + (char) karakter;

}

catch(java.io.IOException e) {

System.err.println("Ada

kesalahan");

selesai = true;

} }

return str;

} }

Page 54: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 21

IFBERSARANG: JAVA

Estu Sinduningrum, ST, MT

// -------

// Berkas: IfBersarang:. java

// Menggunakan kelas BacaKeyboard

// -------

public class IfBersarang {

public static void main(String[] arqs) {

System.out.print ( "Nilai ujian: " ) ;

String st = BacaKeyboard.bacaString();

int nilaiUjian =

Integer.valueOf(st).intValue() ;

char skor;

if (nilaiUjian >= 90)

skor = 'A';

else

if (nilaiUjian >= 80)

skor = 'B';

else

if (nilaiUjian >= 60)

skor = 'C' ;

else

if (nilaiUjian >= 50)

skor = 'D' ;

else

skor = 'E' ;

System.out.println("Skor:" + skor)

;

} }

Page 55: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR BERKONDISI

Page 56: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

OPERATOR BERKONDISI

Operator ini dikenal dengan sebutan operator berkondisi.

Selain itu juga disebut operator ternary, karena operator ini

melibatkan tiga buah argumen.

Kaidah pemakaian operator ini:

Dalam hal ini, jika ekspresi_kondisi bernilai benar maka ekspresi

dengan operator ?:

ini menghasilkan nilai berupa nilai_1.

Untuk keadaan sebaliknya, hasil ekspresi berupa nihi_2

Estu Sinduningrum, ST, MT

ekspresi_kondisi?nilai_1 : nilai_2

Page 57: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

GAMBARAN OPERATOR ?:.

Estu Sinduningrum, ST, MT

Page 58: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 22 :

BELANJAIFELSE. JAVA

Estu Sinduningrum, ST, MT

// -------

// Berkas: BelanjaIfElse. java

// Menggunakan kelas BacaKeyboard

// -------

public class BelanjaIfElse {

public static void main(String[] args) {

System.out.print( "Total belanja: " ) ;

String st = BacaKeyboard.bacaString() ;

int totalBelanja = Integer.valueOf (st).intValue() ;

int diskon;

if (totalBelanja >= 100000)

diskon = totalBelanja / 10;

else

diskon = 0;

System.out.println("Diskon = " + diskon) ;

}

}

Page 59: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 22 :

OPERATOR BERKONDISI

Program berikut menunjukkan contoh penggunaan

operator ?: untuk menggantikan peryataan:

if (totalBelanja >= 100000)

diskon = totalBelanja / 10;

else

diskon = 0;

Estu Sinduningrum, ST, MT

Page 60: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 23 :

BELANJAIFELSE. JAVA

Estu Sinduningrum, ST, MT

// -------

// Berkas: BelanjaIfElse. java

// Menggunakan kelas BacaKeyboard

// -------

public class BelanjaIfElse {

public static void main(String[] args) {

System.out.print( "Total belanja: " ) ;

String st = BacaKeyboard.bacaString() ;

int totalBelanja = Integer.valueOf (st).intValue() ;

int diskon;

if (totalBelanja >= 100000)

diskon = totalBelanja / 10;

else

diskon = 0;

System.out.println("Diskon = " + diskon) ;

}

}

Page 61: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENJELASAN :

Pada pernyataan,

int diskon = totalBelanja >= 100000 ?

totalBelanja/10:0;

totalBelanja lebih besar atau sama dengan 100000

maka diskon diisi dengan nol.

Estu Sinduningrum, ST, MT

Page 62: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENYELEKSIAN KONDISI SWITCH

Page 63: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PENYELEKSIAN KONDISI SWITCH

Selain bentuk seleksi kondisi if, dalam Java dikenal juga cara penyeleksian

switch.

Bentuk ini digunakan untuk menyeleksi kondisi yang memiliki banyak

kemungkinan (multiple condition), sama seperti mutliple if ..eIse.

Sebagai ilustrasi, seorang pesulap mengacak kartu remi dan meminta Anda

untuk mengambil salah satu.

Selanjutnya sang pesulap akan mencoba menerka kartu apa yang telah diambil.

Bila dibuat programnya, maka kita harus membuat 52 kemungkinan dari kartu

remi yang ada.

Bisa Anda bayangkan bila kita harus menggunakan if…else untuk menyatakan

52 kemungkinan tersebut.

Bentuk yang tepat untuk menangani kasus ini adalah switch.

Estu Sinduningrum, ST, MT

Page 64: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

Estu Sinduningrum, ST, MT

FLOWCHART SWITCH…CASE

Page 65: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BENTUK UMUM :

switch (ekspresi switch)

{

case nilai1 : statement 1;

break;

case nilai2 : statement 2;

break;

-----

case nilaiN : statement ke-N;

break;

default : statement default;

}

Estu Sinduningrum, ST, MT

Page 66: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

PERNYATAAN SWITCH

Estu Sinduningrum, ST, MT

masing-masing pernyataan (pernyataan_l sampai dengan

pernyataan_n) dapat berupa satu atau beberapa perintah dan tidak

perlu berupa blok peryataan. pernyataan_1 dijalankan kalau nilai ekspresi cocok dengan

nilaiSatu. Setelah pernyatan_1 dijalankan, eksekusi

dilanjutkan ke akhir pernyataan switch. pernyataan_1 dijalankan kalau nilai ekspresi cocok dengan

nilaiDua. Setelah pernyatan_2 dijalankan, eksekusi

dilanjutkan ke akhir pernyataan switch. pernyataan_1 dijalankan kalau nilai ekspresi cocok dengan

nilaiTiga. Setelah pernyatan_3 dijalankan, eksekusi

dilanjutkan ke akhir pernyataan switch.

Bagian default bersifat opsional. Jika ada, bagian ini hanya

akan dijalankan kalau nilai ekspresi tak cocok dengan

nilaiSatu, nilaiDua, dan seterusnya.

Pernyataan break digunakan untuk

mengendalikan eksekusi ke akhir

pernyataan switch.

Page 67: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 24 :

PERNYATAANSWITCH. JAVA

Estu Sinduningrum, ST, MT

//-------------------------------

//Berkas : PernyataanSwitch. java

//Menggunakan kelas BacaKeyboard

//-------------------------------

public class Pernyataanswitch {

public static void main(String [ ] args);

System.out.println("Pilihan:" );

System.out.println("1.Soto ayam");

System.out.println("2.Nasi rawon" );

System.out.println("3.Gulai kambing");

System.out.println ("") ;

System.out.print("pilihan: ") ;

String st = BacaKeyboard.bacaString();

int pilihan = Integer.valueOf(st).intValue();

switch(pilihan) {

case1:

System.out.println("Pilihan Anda Soto ayam");

System.out.println("Silakan menunggu sebentar");

break;

case2:

System.out.println("Pilihan Anda Nasi

rawon");

System.out.println("Silakan menunggu

sebentar");

break;

case3:

System.out.println("Pilihan Anda Gulai

kambing");

System.out.println("Silakan menunggu

sebentar");

break;

default:

System.out.println("Silakan memilih 1, 2,

atau 3");

}

System.out.println("Akhir switch") ;

} }

Page 68: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

BREAK NO USE IN ONE CAST

Sebagaimana telah dijelaskan di depan, pernyataan

break digunakan untuk mengakhiri eksekusi switch.

Namun ada kalanya break justru tidak diberikan pada

bagian case tertentu.

Tujuannya adalah agar eksekusi dilanjutkan ke

peryataan yang terletak di bawahnya.

Contoh seperti ini dapat dilihat pada program berikut:

Estu Sinduningrum, ST, MT

Page 69: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 25 :

PERNYATAANSWITCH2. JAVA

Estu Sinduningrum, ST, MT

//-------------------------------

//Berkas : PernyataanSwitch2. java

//

//Menggunakan kelas BacaKeyboard

//--------------------------------

public class PernyataanSwitch2 {

public static void main(String[] args) {

System.out.println("Pilihan:");

System.out.println("1.Senin");

System.out.println("2.Selasa");

System.out.println("3.Rabu");

System.out.println("4.Kamis");

System.out.println("5.Jumat");

System.out.println("6.Sabtu ");

System.out.println("7.Minggu");

System.out.println(" ");

System.out.print("Pilihan: ");

String st = BacaKeyboard.bacaString();

int pilihan = Integer.valueOf(st).intValue();

switch(pilihan) {

case 1:

case 2:

case 3:

case 4:

case 5:

System.out.println ("Hari kerja");

break;

case 6:

case 7:

System.out.println ("Hari libur");

break;

default:

System.out.println("Pilihan salah");

} } }

Page 70: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

LATIHAN 26 :

DEMOSWITCHCASE. JAVA

Estu Sinduningrum, ST, MT

/**

* Title : Program Demo Switch Case

* Deskripsi : Mengaplikasikan pemakaian

switch..

case untuk membuat pilihan

*

*/

public class DemoSwitchCase {

/** Main Method */

public static void main(String[ ] args) {

int pilihan; // ubahlah nilai ini untuk

menguji

// pilihan yang lain

System.out.println("\nPROGRAM DEMO

SWITCH CASE");System.out.println("-----

-------------------\n");

//Menginstruksikan user untuk

memasukkan pilihan

System.out.println("Masukkan pilihan anda [1-4]:");

pilihan = InputConsole.readInt();

switch(pilihan) {

case 1 :

System.out.println("\nAnda memilih Tom Cruise.");

break;

case 2 :

System.out.println("\nAnda memilih Jack Chan.");

break;

case 3 :

System.out.println("\nAnda memilih SUJU.");

break;

case 4 :

System.out.println("\nAnda memilih Van

Damme.");

break;

default :

System.out.println("Hanya pilihan [1-4

yang"+"diperbolehkan.");

} //akhir switch

} //akhir main method

} // akhir class SwitchTest

Page 71: PENYELEKSIAN KONDISI/PERCABANGAN & PERULANGAN … · variabel. Juga digunakan untuk ... Flowchart adalah represenrasi grafis ... Flowchart Adalah representasi grafis dalam bentuk

TERIMA KASIH