KOMPUTASI BERGERAK. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo

Ukuran: px
Mulai penontonan dengan halaman:

Download "KOMPUTASI BERGERAK. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo"

Transkripsi

1 MODUL PRAKTIKUM KOMPUTASI BERGERAK D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo

2 [halaman ini sengaja dikosongkan] Biografi Penulis Muhammad Fuad, S.Kom Penulis lahir dan menyelesaikan sekolah hingga SLTA di kota Surabaya. Melanjutkan pendidikan di Teknik Informatika UNITOMO Surabaya dengan bidang minat Komputasi. Sekarang penulis bekerja sebagai dosen Manajemen Informatika Universitas Trunojoyo Madura. Mata kuliah yang pernah diampuh oleh penulis di antaranya adalah Basis Data, Pemrograman Berorientasi Obyek, Komputasi Bergerak. ii 75

3 Daftar Pustaka Kata Pengantar Tremblett P., Instant Wireless Java with J2ME, McGraw-Hill/Osborne, 2002 Rischpater, Ray, Beginning Java ME Platform, APRESS, 2008 Bismillaahirrohmaanirrohiim, Alhamdulillah, modul Komputasi Bergerak dapat diselesaikan. Modul ini berisi dua belas bab. Modul Komputasi Bergerak memberikan tuntunan praktis bagaimana membangun aplikasi java yang dapat dijalankan dalam perangkat bergerak atau yang biasa disebut sebagai MIDlet. Semoga modul Komputasi Bergerak dapat menyediakan tutorial yang bermanfaat bagi praktikan yang ingin menekuni pemrograman Java dalam lingkungan perangkat bergerak. Bangkalan, 19 Januari 2010 Penulis 74 iii

4 [halaman ini sengaja dikosongkan] Tugas Akhir Buatlah MIDlet untuk mengakses data dari server. Sistem informasi yang dibangun di server harus berbeda antar mahasiswa. iv 73

