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: Java Fundamental