Sharing Knowledge is Fun

Mengenal Java

25/12/2008 10:27

Java merupakan suatu bahasa pemprograman berorientasi objek. Seperti bahasa pemrogramman C++ dan Smaltalk yang lahir sebelumnya. Hanya saja java memiliki beberapa kelebihan dibandingkan dengan kedua bahasa tersebut. Java dapat beroperasi lintas platform (sistem operasi), dikenal dengan istilah platform independent atau sering disebut write once run everywhere. Maksudnya sekali kita menulis kode java dan melakukan kompilasi kode tersebut, hasil kompilasinya bisa dijalankan di semua sistem operasi. Hasil kompilasi kode java di windows dapat langsung dijalankan di linux. Begitu juga sebaliknya. Hal ini tidak bisa dilakukan untuk kode program C, C++ dan Smaltalk. Kode program C++ hasil kompilasi di windows agar bisa jalan di linux harus dilakukan kompilasi ulang di linux. Hal yang sama terjadi pada bahasa pemprograman lain yang tidak bebas platform.

Sejarah Java

Java lahir dari The Green Project yang dimualai dari tahun 1991 sampai dengan 1992. Para pelopornya adalah orang-orang dari Sun Microsystem yakni James Gosling (sekarang dikenal sebagai bapak Java) dan beberapa kawannya. Pada saat itu nama java belum diperkenalkan. The Green Project menghasilkan suatu bahasa pemrogramman yang saat itu dikenal dengan Oak. Oak ditujukkan sebagai bahasa pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen) seperti PDA sekarang ini. Selain itu bahasa ini ditujukkan juga untuk mendukung teknologi TV kabel.

Sayangnya pasar yang didukung bahasa Oak saat itu sedang lesu. Pada saat yang sama sedang muncul suatu tren teknologi baru yang dikenal dengan internet. Teknologi internet yang awalnya hanya dipakai dikalangan akademisi dan militer mulai menyebar menjadi teknologi yang bisa dimiliki oleh setiap orang. Oak pun mengalami reorientasi, target utamanya akan menjadi pemain utama di internet. Merekapun mendaftarkan paten Oak pada tahun 1995, sayangnya daftar paten untuk Oak sudah digunakan oleh teknologi bahasa pemrogramman lain. Akhirnya James Gosling mengusulkan nama Java sebagai penggantinya. Terinspirasi oleh kopi Java yang selalu menemani mereka dalam pembuatan program ini.

Mereka membuat sebuah browser internet yang diberinama Mosaic Browser. Browser ini sebagai landasan browser java pertama yang diberinama Web Runner, terinspirasi oleh sebuah film, Blade Runner. Pada perkembangan rilis pertama Web Runner berganti nama menjadi HotJava. Java memberikan sumbangsih yang besar pada dunia internet dengan aplikasi appletnya.

Semenjak kemunculan Java pada tahun 1995 sampai saat ini penerimaan terhadap teknologi ini sangat luar biasa. Pada tahun 1996 rilis resmi Java versi 1.0 keluar dan sampai sekarang terus mengalami revolusi yang luar biasa (saat tulisan ini ditulis java akan segera merilis versi 1.7). Sekarang aplikasi Java terdapat di berbagai macam aplikasi mulai dari embedded system, mobile application, simulasi penerbangan, Games, desktop application, web application, image processor sampai aplikasi system terdistribusi. Dari skala kecil, menengah sampai skala enterprise.

Java Sebagai Suatu Platform

Platform adalah suatu lingkungan hardware atau software dimana suatu program dapat berjalan di dalamnya. Contoh platform adalah Microsoft Windows, Linux, Solaris OS dan Mac OS. Suatu platform biasanya merupakan kombinasi dari sistem operasi dan seperangkat hardware. Terminologi Java bukan hanya merujuk pada suatu bahasa pemrogramman. Melainkan juga sebagai suatu platform. Tapi platform Java hanya terdiri dari komponen software (tanpa komponen hardware).
Java sebenernya mewakili tiga hal berikut :

1. Bahasa Pemrogramman

Sebagai suatu bahasa pemrogramman, java memiliki sintak (dalam bahasa manusia adalah kosa kata, grammer dan kalimat) yang mirip dengan bahasa C. Paradigma pemrogrammannya adalah object oriented programmin (OOP) atau pemrogramman berorientasi objek. Penekanannya bukan pada alur (struktur) tapi pada objek, properti dan state-state yang dimiliki oleh objek tersebut. Di sini Java hadir untuk mengatasi kendala-kendala (kompleksitas) bahasa pendahulunya dan menghilangkan hambatan antar sistem operasi. Java memiliki jargon yang sangat terkenal yaitu write once run anywhere yang disingkat dengan WORA.

2. Sebagai Mesin Virtual

