Sejarah Java
Pada  tahun  1991 bahasa java lahir dari  the
 green project  yang dikerjakan  oleh
sekelompok insinyur dari Sun Microsystem, Inc., yang dipimpin oleh Patrick
Naughton dan
James Gosling. Proyek ini ditujukan untuk
merancang bahasa untuk perangkat konsumer
seperti cable TV box. Para
perancang ini ingin menciptakan sebuah
bahasa pemrograman yang dapat dijalankan pada semua
peralatan yang tidak tergantung oleh platform yang digunakan oleh peralatan tersebut.
Karena orang-orang yang bekerja dalam proyek Green memiliki dasar bahasa C++
maka kebanyakan sintaksnya diambil dari C++ serta mengadopsi orientasi obyek bukan prosedural. Pada
mulanya,
James Gosling memberi nama
bahasa pemrogramannya dengan “Oak”, setelah terinspirasi dari
pohon yang berada di seberang kantornya. Kemudian diganti dengan “Java”, karena sudah ada bahasa pemrograman dengan nama
Oak. Nama Java terinspirasi ketika mereka sedang
minum kopi di sebuah kedai kopi,
kemudian salah satu diantara mereka menyebut nama Java yang mengandung arti asal dari biji kopi.
Salah satu hasil dari green project adalah maskot java yang dibuat oleh Joe Palrang dan diberi nama Duke (gambar 1.1).
Gambar 1.1. Duke, Maskot Java
Produk pertama proyek Green adalah “*7” (Star Seven), yaitu sebuah kendali jarak jauh yang cerdas. Karena
pasar belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang
diciptakan. Pada waktu itu
perkembangan internet sedang
pesat, maka proyek Green lebih diarahkan ke teknologi
internet. Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi Java. Setelah itu diikuti diikuti IBM, Symantec dan
Microsoft.
Pada awal tahun 1996, Sun secara resmi merilis versi awal Java, sehingga muncul JDK 1.1 (Java Development Kit versi 1.1), kemudian muncul Java 2
yang
dilengkapi Swing, yaitu teknologi GUI (Graphical User Interface) yang dapat menghasilkan aplikasi desktop.
Pada tahun 1998 – 1999 lahirlah teknologi java berbasis enterprise yang disebut
J2EE (Java 2 Enterprise Edition) yang diawali dengan servlet dan EJB kemudian diikuti JSP.
Java juga menjadi lebih cepat populer di lingkungan server side dikarenakan kelebihanya di lingkungan network dan terdistribusi serta kemampuan multithreading.
Selain itu java juga mengembangkan J2ME
(Java 2
Micro Edition) yang dapat menghasilkan aplikasi
mobile baik games maupun software yang dapat dijalankan di peralatan mobile seperti ponsel.
Gambar 1.2. Logo Java (Merek dagang dari Sun Microsystems, Inc)
Karakteristik Java
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
a. Sederhana
Bahasa  pemrograman
 Java  menggunakan
 sintaks  mirip  dengan  C++ 
namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance.
Java juga menggunakan automatic memory allocation dan memory garbage collection.
b. Berorientasi objek (Object Oriented)
Java  mengunakan  pemrograman
 berorientasi  objek
 yang  membuat  program
dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman
berorientasi  objek
 memodelkan
 dunia
 nyata  kedalam  objek
 dan
 melakukan interaksi antar objek-objek tersebut.
c. Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries networking yang terintegrasi pada Java.
d. Interpreter
Program Java dijalankan menggunakan interpreter yaitu
 Java Virtual Machine
(JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi
Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
e. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai
kemampuan    mendeteksi   error   secara   lebih   teliti  
 dibandingkan   bahasa pemrograman
 lain.
 Java  mempunyai  runtime-Exception
 handling
 untuk membantu mengatasi error pada pemrograman.
f.
 Aman
Sebagai bahasa pemrograman untuk
aplikasi internet dan terdistribusi, Java memiliki  
beberapa   mekanisme   keamanan   untuk   menjaga   aplikasi   tidak
digunakan untuk
merusak
sistem komputer yang menjalankan aplikasi tersebut.
g.
 Architecture Neutral
Program Java merupakan platform
independent. Program cukup mempunyai satu buah  versi
 yang
 dapat
 dijalankan
 pada  platform
 yang  berbeda
 dengan
 Java Virtual Machine.
h. Portabel
Source code maupun program Java dapat dengan mudah dibawa ke platform
yang
berbeda-beda tanpa harus dikompilasi ulang.
i.   Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java
dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise,
Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
j.   Multithreaded
Java  mempunyai  kemampuan  untuk  membuat
 suatu
 program  yang  dapat
melakukan beberapa pekerjaan secara sekaligus dan simultan. k.
 Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan
pada  suatu  class
 dengan
 menambahkan
 properties
 ataupun
 method
 dapat
dilakukan tanpa menggangu
program yang menggunakan class tersebut.
Sistem Kerja Kerja
Java merupakan bahasa pemrograman yang terdiri dari compiler dan interpreter, compiler   menerjemahkan   kode   sumber   program   java   menjadi   bytecode.   Untuk menjalankan bytecode hasil compiler diperlukan java interpreter, sehingga menjadikan java dapat dijalankan di berbagai platform. Java interpreter dapat dijalankan langsung
dari
command prompt; atau applet viewer atau web browser (untuk applet).
Kelemahan adalah kecepatan eksekusi program akan lebih lambat dari program
biasa karena program
 bytecode harus diterjemahkan terlebih dahulu oleh interpreter, kemudian dijalankan pada hardware.
Gambar
 dibawah  ini  menjelaskan
 aliran  proses
 kompilasi
 dan
 eksekusi  sebuah
program Java :
Gambar 1.3. Proses dari sebuah Program Java
Langkah   pertama   dalam   membuat   sebuah   program   berbasis   Java   adalah menuliskan kode program pada  text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian disimpan dalam sebuah berkas berekstensi .java.
Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program  tersebut
 dengan
 menggunakan  Java  Compiler.
 Hasil
 dari
 kompilasi
 berupa berkas bytecode dengan ekstensi .class.
Berkas  yang  mengandung  bytecode
 tersebut  kemudian
 akan
 dikonversikan  oleh
Java Interpreter
menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.
| 
Proses | 
Tool | 
Hasil | 
| 
Menulis kode
  program | 
Text editor | 
Berkas berekstensi .java | 
| 
Kompilasi program Java | 
Compiler | 
Berkas
  berekstensi .class (Java Bytecodes) | 
| 
Menjalankan
  program Java | 
Interpreter | 
Program Output | 
Gambar 1.4. Java Cross-platform atau Multi-platform
Untuk mengetahui
beberapa makalah tentang java yang lain, silahkan kunjungi :
1.   Hariyanto, Bambang, (2007),  Esensi-esensi Bahasa Pemrograman  Java, Edisi 2, Informatika Bandung, November 2007.
2.   Utomo, Eko Priyo, (2009), Panduan Mudah Mengenal Bahasa Java, Yrama Widya,
Juni 2009.
3.   Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007




