Operator

Terbagi Menjadi  5

  • Aritmatika
  • Relasi
  • Logika
  • Kondisi
  • Pemberi Nilai & Type Casting

1. ARITMATIKA OPERATOR

Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh penggunaan :

Simbol       Nama operator                  Contoh penggunaan

  +          Operator penjumlahan          n = n + 1;
  -          Operator pengurangan          n = n - 1;
  *          Operator perkalian            n = n * 1;
  /          Operator pembagian            n = n / 1;
  %          Operator sisa pembagian       n = n % 1;
  +          Operator penyambung string    n = "saya "+"makan";

public class AritmatikaDemo {
   public static void main(String[] args) {
        //sedikit angka
        int i = 50;
        int j = 45;
        double x = 35.2569;
        double y = 12.4577;

        System.out.println("Nilai Variabel...");
        System.out.println("int i = " + i);
        System.out.println("int j = " + j);
        System.out.println("double x = " + x);
        System.out.println("double y = " + y);  

        //penjumlahan angka
        System.out.println("Penjumlahan...");
        System.out.println(" i + j = " + (i + j));
        System.out.println(" x + y = " + (x + y));  

        //pengurangan angka
        System.out.println("Pengurangan...");
        System.out.println(" i - j = " + (i - j));
        System.out.println(" x - y = " + (x - y));      

        //perkalian angka
        System.out.println("Perkalian...");
        System.out.println(" i * j = " + (i * j));
        System.out.println(" x * y = " + (x * y));
      
        //pembagian angka
        System.out.println("Pembagian...");
        System.out.println(" i / j = " + (i / j));
        System.out.println(" x / y = " + (x / y));

        //menghitung hasil modulus dari pembagian
        System.out.println("Sisa Pembagian...");
        System.out.println(" i % j = " + (i % j));
        System.out.println(" x % y = " + (x % y));      

        //tipe penggabungan
        System.out.println("Penggabungan Tipe...");
        System.out.println(" j + y = " + (j + y));
        System.out.println(" i * x = " + (i * x));
    }
}

