Array

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks.
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

                                int number1 = 1;
                                int number2 = 2;
                                int number3 = 3;


Seperti contoh diatas, inisialisasi untuk menggunakan variabel, terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat membingungkan. Java memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

Array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa elemen, dan menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

Pendeklarasian Array

Pendeklarasian array layaknya pendeklarasian variabel lainnya, perbedaannya adalah ada tanda [ ] di akhir tipe data atau setelah inditifer tipe data. Contoh :

                                  int [ ] bilangan;
                                  String [ ]  nama;
                                  boolean [ ] pilihan;
                                  double [ ] jumlah;

atau 

                                  int bilangan [ ];
                                  String nama[ ];
                                  boolean pilihan[ ];
                                  double jumlah[ ];
Setelah mendeklarasikan array, perlu mendefinisikan atau menentukan ukuran array yang dinginkan (instantiate).   Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefinisikan, contoh :

                                  int bilangan [ ] = new int [10];
                                  String nama [ ] = new String [10]; 
                                  boolean pilihan[ ] = new boolean[10]; 
                                  double jumlah[ ] = new jumlah[10];  

Contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa identifier bilangan akan digunakan sebagai nama array yang berisi data-data integer, dan kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari 10 elemen.
Selain meng-instantiate sebuah array, bisa juga lakukan dengan  mendeklarasikan array, membangunnya, dan kemudian memberikan sebuah value. Contoh :

                                   int bilangan[ ] = {1,2,3,4,5};
                                   String nama[ ] = {"Tri","Budi","Fani","Toni","Iwan"};
                                   boolean pilihan[ ] = {true,false};
                                   double bilangan[ ] = {3.14,3.5,1.5,7.0};

Pengaksesan  Array

Untuk mengakses sebuah elemen dalam array harus menggunakan nomor atau index, index telah diberikan kepada tiap anggota array sehingga kita dapat mengakses sebuah nilai value pada array.  
Index mempunyai nilai tipe data integer, dimulai dari nol dan akan terus bertambah sampai list value array berakhir(ukuran array-1). Contoh :

                                     int bilangan[ ] = {1,2,3,4,5};
                                     System.out.println(bilangan[0]); 

                                    String nama[ ] = {"Tri","Budi","Fani","Toni","Iwan"};
                                    System.out.println(nama[2]);

Panjang Array

Untuk mengetahui berapa banyak element didalam sebuah array, Anda dapat menggunakan length (panjang) field dalam array . Contoh :
                                 
                                    public class PanjangArray{
                                              public static void main(String[] args) {
                                                         int bilangan[ ] = {1,2,3,4,5};
                                                         System.out.println("Panjang Array : " +bilangan.length);
                                                          for (int i=0 ; i < bilangan.length ; i++){
                                                         System.out.println("Array index " +i+ " : "+bilangan[i]);
                                                         }
                                               }
                                     }


Download Source :
PanjangArray.java


Array Multidimensi

Array multidimensi diimplementasikan sebagai array didalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array. Contoh :

                                      public class MultidimensiArray{
                                           public static void main(String[] args) {
                                                 int bilangan[][] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
                                                 System.out.println("Panjang Array : " +bilangan.length);
                                                 for (int i=0;i < bilangan.length;i++){
                                                       System.out.print("Array index " +i+ " : ");
                                                        for (int j=0;j < bilangan[i].length;j++){
                                                             System.out.print(" "+bilangan[i][j]);
                                                        }
                                                        System.out.println();
                                                  }
                                            }
                                       } 


Download Source :
MultidimensiArray.java

