BONUS Dasar Java Mobile Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal
Mengenal Java Mobile Dasar Java Mobile Java Mobile (J2ME) atau singkatan dari Java 2 Mobile Edition merupakan subset dari J2SE (Java 2 Standard Edition), yang artinya Java API (JAPI) yang ada di J2ME sebagian diadopsi dari Java API J2SE. Jika pada J2SE menggunakan JVM (Java Virtual Machine) sebagai Interprenternya, lain halnya pada J2ME yang menggunakan Kilo Virtual Machine (KVM) sebagai Interprenternya. Berdasarkan spesifikasi perangkat kerasnya J2ME memiliki dua macam konfigurasi yaitu CLDC (Connected Limited Device Configuration) dan CDC (Connected Device Configuration). Perbedaannya dapat Anda dilihat pada Tabel 8.1 berikut ini. CLDC (Connected Limited Device Configuration) Mengimplementasikan sebagian fitur dari J2SE Menggunakan KVM (Kilo Virtual Machine) Digunakan pada Handphone, PDA, Pager yang memiliki memori terbatas (160-512 KB) Menggunakan Prosessor 16/32 bit CDC (Connected Device Configuration) Mengimplementasikan seluruh fitur dari J2SE Menggunakan CVM Di gunakan pada perangkat internet TV, Nokia Communicator yang memiliki memori minimal 2 MB Menggunakan Prosessor 32 bit Tabel 8.1 Perbedaan CLDC dan CDC Untuk bisa membuat dan menjalankan aplikasi J2ME Anda harus menginstall program tambahan (Add-on) Netbeans Mobility Pack for CLDC/MIDP untuk NetBeans. Anda bisa mendapatkan versi terbarunya di http://www.netbeans.org/ products/index.html atau Anda install File netbeans-mobility-5_5- win.exe di dalam folder Java\Aplikasi\ pada CD sertaan buku ini. Saat Anda membuat dan menjalankan aplikasi J2ME di NetBeans program tidak akan ditampilkan langsung di layar desktop, melainkan akan ditampilkan dalam bentuk Mobile Emulator yang memiliki tampilan mirip Hanpdhone. 2
Mengenal MIDlet MIDlet adalah aplikasi Java yang berjalan pada paket J2ME. Jika Applet berjalan di Web Browser, maka MIDlet berjalan di aplikasi Mobile. Praktek Pada praktek berikut ini Anda akan membuat aplikasi menampilkan teks Hello World pada layar Mobile dengan menggunakan MIDlet. 1 Buat Project dengan cara klik menu File > New Project pada menu utama atau tekan tombol Ctrl+Shift+N pada keyboard. Perhatikan Gambar 8.1. 1. Klik File 2. Pilih New Project Gambar 8.1 Membuat Project 2 Pada kotak dialog Choose Project Anda pilih kategori Mobile dengan tipe project Mobile Application. Setelah itu klik tombol Next >. Perhatikan Gambar 8.2. 3 Pada kotak dialog Name and Location Anda hilangkan tanda cek pada Create Hello MIDlet menjadi seperti. Beri nama project dengan nama 1, setelah itu klik tombol Finish. Perhatikan Gambar 8.3. 3
1. Pilih Mobile 2. Mobile Application 3. Klik Next > Gambar 8.2 Memilih Project 2. Beri nama 1 1. Hilangkan tanda cek. 3. Klik Finish Gambar 8.3 Memberi nama Project 4 Setelah itu klik menu File > New File pada menu utama untuk menampilkan File Wizard. Perhatikan Gambar 8.4. 1. Klik File 2. Pilih New File Gambar 8.4 Klik menu File > New File 4
5 Setelah muncul kotak dialog Choose File Type Anda pilih kategori MIDP dengan tipe File MIDlet. Setelah itu klik tombol Next >. Perhatikan Gambar 8.5. 1. Pilih MIDP 2. Pilih MIDlet 3. Klik Next > Gambar 8.5 Menentukan tipe File 6 Beri nama MIDlet1 pada kotak dialog Name & Location setelah itu klik tombol Finish. Perhatikan Gambar 8.6. 1. Beri nama Gambar 8.6 Beri nama MIDlet1 3. Klik Finish 7 Ketikkan deklarasi berikut ini di bagian bawah baris perintah public class Midlet1 extends MIDlet {. Perhatikan Gambar 8.7. Ketik di sini Gambar 8.7 Mengetikkan deklarasi variabel 5
1 2 private Display display; TextBox tampil = null; Keterangan : Baris 1 Baris 2 Variabel display yang mewakili komponen Display yang berfungsi menampilkan objek pada layar. Komponen Texbox dengan nama tampil yang memiliki nilai kosong (null). 8 Ketikkan perintah berikut ini di dalam blok kode Method public void startapp(). Perhatikan Gambar 8.8. Ketik di sini Gambar 8.8 Mengetikkan kode perintah 1 2 3 4 display = Display.getDisplay(this); tampil = new TextBox( MIDlet Pertamaku, Hello World!!!, 20, 0); display.setcurrent(tampil ); Keterangan : Baris 1 Baris 2-3 Baris 4 Eksekusi variabel display. Memberi nilai tipe data String pada variabel tampil. Menampilkan nilai tampil ke display. 9 Compile program dengan menekan tombol F11 pada keyboard, kemudian jalankan dengan menekan tombol F6 untuk menjalankan Mobile Emulator. Perhatikan Gambar 8.9. 6
Gambar 8.9 Mobile Emulator 10 Untuk menjalankan MIDlet1, Anda klik dengan mouse tombol di bawah tulisan Launch yang ada pada layar Emulator atau tekan tombol Enter pada keyboard. Perhatikan Gambar 8.10. Gambar 8.9 Mobile Emulator Klik di sini Gambar 8.10 Menjalankan MIDlet1 7
11 Tampilan MIDlet1 akan terlihat seperti pada Gambar 8.11 di bawah ini. Mobile Grafis Gambar 8.11 Tampilan program MIDlet1 Anda juga dapat membuat aplikasi grafis pada paket J2ME, sama seperti pada paket J2SE. Praktek Pada praktek berikut ini Anda akan membuat sebuah objek grafis sederhana. 1 Buat Project dengan nama 2 dan tambahkan MIDlet dengan nama MIDlet2. 2 Hapus perintah pada bagian deklarasi komponen, kemudian ketikkan deklarasi komponen di bawah ini. Perhatikan Gambar 8.12. 8
Hapus bagian ini Gambar 8.12 Menghapus perintah 1 2 3 4 5 import javax.microedition.lcdui.canvas; import javax.microedition.lcdui.display; import javax.microedition.lcdui.displayable; import javax.microedition.lcdui.graphics; import javax.microedition.midlet.midlet; 3 Hapus perintah di bawah blok kode public class Midlet2 extends MIDlet { kemudian ketikkan perintah seperti di bawah ini. Perhatikan Gambar 8.13. Hapus bagian ini Gambar 8.13 Menghapus perintah 9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 private Display layar; private Tampil grafis; public Midlet2(){ layar = Display.getDisplay(this); grafis = new Tampil(this); public void startapp() { layar.setcurrent(grafis); public void pauseapp() { public void destroyapp(boolean unconditional) { public void exitmidlet() { destroyapp(true); notifydestroyed(); class Tampil extends Canvas { private Midlet2 objek_grafis; public Tampil(Midlet2 filledrectangleexample) { this.objek_grafis = objek_grafis; public void paint(graphics objek) { objek.setcolor(255, 255, 255); objek.setcolor(0, 255, 0); objek.fillroundrect(100, 100, 50, 100, 200, 50); Keterangan : Baris 1-2 Baris 3-6 Deklarasi variabel. Constructor MIDlet2. Baris 7-12 Default Method J2ME. Baris 18 Akhir blok kode Class MIDlet2. Baris 19-30 Class Tampil yang menampilkan objek grafis dari objek segi empat. 10
4 Compile program dengan menekan tombol F11 pada keyboard, kemudian jalankan dengan menekan tombol F6 untuk menjalankan Mobile Emulator. 5 Untuk melihat tampilan program, tekan tombol Enter pada keyboard. Perhatikan Gambar 8.14. Mobile Animasi Gambar 8.14 Tampilan program 2 Selain aplikasi grafis, Anda juga dapat membuat aplikasi animasi pada paket J2ME. Praktek Pada praktek ini Anda akan membuat aplikasi animasi sederhana. 1 Buat Project dengan nama 3 dan tambahkan MIDlet dengan nama MIDlet3. 2 Hapus perintah di bawah blok kode public class Midlet3 extends MIDlet { kemudian ketikkan perintah seperti di bawah ini. Perhatikan Gambar 8.15. 11
Hapus bagian ini Gambar 8.15 Menghapus perintah 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public void startapp() { Animasi animasi = new Animasi(); animasi.start(); Display.getDisplay(this).setCurrent(animasi); public void pauseapp() { public void destroyapp(boolean unconditional) { class Animasi extends Canvas implements Runnable { private boolean mulai; private int posisi; private int border; private int jalan; public Animasi() { posisi = 0; border = 20; jalan = 75; public void start() { mulai = true; Thread t = new Thread(this); t.start(); public void stop() { mulai = false; public void paint(graphics gambar) { int width = getwidth(); int height = getheight(); 12
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 gambar.setcolor(100,100,50); gambar.fillrect(0, 0, width - 1, height - 1); int x = border; int y = border; int w = width - border * 2; int h = height - border * 2; for (int i = 0; i < 8; i++) { gambar.setcolor(115,68,(8 - i) * 32-16); gambar.fillarc(x,y,w,h,(posisi + i)*(10*10), 10); public void run() { while (mulai) { posisi = (posisi + 1) % 360; repaint(); try { Thread.sleep(jalan); catch (InterruptedException ie) { Keterangan : Baris 1-5 Baris 4-9 Baris 10 Menampilkan class Animasi pada saat MIDlet3 dieksekusi. Default Method J2ME. Class Animasi berisi perintah menggambar objek animasi. Baris 11-14 Deklarasi variabel class animasi. Baris 15-19 Constructor animasi. Baris 20-24 Method start() yang menjalankan animasi. Baris 25-27 Method stop() yang menghentikan animasi. Baris 28-41 Method paint() yang menggambar objek animasi pada layar. Baris 42-50 Method run() yang menampilkan animasi pada saat program dijalankan. 13
3 Compile program dengan menekan tombol F11 pada keyboard, kemudian jalankan dengan menekan tombol F6 untuk menjalankan Mobile Emulator. 4 Untuk melihat tampilan program, tekan tombol Enter pada keyboard. Perhatikan Gambar 8.16. Latihan Gambar 8.16 Tampilan program 3 Pada latihan ini Anda akan membuat animasi yang mirip dengan praktek pada program 3. Anda akan membuat dua buah objek animasi yang bergerak secara bersamaan tapi dengan tempo yang berbeda. 1 Buat Project dengan nama Latihan dan tambahkan MIDlet dengan nama MIDletLatihan. 2 Hapus perintah di bawah blok kode public class Midlet- Latihan extends MIDlet { kemudian ketikkan perintah seperti di bawah ini. Perhatikan Gambar 8.17. 14
Hapus bagian ini Gambar 8.17 Menghapus perintah 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 public void startapp() { Animasi animasi = new Animasi(); animasi.start(); Display.getDisplay(this).setCurrent(animasi); public void pauseapp() { public void destroyapp(boolean unconditional) { class Animasi extends Canvas implements Runnable { private boolean mulai; private int posisi; private int border; private int jalan; public Animasi() { posisi = 0; border = 75; jalan = 50; public void start() { mulai = true; Thread t = new Thread(this); t.start(); public void stop() { mulai = false; public void paint(graphics gambar) { int width = getwidth(); int height = getheight(); gambar.setcolor(0,0,0); gambar.fillrect(0, 0, width - 1, height - 1); 15
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 int x = border; int y = border; int w = width - border * 2; int h = height - border * 2; for (int i = 0; i < 8; i++) { gambar.setcolor(32,45,(8 - i) * 32-16); gambar.fillarc(x,y,w,h,(posisi + i)*(7*2), 10); gambar.fillarc(x,y,w,h,(posisi+180)%360+i*10, 10); public void run() { while (mulai) { posisi = (posisi + 1) % 360; repaint(); try { Thread.sleep(jalan); catch (InterruptedException ie) { Keterangan : Baris 1-5 Baris 4-9 Baris 10 Menampilkan class Animasi pada saat MIDlet3 dieksekusi. Default Method J2ME. Class Animasi berisi perintah menggambar objek animasi. Baris 11-14 Deklarasi variabel class animasi. Baris 15-19 Constructor animasi. Baris 20-24 Method start() yang menjalankan animasi. Baris 25-27 Method stop() yang menghentikan animasi. Baris 28-39 Method paint() yang menggambar objek animasi pada layar. Baris 40 Menggambar objek animasi ke-2. Baris 43-51 Method run() yang menampilkan animasi pada saat program dijalankan. 16
3 Compile program dengan menekan tombol F11 pada keyboard, kemudian jalankan dengan menekan tombol F6 untuk menjalankan Mobile Emulator. 4 Untuk melihat tampilan program, tekan tombol Enter pada keyboard. Perhatikan Gambar 8.18. Soal Gambar 8.18 Tampilan program Latihan Untuk soal, coba Anda modifikasi program Latihan dengan mengubah warna latar, warna objek, tempo animasi, dan arah putaran objek animasi menjadi searah dengan jarum jam. Ketentuan Soal Untuk tampilan soal, klik ganda file _Soal.jar yang ada di dalam folder Java\\ atau lihat Gambar 8.19. 17
Gambar 8.19 Tampilan program _Soal 18