41
APLIKASI NIRKABEL J2ME PERTEMUAN 2 HIMAWAN

Aplikasi Nirkabel - J2ME - Pertemuan 2

  • Upload
    himawan

  • View
    119

  • Download
    0

Embed Size (px)

DESCRIPTION

Slide materi power point mata kuliah aplikasi nirkabel dengan pembahasan pemrograman aplikasi mobile dengan J2ME

Citation preview

Page 1: Aplikasi Nirkabel - J2ME - Pertemuan 2

APLIKASI NIRKABEL

J2ME

PERTEMUAN 2

HIMAWAN

Page 2: Aplikasi Nirkabel - J2ME - Pertemuan 2

Materi yang akan di bahas pada pertemuan ini adalah :

1. Siklus Midlet

2. Command Listener

3. Low Level User Interface

4. High Level User Interface

Page 3: Aplikasi Nirkabel - J2ME - Pertemuan 2

Siklus Hidup Midlet

• Aplikasi Midlet di atur dan di kelola oleh Application Management

Systems (AMS) yang ada dalam setiap perangkat.

• AMS melakukan proses start, pause dan berhenti dari aplikasi MIDP

dengan memanggil method siklus hidup dari class-class utama Midlet.

• Setiap anda membuat class MIDlet, maka anda harus mengimport

library dari class javax.microedition.midlet.MIDlet dan melakukan

customize dari setiap method-method siklus MIDlet yang ada.

Page 4: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Berikut ini adalah bentuk visualisasi dari siklus MIDlet dalam

pemrograman J2ME :

Page 5: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Manajemen pengelolaan siklus MIDlet yang di lakukan oleh AMS :

Page 6: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Method-method yang ada dalam siklus hidup MIDlet :

startApp(), fungsi yang akan di panggil oleh AMS ketika MIDlet

berusaha untuk di jalankan kembali dari keadaan pause.

destroyApp(), fungsi yang akan di panggil oleh AMS ketika MIDlet

akan di hentikan atau di matikan.

pauseApp(), fungsi yang akan di panggil oleh AMS ketika MIDlet

dalam keadaan pause.

notifyDestroyed(), fungsi yang akan di panggil oleh MIDlet dan akan

menanyakan pada AMS untuk menghentikan proses MIDlet itu sendiri.

resumeRequest(), fungsi yang akan di panggil oleh MIDlet, yang akan

memberikan pemberitahuan pada AMS bahwa MIDlet akan kembali

dari keadaan pause akan kembali aktif lagi.

Page 7: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Siklus dari sebuah program MIDlet akan selalu sama, di mulai dari ketika

program di panggil maka status MIDlet akan berada di keadaan aktif

dengan memanggil method startApp().

• Jika anda masih mengingat program MIDlet sederhana yang anda buat

pada pertemuan sebelumnya, maka proses menampilkan teks “MIDlet

pertama saya di J2ME” berada dalam keadaan startApp().

• Perlu di ingat bahwa setiap program MIDlet yang anda buat harus selalu

memiliki 3 keadaan ini, yaitu : startApp(), pauseApp() dan destroyApp().

Page 8: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Struktur dari pemrograman J2ME dalam membuat MIDlet :

Page 9: Aplikasi Nirkabel - J2ME - Pertemuan 2

Command Listener / Event Handling

• Command atau event handling dalam aplikasi MIDlet di gunakan

untuk menangani interaksi user dengan tampilan antar muka

program.

• Contohnya : user dapat memberikan inputan dengan menggunakan

menu-menu tertentu atau memberikan inputan pada elemen user

interface seperti button atau link.

• Kegunaan dari command listener ini tentu saja untuk membawa user

ke bagian lain dari sebuah aplikasi sesuai dengan button atau

command yang di berikan melalui inputan user.

Page 10: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Berikut ini adalah contoh program J2ME sederhana dengan menggunakan

button command listener :

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class command extends MIDlet implements CommandListener{

private Command cmdKeluar; private Display tampil;

public command() { tampil = Display.getDisplay(this); cmdKeluar = new Command("Keluar", Command.SCREEN,2); } public void startApp() { TextBox text = new TextBox("Hello","Hello World, J2ME",256,0); text.addCommand(cmdKeluar); text.setCommandListener(this); tampil.setCurrent(text); }

Page 11: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Lanjutan program command listener – bagian 2 :

public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command cmd,Displayable disp) { if(cmd == cmdKeluar) { destroyApp(false); notifyDestroyed(); } } }

Page 12: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program command listener :

