COMP6598 - Week 4 - Selection
COMP6598 - Week 4 - Selection
COMP6598
Introduction to Programming
Minggu 4
Sesi 5
Selection
OUTLINE MATERI(Sub-Topic):
• If Statements
• Switch Statements
Selection Control Structure merupakan struktur kendali pada proses seleksi pada
pemrograman Java. Pada umumnya seleksi yang dilakukan di Java berfokus pada kondisi
yang dibandingkan dan diterima dalam bentuk boolean, yakni true atau false. Statement
dalam seleksi baru akan dijalankan pada saat kondisi terpenuhi, yakni bernilai true. Bentuk
kondisi yang akan dijalankan dalam bentuk operasi logika yang dapat mengkombinasikan
beberapa kondisi sekaligus dengan menerapkan operasi relasional. Untuk menjalankan
beberapa proses sekaligus dalam sebuah struktur kendali seleksi diperlukan penggunaan
kurung kurawal (‘{’ dan ‘}’) sebagai pernyataan bahwa ini adalah sebuah blok proses dari
kondisi seleksi tersebut.
IF Statement
if (Condition)
Statement1;
Statement2;
Output
Penjelasan
Terdapat 3 buah IF Statement, yang pertama untuk memeriksa apakah number > 0
(baris 8) . Statement IF kedua untuk memeriksa apakah number < 0, dan statement IF
ketiga untuk memeriksa apakah number sama dengan 0
Number yang dimasukkan oleh user adalah 23, sehingga pada saat menjalankan
statement IF pertama maka nilainya True sehingga statement berikutnya berupa
mencetak 23 is positive dilakukan
IF yang kedua dan ketiga tidak dijalankan karena kondisi bernilai False
IF – ELSE Statement
Output
Penjelasan
IF Statement yang terdapat pada baris ke-8 akan memeriksa apakah number >= 0,
apabila kondisi tersebut dipenuhi maka statement berikutnya setelah IF akan
Pada saat number di isi dengan nilai 23, maka kondisi IF Statement akan bernilai true,
sehingga akan tercetak 23 is positive number sedangkan apabila number diisi dengan
nilai -2, maka IF statement akan bernilai False dan statement setelah else yang akan
dijalankan yaitu mencetak tulisan -2 is negative number
Nested IF Statement
Nested IF Statement merupakan struktur kendali pada proses seleksi dimana di dalam
sebuah proses seleksi terdapat proses seleksi lainnya sehingga memungkinkan melakukan
beberapa pengecekan bersarang sekaligus. Berikut merupakan struktur Nested IF Statement
pada pemrograman Java.
if(condition1)
{
//Nested IF Statement
if(condition2)
{
}
else
{
}
}
else
{
if(condition3)
{
}
else
{
}
Contoh
Output
Penjelasan :
Pada IF pertama akan diperiksa apakah number bernilai > 0 atau tidak, Apabila
bernilai True maka statement pada baris 9 akan dijalankan. Namun Apabila False,
maka akan diperiksa kembali apakah number < 0, Apabila memenuhi maka statement
pada baris 11 akan dijalankan, Apabila tidak memenuhi maka akan dijalankan
statement pada baris 13
Sebagai contoh, saat number diberikan nilai 23, maka pada IF pertama akan diperiksa
apakah > 0 atau tidak. Dikarenakan 23 > 0 , maka baris 9 akan dijalankan sehingga
tercetak 23 is positive number
Kesalahan yang umum pada saat melakukan Struktur Kendali Pemilihan adalah :
Apabila hanya terdapat satu statement setelah IF , maka kurung tidak diperlukan, Namun
Apabila terdapat lebih dari 1 statement yang harus dijalankan setelah IF , maka tanda kurung
kurawal diperlukan untuk menandakan statement mana saja yang akan dijalankan
Pada contoh di bawah ini untuk contoh a, adalah salah karena setelah IF yang akan dijalankan
adalah area = radius * radius * PI. Satement berikutnya yaitu System.out.println(“The area
”+”is”+area) akan tetap dijalankan walaupun IF bernilai False. Dikarenakan terdapat 2
statement yang harus dijalankan setelah IF, maka penulisan pada bagian b adalah benar.
Penempatan kurung kurawal dilakuan setelah IF dan setelah statement kedua.
Kesalahan umum lainnya adalah penempatan tanda titik koma (;); sebagai penanda akhir
statement pada tempat yang salah. Perhatikan contoh berikut ini, penempatan ; tidak
seharusnya disana karena Apabila tanda titik koma (;) dituliskan setelah IF maka memiliki
arti sama seperti bagian b, yaitu tidak ada statement apapun yang akan dijalankan. Kesalahan
ini sangat sulit ditemukan karena tidak akan terlihat pada saat compile maupun runtime, hal
ini dikarenakan ini adalah kesalahan logika.
Kesalahan ini sering sekali terjadi dimana seharusnya = = menjadi = pada saat penulisan
kondisi. Pada contoh 1 terlihat bawah penulisan kondisi menjadi IF (even = true), ini
memiliki arti memberikan (assign) nilai true ke variable even. Hal ini mengakibatkan variable
even akan selalu bernilai true, walaupun Apabila pada statement sebelumnya diberikan nilai
false. Penulisan seharusnya dapat dilihat pada contoh 2 dan 3
If (even=true)
System.out.println("It is even.");
if (even)
if (even ==true)
System.out.println("It is even.");]
Pada contoh a terlihat bahwa terdapat 2 IF dengan satu ELSE. Dikarenakan penulisan ELSE
yang sejajar dengan IF pertama, maka sering kali dianggap Else tersebut merupakan milik
dari IF pertama. Namun sebenarnya adalah ELSE tersebut milik IF kedua. Else akan selalu
mengikuti IF terdekat. Sehingga penulisan pada b menjadi lebih baik.
Switch – Case Statement merupakan struktur kendali proses seleksi dimana statement
yang dikerjakan berdasarkan nilai dari variable pada switch. Pada metode ini akan
dibutuhkan operasi break sehingga statement dibawahnya tidak dijalankan tapi segera keluar
dari proses seleksi. Berikut merupakan struktur dari Switch – Case Statement.
switch(value_1)
{
case value_2 :
statement;
break;
case value_3 :
statement;
break;
default :
statement;
}
Contoh :
Output
Penjelasan
Contoh diatas untuk menampilkan warna berdasarkan variable day yang dimasukan
oleh user. Apabila day bernilai 1 , maka statement pada baris 10 yang akan
dijalankan.
Conditional Expression
Contoh :
int a = 10;
Operasi – operasi seleksi tersebut pada umumnya dapat dibagi menjadi beberapa
opeasiumum, yakni IF Statement, IF – ELSE Statement, Nested IF Statement, dan Switch –
Case Statement. Perbedaan yang mencolok tampak dari operasi dengan IF dan Switch – Case
dimana pada operasi seleksi dengan IF memungkinkan adanya operasi logika yang berupa
perbandingan, persamaan, dsb. Sedangkan, pada operasi seleksi dengan Switch – Case hanya
memungkinkan operasi seleksi dengan bentuk persamaan meskipun yang dibandingkan
terhadap banyak nilai.
5. http://www.javabeginner.com/java-control-statements.htm
6. http://users.dickinson.edu/~wahlst/356/ch8.pdf
7. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
8. https://www.tutorialspoint.com/java/switch_statement_in_java.htm
9. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html