IF5093 – Java ME Achmad Imam Kistijantoro Semester II 2006/2007 IF-ITB/AI/Mar 07 IF5093 – Java ME 1 Java ME overview • Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes serta perangkat embedded lainnya • Java ME berisi sekumpulan API yang didefinisikan melalui JCP • Java ME mendefinisikan configurations, profiles dan optional packages sebagai elemen untuk membangun lingkungan runtime Java – setiap kombinasi mendefinisikan karakteristik (memori, kemampuan pemrosesan dan I/O yang sesuai dengan kategori perangkat tertentu IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 2 Configuration • Configuration adalah spesifikasi minimal sebuah perangkat yang menjadi target Java ME. Configuration terdiri dari sebuah virtual machine, sekumpulan API/library minimal yang harus disediakan perangkat tersebut • Saat ini Java ME mendefinisikan 2 jenis: – CLDC (Connected, Limited Device Configuration): – CDC (Connected Device Configuration) IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 3 CLDC • CLDC digunakan untuk perangkat jenis mobile phone dan PDA dengan koneksi jaringan yang intermiten, memori terbatas dan prosesor yang lambat • umumnya memiliki prosesor16-bit atau 32 bit, dan memori minimal sebesar 192 KB • Implementasi Java untuk perangkat kelas ini umumnya berupa KVM, yaitu virtual machine yang berukuran puluhan kilo bytes saja IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 4 CDC • CDC digunakan untuk perangkat yang memiliki prosesor dan memori yang lebih besar dibandingkan CLDC, misalnya higher end PDA, TV set top boxes • Implementasi CDC dapat menggunakan JVM standar (Java SE), dengan perangkat yang memiliki memori sebesar 2MB atau lebih IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 5 Profile • Profile adalah extension dari Configuration, dengan menambahkan sekumpulan API tambahan yang umum digunakan untuk jenis kebutuhan tertentu. • Profile juga mendefinisikan life cycle aplikasi, antar muka pengguna dan akses ke fitur lainnya dari sebuah device. • Profile yang umum digunakan: Mobile Information Device Profile (MIDP), Foundation Profile (FP) dan Personal Profile (PP) IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 6 MIDP • MIDP adalah profile yang ditargetkan untuk perangkat handphone serta low end PDA • MIDP mendefinisikan fungsionalitas aplikasi dasar, seperti tampilan antar muka pengguna, konektivitas dasar, serta penyimpanan data lokal. • Aplikasi MIDP disebut sebagai MIDlet. MIDP menyediakan kelas dasar (MIDlet) yang dapat digunakan sebagai superclass untuk aplikasi-aplikasi MIDlet pada MIDP. IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 7 FP & PP • FP adalah layer yang paling dasar yang tersedia pada CDC. FP menyediakan layanan konektivitas jaringan untuk aplikasi pada CDC yang memerlukan konektivitas tanpa harus memiliki GUI • PP adalah layer pada CDC yang menyediakan dukungan GUI IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 8 Optional packages • CLDC & CDC dapat dilengkapi dengan optional packages untuk kebutuhan tertentu, seperti misalnya Bluetooth, wireless messaging, web service dll IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 9 CLDC • KVM pada CLDC memiliki keterbatasan: – – – – – tidak ada floating point tidak ada finalization error handling yang terbatas tidak ada object serialization tidak ada RMI • CLDC 1.1 – – – – – java.io java.lang java.lang.ref java.util java.microedition.io IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 10 MIDP • MIDP menyediakan: • application life cycle management: package javax.microedition.midlet • user interface: package javax.microedition.lcdui • network connection: menyediakan interface HttpConnection • penyimpanan data: javax.microedition.rms IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 11 MIDlet • Aplikasi MIDP memiliki satu atau beberapa kelas yang diturunkan dari kelas MIDlet • MIDlet menyediakan 3 method dasar: – startApp(): inisialisasi objek dan display – pauseApp(): menghentikan aplikasi sementara – destroyApp(): menghentikan aplikasi • Aplikasi MIDP akan dieksekusi dan dikelola oleh sistem yang spesifik untuk setiap device, disebut sebagai Application Manager • Aplication Manager bertugas untuk menginstall sebuah MIDlet pada perangkat, melakukan manajemen versi, menjalankan MIDlet dengan memanggil ketiga method di atas IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 12 MIDlet • Langkah2 pemrograman pada MIDP: – – – – – – Menulis program/kelas MIDlet kompilasi verifikasi class file membuat Jar file membuat Jad file (file yang berisi deskripsi MIDlet dalam sebuah jar) instalasi MIDlet pada device IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 13 Tools • Sun Java Wireless Toolkit – menyediakan CLDC, MIDP dan optional package lainnya – menyediakan software emulasi – menyediakan lingkungan minimal untuk pengembangan aplikasi: kompilasi, packaging, dan emulator untuk eksekusi program • IDE: Netbeans & Eclipse: Sun JWT terintegrasi dengan editor IF-ITB/AI/Mar 07 IF5093 – Wireless LAN 14