Page 13: Aplikasi Nirkabel - J2ME - Pertemuan 2

Mengenal dan mempelajari User Interface dalam MIDP

• User Interface atau dalam bahasa indonesia di kenal dengan nama

antar muka di gunakan untuk berkomunikasi dengan user yang

menggunakan program.

• Dengan menggunakan user interface, di harapkan penggunaan

program menjadi lebih mudah untuk di gunakan dan di mengerti oleh

user yang menggunakan. Terlebih user interface yang di berikan

merupakan tampilan dalam bentuk visualisasi GUI.

• Ada banyak komponen-komponen dari user interface yang di sediakan

dalam pemrograman MIDlet, contohnya : Menu, List, TextBox, Alert

Message, Form, Bentuk pilihan seperti check box dan radio button,

dll.

Page 14: Aplikasi Nirkabel - J2ME - Pertemuan 2

Membuat MIDlet – MIDlet User Interface

• Struktur user interface dalam MIDP terbagi menjadi 2 kategori, yaitu :

Low-Level User Interface dan High-Level User Interface.

• Package atau library yang kita gunakan untuk membuat komponen

user interface dalam pemrograman MIDP adalah :

javax.microedition.lcdui dan javax.microedition.lcdui.game.

• Sementara class yang kita gunakan adalah class Display yang akan di

gunakan untuk menampilkan elemen-elemen user interface ke dalam

layar perangkat.

Page 15: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Struktur dari Class User Interface MIDP :

Page 16: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Jika anda lihat pada gambar struktur dari class user interface sebelumnya,

maka anda akan melihat bahwa ada 2 tipe dari sub class Displayable yang

dapat kita gunakan, yaitu :

Class Screen, merupakan object yang di gunakan untuk membuat user

interface tingkat tinggi dan di gunakan sebagai pelengkap tambahan

dari komponen-komponen user interface, contoh : class Alert, List,

Textbox, Form.

Class Canvas, merupakan object yang di gunakan untuk membuat

user interface tingkat rendah (basic atau standar) yang di gunakan

oleh aplikasi untuk menghasilkan grafik dan penanganan input.

Page 17: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Mengapa penggunaan user interface menjadi sangat penting ?. Tanpa adanya

user interface bagaimana kita bisa menggunakan perangkat yang ada

bukan ?.

• Kita mulai pembahasan user interface dalam MIDP dengan membahas

menggunakan low-level user interface.

• Penggunaan API low-level user interface untuk class Canvas di desain untuk

aplikasi yang membutuhkan ketelitian penempatan dan kendali dari sebuah

element grafik yang membutuhkan akses kepada penanganan input event

low-level.

• Contoh dari penggunaan penanganan input event low-level adalah game

board, objek berbentuk grafik.

• Dengan menggunakan API low-level user interface, maka sebuah aplikasi

dapat mengontrol apa yang akan di gambar pada layar (screen), penanganan

event primitive (dasar) seperti penanganan key-input dan key-releases.

Page 18: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Berikutnya adalah pembahasan API untuk high-level user interface,

penggunaan dari high-level user interface di desain untuk aplikasi bisnis

yang di mana perangkat komponen pada klien menjalankan informasi

pada perangkat.

• Untuk aplikasi sejenis ini, maka fleksibilitas dan sifat portable menjadi

sangat penting. Untuk menghasilkan sebuah aplikasi yang portable maka

pemanfaatan dari high-level user interface dan menghasilkan peminimalan

dari kontrol sebuah aplikasi.

• High-level user interface di hasilkan dari class Screen, yang memiliki sub-

class dan elemen-elemen berikut :

List

TextBox

Alert

Form

Page 19: Aplikasi Nirkabel - J2ME - Pertemuan 2

Penggunaan TextBox

• Textbox merupakan komponen atau elemen dari MIDP user interface

yang di gunakan untuk menampung inputan dari user baik itu berupa

teks maupun inputan numerik (angka).

• Contoh penggunaan dari elemen TextBox adalah untuk menginput

nama, nomor telepon, alamat email atau password.

• Karakterisitik dari elemen Textbox adalah memiliki ukuran

maksimum, label dan format inputan yang di berikan user.

• Untuk ukuran maksimum inputan yang di berikan oleh user sangat

bergantung dari perangkat yang di gunakan oleh masing-masing

user, karena setiap vendor memiliki spesifikasi yang berbeda untuk

setiap perangkat yang mereka buat.

Page 20: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Berikut adalah contoh pengimplementasian penggunaan elemen TextBox

dalam perangkat yang ada :

• Untuk dapat membuat elemen textbox, maka anda harus memberikan

