Perancangan Sistem ANALISIS DAN PERANCANGAN SISTEM

commit to user 19

BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisa Kebutuhan Sistem

3.1.1 Analisis Kebutuhan Software

1. Softwa re yang digunakan untuk membuat aplikasi m-commerce ini sebagai berikut : a. XAMPP versi 1.7.3 MySQL versi 3.2.4, PHP versi 5.3.1 b. Opera Mobile Emulator c. Notepad++ d. Sistem Operasi Windows 7 e. Browser Google Chrome, Mozilla f. Opera Mobile Emulator 2. Softwa re yang digunakan untuk menjalankan aplikasi m-commerce ini pada klien yaitu mobile browser .

3.2 Perancangan Sistem

Pengembangan aplikasi berorientasi objek memerlukan beberapa tahapan analisa yang harus dilalui, pada tahap ini dilakukan pemodelan menggunakan UML. Untuk menggunakan UML ada beberapa hal yang dilakukan yaitu membuat Activity Dia gra m, Use Ca se Dia gra m, Cla ss Diag ram dan Sequence Dia gra m. 3.2.1 SRS Kebutuhan fungsional merupakan kebutuhan – kebutuhan yang berhubungan dengan proses bisnis dari sistem yang dibuat. Dari analisa yang dilakukan, berikut tabel kebutuhan Fungsional untuk tiap aktor : Tabel 3.1. SRS Fungsional Customer Kode Deskripsi Kebutuhan Fungsional SRS-MFP01 Customer mendaftar account SRS-MFP02 Customer dapat loginlogout commit to user 20 SRS-MFP03 Customer melihat katalog produk SRS-MFP04 Customer mengelola keranjang belanja SRS-MFP05 Customer mengelola data account SRS-MFP06 Customer melihat pesanan SRS-MFP07 Customer memberi testimonial Tabel 3.2. SRS Fungsional Administrator Kode Dekripsi Kebutuhan Fungsional SRS-MFA01 Admin LoginLogout SRS-MFA02 Admin mengelola data produk SRS-MFA03 Admin mengelola data pesanan SRS-MFA04 Admin mengelola biaya pengiriman SRS-MFA05 Admin mengelola pesanan SRS-MFA06 Admin mengelola data memberuser SRS-MFA07 Admin mengelola berita SRS-MFA08 Admin mengelola pengiriman Tabel 3.3. SRS Fungsional Manajer Kode Deskripsi Kebutuhan Fungsional SRS-MFM01 Manajer LoginLogout SRS-MFM02 Manajer mengelola account SRS-MFM03 Manajer melihat laporan produk best seller SRS-MFM04 Manajer melihat laporan transaksi per bulan SRS-MFM06 Manajer melihat laporan pesanan berdasarkan status per bulan SRS-MFM07 Manajer melihat laporan penjualan per kategori Kebutuhan non fungsional berhubungan dengan interaksi antar user dengan aplikasi yang dibuat. Dari hasil analisa yang dilakukan, berikut daftar kebutuhan non-fungsional dalam sistem yang dibuat. commit to user 21 Tabel 3.4. SRS Non Fungsional Kode Deskripsi Kebutuhan Non-fungsional SRS-MNF01 Tampilan user-friendly jelas, informatif dan menarik SRS-MNF02 Ukuran gambar produk menyesuaikan ukuran layar perangkat SRS-MNF03 ReportLaporan dalam grafik 3.2.2 Acitivity Diagram Activity Diagram digunakan untuk menjabarkan kegiatan dalam sistem, yang kemudian menjadi acuan kebutuhan sistem Use Case dan alur sistem Sequence Diagram. Berikut daftar Activity Diagram dalam sistem ini :

3.2.2.1 Activity Diagram Login

Gambar 3.1. Activity Diagram Login Penjelasan : Berikut alur login dari user. Sistem akan menampilkan Login Form kemudian User mengisi. Sistem mengirim data tersebut untuk dicocokkan pada database. Jika data cocok, diarahkan ke halaman account. Jika tidak, dikembalikan ke Login Form. Fill Form View Login Form Show Account Page Validasi invalid valid commit to user 22

3.2.2.2 Activity Diagram Register

Gambar 3.2. Activity Diagram Register Penjelasan : User mengisi form registrasi yang ditampilkan. Form divalidasi, jika benar ditampilkan pesan sukses, jika salah ditampilkan pesan error.

3.2.2.3 Activity Diagram Insert Data

Gambar 3.3. Activity Diagram Insert Penjelasan : User mengisi form penambahan data yang ditampilkan. Form divalidasi, jika benar ditampilkan pesan sukses, jika salah ditampilkan pesan error. Choos e Register Menu Fill Form View Register Form View Suc cess Registration Info Show Error Validation Validasi invalid valid View List View Insert Form Input Dat a on Form Validasi View Succ ess Insert Admin commit to user 23

3.2.2.4 Activity Diagram Update Data

Gambar 3.4. Activity Diagram Update Data Penjelasan : User mengisi form pembaruan data yang ditampilkan. Form divalidasi, jika benar ditampilkan pesan sukses, jika salah ditampilkan pesan error.

3.2.2.5 Activity Diagram Delete Data

Gambar 3.5. Activity Diagram Delete Data Penjelasan : User mengisi form penghapusan data yang ditampilkan. Form divalidasi, jika benar ditampilkan pesan sukses, jika salah ditampilkan pesan error. V i e w L is t V ie w U p d a t e F o r m In p u t D a t a o n F o r m V a l id a s i V i e w S u c c e s s U p d a t e V ie w D e t a il In fo r m a ti o n Admin View List View Confirmation Delete View Success Update Choose To Delete Data deleted no yes Admin commit to user 24

3.2.2.6 Activity Diagram Order Pembelian

