Belajar, blog, Miscellaneous, pemrograman, Uncategorized, Untuk Kita, viewpoint

Java Introduction (What is Java? – Apakah itu Java?)

An Introduction (What is Java)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. 

Java Runtime Life Cycle
Java development and runtime process

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 

Penempatan Java VM dan Java API
Tempat dan cara bekerja Java VM dan Java API

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. The Power of Share – sm/22310/ja.

6 thoughts on “Java Introduction (What is Java? – Apakah itu Java?)

  1. wah.. bagi ane java emang luar biasa.. apalagi untuk web.. bisa buat apa aja.. sayangnya ane kaga ngarti!! hehe.. eh.. bahasa C jg lebih kepake ya?? ane lebih ga ngerti lagi tuh.. hehe..

    1. kang, ente yang menurut pengakuan kaga ngarti aja bilang luar biasa apalagi kalau ente bilang ngarti ya?! hehe..

      ya, bahasa C saya rasa adalah bahasa yang huebat juga. nyatanya sampai sekarang masih terus hidup dan banyak tuh dipake sebagai dasar bahasa pemrograman, termasuk Java yang bermula dari C (atau C++ ya?! lupa).

  2. Ikutan komen ah biar dikira bisa, xixiixixixiiii

    Yups, java itu seperti yang dibilang mas Iplu, sayang nggak dilampirin gambar life cycle-nya program java dari write sampe run biar semakin jelas mas….
    dan sekarang semakin banyak bahasa pemrograman yang mirip dengan java dalam bidang platform independent (seperti .NET dan AIR), dan juga dalam bidang garbage collection (hampir semua bahasa pemrograman baru udah pake garbage collection).

    Bagi yang mo belajar java, disarankan editornya pake BlueJ aja. Coz kita nggak perlu bikin PSVM buat jalanin sebuah class, disamping itu ada gambaran visual dari relasi class yang sudah kita buat. Kalo buat yang profesional baru pake Netbeas, Eclipse, ato IntellijIdea yang keren buanget….

    1. kang kaqfa ini sukanya merendah. ntar tambah rendah lho kang. :apanya ya?!

      thanks masukannya kang, udah diupdate tuh. udah ditambahin gambarnya. :D

      ps. buat yang gak tahu, PSVM dalam Java stand for (halah) public static void main. kalau dalam selain Java, silakan googling. :D

    1. selamat datang om eS. kalau belajar dilanjutkan ya.. itu ada kang kaqfa yang bisa ketemu langsung. eh, si kaqfa masih nguprek-nguprek Java gak ya?! :D

Leave a comment