Java adalah bahasa
pemrograman yang dapat dijalankan
di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya
dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun1995. 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 didisain 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
Bahasa pemrograman Java terlahir dari The Green Project, 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, dan James Gosling, 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. 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.
Mereka
menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat
perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an,
Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi
Hot Java.
Pada
sekitar bulan Maret 1995, untuk pertama kali kode sumber
Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan
pertama kali pada surat kabarSan 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. 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 pada tahun 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:
·
java.lang: Peruntukan kelas elemen-elemen dasar.
·
java.io: Peruntukan kelas input dan output, termasuk penggunaan
berkas.
·
java.util: Peruntukan kelas pelengkap seperti
kelas struktur data dan kelas kelas penanggalan.
·
java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan
komputer lain menggunakan jaringan TCP/IP.
·
java.awt: Kelas dasar untuk aplikasi antarmuka
dengan pengguna (GUI)
·
java.applet: Kelas dasar aplikasi antar muka untuk
diterapkan pada penjelajah web.
Kelebihan
·
Multiplatform. Kelebihan utama dari Java ialah dapat
dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan
di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan
dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa
perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan
diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft
Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya
sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
·
OOP (Object Oriented
Programming - Pemrogram Berorientasi Objek)
·
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan
kelengkapan library/perpustakaan (kumpulan program program yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh
para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini
ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat
perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan
aplikasi.
·
Bergaya C++, memiliki sintaks seperti bahasa
pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini
pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke
Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan
Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan
dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
·
Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya
dalam bahasa C++ yang dipakai secara luas).
Kekurangan
·
Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridgeyang sampai sekarang tidak berfungsi pada Mac OS X.
·
Mudah didekompilasi. Dekompilasi adalah proses membalikkan
dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java
merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama
kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian,
algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah
dibajak/direverse-engineer.
·
Penggunaan memori yang banyak. Penggunaan memori
untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi
generasi sebelumnya seperti C/C++dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan
merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend
memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih
harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh kode program sederhana
·
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
·
// Outputs "Hello, world!" and then exits
·
public class HelloWorld {
·
public static void main(String args[]) {
·
System.out.println("Hello, world!");
·
}
·
}
Tahap Kompilasi
1. Tulis / Ubah.
Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas
'.java'.
2. Kompilasi.
Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
3. Muat. Pemuat kelas
memuat bytecodes ke memori.
4. Verifikasi.
Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
5. Jalankan. Penerjemah
menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’


