Java 2 Micro Edition J2ME

2.3. Java 2 Micro Edition J2ME

Java menurut definisi dari Sun adalah nama sekumpulan teknologi untuk membuat dan menjalankan aplikasi perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Java2 adalah generasi kedua dari java platform. Salah satunya adalah platform J2ME yang menjalankan aplikasi java pada Palm, PocketPC, atau jenis PDA lainnya, bahkan sampai kepada model perangkat mobile yang mungkin sekarang sudah menjadi komsumsi umum.

2.3.1. Pengertian J2ME

Java2 micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak java pada barang elektronik beserta perangkat pendukungnya M. Salahuddin dan Rosa A.S, 2006. Pada J2ME, jika perangkat lunak berfungsi pada sebuah perangkat maka belum tentu juga dapat berfungsi pada perangkat lainnya. J2ME membawa Java ke dunia informasi, kominikasi, dan perangkat komputasi lain selain perangkat komputer desktop yang biasanya lebih kecil dari komputer desktop. J2ME biasa digunakan pada telepon seluler, pager, PDA, dan sejenisnya. J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai library khusus yang tidak dimiliki J2SE. profile configuration JVM Sistem Operasi Kumpulan Library Gambar 2.3 Arsitektur J2ME Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat device yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori ponsel sangat terbatas. Sebagian ponsel tidak mengijinkan aplikasi J2ME menulis pada file karena alasan keamanan. Configuration merupakan java library minimum dan kapabilitas yang dimiliki oleh para pengembang J2ME, yang maksudnya sebuah mobile device dengan kemampuan java akan dioptimalkan untuk menjadi sesuai. Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar device. Dalam J2ME telah didefinisikan dua buah configurasi yaitu CLDC Connected Limited Device Coniguration untuk perangkat kecil dan CDC Connected Device Coniguration untuk perangkat yang lebih besar. Berikut ini adalah lingkup CLDC dan CDC. Gambar 2.4 Lingkup Configuration Profile berbeda dengan configuration, profile membahas sesuatu yang spesifik untuk sebuah perangkat. Dalam J2ME terdapat dua buah profile yaitu MIDP dan Foundation Profile. Keterhubungan antara configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya adalah : Gambar 2.5 Hubungan J2ME dan J2SE

2.3.2. Configuration J2ME

Untuk mendukung berbagai jenis produk ponsel dan PDA yang sesuai dengan kebutuhan J2ME, Sun memperkenalkan konfigurasi pada J2ME yang sampai saat ini terdapat dua konfigurasi yaitu : 1. CLDC Connected Limited Device Coniguration CLDC atau Connected Limited Device Coniguration adalah perangkat dasar J2ME, spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME, seperti yang digunakan dalam telephone seluler, pager, dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memory, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, kelas,dan sebagai fungsi Java Virtual Machine yang dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut, JVM yang digunakan disebut KVM Kilobyte Virtual Machine. Posisi CLDC pada arsitektur J2ME dapat dilihat pada gambar berikut : CLDC Sistem Operasi KVM Kumpulan Library MIDP Gambar 2.6 Posisi CLDC Pada Arsitektur J2ME 2. CDC Connected Device Configuration CDC atau Connected Device Configuration adalah spesifikasi dari konfigurasi dari J2ME yang memiliki standarisasi. Implementasi CDC pada J2ME adalah source code yang menyambungkan dengan macam-macam platform. Berikut adalah perbedaan CLDC dan CDC : Tabel 2.1 Perbandingan antara CDC dengan CLDC CLDC CDC Mengimplementasikan subset dari J2SE Mengimplementasikan seluruh fitur J2SE JVM yang digunakan adalah KVM Kilobyte Virtual Machine JVM yang digunakan adalah CVM Compact Virtual Machine Digunakan pada perangkat handheld dengan ukuran memori 160 – 512 Kb Digunakan pada perangkat handheld dengan ukuran memori minimal 2 MB Prosesor : 16 – 32 Bit Prosesor : 32 Bit

2.3.3. Mobile Information Device Profile MIDP

MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profile J2ME. MIDP memiliki lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persistem. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API untuk multimedia. MIDP User Interface API memiliki API level tinggi dan level rendah. API level rendah berbasiskan penggunaan dari kelas abstrak canvas, sedangkan kelas API level tinggi antara lain Alert, form, List, dan TextBox yang merupakan ekstensi dari kelas abstrak Screen. API level rendah lebih memberikan kemudahan bagi pengembang untuk memodifikasi sesuai dengan kehendaknya, sedangkan API level tinggi biasanya hanya memberikan pengaksesan yang terbatas.

2.3.4. Kilobyte Virtual Machine KVM

