My Weblog

Just another WordPress.com weblog

Java Sebagai Suatu Platform

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: