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

Ukuran: px
Mulai penontonan dengan halaman:

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

Transkripsi

1 Pendahuluan ( First Session). Baca terlebih dahulu halaman ini : Pemahaman sebelumnya :. Aturan Pemrograman Java Standar.. Instalasi Toolkit Standard JME (Recomended) yaitu : a. Engine Java, JSDK.4. b. Wireless Tool Kit.40 (WTK.0) c. Editor Kit untuk JME Coding standard ( Notepad ) d. Editor Kit untuk JME Coding Advance ( Forte4Java / JCreator ). Instalasi Emulator Toolkit Spesifik yaitu : a. Nokia Developer Suite for JME (NDS_JME).0 or higher. (Recomended) b. Siemen Mobile Tool Kit (SMTK). c. Motorola SDK. or higher for JME. d. PalmOS Emulator. or higher 4. Toolkit untuk Transfer ke Mobile Phone a. Oxygen Phone Manager. Aturan penulisan!!!. Untuk penulisan kode dituliskan dengan menggunakan huruf yang berbeda.. Untuk baris kode yang tidak cukup, maka dituliskan dengan menambahkan tab pada baris kode yang merupakan sambungan di atasnya.. Untuk tiap baris kode, diberi penomoran baris untuk memudahkan pengecekan baris. 4. Pada bagian coding jika terdapat tanda dengan keterangan dalam kurung siku dengan huruf tebal italic seperti berikut ini [...] berarti coding tersebut bersifat bebas, bisa diganti sesuai dengan yang diinstruksikan di dalam kurung siku itu.. Pada coding, ada baris yang diberi huruf tebal. Berarti baris ini adalah merupakan bagian yang utama yang diterangkan pada program.

2 Aturan kompilasi program dengan WTK!!!. Pertama kali carilah pada Start Program JME Wireless Tool Kit.0.4_0 KToolbar.. Kemudian setelah itu, akan muncul tampilan seperti berikut ini. Untuk membuat proyek MIDlet baru, tekan tombol New Project.. Masukkan nama Proyek dan nama dari MIDlet yang baru yang ingin dibuat. Hendaknya, nama Proyek dan nama MIDlet adalah nama yang mempunyai saling keterkaitan dan mudah diingat juga melambangkan informasi MIDlet itu sendiri. Ingat nama MIDlet adalah sesuai dengan nama source program MIDlet anda. Setelah itu tekan Create Project. 4. Setelah Project dibuat, maka langsung akan membuka dialog Setting untuk project baru.

3 Disini propertinya bisa anda ganti sesuai dengan keinginan ada. Ini adalah properti dari MIDlet yang akan ditampilkan nanti sebagai informasi dari MIDlet yang anda buat. Informasi ini mencakup nama, versi, lisensi, konfigurasi juga termasuk informasi nama MIDlet dan ukurannya. Setelah disetting, tekan tombol OK di bawahnya untuk menyimpan setting yang diberikan.. Pada display terdapat perubahan tampilan seperti berikut ini : Disini dikatakan bahwa anda harus meletakkan source MIDlet pada direktor yang telah dibuat oleh WTK, juga file untuk aplikasi lainnya seperti icon, juga library file lain yang diperlukan untuk program. 6. Setelah selesai dicopykan, untuk mengkompilasi / compile source MIDlet jadi MIDlet program, dari dialog utama, tekan tombol Build. Saat setelah ditekan, maka akan terlihat dialog kecil untuk menyatakan proses kompilasi program MIDlet tersebut. Setelah selesai, maka akan keluar konfirmasi pada dialog menyatakan proses berhasil atau gagal. Jika gagal, maka disitu akan terlihat pada bagian mana terjadinya kesalahan / gagalnya proses kompilasi terjadi akibat apa.

4 . Untuk menjalankannya, maka bisa dipilih device apa saja yang dapat dipakai. Kemudian tekan tombol Run. Disini coba dipilih DefaultGrayPhone.. Tampilan pada emulator handphone akan tampak seperti berikut ini.. Tampilan pada emulator ini akan serupa dengan pada piranti sesungguhnya.. Tidak semua aplikasi yang jalan di Emulator dapat berjalan sama seperti pada piranti. Ini juga tergantung pada spesifikasi dari mesin Java Mobile di piranti tersebut apakah mendukung.

5 Modul MIDlet (First Session) Simple Hello World. Untuk latihan kita yang pertama adalah dengan mengetikkan sebuah program midlet sederhana untuk menampilkan tulisan Hello World ke dalam emulator daripada Nokia ataupun emulator JME standard. File : HelloMIDlet.java public class HelloMIDlet extends MIDlet private Display display; public HelloMIDlet() display = Display.getDisplay(this); public void startapp() TextBox textbox = new TextBox("Hello World", "Test string", 6, TextField.ANY); display.setcurrent(textbox); public void pauseapp() public void destroyapp(boolean unconditional) Sama pada pelajaran dasar pengetikan coding midlet, yang dipelajari pertama adalah menampilkan kata-kata Hello World ke dalam applet maupun ke dalam program Java. Sama seperti aturan pada pemrograman Java, disini ada beberapa class default yang harus diimport dari luar agar program dapat jalan, yaitu pada baris dan : Disini untuk inisialisasi sebuah midlet pada piranti, digunakan baris, sedangkan untuk menampilkan sebuah midlet ke layar display piranti, maka dibutuhkan baris. Untuk pemrograman lainnya, memang ada memiliki kesamaan dengan pemrograman Java. Untuk pendefinisian awal class, sama seperti Java, nama yang terdapat pada baris 4 : public class HelloMIDlet extends MIDlet berarti, source midlet ini juga bernama HelloMIDlet.java, yang juga merupakan bagian class dari MIDlet. Ada pengkhususan untuk coding midlet adalah penggunaan void khusus pada coding, yaitu seperti tampak pada baris, dan 0 : public void startapp() public void pauseapp()

6 public void destroyapp(boolean unconditional) Jika diartikan void ini adalah berarti program yang dijalankan pada event-event tertentu, contoh untuk startapp() berarti dijalankan pada saat program dieksekusi, pauseapp() dijalankan saat program mengalami berhenti sebentar / mengalami pause, sedangkan pada destroyapp() dijalankan saat program ditutup / exit. Pada baris 6 dan ini digunakan untuk inisialisasi display ke piranti, juga kebanyakan digunakan sebagai pengenal obyek display pada midlet. Pada bagian berikutnya, akan dijelaskan tentang penggunaan Command yang sering dipakai pada midlet. Latihan : Buatlah coding midlet seperti berikut ini, dan diload di emulator : File : Helloku.java public class Helloku extends MIDlet private Display display; public Helloku() display = Display.getDisplay(this); public void startapp() TextBox t = new TextBox("Namaku", "[...isi dengan nama anda...] ", 6, TextField.ANY); display.setcurrent(textbox); public void pauseapp() public void destroyapp(boolean unconditional)

7 Modul MIDlet. Command pada MIDlet Perlunya Command disini adalah untuk menambahkan interaksi antara pengguna dengan MIDlet. Interaksi ini bisa termasuk tombol pada piranti / berupa menu pilihan pada MIDlet. Berikut ini adalah contoh penambahan interaksi pada midlet Hello. File : Hello.java public class Hello extends MIDlet implements CommandListner private Display display; private Command cmdexit; public Hello() display = Display.getDisplay(this); cmdexit = new Command( Keluar, Command.SCREEN, ); public void startapp() TextBox textbox = new TextBox("Hello World", "Test string", 6, TextField.ANY); t.addcommand(cmdexit); t.setcommandlistener(this); display.setcurrent(t); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command cmd, Displayable disp) if (cmd == cmdexit) destroyapp(false); notifydestroyed(); Pada program diatas ditambahkan CommandListener untuk interface keluar dari aplikasi. Sekarang compile dan jalankan pada WTK anda dan lihat hasilnya. Maka akan tampak ada penambahan tombol Keluar pada samping kanan bawah. Memang pada beberapa emulator / piranti penambahan Command ini tidak selalu tampak pada di kanan bawah, terkadang harus kita akses dulu ke Menu / Option, baru setelah itu ada tampak pilihan Keluar. Sekarang kita tinjau penambahan pada coding: Command ini adalah sebuah class, jadi penambahannya harus diregister terlebih dahulu obyek yang akan menjadi Command. Lihat pada baris ke : private Command cmdexit; Kemudian pada main class, baru kita tambahkan properti lain untuk Command tersebut, lihat pada baris ke : cmdexit = new Command( Keluar, Command.SCREEN, );