Gambar 3.6. Activity Diagram Order Pembelian Penjelasan : User melihat produk dan menambahkan ke keranjang jika berminat. Jika selesai menambahkan ke keranjang, user checkout lalu muncul total bayar. User membayar pesanan di luar sistem dan konfirmasi di luar sistem. Admin kemudian mengganti status pesanan hingga pengiriman. Jika user sudah menerima pesanan, user mengganti status pesanan menjadi Diterima. Manajer mendapat laporan. Browse Product Buy Product Input Information Get Total Payment Show Order Receive Order Login Already Login Get Order Data Check Us er Payment Manually Cancel Order Paid? No Process Order Send Order Get Report No Yes M an a g e r A d m i n U s e r commit to user 25 3.2.3 Use Case Diagram

3.2.3.1 Definisi Aktor

Dalam sistem terdapat 3 aktor yaitu admin, customer, manajer dengan satu aktor generalisasi ketiganya yaitu user. Berikut deskripsinya: Tabel 3.5. Definisi Aktor No Aktor Deskripsi 1 User Melakukan kegiatan umum yang dilakukan oleh ketiga aktor lainnya, seperti melihat katalog produk, mendaftar sebagai pembeli, loginlogout dan sebagainya. 2 Admin Melakukan kegiatan pengaturan sistem dan transaksi penjualan. Contoh kegiatan transaksi CRUD untuk produk, pengaturan order, customer dan testimonial. 3 Customer Melakukan kegiatan pembelian produk, login setelah mendaftar dan pengaturan account dan order history. 4 Manajer Melihat laporan penjualan untuk waktu tertentu. 3.2.3.2 Diagram Use Case Berikut diagram use case untuk aktor User : Gambar 3.7. Use Ca se Diagra m User Update Ac count Manager Admin Login Manage Account include View W eb Information Register View Product Catalog Member Logout Search Product extend User Logout extend commit to user 26 Berikut diagram Use Case untuk aktor Customer : Gambar 3.8. Use Ca se Diagra m Customer Berikut diagram Use Case untuk aktor Manajer : Gambar 3.9. Use Ca se Diagra m Mana jer Update Shopping C Add to Shopping Cart Cancel Order View Shopping Cart Checkout extend Choose Address Choose Shipping Courier View Order History extend Give Testimonial Buy Product extend include Login include Member include include include View Trans action Report View Testimonial Report Manager Login View Mont hly Report View Daily Report ex tend commit to user 27 Berikut diagram Use Case untuk aktor Admin : Gambar 3.10. Use Case Dia gram Admin Update News Information Update Payment Information Update Contact Information Update Produc t Update Courier Update Destinat ion Area Update Shipping Price Cancel Order Delete Product Change Order Stat us View Account User View Product ex tend extend Add Produc t Update Information extend extend extend Add Courier Add Dest ination Area View Courier View Order ex tend View Dest ination Area VIew Shipping Price include include Admin extend Delete Courier Delet e Dest ination Area ex tend ex tend Delete Shipping Price ex tend ex tend ex tend ex tend commit to user 28 3.2.4 Class Diagram Analysis 3.2.4.1 Class Diagram Customer Gambar 3.11. Class Diagram Analysis Customer 3.2.4.2 Class Diagram Admin Gambar 3.12. Class Diagram Analysis Admin M a inW r a ppe r Account TM e m be r Login Pr oduct TPr oduct Or de r TOr de r TOr de r De t a il Te st im onia l TTe st im onia l TShipping Main Admin Member Product Control ShippingControl I nforma tion Orde rControl Te stimonialCont rol TAdmin TMember TTestimonial TOrder TShipping TOrde rDetail TProduct TInformation TDestination TCourier commit to user 29 3.2.5 Class Diagram Design 3.2.5.1 Class Diagram Customer Gambar 3.13. Class Diagram Design Customer Berikut ini adalah tabel yang berisi deskripsi dari cla ss-cla ss yang ada pada aplikasi m-commer ce batik solo yang mana telah digambarkan pada class diagram di atas. M ainWrapp er boundary -uiRegister -uiLogin -uiManajemenA ccount -uiTest imonial -uiProduk -uiCart -uiCheckout -uiOrder Account c ontrol -ViewAccount id_member : Integer -Updat eAccountid_member: I nteger -c ek_login email: String, password: St ring: Boolean -logout TM em ber ent it y -idMember : Int eger -TanggalLahir : Dat e -J enisKelamin: String -TanggalDaf tar: Date -Email: St ring -Pas sword: Str ing -get Member id_member : Integer -s etMember id_member: I nteger, tgl_lhr : Date, jk: St ring, tgl_dftr : Dat e, email: String, pass : St ring -get AllMember Test im onial cont rol -A ddTestimonialid_member: Int eger -ViewTest imonialid_member: Integer TTest imonial ent ity -id_tes timonial: Integer -t gl_testimonial: date -id_member: Int eger -isi_t est imonial: Str ing -s tat us: String -s etTest imonial id_t est i: Integer, id_member : I nt eger, t gl_testi: Date, isi_t est i: Str ing -get Testimonial id_member: Int eger Order cont rol -A ddtoCar tid_pr oduk: Int eger , jml: Integer -Updat eCart id_produk: Integer -Check out -ongkir ber at: Integer , tar if : I nt eger : Integer -addOrder -c ancelOrder id_order : String -ViewOr derHistory id_member: Int eger TOrder ent ity -idOrder: St ring -TanggalPesan: Date -Status: Integer -id_member: Int eger -Ongkir : Integer -Kur ir : Str ing -alamat: Str ing -get MemberOrder id_member: I nt eger -s etOrder id_member: Int eger, id_order : Integer , tgl_pesan: Date, stat us: Integer, ongkir: I nteger, alamat : St ring, kur ir: Str ing -get Or der idOrder: Str ing -s etOrder St atusidOrder : String, st atus: Integer -get AllOrder TOrderDet ail ent ity -I dOrder: Integer -idProduk: Integer -J umlah: Integer -Har ga: I nteger -Ber at: Integer -s etOrder Det ailidProduk: Integer , idOrder : Integer , jml: I nteger , hr ga: Integer, br t: I nteger -get Or derDet ail idOrder: I nt eger Product cont rol -ViewAllCategor i -ViewProductByI Did_pr oduk: I nteger -ViewProductByCategory id_kat egor i: Int eger TPro duct ent ity -idProduk: Integer -NamaProduk: String -Har ga: I nteger -Stok: Integer -Ber at: Integer -GambarProduk: St ring -I d_Kategori: I nteger -get Categor y -get Pr odukBy IDid_pr oduk: I nt eger -get AllProdukBy Categor y id_kategori: I nt eger -get AllProduk -get Gambar perProduk idProduk : I nt eger -s etGambarProduk idProduk: I nteger , gbr : String, id_gbr : Int eger TShipping ent it y -idShipping: Integer -idKota: I nteger -idKurir: I nteger -Tar if _kg: Int eger -get TarifidKot a: Int eger , idKurir : Integer -get AllShipping -get Shipping idShipping: Int eger -s etShippingidShipping: Integer, idKota: Int eger , idKurir: Integer, Tarif : Integer commit to user 30 1. Class B oun dary MainWrapper Merupakan kelas yang menangani interfa ce tampilan untuk Customer. Tabel 3.6. Tabel Deskripsi Cla ss Bounda ry Ma inWrapper Atribut Nama Atribut Visibility Type - - - Method Nama Method Fungsi uiRegister Digunakan untuk memanggil interface form registrasi. uiLogin Digunakan untuk memanggil interface form Login Customer. uiManajemenAccount Digunakan untuk memanggil interface manajemen account customer yang login. uiTestimonial Digunakan untuk memanggil interface testimonial uiProduk Digunakan untuk memanggil interface produk uiCart Digunakan untuk memanggil interface keranjang uiCheckout Digunakan untuk memanggil interface checkout dari keranjang uiOrder Digunakan untuk memanggil interface daftar pesanan sebelumnya. 2. Class Control Accou nt Merupakan kelas control yang digunakan untuk mengontrol proses pengelolaan account member pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TMember. commit to user 31 Tabel 3.7. Tabel Deskripsi Cla ss Control Account Atribut Nama Atribut Visibility Type - - - Method Nama Method Fungsi register Digunakan untuk menambahkan data anggota baru pada database ViewAccountid_member Digunakan untuk mengambil informasi account berdasarkan id user yang login UpdateAccountid_member Digunakan untuk memperbarui data user pada database berdasarkan id user yang login Cek_login email, password Digunakan untuk mengecek username dan password pada database untuk mengakses halaman account Logout Menghapus session yang digunakan untuk login 3. Class E ntity TMember Merupakan kelas entity yang berisi data dari tabel member Tabel 3.8. Tabel Deskripsi Cla ss Entity TMember Atribut Nama Atribut Visibilty Type Id_member Private Integer TanggalLahir Private Date JenisKelamin Private String TanggalDaftar Private Date Email Private String Password Private String commit to user 32 Method Nama Method Fungsi setMemberid_member, tgl_lhr, jk, tgl_dftr, email, pass Digunakan untuk menyimpan data member dalam database getMemberid_member Digunakan untuk mengambil data member berdasarkan id member 4. Class Control Testimonial Merupakan kelas control yang digunakan untuk mengelola testimonial pada member pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TTestimonial. Tabel 3.9. Tabel Deskripsi Cla ss Control Testimonia l Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi AddTestimonialid_member Digunakan untuk menambahkan testimonial berdasarkan id user yang login ViewTestimonialid_member Digunakan untuk menampilkan testimonial berdasarkan id user yang login 5. Class En tity TTestimonial Merupakan kelas entity yang berisi data dari tabel testimonial Tabel 3.10. Tabel Deskripsi Cla ss Entity TTestimonial Atribut Nama Atribut Visibilty Type Id_Testimonial Private Integer commit to user 33 Tgl_Testimonial Private Date Id_Member Private Integer Isi_Testimonial Private String status Private String Method Nama Method Fungsi setTestimonialid_testi, tgl_testi, id_member, isi Digunakan untuk menyimpan data testimonial dalam database getTestimonialid_member Digunakan untuk mengambil data testimonial berdasarkan id member 6. Class Control P roduct Merupakan kelas control yang digunakan untuk menampilkan daftar produk pada sisi user, yang menghubungkan kelas boundar y MainWrapper dengan kelas entity TProduct. Tabel 3.11. Tabel Deskripsi Cla ss Control Product Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi ViewAllCategory Digunakan untuk menampilkan keseluruhan data kategori ViewProductByIDid_produk Digunakan untuk menampilkan informasi spesifik produk ViewProductByCategory id_kategori Digunakan untuk menampilkan produk per kategori 7. Class En tity TProdu ct Merupakan kelas entity yang berisi data dari tabel produk commit to user 34 Tabel 3.12. Tabel Deskripsi Cla ss Entity TProduct Atribut Nama Atribut Visibilty Type Id_Produk Private Integer NamaProduk Private String Harga Private Integer Stok Private Integer Berat Private Integer GambarProduk Private String Id_Kategori Private Integer Method Nama Method Fungsi getCategory Digunakan untuk mengambil semua data kategori dari database getProdukByIDid_produk Digunakan untuk mengambil informasi produk berdasarkan id produk getAllProdukByCategory id_kategori Digunakan untuk mengambil data produk per kategori 8. Class Control Order Merupakan kelas control yang digunakan untuk mengontrol proses pemesanan produk pada sisi user, yang menghubungkan kelas boundary MainWrapper dengan kelas entity TOrder, TOrderDetail dan TShipping. Tabel 3.13. Tabel Deskripsi Cla ss Control Order Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi AddtoCartid_produk, jml Digunakan untuk menambahkan produk ke keranjang UpdateCartid_produk Digunakan untuk memperbarui commit to user 35 keranjang Checkout Digunakan untuk menampilkan halaman checkout. Terdapat pengecekan apakah user telah login atau belum ongkirberat, tarif: Integer Untuk menghitung total ongkos kirim dan mengembalikan nilai bertipe integer addOrder Digunakan untuk menambahkan pesanan dari form yang diisi user cancelOrderid_order Digunakan untuk membatalkan pesanan berdasarkan id pesanan ViewOrderHistoryid_member Digunakan untuk mengambil history pemesanan berdasarkan id user yang login 9. Class En tity TOrder Merupakan kelas entity yang berisi data dari tabel order Tabel 3.14. Tabel Deskripsi Cla ss Entity TOrder Atribut Nama Atribut Visibilty Type Id_Order Private String TanggalPesan Private Date Status Private Integer Id_Member Private Integer Ongkir Private Integer Kurir Private String Alamat Private String Method Nama Method Fungsi setOrderid_order, tgl_psn, stat, id_member ,ongkir, Digunakan untuk menyimpan data pesanan dalam database commit to user 36 kurir, alamat getOrderid_member Digunakan untuk mengambil data pesanan berdasarkan id member 10. Class En tity TOrderDetail Merupakan kelas entity yang berisi data dari tabel detail_pesanan. Tabel 3.15. Tabel Deskripsi Cla ss Entity TOrderDeta il Atribut Nama Atribut Visibilty Type IdOrder Private Integer IdProduk Private Integer Jumlah Private Integer Harga Private Integer Berat Private Integer Method Nama Method Fungsi setOrderDetailidProduk, idOrder, jml, hrga, brt Digunakan untuk menambahkan data pesanan detail dengan idOrder tergantung pada Entity TOrder getOrderDetailidOrder Digunakan untuk mengambil data pesanan detail berdasarkan idOrder 11. Class En tity TShipping Merupakan kelas entity yang berisi data dari tabel tarif pengiriman Tabel 3.16. Tabel Deskripsi Cla ss Entity TShipping Atribut Nama Atribut Visibilty Type IdShipping Private Integer IdKota Private Integer IdKurir Private Integer Tarif_k Private Integer Method Nama Method Fungsi commit to user 37 getTarifidKota,idKurir Digunakan untuk mengambil data shipping berdasarkan id kota dan id kurir 3.2.5.2 Class Diagram Admin Gambar 3.14. Class Diagram Design Admin Main boundary -uiManajemenPr oduct -uiManajemenShipping -uiManajemenMember -uiManajemenInfor mation -uiLogin -uiManajemenAdmin -uiManajemenTest imonial -uiManajemenOr der -uiManajemenDestination Admin cont rol -cek_loginuser name: St ring, pas sword: String, level: String : Boolean -logout -updateAdminid_user: Integer Member cont rol -ViewAllMember -ViewMemberByI Did_member: Int eger ProductContr ol cont rol -ViewAllProduct -ViewPr oduct ByI DidProduk: Int eger -UpdateProduct idProduk : Integer -AddProduct -DeletePr oduct idPr oduk: I nt eger -AddGambar ProdukidProduk : I nteger -DeleteGambar ProdukidGambar : Int eger ShippingControl cont rol -AddShipping -ViewShipping -UpdateShippingidShipping: Int eger -DeleteShippingidShipping: I nteger -AddDestinat ion -UpdateDestinationidKot a: I nteger -DeleteDestinat ionidKota: Integer -AddCour ier -UpdateCourier idKurir: Integer -DeleteCour ier idKurir: Integer I nformation control -UpdateInfor mationjenis_info: Str ing -ViewInformation jenis_inf o: St ring OrderControl cont rol -ViewAllOr der -UpdateOrderidOrder : Integer -ViewOrderBy IDidOrder: Int eger -CancelOrderidOrder: Integer -ongkir berat: I nt eger, tar if : I nteger : Integer TestimonialControl cont rol -ViewAllTest imonial -v er ifikasiidTesti: Integer -ViewTestimonialBy ID idTest i: Integer TAdmin ent ity -id_user : Int eger -user name: Str ing -password: String -level_user: String -setAdminusername: String, pass: Str ing, lev el: Str ing -get Admin TMember entity -idMember: Integer -TanggalLahir : Dat e -JenisKelamin: String -TanggalDaft ar: Date -Email: Str ing -Password: String -get Member id_member : Int eger -setMemberid_member: I nteger, tgl_lhr: Date, jk: Str ing, t gl_df tr: Dat e, email: Str ing, pass: St ring -get AllMember TProduct entity -idPr oduk: Integer -NamaProduk: String -Harga: Integer -Stok : I nt eger -Berat: Int eger -GambarPr oduk: St ring -I d_Kat egori: Integer -getCategory -getProdukBy ID id_produk: I nteger -getA llPr odukBy Categor yid_kat egori: Integer -getA llPr oduk -getGambarperProduk idPr oduk: Integer -set GambarProduk idPr oduk: Int eger, gbr: String, id_gbr: Integer TOr derDetail ent ity -I dOrder: Int eger -idPr oduk: Int eger -Jumlah: I nt eger -Harga: Integer -Ber at: Int eger -setOrderDetailidProduk: Int eger , idOr der: I nteger, jml: Integer , hrga: I nteger, br t: Integer -get Or der Det ailidOrder: I nteger TTestimonial ent ity -id_t est imonial: I nteger -t gl_tes timonial: date -id_member: Int eger -isi_testimonial: Str ing -st atus: St ring -set Testimonialid_t est i: Integer, id_member : I nteger , tgl_t est i: Dat e, isi_testi: St ring -get Tes timonial id_member : I nt eger TI nformation entity -jenis_info: St ring -isi_infor masi: St ring -gambar: String -set Inf ormation jenis: String, isi: St ring, gbr: String -getI nf ormat ionjenis: Str ing TShipping ent ity -idShipping: I nteger -idKota: Integer -idKurir : Integer -Tar if_kg: Integer -get Tarif idKota: Int eger , idKurir : Integer -get AllShipping -get ShippingidShipping: Int eger -setShipping idShipping: Integer, idKota: Integer, idKurir : Integer , Tar if: Integer TOr der entity -idOrder: String -TanggalPesan: Date -Status: I nteger -id_member: Int eger -Ongkir: I nteger -Kur ir: String -alamat : St ring -get Member Order id_member: Integer -set Order id_member: I nteger, id_order: Integer , t gl_pesan: Dat e, stat us: Integer, ongkir: I nte ger, alamat: String, kurir: String -get Order idOrder : Str ing -set OrderStatusidOrder: St ring, status: I nteger -get AllOrder TDestination ent ity -idKota: Integer -kota: Str ing -provinsi: St ring -setDestination idKota: Integer , kot a: Str ing, pr ov: St ring -get Destinat ion TCourier entity -nama_kurir: Str ing -gambar_logo: Str ing -idKurir: Integer -s etCourier idKurir: Integer, logo: St ring, nama: St ring -get Courier commit to user 38 1. Class Boundary Main Merupakan kelas yang menangani interfa ce tampilan untuk Admin. Tabel 3.17. Tabel Deskripsi Cla ss Bounda ry Ma in Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi uiManajemenProduct Digunakan untuk memanggil interface manajemen produk uiManajemenShipping Digunakan untuk memanggil interface manajemen pengiriman uiManajemenMember Digunakan untuk memanggil interface manajemen member uiManajemenInformation Digunakan untuk memanggil interface manajemen informasi web uiManajemenAdmin Digunakan untuk memanggil interface manajemen admin uiManajemenTestimonial Digunakan untuk memanggil interface manajemen testimonial dari member uiManajemenOrder Digunakan untuk memanggil interface manajemen pesanan uiManajemenDestination Digunakan untuk memanggil interface manajemen tujuan pengiriman uiLogin Digunakan untuk memanggil interface login 2. Class Control Admin Merupakan kelas control yang digunakan untuk menampilkan mengelola data admin, yang menghubungkan kelas bounda ry Main dengan kelas entity TAdmin. commit to user 39 Tabel 3.20. Tabel Deskripsi Cla ss Control Admin Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi Cek_loginusername, pass,level Untuk mengecek username, password dan level pada database apakah telah sesuai atau belum. Nilai kembalian boolean Logout Untuk menghapus session yang digunakan untuk mengakses halaman admin updateAdminid_user Memperbarui data admin dengan parameter id User 3. Class En tity TAdmin Merupakan kelas entity yang berisi data dari tabel user. Tabel 3.21. Tabel Deskripsi Cla ss Entity TAdmin Atribut Nama Atribut Visibilty Type Id_user Private Integer Username Private String Password Private String Level_User Private String Method Nama Method Fungsi setAdminusername, pass, level Digunakan untuk menyimpan data admin getAdmin Digunakan untuk memanggil data admin commit to user 40 4. Class Control Member Merupakan kelas control yang digunakan untuk menampilkan daftar member pada sisi admin, yang menghubungkan kelas boundar y Main dengan kelas entity TMember. Tabel 3.22. Tabel Deskripsi Cla ss Control Member Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi ViewAllMember Digunakan untuk menampilkan seluruh data member ViewMemberByIDid_member Digunakan untuk menampilkan informasi per member 5. Class En tity TMember Merupakan kelas entity yang berisi data dari tabel member Tabel 3.23. Tabel Deskripsi Cla ss Entity TMember Atribut Nama Atribut Visibilty Type Id_member Private Integer TanggalLahir Private Date JenisKelamin Private String TanggalDaftar Private Date Email Private String Password Private String Method Nama Method Fungsi getMemberid_member Digunakan untuk mengambil data member dengan parameter id member getAllMember Digunakan untuk mengambil seluruh data member commit to user 41 6. Class Control TestimonialControl Merupakan kelas control yang digunakan untuk menampilkan daftar produk pada sisi user, yang menghubungkan kelas boundar y Main dengan kelas entity TTestimonial. Tabel 3.24. Tabel Deskripsi Cla ss Control TestimonialControl Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi ViewAllTestimonial Digunakan untuk menampilkan seluruh data testimonial VerifikasiidTesti Digunakan untuk memverifikasi testimonial per id testimonial ViewTestimonialByIDidTesti Digunakan untuk menampilkan testimonial dengan parameter id testimonial 7. Class En tity TTestimonial Merupakan kelas entity yang berisi data dari tabel testimonial. Tabel 3.25. Tabel Deskripsi Cla ss Entity TTestimonial Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi AddTestimonial id_member Digunakan untuk menambahkan testimonial berdasarkan id user yang login ViewTestimonial id_member Digunakan untuk menampilkan testimonial berdasarkan id user yang login commit to user 42 8. Class Control Information Merupakan kelas control yang digunakan untuk mengelola data informasi web pada sisi admin, yang menghubungkan kelas boundar y Main dengan kelas entity TInformation. Tabel 3.26. Tabel Deskripsi Cla ss Control Informa tion Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi AddTestimonialid_member Digunakan untuk menambahkan testimonial berdasarkan id user yang login ViewTestimonialid_member Digunakan untuk menampilkan testimonial berdasarkan id user yang login 9. Class En tity TInformation Merupakan kelas entity yang berisi data dari tabel info_web. Tabel 3.27. Tabel Deskripsi Cla ss Entity TInforma ion Atribut Nama Atribut Visibilty Type Jenis_info Private String Isi_informasi Private String Gambar Private String Method Nama Method Fungsi setInformationjenis, isi, gbr Digunakan untuk menyimpan data informasi ke database getInformationjenis Digunakan untuk mengambil data informasi berdasarkan jenis info commit to user 43 10. Class Control P roductCon trol Merupakan kelas control yang digunakan untuk mengelola data produk pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TProduct. Tabel 3.28. Tabel Deskripsi Cla ss Control ProductControl Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi ViewAllProduct Digunakan untuk menampilkan informasi seluruh produk ViewProductByIDidProduk Digunakan untuk menampilkan informasi satu produk UpdateProductidProduk Digunakan untuk memperbarui satu data produk AddProduct Digunakan untuk menambahkan data produk baru DeleteProductidProduk Digunakan untuk menghapus satu data produk AddGambarProdukidProduk Digunakan untuk menambah gambar produk per produk DeleteGambarProdukidGambar Digunakan untuk menghapus satu gambar produk 11. Class En tity TP rodu ct Merupakan kelas entity yang berisi data dari tabel produk Tabel 3.29. Tabel Deskripsi Cla ss Entity TProduct Atribut Nama Atribut Visibilty Type Id_Produk Private Integer commit to user 44 NamaProduk Private String Harga Private Integer Stok Private Integer Berat Private Integer GambarProduk Private String Id_Kategori Private Integer Method Nama Method Fungsi getAllProduk Digunakan untuk mengambil informasi seluruh produk getProdukByIDid_produk Digunakan untuk mengambil informasi satu produk getGambarProdukidProduk Digunakan untuk mengambil data gambar per produk setGambarProdukidProduk, gbr, id_gbr Digunakan untuk menyimpan data gambar 12. Class Control OrderControl Merupakan kelas control yang digunakan untuk mengelola daftar pesanan pada sisi admin, yang menghubungkan kelas boundary Main dengan kelas entity TOrder, TOrderDetail dan TShipping. Tabel 3.30. Tabel Deskripsi Cla ss Control OrderControl Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi ViewAllOrder Digunakan untuk menampilkan data seluruh pesanan UpdateOrderidOrder Digunakan untuk memperbarui data pesanan per id order ViewOrderByIDidOrder Digunakan untuk menampilkan detail commit to user 45 pesanan per id order CancelOrderidOrder Digunakan untuk membatalkan pesanan per id order ongkirberat, tarif: Integer Untuk menghitung total ongkos kirim dan mengembalikan nilai bertipe integer 13. Class En tity TOrder Merupakan kelas entity yang berisi data dari tabel pesanan Tabel 3.31. Tabel Deskripsi Cla ss Entity TOrder Atribut Nama Atribut Visibilty Type Id_Order Private String TanggalPesan Private Date Status Private Integer Id_Member Private Integer Ongkir Private Integer Kurir Private String Alamat Private String Method Nama Method Fungsi getOrderidOrder Digunakan untuk mengambil data pesanan per id order getAllOrder Digunakan untuk mengambil seluruh data pesanan setOrderStatusidOrder, status Digunakan untuk memperbarui status pesanan berdasarkan id Order setOrderid_order, tgl_psn, stat, id_member ,ongkir, kurir, alamat Digunakan untuk menyimpan data pesanan dalam database commit to user 46 14. Class En tity TOrderDetail Merupakan kelas entity yang berisi data dari tabel detail pesanan. Tabel 3.32. Tabel Deskripsi Cla ss Entity TOrderDeta il Atribut Nama Atribut Visibilty Type IdOrder Private Integer IdProduk Private Integer Jumlah Private Integer Harga Private Integer Berat Private Integer Method Nama Method Fungsi setOrderDetailidProduk, idOrder, jml, hrga, brt Digunakan untuk memperbarui data pesanan detail berdasarkan idOrder getOrderDetailidOrder Digunakan untuk mengambil data pesanan detail berdasarkan idOrder 15. Class Control Sh ippingCon trol Merupakan kelas control yang digunakan untuk mengeloal data pengiriman tarif, area tujuan dan kurir pada sisi admin, yang menghubungkan kelas boundar y Main dengan kelas entity TShipping, TDestination dan TCourier. Tabel 3.33. Tabel Deskripsi Cla ss Control ShippingControl Atribut Nama Atribut Visibilty Type - - - Method Nama Method Fungsi AddShipping Digunakan untuk menambahkan informasi pengiriman baru. ViewShipping Digunakan untuk menampilkan daftar pengiriman commit to user 47 UpdateShippingidShipping Digunakan untuk memperbarui informasi pengiriman berdasarkan id pengiriman DeleteShippingidShipping Digunakan untuk menghapus data pengiriman berdasarkan id pengiriman AddDestination Digunakan untuk menambahkan area tujuan pengiriman UpdateDestinationidKota Digunakan untuk memperbarui area tujuan pengiriman berdasarkan id area tujuan DeleteDestinationidKota Digunakan untuk menghapus area tujuan berdasarkan id area tujuan AddCourier Digunakan untuk menambahkan kurir UpdateCourieridKurir Digunakan untuk memperbarui data kurir berdasarkan id kurir DeleteCourieridKurir Digunakan untuk menghapus data kurir berdasarkan id kurir 16. Class En tity TS hipping Merupakan kelas entity yang berisi data dari tabel tarif pengiriman Tabel 3.34. Tabel Deskripsi Cla ss Entity TShipping Atribut Nama Atribut Visibilty Type IdShipping Private Integer IdKota Private Integer IdKurir Private Integer Tarif_k Private Integer Method Nama Method Fungsi getTarifidKota,idKurir Digunakan untuk mengambil data shipping berdasarkan id kota dan id commit to user 48 kurir getAllShipping Digunakan untuk mengambil seluruh data pengiriman getShippingidShipping Digunakan untuk mengambil data pengiriman berdasarkan id pengiriman setShippingidShipping, idKota, idKurir, tarif Digunakan untuk menyimpan data pengiriman 17. Class En tity TCourier Merupakan kelas entity yang berisi data dari tabel kurir Tabel 3.35. Tabel Deskripsi Cla ss Entity TCourier Atribut Nama Atribut Visibilty Type idKurir Private Integer Gambar_Logo Private String NamaKurir Private String Method Nama Method Fungsi setCourieridKurir, logo, nama Digunakan untuk menyimpan data kurir pada database getCourier Digunakan untuk mengambil data kurir pada database 18. Class En tity TDestin ation Merupakan kelas entity yang berisi data dari tabel kota dan provinsi Tabel 3.36. Tabel Deskripsi Cla ss Entity TDestina tion Atribut Nama Atribut Visibilty Type IdKota Private Integer Kota Private String Provinsi Private String commit to user 49 Method Nama Method Fungsi setDestinationidKota, kota, prov Digunakan untuk menyimpan data area tujuan pada database getDestination Digunakan untuk mengambil data area tujuan pada database 3.2.6 Sequence Diagram 3.2.6.1 Sequence Diagram Login a Login Customer Gambar 3.15. Sequence Diagram Login Customer b Login Admin Gambar 3.16. Sequence Diagram Login Admin : Cust omer : MainWrapper boundary : TMember ent it y : Login cont rol 1 : uiLogin 2 : dat a Login 3 : cek_login 4 : get Member 5 : t ruef alse 6 : showMessage 7 : message : Cu stomer : Ma in Wrap pe r b o un dar y : TMembe r en tity : Lo gin con tro l 1 : u iLo gin 2 3 : d a ta Log in 4 : cek_ lo gin 5 : g e tMe mb er 6 : t rue fa lse 7 : sho wMe ssa ge 8 : messa ge commit to user 50 3.2.6.2 Sequence Diagram Register Gambar 3.17. Sequence Diagram Register

