Struktur Kontrol

Pada java terdapat struktur kontrol yang bertujuan untuk menentukan urutan statement yang akan dieksekusi, struktur kontrol tersebut dapat berupa keputusan, pengulangan dan statement percabangan.
  1. Struktur kontrol keputusan ( if, else, switch )
    Struktur kontrol keputusan ini digunakan untuk memilih statement/aksi pada blok kode yang akan dieksekusi dan mengabaikan statement/aksi pada blok kode yang lain.
    1. Statement if
      Statement if akan mengeksekusi aksi jika kondisi bernilai benar, Bentuk statement  if  :
         if (kondisi)
              aksi;

      atau
         if (kondisi){
             aksi1;
             aksi2;
              . . . . . .
          }
    2. Statement if else
      Statement if else akan mengeksekusi aksi jika kondisi bernilai benar dan mengeksekusi aksi yang lain jika kondisi if salah. Bentuk statement  if else :
          if (kondisi)
              aksi1;
          else
              aksi2;

      atau
          if (kondisi){
              aksi1;
              aksi2;
             }
          else{
              aksi3;
              aksi4;
            }
    3. Statement if else if
      Statement ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks. Jika kondisi1 bernilai benar maka program akan mengeksekusi aksi1dan melewati kondisi2 dan lainnya, jika kondisi1 bernilai salah dan kondisi2 bernilai benar maka program akan melewati aksi1 serta mengeksekusi aksi2, demikian seterusnya, dan jika kondisi1 dan kondisi lainnya bernilai salah maka aksi3 lah yang akan dieksekusi. Bentuk statement  if else if  :
           if (kondisi1)
               aksi1;
           else if(kondisi2)
               aksi2;
                  .
                  .
                  .

           else
               aksi3;

      atau
            if (kondisi1){
                aksi1;
                aksi2;
            }
            else if (kondisi2){
                      aksi3;
                      aksi4;
            }
                         .
                         .
                         .

            else{
                     aksi5;
                     aksi6;
            }
    4. Statement Switch
      Switch digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Biasanya penggunaan switch berkaitan dengan menu, dimana apabila menu kondisi1 dipilih, maka switch akan menjalankan blok dari aksi1, lalu apabila menu kondisi2 dipilih, maka switch akan menjalankan blok dari aksi2, demikian seterusnya. Bila tidak memenuhi kriteria menu case manapun, switch akan menjalankan blok default. Bentuk statement  switch  :
          switch( expression ){
                       case kondisi1:
                                       aksi1;
                                       break;
                       case kondisi2:
                                       aksi2;
                                       break;
                                    .
                                    .
                                    .

                       default:
                                       aksi3;
                                       break;
          }

      Contoh struktur kontrol keputusan :
    Source
    /*
     *  StrukturKontrolKeputusan.java
     *  http://trijaruto.blogspot.com
     */
    
    public class StrukturKontrolKeputusan {
    
     public static void main(String[] args) {
      System.out.println("   Struktur Kontrol Keputusan");
      System.out.println("   --------------------------");
      System.out.println();
      System.out.println("1. Statement if");
      int aif = 7;
      System.out.println("   aif = " + aif);
      if (aif > 0)
       System.out.println("   Bilangan Positif");
    
      System.out.println("   atau :");
    
      if (aif > 0){
       System.out.println("   Bilangan Positif");
       System.out.println("   Bilangan Positif");
      }
    
      System.out.println();
      System.out.println("2. Statement if else");
    
      int nilai = 40;
      System.out.println("   nilai = " + nilai);
      if (nilai > 60)
      System.out.println("   Nilai anda " +nilai+ " ' Lulus '");
      else
      System.out.println("   Nilai anda " +nilai+ " ' Anda Tidak Lulus '");
      
      System.out.println("   atau :");
      
      if (nilai > 60){
       System.out.println("   Nilai anda " +nilai);
       System.out.println("   Anda Lulus ");
      }
      else{
       System.out.println("   Nilai anda " +nilai);
       System.out.println("   Anda Tidak Lulus ");
      }
      
      System.out.println();
      System.out.println("3. Statement if else if");
      int nilaiujian = 75;
      System.out.println("   nilaiujian = " + nilaiujian);
      if (nilaiujian >= 80)
       System.out.println("   Anda Mendapatkan Nilai A");
      else if ((nilaiujian >= 70) && (nilaiujian <= 79))
       System.out.println("   Anda Mendapatkan Nilai B");
      else
       System.out.println("   Anda Mendapatkan Nilai C");
    
      System.out.println("   atau :");
    
      if (nilaiujian >= 80){
       System.out.println("   Nilai ujian anda " +nilaiujian);
       System.out.println("   Anda Mendapatkan Nilai A");
      }
      else if ((nilaiujian >= 70) && (nilaiujian <= 79)){
       System.out.println("   Nilai ujian anda " +nilaiujian);
       System.out.println("   Anda Mendapatkan Nilai B");
      }
      else{
       System.out.println("   Nilai ujian anda " +nilaiujian);
       System.out.println("   Anda Mendapatkan Nilai C");
      }
      
      System.out.println();
      System.out.println("4. Statement switch");
      int nilaibulan = 7;
      System.out.println("   nilai bulan = " +nilaibulan);
      switch(nilaibulan){
       case 1 : System.out.println("   Bulan Januari"); 
          break;
       case 2 : System.out.println("   Bulan Februari"); 
           break;
       case 3 : System.out.println("   Bulan Maret"); 
           break;
       case 4 : System.out.println("   Bulan April"); 
           break;
       case 5 : System.out.println("   Bulan Mei"); 
           break;
       case 6 : System.out.println("   Bulan Juni"); 
           break;
       case 7 : System.out.println("   Bulan Juli"); 
           break;
       case 8 : System.out.println("   Bulan Agustus"); 
           break;
       case 9 : System.out.println("   Bulan September"); 
           break;
       case 10 : System.out.println("   Bulan Oktober"); 
             break;
       case 11 : System.out.println("   Bulan November"); 
             break;
       case 12 : System.out.println("   Bulan Desember"); 
             break;
        default : System.out.println("   Bukan Nilai Bulan"); 
      } 
     }
    }
    
    Output :
    
      Struktur Kontrol Keputusan
       --------------------------
    
    1. Statement if
       aif = 7
       Bilangan Positif
       atau :
       Bilangan Positif
       Bilangan Positif
    
    2. Statement if else
       nilai = 40
       Nilai anda 40 ' Anda Tidak Lulus '
       atau :
       Nilai anda 40
       Anda Tidak Lulus 
    
    3. Statement if else if
       nilaiujian = 75
       Anda Mendapatkan Nilai B
       atau :
       Nilai ujian anda 75
       Anda Mendapatkan Nilai B
    
    4. Statement switch
       nilai bulan = 7
       Bulan Juli
    Download Source :
    StrukturKontrolKeputusan.java

  2. Statement kontrol pengulangan ( for, while dan do-while )
    Struktur kontrol pengulangan adalah dari Java dimana kita bisa mengeksekusi blok code berulang-ulang sampai tercapai kondisi untuk menghentikannya (terminasi). Setiap perulangan memiliki empat bagian, yaitu inisialisasi, badan program, iterasi,dan terminasi. Inisialisasi adalah program yang menyiapkan keadaan awal perulangan. Badan program adalah pernyataan yang ingin kita ulangi. Iterasi adalah program yang kita jalankan setelah badan program, tetapi sebelum bagian tersebut dijalankan lagi. Terminasi adalah pernyataan boolean yang diperiksa setiap kali selama perulangan untuk melihat apakah sudah waktunya menghentikan eksekusi.
    1. Statement for
      Pengulangan for melakukan inisialisasi sebelum iterasi/loop pertama, kemudian melakukan tes kondisional dan pada akhir dari tiap iterasi melakukan penambahan atau pengurangan pada variabel step yang digunakan sebagai basis pengkondisian untuk perulangan. Bentuk statement for :
                   for ( inisialisasi; kondisi ; step ){
                                aksi;
                   }
      dimana,  
      inisialisasi   :   inisialisasi dari variabel loop
      kondisi      :   membandingkan kondisi variabel loop  
      step           :   melakukan update penambahan atau pengurangan pada variabel loop
    2. Statement while
      Pada statement pengulangan while akan terus melakukan perulangan jika kondisi ekspresi boolean bernilai benar atau true. Bentuk statement while :
                       while( kondisi ){
                                  aksi1;
                                  aksi2;
                                   . . .
                                  step;
                       }
    3. Statement do while
      Do while memiliki urutan yang terbalik dibandingkan dengan while dan memiliki perbedaan utama, yaitu : bahwa pada do while pernyataan dijalankan terlebih dahulu minimal satu kali, sedangkan pada while memungkinkan pernyataan sama sekali tidak dijalankan apabila kondisi ekepresi boolean pada saat pertama kali sudah salah. Bentuk do while :
                       do{
                              aksi1;
                              aksi2;
                              . . .
                              step;
                           }while( kondisi );


      Contoh struktur kontrol pengulangan :
    Source
    /*
     *  StrukturKontrolPengulangan.java
     *  http://trijaruto.blogspot.com
     */
    
    public class StrukturKontrolPengulangan {
     
     public static void main(String[] args) {
      System.out.println("   Struktur Kontrol Pengulangan");
      System.out.println("   --------------------------");
      System.out.println();
      System.out.println("1. Statement for");
      System.out.println("   Mencetak Angka 1 sampai 10");
      int i;
      for (i = 1; i <= 10 ; i++){
       System.out.println("   " +i);
      }
      
      System.out.println();
      System.out.println("2. Statement while");
      System.out.println("   Mencetak kata 'Java' sebayak 10 kali");
      int j = 10;
      while(j>=1){
       System.out.println("   " +j+ " Java");
       j--;
      }
      
      System.out.println();
      System.out.println("3. Statement do while");
      System.out.println("   Mencetak kata 'Java' sebayak 10 kali");
      int k = 1;
      do {
       System.out.println("   " +k+ " Java");
       k++;
      }while(k<=10);
     }
    }
    
    Output :
    
       Struktur Kontrol Pengulangan
       --------------------------
    
    1. Statement for
       Mencetak Angka 1 sampai 10
       1
       2
       3
       4
       5
       6
       7
       8
       9
       10
    
    2. Statement while
       Mencetak kata 'Java' sebayak 10 kali
       10 Java
       9 Java
       8 Java
       7 Java
       6 Java
       5 Java
       4 Java
       3 Java
       2 Java
       1 Java
    
    3. Statement do while
       Mencetak kata 'Java' sebayak 10 kali
       1 Java
       2 Java
       3 Java
       4 Java
       5 Java
       6 Java
       7 Java
       8 Java
       9 Java
       10 Java
    
    Download Source :
    StrukturKontrolPengulangan.java

  3. Statement percabangan
    Statement percabangan berfungsi untuk mengatur jalannya eksekusi program, terdapat tiga bentuk percabangan didalam java.
    1. Statement break
      Fungsi break adalah untuk menghentikan eksekusi sebuah blok program, dan memaksa keluar dari sebuah pengulangan. Statement break memiliki dua bentuk yaitu unlabeled dan labeled.
      1. Unlabeled break
        Unlabeled bisa digunakan pada for, do while dan while untuk menghentikan pengulangan.

        Contoh unlabeled break :
        Source
        *
         *  HelloWorld.java
         *  http://trijaruto.blogspot.com
         */
        
        public class BreakUnlabeled {
         public static void main(String[] args) {
          String names[] = {"Adi", "Budi", "Dodi", "Ema",
           "Tri", "Sari", "Vera", "Willi"};
           String searchName = "Tri";
           boolean foundName = false;
           for( int i=0; i < names.length; i++ ){
            if( names[i].equals( searchName )){
             foundName = true;
             break;
            }
           }
            
           System.out.println("   Unlabeled Break");
           System.out.println("   ---------------");
           if( foundName ){
            System.out.println("   " + searchName + "   Ditemukan" );
            }
           else{
            System.out.println("   " + searchName + "   Tidak Ditemukan" );
           }
         } 
        }
        
        Output :
        
           Unlabeled Break
           ---------------
           Tri   Ditemukan
        
        Download Source :
        BreakUnlabeled.java

      2. Labeled break
        Labeled break akan menghentikan statement luar, dimana diidentifikasikan berupa label pada statement break. Program berikut ini akan mencari nilai dalam array dua dimensi. Terdapat dua pengulangan bersarang (nested loop). Ketika sebuah nilai ditemukan, labeled break akan menghentikan statement yang diberi label searchLabel, dimana label ini berada di luar.

        Contoh labeled break
        Source
        /*
         *  BreakLabeled.java
         *  http://trijaruto.blogspot.com
         */
        
        public class BreakLabeled {
         public static void main(String[] args) {
          int numbers[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
          int searchNum = 7;
          boolean foundNum = false;
            
          searchLabel:
          for( int i=0; i < numbers.length; i++ ){
           for( int j=0; j < numbers[i].length; j++ ){
            if( searchNum == numbers[i][j] ){
             foundNum = true; break searchLabel;
             }
            }
           }
          
          System.out.println("   Labeled Break");
          System.out.println("   ---------------");  
          if( foundNum ){
           System.out.println("   " + searchNum + " Ditemukan" );
          }
          else{
           System.out.println("   " + searchNum + " Tidak Ditemukan" );
           }
         }
        }
        
        Output :
        
           Labeled Break
           -------------
           7 Ditemukan
        
        Download Source :
        BreakLabeled .java

    2. Statement continue
      Fungsi continueadalah untuk melewati pengulangan dari for, while, atau do-while loop yang sedang berjalan. Statement continue memiliki dua bentuk yaitu unlabeled dan labeled.
      1. Unlabeled continue
      2. Bentuk unlabeled akan melewati akhir statement pada bagian yang dalam dan memeriksa boolean expression yang mengkontrol loop, pada dasarnya akan melewati bagian pengulangan pada loop.

        Contoh Unlabeled continue
        Source
        /*
         *  ContinueUnlabeled.java
         *  http://trijaruto.blogspot.com
         */
        public class ContinueUnlabeled {
          public static void main(String[] args) {
           String names[] = {"Tri", "Budi", "Ani", "Tri", "Tri"};
            int jumlah = 0;
            for( int i=0; i < names.length; i++ ){
             if( !names[i].equals("Tri") ){
              continue; 
             }
             jumlah++;
            }
            System.out.println("   Labeled Continue");
           System.out.println("   ----------------");
            System.out.println("   Ada " + jumlah + " Tri didalam list");
         }
        }
        
        Output :
        
         Labeled Continue
           ----------------
           Ada 3 Tri didalam list
        
        
        Download Source :
        ContinueUnlabeled.java
      3. Labeled continue
      4. Bentuk labeled continue akan melanjutkan sebuah statement dengan melewati pengulangan yang sedang berjalan dari loop terluar yang diberi label/tanda

        Contoh Labeled continue
        Source
        /*
         *  ContinueLabeled.java
         *  http://trijaruto.blogspot.com
         */
        public class ContinueLabeled {
        
         public static void main(String[] args) {
          outerLoop:
           for( int i=0; i<5; i++ ){
            System.out.println(); 
            for( int j=0; j<5; j++ ){
             System.out.println("   Inside for( J = "+j+") loop");
             if( j == 3 ) continue outerLoop;  
            }
            System.out.println("   Inside for("+i+") loop");  
           }
         }
        }
        
        Output :
        
           Inside for( J = 0) loop
           Inside for( J = 1) loop
           Inside for( J = 2) loop
           Inside for( J = 3) loop
        
           Inside for( J = 0) loop
           Inside for( J = 1) loop
           Inside for( J = 2) loop
           Inside for( J = 3) loop
        
           Inside for( J = 0) loop
           Inside for( J = 1) loop
           Inside for( J = 2) loop
           Inside for( J = 3) loop
        
           Inside for( J = 0) loop
           Inside for( J = 1) loop
           Inside for( J = 2) loop
           Inside for( J = 3) loop
        
           Inside for( J = 0) loop
           Inside for( J = 1) loop
           Inside for( J = 2) loop
           Inside for( J = 3) loop
        
        Download Source :
        ContinueLabeled.java
    3. Statement return
    4. Statement return digunakan untuk keluar dari sebuah fungsi (method). Statement return memiliki dua bentuk: menggunakan sebuah nilai, dan tidak memberikan nilai.
      Contoh return
      Source
      /*
       *  StatementReturn.java
       *  http://trijaruto.blogspot.com
       */
      public class StatementReturn { 
       
       public StatementReturn(){
        
        System.out.println("   Statement Return ");
        System.out.println("   -----------------");
        System.out.println();
        System.out.println(this.getReturn());
        System.out.println();
        System.out.println(this.getReturn1());
       }
       
       public String getReturn(){ 
        String rtrn = "Hallo Java";
        return rtrn;
       }
       
       public int getReturn1(){
        int a = 7;
        return a;
       }
       
       public static void main(String[] args) {
        StatementReturn stmntReturn = new StatementReturn();
       }
      }
      
      Output :
      
      Statement Return 
         -----------------
      
         Hallo Java
      
         7
      
      Download Source :
      StatementReturn.java

    0 komentar:

    Posting Komentar

    More