8 Command ini tujuannya diberikan kepada obyek, sehingga obyek dapat berinteraksi dengan pengguna. Cara pemberian Command ini dilihat pada baris 6 dan : t.addcommand(cmdexit); t.setcommandlistener(this); Sedangkan set perintah yang diberikan kepada Command untuk keluar dari aplikasi MIDlet, diberikan dalam kelas tersendiri sebagai aksi dari Command, dilihat pada baris sampai dengan : public void commandaction(command cmd, Displayable disp) if (cmd == cmdexit) destroyapp(false); notifydestroyed(); Latihan : Cobalah contoh pembuatan tanggal berikut ini File : DateExample.java import java.util.calendar; public class DateExample extends javax.microedition.midlet.midlet private Command cmdsetdatetype; private Command cmddisplaydate; private Command cmdexit; private Command cmdsetdatetypeusa; private Command cmdsetdatetypenormal; private TextBox textbox; private TextBox textbox; private CommandListener listener; private CommandListener listener; private Display display; private static final String TEXT = "TextBox l\nuse Menu"; private static final String TEXT = "TextBox \nuse Menu"; private static final String SLASH = "/"; private static final int DATE_FORMAT_USA = ; private static final int DATE_FORMAT_NORMAL = ; private int dateformat = DATE_FORMAT_NORMAL; public DateExample() display = Display.getDisplay(this); cmdsetdatetype = new Command("See Date Type",Command.SCREEN,); cmdexit = new Command("Exit",Command.EXIT,); cmdsetdatetypeusa = new Command("USA", Command.SCREEN, ); cmdsetdatetypenormal =

9 new Command("Normal", Command.SCREEN, ); cmddisplaydate = new Command("Display Date", Command.SCREEN, ); dateformat = DATE_FORMAT_USA; public void startapp() textbox = new TextBox("Date MIDlet", null, 6, 0); textbox.addcommand(cmdsetdatetype); textbox.addcommand(cmddisplaydate); textbox.addcommand(cmdexit); listener = (CommandListener)new TextBoxListener(); textbox.setcommandlistener(listener); textbox = new TextBox("Date", null, 6, 0) ; textbox.addcommand(cmdsetdatetypeusa); textbox.addcommand(cmdsetdatetypenormal); listener = (CommandListener)new TextBoxListener() ; textbox.setcommandlistener(listener); textbox.setstring(text); display.setcurrent(textbox); public void pauseapp() public void destroyapp(boolean unconditional) private void setactivetextbox(textbox tb) display.setcurrent(tb); class TextBoxListener implements CommandListener public void commandaction(command cmd, Displayable disp) System.out.println("in TextBoxListener"); if (cmd == cmdexit) destroyapp(false); notifydestroyed(); else if (cmd == cmdsetdatetype) textbox.setstring(text); setactivetextbox(textbox); else Calendar cal = Calendar.getInstance(); StringBuffer sb = new StringBuffer(); if (dateformat == DATE_FORMAT_USA) sb.append(integer.tostring(cal.get(calendar.month))).append(slash).append(integer.tostring(cal.get(calendar.day_of_month))); else sb.append(integer.tostring(cal.get(calendar.day_of_month))).append(slash).append(integer.tostring(cal.get(calendar.month))); sb.append(slash).append(integer.tostring(cal.get(calendar.year))); textbox.setstring(sb.tostring() + "\n" + TEXT); class TextBoxListener implements CommandListener

10 public void commandaction(command cmd, Displayable disp) System.out.println("in TextBoxListener"); if (cmd == cmdexit) destroyapp(false); notifydestroyed(); else if (cmd == cmdsetdatetypeusa) dateformat = DATE_FORMAT_USA; else dateformat = DATE_FORMAT_NORMAL; textbox.setstring(text); setactivetextbox(textbox); Pada latihan di atas coba anda perhatikan penggunaan perintah command, serta penulisannya seperti pada contoh baris dan : cmdexit = new Command("Exit", Command.EXIT, ); cmddisplaydate = new Command("Display Date", Command.SCREEN, ); Pada MIDlet hasil, anda lihat, perintah tersebut memberikan efek apa pada MIDlet, apakah ada perubahan? Bagaimana juga penempatannya?

11 Modul MIDlet(Second Session) Interaksi User dengan MIDP API. Berikut ini ada contoh untuk lebih lanjut pengembangan dengan TextBox : File : TextBoxExample.java /* * Demo TextBox dengan modifikasi dari Instant Wireless Java with JME * By chiwoq@piksi */ public class TextBoxExample extends MIDlet implements CommandListener private TextBox t; private Command cmdcompare; private Command cmdexit; private Display display; private String msg = "Hari ini pelajaran tentang API"; public TextBoxExample() display = Display.getDisplay(this); cmdcompare = new Command("Bandingkan", Command. SCREEN, ); cmdexit = new Command ("Keluar", Command.SCREEN, ); public void startapp() t = new TextBox("TextBoxExample", msg, 6, 0); t.addcommand(cmdcompare); t.addcommand(cmdexit); t.setcommandlistener(this); display.setcurrent(t); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command cmd, Displayable disp) if (cmd == cmdexit) destroyapp(false); notifydestroyed() ; else if (cmd==cmdcompare) t.setstring((msg.compareto(t.getstring()) == 0)? "SAMA" : "BEDA"); t.removecommand(cmdcompare); Disini dapat kita lihat suatu aplikasi untuk membandingkan antara teks yang ada dengan teks yang telah diedit. Disini memanfaatkan TextBox untuk meletakkan teks dan melakukan komparasi dengan menggunakan Command.

12 Berikut ini kita akan mengenal Form yang digunakan dalam MIDlet. Form adalah layar yang mengandung beberapa obyek benda (image, text, textbox, field date, gauge, choice groups). Untuk Form disini terdiri dari constructor, yaitu untuk properti form itu sendiri, dan untuk menambahkan komponen penyusun form. Berikut ini adalah contoh untuk komponen penyusun form. Suatu Textfield adalah kotak tempat mengisikan teks yang dapat diedit. Seperti pada TextBox, juga untuk mengisikan teks. Perbedaannya, bahwa disini TextField adalah merupakan TextBox dengan adanya label di depannya. Fungsi pembatasan jumlah karakter tetap dimiliki oleh TextField. Langsung saja kita lihat contoh berikut ini: File : TempConvMid.java /* *This example was taken from Instant Wireless with JME by paul_tremblett *Modified by chiwoq@piksi */ public class TempConvMid extends MIDlet implements CommandListener private Display display; private Command cmdexit; private Form form; private TextField tempfield; public void startapp() display = Display.getDisplay(this) ; cmdexit = new Command ("Keluar", Command.SCREEN, ); form = new Form("Temp"); tempfield = new TextField("Teks: ", null,, TextField.ANY); form.addcommand(cmdexit); form.setcommandlistener(this); form.append(tempfield); display.setcurrent(form); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction (Command cmd, Displayable d) String displaystring = null; if (cmd == cmdexit) destroyapp(false); notifydestroyed(); Pada MIDlet ini, terdapat form yaitu bernama Temp. Form ini berisikan komponen berupa TextField berlabel : Teks : Ini adalah contoh sederhana penggunaan form dan komponennya. Berikut adalah contoh lagi komponen form.

