14 Januari 2009

Sekilas Java dan J2ME

Sejarah Java. Java adalah bahasa pemrograman yang disusun oleh James Gosling yang dibantu oleh rekan-rekannya Patrick Naugton, Chris Warth, Ed Frank, dan Mike Sheridan di suatu perusahaan perangkat lunak yang bernama Sun Microsystem, pada tahun 1991. Bahasa pemrogramaman ini mula-mula diinisialisasi dengan nama "Oak", namun pada tahun 1995 diganti namanya menjadi "Java".

Alasan utama pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat dijalankan pada berbagai macam platform dari berbagai perangkat elektronik, seperti komputer, mobile phone, remote, dsb. Itulah mengapa dalam pemrograman Java dikenal istilah "write once, run everywhere", yang berarti kode program hanya ditulis sekali, namun dapat dijalankan di bawah platform manapun, tanpa harus melakukan perubahan kode program.

Seperti bahasa pemrograman lainnya, Java pun memiliki suatu kompiler yang disebut dengan javac atau Java Compiler. Java Compiler akan mentransformasikan kode-kode dalam bahasa Java ke dalam suatu bytecode yang kemudian dapat dieksekusi melalui sebuah mesin komputer abstrak yang disebut dengan JVM (Java Virtual Machine).

Pada awal rilisnya, versi Java 1.0 disebut dengan JDK (Java Development Kit). Dalam JDK, semua kebutuhan untuk pengembangan program dan eksekusi program masih tergabung menjadi satu. Hal ini berlaku sampai versi Java 1.1. Namun sekarang, pada Java 2, Sun Microsystems menamainya dengan JSDK (Java Software Development Kit). Dalam hal ini kebutuhan untuk pengembangan program dipisahkan dengan kebutuhan eksekusi. Bagian software yang digunakan untuk kebutuhan eksekusi program disebut dengan JRE (Java Runtime Environtment).

Pada Java 2, Sun Microsystems mengeluarkan tiga buah edisi yang memiliki kegunaan yang berbeda-beda, yaitu:
  • Java 2 Standard Edition (J2SE), digunakan untuk mengembangkan aplikasi-aplikasi desktop dan aplet (aplikasi Java yang dapat dijalankan di dalam browser web).
  • Java 2 Enterprise Edition (J2EE), merupakan bagian dari J2SE, digunakan untuk mengembangkan aplikasi-aplikasi berskala besar (enterprise), seperti aplikasi server, aplikasi web, dan teknologi lain seperti CORBA dan XML.
  • Java 2 Micro Edition (J2ME), merupakan bagian dari J2SE, digunakan untuk mengembangkan aplikasi-aplikasi di dalam perangkat-perangkat kecil, dengan memori terbatas, display terbatas dan pemrosesan yang terbatas, yang tidak memungkinkan untuk mendukung implementasi J2SE secara penuh.
*Platform Java 2: J2SE, J2EE dan J2ME

Sekilas J2ME. J2ME merupakan sebuah versi yang direduksi dari Java API dan Java Virtual Machine (JVM) yang didesain untuk dapat dioperasikan dalam komputer dan mikrokomputer. J2ME diarahkan untuk diaplikasikan pada piranti komputasi kecil seperti handphone, PDA, smartphone, dll. Untuk mendukung berbagai macam piranti ini, J2ME memiliki konfigurasi dan profil yang mendefinisikan kelas Java API yang dapat digunakan oleh aplikasi. J2ME sendiri pada dasarnya terdiri dari tiga buah bagian, yaitu konfigurasi, profil dan paket-paket opsional.

Konfigurasi merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Hanya ada dua macam konfigurasi yang disediakan oleh Sun Microsystem, yaitu:
  • Connected Limited Device Configuration (CLDC), bersifat pribadi yaitu piranti yang kadang-kadang terhubung dengan jaringan. Konfigurasi ini banyak digunakan dalam aplikasi Java pada perangkat komunikasi mobile kita seperti handphone, PDA, dll.
  • Connected Device Configuration (CDC), bersifat terus-menerus yaitu piranti yang terus menerus terhubung dengan jaringan.
Profil merupakan bagian perluasan dari konfigurasi. Artinya, selain kumpulan kelas yang terdapat pada konfigurasi, terdapat juga kelas-kelas khusus yang didefinisikan di dalam profil. Dengan kata lain profil membantu menyediakan kelas-kelas yang tidak terdapat pada level konfigurasi. Salah satu profil yang sangat umum digunakan adalah profil MIDP (Mobile Information Device Profile) yang disediakan oleh Sun Microsystem.

Pembahasan lebih lanjut mengenai aplikasi Java yang akan dibangun pada tugas akhir saya adalah hanya akan berhubungan dengan pemrograman J2ME, yang akan digunakan untuk aplikasi pada perangkat handphone.