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
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 makanpujasera. 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
ShowDetailFood from Use Cases
OrderFood from Use Cases
ShowInfoResto from Use Cases
ShowOrderHis tory from Use Cases
Registras iCus tom er from Use Cases
ShowFoodMenus from Use Cases
extend extend
LoginCustom er from Use Cases
include
MaintenanceCustomer from Use Cases
MaintenanceUserResto from Use Cases
Adm inistrator
f rom Ac tors
MaintenanceProduk from Use Cases
MaintenanceInfoRes to from Use Cases
Registras iRes to from Use Cases
MaintenanceOrder from Use Cases
AdminResto
f rom Ac tors
Custom er
f rom Ac tors
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 makanpujaseranya 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
Berikut ini penjelasan mengenai usecase yang digunakan oleh aktor Customer. Usecase ShowInfoResto
digunakan untuk mengakses informasi mengenai
rumah makanrestoran
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 rinciandetail
dari suatu
makananminuman yang ditawarkan. OrderFood digunakan untuk melakukan order makananminuman melalui sistem pemesanan makanan. Registrasi User
digunakan untuk pendaftaran kustomer baru agar dapat melakukan pemesanan makananminuman 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
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.
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.
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 keterangandetail produk yang telah
dipilih.
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
Mulai
Cek Login Cus tom er
Pilih Menu
Input Wilayah Res toran
Tampil form piih menu
Input Res toran Tampil Form
Jenis Produk Input Kriteria
Produk Input Produk
Pilih Menu Order
Tampilkan Form Login
[belum ] Input username
dan pas s word Cek validas i
data Tampil Form
Pemes anan Is i Data
Pemes anan Pilih Menu
Kirim Order Cek validas i data
pemes anan [tidak valid]
[valid] [tidak valid]
[s udah]
[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
Pilih m enu Catatan Order
Input username dan password
Input tanggal dan jam order
Pilih m enu 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
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,
Mulai Pilih m enu
Login
Input us ername dan pas s word
Menerima order Hapus data
order Meres pons
order Cek validas i data
login
Maintenance data order
Seles ai Tampilkan
Form Login
Kirim order Sim pan 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
Mulai Pilih menu
Login
Input us ername dan pas s word
Edit data res to Tambah data
res to Cek validas i data
login Tampilkan
Form Login
Maintenance data res to
[ Edit data ] [ Tambah data ]
Sim pan data res to
Seles ai [ 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
Input us ername dan pas s word
Mulai Login
Edit data us er Tambah data
us er Tampilkan
Form Login
Cek validas i data login
Maintenance data us er
Sim pan data us er
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
Mulai Pilih m enu
Login
Input us ernam e dan pas s word
Menerim a order Hapus data
order Meres pons
order Cek validas i data
login
Maintenance data order
Seles ai Tam pilkan
Form Login
Kirim order Sim pan 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
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
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.
-frmOrder DriveThru
strUs er : String = strPwd : String =
strDepos it : int = 0 strAlamat : String =
strNoTelp : String = DriveThru
startApp paus eApp
des troyApp commandAction
buatIcon pros esLogout
cekLogin openLoginForm
openInfoOrderForm alertTes ting
openInfoRestoForm openFormPilihRes to
MyHttpConnection s es s ionID : java.lang.String
s erverURL : java.lang.String MyHttpConnection
s endGETReques t s endPOSTReques t
getRes pons e MyStringTokenizer
string : String = null tokens [] : String = null
delimiter : char = allTokens : int = 0
MyStringTokenizer countAllTokens
tokenizeString getNumberOfTokens
getTokens
AmbilData jmlData : int
jmlKolom : int mes s ageServer : java.lang.String
records [] : java.lang.String res ult[][] : java.lang.String
AmbilData getDataFromServer
-conn -ms t
Form Informas iOrder data[][] : String
s tatus : String s trDis playAllDetail : String
s trTanggal : String s trJam : String
s trProduk[] : String s trGarisDetail : String
s trDis playTanggal : String s trDis playJam : String
s trDis playTotalHarga[] : String s trDis playTanggalKirim[] : String
s trDis playJamKirim[] : String s trDis playResto[] : String
FormInformasiOrder makeIcon
run getInfo
getDetailOrder commandAction
alertInfo -ambl
-frmInfoOrder
Form Login loginSuks es [][] : String
s tatus Login : String dataLogin : String
dataPwd : String dataDepos it : String
dataAlamat : String dataNoTelp : String
FormLogin createImage
run cekProses Login
viewMenu noConnection
proses Login alertLogin
commandAction alertTesting
-ambl -frm Login
FormMenuAwal data[][] : String
s tatus : String menuPilih[][] : String
idPilih[][] : String dataDetail[][] : String
s trDetailAll : String s trDetailGaris : String
s trDetailNama : String s trDetailKeterangan : String
s trDetailHarga : String intJumlahJualAll : int
intHargaTotalAll : int awalTahun : int
row : int col : int
s ttDetail : boolean s ttArray : String
s ttLoginCekProduk : String
FormMenuAwal run
itemStateChanged getDetailKriteria
getDetailProduk getKriteria
alertTes ting openLoginForm
openOrderForm commandAction
-ambl
-frmLogin FormTrans aks i
s trAwalOrder : String colKriteria : int
menuOrder[][] : String dataHarga[][] : String
ins ertDetailOrder[][] : String idOrder[][] : String
data[][] : String totalItemArray[][] : String
ins ertOrder[][] : String updateDeposit[][] : String
row : int col : int
s tatus : String noNota : String
s trPes anan : String s trNamaProduk : String
s trHargaProduk : String jam Order : int
menitOrder : int jam Now : int
menitNow : int waktuOrder : String
waktuNow : String waktuPes an : String
bln : String tgl : String
tglPes an : String tglOrder : String
kalender : java.util.Calendar tem pTglOrder : int
bulanOrder : int tahunOrder : int
tglNow : int bulanNow : int
tahunNow : int tem p : int
totalHarga : int depos itUser : int
hargaItem : int jum lahItem : int
FormTrans aks i s etAwal
buatIcon run
ins ertOrder cekDepos it
formKonfirm as i getNota
alertTes ting getWaktuAndTanggalNow
getWaktuAndTanggalOrder commandAction
-am bl -frmLogin
-frmOrder FormInfoRes to
s tatus : String s trInfoAll : String
s trNama : String s trAlamat : String
s trTelp : String s trFax : String
s trHalal : String s trLayanan : String
s trSyarat1 : String s trSyarat2 : String
s trSyarat3 : String s trSyarat4 : String
dataWilayah[][] : String dataRes to[][] : String
s trGaris : String s trWilayah : String
FormInfoResto run
getInfoRes to commandAction
itemStateChanged getDetailResto
getWilayah alertTes ting
-ambl -frmInfoResto
Progress Bar idx : int
mInterval : int mWidth : int
mHeight : int urls tring : java.lang.String
menu : java.lang.String ncol : int
col : int maju : boolean
deltaX : int tas k : java.util.TimerTask
stop Progres s Bar
paint commandAction
-pgr
-pgr -pgr
-pgr
-pgr Form PilihRes to
dataWilayah[][] : String dataResto[][] : String
s tatus : String s trKodeResto : String
s trNamaRes to : String FormPilihRes to
getWilayah itemStateChanged
getDetailRes to run
openFormMenuAwal commandAction
-ambl
-frmKriteria -frmMenuAwal
-pgr
Gambar 3.16 Class Diagram pada Sistem Pemesanan Makanan.
3.5 Sequence Diagram Sistem Pemesanan Makanan