Anda di halaman 1dari 14

LECTURE NOTES

COMP6598
Introduction to Programming

Minggu 4

Sesi 5

Selection

COMP6598 – Introduction to Programming


LEARNING OUTCOMES

1. LO3 : Peserrta diharapkan dapat mengaplikasikan bahasa pemrograman JAVA dalam


penyelesaian masalah

OUTLINE MATERI(Sub-Topic):

• If Statements

• Two way if else statement

• Nested If and Multi way if - else statement

• Common errors in selection statement

• Switch Statements

• Exercise (Discussion Forum 4 & Team assignment 2)

COMP6598 – Introduction to Programming


ISI MATERI
Selection Control Structure (Pemilihan)

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 Statement merupakan bentuk struktur kendali yang paling


sederhana dimana proses didalam seleksi baru akan dijalankan
apabila kondisi terpenuhi (bernilai true). Bentuk alur logika dari IF
Statement digambarkan oleh flowchart berikut. Dari diagram
flowchart disebelah terlihat bahwa proses dalam seleksi baru akan
dijalankan apabila kondisi bernilai true, jika tidak maka proses akan
tetap dilanjutkan namun tanpa menjalankan proses didalam seleksi
tersebut.Beriku tmerupakan struktu rIF Statement pad apemrograman Java.

if (Condition)

Statement1;

Statement2;

COMP6598 – Introduction to Programming


Contoh1 :

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

IF – ELSE Statement merupakan struktur kendali pada


proses seleksi yang memungkinkan adanya proses tambahan
apabila kondisi pada proses seleksi bernilai salah sehingga baik
kondisi bernilai maupun false masing – masing kondisi akan
memiliki proses tersendiri untuk dijalankan. Berikut merupakan
struktur IF – ELSE Statement pada pemrograman Java.

COMP6598 – Introduction to Programming


If(condition)
{
//statement1a;
//statement2a;
}
else
{
//statement1b;
//statement2b;
}
Contoh

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

COMP6598 – Introduction to Programming


dijalankan. Namun apabila kondisi tersebut tidak dipenuhi (bernilai False), maka
statement setelah else yang akan dijalankan

 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
{
}

COMP6598 – Introduction to Programming


}

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

COMP6598 – Introduction to Programming


 Contoh lainnya Apabila number diberikan nilai -24, maka IF pertama akan bernilai
False, sehingga dilanjutkan ke IF berikutnya 10. Dikarenakan -24 < 0, maka baris 11
akan dijalankan sehingga tercetak -24 is negative number

Common Error in Selection

Kesalahan yang umum pada saat melakukan Struktur Kendali Pemilihan adalah :

1. Terlupa menempatkan tanda kurung

2. Mengakhiri statement IF pada tempat yang salah

3. Salah menuliskan == menjadi =

4. Penempatan else yang tidak sesuai (dangling else clause)

Terlupa menempatkan tanda kurung kurawal

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.

COMP6598 – Introduction to Programming


Mengakhiri statement IF pada tempat yang salah

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.

Salah menulisakan = = menjadi =

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

Contoh 1 Penulisan yang salah :

If (even=true)

System.out.println("It is even.");

Contoh 2 Penulisan yang benar :

if (even)

COMP6598 – Introduction to Programming


System.out.println("It is even.");

Contoh 3 Penulisan yang benar :

if (even ==true)

System.out.println("It is even.");]

Kesalahan penempatan ELSE (Dangling ELSE Clauses)

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

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;

COMP6598 – Introduction to Programming


….

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.

 Operasi break diperlukan agar tidak menjalankan statement – statement berikutnya


yang tidak diperlukan.

COMP6598 – Introduction to Programming


 Apabila kesemua nilai tersebut tidak memenuhi maka statement pada default yang
akan dijalankan.

Conditional Expression

Condition Expression merupakan operasi kondisional yang terdiri dari 3 operator


biasa disebut sebagai ternary operator. Operasi ini akan langsung mengembalikan nilai jika
kondisi terpenuhi maupun jika kondisi tidak terpenuhi. Struktur control pada seleksi ini
adalah sebagai berikut.

(condition ?Value_if_true :value_if_false);

Contoh :

int a = 10;

int b = (a%2==0 ? a : a+1);

COMP6598 – Introduction to Programming


SIMPULAN

Operasi – operasi seleksi pada pemrograman Java dimungkinkan dengan adanya


Struktur Kendala Pemilihan

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.

Pada saat penulisan Struktur kendali pemilihan khususnya IF – ELSE harus


diperhatikan dengan baik agar tidak terjadi kesalahan yang sering dilakukan oleh
programmer.

COMP6598 – Introduction to Programming


DAFTAR PUSTAKA

1. Introduction to Java Programming. 9ed. Liang. 2013. Chapter 3

2. Java Software Solutions. 5ed. Lewis & Loftus. 2007. p238-262

3. The Complete Reference Java. 5ed. Herbert Schildt. 2005. p77-84

4. Java 2 Weekend Crash Course. Julio. 2002. Ch 8

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

COMP6598 – Introduction to Programming

Anda mungkin juga menyukai