Kontrol Aliran Data
Dalam sebuah aplikasi kontrol aliran eksekusi menjadi feature yang paling penting di hampir semua bahasa pemrograman. Namun di Java sendiri ada beberapa cara untuk melakukkan kontrol terhadap aliran eksekusi dari sebuah aplikasi. Contohnya adalah if dan Switch, keduanya adalah kontrol yang paling sering di gunakan dalam membuat aplikasi java. Namun selain itu di Java juga memiliki mekanisme Exception yang bisa mempengaruhi aliran eksekusi.
if
=> Intruksi if di gunakan untuk mengatur aliran eksekusi dengan berdasarkan pada kondisi tertentu. Biasanya penggunaan if selalu melibatkan operator kondisi.
//contoh penggunaan if int nilai = 8; if(nilai > 8) //operator kondisi { ///tanda awal kode yang akan di eksekusi jika kondisi di atas adal true System.out.println("Sangat Baik"); //lakukan sesuatu di sini } //akhir
=> Penggunaan if juga dapat di rangkai untuk mengecek beberapa kondisi dengan menggunakan perintah else if
int nilai = 8; if(nilai > 8){ System.out.println("Sangat Baik"); //lakukan sesuatu di sini } else if(nilai > 6){ System.out.println("Baik"); //lakukan sesuatu di sini } else if(nilai > 4){ System.out.println("cukup"); //lakukan sesuatu di sini }
=> if juga biasanya di gabungkan dengan else dimana perintah else ini akan di eksekusi jika kondisi yang ada di dalam if bernilai false
int nilai = 8; if(nilai > 8){ System.out.println("Sangat Baik"); //lakukan sesuatu di sini } else if(nilai > 6){ System.out.println("Baik"); //lakukan sesuatu di sini } else if(nilai > 4){ System.out.println("cukup"); //lakukan sesuatu di sini } else{ System.out.println("kurang"); //lakukan sesuatu di sini }
=>Penggunaan if secara bertumpuk
int nilai = 8; if(nilai > 8){ if (nilai == 9){ System.out.println("Sangat Baik"); //lakukan sesuatu di sini } else if(nilai == 10){ System.out.println("Sangat Baik Sekali"); //lakukan sesuatu di sini } } else if(nilai > 6){ if (nilai == 7){ System.out.println("Baik"); //lakukan sesuatu di sini } else if(nilai == 8){ System.out.println("Bagus"); //lakukan sesuatu di sini } } else if(nilai > 4){ if (nilai == 6){ System.out.println("cukup"); //lakukan sesuatu di sini } else if(nilai == 5){ System.out.println("hampir cukup"); //lakukan sesuatu di sini } } else{ if (nilai == 4){ System.out.println("kurang"); //lakukan sesuatu di sini } else if(nilai == 3){ System.out.println("sangat kurang"); //lakukan sesuatu di sini } else if(nilai == 2){ System.out.println("buruk"); //lakukan sesuatu di sini } else if(nilai == 1){ System.out.println("sangat buruk"); //lakukan sesuatu di sini } }
Switch
Switch biasanya digunakan kalau kita ingin mengevaluasi nilai dari sebuah variabel yang
mempunyai banyak kemungkinan. Bentuk sintaks switch lebih singkat dan bersih dibanding kalau
menggunakan if-else if-else. Hingga Java 6 switch hanya bisa digunakan kalau variabelnya bertipe
angka atau enum. Berikut ini bentuk dasar dari switch :
int nomor = 5; switch(nomor){ case 1: System.out.println("satu"); break; case 2: System.out.println("dua"); break; case 3: System.out.println("tiga"); break; default: System.out.println("bukan semuanya"); }
Dalam switch terdapat konsep yang disebut denga fall-through, konsep ini kalau kita
bayangkan mirip dengan efek domino, kalau kartu pertama rubuh akan menimpa kartu
berikutnya menimpa kartu berikutnya lagi seterusnya hingga ada yang menghentikan efek
dominonya. Lihat kode di atas, terdapat keyword break yang digunakan untuk menghentikan
fall-through. Kalau kita hilangkan break dari kode di atas, maka kalau ada satu kondisi dari
case yang dipenuhi maka kode di dalam case di bawahnya akan terus dieksekusi hingga
ketemu break atau blok kode switch berakhir.
Agar memudahkan pemahaman tentang fall-through ini, coba buat kode seperti di bawah ini
dan coba eksekusi kodenya:
public class FallThrough{ public static void main(String[] args){ int x = 1; switch(x){ case 1 : System.out.println("satu"); case 2 : System.out.println("dua fall-through"); case 3 : System.out.println("tiga fall-through"); case 4 : System.out.println("empat fall-through"); default : System.out.println("default fall-through"); } } }Hasil nya:
$ javac FallThrough.javaPerhatikan bahwa setelah kondisi di case benar, maka semua kode di dalam case akan dieksekusi hingga ketemu break atau blok kode switch berakhir. Kalau kita ubah sedikit kode di atas dengan meletakkan break di dalam case 1 seperti di bawah ini :
$ java FallThrough
satu
dua fall-through
tiga fall-through
empat fall-through
default fall-through
$
public class FallThrough{ public static void main(String[] args){ int x = 1; switch(x){ case 1 : System.out.println("satu"); break; //stop fall-through dan keluar dari switch case 2 : System.out.println("dua fall-through"); break; case 3 : System.out.println("tiga fall-through"); break; case 4 : break; System.out.println("empat fall-through"); default : System.out.println("default fall-through"); } } }Hasilnya:
$ javac FallThrough.java
$ java FallThrough
satu
$
if dan switch adalah flow control yang digunakan kalau aplikasi berjalan dengan baik, artinya flow control oleh if dan switch digunakan untuk mengendalikan aliran eksekusi aplikasi kalau selama berjalan seperti yang dikehendaki. Java mempunyai cara untuk mengontrol aliran aplikasi kalau
terjadi error di dalam aplikasi, namanya adalah exception. Kita belajar apa itu exception di artikel
berikutnya.
Label: Java Fundamental
0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda