Anda di halaman 1dari 21

ALGORITMA DAN PEMROGRAMAN

Pertemuan IV
Nucke Widowati KP, M.Sc

Statement if
Penggunaan ifelse dapat digunakan sebagai statement blocks Bentuk umumnya adalah: If(condition) Jika kondisi bernilai true, maka statements target di {
statement sequence
} else statement sequence
dalam if akan dieksekusi

} Conditional expression yang mengontrol if harus menghasilkan nilai boolean.


ALPRO 2011, Nucke WKP, M.Sc

Jika kondisi bernilai false, maka statement target di dalam else akan dieksekusi

Nested ifs
Merupakan perintah if yang akan mengekseskusi perintah if lainnya Penggunaan nested if adalah hal umum dalam pemrograman Hal yang harus diingat dalam nested if adalah: statement else selalu merujuk ke statement if yang terdekat, yaitu if yang berada dalam block yang sama dengan else
ALPRO 2011, Nucke WKP, M.Sc

Contoh Nested Ifs


if(i == 10) { if(j < 20) a = b; if(k > 100) c = d; else a = c; // this else refers to if(k > 100) } else a = d; // this else refers to if(i == 10)

ALPRO 2011, Nucke WKP, M.Sc

// Guess the letter game, 3rd version. I'm thinking of a letter between A and Z. Can you guess it: Z class Guess3 { ...Sorry, you're too high public static void main(String args[]) throws java.io.IOException { char ch, answer = 'K'; System.out.println("I'm thinking of a letter between A and Z."); System.out.print("Can you guess it: "); ch = (char) System.in.read(); // get a char if(ch == answer) System.out.println("** Right **"); else { System.out.print("...Sorry, you're "); // a nested if if(ch < answer) System.out.println("too low"); else System.out.println("too high"); } } }
ALPRO 2011, Nucke WKP, M.Sc

Bentuk Lain Statement ifs


Konstruksi statement if berdasarkan nested if adalah if-else-if ladder (bentuk berjenjang) Formatnya adalah:
if(condition) statement; else if(condition) statement; else if(condition) statement; ... else statement;
ALPRO 2011, Nucke WKP, M.Sc

x is not between 1 and 4 x is one x is two x is three x is four x is not between 1 and 4

ALPRO 2011, Nucke WKP, M.Sc

Statement switch
Melibatkan banyak proses seleksi, sehingga memungkinkan bagi program untuk memilih dari sekian banyak alternatif. Walaupun tersedia nested if yang bisa dituliskan secara berseri tetapi pada beberapa kasus switch merupakan pendekatan yang lebih effisien

ALPRO 2011, Nucke WKP, M.Sc

Cara kerja switch:


Nilai dari ekspresi akan dites terhadap serangkaian konstanta Ketika nilainya cocok, statement yang berkaitan akan dieksekusi hingga ditemukan perintah break Ketika tidak ada nilai yang cocok maka statement dalam default akan dieksekusi (optional) Ekspresi switch dapat berupa tipe char, byte, short, atau int. Biasanya ekspresi yang mengontrol switch adalah dalam bentuk variabel
ALPRO 2011, Nucke WKP, M.Sc

Title

ALPRO 2011, Nucke WKP, M.Sc

Bentuk umum switch: switch(expression) { case constant1: statement sequence break; case constant2: statement sequence break; case constant3: statement sequence break; ... default: statement sequence}
ALPRO 2011, Nucke WKP, M.Sc

Konstanta case harus kompatibel dengan ekspresinya.

Tidak boleh ada konstanta case yang berisi nilai yang identik di dalam satu switch

ALPRO 2011, Nucke WKP, M.Sc

Penggunaan switch
Biasa digunakan dalam pemrograman untuk menampilkan pesan Untuk mentranslasi tipe data ketika digunakan dalam fungsi

ALPRO 2011, Nucke WKP, M.Sc

Nested switch
Dalam pemrograman sangat memungkinkanuntuk membuat struktur switch sebagai bagian dari struktur switch yang lain. Bahkan jika antara switch luar dan dalam mengandung nilai case yang sama

ALPRO 2011, Nucke WKP, M.Sc

switch(ch1) { case 'A': System.out.println("This A is part of outer switch."); switch(ch2) { case 'A': System.out.println("This A is part of inner switch"); break; case 'B': // ... } // end of inner switch break; case 'B': // ...
ALPRO 2011, Nucke WKP, M.Sc

Mengecek Bilangan Genap/Ganjil


Spesifikasi program
Meminta input sembarang bilangan dari user Proses pengecekan bilangan Mengeluarkan hasil pengecekan

ALPRO 2011, Nucke WKP, M.Sc

MENTUKAN AKAR PERSAMAAN KUADRAT


2 + + = 0 Akan memiliki akar riil jika 2 4 >= 0 12 =
2 4 2

Mencari

gunakan Math. sqrt()

ALPRO 2011, Nucke WKP, M.Sc

Membandingkan Waktu yang terbesar


Meminta dua kali input dari user dalam bentuk: jam, menit, detik Kemudian dibandingkan antara input pertama dan kedua, apakah lebih besar, lebih kecil atau sama dengan cara mengkonversi ke detik terlebih dahulu

ALPRO 2011, Nucke WKP, M.Sc

Membuat aplikasi grade nilai


Spesifikasi program
Meminta input nilai uts, uas, dan tugas dari nilai Prosentase nilai akhir adalah: 30%, 50%, 20% Proses penghitungan nilai akhir Pemberian grade nilai:
<40 = E 41-54 = D 55-64 = C 65-84 = B 85< =A

Mengeluarkan hasil grade nilai


ALPRO 2011, Nucke WKP, M.Sc

Membuat aplikasi help dengan switch


Spesifikasi program
Program akanmenampilkan panduan untuk menuliskan berbagai format statement pengulangan Meminta user untuk memasukkan input, format statement apa yang akan ditampilkan Program akan menampilkan output sesuai pilihan user
ALPRO 2011, Nucke WKP, M.Sc

#if if(condition) statement;


#ifelse if(condition) statement; else statement;

#switch switch(expression) { case constant: statement sequence break; // ... }

ALPRO 2011, Nucke WKP, M.Sc