Pada kesempatan kali ini saya akan membahas tentang percabangan if, if-else, dan switch.

Percabangan adalah pernyataan yang mengizinkan user untuk memilih dan mengeksekusi blok kode spesifik sesuai kondisi yang telah ditentukan dan mengabaikan blok kode yang lain. percabangan ini tidak hanya terdapat pada java saja, tetapi juga pada bahasa pemrograman lain seperti bahasa C, PHP, Python, dan lainnya.

Percabangan terbagi menjadi 3 yaitu :
  • if
  • if-else
  • switch

Percabangan if

          Pernyataan if digunakan untuk menentukan sebuah statement(pernyataan) yang akan dieksekusi jika dan hanya jika persyaratan bernilai benar(true), jika pernyataan tersebut bernilai salah maka akan diabaikan.
Bentuk dari percabangan if seperti berikut :
          if(boolean_expression) statement; 

atau

          if(boolean_expression){
                  statement1;
                  statement2;
                  statementn;
          }

dimana : 
      boolean_expression = pernyataan logika yang bernilai true atau false

Flowchart percabangan if
Contoh programnya seperti berikut :
public class Pernyataanif{
    public static void main(String args[]){
        Byte grade = 80;
        if ( grade > 70 ) System.out.println("Selamat Anda Lulus!");
    }
}


public class Pernyataanif{
    public static void main(String args[]){
        Byte grade = 80;
        if ( grade > 70 ){
            System.out.println("Selamat Anda Lulus");
            System.out.println("Dengan nilai "+grade+"!");
        }
    }
}

Percabangan if-else

          Pernyataan if - else digunakan untuk menentukan dua kondisi alur program, jika pernyataan(if) bernilai benar(true), maka pernyataan tersebut akan dieksekusi. namun jika pernyataan itu bernilai false maka pernyataan yang lain(else) yang akan dieksekusi.
Bentuk dari pernyataan if-else sebagai berikut :
          if(boolean_expression)
                   statementif;
          else
                   statementelse;
atau
          if(boolean_expression){
                   statementif;
          }
          else{
                   statementelse;
          }
Flowchart if-else
Contoh programnya seperti berikut :

public class Pernyataanifelse{
    public static void main(String args[]){
        Byte grade = 60;
        if ( grade > 80 )
            System.out.println("Selamat Anda Lulus");
        else
            System.out.println("Anda Tidak Lulus");
        
    }
}

public class Pernyataanifelse{
    public static void main(String args[]){
        Byte grade = 60;
        if ( grade > 80 ){
            System.out.println("Selamat Anda Lulus");
            System.out.println("Karena nilai Anda "+grade+"!");
        }else{
            System.out.println("Anda Tidak Lulus");
            System.out.println("Karena nilai Anda "+grade+"!");
        }
    }
}

lalu ada juga 

Percabangan if - else if

          Bentuk pernyataan ini digunakan untuk menentukan beberapa kondisi alur program, dimana jika kondisi pertama bernilai benar blok statement pertama lah yang akan dieksekusi, jika kondisi kedua yang bernilai benar maka blok statement kedua yang akan dieksekusi, begitu juga dengan kondisi2 yang lain, namun jika semua kondisi bernilai salah maka else lah yang akan di eksekusi.
Bentuk dari pernyataan if-else if :
          if(boolean_expression1){
               statementke-1;
          }else if (boolean_expression2){
               statementke-2;
          }else if (boolean_expressionn){
               statementke-n;
          }else{
               statementelse
          }
Blok else bersifat opsional dan dapat dihilangkan. 
Contoh programnya seperti berikut :

public class Pernyataanifelseif{
    public static void main(String args[]){
        Byte grade = 60;
        if ( grade == 100 ) {
            System.out.println("Selamat Anda Lulus dengan Kategori Sempurna!");
            System.out.println("Karena nilai Anda "+grade+"!");
        }
        else if ( grade >= 95 ) {
            System.out.println("Selamat Anda Lulus dengan Kategori Sangat Memuaskan!");
            System.out.println("Karena nilai Anda "+grade+"!");
        }
        else if ( grade >= 90 ) {
            System.out.println("Selamat Anda Lulus dengan Kategori Memuaskan!");
            System.out.println("Karena nilai Anda "+grade+"!");
        }
        else if ( grade >= 80 ) {
            System.out.println("Selamat Anda Lulus dengan Kategori Baik!"); 
            System.out.println("Karena nilai Anda "+grade+"!");
        }
        else {
            System.out.println("Maaf Anda Belum Lulus!"); 
            System.out.println("Karena nilai Anda "+grade+"!");
        }
    }
}

Percabangan switch

          Bentuk percabangan switch ini digunakan untuk menangani percabangan yang memiliki banyak kondisi, yang mana ini hampir sama dengan bentuk if - else if.
Bentuk dari percabangan switch :
          switch(switch_expression){
               case case_selectorke-1:
                    statement1;
                    statement2;
                    ........
                    break;
               case case_selectorke-2:
                    statement1;
                    statement2;
                    ........
                    break;
               case case_selectorke-n:
                    statement1;
                    statement2;
                    ........
                    break;
               default:
                    statement1;
                    statement2;
                    ........
                    break;
          }

Flowchart switch
Contoh program switch :

import java.io.*;

public class Pernyataanswitch{
    public static void main(String args[]){ BufferedReader dataIn = new BufferedReader(new
        InputStreamReader(System.in));
        String angkastring = "";
        byte angka = 0;

        System.out.print("Ketik angka 0..5 : ");

        try{
        angkastring = dataIn.readLine();
        }
        catch( IOException e ){
        System.out.println("Ada kesalahan !");
        }
//Konversi nilai string ke Byte

        angka = new Byte (angkastring);

        switch (angka){
            case 0: 
                System.out.println("Angka yang diketik adalah nol"); 
                break;
            case 1: 
                System.out.println("Angka yang diketik adalah satu"); 
                break;
            case 2: 
                System.out.println("Angka yang diketik adalah dua"); 
                break;
            case 3: 
                System.out.println("Angka yang diketik adalah tiga"); 
                break;
            case 4: 
                System.out.println("Angka yang diketik adalah empat"); 
                break;
            case 5: 
                System.out.println("Angka yang diketik adalah lima"); 
                break;
            default: 
                System.out.println("Angka yang diketik tidak sesuai");
        }
    }
}