Java Virtual Machine adalah software yang berfungsi untuk menjalankan program Java supaya dapat dimengerti oleh komputer. Kode program Java ditulis menggunakan editor teks seperti Notepad, Textpad, Editplus, Jcreator dan lainnya. Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras hardware yang disebut sebagai Java Bytecode .class. Dan JVM merupakan basis dari Java platform dan menjembatani antara bytecode dengan hardware.

2.3.5. MIDlet

MIDIlet adalah aplikasi yang dibuat menggunakan J2ME dengan profile Mobile Information Device Profile MIDP yang dikhususkan untuk digunakan pada handset dengan kemampuan prosesor, memori dan layar yang terbatas, misalnya ponsel, pager, PDA, Pocket PC dan sebagainya. Hingga saat ini ada dua versi platform Java J2ME yang umum digunakan pada telepon genggam yaitu MIDP 1.0 yang masih memiliki spesifikasi sederhana dan menyediakan fungsi dasar untuk aplikasi mobile, di antaranya basic user interface dan keamanan jaringan. Satu lagi MIDP 2.0, yang sudah ditambahkan berbagai fasilitas seperti game, multimedia, dukungan berbagai jenis konektivitas, maupun OTA. Solusi dan Pengembangan Java Meski aplikasi Java telah banyak digunakan pada telepon nirkabel, namun sudah menjadi hal umum bagi pengembang, bahwa Java tidak sepenuhnya dapat berjalan pada semua tipe ponsel meski pada telepon genggam tersebut sudah ditanamkan suatu platform Java. Semua file yang dibutuhkan untuk membangun MIDlet suite harus dikumpulkan dalam satu paket Java Archieve JAR. File kelas, image jika dibutuhkan, manifest adalah file yang dipaket ke dalam file JAR. File manifest berisi daftar pasangan atribut dan nilai yang dibutuhkan oleh Aplication Manager Software AMS untuk menginstal file yang terdapat didalam JAR kedalam peralatan. Ada sembilan atribut dalam manifest, enam atribut pertama wajib dimiliki oleh setiap manifest. Kesembilan atribut package tersebut adalah : Table 2.2 Atribut Package pada MIDlet NAMA MIDLET NILAI DAN FUNGSI MIDlet-Name Nama MIDlet yang juga sebagai nama untuk file JAR- nya. Misalnya : WirelessTrader MIDlet-Version Nomor versi dari MIDlet yang juga sebagai nomor versi pada file JAR-nya. Misalnya : 1.0.1 MIDlet-Vendor Nama provider MIDlet. Misalnya : wireless Java inc. MIDlet-n Atribut yang mendeskripsikan MIDlet. Nilai n diganti degan nilai numeric dimulai dari angka 1. format nilai dari atribut ini terkat dengan atribut dideskripsikan selanjutnya. Lanjutan Tabel 2.2 Atribut Package pada MIDlet Microedition-profile Versi dari spesifikasi MIDlet yang dapat berjalan. Dapat lebih dari satu versi yang dipisah dengan spasi, contoh dari atribut ini adalah MIDP-1.0 Microedition-Configuration Konfigurasi J2ME yang dibutuhkan untuk MIDlet MIDlet_Deskription Deskripsi MIDlet. Misalnya : MIDlet untuk koneksi internet MIDlet-Icon Icon yang digunakan MIDlet. Misalnya : Wireless.png MIDlet-info-URL URL dari file yang berisi informasi mengenai MIDlet. Misalnya : http:www.wireless.cominfo html MIDlet terdiri dari beberapa metode yang harus ada yaitu construktor , protected void starApp throws MIDletStateChangeExeption, protected void pauseApp , protected void destroyApp boolean unconditional throws MIDletStateChangeExeption notifyDistroyed . Alur hidup MIDlet dapat dilihat pada gambar dibawah ini : Gambar 2.7 Alur Hidup MIDlet Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp, kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada starApp. Metode yang ada tersebut diimplementasikan sebagai protected, hal ini dimaksudkan agar MIDlet lain tidak dapat memenggil MIDlet tersebut. Pada saat pemakai keluar dari MIDlet, maka metode destroyApp akan dijalankan sebelum MIDletbenar-benar tidak bejalan lagi. Metode notifyDistroyed akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, destroyApp akan memanggil notifyDistroyed, dan notifyDistroyed akan memberitahu platform untuk menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet. Dalam implementasinya MIDlet memiliki struktur direktori sebagai brikut: 1. scr Untuk menyimpan source code untuk MIDlet dan kelas. 2. res menyimpan sumber daya yang dibutuhan MIDlet seperti gambar icon 3. lib menyimpan file JAR atau ZIP yang berisi library tambahan yan dibutuhkan MIDlet 4. bin menyimpan file JAR, JAD, dan file manifest yang berisi muatan komponen MIDlet

2.4. Sun Java