Arsitektur Aplikasi Class Diagram Sistem Pemesanan Makanan

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