13 File : TempConvMid.java /* *This example was taken from Instant Wireless with JME by paul_tremblett *Modified by chiwoq@piksi */ public class TempConvMid extends MIDlet implements CommandListener private Display display; private Command cmdexit; private Command cmdpilih; private Command cmdok; private Form form; private Form form; private TextField tempfield; private ChoiceGroup tempchoice; private StringItem convertedtemp; public void startapp() display = Display.getDisplay(this); cmdpilih = new Command("Pilih",Command.SCREEN, ); cmdexit = new Command ("Keluar", Command.SCREEN, ); cmdok = new Command("OK", Command.SCREEN, ); form = new Form("Konversi"); tempfield = new TextField("Suhu:", null,, TextField.ANY) ; form.addcommand(cmdpilih); form.addcommand(cmdexit); form.setcommandlistener(this); form.append(tempfield); String[] temptype = "Celsius", "Farenheit"; tempchoice = new ChoiceGroup("Tipe", Choice.EXCLUSIVE, temptype, null); form.append(tempchoice); form = new Form("Hasil"); convertedtemp = new StringItem(null, null); form.append(convertedtemp); form.addcommand(cmdok); form.setcommandlistener(this); display.setcurrent(form); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command cmd, Displayable d) String displaystring = null; if (cmd == cmdexit) destroyapp(false); notifydestroyed(); else if (cmd == cmdpilih) String s = tempfield.getstring(); displaystring = converttemp(s); convertedtemp.settext(displaystring); display.setcurrent(form); else if (cmd == cmdok)

14 tempfield.setstring(null); display.setcurrent(form); private String converttemp(string s) char c = s.charat(s.length() - ); StringBuffer tsb = new StringBuffer() ; switch (tempchoice.getselectedindex ()) case 0 : tsb.append(ctof(s)) ; tsb.append('c'); break ; case : tsb.append(ftoc(s)); tsb.append ('F'); break; default: tsb.append ("**Kesalahan**"); return tsb.tostring(); private String ctof(string c) String f = "Suhu =" + c; return f; private String ftoc(string f) String c = "Suhu =" + f; return c; Pada contoh kali ini, ditampilkan beberapa hal baru disamping komponen dari Form, disini juga dikenalkan penggunaan StringBuffer, untuk tipe variable yang berkaitan dengan streaming teks (lihat baris 4). Streaming teks ini biasanya terjadi saat pengiriman data melalui protokol HTTP. Sedangkan hal-hal lainnya telah terdapat pada dasar pemrograman Java / Java Applet. Latihan : Berikut ini ada beberapa contoh sederhana untuk - Cekbox lebih dari satu.(multiplecekbox) MultipleChoiceGroup.java - Form dengan TextField, Gauge(kontrol Level), dan Cekbox FormScroll.java - Simulasi Jam Snooze.java File : MultipleChoiceGroup.java 4 6 /* * Untuk hasilnya dilihat pada WTK Window Message. */ public class MultipleChoiceGroup extends MIDlet implements ItemStateListener, CommandListener private Display display; // Reference to display object private Form fmmain; // The main form private Command cmexit; // A Command to exit the MIDlet

15 private Command cmview; // View the choice selected private int selectallindex; // Index of the "Select All" option private ChoiceGroup cgprefs; // Choice Group of preferences private int choicegroupindex; // Index of choice group on form public MultipleChoiceGroup() display = Display.getDisplay(this); cgprefs = new ChoiceGroup("Preferences", Choice.MULTIPLE); cgprefs.append("auto Indent", null); cgprefs.append("replace Tabs", null); cgprefs.append("wrap Text", null); selectallindex = cgprefs.append("select All", null); cmexit = new Command("Exit", Command.EXIT, ); cmview = new Command("View", Command.SCREEN,); fmmain = new Form(""); choicegroupindex = fmmain.append(cgprefs); fmmain.addcommand(cmexit); fmmain.addcommand(cmview); fmmain.setcommandlistener(this); fmmain.setitemstatelistener(this); public void startapp() display.setcurrent(fmmain); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c == cmview) boolean selected[] = new boolean[cgprefs.size()]; cgprefs.getselectedflags(selected); for (int i = 0; i < cgprefs.size(); i++) System.out.println(cgPrefs.getString(i) + (selected[i]? ": selected" : ": not selected")); else if (c == cmexit) destroyapp(false); notifydestroyed(); public void itemstatechanged(item item) if (item == cgprefs) if (cgprefs.isselected(selectallindex)) for (int i = 0; i < cgprefs.size() - ; i++) cgprefs.setselectedindex(i, true); cgprefs.setselectedindex(selectallindex, false);

16 File : FormScroll.java public class FormScroll extends MIDlet implements CommandListener private Display display; // Reference to display object private Form frmmain; // The main form private Command cmdexit; // Command to exit private TextField txfsize; // Product size private ChoiceGroup chg ; // Choice group private Gauge gauvolume; // Volume public FormScroll() display = Display.getDisplay(this); // Create TextField txfsize = new TextField("Size", "Large",, TextField.ANY); // Create an exclusive (radio) choice group, and append entries chg = new ChoiceGroup(" Options", Choice.EXCLUSIVE); chg .append("read", null); chg .append("forward", null); chg .append("delete", null); // Create the gauge gauvolume = new Gauge("Sound Level", true, 0, 4); cmdexit = new Command("Exit", Command.EXIT, ); // Create the form frmmain = new Form("Form Stuff"); frmmain.append(txfsize); frmmain.append(chg ); frmmain.append(gauvolume); frmmain.addcommand(cmdexit); // Capture events frmmain.setcommandlistener(this); // Called by application manager to start the MIDlet. public void startapp() display.setcurrent(frmmain); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c == cmdexit) destroyapp(false); notifydestroyed();

17 File : Snooze.java import java.util.*; import java.util.timer; import java.util.timertask; public class Snooze extends MIDlet implements ItemStateListener, CommandListener private Display display; // Reference to display object private Form fmmain; // The main form private Command cmsnooze; // Start the timer private Command cmreset; // Reset to current date/time private Command cmexit; // Exit the MIDlet private DateField dfsnoozetime; // How long to snooze private int dateindex; // Index of the DateField on the Form private Date currenttime; // Current time...changes when pressing reset private Timer tmsnooze; // The timer - keeps track of system time private SnoozeTimer ttsnooze; // Called by the timer private boolean dateok = false; // Was the user input valid? public Snooze() display = Display.getDisplay(this); fmmain = new Form("When to sound the alarm:"); currenttime = new Date(); dfsnoozetime = new DateField("", DateField.DATE_TIME); dfsnoozetime.setdate(currenttime); cmsnooze = new Command("Snooze", Command.SCREEN, ); cmreset = new Command("Reset", Command.SCREEN, ); cmexit = new Command("Exit", Command.EXIT, ); dateindex = fmmain.append(dfsnoozetime); fmmain.addcommand(cmsnooze); fmmain.addcommand(cmreset); fmmain.addcommand(cmexit); fmmain.setcommandlistener(this); fmmain.setitemstatelistener(this); public void startapp () display.setcurrent(fmmain); public void pauseapp() public void destroyapp(boolean unconditional) public void itemstatechanged(item item) if (item == dfsnoozetime) if (dfsnoozetime.getdate().gettime() < currenttime.gettime()) dateok = false; else dateok = true; public void commandaction(command c, Displayable s) if (c == cmsnooze) if (dateok == false) Alert al = new Alert("Unable to set alarm", "Please choose another date and time.", null, null);