3.2.6.3 Sequence Diagram Update Account

Gambar 3.18. Sequence Diagram Update Account

3.2.6.4 Sequence Diagram Give Testimonial

Gambar 3.19. Sequence Diagram Give Testimonial : Cu st o m e r : M a in W r a p p e r b o u n d a r y : A cco u n t c o n t r o l : T M e m b e r e n t it y 1 : u iRe g ist e r 2 3 : d a t a R e g ist e r 4 : v a lid a siFo r m 5 : s e t M e m b e r 6 : u iR e g ist e r 7 : s h o w M e s sa g e 8 : m e ssa g e : Custo mer : Ma inW rap p er b o un da r y : Accou nt co nt ro l : TMe mbe r e n tit y 1 : u iMa na je me nAcco un t 2 : se le ctDa ta By ID 3 : g e tMemb er 4 : Da ta Me mbe r 5 6 : t amp ila n f o rm 7 : Da ta Accou n t Ba ru 8 : Up d ate Accou nt 9 : se tMemb er 1 0 : u iMa n aj emen Accou n t 1 1 : sho w Messa ge 1 2 : messag e : Cu st omer : Main Wrapper boundary : Test imonial cont rol : TTest imonial ent it y 1 : uiTest imonial 2 3 : dat a Test imonial 4 : TambahTest imonial 5 : validasi 6 : set Test imonial 7 : uiTest imonial 8 : showMessage 9 : message commit to user 51

