Posted by : smkn1blitar
Jumat, 09 Januari 2015
Statement dalam source
file ( file sumber ) pada umumnya dijalankan dari atas ke bawah dalam
urutan kemunculan mereka. Control Flow Statement mampu memecah
aliran eksekusi dengan menggunakan pengambilan keputusan (decision )
, perulangan ( loop ), dan percabangan atau yang dikenal degan
istilahjump , sehingga memungkinkan program kita untuk dieksekusi
secara kondisional dengan blok kode tertentu. Bagian ini menjelaskan statement pengambilan
keputusan / decision statement (if-then, if-then-else,
switch), statementperulangan / loop statement (for,
while, do-while), dan jump statement (break, continue,
return) yang didukung bahasa pemrograman Java.
a. If-then,
if-then-else, dan switch statements ( decision statements
)
1) If-then
statement
If-then
statement adalah yang paling dasar dari semua control
flow statements. Ini memberitahu program kita untuk menjalankan bagian
tertentu dari kode hanya jika test tertentu bernilai true.
Misalnya, class Bicycle dapat memungkinkan rem untuk
mengurangi kecepatan sepeda itu hanya jika sepeda sudah bergerak. Contoh
penerapannya adalah sebagai berikut padamethodeapplyBrakes :
void
applyBrakes() {
//
the "if" clause: bicycle must be moving
if
(isMoving){
//
the "then" clause: decrease current speed
currentSpeed--;
}
}
Jika test ini
dievaluasi ke false (berarti bahwa sepeda tidak bergerak),
kontrol akan melompat ke akhir statement if-then.
Dalam
kasus ini, penggunaan braces ( { } ) bersifat opsional asalkan
setelahklausa “then” hanya berisi satu statement.
void
applyBrakes() {
//
same as above, but without braces
if
(isMoving)
currentSpeed--;
}
Menentukan
kapan harus menghilangkan braces adalah masalah selera
pribadi. Menghilangkan pemakaiannya dapat membuat kode lebih rapuh. Jika statement kedua
kemudian ditambahkan ke klausa "then", kesalahan umum akan lupa untuk
menambahkan brace baru yang diperlukan. Compilertidak
dapat menangkap kesalahan ini, kita hanya akan menerima hasil yang tidak
sesuai.
2) If-then-else
statements
If-then-else
statement menyediakan jalur sekunder eksekusi ketika
sebuah klausa "if" dievaluasi ke false. Kita bisa
menggunakan pernyataan if-then-else dalam metode applyBrakes untuk
mengambil beberapa tindakan jika rem diterapkan saat sepeda tidak bergerak.
Dalam hal ini, tindakannya adalah hanyauntuk mencetak pesan kesalahan yang
menyatakan bahwa sepeda telah berhenti.
void
applyBrakes() {
if
(isMoving) {
currentSpeed--;
}
else {
System.err.println("The
bicycle has " + "already stopped!");
}
}
Sebagai
contoh lain, program di bawah ini, IfElseDemo, memberikan grade
yang didasarkan pada nilai skor test A untuk skor 90% atau
lebih, B untuk skor80% atau lebih namun masih dibawah 90%, dan seterusnya.
class
IfElseDemo {
public
static void main(String[] args) {
int
testscore = 76;
char
grade;
if
(testscore >= 90) {
grade
= 'A';
}
else if (testscore >= 80) {
grade
= 'B';
}
else if (testscore >= 70) {
grade
= 'C';
}
else if (testscore >= 60) {
grade
= 'D';
}
else {
grade
= 'F';
}
System.out.println("Grade
= " + grade);
}
}
Output dari
program ini adalah:
Grade
= C
Kita
mungkin telah memperhatikan bahwa nilai testscore dapat memenuhi lebih dari
satu expression dalam statement majemuk: 76> = 70 dan 76> =
60. Namun, setelah kondisi terpenuhi, statement yang tepat dijalankan (grade
= 'C';) dan kondisi yang tersisa tidak dievaluasi.
3) Switch Statement
Berbeda
dengan statement if-then dan if-then-else, switch statement
dapat memiliki sejumlah jalur eksekusi yang memungkinkan. Switch dapat
bekerja dengan tipe data byte, short, char, dan int. Ia juga
mampu bekerja dengan tipe data enumerated, class String, dan
beberapa class khusus yang membalut tipe data primitif tertentu (
char, byte, short, dan Integer ).
Contoh
kode berikut, class SwitchDemo, dideklarasikan sebuh tipe data int yang
nilainya menyatakan bulan. Kode berikut menampilkan nama bulan tersebut,
berdasarkan nilai dari month, dengan menggunakan pernyataan switch.
public
class SwitchDemo {
public
static void main(String[] args) {
int
month = 8;
String
monthString;
switch
(month) {
case
1: monthString = "January";
break;
case
2: monthString = "February";
break;
case
3: monthString = "March";
break;
case
4: monthString = "April";
break;
case
5: monthString = "May";
break;
case
6: monthString = "June";
break;
case
7: monthString = "July";
break;
case
8: monthString = "August";
break;
case
9: monthString = "September";
break;
case
10: monthString = "October";
break;
case
11: monthString = "November";
break;
case
12: monthString = "December";
break;
default:
monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
}
Dalam
hal ini, August akan dicetak ke output standard.
Badan
statement switch dikenal sebagai switch block. Sebuah statement
di switch blok dapat diberi label dengan satu atau lebih case atau label
default. Statement switch mengevaluasi expression, kemudian
mengeksekusi semua statement yang mengikuti label case yang cocok.
Kita
juga bisa menampilkan nama bulan seperti kasus diatas dengan menggunakan statement
if-then-else:
nt
month = 8;
if
(month == 1) {
System.out.println("January");
}
else if (month == 2) {
}
... //
dan seterusnya
Memutuskan kapan penggunaan statement
if-then-else atau statement switch didasarkan pada pembacaan dan expression
bahwa statement tersebut bersifat pengujian. Sebuah statement
if-then-else dapat menguji expression berdasarkan beberapa nilai
atau kondisi, sedangkan pernyataan switch menguji expression yang
didasarkan hanya pada satu bilangan bulat, nilai enumerated, atau object
String.
Hal
lain yang menarik adalah statement break. Setiap statement break mengakhiri
lampiran pernyataan switch. Control Flow berlanjut dengan statement
pertama setelah blok switch. Statement break diperlukan
karena tanpa mereka, statement dalam blok switch mengalir melalui
semua statement setelah label case yang di cocokkan secara berurutan,
terlepas dari expression label case berikutnya, sampai statement break
ditemui.
Related Posts :
- Back to Home »
- Konstruksi Fundamental / Flow Control ( Selection/Decision dan Looping )
