CRC Card untuk Reservation Package Database

d. CRC Card untuk Purchasing

1 Purchase Request Front: Class Name: PRequest ID: 1 Type: Concrete, Domain Description: Informasi permintaan barang kepada pihak purchasing. Associated Use Cases: Responsibilities operation Set Status Processed Unprocessed Collaborators End Back: Attributs: IdInteger ReservationObject NoCodeString DateCreatedDate CreatedByObject ApprovedByObject RemarkString StatusInteger End Relationship: Generalization: Agregation has-parts: PRequestDetail, POrder Other Associations: Reservation, User end end 2 Purchase Request Detail Front: Class Name: PRequestDetail ID: 1 Type: Concrete, Domain Description: Informasi detil dari purchase request. Associated Use Cases: Responsibilities operation Menset Status Processing Event Collaborators End Back: Attributs: IdInteger PRequestObject PricePerUnitDouble DeliveriForString SupplierObject ItemString QuantityInteger UnitString RemarkString TotalDouble StatusInteger End Relationship: Generalization: Agregation has-parts: Other Associations: PRequest, Supplier end end 3 Stok In Front: Class Name: StockIn ID: 1 Type: Concrete, Domain Description: Informasi persediaan barang masuk. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger POrderObject NoCodeString DescriptionString TypeByte DateCreatedDate IsFromPOrderByte RemarkString End Relationship: Generalization: Agregation has-parts: StockInDetail Other Associations: POrder end end 4 Stock Out Front: Class Name: StockOut ID: 1 Type: Concrete, Domain Description: Informasi persediaan barang keluar. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger ReservationObject DateCreatedDate RemarkString End Relationship: Generalization: Agregation has-parts: StockOutDetail Other Associations: Reservation end end 5 Product Stock Front: Class Name: ProdStock ID: 1 Type: Concrete, Domain Description: Informasi persediaan produk. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger ProductObject StockInDetailObject StockOutDetailObject StockDateDate QuantityInInteger QuantityOutInteger FirstStockInteger FirstValueDouble ValueInDouble ValueOutDouble end Relationship: Generalization: Agregation has-parts: Other Associations: Product, StockInDetail, StockOutDetail end end 6 Stock Operation Detail Front: Class Name: StockOpNameDetail ID: 1 Type: Concrete, Domain Description: Informasi detil tentang persediaan barang operasional. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger ProductObject StockOpNameObject StockQuantityInteger RealStockInteger PriceDouble end Relationship: Generalization: Agregation has-parts: Other Associations: Product, StockOpName end end 7 Place Front: Class Name: Place ID: 1 Type: Concrete, Domain Description: Informasi tempat diletakkannya produk-produk Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger CodeString NameString DescriptionString end Relationship: Generalization: Agregation has-parts: ProdPlace Other Associations: end end 8 Product Place Front: Class Name: ProdPlace ID: 1 Type: Concrete, Domain Description: Informasi detil tempat diletakkannya produk-produk beserta keterangannya. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger PlaceObject ProductObject end Relationship: Generalization: Agregation has-parts: Other Associations: Place, Product end end 9 Product Service Stock Front: Class Name: ProdServicesStock ID: 1 Type: Concrete, Domain Description: Informasi penyimpanan produk yang nantinya digunakan saat penyediaan barang. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger ProductObject QuantityStockInteger QuantityOutLong ValueStockDouble end Relationship: Generalization: Agregation has-parts: Other Associations: Product end end 10 Purchase Order Front: Class Name: POrder ID: 1 Type: Concrete, Domain Description: Informasi pemberian barang kepada supplier. Associated Use Cases: Responsibilities operation Collaborators End Back: Attributs: IdInteger PRequestObject SupplierObject NoCodeString DateDeliveryDate TimeDeliveryDate RemarkString DateCreatedDate StatusInteger End Relationship: Generalization: Agregation has-parts: POrderDetail, StockIn Other Associations: PRequest, Supplier end end

2. Pembuatan Class Diagram

