P4 Bab 4 User Interface

dokumen-dokumen yang mirip
J2ME GUI dan Manajemen Event

Mobile Computing. Ramos Somya

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO

PEMOGRAMAN APLIKASI BERGERAK (Java ME)

DateField adalah objek yang dapat digunakan untuk menampilkan atau mengedit objek yang bertipe Date.

MODUL 9 J2ME (Java 2 Micro Edition)

Low Level User Interface

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum MMAPI. Setelah mempelajari bab ini, Pelajar diharapkan mampu untuk :

MODUL 11 J2ME (Java 2 Micro Edition)

11.1 Tujuan Timers

APLIKASI KAMUS BAHASA JEPANG - INDONESIA PADA PERANGKAT GENGGAM MENGUNAKAN J2ME

MODUL 10 J2ME (Java 2 Micro Edition)

Kode tereksekusi dengan baik sehingga mendapatkan output "JENI Java Education Network Indonesia" yang diikuti oleh "Hello Jeni"

1.Mengatur jadwal tugas menggunakan Timers 2.Mengetahui bagaimana membaca file dari aplikasi mobile sederhana

BONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 12 WIRELESS JAVA PROGRAMMING WITH JAVA 2 MICRO EDITION (J2ME)

Bab Tujuan. 2.2 Pengenalan. 2.3 "Hello, world!" MIDlet

I. PENDAHULUAN 1.1 Latar Belakang

yang signifikan. Pada tahap ini dijelaskan hal-hal apa saja yang terdapat pada

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum TiledLayer

Mobile Computing. Ramos Somya