3.2.6.5 Sequence Diagram Add To Cart

Gambar 3.20. Sequence Diagram Add To Cart

3.2.6.6 Sequence Diagram View Product

Gambar 3.21. Sequence Diagram View Product

3.2.6.7 Sequence Diagram Update Cart

Gambar 3.22. Sequence Diagram Update Cart : Cu st ome r : Ma inW rap p e r bo u nd a ry : Ord e r co nt ro l 1 : uiPr od uk 2 : ta mpilan p r od uk 3 : Ju mlah I te m 4 : se tDa ta Cart 5 : Upd a teCa rt 6 : u iCa rt 7 : d a ta Car t : Cust o mer : MainW rapper b ound ary : Produ ct cont rol : TProd uct e ntit y 1 : u iProduk 2 : Vie wAllProduct 3 : get AllProduk 4 : quer y d at a produk 5 : u iProduk 6 : Dat a Produk 7 : Prod uk Spesif ik 8 : Vie wProduct ByI D 9 : get ProdukByI D 10 : query dat a p roduk 11 : uiPro duk 12 : Dat a Produk Spesif ik : Cu st o mer : Ma in Wr ap p er bo u n da r y : Or de r co ntr o l 1 : uiCar t 2 : Sh o w Car t 3 : d at a cart 4 : Da t a Car t 5 : Dat a Ca rt Ba r u 6 : Up d a te Ca r t 7 : d at a cart 8 : Dat a Ca rt Ba r u commit to user 52

