J2ME (Java 2 Micro Edition)

Seperti yang kita tahu bahwa sebelum kemunculan android , platform j2me sangat handal, karena beroperasi secara multiplatform. Kita hanya perlu menginstal Java Runtime untuk menjalankan aplikasi java diatas platform apapun, sesuai dengan slogan “write once, run anywhere”.



                 J2ME

     J2ME adalah platform yang sangat hebat sebelum adanya android. J2ME mempunya Komponen CLDC untuk menjangkau komponen gadgets menengah kebawah, dari pagers, handphones sampai PDA. Dan disediakan pula komponen CDC, untuk gadgets menengah  ke atas sampai ke tingkat Set Top Box (Aplikasi pada Televisi Berlangganan).


1.  J2ME (Java 2 Micro Edition)
clip+cover   
     Java 2 Micro Edition (J2ME) merupakan bagian dari platform java yang terdiri dari kumpulan dari Java API untuk mengembangkan softwareyang bersifat kecil, ramping, dan hemat memori. Pada saat ini, J2ME sangat populer untuk pengembangan game pada mobile device dan pengembangan aplikasi-aplikasi mobile. Pada taraf pengembangan aplikasi J2ME memiliki emulator yang dapat dipergunakan untuk tes aplikasi komputer pengembang, sehingga pengembang dapat lebih mudah melakukan coding, testing dan debugging pada emulator yang terdapat pada PC.


     J2ME terbagi menjadi 2 bagian, bagian yang pertama merupakan platform yang diperguanakan untuk mengembangkan palikasi taraf small mobile device sedangakan bagian kedua merupakan platform yang dipergunakan untuk mengembangkan aplikasi pada taraf smart phone mobile device. Untuk tafar small device biasa menggunakan Connected Limited Device Configuration (CLDC) sedangkan untuk taraf smart phone menggunakan Connected Device Configuration (CDC).

     CLDC merupakan kumpulan dari Java library yang ditujukan untuk pengembangan aplikasi dengan taraf small mobile device. CLDC didesain secara khusus agar aplikasi yang dibuat dengan library di CLDC dapat berjalan pada kondisi memori yang terbatas, supply power atau tenaga yang kecil dan kemampuan grafis yang minimum. Konfigurasi dari CLDC terdiri dari set-set library dan fitur dasar dari virtual machine yang diimplementasikan ke dalam lingkungan J2ME.

     Mobile Information Device Profile (MIDP) merupakan kumpulan dari library Graphical User Interface (GUI) API. Di dalam MIDP juga terdapat API untuk kepentingan pengembangan aplikasi yang berbasiskan grafik 2D seperti mobile game. Sedangkan MIDlet merupakan aplikasi mobile yang ditulis menggunakan bahasa pemrograman Java oleh 
software developer. MIDlet dapat ditulis sekali dan dapat berjalan pada setiap mobile device yang mendukung spesifikasi Java Mobile.

     J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini menghabiskan sedikit daya dari baterei karena memiliki jumlah memori yang terbatas, layar yang kecil dan bandwith jaringan yang rendah.Dengan perkembangbiakan perangkat mobile konsumer dari telepon, PDA, kotak permainan ke peralatan-peralatan rumah, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada perangkat ini.

     Program J2ME, seperti semua program JAVA adalah diterjemahkan oleh VM. Program-program tersebut dicompile ke dalam bytecode dan diterjemahkan dengan Java Virtual Machine(JVM).Ini berarti bahwa program-program tersebut tidak berhubungan langsung dengan perangkat. J2ME menyediakan suatu interface yang sesuai dengan perangkat. Aplikasi-aplikasi tersebut tidak harus dicompile ulang supaya mampu dijalankan pada mesin yang berbeda. J2ME terletak pada configuration dan profile-profile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan core library, virtual machine, fitur keamanan dan jaringan.


Kelebihan dan Kekurangan

Kelebihan J2ME

     Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.

     OOP (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.

     Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

     Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

     Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan J2ME

     Tulis sekali, perbaiki di mana saja – Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

     Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.

     Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.