
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.
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.
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.