3.2.6.8 Sequence Diagram Cancel Order

Gambar 3.23. Sequence Diagram Cancel Order

3.2.6.9 Sequence Diagram Add Product

Gambar 3.24. Sequence Diagram Add Product

3.2.6.10 Sequence Diagram Add Destination

Gambar 3.26. Sequence Diagram Add Destination : Cu st omer : Main Wrapp er boundary : Or der cont rol : TOrder ent it y 1 : uiOrder 2 : ViewOrder 3 : get Orde r 4 : dat a order 5 6 : Dat a Or der 7 : Conf ir m Bat al Order 8 : cancelOrder 9 : set Orde r 10 : uiOrder 11 : showMessage 12 : message : Admin : Main b oun dary : Produ ct Co nt r ol cont rol : TProd uct ent it y 1 : u iMan aje menProdu ct 2 : t ampila n Form 3 : Dat a Pr oduk 4 : AddProdu ct 5 : set Produ ct 6 : u iMan aje menProdu ct 7 : Sh owMessa ge 8 : message : Admin : Main boundary : ShippingControl cont rol : TDest inat ion ent it y 1 : uiManajemenDest ination 2 : tampilan ui 3 : Dat a Baru 4 : AddDest inat ion 5 : set Dest inat ion 6 : uiManajemenDest ination 7 : ShowMessage 8 : message commit to user 53

