Anda di halaman 1dari 25

ASSALAMUALAIKUM

PEMROGRAMAN JAVA MOBILE

J2ME (Java 2 Disajikan Oleh : Micro Edition)

Sekilas tentang J2ME Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhir-akhir ini. Bahkan belakangan ini dikabarkan berusaha mengalahkan Microsoft yang terkenal sebagai kampiun dari produsen operating system dimuka bumi ini. Teknologi Java yang pada awalnya dikenal untuk aplikasi pada desktop (J2SE) ataupun pada Application server (J2EE), kini hadir dengan teknologi terbarunya, J2ME Platform, untuk pembangunan aplikasi pada mobile device seperti mobile phone dan PDA.

J2ME and The Java 2 Platform

J2ME
Pada J2ME, jika perangkat lunak berfungsi baik pada

sebuah perangkat maka belum tentu juga berfungsi baik pada perangkat yang lainnya.

BACK

NEXT

KONFIGURASI J2ME
Dalam J2ME telah didefinisikan dua buah konfigurasi: CLDC (Connected Limited Device Configuration), untuk perangkat kecil CDC (Connected Device Configuration) untuk perangkat yang lebih besar

BACK

NEXT

KONFIGURASI J2ME
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME memiliki beberapa library khusus yang tidak dimiliki J2SE.

BACK

NEXT

Ruang Lingkup Konfigurasi J2ME

J2SE

CDC

CLDC

BACK

NEXT

CLDC (Connected Limited Device Configuration)


CLDC adalah perangkat dasar dari J2ME, spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME. Seperti yang digunakan pada HP, Pager & PDA. Perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, kelas dan sebagian fungsi JVM. JVM yang digunakan pada CLDC disebut KVM (Kilobyte Virtual Machine).

BACK

NEXT

CDC (Connected Device Configuration)

CDC adalah spesifikasi dari konfigurasi J2ME. CDC merupakan komunitas proses pada java yang memiliki standarisasi. CDC terdiri dari virtual machine dan kumpulan library. Implementasi CDC pada J2ME adalah source code yang menyediakan sambungan dengan macam-macam platform.

BACK

NEXT

Perbandingan antara CLDC dan CDC

Profile berbeda dengan Configuration, profile membahas sesuatu yang spesifik untuk sebuah perangkat. Misal, sebuah sepeda dengan merk tertentu mempunyai ciri spesifik dengan sepeda yang lain.

BACK

NEXT

Profile J2ME
Dalam J2ME terdapat 2 profile: MIDP Foundation Profile

BACK

NEXT

MIDP (Mobile Information Device Profile)


MIDP adalah spesifikasi untuk sebuah profil J2ME. MIDP memiliki lapisan di atas CLDC. Pada saat ini terdapat MIDP 1.0 & MIDP 2.0.

BACK

NEXT

MIDP 1.0. vs MIDP 2.0.


Spesifikasi Display MIDP 1.0. 96 x 54 MIDP 2.0. 96 x 54

Input
Jaringan Library J2ME

Keyboard dan Touch Screen


Dua arah, wireless javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms

Keyboard dan Touch Screen


Dua arah, wireless javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms javax.microedition.lcdui.game javax.microedition.media javax.microedition.pki Memiliki kemampuan untuk memainkan file multimedia (suara dan video)

Multimedia

BACK

NEXT

KVM (KILOBYTE VIRTUAL MACHINE)


KVM adalah paket JVM yang didesain untuk perangkat yang kecil. KVM mendukung sebagian fitur JVM.

BACK

NEXT

CVM (C-Virtual Machine)


CVM adalah paket JVM optimal yang digunakan pada

CDC. CVM mempunyai seluruh fitur dari virtual machine yang didesain untuk perangkat yang memerlukan fitur fitur java 2 virtual machine.

BACK

NEXT

MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP

BACK

NEXT

MIDlet
Dalam implementasinya, MIDlet memiliki struktur direktori sebagai berikut: src, menyimpan source code untuk MIDlet dan kelas lain yang diperlukan res, menyimpan beberapa file yang dibutuhkan oleh MIDlet, seperti misalnya gambar icon lib, menyimpan file JAR atau ZIP yang berisi library tambahan yang dibutuhkan MIDlet bin, menyimpan file JAR, JAD dan file manifest yang berisi muatan komponen MIDlet

BACK

NEXT

Siklus MIDlet
MIDlet pada awalnya masuk status Pause setelah perintah baru dibuat. Application Management Software (AMS) memanggil constructor public tanpa argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status Destroyed dan membuangnya segera. MIDlet masuk ke dalam status Active atas pemanggilan method startUp() oleh AMS. MIDlet masuk ke dalam status Destroyed ketika AMS memanggil method destroyApp(). Status ini juga kembali diakses ketika method notifyDestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status Destroyed sekali dalam masa hidupnya.

Bagian-bagian MIDLET
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class MyApp extends MIDlet { public void startApp() { // start up code } public void pauseApp() { // we aren't showing any more } public void destroyApp(boolean unconditional) { // clean up } }

Latihan 1 : Simpanlah sebagai HelloWorld.java pada folder src pada project yang telah anda buat.
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet { public void startApp() { Form form = new Form( "First Program" ); form.append( "Hello World" ); Display.getDisplay(this).setCurrent( form ); } public void pauseApp() { } public void destroyApp( boolean unconditional ) { } }

Latihan 2: Menampilkan data per baris menggunakan \n


import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class biodata extends MIDlet { public biodata() { } public void startApp() { Form form = new Form( "First Program" ); form.append("Biodata Data\n"); form.append("Nama : (Nama Anda)\n"); form.append("Alamat : (Alamat Anda)\n"); Display.getDisplay(this).setCurrent( form ); } public void pauseApp() { } public void destroyApp( boolean unconditional ) { } }

Latihan 3: Menampilkan gambar a. Simpanlah terlebih dahulu gambar yang akan ditampilkan di folder src b. Gunakan code program berikut untuk menampilkan gambar. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*;
public void pauseApp() { } public void destroyApp( boolean unconditional ) { } }

public class gambar extends MIDlet { public gambar() { } public void startApp() { try { Image gbr = Image.createImage("/fakhri.png"); Form form = new Form( "First Program" ); form.append("Biodata Data\n"); form.append("Nama : (Nama Anda) \n"); form.append(gbr); Display.getDisplay(this).setCurrent( form ); } catch (IOException e) {} }

Selesai

Anda mungkin juga menyukai