18 al.settimeout(alert.forever); al.settype(alerttype.error); display.setcurrent(al); else tmsnooze = new Timer(); ttsnooze = new SnoozeTimer(); long amount = dfsnoozetime.getdate().gettime() currenttime.gettime(); tmsnooze.schedule(ttsnooze,amount); fmmain.removecommand(cmsnooze); fmmain.removecommand(cmreset); fmmain.delete(dateindex); fmmain.settitle("snoozing..."); else if (c == cmreset) dfsnoozetime.setdate(currenttime = new Date()); else if (c == cmexit) destroyapp(false); notifydestroyed(); private class SnoozeTimer extends TimerTask public final void run() Alert al = new Alert("Time to wake up!"); al.settimeout(alert.forever); al.settype(alerttype.alarm); AlertType.ERROR.playSound(display); display.setcurrent(al); cancel();

19 Modul 4 MIDlet(Third Session) Interface dan Pemberitahuan Pengguna Advance. Pada Sesi ini akan kita bahas tentang penggunaan Alert dan Ticker yang terdapat pada MIDlet. Terkadang saat pengguna menjalankan suatu program, dapat saja pengguna salah memasukkan bilangan ataupun huruf / salah dalam melakukan pilihan. Terkadang kesalahan tersebut dapat membuat program tidak berjalan sebagaimana mestinya. Oleh karena itu perlu adanya pemberitahuan informasi / warning kepada pengguna saat menjalankan program. Berikut ini akan kita bahas mengenai Alert terlebih dulu. Kita lihat contoh Alert berikut ini : File : ModalAlert.java public class ModalAlert extends MIDlet implements CommandListener private Display display; // Reference to Display object private Form fmmain; // Main form private Alert altest; // Alert to show text and image private Command cmexit; // Command to exit the MIDlet public ModalAlert() display = Display.getDisplay(this); cmexit = new Command("Exit", Command.SCREEN, ); fmmain = new Form("Welcome"); fmmain.append("text string inside the Form"); fmmain.addcommand(cmexit); fmmain.setcommandlistener(this); public void startapp() showalert(); public void pauseapp() public void destroyapp(boolean unconditional) public void showalert() try Image im = Image.createImage("/../res/coffee.png"); altest = new Alert("New Alert", "Time for more Java", im, AlertType.INFO); altest.settimeout(alert.forever); catch(exception e) System.out.println("Unable to read png image.");

20 display.setcurrent(altest, fmmain); public void commandaction(command c, Displayable s) if (c == cmexit) destroyapp(true); notifydestroyed(); Hasilnya akan anda lihat seperti berikut ini : Pada MIDlet ini ada beberapa hal yang dipelajari, yaitu tentang meloading gambar berekstesi png dan memberikan Alert saat event tertentu. Seperti kita lihat pada baris sampai baris 4. Disini diberikan Alert yang berupa gambar dan pesan teks. Saat pengaktifannya adalah pada saat loading aplikasi (baris 4). Waktu untuk suatu Alert dapat diset sesuai keinginan. Seperti pada aplikasi di atas, diset dengan waktu tak terhingga (baris 4). Alert yang ditampilkan disini adalah berupa gambar, selain itu juga ada Alert yang berupa suara yang dihasilkan dari perangkat genggam. Hal ini akan kita pelajari lebih lanjut pada pertemuan lain. Mengenai loading suatu gambar, disini gambar yang digunakan adalah coffee.png dengan ukuran x 4 pixel dan 6 dpi, 4 bit gambar. Peletakkan gambar disitu dituliskan pada alamat /../res/coffee.png, berarti berada pada alamat [direktori Aplikasi WTK ]/ModalAlert/res. Ini perlu diingat bahwa bentuk penulisan untuk alamat pada MIDlet adalah seperti berikut ini. Jika berbeda, maka gambar tidak akan ditemukan oleh MIDlet. Piranti genggam untuk versi agak lama masih hanya dapat memuat gambar png. Sedangkan untuk yang terbaru (kebanyakan sudah support MMS) bahkan sudah dapat memuat gambar JPG. Ini tergantung dari vendor yang membuat menyertakan kemampuan ini atau tidak.

21 Selain dengan Alert, informasi juga dapat diberikan dalam bentuk tulisan yang muncul saat aplikasi sedang berjalan. Bentuk seperti ini sama seperti pada HTML dimana kita melihat adanya tulisan berjalan di layar (marquee). Pada MIDlet disebut sebagai Ticker. Mari kita lihat bentuk Ticker dalam contoh program berikut ini : File : SharedTicker.java public class SharedTicker extends MIDlet implements CommandListener private Display display; // Reference to Display object private List lsproducts; // Main productlist private Alert alhelp; // Alert to show text and image private Ticker tksale; // Ticker of what's on sale private Command cmexit; // Command to exit the MIDlet public SharedTicker() display = Display.getDisplay(this); cmexit = new Command("Exit", Command.SCREEN, ); tksale = new Ticker("Current Sale: Torchiere Lamp only $.00"); lsproducts = new List("Products", Choice.IMPLICIT); lsproducts.append("floor Lamp", null); lsproducts.append("chandelier", null); lsproducts.append("help", null); lsproducts.addcommand(cmexit); lsproducts.setcommandlistener(this); lsproducts.setticker(tksale); public void startapp() display.setcurrent(lsproducts); public void pauseapp() public void destroyapp(boolean unconditional) public void showalert() try Image im = Image.createImage("/../res/help.png"); alhelp = new Alert("Help Information", "Over 00 unique lighting products!", im, null); alhelp.settimeout(000); alhelp.setticker(tksale); catch(exception e) System.out.println("Unable to read png image."); display.setcurrent(alhelp, lsproducts); public void commandaction(command c, Displayable s) if (c == List.SELECT_COMMAND) switch (lsproducts.getselectedindex()) case 0: System.out.println("Floor Lamp selected");

22 break; case : System.out.println("Chandelier selected"); break; case : showalert(); break; else if (c == cmexit) destroyapp(true); notifydestroyed(); Hasilnya tampak seperti berikut ini : Disini tampak pada display atas terdapat tulisan berjalan yang berisi informasi. Aplikasi tetap berjalan, dimana kita masih tetap bisa memilih pilihan yang berada di bawahnya. Untuk mengaktifkan Ticker ini dilihat pada baris ke 4. Selain itu disini juga diperlihatkan bahwa Ticker juga dapat digabungkan dengan suatu alert. Dimana Alert disini adalah diaktifkan saat memilih Help. (lihat baris s/d 4). Fungsi Ticker kebanyakan digunakan sebagai tempat memberikan informasi produk / iklan, karena sifatnya yang tidak mengganggu daripada keseluruhan aplikasi. Ticker hanya mengambil tempat di atas layar dan bergerak secara kontinu.