3.2.6.11 Sequence Diagram CheckOut

Gambar 3.25. Sequence Diagram CheckOut

3.2.6.12 Sequence Diagram Delete Product

Gambar 3.28. Sequence Diagram Delete Product : Custome r : MainW ra pper bou nda ry : O rde r cont rol : TOrd er Det ail ent ity : TOrd er ent ity : TShip ping ent ity : TMemb er ent ity : TPr odu ct ent ity 1 : uiChe ckout 2 : Sho wCar t 3 : g etAd dre ss 4 : d ata alama t 5 : g etSh ip ping 6 : dat a sh ip ping 7 : get Pr odu kBy ID 8 : da ta pr odu k 9 10 : t ampilan ch ecko ut 11 : Da ta Ad dr ess, Kurir 12 : setData Checkou t 1 3 : getShipping 14 : da ta shipping 15 : setTot al 16 17 : t ota l 18 : Co nfir m 1 9 : addOr der 2 0 : set Orde r 21 : setOr de rDe tail 22 : uiCh eckou t 2 3 : showMe ssage 24 : messa ge : Admin : Main boundary : Product Cont ro l cont rol : TPro duct ent it y 1 : uiManajemenProduct 2 : ui Product 3 : Data yang akan dihapus 4 : ViewProduct ByI D 5 : get ProdukByID 6 : dat a ProdukByI D 7 : uiManajemenProduct 8 9 10 : Konf irmasi Hapus 11 : Delet eProduct 12 : set Product 13 : uiManajemenProduct 14 : ShowMessage 15 : message commit to user 54

