Bahasa pemrograman java dibuat pada tahun 1991 oleh James Gosling, seorang ahli pemrograman yang bekerja di Sun Microsystem. Awalnya bahasa pemrograman ini diberi nama Oak. Yang mendapat inspirasi dari sebuah pohon yang berada di seberang kantornya.Akan tetapi nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, maka kemudian Sun mengganti namanya menjadi java. Nama java sendiri diinspirasi saat Gosling dan rekannya sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata java yang mengandung arti kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan java.
Karena pada awalnya java ditujukan untuk pemrograman peralatan sederhana atau kecil, java memiliki karakteristik berukuran kecil, efisien, dan portabel untuk berbagai piranti keras. Salah satu dari proyek pertama yang dikembangkan menggunakan java sebuah remote kontrol yang diberi nama Star 7.
Pada saat yang sama, World Wide Web dan Internet berkembang sangat cepat. Gosling menyadari bahwa java dapat digunakan untuk pemrograman Internet. Selanjutnya java diarahkan untuk perkembangan Internet.
Setelah melalui beberapa perubahan dan proses, Sun meluncurkan browser dari java yang disebut Hot Java yang mampu menjalankan applet. Teknologi ini kemudian diadopsi oleh Netscape. Beberapa waktu kemudian Internet Explorer juga mengadopsi teknologi tersebut, sehingga selain dapat dijalankan pada browser Netscape, program Java juga dapat dijalankan pada browser Internet Explorer.
Pada awal tahun 1996, Sun secara resmi meliris versi awal Java yang kemudian terus berkembang hingga muncul JDK 1.1 (Java Development Kit versi 1.1). Perkembangan terus dilakukan, sehingga muncul versi terbaru yang disebut dengan Java 2. Perubahan utama antara versi 2 dengan versi sebelumnya adalah adanya swing yang merupakan teknologi Graphical User Interface (GUI) yang mampu menghasilkan aplikasi desktop yang benar-benar portabel.
Pada tahun 1998-1999 diluncurkan teknologi Java yang berbasis Enterprise yang disebut J2EE (Java 2 Enterprise Edition). Kelebihan Java dalam lingkungan jaringan dan terdistribusi serta memiliki kemampuan multithreading, menjadikan Java cepat populer di lingkungan server.
Selain, teknologi berbasis server, applet, dan desktop, java juga mengembangkan teknologi berbasis mobile yaitu J2ME (Java 2 Micro Edition). Dengan J2ME ini, programmer dapat membuat aplikasi untuk perangkat bergerak / mobile.
Sumber : file:///C:/Users/user/Downloads/sejarah-j2me.html
Pengaplikasiannya...
Pada Java versi 1.2, Sun Microsystem membagi arsitektur Java dalam beberapa bagian yaitu [2]:
* Java 2 Standard Edition (J2SE), kategori ini digunakan untuk aplikasi Java pada level PC (Personal Computer).
* Java 2 Enterprise Edition (J2EE), kategori ini digunakan untuk aplikasi pada lingkungan Enterprise, dengan fungsionalitas tambahan java seperti EJB (enterprise Java Bead), Java CORBA, Servlet serta JSP dan XML (Extensible Markup Language).
* Java 2 Micro Edition (J2ME), kategori ini digunakan untuk aplikasi pada embedded system dan handled devices seperti handphone, Palm, PDA, Pocket PC yang memiliki karakteristik berbeda dengan komputer biasa.
* Java Card, kategori ini khusus untuk aplikasi pada smart card seperti SIM card.
KOMPONEN
J2ME memiliki komponen sebagai berikut [2] :
* Java Virtual Machine (JVM). Komponen ini merupakan lingkungan tempat eksekusi program Java berlangsung dimana objek saling berinteraksi. Virtual Machine menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar. Pada CLDC, ini disebut K Virtual Machine, menggambarkan singkatan kilo byte yang bahwa Virtual Machine ini berkerja pada lingkungan yang sangat kecil.
* Java Application Programming Interface (Java API). Merupakan kumpulan library untuk menjalankan dan mengembangkan pada emulator atau handled devices.
* Tools lain untuk pengembangan aplikasi Java, seperti emulator
ARSITEKTUR
J2ME terbagi dalam 2 bagian yaitu [2]:
a. J2ME Configuration adalah spesifikasi yang mendefenisikan lingkungan kerja J2ME (dapat berupa JVM lengkap atau bagian tertentu) dan kumpulan API dasar yang mengimplementasikan fitur standar handled devices. Terdapat 2 kategori J2ME Configuration :
1. Connected Limited Devices Configuration (CLDC)
Konfigurasi untuk perangkat wireless (handphone, organizer / PDA, two way pages ) dengan memori kecil (160 – 512 KBites ) dengan koneksi jaringan yang tetap / tidak. Keterbatasan pada CLDC menyebabkan beberapa fitur pada J2SE tidak disertakan. Fitur – fitur yang tidak disertakan tersebut seperti :
* Floating Point yang terdapat dalam kelas java.lang.Double dan java.lang.float
* Finalisasi Objek yang terdapat dalam kelas java.lang.object
* JNI yang memungkinkan untuk mengakses library yang dibuat tidak dengan bahasa java
* Error Exception yang terdapat dalam kelas java.lang.error , java.lang.OutMemory dan java.lang.VirtualMachineError
Pada CLDC juga ditambahakan fitur yang tidak terdapat pada J2SE. Fitur – fitur khusus ini seperti :
* Generic Connection Framework, merupakan kelas yang digunakan sebagai framework koneksi secara umum. Ini dilakukan dengan memperlakukan koneksi seperti Uniform Resource Locator (URL). Kelas ini digunakan untuk melakukan koneksi ke file, protokol HTTP, socket atau port.
* Kelas javax.microedition yang merupakan API untuk implementasi pada wireless programming.
* Mendefenisikan hierarki tipe kooneksi dasar untuk koneksi jaringan, sedangkan defenisi protokol jaringan dilakukan oleh CDC.
2. Conected Device Configuration (CDC)
Konfigurasi untuk perangkat wireless dengan memori 2 MBites lebih (Set Tob Box, Internet Enabled Screen Phones, Internet TV, High – End Communicator, Car Televition, Auto Mobile Entertainment / Navigation System) dengan koneksi jaringan yang lebih kokoh / dapat kebeberapa tipe jaringan.
b. J2ME Profile adalah spesifikasi yang mendefenisikan implementasi tambahan yang sangat spesifik dari Handled Devices. Terdapat 5 kategori J2ME Profile :
* Mobile Information Device Profile (MIDP). Profil yang menyediakan library Java untuk implementasi dasar antarmuka (GUI), jaringan (Networking), basisdata (database), penyimpanan tetap (persistant strage), daur hidup aplikasi (Application life cicle), dan timer (Personal Information Management). MIDP dirancang khusus untuk wireless phone dan pager serta dibangun berdasarkan CLDC.
* Foundation Profile (FP). Profil dasar untuk non – GUI network devices pada CLDC dengan ROM 1024 k dan RAM 512 k.
* Personal Profile. Profil dengan GUI yang memiliki tingkat keakuratan web tinggi dan mampu menjalankan applet
* RMI Profile
* PDA Profile
Selain itu, beberapa perusahaan juga mengembangkan Profile sendiri yang spesifik digunakan untuk Handled Devices produksinya seperti NTT DoCoMo Jepang.
MIDLET
Aplikasi yang berjalan diatas MIDP disebut MIDLet [1]. Aplikasi ini tidak berinteraksi langsung dengan hardware tapi melalui program khusus yang disebut Application Management Software (AMS).
Pengaplikasian API ditentukan oleh interaksi antara Aplikasi dengan MIDLet serta bagaiman MIDLet dikontrol. MIDLet terdiri atas:
a. MIDLet Suite dan Descriptor.
Aplikasi dalam J2ME dikemas dalam file *.JAR dan selanjutnya terdapat Descriptor yang disebut application describtor berupa file*.JAD untuk mendeskripsikan file JAR tersebut.
b. Java Class
c. Resource
Siklus hidup (LifeCycle) dari sebuah MIDLet ditangani oleh AMS. AMS adalah program bawaan (built in) yang melakukan penanganan eksekusi aplikasi atau sebagai lingkungan tempat MIDlet diciptakan, dijalankan, dihentikan dan dihancurkan. AMS disebut juga dengan Java Application Manager (JAM). MIDLet memiliki beberapa state (MIDLet State) yaitu Pause, Active, Destroy [1].
Sumber : http://lailiaidi.wordpress.com/2007/06/05/j2me-bright-generation-of-wireless-tech/#comment-225