Minggu, Agustus 10, 2014

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.java
$ java FallThrough
satu
dua fall-through
tiga fall-through
empat fall-through
default fall-through
$
Perhatikan 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 :
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:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda