BAB III PERANCANGAN SISTEM 3.1 Arsitektur Aplikasirepository.dinamika.ac.id/1377/6/BAB_III.pdf ·...
Transcript of BAB III PERANCANGAN SISTEM 3.1 Arsitektur Aplikasirepository.dinamika.ac.id/1377/6/BAB_III.pdf ·...
13
BAB III
PERANCANGAN SISTEM
3.1 Arsitektur Aplikasi
Tugas Akhir ini merupakan rancang bangun sistem (proyek). Rancang
bangun sistem ini digunakan untuk membangun suatu aplikasi yang dapat
memberikan informasi menu makanan dan minuman, harga makanan dan
minuman, pemesanan makanan dan minuman, dan informasi lainya yang
berkaitan dengan rumah makan tersebut.
Secara garis besar sistem pemesanan makanan dapat digambarkan seperti
Gambar 3.1:
Gambar 3.1 Garis besar Sistem Pemesanan Makanan (SPM).
Dari Gambar 3.1 dapat dijelaskan sistem yang dibangun menampilkan
informasi makanan, minuman, informasi tentang rumah makan dan pemesanan
makanan yang ditujukan kepada pihak kustomer yang menggunakan perangkat
14
mobile. Sistem ini juga menyediakan sarana bagi pihak administrator untuk
maintenance customer, maintenance produk makanan dan minuman,
maintenance rumah makan / pujasera melalui aplikasi desktop. Sistem ini juga
menyediakan sarana bagi pihak rumah makan / pujasera untuk mengetahui
pesanan yang masuk melalui aplikasi desktop.
Perangkat mobile dalam aplikasi ini berperan sebagai client. Untuk
bertukar data antara handphone dengan server digunakan koneksi internet. Pada
aplikasi handphone akan muncul menu-menu yang berkaitan dengan informasi
rumah makan/pujasera. Ketika pengguna aplikasi memilih salah satu menu dan
request ke server, maka aplikasi akan terkoneksi dengan server melalui koneksi
internet. Webservice akan meneruskan request dari client untuk akses ke
database server, kemudian diolah dan ditampilkan berdasarkan request client dan
diteruskan oleh webservice untuk ditampilkan pada aplikasi yang ada pada
handphone client.
3.2 Usecase Diagram Sistem Pemesanan Makanan
Pada use case diagram aplikasi ini (Gambar 3.2) terdapat 3 aktor, yaitu
aktor Customer, aktor Administrator dan aktor AdminRumahMakan. Setiap aktor
memiliki kemampuan yang berbeda. Aktor Customer memiliki kemampuan untuk
melihat menu informasi restoran (ShowInfoResto), menu history pemesanan
makanan yang pernah dilakukan actor customer yang bersangkutan
(ShowOrderHistory), menu makanan dan minuman (ShowFoodMenus), menu
detil produk yang menampilkan mengenai detail makanan dan minuman yang
ditawarkan, menu order makanan dan minuman (OrderFood), mencari menu
15
ShowDetailFood
(from Use Cases)
OrderFood
(from Use Cases)
ShowInfoResto
(from Use Cases)ShowOrderHistory
(from Use Cases)
RegistrasiCustomer
(from Use Cases)
ShowFoodMenus
(from Use Cases)<<extend>>
<<extend>>
LoginCustomer
(from Use Cases) <<include>>
MaintenanceCustomer
(from Use Cases)
MaintenanceUserResto
(from Use Cases)
Administrator
(f rom Actors)
MaintenanceProduk
(from Use Cases)
MaintenanceInfoResto
(from Use Cases)
RegistrasiResto
(from Use Cases)
MaintenanceOrder
(from Use Cases)
AdminResto
(f rom Actors)
Customer
(f rom Actors)
SearchMenu
<<extend>>
makanan atau minuman (SearchMenu), selain itu aktor customer juga dapat
melakukan registrasi (Registrasi) untuk mendapatkan akses kedalam sistem dan
login sebelum melakukan pemesanan makanan dan minuman (LoginCustomer).
Aktor Administrator memiliki kemampuan untuk dapat melakukan
maintenance data customer (MaintenanceUser) dan maintenance data restoran
yang menjadi member (MaintenanceUserResto).
Aktor AdminRumahMakan memiliki kemampuan untuk dapat
mendaftarkan data rumah makan/pujaseranya (RegistrasiResto), maintenance data
produk-produk yang akan ditawarkan agar dapat dipesan oleh customer melalui
aplikasi ini (MaintenanceProduk), melakukan maintenance informasi tentang
rumah makan yang bersangkutan (MaintenanceInfoResto), selain itu aktor
AdminRumahMakan juga dapat menerima order dari customer dan merespon
order dari customer (MaintenanceOrder).
Gambar 3.2 Usecase Diagram Sistem Pemesanan Makanan
16
Berikut ini penjelasan mengenai usecase yang digunakan oleh aktor
Customer. Usecase ShowInfoResto digunakan untuk mengakses informasi
mengenai rumah makan/restoran yang ada pada aplikasi. Usecase
ShowOrderHistory digunakan untuk mengetahui informasi mengenai order-order
yang pernah dilakukannya. Usecase LoginCustomer digunakan untuk keamanan
sebelum user melakukan pemesanan dan menampilkan informasi mengenai order-
order yang pernah dilakukan pada sistem pemesanan makanan. ShowFoodMenus
digunakan untuk menampilkan menu-menu makanan yang ditawarkan.
ShowDetailFood digunakan untuk melihat rincian/detail dari suatu
makanan/minuman yang ditawarkan. OrderFood digunakan untuk melakukan
order makanan/minuman melalui sistem pemesanan makanan. Registrasi User
digunakan untuk pendaftaran kustomer baru agar dapat melakukan pemesanan
makanan/minuman melaui sistem pemesanan makanan.
3.3 Activity Diagram Sistem Pemesanan Makanan
Activity diagram menunjukan informasi mengenai aliran suatu kejadian
pada sistem. Activity diagram dapat digunakan dalam pemodelan sistem untuk
menggambarkan aliran kerja (workflow) dalam usecase sistem. Berikut ini
beberapa activity diagram dari usecase pada Sistem Pemesanan Makanan :
3.3.1 Activity Diagram LoginCustomer
Pada Gambar 3.3 ditunjukan activity diagram LoginCustomer oleh aktor
Customer, dengan dimulai memilih menu Login pada sistem, sistem akan
menampilkan form Login, kemudian user dapat meng-input-kan username dan
password-nya, apabila username dan password yang diinputkan tidak valid maka
17
Mulai
Pilih menu Login
Input Username
Input Password
Tampil form Login
Cek validasi data login
Selesai
[ Tidak valid ]
[ Valid ]
Customer tidak dapat masuk kedalam sistem dan harus melakukan login ulang.
Apabila username dan password yang di-input-kan valid maka Customer akan
terhubung dengan sistem.
Gambar 3.3 Activity Diagram LoginCustomer
3.3.2 Activity Diagram ShowInfoResto
Pada Gambar 3.4 ditunjukan activity diagram ShowInfoResto oleh aktor
Customer, dengan dimulai memilih menu Informasi pada sistem, sistem akan
menampilkan form Informasi Restoran, kemudian user dapat meng-input-kan
wilayah restoran, meng-input-kan restoran, kemudian dapat user memilih menu
Lihat Info untuk menampilkan info restoran yang telah dipilh.
18
Mulai
Pilih menu Informasi
Input wilayah restoran
Input restoran
Pilih menu Lihat Info
Tampil Form Informasi Restoran
Tampil form Info Restoran
Selesai
Gambar 3.4 Activity Diagram ShowInfoResto
3.3.3 Activity Diagram ShowFoodMenu
Pada Gambar 3.5 ditunjukan activity diagram ShowFoodMenu oleh aktor
Customer, dengan dimulai memilih Menu pada sistem, sistem akan menampilkan
form Pilih Restoran, kemudian user dapat meng-input-kan wilayah restoran,
meng-input-kan restoran, kemudian sistem akan menampilkan form Jenis Produk
yang berisi produk-produk.
19
Mulai
Pilih Menu
Input wilayah restoran
Input restoran
Tampil form Pilih Restoran
Tampil form Jenis Produk
Selesai
Gambar 3.5 Activity Diagram ShowFoodMenu
3.3.4 Activity Diagram ShowDetailFood
Pada Gambar 3.6 ditunjukan activity diagram ShowDetailFood oleh aktor
Customer, dengan dimulai memilih Menu pada sistem, sistem akan menampilkan
form Pilih Restoran, kemudian user dapat meng-input-kan wilayah restoran,
meng-input-kan restoran, kemudian sistem akan menampilkan form Jenis Produk,
user dapat meng-input-kan kriteria produk, user dapat meng-input-kan produk
yang ingin dipilih, kemudian user memilih menu Lihat Detail, sistem akan
menampilkan form Detail Produk yang berisi keterangan/detail produk yang telah
dipilih.
20
Mulai
Pilih Menu
Input wilayah restoran
Input restoran
Input kriteria produk
Input produk
Tampil Form Pilih Restoran
Tampil form Jenis Produk
Tampil menu Detail Produk
Pilih menu Lihat Detail
Selesai
Gambar 3.6 Activity Diagram ShowDetailFood
3.3.5 Activity Diagram OrderFood
Pada Gambar 3.7 ditunjukan activity diagram OrderFood oleh aktor
Customer, dengan dimulai memilih Menu pada sistem, sistem akan menampilkan
form Pilih Restoran, kemudian user dapat meng-input-kan wilayah restoran,
meng-input-kan restoran, kemudian sistem akan menampilkan form Jenis Produk,
kemudian user dapat meng-input-kan kriteria produk, kemudian user dapat meng-
input-kan produk yang ingin dipilih, kemudian user memilih menu Order, sistem
akan mengecek apakah user sudah login kesistem, apabila belum maka sistem
21
Mulai
Cek Login Customer
Pilih Menu
Input Wilayah Restoran
Tampil form piih menu
Input Restoran
Tampil Form Jenis Produk
Input Kriteria Produk
Input Produk
Pilih Menu Order
Tampilkan Form Login
[belum]
Input username dan password
Cek validasi data
Tampil Form Pemesanan
Isi Data Pemesanan
Pilih Menu Kirim Order
Cek validasi data pemesanan
[tidak valid]
[valid]
[tidak valid]
[sudah]
[valid]
akan menampilkan form Login dan user harus melakukan login dengan benar
apabila akan melakukan order. Apabila user telah login maka sistem akan
menampilkan form Pemesanan, user dapat melengkapi data pemesanan dan
mengirimkan data tersebut keserver dengan memilih menu Kirim Order.
Gambar 3.7 Activity Diagram OrderFood
22
Pilih menu Catatan Order
Input username dan password
Input tanggal dan jam order
Pilih menu Lihat Order
Tampilkan Form login
Cek validasi data login
Cek login customer
Tampil form Informasi Order
Tampil form Detail Order
Selesai
Mulai
[ belum ]
[ tidak valid ] [valid]
[sudah]
3.3.6 Activity Diagram ShowOrderHistory
Pada Gambar 3.8 ditunjukan activity diagram ShoworderHistory oleh
aktor Customer, dengan dimulai memilih menu Catatan Order pada sistem, sistem
akan mengecek apakah user sudah login, kalau belum maka akan tampil form
Login, dan user harus melakukan login dengan benar apabila ingin menampilkan
form Informasi Order. Apabila user telah login maka sistem akan menampilkan
form Informasi Order, kemudian user dapat meng-input-kan tanggal dan jam
order, kemudian user dapat memilih menu Lihat Order untuk menampilkan form
Detail Order.
Gambar 3.8 Activity Diagram ShowOrderHistory
23
Mulai
Pilih Menu Cari
Tampil Form Cari
Inputkan Menu yang dicari
Tampil hasil yang dicari
Selesai
3.3.7 Activity Diagram SearchMenu
Pada Gambar 3.9 ditunjukan activity diagram SearchMenu oleh aktor
Customer, dengan dimulai memilih menu Cari pada sistem, sistem akan
menampilkan form menu Cari, kemudia user diminta untuk menginputkan menu
makanan atau minuman yang dicari, kemudian system akan menampilkan hasil
pencarian.
Gambar 3.9 Activity Diagram SearchMenu
3.3.8 Activity Diagram MaintenanceOrder
Pada Gambar 3.10 ditunjukan activity diagram MaitenanceOrder oleh
aktor AdminRumahMakan, dengan dimulai melakukan Login kedalam sistem,
dengan menginputkan username dan password, sistem akan mengecek username
dan password yang diinputkan, apabila tidak valid maka AdminRumahMakan
tidak dapat masuk kedalam sistem dan harus melakukan login ulang. Apabila
username dan password yang diinputkan valid maka AdminRumahMakan akan
terhubung dengan sistem yang akan menampilkan menu Maintenance data order,
24
Mulai
Pilih menu Login
Input username dan password
Menerima order Hapus data order
Merespons order
Cek validasi data login
Maintenance data order
Selesai
Tampilkan Form Login
Kirim orderSimpan data
order
[ Tidak valid ]
[ Valid ]
dalam menu tersebut AdminRumahMakan dapat melakukan hapus data order,
menerima order dan kemudian menyimpannya.
Gambar 3.10 Activity Diagram MaintenanceOrder
3.3.9 Activity Diagram MaintenanceUserResto
Pada Gambar 3.11 ditunjukan activity diagram MaitenanceUserResto oleh
aktor Administrator, dengan dimulai melakukan Login kedalam sistem, dengan
menginputkan username dan password, sistem akan mengecek username dan
password yang diinputkan, apabila tidak valid maka Administrator tidak dapat
masuk kedalam sistem dan harus melakukan login ulang. Apabila username dan
password yang diinputkan valid maka Administrator akan terhubung dengan
25
Mulai
Pilih menu Login
Input username dan password
Edit data resto Tambah data resto
Cek validasi data login
Tampilkan Form Login
Maintenance data resto
[ Edit data ] [ Tambah data ]
Simpan data resto
Selesai
[ Tidak valid ]
[ Valid ]
sistem yang akan menampilkan menu Maintenance data resto, dalam menu
tersebut Administrator dapat melakukan Edit data resto, Hapus data resto, Tambah
data resto dan kemudian menyimpannya.
Gambar 3.11 Activity Diagram MaintenanceUserResto
3.3.10 Activity Diagram MaintenanceCustomer
Pada Gambar 3.12 ditunjukan activity diagram MaitenanceCustomer oleh
aktor Administrator, dengan dimulai melakukan Login kedalam sistem, dengan
menginputkan username dan password, sistem akan mengecek username dan
password yang diinputkan, apabila tidak valid maka Administrator tidak dapat
masuk kedalam sistem dan harus melakukan login ulang. Apabila username dan
26
Input username dan password
Mulai
Login
Edit data user Tambah data user
Tampilkan Form Login
Cek validasi data login
Maintenance data user
Simpan data user
Selesai
[ Tidak valid ][ Valid ]
[ Edit data ]
[ Tambah data ]
password yang diinputkan valid maka Administrator akan terhubung dengan
sistem yang akan menampilkan menu Maintenance data user, dalam menu
tersebut Administrator dapat melakukan Edit data user, Hapus data user, Tambah
data user dan kemudian menyimpannya.
Gambar 3.12 Activity Diagram MaintenanceCustomer
3.3.11 Activity Diagram MaintenanceProduk
Pada Gambar 3.13 ditunjukan activity diagram MaitenanceProduk oleh
aktor AdminRumahMakan, dengan dimulai melakukan Login kedalam sistem,
dengan menginputkan username dan password, sistem akan mengecek username
dan password yang diinputkan, apabila tidak valid maka AdminRumahMakan
27
Mulai
Pilih menu Login
Input username dan password
Menerima order Hapus data order
Meresponsorder
Cek validasi data login
Maintenance data order
Selesai
Tampilkan Form Login
Kirim orderSimpan data
order
[ Tidak valid ]
[ Valid ]
tidak dapat masuk kedalam sistem dan harus melakukan login ulang. Apabila
username dan password yang diinputkan valid maka AdminRumahMakan akan
terhubung dengan sistem yang akan menampilkan menu Maintenance data
produk, dalam menu tersebut AdminRumahMakan dapat melakukan Edit data
produk, Hapus data produk, Tambah data produk dan kemudian menyimpannya.
Gambar 3.13 Activity Diagram MaintenanceProduk
3.3.12 Activity Diagram RegistrasiUser
Pada Gambar 3.14 ditunjukan activity diagram RegistrasiUser oleh aktor
Administrator dan Customer, diawali oleh customer meminta formulir pada
administrator, administrator memberikan seberkas formulir yang dapat diisi oleh
28
customer, formulir yang telah diisi dikembalikan pada administrator, kemudian
administrator melakukan pengecekan data pada formulir yang telah diisi oleh
customer, apabila terdapat kesalahan atau kekurangan dalam pengisian, formulir
akan dikembalikan pada customer untuk dilengkapi. Apabila pengisian formulir
telah benar atau lengkap, administrator akan menyimpan data user baru tersebut.
Gambar 3.14 Activity Diagram RegistrasiUser
3.3.13 Activity Diagram RegistrasiResto
Pada Gambar 3.15 ditunjukan activity diagram RegistrasiResto oleh aktor
Administrator dan AdminRumahMakan, diawali oleh AdminRumahMakan
meminta formulir pada Administrator, Administrator memberikan seberkas
29
formulir yang dapat diisi oleh AdminRumahMakan, formulir yang telah diisi
dikembalikan pada Administrator, kemudian Administrator melakukan
pengecekan data pada formulir yang telah diisi oleh AdminRumahMakan, apabila
terdapat kesalahan atau kekurangan dalam pengisian, formulir akan dikembalikan
pada AdminRumahMakan untuk dilengkapi. Apabila pengisisan formulir telah
benar atau lengkap, Administrator akan menyetujui dan menyimpan data resto
baru tersebut.
Gambar 3.15 Activity Diagram RegistrasiResto
3.4 Class Diagram Sistem Pemesanan Makanan
Berdasarkan perencanaan sistem pada usecase diagram, dibutuhkan
class-class untuk membangun dan mendukung jalannya aplikasi. Hubungan antar
class-class tersebut terdapat pada Gambar 3.16 berikut ini.
30
-frmOrder
DriveThrustrUser : String = ""strPwd : String = ""strDeposit : int = 0strAlamat : String = ""strNoTelp : String = ""
DriveThru()startApp()pauseApp()destroyApp()commandAction()buatIcon()prosesLogout()cekLogin()openLoginForm()openInfoOrderForm()alertTesting()openInfoRestoForm()openFormPilihResto()
MyHttpConnectionsessionID : java.lang.StringserverURL : java.lang.String
MyHttpConnection()sendGETRequest()sendPOSTRequest()getResponse()
MyStringTokenizerstring : String = nulltokens[] : String = nulldelimiter : char = ' 'allTokens : int = 0
MyStringTokenizer()countAllTokens()tokenizeString()getNumberOfTokens()getTokens()
AmbilDatajmlData : intjmlKolom : intmessageServer : java.lang.Stringrecords[] : java.lang.Stringresult[][] : java.lang.String
AmbilData()getDataFromServer()
-conn -mst
FormInformasiOrderdata[][] : Stringstatus : StringstrDisplayAllDetail : StringstrTanggal : StringstrJam : StringstrProduk[] : StringstrGarisDetail : StringstrDisplayTanggal : StringstrDisplayJam : StringstrDisplayTotalHarga[] : StringstrDisplayTanggalKirim[] : StringstrDisplayJamKirim[] : StringstrDisplayResto[] : String
FormInformasiOrder()makeIcon()run()getInfo()getDetailOrder()commandAction()alertInfo()
-ambl
-frmInfoOrder
FormLoginloginSukses[][] : StringstatusLogin : StringdataLogin : StringdataPwd : StringdataDeposit : StringdataAlamat : StringdataNoTelp : String
FormLogin()createImage()run()cekProsesLogin()viewMenu()noConnection()prosesLogin()alertLogin()commandAction()alertTesting()
-ambl
-frmLogin
FormMenuAwaldata[][] : Stringstatus : StringmenuPilih[][] : StringidPilih[][] : StringdataDetail[][] : StringstrDetailAll : StringstrDetailGaris : StringstrDetailNama : StringstrDetailKeterangan : StringstrDetailHarga : StringintJumlahJualAll : intintHargaTotalAll : intawalTahun : introw : intcol : intsttDetail : booleansttArray : StringsttLoginCekProduk : String
FormMenuAwal()run()itemStateChanged()getDetailKriteria()getDetailProduk()getKriteria()alertTesting()openLoginForm()openOrderForm()commandAction()
-ambl
-frmLogin
FormTransaksistrAwalOrder : StringcolKriteria : intmenuOrder[][] : StringdataHarga[][] : StringinsertDetailOrder[][] : StringidOrder[][] : Stringdata[][] : StringtotalItemArray[][] : StringinsertOrder[][] : StringupdateDeposit[][] : Stringrow : intcol : intstatus : StringnoNota : StringstrPesanan : StringstrNamaProduk : StringstrHargaProduk : StringjamOrder : intmenitOrder : intjamNow : intmenitNow : intwaktuOrder : StringwaktuNow : StringwaktuPesan : Stringbln : Stringtgl : StringtglPesan : StringtglOrder : Stringkalender : java.util.CalendartempTglOrder : intbulanOrder : inttahunOrder : inttglNow : intbulanNow : inttahunNow : inttemp : inttotalHarga : intdepositUser : inthargaItem : intjum lahItem : int
FormTransaksi()setAwal()buatIcon()run()insertOrder()cekDeposit()formKonfirmasi()getNota()alertTesting()getWaktuAndTanggalNow()getWaktuAndTanggalOrder()commandAction()
-ambl
-frmLogin
-frmOrder
FormInfoRestostatus : StringstrInfoAll : StringstrNama : StringstrAlamat : StringstrTelp : StringstrFax : StringstrHalal : StringstrLayanan : StringstrSyarat1 : StringstrSyarat2 : StringstrSyarat3 : StringstrSyarat4 : StringdataWilayah[][] : StringdataResto[][] : StringstrGaris : StringstrWilayah : String
FormInfoResto()run()getInfoResto()commandAction()itemStateChanged()getDetailResto()getWilayah()alertTesting()
-ambl
-frmInfoResto
ProgressBaridx : intmInterval : intmWidth : intmHeight : inturlstring : java.lang.Stringmenu : java.lang.Stringncol : intcol : intmaju : booleandeltaX : inttask : java.util.TimerTask
stop()ProgressBar()paint()commandAction()
-pgr
-pgr
-pgr
-pgr
-pgr
FormPilihRestodataWilayah[][] : StringdataResto[][] : Stringstatus : StringstrKodeResto : StringstrNamaResto : String
FormPilihResto()getWilayah()itemStateChanged()getDetailResto()run()openFormMenuAwal()commandAction()
-ambl
-frmKriteria
-frmMenuAwal-pgr
Gambar 3.16 Class Diagram pada Sistem Pemesanan Makanan.
3.5 Sequence Diagram Sistem Pemesanan Makanan
Untuk menjelaskan tiap usecase berdasarkan pada usecase diagram
diatas, maka dibutuhkan sequence diagram yang menggambarkan jalannya suatu
31
proses yang melibatkan objek atau instan dari class dalam aplikasi ini. Namun ada
beberapa usecase yang tidak perlu digambarkan sequence diagram-nya
dikarenakan usecase tersebut sudah jelas dan tidak melibatkan objek lain dalam
prosesnya.
3.5.1 Sequence Diagram LoginCustomer
Proses dalam usecase diawali ketika customer membuka aplikasi
(DriveThru) yang telah ter-install didalam telepon selular, kemudian membuka
form Login yang digambarkan dengan objek FormLogin. Setelah customer
memasukan username dan password, form akan mengecek apakah customer tidak
mengosongkan inputan username dan passwordnya, apabila customer benar-benar
telah menginputkan username dan passwordnya, maka data akan diambil oleh
obyek AmbilData yang kemudian data dikirim keserver untuk diperiksa apakah
username dan password tersebut terdaftar pada sistem. Sistem akan mengirimkan
konfirmasi ke obyek AmbilData yang kemudian akan diteruskan ke obyek
MyStringTokenizer agar selama membuka aplikasi customer tetap dikenali oleh
sistem sehingga tidak perlu login berulang kali. Setelah username dan password
dicek, maka sistem akan mengirimkan pesan ke FomLogin
Struktur dari sequence diagram Usecase LoginCustomer dapat dilihat
pada Gambar 3.17 sebagai berikut :
32
: Customer : DriveThru : FormLogin : AmbilData : MyStringTokenizer : MyHttpConnection
DriveThru( )
openLoginForm( )
FormLogin(javax.microedition.lcdui.Display, javax.microedition.lcdui.Displayable)
AmbilData( )
cekProsesLogin( )
MyStringTokenizer(String, char)sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
getDataFromServer(java.lang.String)
Gambar 3.17 Sequence Diagram LoginCustomer
3.5.2 Sequence Diagram OrderFoods
Proses pada usecase diawali ketika obyek form transaksi (FormTransaksi)
dibuka, kemudian form akan menampilkan data awal, tanggal dan waktu sekarang
sebagai waktu dan tanggal pemesanan, kemudian user menentukan waktu dan
tanggal pengiriman pesanan, kemudian sistem akan mengecek apakah deposit
customer masih mencukupi untuk melakukan pembayaran dari transaksi yang
telah dilakukan. Apabila deposit mencukupi untuk melakukan transaksi, maka
sistem akan membuat nota untuk pengiriman pesanan, apabila deposit tidak
mencukupi untuk melakukan transaksi, maka transaksi dibatalkan.
Struktur dari sequence diagram Usecase OrderFoods dapat dilihat pada
Gambar 3.18 sebagai berikut :
33
Gambar 3.18 Sequence Diagram OrderFoods
34
getDataFromServer(java.lang.String)
: Customer : DriveThru : FormPilihResto
: FormMenuAwal : AmbilData : MyStringTokenizer : MyHttpConnection
DriveThru( )
openFormPilihResto( )FormPilihResto(javax.microedition.lcdui.Display, javax.microedition.lcdui.Displayable)
getWilayah( )
AmbilData( )
MyStringTokenizer(String, char)
getDetailResto( )
AmbilData( )
openFormMenuAwal( )
FormMenuAwal(javax.microedition.lcdui.Display, javax.microedition.lcdui.Displayable)
getKriteria( )
AmbilData( )
MyStringTokenizer(String, char)
getDetailKriteria( )
sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
MyStringTokenizer(String, char)
sendPOSTRequest(java.lang.String, java.lang.String)getTokens( )
getDataFromServer(java.lang.String)
sendPOSTRequest(java.lang.String, java.lang.String)getTokens( )
getDataFromServer(java.lang.String)
3.5.3 Sequence Diagram ShowFoodMenus
Sequence Diagram ShowFoodMenus dapat dilihat pada Gambar 3.19
berikut ini:
Gambar 3.19 Sequence Diagram ShowFoodMenus
35
: FormMenuAwal : Customer : DriveThru :
FormPilihResto : AmbilData : MyStringTokenizer : MyHttpConnection
DriveThru( )
openFormPilihResto( )
FormPilihResto(javax.microedition.lcdui.Display, javax.microedition.lcdui.Displayable)getWilayah( )
AmbilData( )MyStringTokenizer(String, char)
getDetailResto( )
AmbilData( )MyStringTokenizer(String, char)
openFormMenuAwal( )
FormMenuAwal(javax.m icroedition.lcdui.Display, javax.microedition.lcdui.Displayable)
getKriteria( )
AmbilData( ) MyStringTokenizer(String, char)
getDetailKriteria( )
AmbilData( ) MyStringTokenizer(String, char)
getDetailProduk( )
sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
getDataFromServer(java.lang.String)
sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
getDataFromServer(java.lang.String)
sendPOSTRequest(java.lang.String, java.lang.String)getTokens( )
getDataFromServer(java.lang.String)
sendPOSTRequest(java.lang.String, java.lang.String)getTokens( )
getDataFromServer(java.lang.String)
3.5.4 Sequence Diagram ShowDetailFood
Sequence Diagram ShowDetailFood dapat dilihat pada Gambar 3.20
berikut ini:
Gambar 3.20 Sequence Diagram ShowDetailFood
36
: Customer : DriveThru : FormInfoResto : AmbilData : MyStringTokenizer : MyHttpConnection
DriveThru( )
openInfoRestoForm( )
FormInfoResto(javax.microedition.lcdui.Display, javax.microedition.lcdui.Displayable)
getWilayah( )
AmbilData( )MyStringTokenizer(String, char)
getDetailResto( )
AmbilData( )MyStringTokenizer(String, char)
getInfoResto( )
sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
getDataFromServer(java.lang.String)
sendPOSTRequest(java.lang.String, java.lang.String)
getTokens( )
getDataFromServer(java.lang.String)
3.5.5 Sequence Diagram ShowInfoResto
Sequence Diagram Show InfoResto dapat dilihat pada Gambar 3.21
berikut ini:
Gambar 3.21 Sequence Diagram ShowInfoResto
37
AmbilDataMyHttpConnection
MyStringTokenizer
DriveThru
FormInfoResto
FormInformasiOrder
FormLogin
FormPilihResto
FormMenuAwal
FormTransaksi ProgressBar
midlet
lcdui
io
3.6 Component Diagram Sistem Pemesanan Makanan
Diagram komponen adalah suatu diagram yang menampilkan komponen-
komponen dalam sistem dan hubungan antara mereka. Dependensi komponen
menunjukkan urutan komponen-komponen untuk proses compiling. Diagram
komponen pada aplikasi ini dapat dilihat pada gambar berikut ini:
Gambar 3.22 Component Diagram Sistem Pemesanan Makanan
38
<Mobile Device> Handphone Kustomer
<PC Admin> Komputer Admin Rumah Makan
<SPM Web Server> HTTP WebServer
<<internet>>
<SPM Database Server> MySQL Database Server
<<gprs>>
3.7 Deployment Diagram Sistem Pemesanan Makanan
Deployment diagram menggambarkan detil bagaimana komponen di-
deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi
tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
Gambar 3.23 Deployment Diagram
Seperti yang digambarkan Gambar 3.23 diatas, sistem ini menggunakan
beberapa perangkat keras sebagai pendukung agar sistem dapat berjalan dengan
baik, yaitu sebuah komputer desktop bagi administrator rumah makan (PC
Admin) yang digunakan oleh aktor administrator untuk melakukan maintenance
sistem, sebuah web server (SPM Web server) yang digunakan untuk menyimpan
script web programing bagi pendukung kelangsungan berjalannya sistem, sebuah
MySQL database server (SPM Database Server) yang digunakan untuk
menyimpan database bagi pendukung kelangsungan berjalannya sistem, dan
seperangkat mobile devices yang digunakan oleh kustomer untuk mengakses
sistem. Semua perangkat keras tersebut saling terhubung melalui jaringan internet
dan GPRS.
39
Nama Kolom Tipe Ukuran Keterangan
id_resto varchar 10
Primary Key. No. identitas restoran. Format XXXZZ. - XXX adalah id rumah makan/ restoran. - ZZ adalah nomer urut rumah makan/ restoran.
username varchar 10
password varchar 10
Nama Kolom Tipe Ukuran Keteranganusername varchar 10 Primary Key
password varchar 10
3.8 Struktur Tabel
Tabel-tabel yang digunakan untuk menyimpan data di desain seperti
berikut ini:
1. Nama Tabel : userresto
Fungsi : Untuk menyimpan data user restoran / rumah makan
yang dapat login kedalam sistem.
Tabel 3.1 Struktur tabel userresto
2. Nama Tabel : useradmin
Fungsi : Untuk menyimpan data user administrator.
Tabel 3.2 Struktur tabel useradmin.
40
Nama Kolom Tipe Ukuran Keteranganusername varchar 10 Primary Key
password varchar 10
nama varchar 30
alamat varchar 50
no_telp varchar 12
no_ktp varchar 25
deposit integer 12
Nama Kolom Tipe Ukuran Keterangan
id_resto varchar 10
Foreign Key tabel userresto. No. identitas restoran. Format XXXZZ. - XXX adalah id rumah makan/ restoran. - ZZ adalah nomer urut rumah makan/ restoran.
id_produk varchar 10
Primary key. No. identitas produk. Format XXZZ. - XX adalah id produk. - ZZ adalah nomer produk.
nama_produk varchar 50
jenis varchar 10
harga integer 10
keterangan text Berisi deskripsi produk
3. Nama Tabel : user
Fungsi : Untuk menyimpan data customer.
Tabel 3.3 Struktur tabel user.
4. Nama Tabel : produk
Fungsi : Untuk menyimpan data produk.
Tabel 3.4 Struktur tabel produk.
41
Nama Kolom Tipe Ukuran Keterangan
id_resto varchar 10
Forign Key tabel userresto. No. identitas restoran. Format XXXZZ. - XXX adalah id rumah makan/ restoran. - ZZ adalah nomer urut rumah makan/ restoran.
nama varchar 50
alamat varchar 50
no_telp varchar 15
no_fax varchar 15
info_halal text
info_layanan text
syarat1 text
syarat2 text
syarat3 text
syarat4 text
wilayah varchar 20
5. Nama Tabel : info_resto
Fungsi : Untuk menyimpan data informasi restoran.
Tabel 3.5 Struktur tabel info_resto.
6. Nama Tabel : detil_transaksi
Fungsi : Untuk menyimpan data detil transaksi.
42
Nama Kolom Tipe Ukuran Keteranganno_nota varchar 10 Primary Key.
id_resto varchar 10
Foreign Key tabel userresto. No. identitas restoran. Format XXXZZ. - XXX adalah id rumah makan/ restoran. - ZZ adalah nomer urut rumah makan/ restoran.
tanggal_pesan varchar 10
jam_pesan varchar 6
tanggal_kirim varchar 10
jam_kirim varchar 6
username varchar 10
alamat varchar 50
no_telp varchar 12
total_pembelian integer 10
status varchar 20
deposit_sblum integer 10
deposit_stlah integer 10
Nama Kolom Tipe Ukuran Keteranganno_nota varchar 10 Foreign Key tabel transaksi
id_produk varchar 10
Foreign Key tabel produk. No. identitas produk. Format XXZZ. - XX adalah id produk. - ZZ adalah nomer urut produk.
jumlah varchar 5
harga varchar 10
Tabel 3.6 Struktur tabel detil_transaksi.
7. Nama Tabel : transaksi
Fungsi : Untuk menyimpan data transaksi.
Tabel 3.7 Struktur tabel transaksi.
43
3.9 Rancangan User Interface
Pembuatan tampilan sangat diperlukan agar pengguna dapat berinteraksi
dengan sistem, sehingga dibutuhkan perancangan secara detil mengenai tampilan
aplikasi berdasarkan informasi yang ditampilkan pada layar handphone.
Perancangan tampilan Sistem Pemesanan Makanan adalah sebagai berikut.
3.9.1 Tampilan Menu Utama
Menu Utama tampil ketika aplikasi pertama kali dijalankan. Terdiri dari
Login, Menu, Informasi dan Informasi Order. Tombol “Keluar“ digunakan untuk
keluar dari aplikasi. Perancangan tampilan untuk offline Menu ini dapat dilihat
pada Gambar 3.24 Berikut keterangan singkat mengenai menu-menu tersebut:
- Login, merupakan salah satu fungsi keamanan yang digunakan oleh user
apabila user akan melakukan pemesanan makanan dan melihat informasi
order, dengan cara memasukan kombinasi username dan password yang
tepat.
- Menu, berfungsi untuk menampilkan rumah makan/restoran dan jenis-
jenis makanan/minuman yang ditawarkan, serta user dapat melihat detail
makanan/minuman tersebut melalui menu ini.
- Cari, berfungsi untuk mencari menu makanan atau minuman yang
diinginkan user.
- Informasi, berfungsi unutuk menampilkan informasi-informasi mengenai
rumah makan/restoran yang terdapat pada aplikasi ini.
- Informasi order, berfungsi untuk menampilkan informasi mengenai order-
order yang pernah dilakukan oleh user yang bersangkutan, informasi yang
44
ditampilkan adalah tanggal order, jam order dan detail order yang
menjelaskan lebih detail tenteng order yang pernah dilakukan.
Gambar 3.24 Rancangan Tampilan Menu Utama.
3.9.2 Tampilan Menu User Login
Menu User Login (Gambar 3.25) akan muncul bila user memilih Login
pada Menu Utama. Pada Login menu user harus memasukan username dan
password dengan benar pada textfield yang tersedia agar dapat terhubung dengan
server. Tombol “Login” berguna untuk mengirimkankan username dan password
yang telah diinputkan ke server. Tombol “Kembali” untuk kembali ke Menu
Utama. Login berfungsi untuk menghubungkan user dengan server agar user dapat
melakukan pemesanan makanan dan melihat catatan order.
Gambar 3.25 Rancangan Tampilan Login.
Menu Utama
Login Menu Cari Informasi Catatan Order
Pilih Keluar
User Login
Logo
Username
Password
Login Kembali
45
3.9.3 Tampilan Menu Jenis Produk
Menu Jenis Produk terdiri dari 2 form, yaitu form Pilih Restoran
(Gambar 3.26) digunakan untuk memilih wilayah restoran tersebut berada dan
nama restoran yang akan dipilih. Form Pilih Jenis Produk (Gambar 3.27)
digunakan untuk memilih produk makanan atau minuman yang dapat diorder.
Produk makanan dan minuman dikelompokan kedalam beberapa kriteria, yang
terdapat pada list Pilih Kriteria., setiap kriteria memiliki produk-produk.
Gambar 3.26 Rancangan Tampilan Menu Jenis Produk (Form Pilih Restoran)
.
Gambar 3.27 Rancangan Tampilan Menu Jenis Produk (Form Produk)
Pilih Kriteria : Pilih Menu : Beef Burger Chicken Burger Original Chicken Fish Fillet French Fries
Jenis Produk
Menu Kembali
Fast Food
1.Lihat Detail 2.Order
Pilih Wilayah: Pilih Restoran:
Pilih Restoran
Pilih Menu Kembali
Surabaya Utara
Lezatos
46
3.9.4 Tampilan Detil Produk
Menu Detail Produk (Gambar 3.28) digunakan untuk melihat lebih
detail dari produk makanan atau minuman yang ditawarkan dan dapat dipilih serta
dapat diorder. Menu Detail Produk ini terdiri atas gambar produk, nama produk,
harga produk dan keterangan mengenai produk.
Gambar 3.28 Rancangan Tampilan Detil Produk.
3.9.5 Tampilan Menu Pemesanan
Menu Pemesanan (Gambar 3.29) digunakan untuk melengkapi data
pemesanan, seperti: jumlah makanan atau minuman yang akan dipesan, tanggal
pengiriman pesanan, waktu pengiriman pesanan, alamat tujuan pesanan, dan
no.telp tujuan pesanan. Sebelum user dapat masuk ke Menu Pemesanan, user
diharuskan untuk login terlebih dahulu. Pemesanan akan diteruskan ke Menu
Konfirmasi Order apabila deposit yang dimiliki oleh user yang bersangkutan
masih mencukupi untuk transaksi pada saat itu.
Detail Produk
Nama produk Harga produk Keterangan produk =================== Nama produk Harga produk Keterangan produk ===================
Gambar produk
Kembali
Gambar produk
47
Gambar 3.29 Rancangan Tampilan Menu Pemesanan
3.9.6 Tampilan Menu Informasi Resto
Pada Menu Informasi terdapat 2 form, yaitu Form Pilih Restoran
(Gambar 3.30) yang digunakan untuk memilih nama restoran yang ingin diketahui
informasinya, dan Form Informasi (Gambar 3.31) digunakan untuk menampilkan
informasi singkat mengenai restoran yang bersangkutan, seperti alamat lokasi,
no.telp, no.fax, info halal dan info layanan antar.
Form Pemesanan
Silakan lengkapi data pemesanan anda: Nama produk @ Harga produk: Tanggal Kirim: <date> Waktu Kirim: <time> Alamat: No. Telpon:
Icon
Kembali
Jumlah item yg dipesan
Alamat pengiriman
No.Telpon pemesan
Order
48
Gambar 3.30 Rancangan Tampilan Menu Informasi Restoran (Form Pilih
Restoran)
.
Gambar 3.31 Rancangan Tampilan Menu Informasi Restoran (Form Informasi)
3.9.7 Tampilan Informasi Order
Pada Menu Informasi Order berisi tentang informasi singkat mengenai
informasi order-order yang pernah dilakukan oleh kustomer yang bersangkutan.
Dimulai dengan tampilanya form Informasi Order (Gambar 3.32) yang berfungsi
Pilih Wilayah: Pilih Restoran:
Pilih Restoran
Pilih Menu Kembali
Surabaya Utara
Lezatos
Menu Informasi
Profil: ……… Lokasi: ………… No.Telp: ……………
Produk: ………..
Kembali
49
sebagai menu pilihan untuk melihat detail order yang nantinya akan ditampilkan
pada form Detail Order (Gambar 3.33)
Gambar 3.32 Rancangan Tampilan Informasi Order
Gambar 3.33 Rancangan Tampilan Informasi Detail Order
Tanggal Order : 05/05/2009 Jam Order : 12:16 Tanggal Order : 10/05/2009 Jam Order : 17:03 Tanggal Order : 12/05/2009 Jam Order : 18:53
Informasi Order
Lihat Order Kembali
Detail Order Restoran : Lezatos Tanggal Order : 05/05/2009 Waktu Order : 12:16 Tanggal Kirim: 10/05/2009 Order Kirim: 17:03 Produk yang dipesan: =>Beef Burger jumlah 3 Harga total : Rp 60.000,- Status : Processing ======================
Informasi Detail Order
Lihat Order Kembali