290 likes | 438 Views
Pemrograman Aplikasi Bergerak. With 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
E N D
Pemrograman Aplikasi Bergerak With Fandi SusantoS.Si. By Fandi Susanto S.Si
Study Plan Sebelum UTS • PengenalanAplikasiPemrograman J2ME • Review function ( if, for, while ) • Review OOP • Objek-objekdi 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 By Fandi Susanto S.Si
Additional Contents Double.parseDouble(String); Double.toString(double); Integer.parseInt(String); Integer.toString(int); function Random str1.equals(String); str1.equalsIgnoreCase(String); By Fandi Susanto S.Si
Menggunakan Objek Command • Untuk menggunakan Command, kita perlu: • Membuat dan mengisi objek Command • Membuat suatu class yang menggunakan interface CommandListener • Menambahkan objek Command ke dalam suatu Displayable • Mengeset CommandListener untuk Displayable tersebut • (Tentu saja) Membuat perintah yang akan dieksekusi oleh Command. By Fandi Susanto S.Si
Menggunakan Objek Command • Constructor dari objek Command: • Command(StrLabel,int CommandType,int priority); • CommandType yang ada: • BACK • CANCEL • EXIT • HELP • ITEM • OK • SCREEN • STOP By Fandi Susanto S.Si
Menggunakan Objek Command • Untuk membuat suatu CommandListener, kita perlu menambahkan implements CommandListener pada class yang ingin dijadikan CommandListener • Akan muncul error. Untuk mengatasinya, kita perlu melakukan import terhadap CommandListener • Dan kemudian menambahkan Abstract Method milik CommandListener ke dalam class: • void CommandAction(Command c,Displayable d) {} By Fandi Susanto S.Si
Menggunakan Objek Command Kemudian kita perlu menambahkan Objek Command yang dibuat ke dalam Displayable (misalnya Form). Dan mengatur CommandListener Displayable tersebut. By Fandi Susanto S.Si
Menggunakan Objek Command Setelah menambahkan command-command ke dalam Form, maka Command-command tersebut akan tampil di dalam Form. Dengan mengatur class CommandListener dari Form, maka setiap kali user memilih suatu Command, program akan menuju ke method CommandAction yang berada di dalam class CommandListener tersebut. Dengan c adalah Command yang dipilih Dan d adalah Displayable tempat Command tersebut berada. By Fandi Susanto S.Si
Menggunakan Objek Command Terakhir, kita harus menentukan tindakan yang dilakukan oleh tiap-tiap Command. By Fandi Susanto S.Si
Menggunakan Objek Command Priority pada bagian terakhir constructor objek Command menentukan urutan munculnya Command. Jika semua priority dibuat sama, maka urutan Command akan ditentukan berdasarkan urutan penambahan Command ke dalam Form. By Fandi Susanto S.Si
Menggunakan Objek Command By Fandi Susanto S.Si
Command dan TextField • Buat Form (project) dengan tampilan seperti di samping: • txtAngka1, txtAngka2 • cmdExit, cmdHitung • StringItem hasil • Dengan ketentuan: • txtAngka1 dan 2 maxSizenya 10 • hasil teksnya "Belum ada hasil" • Jangan lupa setCommandListener(this) By Fandi Susanto S.Si
Command dan TextField Tambahkan perintah di atas pada CommandAction. Double.parseDouble(String) digunakan untuk mengconvert String menjadi double. Double.toString(double) digunakan untuk mengconvert double menjadi String. By Fandi Susanto S.Si
Command dan ChoiceGroup POPUP • Buat Form (project) dengan tampilan seperti di samping: • StringItem siX,siY dan siZ • TextField txtJawab • ChoiceGroup cgOperator • cmdExit, cmdRandom, cmdJawab, cmdNyerah • Dengan ketentuan: • txtJawab maxSizenya 4 • cgOperator tipenya POPUP By Fandi Susanto S.Si
Command dan ChoiceGroup POPUP • Tambahkan: • prosedur acak(); • fungsi solusi(); By Fandi Susanto S.Si
*Random dan Integer • Random rand = new Random() • Membuat sebuah objek Random. • rand.nextInt(int batas) • Menghasilkan suatu int antara 0 dan batas. • Integer.toString(int) • Mengkonversi int menjadi String. • Integer.parseInt(String) • Mengkonversi String menjadi int By Fandi Susanto S.Si
*Reminder switch switch (expression) { case 0:<perintah jika expression==0>; break; case 1:<perintah jika expression==1>; break; . . case n:<perintah jika expression==n>; break; default:<perintah jika semua salah>; break; } break; digunakan untuk keluar dari switch. Tetapi karena perintah return otomatis keluar dari fungsi, maka break; tidak wajib. By Fandi Susanto S.Si
*Reminder procedure <access> void <nama> ( [arg1 [,arg2 [,arg3]]]) { <perintah 1> <perintah 2> <perintah 3> . . . <perintah n> } Sejumlah perintah/instruksi yang diwakili dengan satu instruksi saja. By Fandi Susanto S.Si
*Reminder function <access> <tipe> <nama> ( [arg1 [,arg2 [,arg3]]]) { <perintah 1> <perintah 2> <perintah 3> . . . <perintah n> return <hasil>; // dengan tipe data <tipe> } Sejumlah perintah/instruksi yang diwakili dengan satu instruksi saja dan menghasilkan suatu nilai akhir. By Fandi Susanto S.Si
Command dan ChoiceGroup POPUP By Fandi Susanto S.Si
*equals dan equalsIgnoreCase Setiap string memiliki metode equals(String) dan equalsIgnoreCase(String) yang mengembalikan nilai berupa boolean true atau false. Perintah str1.equals(str2) membandingkan str1 dan str2. Jika sama maka akan bernilai true, jika salah maka bernilai false. Sedangkan str1.equalsIgnoreCase(str2) sama seperti equals, tetapi bersifat case sensitive. By Fandi Susanto S.Si
Command dan ChoiceGroup MULTIPLE • Buat Form (project) dengan tampilan seperti di samping: • ChoiceGroup cgNoHP • StringItem siDaftar • cmdExit, cmdKirim • Dengan ketentuan: • cgNoHP tipenya MULTIPLE • siDaftar labelnya Daftar Kiriman: By Fandi Susanto S.Si
Command dan ChoiceGroup MULTIPLE Tambahkan ke dalam CommandAction: Reminder: isSelected(int) memeriksa apakah pilihan ke <int> terpilih atau tidak. By Fandi Susanto S.Si
Command dan DateField • Buat Form (project) dengan tampilan seperti di samping: • TextField txtAcara • DateField dfTanggal • DateField dfWaktu • ChoiceGroup cgJadwal • cmdExit,cmdCatat,cmdHapus • Dengan ketentuan: • cgJadwal tipenya MULTIPLE, dengal label: "Jadwal" By Fandi Susanto S.Si
*Calendar • Calendar adalah suatu objek untuk mempermudah programmer dalam menggunakan objek tanggal. • Untuk membuat objek Calendar baru, kita gunakan Calendar.getInstance(); • <objCalendar>.setTime(Date) digunakan untuk mengubah tanggal. • <objCalendar>.get(Calendar.HOUR_OF_DAY) digunakan untuk mendapatkan jam pada <objCalendar> • <objCalendar>.get(Calendar.MINUTE) digunakan untuk mendapatkan menit pada <objCalendar> By Fandi Susanto S.Si
*mengeset waktu pada DateField • Kode program: • dfWaktu.setDate(new Date((jam-7)*3600000+min*60000)); • Digunakan untuk mengeset waktu ke waktu sekarang. • Argumen yang diterima oleh setDate adalah berupa objek Date • new Date menerima argumen long, yaitu jumlah milisekon sejak 1 Januari 1970 00:00:00. • Oleh karena itu jumlah milisekon kita adalah jam*3600000 ditambah menit*60000. • Tanggal system kita adalah UTC+7, sehingga untuk menyesuaikan jamnya, kita perlu mengurangi jam dengan 7. By Fandi Susanto S.Si
Command dan DateField Bersambung ke belakang By Fandi Susanto S.Si
Command dan DateField By Fandi Susanto S.Si
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. (StartJava(TM) ME Platform SDK 3.0Documentation) (StartSun Java (TM) Wireless Toolkit 2.5.2 for CLDC Documentation) By Fandi Susanto S.Si