3.2.6.13 Sequence Diagram Update Product

Gambar 3.27. Sequence Diagram Update Product

3.2.6.14 Sequence Diagram Update Information

Gambar 3.29. Sequence Diagram Update Information : Admin : Main b oun dary : Pro du ctCont ro l co nt rol : TProd uct e nt it y 1 : u iMa naj emenProdu ct 2 : t a mp ilan ui 3 : ID Produ k yan g akan d ib uah 4 : Vie w Product ByI D 5 : g et Pro dukByI D 6 : dat a pr odu kByI D 7 : u iMa naj emenProd uct 8 : Qu ery Da ta Produ k 9 : Dat a Pro du k 1 0 : Da ta Prod uk Ba ru 1 1 : Updat eProd uct 1 2 : set Pro duct 1 3 : uiMana jemen Pro duct 1 4 : Sh ow Messag e 15 : Messag e : Admin : Main boundary : Inf ormat ion cont rol : TI nf ormat ion ent it y 1 : uiManajemenInf ormation 2 : ViewInf ormation 3 : get I nf ormation 4 : dat a I nf ormasi 5 : uiManajemenI nf ormation 6 7 : ui I nf ormasi 8 : Dat a Baru 9 : Updat eI nf ormat ion 10 : set I nf ormat ion 11 : uiManaj emenInf ormation 12 : ShowMessage 13 commit to user 55