Operator Increment dan Decrement
Operator             Penggunaan                    Keterangan

                                                                Menambahkan nilai 1 pada op;
  ++                          op++                         mengevaluasi nilai op sebelum
                                                                diincrementasi/ditambahkan
   
                                                               Menambahkan nilai 1 pada op;
  ++                          ++op                        mengevaluasi nilai op sesudah
                                                               diincrementasi/ditambahkan

                                                               Mengurangi nilai 1 pada op;
  --                            op--                         mengevaluasi nilai op sebelum
                                                               didecrementasi/dikurangkan

                                                               Mengurangi nilai 1 pada op;
  --                            --op                         mengevaluasi nilai op sesudah
                                                                didecrementasi/dikurangkan


    public class OperatorIncrementDecrement {

        /**
         * menggunakan operator increment dan decrement
         *
         *     
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x = 0;
            int y = 0;
            y = ++x;
            System.out.println("Contoh operator pada prefix
            (awalan)");
            System.out.println("---------------------------");
            System.out.println("Nilai x baru : " + x);
            System.out.println("Nilai y = ++x : " + y);
    
            x = 0;
            y = 0;
            y = x++;
            System.out.println("\nContoh operator pada sufix
            (akhiran)");
            System.out.println("---------------------------");
            System.out.println("Nilai x baru :" + x);
            System.out.println("Nilai y = x++ :" + y);
        }
    }


2. RELASI OPERATOR

Operator    Penggunaan                          Keterangan
           
     >           op1 > op2                     op1 lebih besar dari  op2
               
     >=         op1 >= op2                   op1 lebih besar dari atau sama dengan op2
               
     <            op1 < op2                     op1 kurang dari op2
               
     <=          op1 <= op2                   op1 kurang dari atau sama dengan op2

     ==              op1 == op2                   op1 sama dengan op2

    !=                op1 != op2                   op1 tidak sama dengan op2


public class RelasiDemo {
    public static void main(String[] args) {
        //beberapa nilai
        int i = 37;
        int j = 42;
        int k = 42;

        System.out.println("Nilai variabel...");
        System.out.println(" i = " + i);
        System.out.println(" j = " + j);
        System.out.println(" k = " + k);

        //lebih besar dari
        System.out.println("Lebih besar dari...");
        System.out.println(" i > j = " + (i > j)); //false
        System.out.println(" j > i = " + (j > i)); //true
        System.out.println(" k > j = " + (k > j)); //false
      
        //lebih besar atau sama dengan
        System.out.println("Lebih besar dari atau sama 
        dengan...");
        System.out.println(" i >= j = " + (i >= j)); //false
        System.out.println(" j >= i = " + (j >= i)); //true
        System.out.println(" k >= j = " + (k >= j)); //true
      
        //lebih kecil dari
        System.out.println("Lebih kecil dari...");
        System.out.println(" i < j = " + (i < j)); //true
        System.out.println(" j < i = " + (j < i)); //false
        System.out.println(" k < j = " + (k < j)); //false
      
        //lebih kecil atau sama dengan
        System.out.println("Lebih kecil dari atau sama    
        dengan...");
        System.out.println(" i <= j = " + (i <= j)); //true
        System.out.println(" j <= i = " + (j <= i)); //false
        System.out.println(" k <= j = " + (k <= j)); //true

        //sama dengan
        System.out.println("Sama dengan...");
        System.out.println(" i == j = " + (i == j)); //false
        System.out.println(" k == j = " + (k == j)); //true
      
        //tidak sama dengan
        System.out.println("Tidak sama dengan...");
        System.out.println(" i != j = " + (i != j)); //true
        System.out.println(" k != j = " + (k != j)); //false
    }
}


3. LOGIKA OPERATOR

Operator         Penggunaan                Keterangan
=====================================================
            
   !             !var                      Logika Not
                
   &&            var1 && var2              Logika AND*
                
   &             var1 & var2               Logika AND
                
   ||            var1 || var 2             Logika OR*

   |             var1 | var2               Logika OR

   ^             var1 ^  var2              Logika XOR

============================================================
* short-circuit evaluation

Logika AND
====================================
var1         var2         Hasil

true         true         true
true         false        false
false        true         false
false        false        false
====================================

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

            int i = 0;
            int j = 10;
            boolean test= false;

            //demonstrasi &&
            test = (i > 10) && (j++ > 9);
            System.out.println(i);
            System.out.println(j);
            System.out.println(test);

            //demonstrasi &
            test = (i > 10) & (j++ > 9);
            System.out.println(i);
            System.out.println(j);
            System.out.println(test);
        }
    }

Logika OR
================================
var1         var2         Hasil

true         true         true
true         false        true
false        true         true
false        false        false
============================


    public class TestOR {
        public static void main( String[] args ){
            int i = 0;
            int j = 10;
            boolean test= false;

            //demonstrasi ||
            test = (i < 10) || (j++ > 9);
            System.out.println(i);
            System.out.println(j);
            System.out.println(test);

          
            //demonstrasi |
            test = (i < 10) | (j++ > 9);
            System.out.println(i);
            System.out.println(j);
            System.out.println(test);
        }
    }


Logika Not
=================
var1     Hasil

true     false
false    true
=================

     public class TestNOT {
        public static void main( String[] args ){
            boolean val1 = true;
            boolean val2 = false;
            System.out.println(!val1);
            System.out.println(!val2);
        }
    }


Logika XOR

    public class TestXOR {
        public static void main( String[] args ){
            boolean val1 = true;
            boolean val2 = true;
          
            System.out.println(val1 ^ val2);
          
            val1 = false;
            val2 = true;
            System.out.println(val1 ^ val2);

            val1 = false;
            val2 = false;
            System.out.println(val1 ^ val2);
          
            val1 = true;
            val2 = false;
            System.out.println(val1 ^ val2);
        }
    }
4. OPERATOR KONDISI
  • Simbol     ?:
  • Bentuk umum
             exp1 ? exp2 : exp3

public class ConditionalOperator {
    public static void main( String[] args ){
        int score = 0;
        char answer = 'a';
        score = (answer == 'a') ? 10 : 0;
        System.out.println("Score = " + score );
    }
}
5. Pemberi Nilai & Type Casting 

Operator    Contoh          Ekspresi setara
=====================================================
+=            x += y;         x = (x + y);
-=            x -= y;         x = (x - y);
*=            x *= y;         x = (x * y);
/=            x /= y;         x = (x / y);
%=            x %= y;         x = (x % y);
&=            x &= y;         x = (x &= y);
|=            x |= y;         x = (x | y);
^=            x ^= y;         x = (x ^ y);
<<=           x <<= y;        x = (x << y);
>>=           x >>= y;        x = (x >> y);
<<<=          x >>>= y;       x = (x >>> y);


======================================================
     public class OperatorPemberiNilai {
   
        /**
         * Contoh program menggunakan operator pemberi nilai (
         *
         *
         */
        public static void main(String[] args) {
            int x = 5;
            int y = 10;
    
            x += y;
            System.out.println("Hasil penjumlahan : " + x);
    
            x -= y;
            System.out.println("Hasil pengurangan : " + x);
    
            x *= y;
            System.out.println("Hasil perkalian : " + x);
    
            x /= y;
            System.out.println("Hasil pembagian : " + x);
    
            x %= y;
            System.out.println("Sisa pembagian : " + x);
    
            x &= y;
            System.out.println("Hasil operasi AND : " + x);
    
            x |= y;
            System.out.println("Hasil operasi OR : " + x);
    
            x <<= y;
            System.out.println("Hasil operasi pergeseran bit ke 

            kiri :"+ x);
                  }
           }
 

Variable dan Tipe Data

 Tipe Data
        Tipe Data terbagi menjadi dua :
  • Tipe Data Primitif
    • boolean
    • char
    • byte
    • short
    • int
    • long
    • double
    • float  
  •  Class    
Jenis-jenis Variabel 

Variable adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.
Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :
  • Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya.
  • Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan.
  • Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
  • Parameter.  Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.
Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi variable berbentuk seperti :

    <tipe data> <nama> [= nilai awal]  
nama_variabel dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama lain. Misalnya:
         float  num;
    String nama;
    String nama;
    boolean bol;
    int x,y; 
Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut:
         int num = 5000;
    char ch = 's';
    float angka = 3.14;
    boolean bol = false;

Literal
  • Integer
  • Floating Point
  • Boolean
  • Character
  • String
  • Null
1.Integer Literal
Integer literals dibedakan dalam beberapa format yang berbeda: 
  • Desimal (berbasis 10)
    int angka = 50;
  • Heksadesimal (berbasis 16)
    int angka = 0x2a;
  • Oktal (berbasis 8)
    int angka = 022;
2. Floating Point Literal
    Floating point literals mewakili bentuk desimal dengan bagian yang terpisah.
3. Boolean Literal
    Boolean literals hanya memiliki dua nilai, true atau false.
4. Character Literal
  • Character Literals diwakili oleh karakter single Unicode 16-bit yang menggantikan 8-bit ASCII character set.
  • dalam tanda single quote (' ') contoh: ‘a’    
        \n = tombol enter atau baris baru.
        \r = carriage return.
        \t = tombol tab.
        \b = tombol backspace.
        \\ = karakter \
        \’ = karakter ‘\
        \” = karakter ”\
5. String Literal
  • String literals mewakili beberapa karakter
  • dinyatakan dalam tanda double quote (“ ”)  contoh: “Hello World”
6. Null Literal
Literal terakhir pada bahasa java adalah literal null. Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya 

obj = null; 

Literal null berfungsi memberi tahu garbage collector (pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar dapat digunakan oleh objek lain.
 
 Contoh Variables
public class VariableSamples {
    public static void main( String[] args ){
        //deklarasi tipe data dengan nama variable
        // result dan tipe data boolean
        boolean result;
        //deklarasi tipe data dengan nama variabel
        // option dan tipe data char
        char option;
        option = 'C'; //menandai 'C' sebagai option
        //deklarasi tipe data dengan nama variabel
        //grade, double tipe data dan telah diinisialisasi
        //ke 0.0
        double grade = 0.0;
    }
}


    Memulai Java

    Perhatikan Script di bawah ini

    1. Deklarasi class    
    Kelas merupakan bagian integral dari bahasa Java karena Java merupakan bahasa berorientasiobjek.Setiap aplikasi harus terdiri dari satu kelas. Di sini kita definisikan kelas SelamatDatang sebagai kelas utama.
    2. Pembuka blok
    3. Komentar
    Komentar tidak akan diproses oleh kompiler tetapi berguna bagi programmer lain. Bahasa Java  
    memiliki 2 jenis komentar :
    * /** text **/ — Compiler akan mengabaikan kata kata antara /**dan **/
    * // text — Compiler akan mengabaikan segala sesuatu dari // hingga akhir baris
    4. Main Method
    Metode main mirip dengan fungsi main pada bahasa C/C++ di mana fungsi ini merupakan pintu gerbang dimulanya suatu program. Metoda main dapat dipanggil dengan menyertakan variabel, baik hanya satu variabel, banyak variabel atau bahkan tidak ada sama sekali.
    5. Statement/Perintah
    Yang terakhir adalah perintah berikut untuk menampilkan Hello World pada komputer Anda.
    6. Penutup blok

    ==================================================================

    ATURAN PENULISAN JAVA

        * Program Java yang dibuat harus selalu diakhiri dengan ekstensi file .java.
        * Nama File seharusnya sesuai/sama dengan nama class public-nya
        * Komentar harus ditulis sebagai penjelasan pada kode yang ditulis

    PENULISAN BLOK

        * kurung kurawal buka dapat pada baris dengan pernyataan seperti contoh sebagai berikut : 
    public static void main(String[] args) {
                     atau seperti berikut: 
    public static void main(String[] args
    {

        * Sebaiknya memberi jarak (ident) pernyataan selanjutnya setelah awal blok: 
    public static void main(String[] args){ 
        System.out.println("Hello"); 
        System.out.println("world"); 
    }
    IDENTIFIER

        * Suatu tanda yang mewakili nama-nama variabel, method, class, dsb.
          Contoh : Hello, main, System, out.

    Aturan Identifier :

        * Untuk nama class diberikan huruf kapital pada huruf pertama setiap kata. Untuk selain itu menggunakan huruf kecil pada huruf pertama kata pertama. Contoh:

           NamaClass
           contohNamaVariabel
           iniMethod

    KEYWORD

        * Identifier yang telah dipesan untuk didefinisikan sebelumnya untuk tujuan tertentu.
        * Tidak dapat digunakan sebagai nama variabel, class, method dan sebagainya.

    abstract   continue   for         new        switch
    assert***  default    goto*       package    synchronized
    boolean    do         if          private    this
    break      double     implements  protected  throw
    byte       else       import      public     throws
    case       enum****   instanceof  return     transient
    catch      extends    int         short      try
    char       final      interface   static     void
    class      finally    long        strictfp** volatile
    const*     float      native      super      hile

         * tidak digunakan
      ** ditambahkan pada 1.2
     *** ditambahkan pada 1.4
    **** ditambahkan pada 5.0

    MENJALANKAN PROGRAM 


    1. Tulis script di Notepad
    2. Simpan Script kedalam directori yang diinginkan dengan ekstensi  .java
    3. Jalankan CMD / Command Promt
    4. Masuk pada directori dimana menyimpan file berekstensi java
    5. Compile file :   javac file.java ( harus berekstensi java )
    6. Jalankan : java file  ( tanpa embel2 ekstensi dibelakang nya ) 
    7. Jika ada Eror Command Promt akan menunjukkan dimana terdapat eror sehingga tidak bisa di Compile atau pun di Run

    Instalasi JAVA di Windows

    Berikut adalah Cara Instalasi Java

    Download Java Development Kit (JDK)

     

    •  Pilih Platform sesuai sistem operasi yang kita gunakan. Untuk contoh, saya pilih Microsoft Windows.
      • Jika meminta Log In maka pilih saja option "Skip this Step"

      Instalasi JDK

      • Jalankan setup program jdk-6u18-windows-i586.exe atau sesuai yang Anda download.
      • Muncul dialog awal instalasi JDK
      • Tekan Accept untuk menerima persetujuan lisensi dari Sun.
       

      • Pilih semua fitur yang kita inginkan pada langkah Custom Setup
      • Tekan next untuk melanjutkan. Perhatikan bahwa folder instalasi adalah di C:\Program Files\Java\jdk1.6.0_18

      •  Keluar progress dialog untuk instalasi JDK. Tunggu hingga selesai.
      • Setelah selesai melakukan instalasi JDK akan dilanjutkan dengan instalasi JRE seperti terlihat pada gambar di bawah. Lanjutkan dengan mengklik tombol Next.
       
      • Klik tombol Finish.


      Konfiguras

      Set environment variable, %PATH%.

      • Klik Start pada sistem Windows Anda
      • Klik kanan icon My Computer, pilih Properties
      • atau tekan hotkey yaitu    Windows + Pause Break
      • Klik tab Advanced system settings  |  Environment Variables 
      • Cari variable Path.
      • Pada bagian System variables dan klik Edit\
      • Tambahkan satu nilai pada Variable Value yaitu folder binary instalasi JDK. Untuk contoh pada blog ini maka path kita adalah C:\Program Files\Java\jdk1.6.0_18\bin.
      • Perhatikan pada gambar bahwa antar satu path/folder yang satu dengan path yang lain kita pisahkan dengan tanda titik koma.
      • Klik tombol OK
      • Selesai.

      Verifikasi

      • Masuk ke command prompt, pilih menu Start > Run, ketik cmd
      • Ketik "java -version" dan apabila berhasil akan menghasilkan output sebagai berikut :
       
      • Ketik "javac " dan apabila berhasil akan menghasilkan output sebagai berikut:

      • selesai

      Kelebihan Java

      Bahasa pemrograman lain yang telah ada sebelum Java lahir sudah merupakan bahasa yang baik dan mudah dipelajasi oleh programmer profesional. Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai Java-Buzzwords. Kata-kata ini menjelaskan berbagai fitur tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima oleh dunia perangkat lunak. Berikut ini adalah penjelasan serta keuntungan dari kata-kata tersebut
      .
      Sederhana dan Berorientasi Objek

      Seperti diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan memudahkan programmer profesional untuk dapat mengerti lebih jelas tentang Java, fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek. Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin. Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula dari bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka membuang berbagai fitur yang rumit dan membingungkan.

      Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang berorientasi objek. Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi kenyataan dan diterima oleh sebagian besar komunitas pemrograman. Konsep berorientasi objek memungkinkan pembuatan software yang kompleks, berbasis network, sehingga dapat disimpulkan bahwa teknologi Java menghasilkan platform pembuatan perangkat lunak yang baik dan efisien serta berorientasi objek.

      Keuntungan yang Anda dapat dari Java
      • Mulai dengan cepat: Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++
      • Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++
      • Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat program yang baik, dan automatic garbage collection membantu Anda untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda menggunakan kode yang ada.
      • Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.
      • Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis spesifik untuk platform tertentu.
      • Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara konsisten pada platform apa saja.
      • Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi secara otomatis.

      Mengenal Bahasa Pemrograman Java

      Sejarah Java

      Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya.

      Java Modern

      Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.

      Java Virtual Machine (JVM)

      Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan.
      Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.

      Just In Time Compiler (JIT)

      Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa.

      Header Banner Ad