Sesuai dengan pengertian diagram kelas yaitu diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, maka dalam bagian ini penulis akan menjelaskan tentang class diagram yang membangun sistem reservasi ruangan online. Class Diagram dan Relasinya Reservation PRequest StockOut ReservationPack RSV_BookingRoom 1 Invoice 1 CostDetail 1 AdditionalPack 1 Customer 1 RoomSetup 1 UserAcc 1 PackProduct PackProdDetail RSV_PRequestDetail1 1 RSV_POrder 1 RSV_POrderDetail 1 1.. RSV_Unit 1 StockIn 1 StockInDetail StockOutDetail RSV_Supplier 1 RSV_ProductSupplier 1 Product ProductStock 1 1 1 StockOpName StockOpNameDetail 1 1 RSV_ProductPlace RSV_Place 1 1 RSV_ProductServicesStock 1 ServicesUsage RSV_ProductCategory 1 1 RelSetupRoom 1 RSV_InvoiceDetail 1 1.. Payment 1 RSV_Room 1 RSV_JoinRoom 1.. 1 PackType 1 AdditionalPackDetail 1 1 Account RolePrivilege -id -name UserRole MenuRefpage 1 MedcoDept 1 1 1 Unit 1 1 1.. 1 1.. 1 1.. Memiliki 1.. 1.. Memiliki 1 1 Memiliki 1 1.. 1 1.. 1 1.. 1 1.. MedcoComp 1 1.. 1 1.. 1 1 Gambar 4. 24 Class Diagram Sistem Reservasi Ruangan Online

4.3.5. Pemodelan Behavioral Aplikasi

Sequence Diagram 1. Sequence Diagram untuk Pembuatan User admin: Tbmuser listUser: Tbmuser getAllUser listUser role: Tbmrole addNewUser idTbmrole Form addNewUser idUser newUser newUser Gambar 4. 25 Sequence Diagram untuk Pembuatan User 2. Sequence Diagram untuk Pembuatan Reservation csa: Tbmuser listEvent: Reservation package: Package setupRoom: Room customer: Customer getAllEvent listEvent addNewReservation addCustomer idCustomer reservation: Reservation customer addPackage idPackage package addSetupRoom idSetupRoom setupRoom newReservation Gambar 4. 26 Sequence Diagram untuk Pembuatan Reservation 3. Sequence Diagram untuk Approval Event operation: Tbmuser listEventApproval: Reservation eventApproval: Reservation getAllEventApproval listEventApproval approvedEvent eventApproved postponeEvent eventPosponed notApprovedEvent eventNotApproved Gambar 4. 27 Sequence Diagram untuk Appvoal Event 4. Sequence Diagram untuk Permintaan Barang Purchase Request operation: Tbmuser listEvent: Reservation supplier: Supplier prequest: PRequest getAllEvent listEvent selectSupplier idSupplier querySupplier getNewPRequest listSupplier queryPRequest newPRequest Gambar 4. 28 Sequence Diagram untuk Permintaan Barang 5. Sequence Diagram untuk Pembelian Barang Purchase Order purchase: Tbmuser listEvent: Reservation supplier: Supplier prequest: PRequest getAllEvent listEvent selectSupplier idSupplier querySupplier selectPRequest idPRequest supplier queryPRequest purchaseRequest porder: POrder newPurchaseOrder newPurchaseOrder queryPOrder Gambar 4. 29 Sequence Diagram untuk Pembelian Barang 6. Sequence Diagram untuk Pelaporan Penjualan Sales Report csa: Tbmuser listInvoice: Invoice customer: Customer newInvoice: Invoice getListInvoicePanding listInvoicePanding selectCustomer idCustomer queryCustomer addNewInvoice idInvoice customer newSalesReport salesReport: SalesReport queryDaftarPenjualan addNewSalesReport idInvoice newSalesReport Gambar 4. 30 Sequence Diagram untuk Sales Report 7. Sequence Diagram untuk Pelaporan Pembayaran Payment Report accounting: Tbmuser listPayment: PaymentReport Event PaymentReport getAllPayment listPaymentReport selectButtonPaid printPaymentReport idPaymentReport eventHasPaid paymentReport Gambar 4. 31 Sequence Diagram untuk Pelaporan Pembayaran 4.4.Fase Implementasi Seperti yang telah dijelaskan sebelumnya pada Bab III poin 3.2., sampai dengan tahap ini, aplikasi kemudian diimplementasikan. Proses implementasi diawali dengan melakukan pengkodean coding, kemudian coding tersebut diimplementasikan dengan bahasa pemrograman. Setelah itu, dilakukan pengujian fungsional tidap modul. Proses coding dilakukan per modul, masing-masing modul dibangun atas tiga bagian kode sumber source code yaitu source code untuk model, view dan controller. Bagian model, dibangun dengan menggunakan konsep ORM dengan bantuan framework Hibernate. Bagian controller dibangun dengan menggunakan Java. Terakhir, bagian view dibangun dengan menggunakan framework ZK. Setelah dilakukan pengkodean, aplikasi kemudian diuji testing. Pengujian dilakukan terhadap masing-masing modul. Metode pengujian yang digunakan adalah User Acceptance Test UAT. Berikut penjelasan dari masing-masing tahapan implementasi. Adapun untuk dokumentasi pengujian aplikasi akan dilampirkan dalam lampirkan.