SILABUS. Print to PDF without this message by purchasing novapdf ( STIKI Silabus Mata Kuliah 1/10

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

Rencana Pelaksanaan Pembelajaran

PEMOGRAMAN APLIKASI BERGERAK (Java ME)

SILABUS MATA KULIAH PEMROGRAMAN APLIKASI BERGERAK

Pengenalan JavaScript

LAMPIRAN Listing Program

DASAR PEMROGRAMAN MOBILE DENGAN JAVA MOBILE EDITION (J2ME)

Membuat Aplikasi Nilai dengan Login. Menggunakan Java J2ME

LOGIN FORM MENGGUNAKAN PROGRAM JAVA

Pendahuluan ( First Session). Baca terlebih dahulu halaman ini :

1.Tujuan. 2. Latar Belakang. 3. Percobaan

APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE

TUGAS MANDIRI MAKALAH. : Pemrograman Mobile Praktek

gplat,1,, rrl "f-dj.; alp' fll --s =- f a,ufrrnr"rpi c o .'lr, rr* f a;lrjiiltr* '. 'i-r'f rr srlagi'(+ SISTEM MOBILE (PRAKTIKUM) DISUSUN OLEH:

PENGENALAN TEKNOLOGI JAVA

Membuat Aplikasi Kirim SMS. Menggunakan Java J2ME

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Yang dilakukan terlebih dahulu adalah membuat class Canvas yang nantinya akan dipanggil sebagai objek. Berikut adalah contoh kodenya.

APLIKASI RESELLER PULSA ELEKTRIK DENGAN MENGGUNAKAN TEKNOLOGI LCDUI J2ME. Roslina 1, Ulfa Yulitha 2

visit :

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

Algoritma Pemrograman A

PEMROGRAMAN BERORIENTASI OBJEK

Penggunaan Canvas Pada J2ME Untuk Game Programming

Membuat Menu Login Sederhana [Full Coding]

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

A. TUJUAN PEMBELAJARAN

Praktikum JTable. Gambar 1

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

Dasar Pemrograman Java

BAB IV TESTING DAN IMPLEMENTASI SISTEM

Gambar 4.75 Layar mengedit event

MODUL 2 PERANCANGAN INTERFACE

Pemrograman Java III

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

BAB 4 IMPLEMENTASI DAN EVALUASI. sistem aplikasi basis data pada CV. Lumbung Rejeki yaitu : Monitor : SVGA 17. : Optical Mouse.

SUMBER BELAJAR PENUNJANG PLPG

PEMROGRAMAN WEB 09 JavaScript Lanjut

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME

BAB Argument Command-Line dan System Properties

M.Octaviano Pratama

Pengenalan Visual Basic

DESAIN INPUT. Data Entry Proses mengubah data menjadi format yang dapat dibaca oleh komputer. Biasanya 100% berbasis keyboard.

KUM 3 IMPLEMENTASI LIST

AUTHMODE_PRIVATE hanya bisa diakses oleh MIDlet suite yang menciptakan record store tersebut

BAB 8 Argumen dari Command-line

Pemrograman Java III

STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM

Bab 8. Dasar-Dasar OOP

JAVA BASIC PROGRAMMING Joobshet

Dengan method diatas, berapa byte data yang terdapat pada stream dout? 3

IKG2I4 / Software Project I

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

Pemrograman Java III

BAB 2 LANDASAN TEORI

MODUL I Pengenalan IDE Visual Basic 6.0

JOBSHEET 8 DATABASE IN VB

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan

Transkripsi:

P4 Bab 4 User Interface 4. Tujuan 4. Materi Mahasiswa mengerti dasar-dasar mobile computing dan mampu memprogramnya.. User Interface. Struktur GUI dalam MIDP. Paket javax.microedition.lcdgui 4. Arsitektur LCDUI 5. Class High Level API 6. Class Low Level API 4. User Interface User interface menjadi kebutuhan yang sangat penting dalam pemrograman mobile. Berbeda dengan aplikasi desktop tentunya, kebutuhan UI di mobile tidak akan mengenal mouse dan keyboard melainkan diganti dengan keypad. Class's dasar yang dibutuhkan dalam pemrograman mobile disimpan dalam konfigurasi CLDC, yang harus dilengkapi pada bagian profile. CLDC tidak mendefinisikan class yang dibutuhkan untuk fungsional GUI, class's yang diperlukan untuk pembuatan GUI dalam JME dikembangkan oleh JCP (Java Community Process) yang telah dimasukkan di dalam profile seperti MIDP. AWT (Kenapa Tidak Digunakan?) Alasan : AWT didesain dan dioptimasi untuk pengembangan aplikasi desktop. Banyak sekali fitur yang disediakan di dalam paket AWT, sehingga secara otomatis membutuhkan penggunaan memory yang besar. Padahal seperti yang kita tahu bahwa perangkat mobile mempunyai memory dan media penyimpanan yang sangat terbatas. SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

4.4 Struktur GUI dalam MIDP Struktur GUI dalam MIDP dibagi menjadi dua bagian : High level API Digunakan untuk pembuatan window/widget. Terdiri dari komponen Container dan Item. Class yang digunakan dalam level ini standard untuk keperluan UI, seperti Form, TextBox, List, Alert, dan sebagainya. Low Level API, Digunakan untuk pembuatan canvas dan pixel Mempunyai kendali penuh terhadap pembuatan komponen maupun interaksi komponen dengan user. Class yang digunakan di level ini adalah class Cancas beserta turunannya GameCanvas. 4.5 Paket javax.microedition.lcdgui Semua class untuk kebutuhan GUI di dalam MIDP disimpan dalam paket lcdui. Maka dari itu, untuk menggunakan paket lcdui dalam pembuatan aplikasi, sebelumnya paket tersebut harus diimport terlebih dahulu : import javax.microedition.lcdgui.*; Paket lcdui terdiri dari beberapa interface dan class, daftar interface yang disediakan di dalam paket lcdui, dapat dilihat pada Tabel 4.. Sedangkan daftar class yang disediakan di dalam paket lcdui, dapat dilihat pada Tabel 4.. Interface Choice CommandListener ItemStateListener Tabel 4. Interface dalam paket lcdui Keterangan Digunakan untuk mendefinisikan API sebagai komponen UI yang mengimplementasikan pemilihan dari sejumlah piihan yang didefinisikan. Digunakan oleh aplikasi-aplikasi yang perlu menerima event-event level tinggi. Digunakan oleh aplikasi-aplikasi yang menerima event yang mengindikasikan perubahan keadaan (state) dari item yang terdapat di dalam object form. SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

Alert Interface Tabel 4. Class dalam paket lcdui Keterangan Notifikasi, menampilkan data dalam jengka waktu tertentu sebelum kembali ke layar sebelumnya. AlertType Canvas ChoiseGroup Command CommandItem DateField Display Displayable Font Form Gauge Graphics Image ImageItem Item List Screen StringItem TextBox TextField Ticker Mendefinisikan tipe-tipe dari object Alert yang akan ditampilkan. Class dasar yang digunakan oleh aplikasi-aplikasi yang membutuhkan event level rendah atau untuk proses peggambaran. Sekumpulan elemen pemilihan yang ditampilkan di form. Konstruksi yang membungkus informasi-informasi mengenai akses yang dilakukan oleh user. Digunakan untuk membuat elemen user interface baru yang akan ditempatkan di form. Komponen yang digunakan untuk menampilkan tanggal dan waktu. Komponen yang digunakan untuk mampresentasikan manager tampilan. Object yang memiliki kemampuan yang dapat ditempatkan pada layar tampilan. Komponen yang digunakan untuk mempresentasikan format font yang akan ditampilkan di layar. Object layar yang dapat ditambahkan dengan item-item yang lain. Mengimplementasikan tampilan grafish yang menunjukkan nilai tertentu yang ditempatkan ke dalam sebuah form. Menyediakan kemampuan menggambar di object canvas. Menyimpan data dalam format gambar. Menyediakan control layout terhadap gambar-gambar yang ditampilkan dalam form. Class dasar untuk komponen-komponen yang ditempatkan di dalam form. Menampilkan layar yang berisi daftar pilihan. Class dasar dari semua komponen layar dalam user interface level tinggi. Item yang bersisi string yang ditempatkan di form. Menampilkan layar yang mengizinkan user untuk mengedit teks. Komponen untuk menginputkan teks yang ditempatkan di atas form. Teks yang berjalan terus-menerus di layar, setiap tipe layar dapat ditambahkan dengan object Ticker selain Canvas. SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

4.6 Arsitektur LCDUI Object Ticker Canvas extends GameCanvas Displayable Screen List extends extends Display extends Alert Command TextBox Item adding Form Extends ChoiceGroup Gaube Spacer DataField ImageItem CustomItem StringItem TextField Gambar 4. Struktur komponen MIDlet (LCDUI) Class Display Class display merupakan class inti dari sebuah MIDP UI, class display inilah yang akan ditampilkan di layar perangkat mobile. Deklarasi method getdisplay() : public static Display getdisplay (MIDlet m) Method yang terdapat di dalam class Display dapat digunakkan untuk menampilkan object-object turunan dari class Displayable ke layar. Object Displayable ini merepresentasikan sebuah tampilan layar. Object Displayable ini merepresentasikan sebuah tampilan layar, misalnya seperti Form, TextBox, dll. Perhatikan kembali contoh program : private Display display; Penggalan program di atas digunakan untuk mendeklarasikan variable dengan SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 4

nama display yang mengacu ke class Display. Selanjutnya untuk mendapatkan instance/pembuatan dari class Display dan menyimpannya ke dalam variabel display, digunakan method getdisplay() pada saat constructor HelloMIDlet, seperti berikut : 4 public HelloMIDlet() display=display.getdisplay(this); Key this menunjukkan object HelloMIDlet, sehingga dapat juga ditulis seperti berikut : 4 public HelloMIDlet() display=display.getdisplay(hellomidlet); Object Displayable hanya boleh ditampilkan sekali dalam waktu yang sama (misalnya object Form & TextBox). Sehingga untuk memilih object yang akan ditampilkan di layar digunakan method setcurrent() dengan deklarasi seperti berikut : Public void setcurrent(displayable d) public void setcurrent (Alert a, Displayable d) Sebagai contoh, perhatikan penggalan program berikut. 4 5 6 public void startapp() TextBox sq = new TextBox("Hello MIDlet-JME", "Hello FTI UMBY..!", 56, 0); display.setcurrent(sq); Keterangan : Pada saat aplikasi dijalankan, object Displayable akan ditampilkan di layar dengan object sq, yang telah dideklarasikan sebagai object tb. Jika ingin mendapatkan object yang sedang aktif (sedang ditampilkan di layar), dapat digunakan method getcurrent() dengan deklarasi seperti berikut : public Displayable getcurrent() SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 5

Class Displayable Class Displayable memiliki turunan class Screen dan Canvas. Screen, untuk pembuatan aplikasi GUI yang didasarkan pada pembentukan window/form. Canvas, untuk pembuatan gambar, seperti kotak, lingkaran, dll. Instance dari class Displayable dapat berisi beberapa object Command, yang berguna untuk melakukan inisiasi aksi-aksi tertentu di dalam aplikasi. Untuk mengeset obejct Item yang akan ditempatkan di dalam object Displayable, dapat digunakan setcurrentitem() dengan deklarasi sebagai berikut. public void setcurrentitem (Item item) 4.7 Class High Level API Dibagi menjadi kategori : Turunan class Screen (Alert, TextBox, Form, List) Turunan class Item (ChoiseGroup, Spacer, CustomItem, StringItem, ImageItem, TextField, DateField, Gauge) object-object turunan dari class Item selanjutnya akan ditampilkan dalam sebuah object Form (tipe khusus dari class Screen). Class Screen Displayable extends Screen List extends Alert TextBox Form Form Seperti yang telah dibahas sebelumnya bahwa form merupakan tempat dari objectobject yang lain seperti TextField, Datefield, StringItem, ImageItem, Gauge, dll. Form memiliki dua buah constructor, sebagai berikut : SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 6

Form (String title) Constructor akan membuat instance dari class Form tanpa ada kontrol di dalalmnya. (hanya akan membuat form kosong dengan judul) Form (String title, Item[] items) Constructor akan melewatkan kontrol-kontrol apa saja yang akan ditempatkan ke dalam form pada saat membuat form baru. Kontrol-kontrol tersebut disimpan dalam parameter items (merupakan array dari class Item). Item-item di dalam form akan di indeks dengan 0 (bukan ). dengan begitu item-item tersebut dapat dimanipulasi (menambah, menghapus, mengganti). Penambahan item ke dalam form dapat dilakukan dengan menggunakan method append() atau insert() dari class Form. Penghapusan item dapat dilakukan dengan menggunakan method delete() atau deleteall(). Penggantian item dapat dilakukan dengan menggunakan method set(). Pendeklarasian method : 4 5 6 7 public int append (Item items) public int append (String s) public int append (Image image) public void insert (int itemnum, Item item) public void delete (int itemnum) public void deleteall () public void set (int itemnum, Item item) 4 5 6 7 8 9 0 4 5 6 7 8 9 0 Contoh program : P_Form.java /* -------------------------------------------- * Program contoh implementasi penggunaan Form * @author : SQ ---------------------------------------------- */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class P_Form extends MIDlet implements CommandListener private Display display; private Form form; private Command cmdkeluar; //contructor public P_Form() display = Display.getDisplay(this); cmdkeluar = new Command("Exit", Command.EXIT, ); SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 7

4 5 6 7 8 9 0 4 5 6 7 8 9 40 4 4 4 44 45 46 47 48 49 50 5 5 5 54 public void startapp() form = new Form("Contoh Form"); //membuat form // menambahkan teks ke dalam form form.append("identitas Pribadi"); form.append("========================"); form.append(" NIM = 007 "); form.append(" Nama = Annisa Retno Sari "); form.append(" Program Studi = Teknik Informatika "); // menambahkan Command ke dalam form form.addcommand(cmdkeluar); form.setcommandlistener(this); display.setcurrent(form); public void pauseapp() public void destroyapp(boolean unconditional) notifydestroyed(); public void commandaction(command cmd, Displayable disp) if (cmd == cmdkeluar) destroyapp(false); SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 8

Alert Ilustrasi : misalnya pada aplikasi desktop, terdapat object yes/no yang digunakan untuk menampilkan pesan-pesan tertentu misalnya seperti : peringatan, konfirmasi, error. Alert ditampilkan dengan jangka waktu tertentu. Alert memiliki dua buah constructor : Alert (String title) Costructor akan melakukan inisiasi object alert dengan parameter title. Alert (String title, String allerttext, Image alertimage, AlertType alerttype) Contructor mengijinkan untuk menampilkakn teks, gambar dan tipe Alert yang akan ditampilkan. Tipe Alert direpresentasikan oleh class AlertType, MIDP memiliki lima buah type Alert yang didefinisikan sebagai field static di dalam class AlertType, tipe-tipe Alert tresebut antara lain : ALARM CONFIRMATION ERROR INFO WARNING Untuk menentukan lama object Alert akan ditampilkan dapat digunakan method settimeout() yang terdapat di dalam class Alert. Deklarasinya adalah sebagai berikut : Public void settimeout(int time) time >> merupakan parameter bertipe int yang digunakan untuk menentukan lama Alert akan ditampilkan di layar. 4 5 6 7 8 Contoh program : P_Alert.java /* -------------------------------------------- * Program contoh implementasi penggunaan Alert * @author : SQ ---------------------------------------------- */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 9

9 0 4 5 6 7 8 9 0 4 5 6 7 8 9 0 4 5 6 7 8 9 40 4 4 4 44 45 46 47 48 49 50 5 5 5 54 55 56 57 58 59 60 6 6 66 67 68 69 70 7 7 public class P_Alert extends MIDlet implements CommandListener private Display display; private Form form; private Alert alert; private Command cmdkeluar; private Command cmdalert; // constructor public P_Alert() display = Display.getDisplay(this); // membuat form form = new Form("Contoh Alert"); // menambahkan teks ke dalam form form.append("contoh implementasi penggunaan Alert"); // membuat dua buah Command, "Exit" dan "Alert" cmdkeluar = new Command("Exit", Command.EXIT, ); cmdalert = new Command("Alert", Command.SCREEN, ); // menambahkan Command ke dalam form form.addcommand(cmdkeluar); form.addcommand(cmdalert); form.setcommandlistener(this); public void startapp() display.setcurrent(form); public void pauseapp() public void destroyapp(boolean unconditional) // mendefinisikan method untuk membuat dan menampilkan Alert private void showalert() String info = "Info : \n Ini merupakan contoh Penggunaan Alert "; // membuat instance dari kelas Alert alert = new Alert("Informasi", info, null, AlertType.ALARM); // mengeset berapa lama Alert akan ditampilkan alert.settimeout(5000); // 5000 ms = 5 s // menampilkan Alert display.setcurrent(alert, form); public void commandaction(command cmd, Displayable disp) if (cmd == cmdkeluar) destroyapp(true); notifydestroyed(); SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 0

7 74 75 76 77 78 79 else if (cmd == cmdalert) showalert(); // memanggil method showalert() SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

TextBox Ilustrasi : misalnya pada saat mengirim SMS, Anda akan melihat layar inputan kosong, layar tersebut dibuat dengan menggunakan TextBox. Constructor dari TextBox akan dideklarasikan : TextBox(String title, String text, int MaxSize, int constraints) Keterangan : Parameter title text MaxSize contraint Judul TextBox Keterangan Teks yang akan ditampilkan pada saat inisiasi awal Jumlah maksimum karekter yang dapat ditampilkan di TextBox Batasan untuk menentukan karakter-karakter apa saja yang dapat diinputkan ke dalam TextBox Contraint di dalam TextBox (yang selanjutnya didefinisikan sebagai field), dapat dilihat pada tabel berikut. ANY Constraint EMAILADDR NUMERIC Sembarang karakter atau teks apapun Keterangan Hanya diizinkan untuk menulis teks yang berupa alamat email Hanya diizinkan untuk menulis bilangan bulat, tetapi karakter pertama dapat berupa tanda minus. PASSWORD Teks yang dituliskan akan terlihat dalam bentuk password (*). PHONENUMBER URL Hanya diizinkan untuk menulis nomor telepon Hanya diizinkan untuk menulis alamat website dalam bentuk URL (Uniform Resource Locator) 4 5 6 7 8 9 0 4 Contoh program : P_TextBox.java /* ----------------------------------------------- * Program contoh implementasi penggunaan TextBox * @author : SQ ------------------------------------------------ */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class P_TextBox extends MIDlet implements CommandListener private Display display; private TextBox textbox; private Form form; private Command cmdkeluar; SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

5 6 7 8 9 0 4 5 6 7 8 9 0 4 5 6 7 8 9 40 4 4 4 44 45 46 47 48 49 50 5 5 5 54 55 56 57 58 59 60 6 6 6 64 65 66 private Command cmdinfoteks; private Command cmdkembali; public P_TextBox() display = Display.getDisplay(this); textbox = new TextBox("Contoh TextBox", null, 56, TextField.ANY); cmdkeluar = new Command("Exit", Command.EXIT, ); cmdinfoteks = new Command("Info Text", Command.SCREEN, ); cmdkembali = new Command("Back", Command.SCREEN, ); textbox.addcommand(cmdkeluar); textbox.addcommand(cmdinfoteks); textbox.setcommandlistener(this); public void startapp() display.setcurrent(textbox); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command cmd, Displayable disp) if (cmd == cmdkeluar) destroyapp(true); notifydestroyed(); else if (cmd == cmdinfoteks) form = new Form("Infor Text"); form.append("text yang di inputkan: " + textbox.getstring() + "\n"); form.append("jumlah karakter: " + textbox.size() + "\n"); form.append("posisi cursor: " + textbox.getcaretposition()); form.addcommand(cmdkembali); form.setcommandlistener(this); display.setcurrent(form); else if (cmd == cmdkembali) display.setcurrent(textbox); SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com -

