Pendahuluan ( First Session). Baca terlebih dahulu halaman ini :
|
|
- Sugiarto Pranoto
- 7 tahun lalu
- Tontonan:
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.
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 terperinciJ2ME 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 terperinciMobile 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 terperinciPEMOGRAMAN 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 terperinci1.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 terperinciPEMOGRAMAN 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 terperinci11.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 terperinciNilai 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 terperinciMODUL 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 terperinciMODUL 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 terperinciBONUS. 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 terperinciKode 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 terperinciBab 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 terperinciLow 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 terperinciPEMOGRAMAN 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 terperinci1. 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 terperinciMODUL 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 terperinciMembuat 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 terperinciP4 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 terperinci1.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 terperinciPENGEMBANGAN 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 terperinciCopyright 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 terperinciLOGIN 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 terperinciMODUL 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 terperinciDAFTAR 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 terperinciBAB 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 terperinciPengenalan 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 terperinciRobertus 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 terperinciBAB 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 terperinciyang 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 terperinciBAB 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 terperinciLAMPIRAN 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 terperinciBAHASA 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 terperinciSUMBER 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 terperinciYoannita 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 terperinciLAMPIRAN 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 terperinciChapter 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 terperinciBab 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 terperinciAPLIKASI 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 terperinci1. 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 terperinciMobile 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 terperinci1. 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 terperinciMODUL 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 terperinciINSTRUKSI 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 terperinciAPLIKASI 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 terperincigplat,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:
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 terperinciPEMROGRAMAN 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 terperinciLAPORAN 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 terperinciBAB 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 terperinciBAB 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 terperinciDASAR 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 terperinciLAMPIRAN A. Universitas Kristen Maranatha
LAMPIRAN A Listing Program import javaxmicroeditionmidlet*; import javaxmicroeditionlcdui*; import orgnetbeansmicroeditionlcduisplashscreen; public class Pemilu extends MIDlet implements CommandListener,
Lebih terperinciBAB 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 terperinciSebelum 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 terperinciPEMAHAMAN 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 terperinciA. 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 terperinciAUTHMODE_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 terperinciBAB 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 terperinciAPLIKASI 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 terperinciPENDAHULUAN 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 terperinciIF5093 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 terperinciBAB 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 terperinciBAB 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 terperinciBadiyanto, 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 terperinciPenggunaan 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 terperinciMODUL 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 terperinciSILABUS 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 terperinciPERTEMUAN 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 terperinciMembuat 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 terperinciPRAKTIKUM 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 terperinciBAB 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 terperinci2. 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 terperinciPERTEMUAN 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 terperinciPenggunaan 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 terperinciBAB 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 terperinciLAPORAN 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 terperinciPemrograman 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 terperinciPEMOGRAMAN 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 terperinciBAB 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 terperinciModul 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 terperinciBAB 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 terperinciMenggunakan 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 terperinciPEMROGRAMAN 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 terperinciINTRODUCTION 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 terperinciBab 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 terperinci1. 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 terperinciSistem 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 terperinciBAB 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 terperinciBAHASA 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 terperinciBAB 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 terperinciint 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 terperinciPEMOGRAMAN 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 terperinciBAB 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 terperinciUntuk 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 terperinciSekarang, 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 terperinciJAVA 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 terperinciPertama 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 terperinciBahasa 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 terperinciMODUL 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 terperinciPengenalan 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