4.4.1. Pengkodean coding Aplikasi

1 Bahasa Pemrograman dan Komponen Bahasa pemrograman yang digunakan pada pengembangan aplikasi ini adalah menggunakan Java 1.6 yang terdiri dari Java Development Kit dan Java Runtime Environment. Untuk pembuatan laporan digunakan tools IReport dan Jasper Report. Sistem database yang digunakan untuk menangani penyimpanan data adalah PostgreSQL 9.0 dan tools pgAdmin III. Framework yang digunakan antara lain Hibernate Framework dan ZK Framework. Untuk menjalankan coding digunakan application server yaitu Apache Tomcat 6.0. Dan untuk editor kode sumber dan unit test digunakan Editor Eclipse Java EE IDE for Web Developers, Version: Helios Service Release 2, Build id: 20110301-1815. 2 Implementasi Coding Pada tahap implementasi coding, dibuat beberapa packaging source code yang berisi class-class. Beberapa package yang dibuat antara lain package untuk: database, action, common, dan UI.

a. Package Database

Package database berisi class-class yang akan mengatur proses penyimpanan data dalam database. Pada package ini terbagi atas tiga bagian utama yaitu data access object DAO, hibernate dan model. Bagian model merupakan representasi dari tabel relational dalam database skalar. Untuk source code lengkap pada package database, dilampirkan dalam lampiran.

b. Package Action

Package action berisi class-class yang digunakan untuk menerima permintaan request dari pengguna. Ia juga berfungsi sebagai pengatur kontrol proses logika dalam coding. Untuk source code lengkap pada package action, dilampirkan dalam lampiran.

c. Package Common

Package berisi class yang merupakan kumpulan beberapa metode method dan coding pendukung dalam proses-proses tertentu. Kumpulan method tersebut, dihimpun untuk mempermudah penggunaan method yang sering dipanggil. Hal ini tentu saja akan mengurangi penulisan method yang sama secara berulang-ulang. Untuk source code lengkap pada package common terdapat di lampiran.

d. Package UI

Package UI adalah package yang berisi source code untuk mengatur tampilan aplikasi. Seperti yang telah dijelaskan sebelumnya, bahwa source code ini dibuat dengan menggunakan coding ZK. Teta cara penulisan dan komponennya berbeda dengan dua package sebelumnya. Untuk source code lengkap pada package UI terdapat di lampiran.

4.4.2. Pengujian testing Aplikasi

Setelah selesai melakukan pengembangan aplikasi, selanjutnya aplikasi diujicobakan. Tujuannya adalah untuk mengetahui beberapa kondisi terkait dengan hasil implementasi coding yang telah dijalankan sebelumnya. Kondisi yang pertama adalah konfirmasi bahwa modul telah dikodekan dengan benar. Kedua, apakah modul yang telah diintegrasikan menjadi suatu sistem dapat bekerja dengan benar dan siap untuk dilakukan acceptance test. Ketiga, apakah setelah modul dievaluasi, sudah dapat menjadi sebuah aplikasi yang utuh dan dapat digunakan. Proses pengujian dilakukan per modul. Masing-masing modul diuji kode dan fungsionalnya. Untuk pengujian kode dilakukan dengan whitebox dan pengujian fungsional dengan blackbox.