3.2.6.15 Sequence Diagram Change Order Status

Gambar 3.30. Sequence Diagram Change Order Status

3.2.6.16 Sequence Diagram View Order

Gambar 3.31. Sequence Diagram View Order : Admin : Main boundary : OrderControl cont rol : TOrder ent it y : TOrderDet ail ent it y 1 : uiManaj emenOrder 2 : ui Order 3 : Data Order yg akan diubah 4 : ViewOrderByI D 5 : get Order 6 : dat a Order 7 : get OrderDet ail 8 : dat a OrderDetail 9 10 : Dat a Order 11 : St atus Baru 12 : Updat eOrder 13 : set Order 14 : uiManajemenOrder 15 : ShowMessage 16 : message : A dmin : Ma in bou nd ar y : Or de rCon tr ol con tr ol : TO rd er ent ity : TOrd erDet a il e nt ity : TPr odu ct ent ity : TShip pin g e nt ity 1 : uiMan aj e menO rd er 2 : ui Or de r 3 : O rd er 4 : ViewA llOrd er 5 : viewO rd er By Time 6 : ViewOr de r ListBy St at us 7 : g et Ord er 8 : dat a Or de r 9 : get Or de rDet ail 10 : da ta O rd er Det ail 11 : ge tPr o du kByI D 12 : da ta Pro d ukByI D 13 : ge tSh ipp ing 14 : da ta Ship ping 1 5 : uiMa na j emen Or de r 1 6 : Sh owMessa ge 1 7 : messag e commit to user 56

3.2.6.17 Sequence Diagram Add Shipping Price

Gambar 3.32. Sequence Diagram Add Shipping Price

3.2.6.18 Sequence Diagram Update Shipping

Gambar 3.33. Sequence Diagram Update Shipping : Admin : Ma in bounda ry : Sh ip ping Contro l control : TDestina tion entity : TShipping e ntity : TCourie r e ntity 1 : g etDe stination 2 : d ata de stination 3 : g etCo urier 4 : d ata co urier 5 : u iMan ajemen Shipp in g 6 : u i Shipp in g 7 : Data Sh ippin g Baru 8 : AddSh ipping 9 : Valida si 10 : setShipping 11 : uiMana jemenShipping 12 : ShowMessage 13 : Messa ge : Ad min : Main b oundary : Sh ip pingCont rol cont rol : TShipping ent it y : TDest in at ion e nt it y : TCourier e ntit y 1 : uiMa naj emenShipping 2 : Vie wShipping 3 : get Shipping 4 : d ata Shipping 5 : get Dest in ation 6 : dat a De stina t ion 7 : get Courier 8 : dat a Co urier 9 10 : Dat a Shipping 11 : Dat a b aru 12 : Updat eShipping 13 : set Shipping 14 : uiManaj emenShipping 15 : ShowMessage 16 : Message commit to user 57

3.3 Perancangan Database