Java Virtual Machine (JVM) adalah suatu mesin virtaul yang menginterpretasikan bytecode-bytecode java ke dalam bahasa mesin. Bytecode java adalah adalah file hasil kompilasi kode java (ekstension filenya adalah .class). Jika sutu program java bernama ProgramA.java dikompilasi maka hasilnya adalah ProgramA.class (inilah yang disebut bytecode java). Sebenernya paradigma pemrogramman dengan cara menginterpretasikan kode (dalam java adalah bytecode) menurut para ahli kurang bagus dari sisi performance (kecepatan). Tapi JVM mencoba mengatasi masalah ini dengan menerapkan teknik just in time (JIT) compilation yaitu java bytecode langsung dikompilasi menjadi bahasa mesin untuk kode-kode program yang dijalankan secara berulang-ulang.

3. Application Programming Interface (API)

Adalah sekumpulan komponen software (kelas-kelas dan interface-interface java) siap pakai yang memiliki berbagai kegunaan dan kemampuan yang berbeda-beda. Sekumpulan kelas-kelas dan interface-interface yang saling berkaitan diorganisasikan dalam suatu library. Library ini dikenal dengan sebutan package (paket).

Berikut adalah kumpulan library dasar di java :

  • java.lang : adalah paket yang berisi kelas-kelas elemen dasar (untuk melakukan pemrogramman). Jika kita menggunakan kelas-kelas ini dalam kode kita tidak perlu melakukan import lagi.
  • java.io : adalah paket yang berisi kelas-kelas untuk melakukan manipulasi masukan dan keluaran (input dan output) termasuk penanganan masalah file.
  • java.util : adalah paket yang berisi kelas-kelas pelengkap seperti kelas struktur data dan kelas penanggalan.
  • java.net : adalah paket yang berisi kelas-kelas yang memungkinkan komputer saling berinteraksi dengan komputer yang lainnya melalui jaringan TCP/IP.
  • java.awt : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat aplikasi dengan antarmuka grafis, Graphical User Interface (GUI).
  • java.applet : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat antarmuka (applet) yang interaktif di web.Semua program yang ditulis dalam java pasti memanfaatkan API Java ini.
  •  


Cara Kerja Java

Ada dua paradigma yang digunakan dalam pembuatan suatu bahasa pemrogramman. Pertama dengan cara menginterpretasi kode-kode program, setiap kali suatu kode akan diekseksui oleh mesin, kode-kode tersebut diterjemahkan dulu ke bahasa yang dapat dimengerti oleh mesin (bahasa biner). Dalam hal ini percis seperti posisi seorang penerjemah yang menjembatani dua orang yang saling berkomunikasi dengan menggunakan dua bahasa yang berbeda. Posisi si penerjemah sangat sibuk, mendengarkan si pembicara kemudian menyampaikannya dengan bahasa yang dapat dimengerti oleh lawan bicaranya. Si interpreter menerjemahkan kode-kode program ke suatu bahasa yang bisa dimengerti oleh mesin. Contoh bahasa pemrogramman dengan teknik interpreter adalah Phyton, PHP dan PERL. Kedua dengan meng-compile kode-kode program tersebut langsung menjadi bahasa yang dapat dimengerti oleh mesin. Mungkin analoginya ini seperti orang yang menerjemahkan suatu surat dari bahasa yang satu kepada bahasa yang lain. Ketika surat tersebut sudah diterjemahkan, si penerima langsung mengerti isi keseluruhan surat tersebut tanpa memerlukan perantara lagi. Contoh bahasa pemrogramman dengan teknik kompilasi adalah C dan C++.

Melihat gambaran yang diberikan, biasanya suatu bahasa pemrogramman dengan menggunakan teknik kompilasi jauh lebih cepat dibandingkan bahasa pemrogramman yang menggunakan teknik interpreter (penerjemah). Tapi pemrogramman dengan teknik kompilasi biasanya memilik kelemahan yaitu OS Dependent (ketergantungan pada Operating System - Sistem Operasi), artinya hasil kompilasi program pada system operasi tertentu tidak bisa dijalankan pada sistem operasi yang berbeda. Misal anda membuat aplikasi dengan menggunakan bahasa C (C menggunakan teknik kompilasi) pada Windows XP maka program tersebut tidak bisa dijalankan pada sistem operasi linux. Sementara pada program dengan teknik interpretasi, ketergantungan OS ini dapat diatasi. Anda menulis skrip python, baik menjalankannya pada linux ataupun windows hasilnya akan sama saja.

Terus teknik apa yang digunakan oleh java? Java menggunakan kedua teknik tersebut. Pertama kode-kode bahasa java di-compile menjadi byte code, kemudian oleh JVM, byte code - byte code ini diterjemahkan ke dalam bahasa mesin. Berikut gambaran bagaimana suatu program java dikonstruksi sampai dijalankan.

 

Back

Search site

© 2009 Teknik Informatika UNKRIS