List Bentuk contructor dari class List : List (String title, int ListType) Constructor pertama hanya membuat List kosong dengan judul dan tipe. Sehingga harus dimanipulasi sendiri dengan menggunakan method-method tertentu melalui source code. Method append() insert() delete() deleteall() Keterangan Menambahkan item dan menempatkannya diposisi terakhir Menambahkan item dan menempatkannya di posisi sebelum posisi item yang sedang dipilih (aktif) Menghapus item yang sedang dipilih Menghapus semua item yang terdapat di dalam object List List (String title, int listtype, String[] choises, Image[] images) Constructor tersebut mempunyai dua buah parameter choises (yang berfungsi melewatkan item-item yang akan diisikan) dan parameter images (yang berfungsi menyimpan dafar gambar icon dari item-item yang akan diinputkan) List mempunyai tiga tipe class, SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 4

Tipe EXCLUSIVE MULTIPLE IMPLICIT Keterangan Berupa radio button (hanya dapat dipilih salah satu) Berupa check box (dapat dipilih lebih dari satu) Berupa list standar yang paling banyak digunakan. Untuk mengetahui item yang sedang dipilih, class List mendefinisikan tiga buah method : public int getselectedindex() public getselectedflags(boolean[] selected) public boolean isselected (int elementnum) Method : digunakan untuk mendapatkan indeks dari item aktif yang sedang dipilih dalam List dengan tipe EXCLUSIVE atau IMPLICIT. Method : digunakan untuk mendapatkan flag dari item-item yang sedang dipilih dalam List dengan tipe MULTIPLE. Selanjutnya nilai yang didapat akan ditampung di dalam array yang dilewatkan sebagai parameternya. Method : digunakan untuk memerikasa apakah item dengan indeks tertentu sedang dipilih atau tidak, yang selanjutnya indeks tersebut dimasukkan sebagai input parameter. Dalam bekerja dengan List, diijinkan untuk melakukan pilihan terhadap item-item yang ada melalui kode program secara langsung dengan menggunakan method setselectedindex() dan setselectedflag(). Deklarasi : public void setselectedindex(int elementnum, boolean selected) public void setselectedflag(boolean[] selected) 4 5 6 7 8 9 0 4 5 6 7 Contoh program : P4_ListImplicit.java /* ---------------------------------------------------- * Program contoh implementasi penggunaan Implicit List * @author : SQ ----------------------------------------------------- */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class P4_ListImplicit extends MIDlet implements CommandListener private Display display; private List list; private Command cmdpilih; private Command cmdkembali; public P4_ListImplicit() SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 5