parameter yang spesifik dalam konstruktor TextBox berikut ini :

title di gunakan untuk memberikan judul pada layar.

variabel text di gunakan untuk initial setting default inputan.

ukuranmaks di gunakan untuk ukuran maksimum dari textbox.

constraint di gunakan untuk membatasi inputan yang di berikan oleh user.

public TextBox(String title, String text, int ukuranmaks, int constraint);

Page 21: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh program dengan menggunakan elemen textbox :

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class textbox extends MIDlet{ private Display layar; private TextBox teks;

public textbox() { layar = Display.getDisplay(this); teks = new TextBox(“TextBox","Menggunakan elemen TextBox",30, TextField.ANY); }

public void startApp() { layar.setCurrent(teks); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }}

Page 22: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program membuat elemen textbox anda :

Page 23: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh program lain dengan menggunakan elemen textbox : (bagian 1)

import javax.microedition.lcdui.Display; import javax.microedition.lcdui.TextBox; import javax.microedition.lcdui.TextField; import javax.microedition.lcdui.Ticker; import javax.microedition.midlet.MIDlet; public class textbox2 extends MIDlet { //Ukuran maksimum dari teks yang ada dalam textbox private static final int MAX_TEXT_SIZE = 64; //Mendeklarasikan class textbox protected TextBox textBox; //membuat objek midlet display protected Display display; //penanda di mulainya aplikasi protected boolean started;

Page 24: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Lanjutan program : (bagian 2 – selesai)

protected void startApp( ) { if (!started) { //Membuat elemen textbox textBox = new TextBox("Contoh TextBox","", MAX_TEXT_SIZE, TextField.ANY); //Membuat ticker dan menampilkannya Ticker ticker = new Ticker("Ini adalah Ticker..."); textBox.setTicker(ticker); //Membuat dan menampilkan textbox pada layar display = Display.getDisplay(this); display.setCurrent(textBox); started = true; } } protected void pauseApp( ) { } protected void destroyApp(boolean unconditional) { } }

Page 25: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program textbox anda :

Page 26: Aplikasi Nirkabel - J2ME - Pertemuan 2

Penggunaan Class Ticker

• Class Ticker dalam pemrograman J2ME khususnya aplikasi MIDlet di

gunakan untuk menggulung teks secara horizontal, mungkin bagai

anda yang pernah mempelajari HTML fungsi ticker ini mirip dengan

penggunaan tag <marque> pada HTML.

• Perbedaan penggunaan ticker pada J2ME dengan HTML adalah anda

tidak dapat mengatur posisi munculnya ticker dan juga mengatur

kecepatan dari ticker.

• Hanya perangkat yang menjalankan MIDletlah yang bisa mengatur

letak dan kecepatan dari ticker.

Page 27: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Anda bisa menampilkan teks yang ingin di tampilkan dalam ticker dengan

menggunakan fungsi getString().

• Anda juga dapat mengganti teks yang ingin di munculkan dalam ticker

dengan menggunakan fungsi setString(), yang di mana fungsi ini

memerlukan 1 parameter yang berisi sebuah string yang akan

menggantikan teks yang ingin di munculkan.

• Contoh penggunaan ticker dapat anda lihat pada saat anda membuat

program user interface elemen textbox.

• Pada contoh-contoh program lainnya, mungkin anda juga akan melihat

kembali penggunaan dari class Ticker.

Page 28: Aplikasi Nirkabel - J2ME - Pertemuan 2

Membuat User Interface – Penggunaan Elemen List

• List merupakan elemen user interface dalam aplikasi MIDlet yang

bersifat pilihan yang akan di berikan pada user.

• Pilihan-pilihan yang di berikan bisa bersifat required artinya user harus

memilih daftar list yang ada, kemudian list juga bisa bersifat optional

yang artinya user tidak harus memberikan inputan pilihan apapun.

• Dengan menggunakan list, aplikasi MIDlet juga memungkinkan user

untuk memilih 1 atau beberapa dari pilihan dalam bentuk menu yang di

berikan.

• Penggunaan elemen list banyak sekali kita temui dalam perangkat yang

ada karena akan memudahakan user dalam memberikan inputan pilihan

khususnya bagi perangkat yang hanya menggunakan keypad sebagai

inputannya.

Page 29: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Umumnya pilihan yang di tampilkan dalam list di berikan dalam bentuk

menu teks atau string, walaupun penggunaan icon atau image juga bisa di

gunakan untuk menampilkan pilihan dalam list.

• Ada 3 macam jenis list yang dapat kita buat dan gunakan dalam aplikasi

MIDP :

Exclusive Choice List dalam bentuk Radio Button.

Multiple Choice List dalam bentuk CheckBox.

Implicit List dalam bentuk menu pilihan.

• Masing-masing dari jenis list di atas di gunakan berdasarkan kebutuhan

dari setiap pengembang perangkat (vendor) dan juga mempertimbangkan

aspek yang di butuhkan oleh sebuah aplikasi dalam perangkat

Page 30: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh gambar dari penggunaan masing-masing list dalam perangkat :

List Implicit

Exclusive Choice List

Multiple Choice List

Page 31: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh aplikasi MIDlet dengan menggunakan Multiple Choice List :

Beri nama Project Name anda : multiplelist.

Beri nama MIDlet Class Name anda : multiplelist.

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class multiplelist extends MIDlet implements CommandListener {

private Display layar;private List pilihan;private Command keluar;

public multiplelist() { layar = Display.getDisplay(this); keluar = new Command("Keluar", Command.EXIT,1); pilihan = new List("Warna Kesukaan Anda : ", Choice.MULTIPLE); pilihan.append("Merah",null); pilihan.append("Biru",null); pilihan.append("Hijau",null); pilihan.append("Kuning",null); pilihan.append("Lainnya",null); pilihan.addCommand(keluar); pilihan.setCommandListener(this); }

Page 32: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Lanjutan program multiplelist.java – bagian 2 (selesai) :

public void startApp() { layar.setCurrent(pilihan); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command cmd, Displayable display) { if(cmd == keluar) { destroyApp(false); notifyDestroyed(); } } }

Page 33: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program MIDlet multiple choice list anda :

Page 34: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh program aplikasi MIDlet dengan menggunakan Exclusive Choice

List :

Beri nama Project Name anda : listexclusive.

Beri nama MIDlet Class Name anda : listexclusive.import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class listexclusive extends MIDlet implements CommandListener {

private Display layar;private List pilihan;private Command keluar;

public listexclusive() { layar = Display.getDisplay(this); keluar = new Command("Keluar", Command.EXIT,1); pilihan = new List("Pilih Jurusan Anda : ", Choice.EXCLUSIVE); pilihan.append("Teknik Informatika",null); pilihan.append("Sistem Informasi",null); pilihan.append("Sistem Komputer",null); pilihan.append("Komputer Akutansi",null); pilihan.append("Manajemen Informatika",null); pilihan.addCommand(keluar); pilihan.setCommandListener(this); }

Page 35: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Lanjutan program listexclusive.java – bagian 2 (selesai) :

public void startApp() { layar.setCurrent(pilihan); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command cmd, Displayable display) { if(cmd == keluar) { destroyApp(false); notifyDestroyed(); } } }

Page 36: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program MIDlet list exclusive anda :

Page 37: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Contoh aplikasi MIDlet dengan menggunakan List Implicit :

Beri nama Project Name anda : listimplicit.

Beri nama MIDlet Class Name anda : listimplicit.

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

public class listimplicit extends MIDlet implements CommandListener {

private Display layar;private List pilihan;private Command keluar;

public listimplicit() { layar = Display.getDisplay(this); keluar = new Command("Keluar", Command.EXIT,1); pilihan = new List("Menu : ", List.IMPLICIT); pilihan.append("Games",null); pilihan.append("Internet",null); pilihan.addCommand(keluar); pilihan.setCommandListener(this); }

Page 38: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Lanjutan program listimplicit.java – bagian 2 (selesai) :

public void startApp() { layar.setCurrent(pilihan); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command cmd, Displayable display) { if(cmd == keluar) { destroyApp(false); notifyDestroyed(); } } }

Page 39: Aplikasi Nirkabel - J2ME - Pertemuan 2

• Tampilan output program MIDlet list implicit anda :

Page 40: Aplikasi Nirkabel - J2ME - Pertemuan 2

• ADA PERTANYAAN ??.

• SELESAI, TERIMA KASIH.

• SAMPAI BERTEMU DI PERTEMUAN SELANJUTNYA.

Page 41: Aplikasi Nirkabel - J2ME - Pertemuan 2

Credit for this slide :

• JENI, Pengembangan Perangkat Mobile.

• Enterprise J2ME : Developing Mobile Application, Michael Juntao

Yuan.

• Wireless Java Developing with J2ME 2nd Edition, Jonathan

Knudsen.

• Programming Wireless Device with the Java 2 Platform, Micro

Edition, 2nd Edition, Roger Riggs and Team.