Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Java adalah suatu teknologi di dunia
software komputer. Selain merupakan suatu bahasa pemrograman, Java juga
merupakan suatu platform. Java merupakan teknologi di mana teknologi
tersebut mencakup Java sebagai bahasa pemrograman yang memiliki sintaks
dan aturan pemrograman tersendiri, juga mencakup Java sebagai platform
yaitu di mana teknologi ini memiliki virtual machine dan library yang
diperlukan untuk menulis dan menjalankan program yang ditulis dengan
bahasa pemrograman java. Bahasa ini awalnya dibuat oleh James Gosling
saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari
Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis
yang terdapat pada C dan C++ namun dengan sintaksis model objek yang
lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal.
Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code
(bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM).
Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik
(general purpose), dan secara khusus didesain untuk memanfaatkan
dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang
memungkinkan aplikasi java mampu berjalan di beberapa platform sistem
operasi yang berbeda, java dikenal pula dengan slogannya, “Tulis sekali,
jalankan di mana pun.” Saat ini java merupakan bahasa pemrograman yang
paling populer digunakan, dan secara luas dimanfaatkan dalam
pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi
berbasis web.
SEJARAH PERKEMBANGAN JAVA
Bahasa pemrograman Java terlahir dari The Green Project (memiliki kode
Green dengan tujuan untuk menghasilkan bahasa komputer sederhana yang
dapat dijalankan di peralatan sederhana dan tidak terikat pada
arsitektur tertentu), yang berjalan selama 18 bulan, dari awal tahun
1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi
yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike
Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya
dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke
yang dibuat oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah
gedung perkantoran Sand Hill Road di Menlo Park.
Awalnya mereka ingin membuat suatu bahasa komputer yang dapat digunakan
oleh TV kabel (Cable TV Box) yang memiliki memori kecil dan setiap
perusahaan memiliki tipe yang berbeda. Untuk mengaplikasikan hal
tersebut mereka menggunakan hal yang pernah dicoba oleh bahasa UCSD
Pascal, yaitu mendesain sebuah bahasa yang portable yang menghasilkan
kode intermediate. Kode intermediate ini kemudian dapat digunakan pada
banyak komputer yang interpreternya telah disesuaikan. Sebelumnya
Niclaus Wirth telah membuat sebuah bahasa yang portable yang akan
digunakan dalam mesin bayangan (selanjutnya ini disebut sebagai Virtual
Mesin) namun saat itu belum diumumkan. Akhirnya tim green menggunakan
ide ini dan akhirnya mereka menciptakan Java Virtual Mesin. Vitual mesin
inilah yang membuat java dapat dijalankan di berbagai platform.
Karena orang-orang Sun memiliki latar belakang sebagai pemakai unix
sehingga mereka lebih menggunakan C++ sebagai basis bahasa pemrograman
mereka, maka mereka secara khusus mengembangkan bahasa yang berorientasi
objek bukan berorientasi prosedur. Seperti yang dikatakan
Gosling,”Secara keseluruhan, bahasa hanyalah sarana, bukan merupakan
tujuan akhir.”
Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah
program Java Oak pertama, yang ditujukan sebagai pengendali sebuah
peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA
sekarang ini. Teknologi baru ini dinamai “*7″ (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik
ditambah beberapa orang dari proyek The Green Project. Mereka
memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton
Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam
waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga
ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan
ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan
rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Pada tahun 1993 sampai pertengahan 1994 tim green yang mempunyai nama
baru First person. Inc hanya menghabiskan waktu dengan memperhatikan
penjualan dari produknya. Ternyata tidak satupun orang ditemukan.
Akhirnya pada tahun 1994 First Person dibubarkan. Pada tahun itu Web
berkembang sangat pesat. Saat itu browser yang banyak digunakan adalah
Mosaic, suatu browser gratis yang berasal dari pusat Supercomputing
Universitas Illinois pada tahun 1993. (Mosaic sebagian ditulis oleh Marc
Andreessen dengan bayaran $6.85 per jam, sebagai mahasiswa yang
melakukan studi praktek. Di kemudian hari ia meraih ketenaran sebagai
salah seorang pendiri dan pemimpin teknologi di netscape)
Dalam suatu wawancara pada pertengahan tahun 94 James Gosling
mengatakan, “We could build a real cool browser. It was one of the few
things in the client/server mainstream that needed some of the weird
things we’d done: architecture neutral, real-time,reliable,
secure—issues that weren’t terribly important in the workstation world.
So we built a browser.”
Akhirnya dibuatlah suatu browser oleh Patrick Naughton dan Jonathan
Payne. Browser itu diberi nama Hot Java. Browser ini dibuat dengan
menggunakan bahasa java untuk menunjukkan kemapuan dari java, yakni
mampu menjalankan script Applet sehingga browser dapat menjalankan kode
program di dalam browser dalam SunWorld ’95.
Inilah bukti dari teknologi itu yang ditunjukkan java pada tanggal 25 mei 1995.
Sejak saat itu browser java memberikan lisensinya kepada browser lain
untuk bisa menjalankan Applet dan pada tahun 1996 diberikan pada
Internet Explorer. Karena keunikannya dan kelebihannaya, teknologi Java
mulai menarik banyak vendor seperti IBM,Symantec,Inprise,dll. Akhirnya
pada tahun 1996 muncul JDK 1.1 kemudian JDK 1.2, yang mulai disebut
sebagai versi Java2 karena banyak mengandung peningkatan dan perbaikan.
Perubahan utama adalah dengan adanya Swing yang merupakan teknologi GUI
(Graphical User Interface) yang mampu menghasilkan Window yang portabel.
Dan pada tahun 1998-1999 lahirlah teknologi J2EE (Java 2 Enterprize
Edition), yang berbasis J2SE (Java 2 Standart Edition) yang diawali
dengan Servlet dan EJB kemudian diikuti JSP(Java Server Page). Java
menjadi lebih cepat populer di lingkungan Server Side dikarenakan
kelebihannya di lingkungan Network dan terdistribusi serta kemampuan
multithreading. Sedangkan J2ME (Java 2 Micro Edition) dapat menghasilkan
aplikasi mobile atau Handphone baik games maupun Software yang dapat
dijalankan di peralatan Handphone seperti Symbian dan Java. Kesuksesan
mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar
San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00
di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama
proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama
Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan
kerja “Bapak Java”, James Gosling saat di Sun. Nama Oak ini tidak
dipakai untuk versi release Java karena sebuah perangkat lunak lain
sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama
penggantinya menjadi “Java.” Nama ini diambil dari kopi murni yang
digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi
ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak
lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
VERSI AWAL
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga
dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket
standar awal yang terus dikembangkan pada versi selanjutnya:
1. java.lang: Peruntukan kelas elemen-elemen dasar.
2. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
3. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
4. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
5. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
6. java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
KRITERIA “Kertas Putih” JAVA
Penulis Java telah menulis pengaruh “Kertas Putih” yang menjelaskan
tujuan rancangan dan keunggulannya. Kertas mereka disusun lewat 11
kriteria berikut :
Sederhana (Simple)
Syntax untuk Java seperti syntax pada C++ tetapi syntax Java tidak
memerlukan header file, pointer arithmatic (atau bahkan pointer syntax),
struktur union, operator overloading, class virtual base, dan yang
lainnya. Jika anda mengenal C++ dengan baik, maka anda dapat berpindah
ke syntax Java dengan mudah tetapi jika tidak, anda pasti tidak
berpendapat bahwa Java sederhana.
Berorientasi Objek (Object Oriented)
Rancangan berorientasi objek merupakan suatu teknik yang memusatkan
rancangan pada data (objek) dan interface. Fasilitas pemrograman
berorientasi objek pada Java pada dasarnya adalah sama dengan C++.
Feature pemrograman berorientasi objek pada Java benar-benar sebanding
dengan C++, perbedaan utama antara Java dengan C++ terletak pada
penurunanberganda (multiple inheritance), untuk ini Java memiliki cara
penyelesaian yang lebih baik.
Terdistribusi (Distributed)
Java memiliki library rutin yang luas untuk dirangkai pada protokol
TCP/IP sepetrti HTTP dan FTP dengan mudah. Aplikasi Java dapat membuka
dan mengakses objek untuk segala macam NET lewat URL sama mudahnya
seperti yang biasa dilakukan seorang programmer ketika mengakses file
sistem secara lokal.
Kuat (Robust)
Java dimaksudkan untuk membuat suatu program yang benar-benar dapat
dipercaya dalam berbagai hal. Java banyak menekankan pada pengecekan
awal untuk kemungkinan terjadinya masalah, pengecekan pada saat run0time
dan mengurangi kemungkinan timbulnya kesalahan (error). Perbedaan utama
antara Java dan C++ adalah Java memiliki sebuah model pointer yang
mengurangi kemungkinan penimpaan (overwriting) pada memory dan kerusakan
data (data corrupt).
Aman (Secure)
Java dimaksudkan untuk digunakan pada jaringan terdistribusi. Sebelum
sampai pada bagian tersebut, penekanan terutama ditujukan pada masalah
keamanan. Java memungkinkan penyusunan program yang bebas virus, sistem
yang bebas dari kerusakan.
Netral Arsitektur (Architecture Neutral)
Kompiler membangkitkan sebuah format file dengan objek arsitektur
syaraf, program yang di kompile dapat dijalankan pada banyak prosesor,
disini diberikan sistem run time dari Java. Kompiler Java melakukannya
dengan membangkitkan instruksi-instruksi kode byte yang tidak dapat
dilakukan oleh arsitektur komputer tertentu. Dan yang lebih baik Java
dirancang untuk mempermudah penterjemahan pada banyak komputer dengan
mudah dan diterjemahkan pada komputer asal pada saat run-time.
Portabel (Portable)
Tidak seperti pada C dan C++, di Java terdapat ketergantungan pada saat
implementasi (implement dependent). ukuran dari tipe data primitif
ditentukan, sebagaimana kelakuan aritmatik padanya. Librari atau pustaka
merupakan bagian dari sistem yang mendefinisikan interface yang
portabel.
Interpreter
Interpreter Java dapat meng-eksekusi kode byte Java secara langsung pada
komputer-komputer yang memiliki interpreter. Dan karena proses linking
dalam Java merupakan proses yang kenaikannya tahap demi tahapdan
berbobot ringan, maka proses pengembangan dapat menjadi lebih cepat dan
masih dalam penelitian.
Kinerja Yang Tinggi (High Performance)
Meskipun kinerja kode byte yang di interpretasi biasanya lebih dari
memadai, tetapi masih terdapat situasi yang memerlukan kinerja yang
lebih tinggi. Kode byte dapat diterjemahkan (pada saat run-time) de
dalam kode mesin untuk CPU tertentu dimana aplikasi sedang berjalan.
Multithreaded
Multithreading adalah kemampuan sebuah program untuk melakukan lebih
dari satu pekerjaan sekaligus. Keuntunga dari multithreading adalah
sifat respons yang interaktif dan real-time.
Dinamis
Dalam sejumlah hal, Java merupakan bahasa pemrograman yang lebih dinamis
dibandingkan dengan C atau C++. Java dirancang untuk beradaptasi dengan
lingkungan yang terus berkembang. Librari dapat dengan mudah menambah
metode dan variabel contoh yang baru tanpa banyak mempengaruhi klien.
Informasi tipr run-time dalam Java adalah langsung (straigtforward).
Sumber
Tidak ada komentar:
Posting Komentar