Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Pendahuluan Aplikasi dimanaaplikasi Mobile client Bookstore inidibuatdengankonsep data client-server, dariaplikasi
digunakanuntukmengakses
server.Pembuatanaplikasi client, yang merupakanaplikasi yang dipasang di mobile phone atauponseldibangunmenggunakan J2ME danaplikasi yang merupakanhalaman admin Mobile Bookstore dibangunmenggunakan JSP.Keduanyamenggunakan
database MySQL. Aplikasiinidibangununtukmemudahkanpelanggansebuahtokobukudalammenac ribuku yang ingindibeli.Aplikasiiniakanditanam di ponselpegawaisebuahtokobuku, sehinggapelanggantidakharusmengunjungikasiratau pc untukmencarijudulbuku yang akanmerekabeli. Aplikasi client berisiinformasitentangbukuterbaru, bukuterlaris, info
hargabuku, info bukudaripengarangtertentu yang ingin di cari.Sedangkanhalaman admin digunakan admin untukmengelola data bukusecara detail yang akanditampilkan di aplikasi client. 2. IdentifikasiMasalah a. Pelangganharusmendatangikasiratau information center
apabilainginmengatahuiinfobuku yang akandibelinya. b. Pegawaitidakbisamenjawabpertanyaanpelanggansecaralangsung. c. Data yang ditampilkankuranglengkap. 3. Tujuan a. Untukmemudahkanpelanggandalammencariinformasitentangbuku akanmerekabeli. b. Untukmemudahkanpegawaitokobukudalammenjawabpertanyaanpelanggan yang inginmencarisebuahbuku. c. Untukmengoptimalkanfungsiponsel yang sudahsemakinberkembang. yang
Tema : Mobile Aplication User : o User (pengguna): o Pengguna mobile (handphone), pegawaitokobuku.
Menu User : Info BukuTerbaru Info DeskripsiBuku Info HargaBuku Info BukuTerlaris Info BukuPengarangTertentu Info BukuPenerbitTertentu
Akses user : Aplikasiakanmenampilkan data bukuterbaru Aplikasiakanmenampilkan data bukuterlaris Aplikasiakanmenampilakan data bukudaripenerbittertentu Aplikasiakanmenampilkan data bukudaripengarangtertentu
6. Use Case
a. Use Case Aplikasi Mobile Bookstore
<<extend>> Masuk <<extend>> <<extend>> <<extend>> <<extend>> Info buku terlaris <<include>> Info harga buku Info Deskripsi terbaru
<<include>>
Daftar
Isi Form
System Home
<<extend>> Buku
Logout
public Tampilan_Awal(AppBookStoreaThis, Display display) { super("Mobile Book Store Information System"); this.display = display; this.display = display; try { Tampil(); } catch(Exception e) { e.printStackTrace(); } }
private void Tampil() throws Exception { String s1 = "SelamatDatang di M-Book Store Information System. Andaakanmendapatkanlayananmenarikdengantarifkompetitifbersama kami."; this.append(s1); image_BS = new ImageItem("", Image.createImage("mbook/img/BookStore.PNG"), ImageItem.LAYOUT_CENTER, ""); this.append(image_BS); String s2 = "Silahkantekantombol [GO] untukmasukke program utama ... "; this.append(s2); addCommand(new Command(" GO ", Command.OK, 1)); setCommandListener(this); } public void commandAction(Command command, Displayable displayable) { if (command.getLabel()== " GO ") { Menu_Utamamenu_utama = new Menu_Utama(display, BS); display.setCurrent(menu_utama); } } }
Menu Utama
package mbook; importjavax.microedition.lcdui.*; public class Menu_Utama extends List implements CommandListener{ private Command cancel; private Command Cmd_Login; private Display display; private m_BS BS; String akhir; Ticker tkrMain;
public Menu_Utama(Display display, m_BS BS) { super ("Menu Utama",List.IMPLICIT); this.display = display; this.BS = BS; try { tampilan();
} catch(Exception e) { e.printStackTrace(); } } private javax.microedition.lcdui.Tickerget_tkrMain() { if (tkrMain == null) { tkrMain = new javax.microedition.lcdui.Ticker( "Mobile Book Store Information System"); } return tkrMain; } private void tampilan() throws Exception { setTicker(get_tkrMain()); cancel = new Command("Keluar", Command.EXIT, 3); Cmd_Login = new Command("Pilih", Command.OK, 1); addCommand(cancel); addCommand(Cmd_Login); Image a = null; Image b = null; Image c = null; Image d = null; Image e = null; try { a = Image.createImage("mbook/img/user.png"); b = Image.createImage("mbook/img/daftar.png"); c = Image.createImage("mbook/img/help.png"); d = Image.createImage("mbook/img/info.png"); e = Image.createImage("mbook/img/exit.png"); } catch (Exception f) { } append(" Masuk",a); append(" Daftar",b); append(" Bantuan",c); append(" TentangKami",d); append(" Keluar",e); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c.getLabel().equals("Keluar")) { m_BS.quitApp(); } else { intselectedIndex = getSelectedIndex(); try { if (selectedIndex == 0) { Login_Userlogin_user = new Login_User(display, BS); display.setCurrent(login_user); } else if (selectedIndex == 1) { Daftar_Userdaftar_user = new Daftar_User(display, akhir); display.setCurrent(daftar_user); }
if (selectedIndex == 2) { Help bantuan = new Help(display, BS); display.setCurrent(bantuan); } else if (selectedIndex == 3) { About about = new About(display, BS); display.setCurrent(about); } else if (selectedIndex == 4) { Tampilan_Awalkeluar = new Tampilan_Awal(display, BS); display.setCurrent(keluar); } } catch (Exception e) { Alert a = new Alert("TerjadiKesalahan : "); a.setString("Gagal me-load pilihan : " + getString(selectedIndex)); a.setTimeout(2000); display.setCurrent(a); } } } }
Daftar User
package mbook; importjavax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; public class Daftar_User extends Form implements CommandListener { private Display display; private StringItemHasilItem; private TextField user; private TextFieldalamat; private TextFieldnoktp; private TextFieldtelp; private TextFieldpasswd; private Form form_hasil; private String result, akhir1; private m_BS BS; public Daftar_User(Display display, String akhir) { super("Form Pendaftaran"); this.display = display; this.akhir1 = akhir1; this.form_hasil = form_hasil; form_hasil = new Form("Pendaftaran"); HasilItem = new StringItem("",""); form_hasil.append(HasilItem);
try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { user = new TextField("", "", 64,TextField.ANY); user.setLabel("Nama : "); this.append(user); alamat = new TextField("", "", 25,TextField.ANY); alamat.setLabel("Alamat : "); this.append(alamat); noktp = new TextField("", "", 15,TextField.ANY); noktp.setLabel("No. KTP : "); this.append(noktp); telp = new TextField("", "", 16,TextField.ANY); telp.setLabel("No. Telp : "); this.append(telp); passwd = new TextField("", "", 64, TextField.PASSWORD); passwd.setLabel("Password : "); this.append(passwd); addCommand(new Command("Back", Command.BACK, 2)); addCommand(new Command("OK", Command.OK, 1)); setCommandListener(this); Command ok = new Command("OK",Command.BACK,2); form_hasil.addCommand(ok); form_hasil.setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c.getCommandType() == Command.BACK) { Menu_Utamamenu_utama = new Menu_Utama(display, BS); display.setCurrent(menu_utama); } else if (c.getCommandType() == Command.OK) { String akhir1 = InputData(user.getString(), alamat.getString(),noktp.getString(), telp.getString(),passwd.getString()); display.setCurrent(form_hasil); } else if (c.getLabel().equals("OK")) { Menu_Utamamenu_utama = new Menu_Utama(display, BS); display.setCurrent(menu_utama);
} } private String InputData(String user,Stringalamat, String noktp,Stringtelp,Stringpasswd) { StreamConnection conn = null; InputStream in = null; StringBuffer data = new StringBuffer(); try { conn = (StreamConnection)Connector.open("http://localhost/mBS/mobile/menu.PHP?action=DAFTAR&user="+user+"&alamat="+alamat+"&noktp="+nokt p+"&telp="+telp+"&passwd="+passwd); in = conn.openInputStream(); intch; while((ch=in.read()) != -1) { if (ch != '\t') { data.append((char)ch); result = data.toString(); } else{ HasilItem.setText(data.toString()); data = new StringBuffer(); } } } catch(IOException e) { System.err.println("KoneksiGagal!"); } return result; } }
Login User
package mbook; importjavax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; public final class Login_User extends Form implements CommandListener { private Display display; private TextField user; private TextFieldpasswd; private Command Cmd_Back; private Command Cmd_Login; private StringItemHasilItem; private m_BS BS;
private String result,akhir; public Login_User(Display display, m_BS BS) { super("Login Pengguna"); this.display = display; this.BS = BS; this.akhir = akhir; HasilItem = new StringItem("",""); try { Tampil(); } catch(Exception e) { e.printStackTrace(); } } public void Tampil() throws Exception { user = new TextField("NamaPengguna : ", "", 25, TextField.ANY); passwd = new TextField("Password : ", "", 30, TextField.PASSWORD); Cmd_Back = new Command("Back", Command.BACK, 2); Cmd_Login = new Command("Login", Command.OK, 1); append(user); append(passwd); addCommand(Cmd_Back); addCommand(Cmd_Login); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c.getLabel().equals("Back")) { Menu_Utamamenu_utama = new Menu_Utama(display, BS); display.setCurrent(menu_utama); } else if (c.getLabel() == null ? "Login" == null : c.getLabel().equals("Login")) { String akhir1 = readData(user.getString(), passwd.getString()); if (akhir1.equals("Salah") == true) { m_BS.showAlert("Login Ditolak !"); }else{ Menu_UserMenu_User = new Menu_User(display,akhir1); display.setCurrent(Menu_User); } } } private String readData(String user, String passwd) { StreamConnection conn = null; InputStream in = null; StringBuffer data = new StringBuffer(); try { conn = (StreamConnection)Connector.open("http://localhost/mBS/mobile/login.php?user="+user+"&passwd="+passwd); in = conn.openInputStream();
intch; while((ch=in.read())!=-1) { if (ch!='\t'){ data.append((char)ch); result = data.toString(); }else { HasilItem.setText(data.toString()); data = new StringBuffer(); } } } catch( IOException e) { System.err.println("Sistemtidakstabil"); } return result; } }
Menu User
package mbook; importjavax.microedition.lcdui.*; public class Menu_User extends List implements CommandListener { private Command Cmd_Back; private Command Cmd_Login; private Display display; private m_BS BS; String akhir; public Menu_User(Display display,Stringakhir) { super("Menu User", List.IMPLICIT) ; this.display = display; this.BS = BS; this.akhir = akhir; try { Tampilan_Awal(); } catch(Exception e) { e.printStackTrace(); } } private void Tampilan_Awal() throws Exception { Cmd_Back = new Command("Back", Command.BACK, 2); Cmd_Login = new Command("Pilih", Command.OK, 1); addCommand(Cmd_Back); addCommand(Cmd_Login); Image a = null; Image b = null; Image b1 = null; Image b2 = null; Image c = null; Image d = null; try {
a = Image.createImage("mbook/img/1.gif"); b = Image.createImage("mbook/img/2.gif"); b1 = Image.createImage("mbook/img/3.gif"); b2 = Image.createImage("mbook/img/4.gif"); c = Image.createImage("mbook/img/5.gif"); d = Image.createImage("mbook/img/6.gif"); } catch (Exception f) { } append("Info BukuTerbaru",a); append("Info DeskripsiBuku",b); append("Info Harga Buku",b1); append("Info Buku Terlaris",b2); append("Info Buku - PenerbitTertentu",c); append("Info Buku - PengarangTertentu",d); setCommandListener(this); } public void commandAction(Command e, Displayable f) { if (e.getCommandType() == Command.BACK) { Menu_Utamamenu_utama = new Menu_Utama(display, BS); display.setCurrent(menu_utama); } else { intselectedIndex = getSelectedIndex(); try { if (selectedIndex == 0) { Info_Terbaruinfo_terbaru = new Info_Terbaru(display,akhir); display.setCurrent(info_terbaru); } else if (selectedIndex == 1) { Info_Deskripsiinfo_deskripsi = new Info_Deskripsi(display,akhir); display.setCurrent(info_deskripsi); } else if (selectedIndex == 2) { Info_Hargainfo_harga = new Info_Harga(display,akhir); display.setCurrent(info_harga); } else if (selectedIndex == 3) { Info_Terlarisinfo_terlaris = new Info_Terlaris(display,akhir); display.setCurrent(info_terlaris); } else if (selectedIndex == 4) { Info_Penerbitinfo_penerbit = new Info_Penerbit(display,akhir); display.setCurrent(info_penerbit); } else if (selectedIndex == 5) { Info_Pengaranginfo_pengarang = new Info_Pengarang(display,akhir); display.setCurrent(info_pengarang); } } catch (Exception g) { Alert a = new Alert("Error"); a.setString("Gagal me-load menu : " + getString(selectedIndex)); a.setTimeout(2000);
display.setCurrent(a); } } } }
Masuk
Menu Utama
Info BukuTerbaru