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