5 int b; StringBuffer sb = new StringBuffer(); while ( (b = is.read())!= -1) { sb.append((char)b); socket.close(); sidata.settext(sb.tostring()); display.setcurrent(outputform); Tujuan Umum Mahasiswa mampu memahami teknologi Java Micro Edition kemudian mengembangkan aplikasi MIDlet untuk keperluan komputasi 5. Build dan Run untuk menguji MIDlet. Gambar Konfirmasi akses network Gambar Menampilkan info dari server Tugas Buatlah MIDlet dengan kemampuan mengakses web server untuk melakukan request harga barang dengan memasukkan nama barang. Untuk database dapat menggunakan DBMS MySQL. Untuk server programming dapat menggunakan PHP atau JSP atau Servlet. Database hanya terdiri dari satu tabel saja dan desain tabel diserahkan ke Anda. 72 v

6 [halaman ini sengaja dikosongkan]!"); socket.close(); catch (IOException a) { System.out.println("exception saat menulis data ke ServerSocket: " + a); a.printstacktrace(); 4. Simpan file, lakukan kompilasi dan jalankan file sehingga akan tampil seperti di bawah ini. Gambar Mengaktifkan program server Pada bagian kedua, kita akan membangun MIDlet dengan kemampuan berkomunikasi lewat network. 1. Dengan menggunakan J2ME WTK, buat project baru dengan nama Pertemuan12 dengan CobaStreamConnection sebagai nama class MIDlet. 2. Siapkan dua variabel bertipe String untuk menyimpan informasi tentang host dan port dari server yang akan dihubungi. Informasi didapatkan dari seting User Defined pada J2ME WTK. String host = getappproperty("host"); String port = getappproperty("daytime_port"); daytimeurl = PROTOCOL + "://" + host + ":" + port; 3. Siapkan objek StreamConnection untuk membuka koneksi menuju server dengan parameter host dan port dalam daytimeurl. Siapkan objek InputStream untuk menampung aliran data dari server hasil pemanggilan method openinputstream. socket = (StreamConnection)Connector.open(dayTimeURL,Connector.READ,t rue); is = socket.openinputstream(); 4. Data dari InputStream berupa susunan integer diubah menjadi karakter dan disusun kembali dalam StringBuffer. Selanjutnya hasil konversi StringBuffer ke String ditampilkan pada Form melalui komponen StringItem. vi 71

7 Connector menghasilkan objek Connection yang di antara jenisnya adalah StreamConnection yang memiliki kemampuan untuk menangani aliran data masuk dengan InputStream dan aliran data keluar dengan OutputStream. Praktikum Pada pertemuan ke-11, kita akan membangun MIDlet dengan kemampuan untuk berkomunikasi melalui jaringan komputer (network) dengan memanfaatkan paket javax.microedition.io. Pada bagian pertama, perlu dibangun class DayTimeServer yang bertindak sebagai server yang menyediakan informasi tentang date/time saat ini. ServerSocket adalah class yang digunakan untuk melayani permintaan melalui network. Method accept dari class ServerSocket bertugas menerima koneksi dan menghasilkan objek Socket sebagai titik akhir komunikasi antar mesin. 1. Buat file DayTimeServer. 2. Siapkan objek ServerSocket, Socket dan DataOutputStream. ServerSocket serversocket = null; Socket socket; DataOutputStream dosdata; try { serversocket = new ServerSocket(dayTimePort); System.out.println("Membuka ServerSocket pada port " + daytimeport); catch (IOException a) { System.out.println("exception saat membuka ServerSocket: " + a); a.printstacktrace(); System.exit(0); Tujuan Khusus 1. Mampu menggunakan Java 2 Micro Edition Wireless Tool Kit untuk membuat project aplikasi MIDlet 2. Mampu menambahkan konten dinamis pada MIDlet 3. Mampu menambahkan kemampuan interaksi user dengan MIDlet 4. Membangun aplikasi MIDlet untuk komputasi dengan memanfaatkan bilangan acak 5. Memanfaatkan MIDP API untuk pembuatan tampilan antar muka pengguna 6. Mampu menggunakan komponen antar muka tingkat mahir untuk mendesain tampilan antar muka pengguna 7. Menggunakan grafik dengan komponen antar muka tingkat rendah 8. Melengkapi MIDlet dengan notifikasi 9. Menyisipkan Pesan Berjalan pada MIDlet 10. Mengolah Data Persisten 11. Mampu Mengolah Data Persisten 12. Mengakses aplikasi internet dengan MIDlet 3. Menyiapkan data date/time dan mengirimnya lewat OutputStream. while (true) { try { socket = serversocket.accept(); System.out.println(socket.toString() + " siap menerima request... "); dosdata = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream())); String datestring = new Date().toString(); dosdata.write(datestring.getbytes(), 0, datestring.length()); dosdata.flush(); System.out.println("Data date/time telah siap diakses 70 vii

8 [halaman ini sengaja dikosongkan] Modul XII Memulai Pemrograman Jaringan Sederhana dengan MIDlet Tujuan : v Mahasiswa mampu mengakses aplikasi internet dengan MIDlet Tugas Pendahuluan 1. Tuliskan properti dan method dari StringBuffer! 2. Tulisan cara mengkonversi dari char ke String! 3. Tuliskan fungsi dari settext dan gettext dari StringItem! Dasar Teori Connector adalah sebuah class yang bertindak sebagai pabrik untuk menghasilkan objek Connection. Proses pembuatan Connection membutuhkan beberapa informasi dengan format {scheme:[{target][{params]. Scheme mengacu pada protokol seperti socket dan http. Target berisi network address seperti localhost atau yang mungkin juga dilengkapi dengan informasi port seperti port 80 untuk http dan port 1024 untuk socket (sebagai catatan port 1024 ke bawah digunakan oleh sistem operasi). Parameter boleh dilengkapi dengan satu atau beberapa persamaan seperti type=a atau page=2. Method open digunakan untuk membuka koneksi dengan spesifikasi seperti di bawah ini. Informasi schema, target dan parameter ditampung dalam parameter name bertipe String; parameter mode mengatur hak akses seperti READ, WRITE atau READ_WRITE; parameter timeouts untuk memberi tanda bahwa timeout exception dibutuhkan dalam proses pemanggilan ini. public static Connection open(string name, int mode, boolean timeouts) throws IOException viii 69

9 [halaman ini sengaja dikosongkan] Daftar Isi Modul I : Memulai Pemrograman Komputasi Bergerak...15 Modul II : Melengkapi MIDlet dengan Konten Dinamis...19 Modul III : enggunakan Command dan CommandListener...23 Modul IV : Komputasi dengan Bilangan Acak...27 Modul V : Komponen Antar Muka Screen...31 Modul VI : Komponen Antar Muka Item...35 Modul VII : Grafik dalam MIDlet...39 Modul VIII : Menambahkan Notifikasi...45 Modul IX : Menyisipkan Tulisan Berjalan...49 Modul X : Mengolah Data Persisten...53 Modul XI : Memanfaatkan RecordStore untuk Portable Log...61 Modul XII : Memulai Pemrograman Jaringan Sederhana dengan MIDlet...69 Tugas Akhir...73 Daftar Pustaka...74 Biografi Penulis ix

10 [halaman ini sengaja dikosongkan] 3. Jika record mengandung potongan string yang dicari maka method matches akan menghasilkan nilai true. public boolean matche s(byte[] candidate) 4. Implementasi method matches untuk mencari apakah suatu record mengandung karakter tertentu, menggunakan method indexof dari class String. public boolean matches(byte[] suspect) { String string = new String(suspect).toLowerCase(); if (string!= null && string.indexof(search)!= -1) return true; else return false; Gambar Menu Cari Gambar Menampilkan hasil pencarian Tugas Sempurnakan MIDlet dari project Pertemuan11 sehingga memiliki kemampuan navigasi record, manajemen record, pengurutan data, dan pencarian data. Data yang ditampilkan adalah record BukuTelepon dengan nama yang diawali dengan karakter-karakter yang dimasukkan melalui TextField dalam form pencarian. x 67

11 2. Pengurutan record dalam RecordEnumeration ditangani oleh class yang mengimplementasikan interface RecordComparator dan mengoverride abstract method compare. public int compare(byte[] rec1, byte[] rec2) 3. Implementasi dari method ini memanfaatkan method compareto dari class String. public int compare(byte[] rec1, byte[] rec2) { String string1 = new String(rec1); String string2 = new String(rec2); int hasilperbandingan = string1.compareto(string2); int hasil = 0; if (hasilperbandingan == 0) { hasil = RecordComparator.EQUIVALENT; else if (hasilperbandingan < 0) { hasil = RecordComparator.PRECEDES; else if (hasilperbandingan > 0) { hasil = RecordComparator.FOLLOWS; return hasil; 4. Method compareto menghasilkan nilai bertipe integer dengan tiga kemungkinan, yaitu nol (EQUIVALENT), kurang dari nol dan lebih dari nol. Untuk pengurutan data secara ascending, nilai integer kurang dari nol diset sama dengan field PRECEDES; nilai integer lebih besar dari nol diset sama dengan field FOLLOWS. Menggunakan RecordFilter: 1. Pencarian record berdasarkan nilai yang terdapat pada kolom tertentu dapat dilakukan dengan memanfaatkan instance dari class yang mengimplementasikan interface RecordFilter. filter = new Filterku(ygDicari); comparator = new Comparatorku(); recordenumeration = recordstore.enumeraterecords( filter, comparator, boolupdate); 2. Method yang perlu dioverride saat mengimplementasikan interface RecordFilter adalah matches dengan nilai balik boolean. Method ini berfungsi membandingkan antara suatu record dengan potongan string yang mungkin ada di dalam record tersebut. 66 Daftar Gambar Gambar 1. 1 Mengakses KToolbar...16 Gambar 1. 2 Membuat project baru...16 Gambar 1. 3 Memilih target platform...16 Gambar 1. 4 Laporan hasil pembuatan project...17 Gambar 1. 5 Tampilan MIDlet...17 Gambar 2. 1 Info penanggalan di console...19 Gambar 2. 2 Info penanggalan di MIDlet...20 Gambar 2. 3 Calendar di console...20 Gambar 2. 4 Calendar di MIDlet...21 Gambar 2. 5 Modifikasi aplikasi dengan Calendar...21 Gambar 2. 6 Modifikasi pertama pada MIDlet...21 Gambar 2. 7 Modifikasi kedua pada MIDlet...21 Gambar 3. 1 Command pada MIDlet...25 Gambar 4. 1 Menguji Random di console...28 Gambar 4. 2 Menguji Random di MIDlet...30 Gambar 5. 1 Menu di MIDlet...33 Gambar 5. 2 TextBox di MIDlet...33 Gambar 5. 3 Form di MIDlet...34 Gambar 5. 4 List di MIDlet...34 Gambar 6. 1 Menu pada MIDlet...37 Gambar 6. 2 DateField di MIDlet...37 Gambar 6. 3 Memilih tanggal...37 Gambar 6. 4 Hasil pemilihan DateField...37 Gambar 6. 5 Pemilihan DateField ditampilkan di form utama...38 Gambar 6. 6 Gauge di MIDlet...38 Gambar 6. 7 Gauge interaktif...38 Gambar 6. 8 Nilai dari gauge ditampilkan di form utama...38 Gambar 7. 1 Mengatur seting project...40 Gambar 7. 2 MIDlet dengan icon...40 Gambar 7. 3 Mencoba ChoiceGroup...41 Gambar 7. 4 Mencoba Canvas...42 Gambar 7. 5 Menambah MIDlet...42 xi

12 Gambar 7. 6 Project dengan dua MIDlet Gambar 7. 7 Menampilkan grafik Gambar 7. 8 Image dalam MIDlet Gambar 8. 1 Splash screen dengan Alert Gambar 8. 2 Beberapa tipe Alert Gambar 8. 3 Alarm pada Alert Proses edit dan hapus menggunakan method yang sama dengan project Pertemuan10, yaitu setrecord dan deleterecord. Yang menjadi perhatian di sini adalah nilai indeks yang dikirim sebagai parameter dari dua method tersebut. Gambar 9. 1 Ticker pada MIDlet Gambar 9. 2 Ticker di form pertama Gambar 9. 3 Ticker di form kedua Gambar 9. 4 Menu Next Gambar 9. 5 Menu Previous Gambar 9. 6 ChoiceGroup dan Ticker pada form pertama Gambar 9. 7 Ticker dengan pesan hasil pilihan dari form pertama Gambar 9. 8 Ticker dengan pesan Gambar Membuka RecordStore Gambar Membaca record Gambar Menambah record Gambar Menampilkan record Gambar Record pada StringItem Gambar Memilih record Pertama Gambar Menampilkan record pertama Gambar Memilih menu Berikutnya Gambar Menampilkan record terakhir Gambar Memilih menu Sebelumnya Gambar Menampilkan record sebelumnya Gambar Memilih menu Baru Gambar Menampilkan record berikutnya Gambar Memilih menu Terakhir Gambar Mengosongkan kotak isian Gambar Mengisi data isian baru Gambar Record baru berhasil ditambahkan Gambar Memilih menu Edit Gambar Mengedit record Gambar Record berhasil diedit Gambar List sebagai menu Gambar Form pencarian Gambar Menu navigasi Gambar Menu edit xii Gambar Menu hapus 9. Agar nilai indeks atau recordid tidak berubah maka data ini dapat disimpan bersama dengan data nama dan telepon ke dalam objek BukuTelepon. public class BukuTelepon { private String nama, telp; private int recordid; public BukuTelepon(int c, String a, String b) { this.recordid = c; this.nama = a; this.telp = b; //method setxxx(), getxxx(), tostring() Menggunakan RecordComparator: 1. MIDlet yang telah menggunakan RecordEnumeration tanpa dilengkapi dengan instance dari RecordComparator dalam proses pengolahan record dari RecordStore BukuTelepon akan menampilkan data nama dalam urutan terbalik atau descending. 65

13 6. Halaman pencarian data BukuTelepon berisi menu manajemen data yang meliputi Edit Nama, Edit Telp, dan Hapus. Gambar TextBox untuk mengedit...64 Gambar Menu hapus...65 Gambar Menu Cari...67 Gambar Menampilkan hasil pencarian...67 Gambar Mengaktifkan program server...71 Gambar Konfirmasi akses network...72 Gambar Menampilkan info dari server...72 Gambar Menu edit 7. Proses edit dari opsi Edit Nama dan Edit Telp melibatkan halaman lain yaitu, TextBox untuk data nama dan TextBox untuk data telp. Jika menu Edit Nama diakses maka akan membuka halaman TextBox dengan judul Nama dan dilengkapi dengan dua Command yaitu OK untuk mengeksekusi perubahan data nama dan Command Kembali untuk menampilkan halaman List berisi opsi Cari dan Tambah. Halaman TextBox Nama dan Telp akan digunakan kembali saat opsi Tambah diakses. Gambar TextBox untuk mengedit 64 xiii

14 [halaman ini sengaja dikosongkan] diaktifkan. Parameter ketiga mengatur kemutakhiran data, jika diisi true maka RecordEnumerator akan selalu mengupdate data sesuai dengan RecordStore. Pembacaan record dari RecordEnumeration melibatkan beberapa method, di antaranya adalah method hasnextelement untuk memeriksa kondisi keberadaan elemen dalam arah next; method nextrecordid untuk mendapatkan recordid dari arah next. Struktur penyimpanan data seperti Vector dapat dimanfaatkan untuk pengolahan data selanjutnya. Data recordid, nama dan telp dienkapsulasi ke dalam objek BukuTelepon dan selanjutnya objek ini disimpan ke dalam Vector dengan method addelement. Pada proses membaca data dari Vector, elemen Vector didapatkan dengan memanggil method elementat. Data diperoleh dari elemen ini dengan mengubah tipenya dengan casting ke class BukuTelepon. recordenumeration = recordstore.enumeraterecords( filter, comparator, boolupdate); vectorbt = new Vector(); byte [] record = new byte[100]; ByteArrayInputStream baisdata = new ByteArrayInputStream(record); DataInputStream disdata = new DataInputStream(baisData); String nama="", telp=""; while (recordenumeration.hasnextelement()) { int recordid = recordenumeration.nextrecordid(); recordstore.getrecord(recordid, record, 0); nama = disdata.readutf(); telp = disdata.readutf(); baisdata.reset(); vectorbt.addelement(new BukuTelepon(recordId, nama, telp)); public BukuTelepon forwardrs() { String data = null; if ( indeksbt <= vectorbt.size()-1 ) { indeksbt++; if (indeksbt > vectorbt.size()-1) { indeksbt = 0; return( (BukuTelepon)vectorBT.elementAt(indeksBT) ); xiv 63

15 3. Eksekusi pada opsi Cari akan menampilkan halaman baru berupa Form berisi StringItem yang akan menampilkan nama dan nomor telepon, dan berisi TextField untuk pencarian record tertentu. Modul I Memulai Pemrograman Komputasi Bergerak Tujuan : v Mampu menggunakan Java 2 Micro Edition Wireless Tool Kit untuk membuat project aplikasi MIDlet Gambar Form pencarian 4. Halaman pencarian ini berisi menu untuk navigasi dan manajemen record. Navigasi terdiri dari dua menu yaitu Sebelumnya dan Berikutnya. Dua menu navigasi ini akan menampilkan data dari RecordSource BukuTelepon yang bersifat sirkular, record selanjutnya dari record terakhir adalah record pertama. Record sebelumnya dari record pertama adalah record terakhir. Gambar Menu navigasi 5. Fungsi navigasi dibangun dengan memanfaatkan RecordEnumeration yang diperoleh dengan memanggil method enumeraterecords. Parameter pertama dari method ini boleh diisi dengan RecordFilter, jika diisi null maka fungsi seleksi tidak diaktifkan. Parameter kedua boleh diisi dengan RecordComparator, jika diisi null maka fungsi pengurutan tidak 62 Tugas Pendahuluan 1. Apa yang dimaksud dengan kompilasi? 2. Apa yang dimaksud dengan interpretasi? 3. Tuliskan macam-macam visibilitas dalam class! Dasar Teori Pemrograman komputasi bergerak memanfaatkan teknologi Java 2 Micro Edition (J2ME) untuk menghasilkan aplikasi dengan kemampuan komputasi yang dapat dijalankan pada perangkat bergerak. Aplikasi ini berjalan di atas lapisan Mobile Information Device Profile (MIDP) dan disebut MIDlet. MIDlet adalah sebuat class Java berakses public yang merupakan turunan abstract class javax.microedition.midlet.midlet dengan mengoverride method pauseapp, startapp, dan destroyapp. MIDlet sebagai class utama dapat bekerja sama dengan class lain beserta sumber daya (image, data dan lain-lain) yang dipaket dalam file Java Archieve (JAR). MIDlet dikembangkan dengan menggunakan Java Development Kit dan J2ME W ireless Tool Kit (WTK). Ada beberapa tahapan yang dibutuhkan dalam proses pengembangan MIDlet. Tahap pertama adalah menulis kode dalam file sumber (.java). Tahap kedua adalah melakukan kompilasi untuk mengubah file java menjadi file class. Tahap ketiga adalah melakukan preverifikasi untuk memodifikasi file class agar dapat berjalan di emulator. Emulator adalah perangkat lunak untuk mensimulasikan jalannya MIDlet di perangkat komputasi ukuran kecil seperti hand phone. 15

16 Praktikum Ikutilah langkah-langkah berikut ini untuk membuat sebuah MIDlet yang akan menampilkan tulisan Salam dari Universitas Trunojoyo Madura pada emulator. 1. Jalankan program Ktoolbar dari J2ME WTK. Modul XI Memanfaatkan RecordStore untuk Portable Log Tujuan : v Mahasiswa mampu mengolah data persisten Gambar 1. 1 Mengakses KToolbar 2. Pilih New Project dan isikan Pertemuan1 untuk Project Name dan HelloUTM untuk MIDlet Class Name. Tugas Pendahuluan 1. Tuliskan properti dari RecordComparator! 2. Tuliskan properti dari RecordFilter! 3. Tuliskan method dari Vector yang digunakan untuk menambah dan membaca record! Gambar 1. 2 Membuat project baru 3. Saat jendela Settings for project Pertemuan1 terbuka, pilih OK untuk menyetujui seting yang telah ditentukan secara default. Dasar Teori Paket javax.microedition.rms menyediakan tidak hanya class RecordStore dan lima class Exception, melainkan juga melengkapi dengan empat interface yaitu RecordEnumeration, RecordComparator, RecordFilter dan RecordListener. Interface RecordEnumeration bertindak sebagai enumerator bagi RecordStore, menjaga urutan recordid dari setiap record dalam RecordStore. Untuk melakukan pengurutan record, gunakan interface RecordComparator yang ditambahkan pada enumerator. Untuk melakukan pencarian record tertentu, gunakan interface RecordFilter bersama enumerator. Praktikum Pada pertemuan ke-11 ini, kita akan memanfaatkan paket javax.microedition.rms untuk membuat aplikasi MIDlet sebagai portable log yang akan mencatat data telepon sebagai penyempurna dari project Pertemuan10. Menggunakan interface RecordEnumeration: 1. Jalankan J2ME WTK dan buat project baru dengan nama Pertemuan11 dengan CobaRMS sebagai nama class MIDlet. 2. MIDlet CobaRMS menampilkan halaman pertama berupa List dengan dua opsi yaitu: Cari dan Tambah, List ini memiliki tipe IMPLICIT. Selain menampilkan dua opsi di atas, List juga berisi sebuah tombol Exit. Gambar 1. 3 Memilih target platform 16 Gambar List sebagai menu 61

17 4. Jendela J2ME WTK menampilkan pesan tentang lokasi untuk menyimpan file kode sumber (source code) di direktori src, file sumber daya (resource) di direktori res dan file pustaka (library) di direktori lib. Gambar Record baru berhasil ditambahkan Gambar Memilih menu Edit Gambar 1. 4 Laporan hasil pembuatan project 5. Gunakan sembarang editor teks untuk menuliskan kode sumber bahasa java. Simpan file dengan nama HelloUTM.java. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloUTM extends MIDlet { public HelloUTM() { public void pauseapp() { Gambar Mengedit record Gambar Record berhasil diedit public void startapp() { Display.getDisplay(this).setCurrent( new Alert("Salam dari Universitas Trunojoyo Madura"); public void destroyapp(boolean kondisi) { 6. Dengan menggunakan J2ME WTK, lakukan Build yang merupakan kombinasi langkah kompilasi dan preverifikasi. Pilih Run untuk menjalankan MIDlet dengan emulator. Gambar 1. 5 Tampilan MIDlet 60 17

18 Tugas 1. Beri tanda komentar pada kedua baris import. Ada berapa jumlah error yang terjadi? Apa makna tanda bintang (*) pada kedua baris import? Gantilah tanda bintang (*) dengan suatu cara lain agar program tetap dapat berjalan dengan baik! 2. Hilangkan kata kunci public yang tertulis sebelum kata kunci class dalam file kode sumber HelloUTM.java kemudian lakukan Build! Apakah ada error yang terjadi? Apakah MIDlet berjalan dengan baik sebagaimana pada hasil dari Praktikum langkah ke-6 di atas? Tuliskan kesimpulan Anda berkaitan dengan uji coba ke-2 ini! 3. Gantilah kata kunci MIDlet setelah kata kunci extends dengan midlet kemudian Build! Ada berapa error yang terbit? Tuliskan kesimpulan Anda mengenai hal ini! 4. Beri tanda komentar agar bagian constructor dari class HelloUTM tidak dieksekusi kemudian Build! Apakah MIDlet tetap berjalan dengan baik? Beri tanda komentar pada method pauseapp atau destroyapp kemudian Build? Apakah J2ME WTK menampilkan pesan kesalahan? Bandingkan kedua percobaan pada langkah keempat ini dan tuliskan kesimpulan Anda! Gambar Menampilkan record berikutnya Gambar Memilih menu Terakhir Gambar Mengosongkan kotak isian Gambar Mengisi data isian baru 18 59

19 Modul II Melengkapi MIDlet dengan Konten Dinamis Tujuan : v Mahasiswa mampu menambahkan konten dinamis pada MIDlet Gambar Menampilkan record terakhir Gambar Memilih menu Sebelumnya Tugas Pendahuluan 1. Apa yang dimaksud dengan paket atau package? 2. Tuliskan properti dari class Date dan Calendar? 3. Tuliskan properti atau method dari Date yang telah obsolete? Gambar Menampilkan record sebelumnya Gambar Memilih menu Baru Dasar Teori Package atau paket java.util pada J2SE menyediakan beberapa class dengan fungsi layanan tertentu. Di antara layanan yang diberikan adalah menyajikan data tanggal dan waktu. Layanan ini disediakan oleh dua class Date dan Calendar. J2ME melalui Mobile Information Device Profile mendukung pengembangan konten dinamis dari MIDlet dengan menyediakan class Date dan Calendar. Praktikum Menggunakan class Date pada aplikasi J2SE: 1. Buat class TanggalHariIni dan lengkapi dengan main method. 2. Tambahkan paket java.util untuk mengakses class Date. import java.util.date; 3. Cetak data tanggal ke layar dengan memanggil konstruktor class Date. System.out.println("Tanggal hari ini: " + new Date()); 4. Simpan file TanggalHariIni kemudian lakukan kompilasi dan jalankan. 58 Gambar 2. 1 Info penanggalan di console Menggunakan class Date pada MIDlet: 19

20 1. Dengan menggunakan J2ME WTK, buat project Pertemuan2 dan lengkapi dengan class MIDlet dengan nama CobaDate. 2. Tambahkan definisi method pauseapp, startapp dan destroyapp dalam body class CobaDate. 3. Boleh menambahkan paket javax.microedition.midlet dan javax.microedition.lcdui dan paket java.util untuk dapat mengakses class MIDlet, Display dan Date. 4. Pada method startapp, tambahkan kode untuk menampilkan pesan/notifikasi dengan class Alert. Letakkan konstruktor class Date sebagai parameter dari konstruktor class Alert. Display.getDisplay(this).setCurrent(Alert(/*letakkan konstruktor class Date di sini!*/)); Modifikasilah project Pertemuan10 untuk menambahkan kemampuan untuk mengedit dan menghapus data pada RecordStore. Lengkapi MIDlet dengan kemampuan untuk mengosongkan TextField dan navigasi pada record. Untuk fitur navigasi, diperkenankan menggunakan struktur data Vector guna menampung data dari RecordStore, diperkenankan menggunakan perulangan dengan for untuk loop dari record pertama sampai dengan record terakhir. 5. Simpan file CobaDate.java. Kemudian lakukan Build dan Run untuk menguji MIDlet dengan emulator. Gambar 2. 2 Info penanggalan di MIDlet Menggunakan class Calendar pada aplikasi J2SE: 1. Pada class TanggalHariIni, ganti konstruktor class Date dengan menggunakan pemanggilan method statik getinstance dari class Calendar. System.out.println("Tanggal hari ini: " + Calendar.getInstance()); Gambar Record pada StringItem Gambar Memilih record Pertama 2. Dengan demikian perlu dilakukan penyesuaian pada baris perintah import dari paket java.util. import java.util.calendar; 3. Simpan file CobaData.java. Selanjutnya lakukan kompilasi dan jalankan class TanggalHariIni. Gambar Menampilkan record pertama Gambar Memilih menu Berikutnya Gambar 2. 3 Calendar di console 20 57

21 public void setrecord(int recordid, byte[] newdata, int offset, int numbytes) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException, RecordStoreFullException 11. Record dapat dihapus dengan memanggil method deleterecord. public void deleterecord(int recordid) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException 12. MIDlet di atas telah memiliki kemampuan untuk membaca dan menulis data pada RecordStore. Simpan kemudian lakukan Build dan Run untuk menguji MIDlet. Menggunakan class Calendar pada MIDlet: 1. Buka project Pertemuan2 pada J2ME WTK. 2. Buka file CobaDate.java yang terletak di dalam direktori src, menggunakan editor teks. 3. Edit kode dalam file CobaDate.java. Gantikan konstruktor class Date dengan pemanggilan method static getinstance dari class Calendar. 4. Simpan file CobaDate.java yang telah diedit kemudian lakukan Build dan Run untuk menguji MIDlet. Gambar 2. 4 Calendar di MIDlet Tugas 1. Perhatikan tampilan pada saat aplikasi J2SE yang menggunakan class Calendar dijalankan. Modifikasilah kode TanggalHariIni.java agar class TanggalHariIni hanya menampilkan data tanggal dalam format <tanggal>- <nomor_bulan>-<tahun> Gambar Membuka RecordStore Gambar Membaca record Gambar 2. 5 Modifikasi aplikasi dengan Calendar 2. Perhatikan tampilan MIDlet CobaDate saat dijalankan. Modifikasilah kode CobaDate.java agar tampilan tanggal mengikuti format seperti pada soal nomor dua. Gambar 2. 6 Modifikasi pertama pada MIDlet 3. Dari hasil jawaban soal nomor dua, lakukan pengembangan dengan menuliskan data bulan dengan menggunakan nama bulan. Gambar 2. 7 Modifikasi kedua pada MIDlet Gambar Menambah record Gambar Menampilkan record Tugas 56 21

22 [halaman ini sengaja dikosongkan] berturut-turut adalah nilai indeks awal dari array tipe byte dan berikutnya adalah jumlah byte yang digunakan. Untuk menggunakan semua byte, gunakan field length dari array tipe byte sebagai parameter ketiga. String nama = tfnama.getstring(); String telp = tftelp.getstring(); ByteArrayOutputStream baosdata = new ByteArrayOutputStream(); DataOutputStream dosdata = new DataOutputStream(baosData); dosdata.writeutf(nama); dosdata.writeutf(telp); dosdata.flush(); byte [] record = baosdata.tobytearray(); recordstore.addrecord(record, 0, record.length); 8. Record dapat ditampilkan dengan memanggil method getrecord. public int getrecord(int recordid, byte[] buffer, int offset) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException 9. Membaca dan menampilkan data dari RecordStore menggunakan alur yang merupakan kebalikan dari proses menulis ke RecordStore. Method getrecord menghasilkan data yang disimpan dalam array satu dimensi bertipe array. Array ini harus sudah terhubung dengan instance dari ByteArrayInputStream yang harus dihubungkan juga dengan instance dari DataInputStream. Berikutnya data dibaca dengan method readutf. Proses pembacaan dilakukan mulai record pertama dengan id 1 hingga record terakhir dengan id yang didapatkan dengan method getnumrecords. byte [] record = new byte[100]; ByteArrayInputStream baisdata = new ByteArrayInputStream(record); DataInputStream disdata = new DataInputStream(baisData); sihasil.settext("\n"); for (int a=0; a<recordstore.getnumrecords(); a++) { recordstore.getrecord(a+1, record, 0); sihasil.settext(sihasil.gettext() + disdata.readutf() + "\n"); sihasil.settext(sihasil.gettext() + disdata.readutf() + "\n"); baisdata.reset(); Record dapat diedit dengan memanggil method setrecord. 55

23 Praktikum Pada pertemuan ke-10, kita akan menggunakan RecordStore untuk melakukan manajemen data dengan studi kasus Buku Telepon. MIDlet yang dibangun memiliki kemampuan untuk menyimpan data berupa nama beserta nomor telepon, menampilkan data, mengedit data dan menghapus data. 1. Jalankan J2ME WTK dan buat project baru dengan nama Pertemuan10 dengan CobaRecordStore sebagai nama class MIDlet. 2. Tambahkan lima Command pada Form mainform, yaitu exitcommand, selectcommand, insertcommand, updatecommand, deletecommand. 3. Deklarasikan instance dari class RecordStore dengan nama recordstore. 4. Lengkapi Form dengan StringItem sihasil, dan dua buah TextField tfnama dan tftelp. 5. Langkah pertama dalam berinteraksi dengan RMS adalah membuat atau membuka RecordStore dengan memanggil openrecordstore. Hasil dari pemanggilan method ini adalah sebuah instance dari RecordStore. public static RecordStore openrecordstore( String recordstorename, boolean createifnecessary) throws RecordStoreException, RecordStoreFullException, RecordStoreNotFoundException 6. Record baru ditambahkan ke dalam RecordStore dengan memanggil method addrecord dari RecordStore. public int addrecord(byte[] data, int offset, int numbytes) throws RecordStoreNotOpenException, RecordStoreException, RecordStoreFullException 7. Data disimpan dan diambil dari RecordStore dengan menggunakan array satu dimensi bertipe byte. Data bertipe String dituliskan ke dalam instance dari class DataOutputStream yang telah dihubungkan dengan instance dari class ByteArrayOutputStream. Data bertipe String didapatkan dari TextField dengan memanggil method getstring. Method yang digunakan untuk menuliskan data tipe String ke DataOutputStream di antaranya adalah writeutf. Semua data yang telah ditampung dalam DataOutputStream ditarik masuk ke dalam ByteArrayOutputStream dengan memanggil method flush. Selanjutnya data dalam ByteArrayOutputStream diubah ke dalam array tipe byte dengan menjalankan method tobytearray. Array tipe byte ditambahkan ke dalam RecordStore dengan method addrecord dengan mengirimkan variabel array tipe byte sebagai parameter pertama, parameter kedua dan terakhir 54 Modul III Menggunakan Command dan CommandListener Tujuan : v Mahasiswa mampu menambahkan kemampuan interaksi user dengan MIDlet Tugas Pendahuluan 1. Tuliskan pengertian event! 2. Tuliskan pengertian listener! 3. Tuliskan cara mengimplementasikan interface! Dasar Teori Untuk menambahkan kemampuan berinteraksi dengan user, J2ME menyediakan paket javax.microedition.lcdui. Class Command yang berada dalam paket ini membungkus informasi tentang nama atau label dari aksi. Sedangkan informasi mengenai aksi yang sebenarnya diletakkan dalam implementasi dari interface CommandListener. Aplikasi dapat menangkap event dari komponen antar muka tingkat mahir/tinggi dengan langsung mengimplementasikan interface CommandListener. Atau dapat juga dengan menambahkan inner class sebagai implementasi CommandListener. Praktikum Menggunakan class Command dan mengimplementasi interface CommandListener: 1. Jalankan J2ME WTK dan buat sebuah project baru dengan nama Pertemuan3. Beri nama class MIDlet dengan CobaCommand. public final class CobaCommand extends MIDlet CommandListener { 23 implements private final Command exitcommand; private final Form mainform;

24 public CobaCommand() { mainform = new Form("Pertemuan3"); exitcommand = new Command("Exit", Command.EXIT, 1); mainform.addcommand(exitcommand); mainform.setcommandlistener(this); Display.getDisplay(this).setCurrent(mainForm); protected void startapp() { protected void pauseapp() { Modul X Mengolah Data Persisten Tujuan : v Mahasiswa mampu mengolah data persisten Tugas Pendahuluan 1. Tuliskan properti dan method dari class ByteArrayInputStream dan ByteArrayOutputStream! 2. Tuliskan properti dan method dari class DataInputStream dan DataOutputStream! 3. Jelaskan cara konversi dari ByteArrayOutputStream ke array of byte! protected void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable d) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); Dasar Teori MIDP menyediakan mekanis me untuk menyimpan data secara persisten. Persisten berarti kemampuan untuk menggenggam struktur data dengan cara menyimpan data ke dalam fasilitas penyimpanan yang bersifat non-volatile seperti file sistem, atau relational database. Sifat non-volatile artinya data yang telah tersimpan tidak akan hilang walaupun listrik tidak tersedia. Fasilitas penyimpanan yang digunakan dalam J2ME dikenal dengan Record Management System (RMS). RecordStore terdiri dari sekumpulan record yang dapat diakses oleh MIDlet Suite. Penamaan bersifat unik, case-sensitive, terdiri dari maksimal 32 karakter. Setiap record merupakan array dengan tipe byte, memiliki primary key berupa recordid dengan tipe integer. Recod pertama dalam RecordStore memiliki recordid sama dengan satu ( 1 ), berikutnya recordid akan bertambah satu ( n + 1 ). Mekanisme yang digunakan untuk mengelola RecordStore melibatkan proses membuka RecordStore dengan openrecordstore; dapat melakukan manipulasi record seperti menampilkan data dalam array tipe byte dengan getrecord, menambah dengan addrecord, mengedit dengan setrecord, menghapus dengan deleterecord; menutup RecordStore dengan closerecordstore. 2. Lakukan Build dan Run untuk menguji MIDlet

25 [halaman ini sengaja dikosongkan] Gambar 3. 1 Command pada MIDlet Memanfaatkan inner class sebagai listener: 1. Buka file CobaCommand.java dan beri tanda komentar pada method commandaction. 2. Edit file CobaCommand.java untuk menambahkan inner class yang akan difungsikan sebagai listener. Beri nama inner class dengan CobaInnerCL. class CobaInnerCL implements CommandListener { Displayable d) { public void commandaction(command c, if (c == exitcommand) { destroyapp(false); notifydestroyed(); 52 25

26 3. Tambahkan deklarasi variabel bertipe CobaInnerCL dan beri nama cobainnercl. 4. Ganti variabel this dengan variabel cobainnercl. 5. Simpan file CobaCommand.java kemudian lakukan Build dan Run untuk menguji MIDlet. Tugas 1. Buka file CobaCommand.java dan edit dengan memberi tanda komentar pada inner class CobaInnerCL. Tanda komentar juga diletakkan di awal baris deklarasi dan definisi variabel cobainnercl. 2. Buat sebuah class baru dengan nama CobaListener dan tempatkan dalam direktori yang sama dengan direktori di mana class CobaCommand berada. 3. Modifikasilah class CobaListener untuk mengimplementasikan interface CommandListener sehingga dapat menggantikan fungsi dari inner class CobaInnerCL. Gambar 9. 6 ChoiceGroup dan Ticker pada form pertama Gambar 9. 7 Ticker dengan pesan hasil pilihan dari form pertama Gambar 9. 8 Ticker dengan pesan hasil pilihan yang lain dari form pertama 26 51

27 Menambahkan satu Ticker untuk beberapa Screen: 1. Tambahkan sebuah class FormKedua yang merupakan subclass Form dan mengimplementasikan CommandListener. CobaTicker berisi screen utama, screen berikutnya ditambahkan dengan memuat instance dari class FormKedua. Sehingga FormKedua harus memiliki kemampuan untuk berkomunikasi dengan MIDlet CobaTicker. 2. Setiap Form harus dapat menampilkan informasi tentang Form itu sendiri (Misal: Anda sedang berada pada form ke... ). 3. Setiap instance dari class FormKedua harus dapat berkomunikasi dengan objek Ticker dari class CobaTicker. Sehingga dengan memanfaatkan referensi dari objek Ticker yang sama, setiap Form dapat menampilkan pesan berjalan yang sama. 4. Setiap instance dari class FormKedua harus memiliki tiga Command yaitu exitcommand untuk keluar dari program, nextcommand untuk menuju ke Form berikutnya, dan previouscommand untuk kembali menampilkan Form sebelumnya. Modul IV Komputasi dengan Bilangan Acak Tujuan : v Mahasiswa mampu memanfaatkan bilangan acak untuk melakukan komputasi Tugas Pendahuluan 1. Apa pengertian dari instance? 2. Tuliskan cara pembuatan instance! 3. Tuliskan cara penulisan konstanta di Java! Gambar 9. 2 Ticker di form pertama Gambar 9. 4 Menu Next Gambar 9. 3 Ticker di form kedua Gambar 9. 5 Menu Previous Dasar Teori Instance dari class Random digunakan untuk menghasilkan bilangan acak palsu atau pseudorandom. Jika dua instance class Random dibuat dengan menggunakan angka yang sama sebagai benih (seed) dan dengan mengerjakan urutan pekerjaan yang sama maka akan dihasilkan deret bilangan acak yang identik. Praktikum Menggunakan class Random pada aplikasi J2SE: 1. Buat class RandomGenerator. 2. Untuk dapat menggunakan class Random yang berada di dalam paket java.util, lakukan import pada paket tersebut. 3. Dalam main method buat instance dari class Random dengan nama bilanganacak dan masukkan nilai 123 dalam konstruktor Random. 4. Lakukan perulangan untuk mencetak data ke layar sebanyak sepuluh kali (10 x). Setiap perulangan dikerjakan dengan memanggil method nextint dari instance bilanganacak. Tugas Modifikasilah class CobaTicker sehingga pada Form pertama akan tampil dua opsi yaitu S1 TI dan D3 MI. Hasil pilihan pada Form pertama akan mengupdate tulisan berjalan yang ditampilkan pada semua Form

28 Modul IX Menyisipkan Tulisan Berjalan Tujuan : v Mahasiswa mampu menyisipkan pesan berjalan pada MIDlet Gambar 4. 1 Menguji Random di console Menggunakan class Random pada MIDlet: 1. Jalankan J2ME WTK dan buat project baru dengan nama Pertemuan4 dengan nama class MIDlet CobaRandom. 2. Untuk kode program dapat memodifikasi file CobaCommand pada Pertemuan3, sehingga didapatkan konstruktor seperti di bawah ini. public CobaRandom() { 1); mainform = new Form("Pertemuan4"); exitcommand = new Command("Exit", Command.EXIT, mainform.addcommand(exitcommand); mainform.setcommandlistener(this); Display.getDisplay(this).setCurrent(mainForm); 3. Kode yang berfungsi untuk menghasilkan bilangan acak dapat disalin dari file RandomGenerator. Letakkan kode ini ke dalam suatu method dengan nama buatbilanganacak. Method buatbilanganacak berfungsi menghasilkan nilai bertipe String yang memiliki tampilan yang sama dengan hasil running dari class RandomGenerator. 4. Lakukan percobaan dengan membandingkan penggunaan variabel penampung bilangan acak. Bandingkan unjuk kerja variabel penampung bilangan acak jika menggunakan tipe String dan jika menggunakan tipe StringBuffer. Perbesar jumlah perulangan sehingga mencapai seribu kali (1000 x) dan bandingkan kembali unjuk kerja di antara dua tipe data tersebut. 28 Tugas Pendahuluan 1. Tuliskan cara menambahkan ChoiceGroup pada MIDlet! 2. Tuliskan komponen apa saja yang bisa memiliki Ticker! Dasar Teori Ticker adalah sebuah class yang dapat menambahkan tulisan yang berjalan secara kontinu dari kiri ke kanan Screen, di mana pada saat yang sama Display menampilkan Displayabel tertentu. Ticker ditambahkan ke layar dengan memanggil method setticker. Ticker dengan pesan yang sama dapat ditampilkan pada beberapa Screen sekaligus. Ticker juga dapat didesain untuk tampil dengan pesan yang berbeda bila Screen yang berbeda tampil. Praktikum Pada pertemuan ke-9 ini, kita akan belajar menambahkan sebuah Ticker ke suatu Screen dan menampilkan Ticker yang sama untuk Screen yang berbeda. Menambahkan sebuah Ticker untuk sebuah Screen: 1. Jalankan J2ME WTK, dan buat project dengan nama Pertemuan9 dengan CobaTicker sebagai nama class MIDlet. 2. Pada MIDlet tambahkan sebuah Screen yang akan ditampilkan oleh Display. Anda boleh menambahkan sebuah Form sebagai Screen utama. 3. Tambahkan sebuah variabel dengan tipe Ticker. Sesuaikan pckage yang perlu diimport untuk dapat mengakses class Ticker. 4. Anda boleh menambahkan sebuah variabel String untuk menjadi parameter bagi constructor Ticker. 5. Objek Ticker dapat ditambahkan dalam method startapp dengan memanggil method setticker dari Screen yang aktif saat itu. Gambar 9. 1 Ticker pada MIDlet 49

29 [halaman ini sengaja dikosongkan] Membangun MIDlet untuk Komputasi yang memanfaatkan bilangan acak: Pada bagian ini, kita akan memodifikasi class MIDlet CobaRandom untuk membuat aplikasi Pengacak Nomor Lotere. 1. Buka file CobaRandom.java dari project Pertemuan4. Modifikasilah judul mainform menjadi Pertemuan 4: Pengacak Nomor Lotere. 2. Tambahkan sebuah command dengan nama acakcommand yang memiliki label Acak. Jika acakcommand dipilih maka akan memanggil method acaknomorlotere. Method ini berfungsi menghasilkan deret bilangan acak dengan jumlah suku deret yang ditetapkan dalam konstanta JML_BIL_ACAK sejumlah lima (5). Bilangan acak yang dihasilkan ada di dalam batasan 0 sampai dengan nilai maksimum yang ditetapkan dalam konstanta NILAI_MAX yaitu enam puluh tiga (63). 3. Deret bilangan yang dihasilkan oleh method acaknomorlotere harus muncul di dalam mainform. Dengan memilih command Acak, tampilan mainform akan berisi deret bilangan baru tanpa menampilkan deret bilangan sebelumnya. 4. Algoritma untuk membuat deret bilangan acak dalam aplikasi Pengacak Nomor Lotere kita adalah sebagai berikut: Buat array untuk menampung data yang mewakili kondisi apakah dalam suatu sesi pengacakan suatu bilangan telah muncul atau belum pernah muncul. Karena bilangan terbesar yang boleh muncul adalah 63 maka jumlah elemen array ini ditentukan dalam konstanta NILAI_MAX. Inisialisasi setiap elemen array agar bernilai false. Artinya, dalam kondisi awal belum ada bilangan yang muncul dalam pengacakan. Lakukan pengacakan untuk menghasilkan 5 suku dalam deret bilangan acak sesuai dengan yang ditetapkan dalam NILAI_MAX. Dalam setiap loop pengacakan, untuk setiap bilangan acak yang dihasilkan harus berada antara 0 sampai dengan 63. Setelah satu suku deret bilangan acak didapatkan berarti bilangan ini telah muncul dalam deret sehingga harus ditandai sebagai true. Tampung setiap suku dari deret bilangan acak ke dalam variabel bertipe String agar dapat dicetak ke mainform

30 Gambar 8. 2 Beberapa tipe Alert Gambar 8. 3 Alarm pada Alert Gambar 4. 2 Menguji Random di MIDlet 5. Simpan file CobaRandom.java. Lakukan Build dan Run untuk menguji MIDlet. Tugas 1. Lakukan modifikasi pada class MIDlet CobaRandom agar dapat menampilkan informasi sesi pengacakan

31 Alert(String title, String alerttext, Image alertimage, AlertType alerttype) 3. Setelah Alert sampai pada posisi timeout, akan muncul sebuah instance dari class Form. Di dalam Form ini terdapat sebuah Command yang digunakan untuk keluar dari program. 4. Simpan file CobaAlertDanAlertType. Build dan Run untuk menguji MIDlet. Modul V Komponen Antar Muka Screen Tujuan : v Mahasiswa mampu memanfaatkan MIDP API untuk pembuatan antar muka pengguna Tugas Pendahuluan 1. Tuliskan pengertian superclass dan subclass! 2. Tuliskan pengertian override berikut cara mengoverride! 3. Tuliskan fungsi dari method setcurrent! Gambar 8. 1 S plash screen dengan Alert 5. Lakukan percobaan dengan menampilkan berapa milisecond timout yang diberikan oleh constructor tersebut. Tampilkan besarnya timeout dalam splash screen Alert. Perhatikan, apakah MIDlet menghasilkan notifikasi suara? Tugas Modifikasilah project Pertemuan8 sehingga pada saat MIDlet dijalankan akan menampilkan daftar Alert berdasarkan tipe AlertType yaitu: ALARM, CONFIRMATION, ERROR, INFO, dan WARNING. Daftar Alert dibuat dengan menggunakan List tipe IMPLICIT yang berfungsi sebagai menu. Untuk menangkap menu item yang dipilih pada commandaction, gunakan field SELECT_COMMAND. Setiap tipe AlertType ditampilkan dalam dua jenis timeout yaitu: FOREVER dan 5000 millisecond. Dasar Teori Class Display bertindak sebagai manager yang mengatur objek apa yang akan ditampilkan di layar. Hanya ada satu instance dari class Display untuk setiap MIDlet. Tampilan antar muka yang digunakan oleh MIDlet untuk berinteraksi dengan user termasuk kategori objek Displayable. Hanya ada satu objek Displayable yang ditampilkan ke layar dalam setiap waktu tertentu. Screen dan Canvas adalah subclass dari abstract class Displayable. Screen dikenal sebagai superclass dari komponen antar muka tingkat tinggi. Canvas dikenal sebagai komponen antar muka tingkat rendah. Screen memiliki beberapa subclass, di antaranya adalah Alert, Form, List dan TextBox. TextBox adalah Screen yang memungkinkan user memasukkan dan mengedit teks. Form adalah Screen yang dapat berisi beberapa item: image, text field yang hanya dapat dibaca, text field yang dapat diedit, gauge, choice group dan custom item. List adalah Screen yang berisi beberapa opsi. List adalah subclass dari Screen yang mengimplementasikan interface Choice. ChoiceGroup adalah implementasi Choice yang merupakan subclass dari abstract class Item. Item adalah superclass dari semua komponen yang dapat ditambahkan ke dalam Form. Beberapa subclass dari Item antara lain adalah ChoiceGroup, CustomItem, DateField, Gauge, ImageItem, Spacer, StringItem, TextField

32 Praktikum Pada bagian ini, kita akan membangun MIDlet yang dapat memanggil beberapa class yang masing-masing digunakan untuk mencoba class TextBox, Form, dan List atau ChoiceGroup. 1. Jalankan J2ME WTK dan buat project dengan nama Pertemuan5 dengan class MIDlet dengan nama CobaScreenDanItem. 2. Class CobaScreenDanItem adalah turunan MIDlet dan implementasi CommandListener. 3. Pada bagian deklarasi variabel, tambahkan sebuah Form bernama mainform; tambahkan empat buah Command yaitu exitcommand, cobatextboxcommand, cobaformcommand, cobalistcommand; tambahkan deklarasi instance class CobaTextBox dengan nama cobatextbox, instance class CobaForm dengan nama cobaform, dan instance class CobaList dengan nama cobalist. 4. Pada konstruktor class CobaScreenDanItem, definisikan semua variabel yang telah dideklarasikan pada langkah ketiga. Tambahkan semua objek Command pada mainform. Atur agar mainform menjadi objek yang ditampilkan pertama kali. 5. Pada method commandaction, jika cobatextboxcommand dipilih maka tampilkan cobatextbox pada Display; jika cobaformcommand dipilih maka tampilkan cobaform pada Display; jika cobalistcommand dipilih maka tampilkan cobalist. Menggunakan class TextBox: 1. Buat class CobaTextBox yang merupakan turunan class TextBox dan implementasikan interface CommandListener. 2. Pada bagian deklarasi variabel, tambahkan variabel kembalicommand bertipe Command. 3. Pada konstruktor class CobaTextBox, panggil superclass dengan mengirimkan empat parameter yaitu judul bertipe String (contoh: Mencoba TextBox ), teks bertipe String (contoh: TextBox adalah subclass Screen ), jumlah karakter maksimal bertipe int (contoh: 33), dan constraint bertipe int (contoh: TextField.ANY); tambahkan Command kembalicommand. 4. Overridlah method commandaction dengan menuliskan fungsi untuk kembali ke mainform jika kembalicommand dipilih. Menggunakan class Form: 1. Buat class CobaForm yang merupakan turunan class Form dan implementasikan interface CommandListener. 2. Pada bagian deklarasi variabel, tambahkan variabel kembalicommand bertipe Command. 32 Modul VIII Menambahkan Notifikasi Tujuan : v Mahasiswa mampu melengkapi MIDlet dengan notifikasi Tugas Pendahuluan 1. Jelaskan kegunaan Exception! 2. Tuliskan cara menangani suatu Exception! 3. Jelaskan perbedaan antara throws dan try-catch! Dasar Teori Alert adalah subclass Screen yang digunakan untuk menampilkan data ke user dan menunggu sampai beberapa saat untuk kemudian menampilkan objek Displayable yang berikutnya. Alert memiliki fungsi untuk mengirim notifikasi atau pesan berisi peringatan tentang error atau kondisi exception. Untuk melengkapi notifikasi yang ditampilkan secara visual maka class AlertType dapat digunakan untuk menyediakan notifikasi secara audio. Praktikum Pada pertemuan ke-8, kita akan menggunakan notifikasi dalam bentuk audio visual. 1. Jalankan J2ME WTK dan buat project baru dengan nama Pertemuan8 dengan CobaAlertDanAlertType sebagai nama class MIDletnya. 2. Modifikasilah file CobaAlertDanAlertType.java agar saat MIDlet dijalankan, yang pertama kali muncul adalah sebuah instance dari Alert yang dibuat dengan constructor empat parameter. Sehingga Alert akan menampilkan judul, teks, image dalam format.png dan AlertType. Lakukan percobaan dengan mengganti jenis AlertType. Perhatikan notifikasi berupa suara yang dikeluarkan dari hasil pemilihan masingmasing AlertType. 45

33 [halaman ini sengaja dikosongkan] 3. Pada konstruktor class CobaForm, panggil superclass dengan mengirimkan sebuah parameter yaitu judul bertipe String (contoh: Mencoba Form ); tambahkan Command kembalicommand. 4. Overridlah method commandaction dengan menuliskan fungsi untuk kembali ke mainform jika kembalicommand dipilih. Menggunakan class List: 1. Buat class CobaList yang merupakan turunan class List dan implementasikan interface CommandListener. 2. Pada bagian deklarasi variabel, tambahkan variabel kembalicommand bertipe Command. 3. Pada konstruktor class CobaList, panggil superclass dengan mengirimkan empat parameter yaitu judul bertipe String (contoh: Mencoba Form ), tipe List (contoh: List.EXCLUSIVE), pilihan yang ditampilkan dalam bentuk array tipe String (contoh: new String [] { opsi 1, opsi 2, opsi 3 ), image yang menyertai opsi (contoh: null, jika image tidak ditambahkan); tambahkan Command kembalicommand. 4. Overridlah method commandaction dengan menuliskan fungsi untuk kembali ke mainform jika kembalicommand dipilih. 5. Simpan semua file di atas, kemudian Build dan Run untuk menguji MIDlet. Gambar 5. 1 Menu di MIDlet Gambar 5. 2 TextBox di MIDlet Jalankan MIDlet dengan mengakses Menu. Terdapat tiga opsi dalam Menu. Ujilah masing-masing menu! 33

34 3. Modifikasilah kode CobaCanvas agar saat dipanggil dari CobaMIDletSuite dapat menampilkan icon Maze.png. 4. Simpan semua file kemudian BUILD dan RUN untuk menguji MIDlet. Gambar 7. 6 Project dengan dua MIDlet Gambar 7. 7 Menampilkan grafik Gambar 5. 3 Form di MIDlet Gambar 5. 4 List di MIDlet Tugas Modifikasilah project Pertemuan7 sehingga CobaCanvas dapat menampilkan image sesuai pilihan pada ChoiceGroup. Tugas 1. Buatlah sebuah project J2ME untuk melakukan konversi temperatur (Celcius, Fahrenheit, Reamur, Kelvin). Project terdiri dari sebuah class MIDlet, sebuah class turunan List yang berisi pilihan konversi, sebuah class turunan TextBox yang meminta inputan untuk temperatur yang akan dikonversi, dan sebuah class turunan Form yang menampilkan informasi temperatur asal dan hasil konversi. 2. Buatlah sebuah project J2ME untuk konversi bilangan (desimal, biner, oktal, heksa) dengan konstruksi class yang sama dengan soal nomor satu. Gambar 7. 8 Image dalam MIDlet 34 43

35 drawline dan drawroundrect. Pertama, layar dikosongkan dengan memanggil method fillrect dengan warna putih. Kedua, gambar garis dan kotak berujung bundar dengan warna hitam. Warna putih didapatkan dengan mengisi parameter dari method setcolor dengan data 255 untuk red, 255 untuk green dan 255 untuk blue. Sedangkan untuk warna hitam diperoleh dengan membuat semua nilai menjadi nol ( 0 ). Method drawline digunakan untuk menggambar garis, method drawroundrect untuk menggambar kotak berujung bundar. Semua pekerjaan yang dilakukan untuk melukis Canvas dilakukan dengan memanfaatkan class Graphics. Modul VI Komponen Antar Muka Item Tujuan : v Mahasiswa mampu menggunakan komponen antar muka tingkat mahir untuk mendesain tampilan antar muka pengguna Tugas Pendahuluan 1. Jelaskan perbedaan antara Display dan Displayable! 2. Tuliskan cara penggunaan method sleep dari Thread! 3. Tuliskan cara membuat Thread! Gambar 7. 4 Mencoba Canvas Memanfaatkan MIDlet suite: 1. Pada J2ME WTK ktoolbar, pilih menu MIDlets dan tambahkan MIDlet dengan memilih Add. Masukkan informasi untuk pengenal/name dari MIDlet, icon, dan nama class MIDlet. Simpan informasi dengan memilih OK. Dasar Teori Class DateField adalah subclass Item berupa komponen yang dapat diedit untuk menampilkan data tanggal dan waktu. DateField memiliki tiga mode input yaitu DATE, TIME dan DATE_TIME. Class Gauge adalah subclass Item yang memiliki tampilan berupa grafik batang yang mewakili nilai integer tertentu.gauge dapat digunakan dalam mode interaktif maupun non-interaktif. Mode interaktif memungkinkan user untuk mengedit nilai Gauge dengan memanggil method setvalue. Mode non-interaktif biasa digunakan untuk indikator aktifitas dengan memanfaatkan Thread. Interface ItemStateListener digunakan untuk membaca perubahan yang terjadi pada Gauge mode interaktif. Hanya ada satu abstract method yang perlu dioverride yaitu itemstatechanged. Method setitemstatelistener digunakan untuk menambahkan listener bagi subclass Item ini. Gambar 7. 5 Menambah MIDlet 2. Pada constructor CobaMIDletSuite, tambahkan instance dari CobaCanvas. 42 Praktikum Pada bagian ini, kita akan membangun MIDlet yang dapat memanggil beberapa class yang masing-masing digunakan untuk mencoba class DateField, Gauge interaktif dan Gauge non-interaktif, serta mengimplementasikan interface ItemStateListener. 1. Jalankan J2ME WTK dan buat project baru dengan nama Pertemuan6 dengan CobaDateFieldDanGauge sebagai nama class MIDletnya. 2. MIDlet berisi mainform yang akan tampil pada saat MIDlet dijalankan pertama kali. Class ini juga berisi instance dari class CobaDateField, 35

36 CobaGaugeInteraktif dan CobaGaugeNonInteraktif. Setiap instance diakses dengan menggunakan Command cobadatefieldcmd, cobagaugeinteraktifcmd, cobagaugenoninteraktif sedangkan Command exitcommand digunakan untuk keluar dari aplikasi. 3. Lengkapi mainform dengan itemdata, instance dari StringItem, yang akan digunakan untuk menampilkan data dari class lain (CobaDateField, CobaGaugeInteraktif dan CobaGaugeNonInteraktif). Menggunakan class DateField: 1. Buat class CobaDateField yang merupakan subclass dari Form. 2. Tambahkan sebuah instance dari class DateField dengan tipe DATE. 3. Tambahkan sebuah Command kembalicmd untuk kembali ke mainform. Menggunakan class Gauge mode interaktif: 1. Buat class CobaGaugeInteraktif yang merupakan subclass dari Form. 2. Tambahkan sebuah instance dari class Gauge dengan tipe interaktif dengan nilai batas bawah sama dengan 0 dan batas atas Tambahkan sebuah Command kembalicmd untuk kembali ke mainform. Menggunakan class Gauge mode non-interaktif: 1. Buat class CobaGaugeNonInteraktif yang merupakan subclass dari Form. 2. Tambahkan sebuah instance dari class Gauge dengan tipe non-interaktif dengan batas bawah 0 dan batas atas Tambahkan sebuah Command kembalicmd untuk kembali ke mainform. 4. Untuk dapat menampilkan efek progress, class ini harus mengimplementasikan interface Runnable. Dalam method run, beri jeda satu detik untuk setiap pertambahan nilai pada grafik batang. Gunakan method sleep dari Thread untuk mengatur jeda. Gunakan method setvalue untuk mengatur nilai Gauge. Gunakan variabel jenis static untuk menyimpan nilai yang akan disetkan pada Gauge (ingat nilai ini terus bertambah dari nilai batas bawah sehingga mencapai nilai batas atas). 5. Simpan semua file kemudian BUILD dan RUN untuk menguji MIDlet. Melengkapi ChoiceGroup dengan image: 1. Pada class CobaGrafik, tambahkan sebuah Form mainform, sebuah Command exitcommand, dan sebuah ChoiceGroup choice. 2. Pada constructor CobaGrafik, definisikan Form, Command dan ChoiceGroup. 3. Definisi ChoiceGroup menggunakan constructor dengan empat parameter. ChoiceGroup(String label, int choicetype, String[] stringelements, Image[] imageelements) 4. Untuk menambahkan Image, gunakan method createimage. Perhatikan, pemanggilan method ini harus diletakkan dalam penanganan kesalahan dengan merujuk pada NullPointerException dan IOException. public static Image createimage(string name) throws IOException 5. Tambahkan instance dari Command dan ChoiceGroup pada Form. 6. Simpan file CobaGrafik. Buil dan Run untuk menguji MIDlet. Jika MIDlet dilaunch maka akan tampil tiga opsi Pilihan1, Pilihan2, dan Pilihan3 yang masing-masing dilengkapi dengan icon. Gambar 7. 3 Mencoba ChoiceGroup Menggunakan class Canvas: 1. Buat class CobaCanvas yang merupakan subclass dari Canvas. Letakkan file ini di direktori src dari project Pertemuan7. 2. Tambahkan sebuah Command untuk mengarahkan Displayable ke tampilan sebelumnya. 3. Definisikan ulang method paint dalam CobaCanvas. protected abstract void paint(graphics g) 4. Di dalam definisi method paint, panggillah method setcolor, fillrect, 36 41

Mobile Computing. Ramos Somya

Mobile Computing. Ramos Somya Mobile Computing Ramos Somya javax.microedition.lcdui Merupakan suatu desain user interface yang dikhususkan untuk perangkat dengan limited screen perangkat mobile. MIDP UI dirancang secara fleksibel sehingga

Lebih terperinci

MODUL 11 J2ME (Java 2 Micro Edition)

MODUL 11 J2ME (Java 2 Micro Edition) MODUL 11 J2ME (Java 2 Micro Edition) A. Tujuan : 1. Memahami konsep interkoneksi client server 2. Memahami passing parameter antara client dan server INTERNET PROGRAMMING PENS-ITS B. Dasar Teori Interkoneksi

Lebih terperinci

J2ME GUI dan Manajemen Event

J2ME GUI dan Manajemen Event J2ME GUI dan Manajemen Event Muhammad Zen S. Hadi, ST. MSc. Contents J2ME (Review) Manajemen Event GUI dalam J2ME Passing parameter di dalam J2ME 2 Arsitektur Jaringan dgn J2ME 3 Design Aplikasi vmiles

Lebih terperinci

Record Management System. Muhammad Zen S. Hadi, ST. MSc.

Record Management System. Muhammad Zen S. Hadi, ST. MSc. Record Management System Muhammad Zen S. Hadi, ST. MSc. Penyimpanan Data MIDlet memerlukan penyimpanan data secara permanen. Perangkat mobile cukup terbatas fasilitasnya. Tidak ada filesystem atau relasi

Lebih terperinci

MODUL 9 J2ME (Java 2 Micro Edition)

MODUL 9 J2ME (Java 2 Micro Edition) MODUL 9 J2ME (Java 2 Micro Edition) A. Tujuan : 1. Memahami konsep GUI Pilihan di J2ME. 2. Memahami konsep pembuatan command 3. Memahami passing parameter (manajemen event) INTERNET PROGRAMMING PENS-ITS

Lebih terperinci

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

DateField adalah objek yang dapat digunakan untuk menampilkan atau mengedit objek yang bertipe Date. Seri User Interface DateField chocolove_mic@yahoo.co.uk http://www.mycgiserver.com/~chocolove2003 Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara

Lebih terperinci

11.1 Tujuan Timers

11.1 Tujuan Timers Bab 11 Topik-topik Tambahan 11.1 Tujuan Setelah menyelesaikan bab ini, siswa diharapkan mampu: mengatur jadwal tugas menggunakan Timers meregister koneksi yang datang pada Push Registry 11.2 Timers Timer

Lebih terperinci

Mobile Computing. Ramos Somya

Mobile Computing. Ramos Somya Mobile Computing Ramos Somya CLDC mempunyai kelas-kelas yang diturunkan dari J2SE dan kelas-kelas yang spesifik pada CLDC, yaitu GCF. MIDP menggunakan Generic Connection Framework (GCF) dari CLDC untuk

Lebih terperinci

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

Dengan method diatas, berapa byte data yang terdapat pada stream dout? 3 Waktu Sisa : 0:7:29 1. Dengan method diatas, berapa byte data yang terdapat pada stream dout? 3 4 5 6 7 2. Asumsikan Anda memiliki 2 MIDlet suite yang men-sharing sebuah RecordStore. MIDletA membuat sebuah

Lebih terperinci

Bab 5. Menambah, memanggil kembali, mengupdate, dan mendelete record

Bab 5. Menambah, memanggil kembali, mengupdate, dan mendelete record Bab 5 Persistence MIDP menyediakan sebuah API dimana program dapat menyimpan data-data aplikasi secara lokal didalam device tersebut. MIDP Record Management System adalah sebuah fasilitas yang dimiliki

Lebih terperinci

PENGEMBANGAN APLIKASI MOBILE MODUL PRAKTIKUM. Persistence. Versi 1.0 JAVA EDUCATION NETWORK INDONESIA

PENGEMBANGAN APLIKASI MOBILE MODUL PRAKTIKUM. Persistence. Versi 1.0 JAVA EDUCATION NETWORK INDONESIA PENGEMBANGAN APLIKASI MOBILE MODUL PRAKTIKUM Persistence JAVA EDUCATION NETWORK INDONESIA 1. Tujuan Memahami mengenai konsep dari Record Store Membuat dan membuka sebuah Record Store Menambah, memanggil

Lebih terperinci

MODUL 10 J2ME (Java 2 Micro Edition)

MODUL 10 J2ME (Java 2 Micro Edition) MODUL 10 J2ME (Java 2 Micro Edition) A. Tujuan : 1. Memahami konsep GUI Pilihan di J2ME. 2. Memahami konsep penanganan GUI pilihan INTERNET PROGRAMMING PENS-ITS B. Dasar Teori B.1. Bekerja dengan Form

Lebih terperinci

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

1.Tujuan. 2. Latar Belakang. 3. Percobaan 1.Tujuan Memahami mengenai konsep dari Record Store Membuat dan membuka sebuah Record Store Menambah, memanggil kembali, mengupdate, dan mendelete record Memanggil record satu persatu (enumerate) record

Lebih terperinci

APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE

APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE Ismi Amalia Jurusan Teknik Mesin, Politeknik Negeri Lhokseumawe Nanggroe Aceh Darussalam Email : ismiamalia@gmail.com ABSTRAKS Penelitian ini bertujuan untuk merancang

Lebih terperinci

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iii DAFTAR TABEL... xi DAFTAR GAMBAR... xiv

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iii DAFTAR TABEL... xi DAFTAR GAMBAR... xiv DAFTAR ISI ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iii DAFTAR TABEL... xi DAFTAR GAMBAR... xiv BAB I PENDAHULUAN 1.1 Latar Belakang Masalah... I-1 1.2 Identifikasi Masalah... I-3 1.3 Maksud dan

Lebih terperinci

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita Daur Hidup MIDlet kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status Pause setelah perintah baru dibuat. AMS memanggil

Lebih terperinci

J2ME GUI dan Interkoneksi Client Server

J2ME GUI dan Interkoneksi Client Server J2ME GUI dan Interkoneksi Client Server Muhammad Zen S. Hadi, ST. MSc. Arsitektur Jaringan dgn J2ME 2 Introduction J2ME menyediakan fitur jaringan ke perangkat mobile Sehingga memungkinkan untuk selalu

Lebih terperinci

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

BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan BAB III JAVA 2 MICROEDITION (J2ME) 3.3 Arsitektur Java Bahasa Java merupakan salah satu bahasa tingkat tinggi. Java berdasarkan definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan

Lebih terperinci

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

yang signifikan. Pada tahap ini dijelaskan hal-hal apa saja yang terdapat pada BAB III ANALISIS KEBUTUHAN 3.1 Metode Analisis Proses analisis dilakukan dengan menggunakan alat dan teknik yang disesuaikan dengan kebutuhan sistem. Pada sistem yang akan dikembangkan, analisis yang digunakan

Lebih terperinci

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

Bab Tujuan. 2.2 Pengenalan. 2.3 Hello, world! MIDlet Bab 2 Memulai Pemrograman Mobile 2.1 Tujuan In this section, we will be delving into writing, building, using the emulator and packaging J2ME applications. The Integrated Programming Environment that we

Lebih terperinci

Nilai Properti Constrains pada TextField

Nilai Properti Constrains pada TextField Seri User Interface Tipe Masukan pada TextField chocolove_mic@yahoo.co.uk http://www.mycgiserver.com/~chocolove2003 Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan

Lebih terperinci

APLIKASI MOBILE-CHATTING MENGGUNAKAN FASILITAS BLUETOOTH DENGAN J2ME

APLIKASI MOBILE-CHATTING MENGGUNAKAN FASILITAS BLUETOOTH DENGAN J2ME APLIKASI MOBILE-CHATTING MENGGUNAKAN FASILITAS BLUETOOTH DENGAN J2ME Satyani Karina Eka Putri Teknik Informatika Universitas Gunadarma akarin_chan86@yahoo.com ABSTRAK Saat ini teknologi komunikasi menggunakan

Lebih terperinci

PRAKTIKUM 7 DASAR INPUT OUTPUT

PRAKTIKUM 7 DASAR INPUT OUTPUT PRAKTIKUM 7 DASAR INPUT OUTPUT A. TUJUAN 1. Memahami dasar-dasar input-ouput dalam pemrograman Java 2. Memahami prinsip kerja stream 3. Memahami penggunaan console dalam proses input-output B. DASAR TEORI

Lebih terperinci

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

BONUS. Dasar Java Mobile. Mengenal Java Mobile Mengenal MIDlet Mobile Grafis Mobile Animasi Latihan Soal 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

Lebih terperinci

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO LIST 2 OBJEK LIST Objek List dapat dibuat dengan tipe Pilihan : Choice.EXCLUSIVE, Choice.MULTIPLE, dan Choice.IMPLICIT. Pilihan jenis Choice.POPUP tidak

Lebih terperinci

Low Level User Interface

Low Level User Interface PENGEMBANGAN APLIKASI MOBILE MODUL PRAKTIKUM Low Level User Interface JAVA EDUCATION NETWORK INDONESIA 1. Tujuan Memahami event handling level rendah dalam MIDP Menggambar dan menampilkan teks, gambar,

Lebih terperinci

PEMOGRAMAN APLIKASI BERGERAK (Java ME)

PEMOGRAMAN APLIKASI BERGERAK (Java ME) PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO YOANNITA LIST 2 OBJEK LIST Objek List dapat dibuat dengan tipe Pilihan : Choice.EXCLUSIVE, Choice.MULTIPLE, dan Choice.IMPLICIT. Pilihan jenis Choice.POPUP

Lebih terperinci

BAB III PERANCANGAN SIMULASI

BAB III PERANCANGAN SIMULASI BAB III PERANCANGAN SIMULASI 3.1. Batasan dan Karakteristik Modifikasi LZW Dalam pembuatan simulasi dengan menggunakan tehnik modifikasi LZW (Lempel, Ziv, and Welch) ini, penulis menggunakan beberapa class

Lebih terperinci

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

Kode tereksekusi dengan baik sehingga mendapatkan output JENI Java Education Network Indonesia yang diikuti oleh Hello Jeni Waktu Sisa : 0:9:24 1. Perhatikan kode berikut ini! Mengapa pada kode diatas teks "Selamat Pagi Jeni" tidak dapat ditampilkan ke layar? Terdapat kesalahan pada saat pendefinisian object dari StringItem

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

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

AUTHMODE_PRIVATE hanya bisa diakses oleh MIDlet suite yang menciptakan record store tersebut Waktu Sisa : 1:31:50 1. Pernyataan tentang AUTHMODE berikut ini yang benar adalah... AUTHMODE_ANY bisa diakses dari MIDlet suite manapun seperti mengakses AUTHMODE_PRIVATE AUTHMODE_PRIVATE hanya bisa diakses

Lebih terperinci

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

1.Mengatur jadwal tugas menggunakan Timers 2.Mengetahui bagaimana membaca file dari aplikasi mobile sederhana 1.Tujuan 1.Mengatur jadwal tugas menggunakan Timers 2.Mengetahui bagaimana membaca file dari aplikasi mobile sederhana 2. Latar Belakang Timer dan TimerTasks berfungsi agar Anda bisa melakukan penjadwalan

Lebih terperinci

Yoannita Company LOGO

Yoannita Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita Company LOGO TEXTFIELD 2 Textfield Constructor Konstruktor dari class TextField adalah: public TextField(String title, String text, int maxsize, int constraints)

Lebih terperinci

SILABUS. Print to PDF without this message by purchasing novapdf (http://www.novapdf.com/) STIKI Silabus Mata Kuliah 1/10

SILABUS. Print to PDF without this message by purchasing novapdf (http://www.novapdf.com/) STIKI Silabus Mata Kuliah 1/10 SILABUS Mata / Kode : Pemrograman Berorientasi Objek (PBO) / TI09KB51 Prasarat/cosarat : - / - Bobot SKS/ Smt : 3 / 5 Standar Kompetensi : Pada akhir perkulihaan Mahasiswa mampu mengimplementasi masalah

Lebih terperinci

Rencana Pelaksanaan Pembelajaran

Rencana Pelaksanaan Pembelajaran PERTEMUAN : 1 Kompetensi Dasar : Mahasiswa mampu memahami konsep dasar pemrograman Java. : 1. Mahasiswa dapat menerangkan tentang dasar pemrograman Java. 2. Mahasiswa dapat menuliskan kembali penggunakan

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

APLIKASI BIRO JODOH BERBASIS WEB DAN J2ME. Kemas Faerusy Nizar 1, Setiawardhana 2, Idris Winarno 2

APLIKASI BIRO JODOH BERBASIS WEB DAN J2ME. Kemas Faerusy Nizar 1, Setiawardhana 2, Idris Winarno 2 APLIKASI BIRO JODOH BERBASIS WEB DAN J2ME Kemas Faerusy Nizar 1, Setiawardhana 2, Idris Winarno 2 Mahasiswa Jurusan Teknik Informatika 1, Dosen Pembimbing 2 Politeknik Elektronika Negeri Surabaya Institut

Lebih terperinci

Pengenalan JavaScript

Pengenalan JavaScript Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu

Lebih terperinci

APLIKASI KAMUS BAHASA JEPANG - INDONESIA PADA PERANGKAT GENGGAM MENGUNAKAN J2ME

APLIKASI KAMUS BAHASA JEPANG - INDONESIA PADA PERANGKAT GENGGAM MENGUNAKAN J2ME 1 APLIKASI KAMUS BAHASA JEPANG - INDONESIA PADA PERANGKAT GENGGAM MENGUNAKAN J2ME Tommy Adhi Kresna Murthi 1, Aghus Sofwan, S.T, M.T 2 3, Eko Handoyo, S.T, M.TT Jurusan Teknik Elektro Fakultas Teknik Universitas

Lebih terperinci

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah ); PERTEMUAN I BAHASA PEMROGRAMAN JAVA DAN PENGENALAN NETBEANS 1. Program dan Bahasa Pemrograman Di dalam dunia komputer sering kali dijumpai istilah program dan bahasa pemrograman. Kedua istilah tersebut

Lebih terperinci

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 12 WIRELESS JAVA PROGRAMMING WITH JAVA 2 MICRO EDITION (J2ME) PERTEMUAN 12 WIRELESS JAVA PROGRAMMING WITH JAVA 2 MICRO EDITION (J2ME) A. Percobaan menampilkan Form public class Midlet01 extends MIDlet { private Form form; public Midlet01() { form = new Form("MIDLET

Lebih terperinci

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

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME IF5093 Java ME Achmad Imam Kistijantoro Semester II 2006/2007 IF5093 Java ME 1 Java ME overview Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes

Lebih terperinci

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

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum MMAPI. Setelah mempelajari bab ini, Pelajar diharapkan mampu untuk : 1. Tujuan Setelah mempelajari bab ini, Pelajar diharapkan mampu untuk : Memahami dan menggunakan Player Dapat menggunakan method-method dalam class player. Dapat membuat dan memainkan audio (*.wav dan

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN APLIKASI BERGERAK

SILABUS MATA KULIAH PEMROGRAMAN APLIKASI BERGERAK PEMROGRAMAN APLIKASI BERGERAK A. IDENTITAS MATA KULIAH Program Studi : Sistem Informasi (S-1) Mata Kuliah : Pemrograman Aplikasi Bergerak (Pilihan) Kode : SI 427 Bobot : 4 (empat) sks Kelas : SI6A, SI6B,

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Pada penelitian Aplikasi Kamus Bahasa Jepang - Indonesia Pada Perangkat Genggam Mengunakan J2ME (Murthi, Tommy Adhi Kresna, 2010), perancangan sistem ini

Lebih terperinci

Modul Praktikum 4 Pemograman Berorientasi Objek

Modul Praktikum 4 Pemograman Berorientasi Objek Modul Praktikum 4 Pemograman Berorientasi Objek 1. Judul : Array 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Mendeklarasikan dan membuat array Mengakses elemen-elemen didalam

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

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:

gplat,1,, rrl f-dj.; alp' fll --s =- f a,ufrrnrrpi c o .'lr, rr* f a;lrjiiltr* '. 'i-r'f rr srlagi'(+ SISTEM MOBILE (PRAKTIKUM) DISUSUN OLEH: RENCANA PROGRAM DAN KEGIATAN PEM BELAIARAN SEM ESTER (RPKPS) gplat,1,, "f-dj.; alp' rrl fll --s =- f a,ufrrnr"rpi c o.'lr, rr* f a;lrjiiltr* '. 'i-r'f rr srlagi'(+ SISTEM MOBILE (PRAKTIKUM) DISUSUN OLEH:

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi permainan Koneksi-4 yang akan dikembangkan, tahapan selanjutnya adalah implementasi dan pengujian.

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK DISUSUN OLEH: Tim Asisten Praktikum Jurusan

Lebih terperinci

Pemrograman Socket menggunakan TCP

Pemrograman Socket menggunakan TCP Pemrograman Socket menggunakan TCP Wiranti Sri Utami whiranty68@gmail.com Abstrak Java menyediakan kelas dan method yang memungkinkan dua program untuk saling berkomunikasi didalam sebuah jaringan komputer

Lebih terperinci

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

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo. Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method

Lebih terperinci

Cara Membaca File Text di JAVA

Cara Membaca File Text di JAVA Cara Membaca File Text di JAVA Memanipulasi file teks adalah keterampilan yang akan melayani Anda dengan baik dalam karir pemrograman Anda. Pada bagian ini, Anda akan belajar bagaimana untuk membuka dan

Lebih terperinci

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream. STREAM DAN FILE Proses penulisan dan pembacaan data sering kita sebut dengan proses input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari input.

Lebih terperinci

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; } I. Bahan Kajian 1. Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang.

Lebih terperinci

P4 Bab 4 User Interface

P4 Bab 4 User Interface 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

Lebih terperinci

KAMUS INGGRIS-INDONESIA BERBASIS J2ME

KAMUS INGGRIS-INDONESIA BERBASIS J2ME KAMUS INGGRIS-INDONESIA BERBASIS J2ME Lenny Ike C. M., Wiratmoko Yuwono, ST, Kholid Fathoni, S.Kom Jurusan Teknologi Informasi Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember

Lebih terperinci

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan. Pertemuan ke-2 JAVA SOCKET A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan. B. TEORI SINGKAT Tentang Socket Socket adalah sebuah abstraksi perangkat lunak

Lebih terperinci

Pertemuan 4 Array pada Java

Pertemuan 4 Array pada Java Pertemuan 4 Array pada Java Objektif : 1. Mahasiswa dapat memahami pengertian Array pada Java 2. Mahasiswa dapat mengetahui bentuk umum dari Array 3. Mahasiswa dapat mengetahui jenis-jenis Array pada Java

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

Untuk menampilkan proses pembuatan file JAR. Untuk menentukan nama file archive (file JAR)

Untuk menampilkan proses pembuatan file JAR. Untuk menentukan nama file archive (file JAR) Waktu Sisa : 0:47:34 1. Berikut diberikan contoh perintah untuk membuat file JAR. jar cvfm HelloMidlet.jar manifest.txt HelloMidlet.class Apakah arti dari parameter "f" pada perintah diatas? Untuk membuat

Lebih terperinci

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN PRAKTIKUM 26 INPUT DAN OUTPUT 2 A. TUJUAN PEMBELAJARAN 1. Memahami konsep Input dan Output di Java 2. Mengenal kelas kelas yang berhubungan dengan IO. 3. Mampu membuat program yang menerapkan konsep Input

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA PEMROGRAMAN JAVA MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SILABUS MATA KULIAH PEMROGRAMAN JAVA A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi

Lebih terperinci

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS Yones Raven, Teady Matius Surya Mulyana yonesraven@gmail.com, tmulyana@bundamulia.ac.id Program Studi Teknik Informatika, Universitas Bunda Mulia

Lebih terperinci

Chapter 1 Buat aplikasi kita menggunakan VisualMidlet

Chapter 1 Buat aplikasi kita menggunakan VisualMidlet Chapter 1 Buat aplikasi kita menggunakan VisualMidlet 1. Buatlah project J2ME baru di Netbeans, beri nama SimpleGame dan tentukan tempat penyimpanan project 2. Ganti CLDC dan MIDP sehingga sesuai dengan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Pengertian Perancangan Menurut Fathul Wahid (2005 : 217), perancangan adalah pendekatan yang digunakan dalam bidang rekayasa dan bidang lainnya yang digunakan untuk menspesifikasikan

Lebih terperinci

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno Pemrograman Lanjut Jurusan S1 Teknik Informatika 9/17/2012 Ratno Object Oriented Programming Object Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Kamus bahasa Arab-Indonesia yang telah dirancang merupakan kamus mobile, dimana kamus mobile tersebut dapat dijalankan pada handphone yang mendukung atau

Lebih terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN DASAR DASAR JAVA MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload

Lebih terperinci

STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM

STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM Pemrograman Web // IInternet 1 Pengenallan Perancangan Web S1-TII//D3-TII//S1-SII matterri i:: JavaScrri iptt STMIK AMIKOM YOGYAKARTA YOGYAKARTA 2008 WIDHIARTA, S. KOM CLIENT SIDE SCRIPT - JAVASCRIPT WIDHIARTA,

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Dengan teknologi write once run everywhere, aplikasi-aplikasi semacam mobile devices dapat dikembangkan dalam Java. Java 2 Micro Edition (J2ME) digunakan

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab keempat ini berisi penjelasan analisis dan perancangan perangkat lunak yang dibangun dalam tugas akhir ini. Analisis perangkat lunak meliputi deskripsi

Lebih terperinci

PENGENALAN TEKNOLOGI JAVA

PENGENALAN TEKNOLOGI JAVA PENGENALAN TEKNOLOGI JAVA 1. SEJARAH SINGKAT JAVA Java adalah bahasa pemrograman Object-Oriented yang dikembangkan oleh perusahaan Sun Microsystem. Java berawal dari proyek Green yang dipimpin oleh James

Lebih terperinci

BAB 1 KONSEP DASAR JAVA

BAB 1 KONSEP DASAR JAVA BAB 1 KONSEP DASAR JAVA TUGAS PENDAHULUAN Buatlah algoritma dari program yang ada dalam kegiatan praktikum ini! 1. TUJUAN a. Mahasiswa mengetahui dasar dan elemen-elemen pembentuk bahasa Java b. Mahasiswa

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Perancangan aplikasi kamus mobile menggunakan bahasa pemograman Java dimana platform yang digunakan adalah J2ME ( Java 2 Micro Edition). J2ME

Lebih terperinci

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

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT TUGAS 1 Oleh : Andri Heryandi, M.T. TUGAS Buatlah class untuk struktur data Stack dan Queue Oleh : Andri Heryandi, M.T. 2 SPESIFIKASI STACK Kegunaan : Class ini digunakan untuk

Lebih terperinci

1. Pilih BAB IV IMPLEMENTASI DAN PENGUJIAN. kebutuhan sistem yang meliputi emulator Java2 Micro Edition(J2ME) dan telepon

1. Pilih BAB IV IMPLEMENTASI DAN PENGUJIAN. kebutuhan sistem yang meliputi emulator Java2 Micro Edition(J2ME) dan telepon Keterangan: 1. Pilih Back : berfungsi untuk kembali ke menu form daftar Tajwid. BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi Pembelajaran

Lebih terperinci

Bab 9. Mengetahui teknik yang berbeda dalam optimisasi aplikasi mobile

Bab 9. Mengetahui teknik yang berbeda dalam optimisasi aplikasi mobile 9.1 Tujuan Bab 9 Optimisasi Setelah menyelesaikan bab ini, pelajar diharapkan menguasai : Mengetahui teknik yang berbeda dalam optimisasi aplikasi mobile 9.2 Optimisasi Sebelum benar-benar melakukan setiap

Lebih terperinci

BAB Argument Command-Line dan System Properties

BAB Argument Command-Line dan System Properties BAB 5 Aplikasi Berbasis Teks 5.1 Tujuan Pembahasan kali ini akan menitikberatkan pada bahasan penggunaan argument command-line. Selebihnya, Anda akan mempelajari mengenai penggunaan streams untuk mendapatkan

Lebih terperinci

E-trik Ajax. Database MySQL. Dedi Alnas

E-trik Ajax. Database MySQL. Dedi Alnas E-trik Ajax Database MySQL Dedi Alnas Pengenalan MySQL Tutorial kali ini akan membahas cara pembuatan aplikasi web yang dapat dihubungkan dengan MySQL. Pada paket instalasi Xampp terdapat MySQL dan phpmyadmin.

Lebih terperinci

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans) BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans) 9.1 Bahasan dan Sasaran 9.1.1 Bahasan - Pada bab kali ini akan membahas tentang koneksi PostgreSQL dengan bahasa pemrograman java. - Selain hal itu akan dibahas

Lebih terperinci

DATABASE ADDRESS BOOK PADA HANDPHONE UNTUK PLATFORM SERIES 40 5 TH EDITION MENGGUNAKAN RECORD MANAGEMENT SYSTEM

DATABASE ADDRESS BOOK PADA HANDPHONE UNTUK PLATFORM SERIES 40 5 TH EDITION MENGGUNAKAN RECORD MANAGEMENT SYSTEM DATABASE ADDRESS BOOK PADA HANDPHONE UNTUK PLATFORM SERIES 40 5 TH EDITION MENGGUNAKAN RECORD MANAGEMENT SYSTEM Robyn Bagus Seta, I Wayan Simri Wicaksana. Teknik Informatika, Teknologi Industri Universitas

Lebih terperinci

Praktikum 6 SubForm dan Kode VBA

Praktikum 6 SubForm dan Kode VBA Praktikum 6 SubForm dan Kode VBA A. TUJUAN Dapat mengkaitkan antara Form Utama dan SubForm Dapat menghubungkan antar Form secara manual Memahami arti dari Non-Synchronized Form Dapat memodifikasi properti

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga

Lebih terperinci

APLIKASI DIAGNOSIS PENYAKIT HEPATITIS MENGGUNAKAN J2ME DENGAN METODE CERTAINTY FACTOR

APLIKASI DIAGNOSIS PENYAKIT HEPATITIS MENGGUNAKAN J2ME DENGAN METODE CERTAINTY FACTOR APLIKASI DIAGNOSIS PENYAKIT HEPATITIS MENGGUNAKAN J2ME DENGAN METODE CERTAINTY FACTOR Heru Susanto 1, Yuliana Setiowati, S.Kom 2, Afrida Helen, ST, M.Kom 2 1 Mahasiswa D3, Teknik Informatika, Politeknik

Lebih terperinci

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum Layer Manager

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum Layer Manager 1. Tujuan Memahami dan menggunakan class LayerManager Menggambar beberapa sprite dan di satukan pada LayerManager Menentukan posisi titik awal LayerManager pada screen mobile Mengatur besar screen yang

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi mobile device Penjadwalan Pengiriman, tahapan selanjutnya adalah implementasi dan pengujian.

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard BAB 5 Mendapatkan Input dari Keyboard 5.1 Tujuan Kita sudah mempelajari konsep mendasar pada Java dan menulis beberapa program sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktif

Lebih terperinci

tanpa harus repot dan dapat menyelesaikannya dengan cepat dan mudah. Perangkat komunikasi saat ini telah mengalami perkembangan yang cukup pesat, teru

tanpa harus repot dan dapat menyelesaikannya dengan cepat dan mudah. Perangkat komunikasi saat ini telah mengalami perkembangan yang cukup pesat, teru Aplikasi Pembukuan Voucer Isi Ulang Pulsa Dengan J2ME Dessy Agustini (17108157) Jurusan Sistem Informasi, Universitas Gunadarma Jl. Margonda Raya No.100 Pondok Cina, Depok 16424, Indonesia Email: daichi_daisy@yahoo.co.id

Lebih terperinci

Modul Praktikum Bahasa Pemrograman 1

Modul Praktikum Bahasa Pemrograman 1 Modul Praktikum Tahun Ajaran 2009/2010 Revisi : Eko Andriyanto Wicaksono, S.Kom Materi 6 Array Pengenalan Array Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam

Lebih terperinci

BAB I SEKILAS VISUAL STUDIO.NET 2008

BAB I SEKILAS VISUAL STUDIO.NET 2008 BAB I SEKILAS VISUAL STUDIO.NET 2008 Pembahasan Materi : Mengenal IDE Visual Studio.NET 2008. Pembuatan project pada Visual Studio.NET 2008. Pengenalan kontrol yang sering digunakan, menulis kode program

Lebih terperinci

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH) PEMROGRAMAN JAVA Yoannita, S.Kom Input Kondisi (IF-ELSE, SWITCH) 1 import java.io.* Operasi input/output dimaksudkan untuk berinteraksi dengan user, User mengetikkan sesuatu input, program java akan menerima

Lebih terperinci

Pembuatan Report menggunakan JasperReports dan ireport

Pembuatan Report menggunakan JasperReports dan ireport Pembuatan Report menggunakan JasperReports dan ireport Oleh : Tutorial ini adalah lanjutan dari tutorial sebelumnya yang berjudul Pemrograman Database Java- MySQL bisa dibaca di http://www.scribd.com/doc/72455088/pemrograman-database-java-mysql.

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP) GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP) Mata Kuliah: Pemrograman Berorientasi Objek; Kode/Bobot: TSK 502 / 3 sks; Deskripsi Mata Kuliah: Mata kuliah ini berisi konsep pemrograman berorientasi objek

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) FM-UDINUS-PBM-08-04/RO RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : Pemrograman Berorientasi Obyek I Revisi ke : - Satuan Kredit Semester : 2 SKS Tanggal Revisi : - Jumlah

Lebih terperinci