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.