WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si
Study Plan Sebelum UTS Pengenalan Aplikasi Pemrograman J2ME Review function ( if, for, while ) Review OOP Objek-objek di Java: Screen (Form, Alert, Textbox, List) + Ticker Image, TextField, ChoiceGroup, Command CommandListener Menghubungkan antar class TEORI: OOP, MIDLet, J2ME, CDC, CLDC, JVM, KVM, JDK, SDK Kita Berada Di sini Kita Berada Di sini By Fandi Susanto S.Si
Multiple class By Fandi Susanto S.Si Dalam membuat aplikasi seringkali kita tidak hanya menggunakan satu tampilan saja. Kita dapat membuat semua tampilan dalam satu file.java saja, tetapi kode programnya akan bertumpuk sehingga sulit dimanage. Salah satu keuntungan dari bahasa Java yang berbasis OOP, kita dapat membagi program ke dalam beberapa class sehingga kode program menjadi lebih rapi.
Multiple class By Fandi Susanto S.Si Sebelum membuat program dengan beberapa class, ada baiknya kita memiliki gambaran terlebih dahulu mengenai class-class, khususnya tampilan yang akan kita buat. Misalkan:
Memulai multiple class By Fandi Susanto S.Si Setiap aplikasi Java ME selalu berawal dari suatu MIDlet. Kita dapat terlebih dahulu membuat sebuah MIDlet dan membuat objek display seperti biasa. Tetapi Form-Form akan kita buat terpisah dari MIDlet. Mula-mula:
Menambahkan Form By Fandi Susanto S.Si Click here!
By Fandi Susanto S.Si Beri nama pada class yang akan kita buat: FrmLogin Nama class sebaiknya diawali huruf besar Nama class sebaiknya diawali penjelasan tipe/parent class nya.
By Fandi Susanto S.Si Delete saja Ketikkan (atau pilih dengan ctrl+spasi): extends Form Ketikkan (atau pilih dengan ctrl+spasi): extends Form
By Fandi Susanto S.Si Atasi error dengan menambahkan constructor Perintah super("Login"); adalah constructor super class (=Form). super merujuk kepada super class/parent class. Karena FrmLogin adalah subclass dari Form, maka super di dalam FrmLogin adalah class Form. Constructor super class harus berada di baris pertama di dalam constructor class. Perintah super("Login"); adalah constructor super class (=Form). super merujuk kepada super class/parent class. Karena FrmLogin adalah subclass dari Form, maka super di dalam FrmLogin adalah class Form. Constructor super class harus berada di baris pertama di dalam constructor class.
Menghubungkan MIDlet dan FrmLogin By Fandi Susanto S.Si Boleh diganti dengan MIDlet mid, jika FrmLogin dapat dipakai lebih dari satu MIDlet (bukan hanya MidTugas) "this.mid" merujuk pada property mid pada FrmLogin, "mid" merujuk pada argumen mid pada constructor. Menyatakan MidTugas memiliki suatu FrmLogin MidTugas menampilkan frmLogin saat pertama dijalankan.
Membuat Item pada FrmLogin By Fandi Susanto S.Si Buat objek txtUser, txtPass dan siLogin. Menggunakan private berarti objek hanya dapat diakses di dalam class itu (FrmLogin) saja. Note: Jika tidak ditulis, maka access modifier default adalah public. Note: txtPass dibuat dua baris agar muat di slide
Note: FrmLogin merupakan turunan dari Form sehingga mewarisi semua field pada Form. Menambahkan item ke dalam FrmLogin By Fandi Susanto S.Si Sebelumnya Sama dengan Note: Kecuali pada this.mid=mid; dimana terdapat argumen fungsi bernama mid, jika tidak disebutkan objeknya, maka field yang dimaksud adalah field milik class bersangkutan.
Menambahkan Command ke FrmLogin By Fandi Susanto S.Si Tambahkan implements CommandListener dan pilih implements all abstract methods. Buat cmdExit dan cmdLogin. Tambahkan cmdExit dan cmdLogin ke FrmLogin. Jangan lupa tambahkan setCommandListener(this).
Menambahkan Command ke FrmLogin By Fandi Susanto S.Si Tambahkan implements CommandListener dan pilih implements all abstract methods. Buat cmdExit dan cmdLogin. Tambahkan cmdExit dan cmdLogin ke FrmLogin. Jangan lupa tambahkan setCommandListener(this).
Membuat tombol login By Fandi Susanto S.Si Sebelumnya sudah dibuat: Argumen terakhir pada constructor adalah appearanceMode. StringItem dapat dibuat menjadi tombol dengan mengeset appearanceMode menjadi Button seperti pada kode di atas. Selanjutnya kita tinggal mengaitkan siLogin dengan suatu objek Command dengan perintah:
Mengaktifkan tombol Login By Fandi Susanto S.Si Seperti pada form, agar Command pada suatu Item dapat dijalankan, diperlukan perintah setItemCommandListener. Untuk itu kita perlu suatu Objek yang menggunakan implements ItemCommandListener. Sederhananya, kita dapat tambahkan ke dalam class FrmLogin: Jangan lupa implement all abstract methods untuk menambahkan commandAction(Command, Item). Note: commandAction untuk masing-masing interface: CommandListener: commandAction(Command, Displayable) ItemCommandListener: commandAction(Command, Item)
Mengaktifkan tombol Login By Fandi Susanto S.Si Agar Command cmdLogin dieksekusi waktu kita menekan tombol "action" kita perlu menambahkan: Dan jangan lupa, agar Command pada item dapat dijalankan, kita perlu menambahkan:
Pengaturan Command pada FrmLogin By Fandi Susanto S.Si
New Java Class : LstTampil By Fandi Susanto S.Si
Menghubungkan LstTampil dan MidKeuangan By Fandi Susanto S.Si extends List Tambahkan LstTampil ke dalam Midlet Pada FrmLogin Selelah tampil Alert, pindah ke lstTampil Pada FrmLogin Selelah tampil Alert, pindah ke lstTampil
Choice.IMPLICIT By Fandi Susanto S.Si Pada documentation Choice/ChoiceGroup/List: IMPLICIT adalah suatu pemilihan dimana elemen/pilihan yang terfokus menjadi terpilih ketika suatu Command dijalankan.
Note: tugas.length = ukuran array tugas. Dapat digabung deklarasi array menjadi: String tugas[] = {isi1,isi2,isi3,...}; Dapat digabung deklarasi array menjadi: String tugas[] = {isi1,isi2,isi3,...}; Mengisi Array Angka 4 pada new String[4]; berarti ukuran array = 4. Angka 4 pada new String[4]; berarti ukuran array = 4. Mengisi list (menggunakan Array) By Fandi Susanto S.Si Deklarasi array String Bisa juga: String[] tugas = new... Deklarasi array String Bisa juga: String[] tugas = new... Menambahkan tugas-tugas ke dalam List (LstTampil)
Hasil program: By Fandi Susanto S.Si FrmLogin Alert pesan LstTugas
Menambahkan Command By Fandi Susanto S.Si
MIDLet sebagai CommandListener By Fandi Susanto S.Si Tambahkan implements CommandListener pada MidTugas: Jangan lupa Implement all abstract methods Gunakan mid (MidTugas pada LstTampil) sebagai CommandListener:
commandAction pada MidTugas By Fandi Susanto S.Si Agar Command pada LstTampil dapat diakses di MidTugas, access modifier Command-Command tersebut harus diubah menjadi public (atau kosong).
commandAction pada MidTugas By Fandi Susanto S.Si Kembali ke frmLogin Hapus pilihan yang sedang terpilih Menampilkan frmTambah (belum dibuat)
New Java Class : FrmTambah By Fandi Susanto S.Si
extends Form Tambahkan LstTampil ke dalam Midlet Pada commandAction, Pada cmdTambah, tambahkan perintah untuk pindah ke frmTambah Pada commandAction, Pada cmdTambah, tambahkan perintah untuk pindah ke frmTambah
FrmTambah By Fandi Susanto S.Si
FrmTambah By Fandi Susanto S.Si Mempersingkat kode berikutnya Menyisipkan tugas di sesudah pilihan yang terpilih Mengosongkan txtTugas, pada cmdBack maupun cmdTambah Pindah tampilan ke lstTampil
Thank You For Your Attention Special Thanks: Yoannita S.Kom (dan para pendahulunya) atas ilmunya. Reminders: Dokumentasi class-class (properties, method dan contoh program) yang dipakai di Java ME dapat diakses lewat menu documentation pada start menu di folder WTK atau Java ME SDK. (Start Java(TM) ME Platform SDK 3.0 Documentation) (Start Sun Java (TM) Wireless Toolkit for CLDC Documentation) By Fandi Susanto S.Si