Memenuhi tuntutan diri dan juga salah seorang adik angkatan di kampus, saya kembali mengulang pelajaran a.k.a salah satu mata kuliah yang saya sukai. Yupz, it’s Java. Sebuah bahasa pemrograman yang pertama kali dibuat oleh James Gosling pada tahun 1991 dengan nama Oak sebagai honor sebuah pohon di luar jendela miliknya yang kemudian diganti dengan Java. Sebuah bahasa pemrograman yang teknologinya disebut sebagai bahasa pemrograman dan platform. Nah lho, mumet kan?! Lebih lanjut mengenai karakter Java ini, bisa dibaca di whitepaper yang ditulis James Gosling dan Henry McGilton, The Java Language Environment di alamat  http://java.sun.com/docs/white/langenv/.

Oke, pertama sekali sebelum mengenal lebih jauh seperti apa sih model bahasa pemrograman yang dibuat dengan nama sebuah pulau di Indonesia ini, maka saya akan menjelaskan mengenai dasar bahasa Java ini; sebelum ke konsep pemrograman berbasis obyek yang dimiliki Java. 

Bahasa pemrograman Java ini seluruh source code ditulis dalam sebuah file plain text dengan extensi .java yang bisa dimengerti oleh manusia. Selanjutnya file .java tersebut akan dikompile menjadi bentuk file .class dengan compiler javac. Nah, file .class ini tidak berupa kode yang bisa dibaca oleh processor karena berbentuk bytecodes, yaitu bahasa mesin dari Java Virtual Machine atau JVM yang merupakan sebuah mesin virtual untuk platform Java. 

Lalu, kok ada orang bikin aplikasi Java pake user interface yang tinggal klik sana-klik sini? Ada banyak editor yang dapat digunakan untuk membuat sebuah program dengan bahasa Java. Ada yang text based (seperti notepad, gnome editor, dan vim) dan juga Integrated Development Environment (IDE) semacam Eclipse, atau Netbeans. Programmer yang membuat program Java dengan IDE sehingga dapat melakukan klik sana-sini dimaksudkan agar proses menulis baris kode tidak terlalu banyak dan lebih mudah. Namun, pada dasarnya program IDE tersebut secara otomatis menuliskan kode program pada file .java

Kembali ke file .class tadi yang berisikan bytecodes, jenis file ini tidak seperti kebanyakan jenis file lainnya yang tidak dapat berjalan di sembarang sistem operasi. Karena dia adalah bahasa yang hanya dimengerti oleh platform independen yaitu JVM, maka seperti halnya JVM yang bisa berjalan di segala jenis platform sistem operasi, baik Microsoft Windows, Solaris, Linux maupun Mac OS, file .class ini juga kapabel untuk berjalan di jenis sistem operasi tadi jika ada JVM pada platform atau sistem operasi tersebut. 

Nah, jika berbicara soal platform saya jadi ingat bahwa platform Java terdiri dari dua komponen yaitu; Java VM (Virtual Machine) dan Java API (Application Programming Interface). Java VM adalah mesin virtual yang menjadi mesin transportasi bagi bahasa Java sehingga dapat dimengerti oleh hardware. Sedangkan Java API adalah kumpulan komponen siap pakai yang dikelompokkan ke dalam library-library (kalau diterjemahkan ke dalam bahasa Indonesia masak ‘perpustakaan’?! gak enak) yang disebut dengan packages. Karena menggunakan platform independen inilah, biasanya program-program dengan bahasa Java kadang (dan seringnya begitu) akan berjalan lambat dan semakin lambat setelah berjalan selama beberapa waktu. Ya, saya rasa AIR juga seperti itu. :D 

Satu lagi fitur dalam bahasa pemrograman Java dikenal dengan nama Garbage Collection (GC). Garbage Collection adalah sebuah thread yang bertanggung jawab untuk membersihkan memory yang mungkin. Hal ini berjalan secara otomatis pada saat program sedang berjalan (lifetime). Dengan demikian, maka programmer tidak perlu lagi untuk melakukan dealokasi _memory _yang tidak perlu. 

Okay, sampai di sini dulu tulisan pertama ini. Sebelum berlanjut ke konsep yang lainnya, ada baiknya download Java Development Kit (JDK). JDK adalah sebuah software yang di dalamnya terdapat API dan tool yang dibutuhkan untuk membuat aplikasi dengan bahasa pemrograman Java. Untuk download silakan klik di sini

Selamat belajar dan tunggu tulisan berikutnya.