8 9 0 4 5 6 7 8 9 0 4 5 6 7 8 9 40 4 4 4 44 45 46 47 48 49 50 5 5 5 54 55 56 57 58 59 60 6 6 6 64 65 66 67 68 69 70 7 7 7 74 display = Display.getDisplay(this); public void startapp() // membuat daftar command yang akan digunakan cmdpilih = new Command("Select", Command.SCREEN, ); cmdkembali = new Command("Back", Command.EXIT, ); // membuat gambar icon untuk setiap item List Image img; try img = Image.createImage("/dnd.png"); catch (Exception e) img = null; // membuat List dengan tipe IMPLICIT list = new List("List Tipe IMPLICIT", Choice.IMPLICIT); list.append("pilihan I", img); list.append("pilihan II", img); list.append("pilihan III", img); list.append("pilihan IV", img); list.addcommand(cmdpilih); list.addcommand(cmdkembali); list.setcommandlistener(this); display.setcurrent(list); public void pauseapp() public void destroyapp(boolean unconditional) notifydestroyed(); public void commandaction(command cmd, Displayable disp) if (cmd == cmdkembali) destroyapp(false); else int indeks = list.getselectedindex(); Alert info = new Alert("Informasi"); info.setstring("anda memilih: " + list.getstring(indeks)); info.settimeout(alert.forever); display.setcurrent(info, list); SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 6

4.8 Evaluasi Pada contoh program TextBox, modifikasilah program tersebut dengan menambahkan penggunaan method : public void delete (int offset, int length) public void insert (String src, int position) public void setstring(string text) Sehingga hasilnya akan terlihat seperti berikut : SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 7

SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 8

Note : Program dikumpulkan pada hari senin tgl oktober 04 SQ http://sidiq.mercubuana-ogya.ac.id dnd_07june07@live.com - 9