Sumber : JENI

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

    Operator

    Operator adalah simbol yang digunakan dalam menulis suatu pernyataan dalam bahasa pemrograman. Macam-macam operator pada java :

    1. Operator Penugasan
      Dilambangkan dengan karakter '='. Digunakan untuk menugaskan suatu nilai ke suatu variabel, namun selain itu dalam Java dikenal beberapa shortcut assignment operator yang penting, yang digambarkan sebagai berikut :
      OperatorPenggunaanEkuivalen Dengan
      += op1 += op2 op1 = op1 + op2
      -= op1 -= op2 op1 = op1 - op2
      *= op1 *= op2 op1 = op1 * op2
      /= op1 /= op2 op1 = op1 / op2
      %= op1 %= op2 op1 = op1 % op2
      &= op1 &= op2 op1 = op1 & op2
      |= op1 |= op2 op1 = op1 | op2
      ^= op1 ^= op2 op1 = op1 ^ op2
      <<= op1 <<= op2 op1 = op1 << op2
      >>= op1 >>= op2 op1 = op1 >> op2
      >>>= op1 >>>= op2 op1 = op1 >>> op2
    2. Operator Matematika
      Operator ini digunakan dalam ekspresi matematika, operator matematika yang di kenal java adalah sebagai berikut :
      OperatorPenggunaanKeterangan
      + a + b Penjumlahan
      - a - b Pengurangan
      * a * b Perkalian
      / a / b Pembagian
      % a % b Sisa Hasil Bagi
    3. Operator Increment dan Decrement
      Operator Increment dan Decrement digunakan untuk menaikan atau menurunkan suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya dapat digunakan pada variabel.
      Ada dua versi operator increment maupun decrement, yaitu prefix dan postfix. Prefix berarti operator digunakan sebelum variabel atau ekspresi, dan postfix berarti operator digunakan sesudahnya.
      OperatorPenggunaanKeterangan
      ++ op++ Op dinaikkan nilainya 1 setelah dilakukan operasi pada Op
      ++ ++op Op dinaikkan nilainya 1 sebelum dilakukan operasi pada Op
      -- op-- Op diturunkan nilainya 1 setelah dilakukan operasi pada Op
      -- --op Op diturunkan nilainya 1 sebelum dilakukan operasi pada Op
    4. Operator Relasi
      Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
      OperatorPenggunaanKeterangan
      >op1 > op2 Menghasilkan true jika op1 lebih besar dari op2
      < op1 <>Menghasilkan true jika op1 lebih kecil dari op2
      >=op1 >= op2 Menghasilkan true jika op1 lebih besar atau sama dengan dari op2
      <= op1 <= op2 Menghasilkan true jika op1 lebih kecil atau sama dengan dari op2
      ==op1 == op2 Menghasilkan true jika op1 sama dengan op2
      !=op1 != op2 Menghasilkan true jika op1 tidak sama dengan op2
    5. Operator Logika
      Operator ini digunakan untuk ekspresi logika yang menghasilkan nilai boolean true dan false. Pernyataan dasar untuk operasi logika adalah, x1 op x2. Berikut adalah operator logika pada bahasa pemrograman java beserta tabel kebenaran untuk kombinasi yang mungkin dari x1 dan x2.
      • Logika AND &&
        x1x2Hasil
        truetrue true
        truefalsefalse
        falsetruefalse
        false falsefalse
        Operator AND && akan mengevaluasi pernyataan pada exp1 dan segera mengembalikan nilai false dan menyatakan bahwa x1 bernilai false, Jika exp1 bernilai false, operator tidak akan pernah mengevaluasi x2 karena hasil operasi operator akan menjadi false tanpa memperhatikan nilai dari x2.
      • Boolean Logika AND &
        x1
        x2Hasil
        true
        true
        true
        true
        false
        false
        false
        true
        false
        false
        false
        false
        Operator Logika AND & akan menghasilkan nilai true, jika kedua operator bernilai true. Operator Boolean Logika AND & ini akan selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.
      • Logika OR ||
        x1x2Hasil
        truetrue true
        truefalsetrue
        falsetruetrue
        false falsefalse
        Operator logika akan mengevaluasi pernyataan x1, dan segera mengembalikan nilai true dan menyatakan bahwa x1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah mengevaluasi x2 karena hasil operasi operator akan menjadi true tanpa memperhatikan nilai dari x2.
      • Boolean Logika OR | (Inclusive OR)
        x1
        x2Hasil
        true
        true
        true
        true
        false
        true
        false
        true
        true
        false
        false
        false
        Boolean logika OR | akan menghasilkan nila true, jika salah satu operator bernilai true. Operator Boolean Logika OR | ini akan selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.
      • Boolean Logika Exclusive OR ^
        x1
        x2Hasil
        true
        true
        false
        true
        false
        true
        false
        true
        true
        false
        false
        false
        Boolean Logika Exclusive OR akan menghasilkan nilai true, jika kedua operator memiliki nilai yang berbeda. Pada operator Boolean Exclusive OR ^ juga akan selalu mengevaluasi kedua nilai dari exp1 dan exp2 sebelum mengembalikan suatu nilai jawaban.
      • Logika NOT !
        x1
        hasil
        true
        false
        false
        true
        Logika NOT ! akan menghasilkan nilai yang berlawanan dengan nilai yang dioperasikan.
    6. Operator Kondisi ? :
      Operator ini digunakan dalam tiga bentuk pernyataan kondisional yang digunakan secara bersamaan, Struktur pernyataan yang menggunakan operator kondisi adalah :
      x1 ? x2 : x3
      Nilai x1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya harus berupa nilai true atau false.Jika x1 bernilai true maka x2 merupakan nilai hasil operasinya dan jika nilai x1 bernilai false maka x3 merupakan nilai dari hasil operasinya.
    7. Operator Precedence
      Operator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak ambigu/ hasil yag jelas.
      pernyataan yang membingungkan,
      6%2*5+4/2+88-10
      Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda kurung terhadap operator precedence.
      ((6%2)*5)+(4/2)+88-10;
      Adapun urutan precedence operator dalam Java, dapat digambarkan dalam tabel berikut :
      Postfix operators[] . (params) expr++ expr--
      Unary operators++expr --expr +expr -expr ~ !
      Creation or castNew (type)expr
      Multiplicative * / %
      Additive+ -
      Shift << >> >>>
      Relational <> <= >= instanceof
      Equality== !=
      Bitwise AND &
      Bitwise exclusive OR^
      Bitwise inclusive OR¦
      Logical AND&&
      Logical OR
      ¦¦
      Conditional
      ? :
      Assignment
      = += -= *= /= %= &= ^= ¦= <<= >>= >>>=

    Source


    /*
    * Operator.java
    * http://trijaruto.blogspot.com
    */

    public class Operator {
    public static void main(String args[]){

    int asgnmtnop = 10;
    int a,b,c;
    a=b=c=100;
    int d,e,f;
    f=200;
    e=f;
    d=e;

    System.out.println(" OPERATOR");
    System.out.println(" --------");
    System.out.println("1. Operator Penugasan");
    System.out.println(" Nilai assigment = " +asgnmtnop);
    System.out.println(" Nilai a = " +a);
    System.out.println(" Nilai b = " +b);
    System.out.println(" Nilai c = " +c);
    System.out.println(" Nilai d = " +d);
    System.out.println(" Nilai e = " +e);
    System.out.println(" Nilai f = " +f);
    int x1a = 4;
    int x2a = 3;
    x1a += x2a;
    System.out.println(" x1 += x1 + x2 Hasil : " + x1a);
    int x1b = 4;
    int x2b = 3;
    x1b -= x2b;
    System.out.println(" x1 -= x1 - x2 Hasil : " + x1b);
    int x1c = 4;
    int x2c = 3;
    x1c *= x2c;
    System.out.println(" x1 *= x1 * x2 Hasil : " + x1c);
    double x1d = 4;
    double x2d = 3;
    x1d /= x2d;
    System.out.println(" x1 /= x1 / x2 Hasil : " + x1d);
    int x1e = 4;
    int x2e = 3;
    x1e %= x2e;
    System.out.println(" x1 %= x1 % x2 Hasil : " + x1e);
    short x1f = 1;
    short x2f = 0;
    x1f &= x2f;
    System.out.println(" x1 &= x1 & x2 Hasil : " + x1f);
    short x1g = 1;
    short x2g = 0;
    x1g |= x2g;
    System.out.println(" x1 |= x1 | x2 Hasil : " + x1g);
    short x1h = 1;
    short x2h = 0;
    x1h ^= x2h;
    System.out.println(" x1 ^= x1 ^ x2 Hasil : " + x1h);

    System.out.println("");
    System.out.println("2. Operator Matematika");
    int x = 3;
    int y = 8;
    double z = 2.275;
    int v = 2;
    System.out.println(" Nilai Variabel");
    System.out.println(" x = " + x);
    System.out.println(" y = " + y);
    System.out.println(" z = " + z);
    System.out.println(" v = " + v);
    System.out.println(" Penjumlahan");
    System.out.println(" x + y = " + (x + y));
    System.out.println(" y + z = " + (y + z));
    System.out.println(" Pengurangan");
    System.out.println(" x - y = " + (x - y));
    System.out.println(" y - z = " + (y - z));
    System.out.println(" Perkalian");
    System.out.println(" x * y = " + (x * y));
    System.out.println(" y * z = " + (y * z));
    System.out.println(" Pembagian");
    System.out.println(" x / y = " + (x / y));
    System.out.println(" y / v = " + (y / v));
    System.out.println(" y / z = " + (y / z));
    System.out.println(" Sisa Hasil Bagi");
    System.out.println(" y % x = " + (y % x));
    System.out.println(" y % v = " + (y % v));
    System.out.println(" y % z = " + (y % z));

    System.out.println("");
    System.out.println("3. Operator Increment Decrement");
    int i = 10;
    int j,l,m,n;
    j = l = m = n = 2;
    System.out.println(" Nilai Variabel");
    System.out.println(" i = " + i);
    System.out.println(" j,l,m,n = " + j);
    int inck = ++j + i;
    int kinc = l++ + i;
    int deck = --m + i;
    int kdec = n-- + i;
    System.out.println(" Increment ++op" );
    System.out.println(" inck = ++j + 10 hasil ++op : " + inck);
    System.out.println(" Increment op++" );
    System.out.println(" kinc = l++ + 10 hasil op++ : " + kinc);
    System.out.println(" Decrement --op" );
    System.out.println(" deck = --m + 10 hasil --op : " + deck);
    System.out.println(" Decrement op--" );
    System.out.println(" kdec = n-- + 10 hasil op-- : " + kdec);


    System.out.println("");
    System.out.println("4. Operator Relasi");
    int op1 = 21;
    int op2 = 71;
    int op3 = 71;
    System.out.println(" Nilai Variabel");
    System.out.println(" op1 = " +op1);
    System.out.println(" op2 = " +op2);
    System.out.println(" op3 = " +op3);
    System.out.println(" Lebih besar Dari > ");
    System.out.println(" op1 > op2 = " + (op1 > op2));
    System.out.println(" op2 > op1 = " + (op2 > op1));
    System.out.println(" op2 > op3 = " + (op2 > op3));
    System.out.println(" Lebih kecil Dari < ");
    System.out.println(" op1 < op2 = " + (op1 < op2));
    System.out.println(" op2 < op1 = " + (op2 < op1));
    System.out.println(" op2 < op3 = " + (op2 < op3));
    System.out.println(" Lebih besar atau sama dengan >= ");
    System.out.println(" op1 >= op2 = " + (op1 >= op2));
    System.out.println(" op2 >= op1 = " + (op2 >= op1));
    System.out.println(" op2 >= op3 = " + (op2 >= op3));
    System.out.println(" Lebih kecil atau sama dengan <= ");
    System.out.println(" op1 <= op2 = " + (op1 <= op2));
    System.out.println(" op2 <= op1 = " + (op2 <= op1));
    System.out.println(" op2 <= op3 = " + (op2 <= op3));
    System.out.println(" Sama dengan == ");
    System.out.println(" op1 == op2 = " + (op1 == op2));
    System.out.println(" op2 == op1 = " + (op2 == op1));
    System.out.println(" op2 == op3 = " + (op2 == op3));
    System.out.println(" Tidak Sama dengan != ");
    System.out.println(" op1 != op2 = " + (op1 != op2));
    System.out.println(" op2 != op1 = " + (op2 != op1));
    System.out.println(" op2 != op3 = " + (op2 != op3));

    System.out.println("");
    System.out.println("5. Operator Logika");
    boolean logop1 = true;
    boolean logop2 = false;
    System.out.println(" Nilai Variabel");
    System.out.println(" logop1 = " +logop1);
    System.out.println(" logop2 = " +logop2);
    System.out.println(" Logika and &&");
    System.out.println(" logop1 && logop1 = " + (logop1 && logop1));
    System.out.println(" logop1 && logop2 = " + (logop1 && logop2));
    System.out.println(" logop2 && logop1 = " + (logop2 && logop1));
    System.out.println(" logop2 && logop2 = " + (logop2 && logop2));
    System.out.println(" Boolean logika and &");
    System.out.println(" logop1 & logop1 = " + (logop1 & logop1));
    System.out.println(" logop1 & logop2 = " + (logop1 & logop2));
    System.out.println(" logop2 & logop1 = " + (logop2 & logop1));
    System.out.println(" logop2 & logop2 = " + (logop2 & logop2));
    System.out.println(" Logika or ||");
    System.out.println(" logop1 || logop1 = " + (logop1 || logop1));
    System.out.println(" logop1 || logop2 = " + (logop1 || logop2));
    System.out.println(" logop2 || logop1 = " + (logop2 || logop1));
    System.out.println(" logop2 || logop2 = " + (logop2 || logop2));
    System.out.println(" Boolean Logika or | (Inclusive or)");
    System.out.println(" logop1 | logop1 = " + (logop1 | logop1));
    System.out.println(" logop1 | logop2 = " + (logop1 | logop2));
    System.out.println(" logop2 | logop1 = " + (logop2 | logop1));
    System.out.println(" logop2 | logop2 = " + (logop2 | logop2));
    System.out.println(" Boolean Logika Exclusive OR ^");
    System.out.println(" logop1 ^ logop1 = " + (logop1 ^ logop1));
    System.out.println(" logop1 ^ logop2 = " + (logop1 ^ logop2));
    System.out.println(" logop2 ^ logop1 = " + (logop2 ^ logop1));
    System.out.println(" logop2 ^ logop2 = " + (logop2 ^ logop2));
    System.out.println(" Logika NOT !");
    System.out.println(" !logop1 = " + (!logop1));
    System.out.println(" !logop2 = " + (!logop2));

    System.out.println("");
    System.out.println("6. Operator Kondisi");
    String status = "";
    int grade = 80;
    status = (grade >= 60)?"Lulus":"Tidak Lulus";
    System.out.println(" Nilai Variabel");
    System.out.println(" Grade = " +grade);
    System.out.println(" Nilai : " + status );

    System.out.println("");
    System.out.println("7. Precedence");
    double hasil;
    double p = 34.0;
    double o = 2.0;
    double q = 55.0;
    double u = 98.0;
    double h = 56.0;
    double g = 80.0;
    double k = 5.0;
    hasil = ((p%o)*q)+(u/h)+g-k;
    System.out.println(" Nilai Variabel");
    System.out.println(" p = " +p);
    System.out.println(" o = " +o);
    System.out.println(" q = " +q);
    System.out.println(" u = " +u);
    System.out.println(" h = " +h);
    System.out.println(" g = " +g);
    System.out.println(" k = " +k);
    System.out.println(" ((p%o)*q)+(u/h)+g-k = " +hasil);

    }
    }

    Output :
    OPERATOR
    --------
    1. Operator Penugasan
    Nilai assigment = 10
    Nilai a = 100
    Nilai b = 100
    Nilai c = 100
    Nilai d = 200
    Nilai e = 200
    Nilai f = 200
    x1 += x1 + x2 Hasil : 7
    x1 -= x1 - x2 Hasil : 1
    x1 *= x1 * x2 Hasil : 12
    x1 /= x1 / x2 Hasil : 1.3333333333333333
    x1 %= x1 % x2 Hasil : 1
    x1 &= x1 & x2 Hasil : 0
    x1 |= x1 | x2 Hasil : 1
    x1 ^= x1 ^ x2 Hasil : 1

    2. Operator Matematika
    Nilai Variabel
    x = 3
    y = 8
    z = 2.275
    v = 2
    Penjumlahan
    x + y = 11
    y + z = 10.275
    Pengurangan
    x - y = -5
    y - z = 5.725
    Perkalian
    x * y = 24
    y * z = 18.2
    Pembagian
    x / y = 0
    y / v = 4
    y / z = 3.5164835164835164
    Sisa Hasil Bagi
    y % x = 2
    y % v = 0
    y % z = 1.1750000000000003

    3. Operator Increment Decrement
    Nilai Variabel
    i = 10
    j,l,m,n = 2
    Increment ++op
    inck = ++j + 10 hasil ++op : 13
    Increment op++
    kinc = l++ + 10 hasil op++ : 12
    Decrement --op
    deck = --m + 10 hasil --op : 11
    Decrement op--
    kdec = n-- + 10 hasil op-- : 12

    4. Operator Relasi
    Nilai Variabel
    op1 = 21
    op2 = 71
    op3 = 71
    Lebih besar Dari >
    op1 > op2 = false
    op2 > op1 = true
    op2 > op3 = false
    Lebih kecil Dari <
    op1 < op2 = true
    op2 < op1 = false
    op2 < op3 = false
    Lebih besar atau sama dengan >=
    op1 >= op2 = false
    op2 >= op1 = true
    op2 >= op3 = true
    Lebih kecil atau sama dengan <=
    op1 <= op2 = true
    op2 <= op1 = false
    op2 <= op3 = true
    Sama dengan ==
    op1 == op2 = false
    op2 == op1 = false
    op2 == op3 = true
    Tidak Sama dengan !=
    op1 != op2 = true
    op2 != op1 = true
    op2 != op3 = false

    5. Operator Logika
    Nilai Variabel
    logop1 = true
    logop2 = false
    Logika and &&
    logop1 && logop1 = true
    logop1 && logop2 = false
    logop2 && logop1 = false
    logop2 && logop2 = false
    Boolean logika and &
    logop1 & logop1 = true
    logop1 & logop2 = false
    logop2 & logop1 = false
    logop2 & logop2 = false
    Logika or ||
    logop1 || logop1 = true
    logop1 || logop2 = true
    logop2 || logop1 = true
    logop2 || logop2 = false
    Boolean Logika or | (Inclusive or)
    logop1 | logop1 = true
    logop1 | logop2 = true
    logop2 | logop1 = true
    logop2 | logop2 = false
    Boolean Logika Exclusive OR ^
    logop1 ^ logop1 = false
    logop1 ^ logop2 = true
    logop2 ^ logop1 = true
    logop2 ^ logop2 = false
    Logika NOT !
    !logop1 = false
    !logop2 = true

    6. Operator Kondisi
    Nilai Variabel
    Grade = 80
    Nilai : Lulus

    7. Precedence
    Nilai Variabel
    p = 34.0
    o = 2.0
    q = 55.0
    u = 98.0
    h = 56.0
    g = 80.0
    k = 5.0
    ((p%o)*q)+(u/h)+g-k = 76.75

    Download Source :
    Operator.Java

    Sumber : JENI, asep-hs

    Keyword, Tipe Data dan Variabel


    Keyword

    Keyword (Kata Kunci) adalah pengidentifikasian yang digunakan dalam java untuk suatu tujuan khusus. Keyword tidak bisa digunakan sebagai nama dari variabel, class, dan method. Berikut adalah daftar keyword java (Kata Kunci Java).

    abstract int else
    public float while
    void double for
    throw boolean catch
    throws long case
    implements byte try
    package char switch
    import String this
    protected short return
    private static super
    class if break

    Tipe Data

    Tipe data mendefinisikan metode penyimpanan untuk mempresentasikan informasi dan cara informasi diinterpretasikan. Tpe data berkaitan erat dengan penyimpanan variabel di memori karena tipe data variabel menentukan cara compiler menginterpretasikan isi memori.

    Tipe data di dalam java terbagi atas 2 jenis :
    • Tipe data sederhana, tipe sederhana merupakan tipe inti dari tipe data, sehingga tipe sederhana ini tidak di turunkan dari tipe lain. Tipe ini juga sering disebut tipe primitive. Ada 8 tipe sederhana yang dipisahkan dalam 4 kelompok :
      • Empat tipe data bilangan bulat (integer) bertanda : byte, short, int dan long.
        • byte, adalah tipe 8-bit range -128 s/d 127. Sebaiknya digunakan jika menangani aliran-aliran byte asing dari network atau file.
        • short, adalah tipe 16-bit range -32768 s/d 32767. Merupakan tipe yang jarang digunakan karena bersfat big-endian(pengurutan byte), format data bit-atas di depan, sehingga tidak mungkin diolah mesin-mesin little-endian seperti PC (Personal Computer).
        • int, adalah tipe 32-bit range -2147483648 s/d 2147483647. Tipe ini merupakan tipe yang sering digunakan untuk menyimpan besaran integer sederhana, karena nilainya bisa mencapai triliyunan.
        • long , adalah tipe 64-bit range -9223372036854775808 s/d 9223372036854775807. Tipe ini merupakan yang terbesar untuk menampung besaran nilai.
      • Dua tipe data angka titik mengambang (floating point) atau bilangan pecahan : float dan double.
        • float, menggunakan 32-bit range 3.4E-038 s/d 3.4E+038. Tipe ini merupakan tipe dengan ketelitian yang cukup besar, misalkan perhitungan total suatu besaran dimana membutuhkan ketelitian sepersepuluh.
        • double, menggunakan 64-bit range 1.7E-308 s/d 1.7E+308. Tipe ini merupakan tipe dengan ketelitian besar, misalkan perhitungan cos, sin dan sqrt.
      • Satu tipe data karakter yaitu char, mewakili seimbol pada himpunan karakter seperti tulisan dan angka.
        • Tipe data char (character), diwakili oleh karekter unicode. Tipe data ini harus memiliki ciri berada dalam single quotes (' '),
      • Satu tipe data boolean, merupakan tipe khusus untuk menunjukan besaran logika benar/salah (tru/false).
        • Tipe boolean ini hanya dapat memiliki 2 kemungkinan nilai benar (true) atu salah (false)
    • Tipe data Komposit, tipe data ini disusun dari tipe data sederhana dan tipe data yang sudah ada. Tipe ini antara lain : String, array, class dan inteface.
    Variabel

    Variabel adalah suatu nama tempat penyimpanan data sementara, yang nilainya dapat selalu berubah-ubah tergantung kondisi program yang diperlukan. Variabel memiliki tipe data dan nama yang dapat diinisialisasikan sebuah nilai tertentu.
    Deklarasi sebuah variabel didalam java :
    tipedata nama = nilai;

    Contoh :
    int i = 1;
    double j = 2;
    String name = "Hello";
    char huruf = 'a';
    boolean b = true;
    boolean c = false;

    Berikut contoh program pendeklarasian sebuah variabel :

    /*
    * Variabel.java
    * http://trijaruto.blogspot.com
    */

    public class Variabel{
    public static void main(Sting args[]){
    int i = 1;
    double j = 2;
    String name = "Hello";
    char huruf = 'a';
    boolean b = true;
    boolean c = false;

    System.out.println("Nilai dari deklarasi variabel");
    System.out.println("i = "+i);
    System.out.println("j = "+j);
    System.out.println("name = "+name);
    System.out.println("huruf = " +huruf);
    System.out.println("b = "+b);
    System.out.println("c = "+c);
    }
    }

    Output :

    Download Source :

    Hello World

    Selamat datang di gerbang java, untuk selanjunya kita mencoba membuat program aplikasi pertama java "Hello World", yang biasa dilakukan pertama kali dalam mempelajari sebuah bahasa pemograman.
    Pertama Membuat file sumber *.java, dengan menggunakan editor teks seperti notepad, netbeans, jbuilder, eclipse dan lain-lain. 'Penulis menggunakan notepad bawaan windows.'

    /*
    * HelloWorld.java
    * http://trijaruto.blogspot.com
    */

    public class HelloWorld
    {
    public static void main(String args[])
    {
    //Menampilkan String "Hello World" Pada Comand Properties
    System.out.println("Hello World!");
    }
    }

    Simpan source diatas dengan nama HelloWorld.java , dalam penulisannya java menggunakan sifat casesensitif yaitu membedakan huruf besar dan kecil.

    Compile File HelloWorld.java diatas :
    javac HelloWorld.java
    Setelah dicompile akan mucul file HelloWorld.class di folder yang sama.
    Jalankan file tersebut :
    java HelloWorld (tanpa akhiran .class)
    Maka dilayar akan tampil "Hello World!". Selamat mencoba ;)
    Keterangan :

    /*
    * HelloWorld.java
    * http://trijaruto.blogspot.com
    */
    Komentar dalam bahasa java, diawali dengan "/*" dan diakhiri dengan "*/" segala sesuatu yang diawali dan diakhiri dengan tanda diatas, tidak akan dieksekusi oleh compiler java melainkan dianggap sebagai komentar yang bertujuan sebagai dokumentasi. Untuk komenar perbaris bisa menggunakan "//".

    public class HelloWorld
    Mengindentifikasikan nama class HelloWorld dan mempunyai akses khusus public, yaitu class ini mempunyai akses bebas ke class yang lainnya dari package yang lainnya pula. Sambil berjalan dan belajar penulis akan membahas package dan akses-akses khusus java lainnya pada postingan berikutnya.

    Kurung Kurawa { dan }
    Mengidentifikasikan awal blok code method. class"{" dan akhir blok code method, class "}"

    //Menampilkan String "Hello World" Pada Comand Properties
    Komentar perbaris dengan menggunakan tanda "//"

    public static void main(String args[])
    Mengidentifikasikan nama suatu method dalam class HelloWorld yang bertidak sebagai method utama. Method utama adalah titik awal dari suatu program java.

    System.out.println("Hello World!");
    Menamplkan teks "Hello World!" Pada layar.

    Download Source :

    Pedoman Penulisan Program :
    • Program java yang anda buat harus selalu diakhiri dengan file ekstensi .java
    • Nama file harus sesuai dengan nama class
    • Menuliskan komentar sebagai penjelasan pada kode progrma yang anda tulis

    More