23 Modul MIDlet (Fourth Session) Record Store Manager (RMS). Pada pokok bahasan kali ini bersifat agak panjang dan menyeluruh. Disini suatu MIDlet akan dibawa pada tahapan lebih lanjut, dimana suatu MIDlet juga dapat menyimpan informasi data. Data yang disimpan tidak bersifat sementara, tetapi akan tetap tersimpan meskipun aplikasi ditutup atau piranti dimatikan. Disini informasi disimpan dalam bentuk suatu file pada tempat dimana aplikasi RMS dijalankan. File ini sifatnya tetap ada dan memakan memori dari piranti. Aplikasi ini bisa digunakan untuk mungkin penyimpanan data yang mempunyai kemampuan simpan sebesar memori yang ada di piranti genggam tersebut. Bahkan ada kemungkinan data ini dapat digunakan oleh aplikasi lain yang dapat membaca file data tersebut. Berikut ini adalah beberapa langkah untuk membuat suatu Manajemen RMS :. Buat MIDlet untuk membuat RMS baru.. MIDlet untuk memberikan informasi RMS yang ada.. MIDlet untuk memasukkan data baru ke RMS. 4. MIDlet untuk menampilkan data yang dimasukkan ke RMS.. MIDlet untuk mengganti data RMS yang ada. 6. MIDlet untuk menghapus data pada RMS yang ada.. MIDlet untuk menutup RMS.. MIDlet untuk menghapus RMS. Kedelapan langkah ini harus dibuat terlebih dahulu baru kemudian digabungkan menjadi satu aplikasi, sehingga dapat berjalan sebagaimana Manajemen database RMS berjalan. Catatan : disini tiap MIDlet dapat berdiri sebagai class sendiri, tapi sebaiknya diketik semua terlebih dahulu baru kemudian dikompilasi. Jadi satu JAR.. Buat MIDlet untuk membuat RMS baru. File : newdatabaserms.java /* * Deskripsi: Membuat RecordStore pada MIDlet * */ import javax.microedition.rms.*; public class newdatabaserms extends MIDlet implements CommandListener private Display display; private Command createcmd = new Command("Buat",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Form f; private TextField t; private RecordStore mydb; private Ticker tck; public newdatabaserms()

24 public void startapp() display = Display.getDisplay(this); f = new Form("Pemrograman RMS"); t = new TextField("Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(createcmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void buatdb() try // Buat Database Baru mydb = RecordStore.openRecordStore(t.getString(),true); tck.setstring("database " + t.getstring() + " berhasil dibuat"); catch(recordstoreexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring("ada kesalahan pembuatan database"); // Fungsi untuk keluar public void keluar() this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("buat")) buatdb(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();. MIDlet untuk memberikan informasi RMS yang ada. File : informasirms.java 4 6 /* * Deskripsi: Menampilkan daftar database/recordstore yang ada * untuk bisa dihapus * */ import javax.microedition.rms.*; import java.io.*;

25 public class informasirms extends MIDlet implements CommandListener private Display display; private Command exitcmd = new Command("Keluar",Command.EXIT,); private Form f,f; private TextField t,t; private RecordStore mydb; private Ticker tck; private ChoiceGroup dt; public informasirms() public void startapp() display = Display.getDisplay(this); f = new Form(null); dt = new ChoiceGroup("Daftar Database",Choice.EXCLUSIVE); tck = new Ticker("Informasi RMS"); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); tampilkan(); public void tampilkan() String alldbs[] = RecordStore.listRecordStores(); for(int i = 0; i < alldbs.length; i++) dt.append(alldbs[i],null); f.append(dt); // Fungsi untuk keluar public void keluar() this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();. MIDlet untuk memasukkan data baru ke RMS. File : tambahdatarms.java 4 /* * Deskripsi: Menambah data pada RecordStore pada MIDlet * */

26 import javax.microedition.rms.*; import java.io.*; public class tambahdatarms extends MIDlet implements CommandListener private Display display; private Command opencmd = new Command("Buka DB",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Command addcmd = new Command("Tambahkan",Command.OK,); private Form f,f; private TextField t,t; private RecordStore mydb; private Ticker tck; public tambahdatarms() public void startapp() display = Display.getDisplay(this); f = new Form("Tambah data RMS"); t = new TextField("Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(opencmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void tambahdata() f = new Form("Tambah data pada " + t.getstring()); t = new TextField("Data? ",null,6,textfield.any); f.append(t); f.addcommand(addcmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); display.setcurrent(f); public void tambahkan() try ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeutf(t.getstring()); byte[] b = baos.tobytearray(); mydb.addrecord(b, 0, b.length); tck.setstring("data berhasil ditambahkan"); display.setcurrent(f); catch(ioexception e) tck.setstring("ada kesalahan I/O"); display.setcurrent(f); catch(recordstorefullexception e) tck.setstring("record Store sudah penuh"); display.setcurrent(f);

27 catch(recordstorenotopenexception e) // do nothing catch(recordstoreexception e) // do nothing public void bukadb() try // Buka database yang sudah ada mydb = RecordStore.openRecordStore(t.getString(),false); tck.setstring("database " + t.getstring() + " berhasil dibuka"); tambahdata(); catch(recordstorenotfoundexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring("tidak ditemukan database yang dimaksud"); catch(recordstoreexception e) // Fungsi untuk keluar public void keluar() // Tutup database dahulu try mydb.closerecordstore(); this.destroyapp(true); catch(recordstorenotopenexception e) System.out.println("Gagal tutup Record Store"); catch(recordstoreexception e) // do nothing catch(nullpointerexception e) this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("buka DB")) bukadb(); else if(lbl.equals("tambahkan")) tambahkan(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed(); 4. MIDlet untuk menampilkan data yang dimasukkan ke RMS. File : 4 /* * Deskripsi: Menampilkan data pada RecordStore pada MIDlet * */

28 import javax.microedition.rms.*; import java.io.*; public class tampildatarms extends MIDlet implements CommandListener private Display display; private Command opencmd = new Command("Tampilkan",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Command backcmd = new Command("Kembali",Command.EXIT,); private Form f,f; private TextField t,t; private RecordStore mydb; private Ticker tck; public tampildatarms() public void startapp() display = Display.getDisplay(this); f = new Form(" Tampilkan data"); t = new TextField(" Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(opencmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void tampilkan() try f = new Form(" Datanya "); ChoiceGroup dt = new ChoiceGroup("",Choice.EXCLUSIVE); f.addcommand(backcmd); f.setcommandlistener(this); f.append(dt); ByteArrayInputStream bais; DataInputStream dis; String in; RecordEnumeration enum = mydb.enumeraterecords(null,null, false); while(enum.hasnextelement()) int recid = enum.nextrecordid(); bais = new ByteArrayInputStream(myDb.getRecord(recId)); dis = new DataInputStream(bais); in = dis.readutf(); dt.append(in,null); display.setcurrent(f); catch(ioexception e) catch(recordstorenotopenexception e) // do nothing catch(recordstoreexception e) tck.setstring("ada kesalahan RecordStore");

29 display.setcurrent(f); public void kembali() tck.setstring(""); public void bukadb() try // Buka database yang sudah ada mydb = RecordStore.openRecordStore(t.getString(),false); tck.setstring("database " + t.getstring() + " berhasil dibuka"); tampilkan(); catch(recordstorenotfoundexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring( "Tidak ditemukan database yang dimaksud"); catch(recordstoreexception e) // Fungsi untuk keluar public void keluar() // Tutup database dahulu try mydb.closerecordstore(); this.destroyapp(true); catch(recordstorenotopenexception e) System.out.println("Gagal tutup Record Store"); catch(recordstoreexception e) // do nothing catch(nullpointerexception e) this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("tampilkan")) bukadb(); else if(lbl.equals("kembali")) kembali(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();. MIDlet untuk mengganti data RMS yang ada. File : gantidatarms.java /* * Nama File: gantidatarms.java * Deskripsi: Mengganti data pada RecordStore pada MIDlet

30 * */ // jangan lupa import paket ini import javax.microedition.rms.*; import java.io.*; public class gantidatarms extends MIDlet implements CommandListener private Display display; private Command opencmd = new Command("Buka",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Command backcmd = new Command("Kembali",Command.EXIT,); private Command ganticmd = new Command("Ganti",Command.OK,); private Command prosesganticmd = new Command("Proses",Command.OK,); private Form f,f,f; private TextField t,t,t; private RecordStore mydb; private Ticker tck; private ChoiceGroup dt; public gantidatarms() public void startapp() display = Display.getDisplay(this); f = new Form(" Ganti data"); t = new TextField(" Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(opencmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void tampilkan() try f = new Form(" Datanya "); dt = new ChoiceGroup("",Choice.EXCLUSIVE); f.addcommand(backcmd); f.addcommand(ganticmd); f.setcommandlistener(this); f.append(dt); ByteArrayInputStream bais; DataInputStream dis; String in; RecordEnumeration enum = mydb.enumeraterecords(null,null, false); while(enum.hasnextelement()) int recid = enum.nextrecordid(); bais =

31 new ByteArrayInputStream(myDb.getRecord(recId)); dis = new DataInputStream(bais); in = dis.readutf(); in = in + " (" + (new Integer(recId)).toString() + ")"; dt.append(in,null); display.setcurrent(f); catch(ioexception e) tck.setstring("ada kesalahan I/O"); display.setcurrent(f); catch(recordstorenotopenexception e) catch(recordstoreexception e) tck.setstring("ada kesalahan RecordStore"); display.setcurrent(f); public void kembali() tck.setstring(""); public void formgantidata() f = new Form(" Data Baru : "); t = new TextField(null,null,6,TextField.ANY); f.append(t); f.addcommand(prosesganticmd); f.addcommand(backcmd); f.setcommandlistener(this); display.setcurrent(f); public void gantidata() try // Ambil informasi data yang dipilih untuk diganti String strdata = dt.getstring(dt.getselectedindex()); ByteArrayInputStream bais; DataInputStream dis; String in; int recid; RecordEnumeration enum = mydb.enumeraterecords(null,null, false); while(enum.hasnextelement()) recid = enum.nextrecordid(); bais = new ByteArrayInputStream(myDb.getRecord(recId)); dis = new DataInputStream(bais); in in = dis.readutf(); = in + " (" + (new Integer(recId)).toString() + ")"; if (in.equals(strdata)) ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeutf(t.getstring()); byte[] b = baos.tobytearray(); mydb.setrecord(recid,b, 0, b.length); break; tampilkan(); catch(ioexception e) tck.setstring("ada kesalahan I/O");

32 display.setcurrent(f); catch(recordstorenotopenexception e) catch(recordstoreexception e) tck.setstring("ada kesalahan RecordStore"); display.setcurrent(f); public void bukadb() try // Buka database yang sudah ada mydb = RecordStore.openRecordStore(t.getString(),false); tck.setstring("database " + t.getstring() + " berhasil dibuka"); tampilkan(); catch(recordstorenotfoundexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring( "Tidak ditemukan database yang dimaksud"); catch(recordstoreexception e) // Fungsi untuk keluar public void keluar() // Tutup database dahulu try mydb.closerecordstore(); this.destroyapp(true); catch(recordstorenotopenexception e) System.out.println("Gagal tutup Record Store"); catch(recordstoreexception e) // do nothing catch(nullpointerexception e) this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("buka")) bukadb(); else if(lbl.equals("kembali")) kembali(); else if(lbl.equals("ganti")) formgantidata(); else if(lbl.equals("proses")) gantidata(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();

33 6. MIDlet untuk menghapus data pada RMS yang ada. File : hapusdatarms.java /* * Nama File: hapusdatarms.java * Deskripsi: Menghapus data pada RecordStore pada MIDlet * */ import javax.microedition.rms.*; import java.io.*; public class hapusdatarms extends MIDlet implements CommandListener private Display display; private Command opencmd = new Command("Buka",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Command backcmd = new Command("Kembali",Command.EXIT,); private Command hapuscmd = new Command("Hapus",Command.OK,); private Form f,f; private TextField t,t; private RecordStore mydb; private Ticker tck; private ChoiceGroup dt; public hapusdatarms() public void startapp() display = Display.getDisplay(this); f = new Form(" Hapus data"); t = new TextField(" Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(opencmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void tampilkan() try f = new Form(" Datanya "); dt = new ChoiceGroup("",Choice.EXCLUSIVE); f.addcommand(backcmd); f.addcommand(hapuscmd); f.setcommandlistener(this); f.append(dt); ByteArrayInputStream bais; DataInputStream dis; String in; RecordEnumeration enum = mydb.enumeraterecords(null,null, false); while(enum.hasnextelement())

34 int recid = enum.nextrecordid(); bais = new ByteArrayInputStream(myDb.getRecord(recId)); dis = new DataInputStream(bais); in = dis.readutf(); in = in + " (" + (new Integer(recId)).toString() + ")"; dt.append(in,null); display.setcurrent(f); catch(ioexception e) tck.setstring("ada kesalahan I/O"); display.setcurrent(f); catch(recordstorenotopenexception e) catch(recordstoreexception e) tck.setstring("ada kesalahan RecordStore"); display.setcurrent(f); public void kembali() tck.setstring(""); public void hapusdata() try // Ambil informasi data yang dipilih untuk dihapus String strdata = dt.getstring(dt.getselectedindex()); ByteArrayInputStream bais; DataInputStream dis; String in; RecordEnumeration enum = mydb.enumeraterecords(null,null, false); while(enum.hasnextelement()) int recid = enum.nextrecordid(); bais = new ByteArrayInputStream(myDb.getRecord(recId)); dis = new DataInputStream(bais); in = dis.readutf(); in = in + " (" + (new Integer(recId)).toString() + ")"; if (in.equals(strdata)) mydb.deleterecord(recid); break; tampilkan(); catch(ioexception e) tck.setstring("ada kesalahan I/O"); display.setcurrent(f); catch(recordstorenotopenexception e) catch(recordstoreexception e) tck.setstring("ada kesalahan RecordStore"); display.setcurrent(f); public void bukadb() try // Buka database yang sudah ada mydb = RecordStore.openRecordStore(t.getString(),false); tck.setstring("database " + t.getstring() + " berhasil dibuka");

35 tampilkan(); catch(recordstorenotfoundexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring( "Tidak ditemukan database yang dimaksud"); catch(recordstoreexception e) // Fungsi untuk keluar public void keluar() // Tutup database dahulu try mydb.closerecordstore(); this.destroyapp(true); catch(recordstorenotopenexception e) System.out.println("Gagal tutup Record Store"); catch(recordstoreexception e) // do nothing catch(nullpointerexception e) this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("buka")) bukadb(); else if(lbl.equals("kembali")) kembali(); else if(lbl.equals("hapus")) hapusdata(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();. MIDlet untuk menutup RMS. File : closedatabaserms.java /* * Nama File: closedatabaserms.java * Deskripsi: Menutup RecordStore pada MIDlet * */ import javax.microedition.rms.*; public class closedatabaserms extends MIDlet implements CommandListener private Display display; private Command closecmd =

36 new Command("Tutup DB",Command.OK,); private Command exitcmd = new Command("Keluar",Command.EXIT,); private Form f; private TextField t; private RecordStore mydb; private Ticker tck; public closedatabaserms() public void startapp() display = Display.getDisplay(this); f = new Form("Pemrograman RMS"); t = new TextField("Nama Record Store",null,, TextField.ANY); tck = new Ticker(""); f.append(t); f.addcommand(closecmd); f.addcommand(exitcmd); f.setcommandlistener(this); f.setticker(tck); public void buatdb() try // Buka database yang sudah ada mydb = RecordStore.openRecordStore(t.getString(),false); mydb.closerecordstore(); tck.setstring("database " + t.getstring() + " tidak ada"); catch(recordstoreexception e) // Ada kesalahan // Saat ini tidak ditangani tck.setstring("ada kesalahan pembuatan database"); // Fungsi untuk keluar public void keluar() this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("buat")) buatdb(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed();

37 . MIDlet untuk menghapus RMS. File : hapusdatabaserms.java /* * Nama File: hapusdatabaserms.java * Deskripsi: Menampilkan daftar database/recordstore yang ada * untuk bisa dihapus * */ import javax.microedition.rms.*; import java.io.*; public class hapusdatabaserms extends MIDlet implements CommandListener private Display display; private Command exitcmd = new Command("Keluar",Command.EXIT,); private Command hapuscmd = new Command("Hapus",Command.OK,); private Form f,f; private TextField t,t; private RecordStore mydb; private Ticker tck; private ChoiceGroup dt; public hapusdatabaserms() public void startapp() display = Display.getDisplay(this); f = new Form(null); tck = new Ticker("Informasi RMS"); f.addcommand(exitcmd); f.addcommand(hapuscmd); f.setcommandlistener(this); f.setticker(tck); String alldbs[] = RecordStore.listRecordStores(); dt = new ChoiceGroup("Daftar Database",Choice.EXCLUSIVE); for(int i = 0; i < alldbs.length; i++) dt.append(alldbs[i],null); f.append(dt); // Fungsi untuk hapus database public void hapusdb() try // Ambil informasi database yang dipilih untuk dihapus String dbname = dt.getstring(dt.getselectedindex()); dt.delete(dt.getselectedindex()); RecordStore.deleteRecordStore(dbName); tck.setstring("database " + dbname + " telah dihapus"); catch(recordstorenotfoundexception e) catch(recordstoreexception e) tck.setstring("ada kesalahan pada Record Store");

38 // Fungsi untuk keluar public void keluar() this.destroyapp(true); // Ini adalah fungsi pada interface CommandListener // yang harus diimplementasikan public void commandaction(command c, Displayable d) String lbl = c.getlabel(); if(lbl.equals("keluar")) keluar(); else if(lbl.equals("hapus")) hapusdb(); public void pauseapp() // Do Nothing public void destroyapp(boolean unconditional) notifydestroyed(); Untuk proses pada WTK, tambahkan pada Setting MIDlets semua nama class yang terkait pada Manajemen RMS ini. Beri nama MIDlet dengan nama Database.

39 Kompilasi dan jalankan. Kemudian cobalah anda menambahkan data / menghapus RMS yang telah anda buat. Perhatikan, bahwa disini tiap class dibuat secara berbeda, tetapi mengambil file data yang sama. Pada Emulator file database disimpan pada direktori [ Direktori WTK ]/appdb berekstensi *.db Selamat mencoba!!!!

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

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

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

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

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

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

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

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

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

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

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

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

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

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) 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

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

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

Membuat Aplikasi Nilai dengan Login. Menggunakan Java J2ME

Membuat Aplikasi Nilai dengan Login. Menggunakan Java J2ME Membuat Aplikasi Nilai dengan Login Menggunakan Java J2ME Kali ini kita akan membahas mengenai bagaimana membuat aplikasi nilai dengan login terlebih dahulu dengan menggunakan java. Untuk membuatnya, kita

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

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

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

Copyright Chocolove Mic 2003 IlmuKomputer.Com

Copyright Chocolove Mic 2003 IlmuKomputer.Com Tips-Tips J2ME chocolove_mic@yahoo.co.uk http://www.mycgiserver.com/~chocolove2003 Copyright 2003 IlmuKomputer.Com Pendahuluan J2ME chocolove_mic@yahoo.co.uk http://www.mycgiserver.com/~chocolove2003 Lisensi

Lebih terperinci

LOGIN FORM MENGGUNAKAN PROGRAM JAVA

LOGIN FORM MENGGUNAKAN PROGRAM JAVA LOGIN FORM MENGGUNAKAN PROGRAM JAVA Oleh : Ade Mila Sintia 6 TCB 0610 3070 1218 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG 2013 LOGIN FORM MENGGUNAKAN PROGRAM JAVA 1. Buatlah program

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

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

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

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

Robertus Lilik Haryanto

Robertus Lilik Haryanto Aplikasi J2ME Untuk Video Player Online Robertus Lilik Haryanto lilik.haryanto@gmail.com http://lharyanto.ifastnet.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi

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

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 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

LAMPIRAN Listing Program

LAMPIRAN Listing Program LAMPIRAN Listing Program package RGB; import java.util.random; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * @author Andreas Octorianto * RGB ANOMALOSCOPE */ public class

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

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

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

LAMPIRAN A Project SendSMS /////////////////////////////////////////////////////// ParsingKata.java

LAMPIRAN A Project SendSMS /////////////////////////////////////////////////////// ParsingKata.java DAFTAR PUSTAKA [1] Patrick Naughton, Java Handbook, ANDI and McGraw-Hikk Co,Yogyakarta, 2002. [2] M.Shalahuddin, Rosa A.S., Pemrograman J2ME, Informatika, Bandung, 2006. [3] Hendrawan, Slide Kuliah ET-5014-

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 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

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

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

1. Tujuan. 2. Latar Belakang. 3. Percobaan. Modul Praktikum TiledLayer 1. Tujuan Menggambar dan Mengetahui fungsi TiledLayer Membuat object dari class TiledLayer Menyusun graphics dari TiledLayer dan di masukkan dalam LayerManager Memanipulasi graphics dengan menggunakan

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

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA A. Instalasi paket Java Development Kit (JDK) 1. Download paket JDK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) Pertama masuk ke situs http://java.sun.com/javase/downloads/index.jsp,

Lebih terperinci

INSTRUKSI PENCABANGAN

INSTRUKSI PENCABANGAN INSTRUKSI PENCABANGAN Sebagai pengembang (programmer) sudah pasti mengetahui jenis operasi instruksi. Salah satu yang perlu dipelajari atau dimengerti adalah operasi instruksi pencabangan. 3.1 Pencabangan

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

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

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

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript LAPORAN RESMI PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript Dosen Pembimbing : Dwi Susanto Oleh : Noer Rhiannah A (4103131052) 3 D3 MMB B PROGRAM STUDI TEKNOLOGI MULTIMEDIA BROADCASTING DEPARTEMEN MULTIMEDIA

Lebih terperinci

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer (computer) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa Inggris komputer berasal dari kata to compute yang artinya

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

DASAR PEMOGRAMAN JAVA

DASAR PEMOGRAMAN JAVA DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana

Lebih terperinci

LAMPIRAN A. Universitas Kristen Maranatha

LAMPIRAN A. Universitas Kristen Maranatha LAMPIRAN A Listing Program import javaxmicroeditionmidlet*; import javaxmicroeditionlcdui*; import orgnetbeansmicroeditionlcduisplashscreen; public class Pemilu extends MIDlet implements CommandListener,

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

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database.

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database. A. Pengertian Database dan Microsoft Access 1. Database Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database. Database adalah

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

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN PRAKTIKUM 29 GUI: KALKULATOR MINI A. TUJUAN PEMBELAJARAN 1. Memahami konsep Graphical User Interface (GUI). 2. Mampu membuat program yang menerapkan konsep GUI. 3. Mampu membuat program berbasis GUI yang

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

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Se melakukan analisis dan perancangan terhadap pengembangan pencarian rute terdekat antar kecamatan kota Tangerang, tahapan selanjutnya adalah implementasi dan

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

PENDAHULUAN TENTANG NETBEANS

PENDAHULUAN TENTANG NETBEANS PENDAHULUAN TENTANG NETBEANS Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 1 TOPIK Pendahuluan IDE Netbeans Membuat Project Baru. 2 Konsep Netbeans Netbeans sebagai IDE ditujukan untuk memudahkan

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

BAB I Pengenalan Visual Basic pada Pemrograman Akuntansi 1

BAB I Pengenalan Visual Basic pada Pemrograman Akuntansi 1 BAB I Pengenalan Visual Basic pada Pemrograman Akuntansi 1 1.1 Mengenal Visual Basic Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang banyak diminati oleh orang. Di sini Visual

Lebih terperinci

BAB IV IMPLEMENTASI DAN EVALUASI. rumah makan berbasis Java 2 Micro Edition (J2ME) ini kedalam implementasi

BAB IV IMPLEMENTASI DAN EVALUASI. rumah makan berbasis Java 2 Micro Edition (J2ME) ini kedalam implementasi BAB IV IMPLEMENTASI DAN EVALUASI Pada bagian implementasi dan evaluasi akan dibahas tentang penerapan landasan teori dan metode penelitian dari sistem pendukung keputusan penentuan rumah makan berbasis

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

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika. Topik Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika. Tujuan Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: 1. Menggunakan Netbeans IDE untuk membuat program Java

Lebih terperinci

MODUL I Pengenalan IDE Visual Basic 6.0

MODUL I Pengenalan IDE Visual Basic 6.0 MODUL I Pengenalan IDE Visual Basic 6.0 Visual Basic (VB) pada dasarnya adalah sebuah bahasa pemrograman komputer. Bahasa pemrograman adalah perintah-perintah atau instruksi yang dimengerti oleh komputer

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

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obyektif: Praktikan mengetahui array, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan dalam

Lebih terperinci

Membuat Aplikasi Kirim SMS. Menggunakan Java J2ME

Membuat Aplikasi Kirim SMS. Menggunakan Java J2ME Membuat Aplikasi Kirim SMS Menggunakan Java J2ME Kali ini kita akan membahas mengenai bagaimana membuat aplikasi kirim sms dengan menggunakan java. Untuk membuatnya, kita memerlukan alat-alat sebagai berikut.

Lebih terperinci

PRAKTIKUM 2 ANTAR MUKA TINGKAN ATAS

PRAKTIKUM 2 ANTAR MUKA TINGKAN ATAS Nama : Jamaludin NIM : E3209265 Kelas : TKK-B PRAKTIKUM 2 ANTAR MUKA TINGKAN ATAS 1. Dasar Teori MDIP user interface di desain untuk peralatan mobile. Aplikasi MDIP ditunjukan pada area limited screen.

Lebih terperinci

BAB IV IMPLEMENTASI DAN ANALISA

BAB IV IMPLEMENTASI DAN ANALISA BAB IV IMPLEMENTASI DAN ANALISA 4. Implementasi dan Analisa Pada bagian ini akan dijelaskan langah-langkah pembuatan aplikasi dengan menggunakan Bahasa pemrograman Java untuk Android, proses implementasi

Lebih terperinci

2. Software yang dibutuhkan Untuk membuat sebuah program java, minimal yang dibutuhkan adalah:

2. Software yang dibutuhkan Untuk membuat sebuah program java, minimal yang dibutuhkan adalah: BAB I. PENDAHULUAN PEMROGRAMAN BERORIENTASI OBJEK (JAVA) 1. Perbedaan Pemrograman Prosedural dan Pemrograman Berorientasi Objek. Program komputer terdiri atas kode dan data. Kode adalah proses logis program

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

Penggunaan Canvas Pada J2ME Untuk Game Programming

Penggunaan Canvas Pada J2ME Untuk Game Programming Penggunaan Canvas Pada J2ME Untuk Game Programming Oleh: Adnan w Anadrep Pada kesempatan kali ini saya akan memberikan kamu tutorial mengenai Canvas pada J2ME yang biasanya sering digunakan di dalam pembuatan

Lebih terperinci

BAB 8 Argumen dari Command-line

BAB 8 Argumen dari Command-line BAB 8 Argumen dari Command-line 8.1 Tujuan Pada bagian ini, kita akan mempelajari bagaimana untuk memproses sebuah input dari command-line dengan menggunakan argumen yang diberikan kepada program Java.

Lebih terperinci

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT Di susun oleh : Galuh Meidaluna 4103141023 Dosen : Dwi Susanto ST. MT TEKNOLOGI MULTIMEDIA BROADCASTING POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Lebih terperinci

Pemrograman dengan Java

Pemrograman dengan Java Pemrograman dengan Java Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui

Lebih terperinci

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita 2 COMMAND Event Handling with Commands Overview Displayable, the parent of all screen displays, supports a very flexible user interface concept, the command.

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

Modul Praktikum 1 Pemograman Berorientasi Objek

Modul Praktikum 1 Pemograman Berorientasi Objek Modul Praktikum 1 Pemograman Berorientasi Objek 1. Judul : Mengenal Lingkup Pemograman 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menuliskan program Java menggunakan text editor

Lebih terperinci

BAB I. 1 P e m r o g r a m a n V i s u a l B a s i c - J a t i L e s t a r i

BAB I. 1 P e m r o g r a m a n V i s u a l B a s i c - J a t i L e s t a r i BAB I Konsep Visual Basic: Penerapan di dunia Usaha, Instalasi serta Pengenalan IDE (Integrated Development Environment) VB dan konsep pemrograman visual I. Tujuan Praktikum 1. Mahasiswa mengenal VB, penerapan

Lebih terperinci

Menggunakan Microsoft Access (perhatikan untuk red text)

Menggunakan Microsoft Access (perhatikan untuk red text) Menggunakan Microsoft Access (perhatikan untuk red text) 1. Membuat Database dan Tabel Materi ini akan menjelaskan bagaimana membangun database, tabel dan field. Akan dijelaskan pula mengenai format dan

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

INTRODUCTION TO JAVA

INTRODUCTION TO JAVA Topics: Sekilas Info Installing Java Persiapan Praktikum Java Source Code Structure Primitive Type PRAKTIKUM PBO INTRODUCTION TO JAVA MODUL 1 INTRODUCTION TO JAVA Variable Naming Java Keywords Operator

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

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

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic Sistem Distribusi Data Melalui COM+ Dengan Visual Basic Artikel ini telah dipublikasikan pada majalah Mikrodata Vol. 5 Series 17, May 2002. Agus Kurniawan agusk@cs.ui.ac.id http://blog.aguskurniawan.net

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

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

BAB 3 Mengenali Lingkup Pemrograman Anda

BAB 3 Mengenali Lingkup Pemrograman Anda BAB 3 Mengenali Lingkup Pemrograman Anda 3.1 Tujuan Dalam bagian ini, kita akan membahas tentang bagaimana menulis, mengkompilasi dan menjalankan program Java. Terdapat dua cara dalam melakukannya, yang

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

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO

PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Company LOGO ALERT 2 ALERT Alert merupakan komponen untuk menampilkan/memberitahu pengguna tentang kesalahan(error) dan warning, display text dan informasi gambar

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer (computer) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa inggris dari kata computer yang berarti menghitung. Dapat

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

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello { Sekarang, kita akan mencoba untuk menganalisa program Java pertama : /** * My first j ava program */ public static void main(string[] args) //menampilkan string Hello world pada layar System. out. println("hello

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

Pertama tama install terlebih dahulu java versi terbaru pada. atau didalam

Pertama tama install terlebih dahulu java versi terbaru pada.  atau didalam 1 Langkah Langkah Instalasi android SDK dan Eclipse : Install Komponen yang dibutuhkan : Pertama tama install terlebih dahulu java versi terbaru pada alamat berikut ini : http://www.java.com/en/download/index.jsp

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Pengenalan JAVA 1 anton@ukdw.ac.id Instalasi JDK Download JDK for free Instalasi biasa Set PATH dan JAVA_HOME set PATH=%PATH%; set JAVA_HOME=

Lebih terperinci

MODUL 2 PERANCANGAN INTERFACE

MODUL 2 PERANCANGAN INTERFACE 6 MODUL 2 PERANCANGAN INTERFACE A. Tujuan Praktikum 1. Mahasiswa mampu memahami struktur dasar dan konsep pemrograman berbasis objek pada Visual Basic 2. Mahasiswa mampu membuat interface antar muka untuk

Lebih terperinci

Pengenalan Visual Basic

Pengenalan Visual Basic Pengenalan Visual Basic KETERANGAN : 1. Baris Menu, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll. 2. Main Toolbar, digunakan untuk melakukan tugastugas tertentu

Lebih terperinci