Dokumen tersebut membahas tentang pembuatan program Java untuk perangkat seluler (J2ME). Terdapat penjelasan mengenai konsep dasar J2ME, komponen-komponennya seperti CLDC, MIDP, serta cara membuat program sederhana menggunakan NetBeans dan menjalankannya pada emulator maupun perangkat seluler. Diberikan juga contoh kode program sederhana untuk menampilkan tanggal dan waktu.
1. TUGAS APLIKASI INTERNET
Dosen
Triawan Adi Cahyanto,S.Kom
Disusun oleh:
MOCHAMMAD SOBRI NAHARISA
1100631033
MI B
JURUSAN D3 MANAJEMEN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
2. 1.Java 2 Micro Edition (J2ME)
2.1.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. Pada J2ME, jika perangkat lunak
berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada
perangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan
perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil
dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon
selular, pager, Personal Digital Assistants (PDA) dan sejenisnya.
J2ME adalah Bagian dari J2SE, karena itu tidak semua library yang ada pada
J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunya beberapa library
khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada gambar berikut :
Gambar 2.1 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. Misalnya, jika sebuah ponsel tidak memiliki
kamera, maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.
Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel
sangat terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis
pada file karena alasan keamanan.
Configuration merupakan Java library minimum dan kapabilitas yang dipunya
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. Misalnya sebuah lampu sepeda dirancang sedemikian sehingga dapat
digunakan oleh berjenis-jenis sepeda. Dalam J2ME telah didefinisikan dua buah
konfigurasi yaitu CLDC (Connected Limites Device Configuration) untuk perangkat
3. kecil dan CDC (Connected Device Configuration) untuk perangkat yang lebih besar.
Lingkup CLDC dan CDC dapat dilihat pada gambar di bawah ini :
Gambar 2.2 Lingkup Configuration
Profile berbeda dengan configuration, profile membahas sesuatu yang
spesifik untuk sebuah perangkat. Sebagai contoh misalnya, sebuah sepeda dengan
merk tertentu, tentunya mempunyai ciri spesifik dengan sepeda lain. Dalam gambar
J2ME terdapat dua buah profile yaitu MIDP dan Foundation Profile. Keterhubungan
antara configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya
dapat dilihat pada gambar berikut :
Gambar 2.3 Hubungan J2ME dan J2SE
4. 2.1.2 Connected Limited Device Configuration (CLDC)
Gambar 2.4 Arsitektur CLDC
CLDC atau Connected Limited Device Configuration adalah perangkat dasar
dari J2ME, spesifikasi dasar yang berupa library dan API yang diimplemetasikan
pada J2ME, seperti yang digunakan pada telepon selular, pager dan 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 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 di atas.
2.1.3 Connected Device Configuration (CDC)
CDC atau Connected Device Configuration adalah spesifikasi dari konfigurasi
J2ME. CDC merupakan komunitas proses pada Java yang mempunyai
standardisasi. CDC terdiri dari virtual machine dan kumpulan library dasar untuk
dipergunakan pada profile industri. Implementasi CDC pada J2ME adalah source
code yang menyediakan sambungan dengan macam-macam platform.
5. Perbedaan antara CDC dan CLDC dapat dilihat dari tabel dibawah ini
Tabel 2.1 Tabel Perbandingan Antara CDC dan CLDC
2.2 Profil
Profil merupakan bagian perluasan dari konfigurasi, yaitu sekumpulan kelas
yang terdapat pada konfigurasi, terdapat juga kelas-kelas spesifik yang didefinisikan
lagi di dalam profil. Dengan kata lain, profil akan membantu secara fungsional yaitu
dengan menyediakan kelas-kelas yang tidak terdapat di level konfigurasi. Berikut ini
adalah profil J2ME yang tersedia saat ini yaitu :
1. MIDP (Mobile Information Device Profile)
MIDP adalah profil yang disediakan oleh Sun Microsystems. MIDP
menyediakan librari-librari Java untuk implementasi dasar antarmuka (GUI),
implementasi jaringan (networking), database, dan timer. MIDP dirancang
khususnya untuk wireless phone dan pager.
2. PDAP (Personal Digital Assistant Profile)
Yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi CLDC
dan digunakan khusus untuk menambahkan kemampuan-kemampuan lebih apabila
dibandingkan dengan penggunaan profil MIDP.
3. Foundation Profile
Yaitu profil yang digunakan untuk konfigurasi CDC. Profil ini menambahkan
beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga sebagai
pondasi untuk membentuk profil baru lainnya.
4. Personal Profile
Yaitu profil yang mendefinisikan ulang PersonalJava sebagai profil yang
dapat digunakan sebagai profil dalam J2ME. Profil ini merupakan hasil perluasan
dari Foundation Profile.
5. RMI Profile
Yaitu profil yang menambahkan dukungan RMI (Remote Method Invocation)
ke dalam konfigurasi CDC.
6. 2.2.1 Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah
profil J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup
aplikasi, antarmuka, jaringan dan penyimpanan persisten. Pada saat ini terdapat
MIDP 1.0 dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API
untuk multimedia.
Pada MIDP 2,0 terdapat dukunganmemainkan tone, tone sequence dan file
WAV walaupun tanpa adanya MobileMedia API (MMAPI). Posisi MIDP pada
arsitektur J2ME dapat dilihat pada gambar di atas. Berikut adalah perbandingan
MIDP 1.0 dan MIDP 2.0 :
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 eksistensi dari
kelas abstrak Screen. API level rendah lebih memberikan kemudahan kepada
pengembang untuk memodifikasi sesuatu dengan kehendaknya, sedangkan API
level tinggi biasanya hanya memberikan pengaksesan yang terbatas. Arsitektur
antarmuka MIDP dapat dilihat pada gambar di bawah ini:
http://elib.unikom.ac.id
7. 2. Tutorial membuat program java (J2ME) di HP
J2ME sendiri adalah teknologi dari Java programming language yang di khususkan
untuk perangkat mobile seperti Handphone, Pocket PC dan apa lagi yah. Pokoknya buat
perangkat kecil yang sering dibawa kemana-mana itu lho. J2ME sebenarnya sama dengan
pemrograman menggunakan java sendiri, hanya saja dalam J2ME ada beberapa fungsi yang
ditambah dan dikurangi dan di sesuaikan untuk pemrograman perangkat mobile.
Tentunya untuk bisa membuat game di HP kita harus sudah biasa dulu menggunakan
pemrograman dengan java, disini saya tidak akan mengulas bahasa pemrograman java -
mungkin lain kali dalam postingan yang berbeda- saya mengharapkan anda sudah memiliki
pengetahuan java sebelumnya. Disini saya hanya akan memberikan pengetahuan mengenai
alat yang digunakan dalam membuat program java di HP dan konsepnya.pilih NetBeans yang
sudah termasuk Mobility Pack. Agar kita bisa langusng menulis kode program tanpa harus
menginstal macem-macem lagi.
Setelah anda menginstall IDE NetBeans, segera jalankan NetBeans nya. Untuk
membuat projek baru pilih File-New Project. Nanti akan muncul seperti gambar di bawah.
Pilih MIDP Application dan tekan Next. Selanjutnya anda akan di bawa ke layer Name and
Location seperti di bawah ini.
8. Input Project Name yang sesuai dengan nama project anda dan hilangkan centang di Create
Hello Midlet. Tekan Next
Ini adalah layar untuk menentukan target perangkat yang akan anda buat aplikasinya.
Pada baris Emulator Platform adalah pilihan emulator yang anda Install di computer anda,
untuk saat ini anda hanya menginstall emulator bawaan dari NetBeans anda. Setelah anda
merasa perlu menginstall emulator platform untuk spesifik dari vendor lain seperti Nokia,
Sony Ericsson dan Motorola anda dapat mengubahnya disini.
Device adalah perangkat emulator atau HP yang nantinya akan anda jalankan di
computer anda, dalam menjalankan program yang akan anda buat. Apabila nantinya anda
menginstal emulator platform dari vendor lain anda akan bisa menggunakan HP spesifik dari
vendor tersebut.
Device Configuration dan Profile adalah spesifik kemampuan dari paket perangkat
yang akan anda jadikan target aplikasi anda, sebagai contoh saya punya HP K608 itu
mempunyai spesifikasi CLDC 1.1 dan MIDP 2.0 artinya HP saya bisa menjalankan program
dengan paket yang ada di CLDC 1.1 dan MIDP 2.0. Untuk lebih lanjut mengenai perangkat
yang anda jadikat target riset lah dahulu dengan melihat spesifikasi HP atau perangkat target
anda.
9. Untuk mempermudah anda mengerti, cukup bayangkan HP lama adalah MIDP 1.0
seperti nokia 6015 dan nokia yang gede dengan slidenya yang saya lupa apa mereknya dan
HP lama lainnya. MIDP 2.0 HP baru seperti nokia N70, N73, SE K600, SEW800 dan lain
lain. Karena MIDP 2.0 lebih banyak ada baiknya anda pilih MIDP 2.0 dan CLDC 1.1 untuk
aplikasi kita kali ini.
Pilih Next dan langsung pilih Finish. Siap siap!
Sebenarnya dalam NetBeans ini anda dapat membuat aplikasi HP dengan Visual MIDlet
yang ada dalam NetBeans ini, untuk lebih memahami secara mendalam konsep pembuatan
aplikasi dalam J2ME disini saya tidak akan memakai Visual MIDlet.
Konsep program J2ME adalah sebagai berikut. Dalam J2ME kita harus akan membuat
main class turunan dari class MIDlet, main class turunan dari MIDlet tersebut yag nantinya
akan dipanggil pertama kali saat applikasi kita berjalan di HP, dalam main class tersebut juga
ada 3 method yang nantinya berfungsi sebagai trigger even dari HP kita. Seperti:
starApp(), method yang dipanggil apabila aplikasi kita pertama kali jalan.
pauseApp(), method yang dipanggil apabila pengguna hp mempause aplikasi kita.
destroyApp(), method yang dipanggil apabila pengguna hp menutup aplikasi kita.
Kita mulai dengan membuat classMIDlet baru untuk project anda. Klik kanan para
project anda di project explore dan pilih new-MIDlet, namakan class baru itu dengan nama
MIDletPertama. Kode terakhir file MIDlet anda terlihat seperti di bawah ini.
Untuk pertama kali kita akan menampilkan “Hello J2ME World” pada layar HP. Ada dua
jenis tampilan dalam MIDlet,
Low Level menggunakan class Canvas
High Level menggunakan Form
Disini kita akan menggunakan form untuk mempermudah anda mengerti pembentukan
tampilan di MIDlet.
Perhatikan kode di atas, frPertama adalah object Form yang akan kita tampilkan di
layer, kita memberi judulForm tersebut dengan “Judul”. Lalu method append adalah method
untuk menambahkan Item pada Form, Item yang ingin saya tambahkan adalah String “Hello
J2ME World”. Statement Display adalah statement untuk menampilkan object frPertama
kedalam layer.
10. Pilih F11 untuk build project dan F6 untuk run project.
Pilih midlet yang ingin dijalankan dan tekan launch di emulator, selanjutnya emulator anda
akan menampilkan Form yang anda buat, seperti di bawah.
Selamat, program anda sudah berjalan baik di emulator, bagaimana caranya menjalankan di
HP sesungguhnya?
Masuk kedalam folder project NetBeans anda, buka folder dist
Transfer file jar program anda ke HP anda melaluli Bluetooth, infra merah atau kabel data.
http://educationalpersonal.blogspot.com
11. Contoh ke2
PROGRAM DATE/TIME DENGAN JAVA
MICRO EDITION
membuat program sederhana Date and Time dengan J2ME.Jadi program ini dapat
menampilkan tanggal dan waktu sekarang.Berikut listing programnya
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
*
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Kalender extends MIDlet implements
CommandListener,ItemStateListener
{
private Display tampil;
private Form form;
private Command cmdExit;
private DateField df;
public Kalender()
{
tampil = Display.getDisplay(this);
df = new DateField("Tanggal Sekarang : ",DateField.DATE);
df.setDate(new java.util.Date());
cmdExit = new Command("Keluar",Command.EXIT,0); //Menambahkan
aksi keluar
form = new Form("Kalender J2ME"); //Title Form
form.addCommand(cmdExit);
14. Membuat File .jar J2ME (Java Mobile)
Selamat malam teman – teman.Pada posting sebelumnya saya pernah membuat tutorial
membuat aplikasi handphone dengan J2ME.Nah,kemarin programnya hanya saya running
dari emulator handphone(Sun Wireless Toolkit).Lalu apakah program yang kita buat dapat
berjalan di handphone sungguhan?.Jawabannya bisa,asalkan di handphone kita terdapat
Java.Handphone seperti Sony Ericsson,Nokia,Blackberry,dsb support dengan J2ME.Saya
bukan sedang promosi merk handphone.Tapi kebanyakan merk handphone tersebut sudah
include dengan Java.Untuk dapat digunakan di handphone,program yang kita buat terlebih
dahulu dijadikan file .jar,agar dapat di running di handphone.Berikut ini tutorial membuat file
.jar nya.
Pertama buka program yang akan di jadikan file .jar nya.Klik Open Project dan pilih
nama Projectnya.Lalu klik Build.
Kemudian setting Profile handphone anda,untuk mengaturnya klik tombol Setting,kemudian
klik TargetPlatform –> Custom.Hp yang saya gunakan menggunakan Profile MIDP 2.0 dan
CLDC 1.1 . Kemudian klik OK.
15. Langkah selanjutnya klik Project–> Package–> Create Package.Selesai.Lokasi file .jar ada
di dalam folder bin.Contohnya:
/home/resa/j2mewtk/2.5.2/apps/ConverterSuhu/bin/ConverterSuhu.jar
Lokasi File .jar
Kemudian masukkan file .jar tersebut ke dalam handphone anda.Lalu jalankan programnya.
http://marisharingilmu.wordpress.com