plagiat merupakan tindakan tidak terpuji - core.ac.uk · i sistem penyewaan kamar online menerapkan...
TRANSCRIPT
i
Sistem Penyewaan Kamar Online menerapkan Manajemen Transaksi
menerapkan Protokol Two Phase Locking
(Studi Kasus Hotel Prambanan Indah)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh
Wisnu Yhoga Wardhana 105314089
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
Room Rental System Online Implement Management Transaction Using
Two Phase Locking Protocol
(Case Study at Hotel Prambanan Indah)
THESIS
Presented as Partial Fullfillment of the Requirements
To Obtain Sarjana Komputer Degree
In Department of Informatics Engineering
By
Wisnu Yhoga Wardhana 105314089
INFORMATICS ENGINEERING STUDY MAJOR
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
SKRIPSI
Sistem Penyewaan Kamar Online menerapkan Manajemen Transaksi
menerapkan Protokol Two Phase Locking
(Studi Kasus Hotel Prambanan Indah)
Oleh
Wisnu Yhoga Wardhana 105314089
Telah Disetujui Oleh :
Dosen Pembimbing
JB. Budi Darmawan S.T., M.Sc. Tanggal : April 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
SKRIPSI
Sistem Penyewaan Kamar Online menerapkan Manajemen Transaksi
menerapkan Protokol Two Phase Locking
(Studi Kasus Hotel Prambanan Indah)
Yang dipersiapkan dan disusun oleh :
Wisnu Yhoga Wardhana
105314089
Telah dipertahankan di depan Tim Penguji
Pada tanggal 20 April 2015
Dan dinyatakan memenuhi syarat
Susunan Tim Penguji:
Tanda Tangan
Ketua : Agnes Maria Polina S.Kom., M.Sc. ……………..
Sekretaris : Ridowati Gunawan S.Kom., M.T. ……………..
Anggota : JB. Budi Darmawan S.T., M.Sc. ……………..
Yogyakarta,
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan
P.H. Prima Rosa M.Sc.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
Skripsi ini ku persembahkan untuk :
Yesus Kristus
Bapak, Ibu, dan Kakak
Sahabat dan Teman-teman
Hidup ini adalah pilihan, anda berhak
memilih apa yang anda inginkan.
Karena pilihan yang anda pilih yang
akan membukanan jalan untuk masa
depan anda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya/bagian orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta,27 Januari 2015
Penulis
Wisnu Yhoga Wardhana
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PERNYATAAN PERSETUJUAN PUBLIKASI ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Wisnu Yhoga Wardhana
NIM : 105314089
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
SISTEM PENYEWAAN KAMAR ONLINE MENERAPKAN
MANAJEMEN TRANSAKSI MENERAPKAN PROTOKOL TWO PHASE
LOCKING
(Studi Kasus Hotel Prambanan Indah)
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma untuk hak
menyimpan,mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk
pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di
internet dan media lain untuk kepentingan akademis tanpa perlu meminta izin dari
saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama
saya sebagai penulis.
Demikian pernyataan saya ini saya buat dengan sebenarnya.
Yogyakarta, 27 Januari 2015
Penulis
Wisnu Yhoga Wardhana
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Transaksi penyewaan kamar di hotel merupakan hal yang penting,
terutama pada pencatatan akan penyewaan kamar dan harinya, merupakan hal
yang penting. Pada transaksi penyewaan kamar dilakukan dengan manajemen
transaksi untuk mengurangi kesalahan dalam hal pencatatan kamar dan
penyewaannya. Pada transaksi penyewaan kamar yang terdapat di Hotel Candi
Prambanan indah masih menggunakan pencatatan manual. Untuk meningkatkan
kinerja hotel Prambanan Indah maka perlu dibuat sistem penyewaan kamar
online. Sistem penyewaan kamar secara online yang baru ini menggunakan
database yang bisa mengakibatkan masalah, yaitu masalah proses konkuren
seperti The Lost Update Problem,The Uncommited Dependency (Dirty Read)
Problem,The Incosistent Analysis Problem. Masalah akibat proses konkuren bisa
terjadi ketika beberapa user melakukan penyewaan kamar secara bersamaan.
Penggunaan manajemen transaksi disini berada pada sistem penyewaan kamar
yang akan dibuat dengan menggunakan protokol Two Phase Locking(2PL) untuk
mengendalikan pemesan agar tidak terjadi penyewaan kamar secara bersamaan.
Pada tugas akhir ini, protokol Two Phase Locking diuji untuk membuat
website untuk Hotel Prambanan Indah sebagai studi kasus. Sistem ini dapat
membantu penyewa dalam memilih kamar yang ingin disewa, mengirim bukti
pembayaran, dan untuk mengetahui apakah order penyewaan kamar sudah
diverifikasi oleh pihak hotel.
Hasil dari pengujian sistem penyewaan kamar online menerapkan
manajemen transaksi menggunakan protokol Two Phase Locking diuji untuk
menghasilkan website yang dapat menangani masalah proses yang konkuren dan
dapat membantu user untuk menyewa kamar dengan mudah.
Kata kunci : Penyewaan kamar online, Manajemen Transaksi, Two Phase
Locking, Proses Konkuren.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Room rental transactions is essential, especially in the recording will be
leasing the room and the days. At room rental transaction conducted with
transaction management to reduce errors in the recording room and the rental
terms. On room rental transactions at Hotel Prambanan Indah still use manual
recording. To improve the performance of Hotel Prambanan Indah then need to be
made online rental system. Online room rental system that currently use a
database that could cause problems, namely the problem of concurrent processes
such as The Lost Update Problem, The uncommited Dependency (Dirty Read)
Problem, The Problem Analysis Incosistent. Problems due to concurrent processes
can occur when several users perform rental of rooms simultaneously. The use of
transaction management here are at room rental system that will be created using
the protocol Two Phase Locking (2PL) for controlling subscriber in order to avoid
rental rooms simultaneously.
In this thesis, the protocol Two Phase Locking tested to create a website
for the Hotel Prambanan Indah as a case study. This system can help tenants in
choosing the room who want to rent, send proof of payment, and to determine
whether the order rental rooms has been verified by the hotel.
Results of the testing system online rental implementing transaction
management using protocols Two Phase Locking tested to produce a website that
can handle concurrent processes and can help the user to rent a room with ease.
Keywords: Rental room online, Transaction Management, Two Phase Locking,
Concurrent Process.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus yang telah senantiasa memberikan
berkat dan rahmat yang tak berkesudahan serta kesempatan yang sangat berharga
sehingga penulis dapat menyelesaikan skripsi dengan judul “Sistem Penyewaan
Kamar Online menerapkan Manajemen Transaksi menerapkan Protokol
Two Phase Locking (Studi Kasus Hotel Prambanan Indah) “.
Dalam kesempatan ini, penulis juga ingin mengucapkan terima kasih
sebesar besarnya terhadap semua pihak yang telah memberi dukungan dan
semangat sehingga skripsi ini dapat selesai :
1. Bapak JB Budi Darmawan S.T.,M.Sc., selaku dosen pembimbing. Terima
kasih atas semua bantuan, bimbingan, diskusi, pengorbanan waktu,
kesabaran, ilmu serta semangat yang telah diberikan.
2. Ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc., selaku Dekan Fakultas
Sains dan Teknologi.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku ketua jurusan Teknik
Informatika Universitas Sanata Dharma.
4. Ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc., selaku dosen
pembimbing akademik.
5. Agnes Maria Polina S.Kom, M.Sc., dan Ibu Ridowati Gunawan, S.Kom.,
M.T., selaku dosen penguji. Terima kasih atas saran dan kritik yang telah
diberikan.
6. Kedua orang tua penulis, serta kakak. Terima kasih untuk semua kasih
sayang, semangat, dan dukungan dari kalian semua.
7. Julie yang selalu memberikan semangat, doa, hiburan, dan masukan
kepada penulis.
8. Untuk Theo, Ougi, Teddy, Fafe, Ardy, teman-teman kelas C dan seluruh
teman-teman Teknik Informatika angkatan 2010. Terima kasih atas
kebersamaan dan dukungannya.
9. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan
tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih
baik dimasa depan.
Yogyakarta, 15 Mei 2015
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI HALAMAN JUDUL .................................................................................................. i
HALAMAN PERSETUJUAN ................................................................................... ii
HALAMAN PENGESAHAN .................................................................................. iii
PERNYATAAN KEASLIAN KARYA ................................................................... vi
PERNYATAAN PERSETUJUAN PUBLIKASI ILMIAH UNTUK
KEPENTINGAN AKADEMIS ............................................................................... vii
INTISARI ............................................................................................................... viii
ABSTRACT ................................................................................................................ ix
KATA PENGANTAR ............................................................................................... x
Daftar Gambar.......................................................................................................... xv
Daftar Tabel ........................................................................................................... xvii
BAB 1 ............................................................................................................................... 1
PENDAHULUAN ................................................................................................................. 1
1.1. Latar Belakang ...................................................................................................... 1
1.2. Rumusan Masalah ................................................................................................. 2
1.3. Tujuan dan Manfaat .............................................................................................. 2
1.4. Batasan Masalah .................................................................................................... 2
1.5. Metodologi ............................................................................................................ 3
1.6. Sistematika Penulisan ............................................................................................ 4
BAB 2 .................................................................................................................................... 6
LandasanTeori ....................................................................................................................... 6
2.1. Sistem Informasi ................................................................................................... 6
2.1.1. Sistem .................................................................................................................... 6
2.1.2. Informasi ............................................................................................................... 6
2.1.3. Sistem Informasi ................................................................................................... 6
2.2. Manajemen Transaksi. .......................................................................................... 7
2.2.1. Metode Locking ..................................................................................................... 7
2.2.2. Two Phase Locking(2PL) ...................................................................................... 8
2.2.2.1. Contoh Penangangan Masalah Concurrency Control ........................................... 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.2.3. Perintah For Update ................................................................................. 11
2.3. Hotel .................................................................................................................... 12
BAB 3 .................................................................................................................................. 14
ANALISIS DAN PERANCANGAN SISTEM ................................................................... 14
3.1. Gambaran Umum Sistem yang lama ................................................................... 14
3.2. Gambaran Umum Sistem yang baru ................................................................... 14
3.3. Requirement Analysis .......................................................................................... 15
3.3.1. Use Case Diagram .............................................................................................. 15
3.3.2. Definisi Aktor ...................................................................................................... 16
3.3.3. Definisi Use Case ................................................................................................ 17
3.3.4. Skenario Use Case .............................................................................................. 18
3.4. Activity Diagram ................................................................................................. 24
3.5. Perancangan Diagram Sekuensial ....................................................................... 29
3.6. Perancangan Diagram Kelas ............................................................................... 35
3.7. Perancangan Konseptual ..................................................................................... 35
3.8. Perancangan Logikal ........................................................................................... 36
3.9. Desain Database ....................................................................................... 36
Bab IV ................................................................................................................................. 41
IMPLEMENTASI SISTEM ................................................................................................ 41
4.1. Spesifikasi Software dan Hardware yang Digunakan ......................................... 41
4.1.1. Spesifikasi Software ............................................................................................ 41
4.1.2. Spesifikasi Hardware .......................................................................................... 41
4.2. Implementasi Stored Procedure .......................................................................... 42
4.2.1. Implementasi Stored Procedure untuk inserttransaksi penyewaan. .................... 42
4.2.2. Implementasi Stored Procedure untuk menghapus transaksi penyewaan
kamar. 47
4.2.3. Implementasi Stored Procedure untuk menambah data dari kamar sewa........... 48
4.3. Implementasi Program ........................................................................................ 50
4.3.1. Proses memberi harga DP ................................................................................... 50
4.3.2. Proses insert data Transaksi penyewaan kamar. ................................................. 51
4.3.3. Proses memasukan bukti transfer dp. .................................................................. 52
4.3.4. Proses Melihat Konfirmasi penyewaan kamar .................................................... 53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3.5. Proses mengkonfirmasi transaksi penyewaan kamar. ......................................... 54
4.3.6. Proses menambah kamar setiap hari. .................................................................. 55
4.4. Implementasi Antarmuka .................................................................................... 57
4.4.1. Halaman Login Admin ........................................................................................ 57
4.4.2. Halaman Home .................................................................................................... 57
4.4.3. Halaman PilihKamar ........................................................................................... 58
4.4.4. Halaman DataPenyewa ....................................................................................... 59
4.4.5. Halaman Selesai .................................................................................................. 59
4.4.6. Halaman Verifikasi DP ....................................................................................... 60
4.4.7. Halaman Konfirmasi ........................................................................................... 60
4.4.8. Halaman Admin Belum Dikonfirmasi ................................................................ 61
4.4.9. Halaman Admin Sudah Dikonfirmasi ................................................................. 62
BAB V ............................................................................................................................. 64
ANALISA HASIL PENGUJIAN ........................................................................................ 64
5.1. Analisa Hasil Perangkat Lunak ........................................................................... 64
5.2. Analisa Hasil Coba Terhadap Program ............................................................... 64
5.2.1. Pengujian terhadap proses Transaksi Penyewaan Kamar. .................................. 65
5.3. Analisa Hasil Coba Terhadap Pengguna ............................................................. 70
5.3.1. Form kuisioner .................................................................................................... 70
5.3.2. Hasil dan pembahasan ......................................................................................... 70
5.3.2.1. Hasil Uji Coba Admin ......................................................................................... 70
5.3.2.1.1. Hasil uji tampilan ................................................................................................ 70
5.3.2.1.2. Hasil uji isi/Informasi .......................................................................................... 74
5.3.2.2. Hasil Uji Coba Pengguna .................................................................................... 77
5.3.2.2.1. Hasil uji tampilan ................................................................................................ 77
5.3.2.2.2. Hasil uji Isi/Informasi.......................................................................................... 81
BAB VI ................................................................................................................... 86
KESIMPULAN DAN SARAN ........................................................................................... 86
6.1. Kesimpulan ......................................................................................................... 86
6.2. Saran .................................................................................................................... 86
Daftar Pustaka .......................................................................................................... 88
Lampiran .................................................................................................................. 89
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Daftar Gambar
Gambar 2. 1 Mencegah Lost Update Problem menggunakan 2PL ........................................... 9
Gambar 2. 2 Mencegah Uncommitted Dependency Problem using 2PL ................................ 10
Gambar 2. 3 Mencegah Inconsistent Analysis Problem using 2PL ........................................ 11
Gambar 3. 1 Use Case ............................................................................................................. 16
Gambar 3. 2 Diagram aktifitas login....................................................................................... 24
Gambar 3. 3 Diagram aktifitas Memasukan kriteria Penyewaan ........................................... 25
Gambar 3. 4 Diagram aktifitas Logout ................................................................................... 25
Gambar 3. 5 Diagram aktifitas Transaki Menyewa Kamar .................................................... 26
Gambar 3. 6 Diagram aktifitas Memasukan bukti transaksi ................................................... 26
Gambar 3. 7 Diagram aktifitas Melihat konfirmasi penyewaan ............................................. 27
Gambar 3. 8 Diagram aktifitas validasi penyewaan ............................................................... 27
Gambar 3. 9 Menambah data Kamar sewa ............................................................................. 28
Gambar 3. 10 Case Login ...................................................................................................... 29
Gambar 3. 11 Memasukan kriteria Penyewaan. .................................................................... 30
Gambar 3. 12 Transaki Menyewa Kamar. .............................................................................. 30
Gambar 3. 13 Masukan Memasukan bukti transaksi. ............................................................. 31
Gambar 3. 14 Melihat konfirmasi penyewaan. ....................................................................... 32
Gambar 3. 15 Validasi penyewaan. ........................................................................................ 33
Gambar 3. 16 Menambah Kamar Sewa .................................................................................. 34
Gambar 3. 17 Case Logout. .................................................................................................... 34
Gambar 3. 18 Diagram kelas .................................................................................................. 35
Gambar 3. 19 Diagram Entity Relatio..................................................................................... 35
Gambar 3. 20 Diagram Rational Relational ........................................................................... 36
Gambar 4. 1 Insert Penyewa ................................................................................................... 47
Gambar 4. 2 Delete Transaksi ................................................................................................. 47
Gambar 4. 3 Update Harian .................................................................................................... 49
Gambar 4. 4 Proses Transaksi Sewa ....................................................................................... 50
Gambar 4. 5 Insert data Transaksi penyewaan kamar ............................................................ 51
Gambar 4. 6 Memasukan bukti transfer dp ............................................................................. 52
Gambar 4. 7 Melihat Konfirmasi penyewaan kamar .............................................................. 53
Gambar 4. 8 Konfirmasi Penyewaan Kamar .......................................................................... 54
Gambar 4. 9 Menambah kamar setiap hari ............................................................................. 56
Gambar 4. 10 Halaman Login Admin ..................................................................................... 57
Gambar 4. 11 Halaman Home ................................................................................................. 58
Gambar 4. 12 Halaman PilihKamar ........................................................................................ 58
Gambar 4. 13 Halaman DataPenyewa .................................................................................... 59
Gambar 4. 14 Halaman Selesai ............................................................................................... 60
Gambar 4. 15 Halaman Verifikasi DP .................................................................................... 60
Gambar 4. 16 Halaman Konfirmasi ........................................................................................ 61
Gambar 4. 17 Halaman Admin Belum Dikonfirmasi ............................................................. 61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4. 18 Halaman Admin Sudah Dikonfirmasi .............................................................. 62
Gambar 5 1 Berikut adalah gambar dari memilih Tipe Kamar. .............................................. 65
Gambar 5 2 Gambar Isi Data Diri transaksi 1 ......................................................................... 66
Gambar 5 3 Gambar Isi Data Diri transaksi 2 ......................................................................... 66
Gambar 5 4 Transaksi Berjalan Bersamaan Karena delay ...................................................... 67
Gambar 5 5 Hasil akhir dari kedua Transaksi ......................................................................... 68
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Daftar Tabel
Tabel 3. 1 Definisi Aktor ........................................................................................................ 16
Tabel 3. 2 Definisi Use Case .................................................................................................. 17
Tabel 3. 3 Skenario Login ....................................................................................................... 18
Tabel 3. 4 Mengisi Data Hari Penyewaan. ............................................................................. 19
Tabel 3. 5 Memilih Jenis Kamar. ............................................................................................ 20
Tabel 3. 6 Masukan data diri untuk penyewaan. .................................................................... 20
Tabel 3. 7 create kamar sewa. ................................................................................................ 21
Tabel 3. 8 Validasi pemesanan. .............................................................................................. 22
Tabel 3. 9 Membuat Kamar Sewa........................................................................................... 23
Tabel 3. 10Skenario Logout .................................................................................................... 23
Tabel 3. 11 Penyewa ............................................................................................................... 36
Tabel 3. 12 Kamar .................................................................................................................. 37
Tabel 3. 13 Kamar_Sewa ........................................................................................................ 37
Tabel 3. 14 Transaksi_Sewa ................................................................................................... 37
Tabel 3. 15 Fasilitas_kamar .................................................................................................... 38
Tabel 3. 16 Fasilitas ................................................................................................................ 38
Tabel 3. 17 Jenis Kamar ......................................................................................................... 39
Tabel 5. 1 Proses yang terjadi dalam Transaksi Penyewaan Kamar ....................................... 69
Tabel 5. 2 Hasil Pertanyaan 1 ................................................................................................. 70
Tabel 5. 3 Hasil Pertanyaan 2 ................................................................................................. 71
Tabel 5. 4 Hasil Pertanyaan 3 ................................................................................................. 71
Tabel 5. 5 Hasil Pertanyaan 4 ................................................................................................. 72
Tabel 5. 6 Hasil Pertanyaan 5 ................................................................................................. 73
Tabel 5. 7 Hasil Pertanyaan 6 ................................................................................................. 73
Tabel 5. 8 Hasil Pertanyaan 1 ................................................................................................. 74
Tabel 5. 9 Hasil Pertanyaan 2 ................................................................................................. 75
Tabel 5. 10 Hasil Pertanyaan 3 ............................................................................................... 75
Tabel 5. 11 Hasil Pertanyaan 4 ............................................................................................... 76
Tabel 5. 12 Hasil Pertanyaan 5 ............................................................................................... 76
Tabel 5. 13 Hasil Pertanyaan 1 ............................................................................................... 77
Tabel 5. 14 Hasil Pertanyaan 2 ............................................................................................... 78
Tabel 5. 15 Hasil Pertanyaan 3 ............................................................................................... 78
Tabel 5. 16 Hasil Pertanyaan 4 ............................................................................................... 79
Tabel 5. 17 Hasil Pertanyaan 5 ............................................................................................... 79
Tabel 5. 18 Hasil Pertanyaan 6 ............................................................................................... 80
Tabel 5. 19 Hasil Pertanyaan 1 ............................................................................................... 81
Tabel 5. 20 Hasil Pertanyaan 2 ............................................................................................... 82
Tabel 5. 21 Hasil Pertanyaan 3 ............................................................................................... 82
Tabel 5. 22 Hasil Pertanyaan 4 ............................................................................................... 83
Tabel 5. 23 Hasil Pertanyaan 5 ............................................................................................... 84
Tabel 5. 24 Hasil Pertanyaan 6 ............................................................................................... 84
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB 1
PENDAHULUAN
1.1.Latar Belakang
Kebutuhan akan informasi semakin banyak dibutuhkan, dan informasi
tersebut harus cepat, akurat dan benar adanya. Informasi tersebut bisa
diambil dari berbagai macam jenis perangka tlunak. Saat ini banyak
pengguna yang melakukan peralihan system yang digunakan dari sistem
yang manual menjadi sistem yang otomatis, perubahan ini dilakukan oleh
pemerintah sampai perhotelan. Penggunaan sistem transaksidan sistem
inventaris yang dilakukan oleh hotel juga mengalami perubahan.
Transaksi penyewaan kamar di hotel merupakan hal yang penting,
terutama pada pencatatan akan penyewaan kamar dan harinya, merupakan
hal yang penting. Di hotel Prambanan indah sudah menggunakan sistem
penyewaan kamar tetapi masih belum online. Dengan adanya pencatatan
ini hotel bisa memantau kamar mana yang kosong dan kamar mana yang
sudah terisi. Sehingga pemesan bisa langsung memesan sesuai dengan
kebutuhannya melalui website. Pengecekan kamar hotel harus selalu
dilakukan agar tidak ada kesalahan dalam penyewaan kamar yang
ditunjukan kepada penyewa melalui website yang disediakan.
Pada transaksi penyewaan kamar yang terdapat di Hotel Candi
Prambanan indah masih menggunakan pencatatan manual. Untuk
meningkatkan kinerja hotel Prambanan Indah maka perlu dibuat sistem
penyewaan kamar online. Sistem penyewaan kamar secara online yang
baru ini menggunakan database yang bisa mengakibatkan masalah, yaitu
masalah proses konkuren seperti The Lost Update Problem,The
Uncommited Dependency (Dirty Read) Problem,The Incosistent Analysis
Problem. Masalah akibat proses konkuren bisa terjadi ketika beberapa user
melakukan penyewaan kamar secara bersamaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Dibuatlah sistem yang bisa menangani masalah proses konkurensi
(concurrency) dalam hal penyewaan kamar dan pencatatannya secara
online. Pada transaksi penyewaan kamar dilakukan dengan manajemen
transaksi untuk mengurangi kesalahan dalam hal pencatatan kamar dan
penyewaannya. Penggunaan manajemen transaksi disini berada pada
sistem penyewaan kamar yang akan dibuat dengan menggunakan protokol
Two Phase Locking(2PL) untuk mengendalikan pemesan agar tidak terjadi
penyewaan kamar secara bersamaan.
1.2.Rumusan Masalah
Dari latar belakang yang dikemukakan, maka rumusan masalah yang
dapat diambil adalah
1. Bagaimana membangun sistem penyewaan kamar hotel secara online
melalui web?
2. Bagaimana sistem dapat mengatasi masalah concurrency dengan
menerapkan Manajemen Transaksi di database?
1.3.Tujuan dan Manfaat
Tujuan pengembangan sistem ini adalah :
1. Membangun aplikasi yang dapat memudahkan transaksi penyewaan
kamar dan dalam mengelola data yang menerapkan Manajemen
Transaksi dengan Protokol Two Phase Locking.
Manfaat pengembangan sistem ini adalah :
1. Diharapkan agar sistem ini dapat diterapkan dan dapat mempermudah
pemesanan kamar untuk dapat menyewa kamar.
2. Diharapkan agar sistem ini dapat membatu pihak hotel dalam
mempermudah pemesanan kamar.
1.4.Batasan Masalah
Sistem yang dibangun memiliki batasan seperti dibawah ini :
1. Sistem ini hanya menangani pemesanan kamar online.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
2. Pembayaran dilakukan dengan cara datang ke hotel Prambanan
Indah atau mengirim bukti transaksi.
1.5.Metodologi
Metodologi yang digunakan dalam skripsi ini adalah waterfall
model yang di uraikan oleh Roger S. Pressman (1992: 24). Tahap-
tahapnya meliputi:
1. Tahap Requirement Analysis and Definition
Pada tahap ini akan dilakukan kegiatan :
a. Studi kepustakaan dengan mempelajari dan menerapkan informasi
yang didapatkan dari buku–buku referensi, jurnal, artikel dan sumber
tertulis lainnya.
b. Melakukan survei berupa membuat dan menyebarkan kuesioner
kepada target pengguna aplikasi.
c. Analisis aplikasi sejenis yang bertujuan sebagai referensi dalam
pembuatan aplikasi.
2. Tahap System and Software Design
Pada tahap ini akan dilakukan kegiatan :
a. Perancangan sistem menggunakan UML.
b. Perancangan desain antarmuka menggunakan storyboard.
3. Tahap Implementation and Unit Testing
Pada tahap ini akan dilakukan kegiatan merealisasikan desain sistem ke
dalam bentuk code (coding). Setiap bagian-bagian sistem yang telah
dibuat akan dites untuk memastikan tidak ada error atau bug.
4. Tahap Integration and System Testing
Pada tahap ini akan dilakukan kegiatan mengintegrasikan semua
bagian-bagian sistem yang telah dibuat menjadi satu kesatuan kemudian
menguji aplikasi, apakah sudah sesuai dengan yang diharapkan atau
tidak dan memastikan aplikasi tidak ada error atau bug.
5. Tahap Operation and Maintenance
Pada tahap ini akan dilakukan kegiatan menyebarluaskan aplikasi yang
telah dibuat dan melakukan proses maintenance jika ada feedback dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
user mengenai error atau bug yang muncul selama menggunakan
aplikasi.
1.6.Sistematika Penulisan
Sistematika penulisan dalam skripsi ini terbagi dalam 5 bab yang
berisi sebagai berikut :
1. BAB 1 PENDAHULUAN
Pada bab ini memuat latar belakang pembuatan aplikasi ini, ruang
lingkup, tujuan yang akan dicapai dan manfaat yang diharapkan,
metodologi penelitian dan sistematika penulisan.
2. BAB 2 LANDASAN TEORI
Pada bab ini memuat teori-teori dari berbagai sumber yang digunakan
sebagai referensi untuk mendukung dalam penulisan skripsi ini, baik
teori umum maupun teori khusus.
3. BAB 3 ANALISIS DAN PERANCANGAN
Pada bab ini memuat analisis user melalui kuesioner, analisis terhadap
game sejenis yang sudah ada, serta melakukan perancangan, class
diagram, use case diagram, sequence diagram, activity diagram.
4. BAB 4 IMPLEMENTASI DAN EVALUASI
Pada bab ini memuat implementasi dari sistem Penyewaan Kamar
Hotel meliputi prosedur penggunaan dan hasil evaluasi.
5. BAB 5 KESIMPULAN DAN SARAN
Pada bab ini memuat kesimpulan dari hasil bahasan bab-bab
sebelumnya, dan saran-saran yang berguna untuk pengembangan
aplikasi ini di masa yang akan datang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB 2
LandasanTeori
2.1.Sistem Informasi
2.1.1. Sistem
Sistem merupakan kumpulan dari objek-objek seperti
manusia, konsep, dan prosedur yang saling berinteraksi untuk
mencapai tujuan tertentu. (Whitten, 2001)
2.1.2. Informasi
Informasi berasal dari data-data yang akurat yang berasal
dari kenyataan pada saat tertentu.Data kemudian diolah untuk
menjadi bentuk tertentu yang kemudian bisa menjadi suatu
informasi yang akurat. Informasi yang telah dibuat bisa digunakan
untuk mendukung pengambilan keputusan dan melakukan tindakan
selanjutanya yang akan menghasilkan data sebagai masukan, dan
diproses lagi dari awal sehingga menghasilkan suatu siklus yang
dinamakan Information Cycle/siklus informasi.(John Burch, 1975)
2.1.3. Sistem Informasi
Sistem Informasi adalah kumpulan dari orang-orang, data,
proses, interface, dan geografis yang berhubungan untuk
meningkatkan operasional bisnis dari hari ke hari, sehingga dapat
menyelesaikan masalah dan dapat membantu untuk pengambilan
keputusan.(Whitten, 2001).Sistem informasi digunakan untuk
membantu organisasi meningkatkan kemampuan untuk
memperoleh informasi yang dibutuhkan oleh mereka. Oleh karena
itu sistem informasi sangat dibutuhkan oleh perusahaan atau
organisasi untuk memperoleh informasi yang akan berguna untuk
pengambilan keputusan kedepannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.2.Manajemen Transaksi.
Transaksi dalam hal ini adalah sekumpulan kegiatan untuk
mengubah konten pada basis data yang dilakukan oleh seorang
pengguna atau program aplikasi.Sebuah transaksi dikatakan berhasil
jika mempunyai hasil jika seluruh transaksi dikatakan telah
commited(dilakukan) dan database mencapai suatu keadaan konsisten
yang baru. Jika transaksi gagal, maka transaksi dibatalkan. Jika
transaksi dibatalkan maka database harus dikembalikan keadaan
konsisten seperti keadaan sebelum transkasi dilakukan, transaksi
tersebut disebut rollback atau undone.(Connolly, T., Begg, C., 2002).
Transaksi dalam manajemen transaksi harus memiliki sifat ACID,
yaitu :
a. Atomicity,dimana keadaan transaksi yang tidak dapat dibagi-bagi
lagi yang dilakukan secara keseluruhan atau tidak sama sekali.
b. Consistency, dimana suatu keadaan basis data dapat dirubah dari
suatu konsistensi ke konsistensi yang lain.
c. Isolation,dimana suatu keadaan transaksi itu bebas, suatu transaksi
tidak mempengaruhi transaksi yang lain.
d. Durability,dimana transaksi dapat dicatat secara permanen dan
tidak bisa hilang dalam basis data.
2.2.1. Metode Locking
Locking adalah suatu prosedur yang digunakan untuk
mengatur akses yang dilakukan bersamaan pada suatu data. Pada saat
transaksi mengakses basisdata, suatu lock bisa menolak transaksi
tersebut agar tidak menimbulkan hasil yang tidak benar. Sifat dasar
locking pada sebuah transaksi harus dinyatakan sebagai shared untuk
proses baca (read) dan sepenuhnya terkunci untuk proses menulis
(write). Aturannya sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
a. Shared lock yaitu jika suatu transaksi memiliki suatu shared lock
pada item datanya, maka data tersebut dapat dibaca namun tidak
dapat dirubah.
b. Exclusive lock yaitu jika suatu transaksi memiliki suatu exclusive
lock pada item datanya, maka datanya dapat dibaca dan dirubah.
Karena operasi membaca tidak menimbulkan konflik, maka
diijinkan lebih dari 1 transaksi melakukan lock bersama pada saat
yang bersamaan. Sedangkan pada exclusive lock, jika suatu
transaksi melakukan exclusive lock, maka tidak ada transaksi lain
yang bisa membaca atau merubah item data tersebut.
2.2.2. Two Phase Locking(2PL)
Transaksi dapat dilakukan menggunakan protokol 2PL jika
semua operasi locking mendahului operasi yang tidak terkunci dalam
transaksi tersebut.Protokol 2PL memiliki 2 fase, yaitu :
a. Growing phase : jika transaksi sudah mendapatkan semua lock,
maka tidak boleh melepas lock.
b. Shrinking phase : jika transaksi sudah melepaskan lock, maka
tidak dapat mendapatkan lock baru.
Beberapa masalah yang disebabkan oleh proses yang konkuren
seperti dibawah ini bisa ditangani dengan menerapkan protokol two
phase locking.
a. The Lost Update Problem, merupakan kejadian dimana data
transaksi yang telah di update dibaca oleh transaksi yang lain
kemudian di update lagi.
b. The Uncommited Dependency (Dirty Read) Problem, merupakan
kejadian dimana data transaksi yang dilakukan dibaca oleh
transaksi yang lain, lalu dibatalkan tanpa adanya penyimpanan
terlebih dahulu oleh transaksi yang pertama sehingga
menyebabkan data yang tidak benar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
c. The Incosistent Analysis Problem, masalah ini timbul karena data
diakses oleh 2 transaksi yang bersamaan, transaksi yang pertama
melakukan perubahan dan transaksi yang kedua melakukan analisis
sehingga data yang diperoleh menjadi tidak konsisten.
2.2.2.1. Contoh Penangangan Masalah Concurrency Control
Dibawah ini merupakan contoh-contoh untuk menangani
masalah concurrency control.
Gambar 2.1Mencegah Lost Update Problem menggunakan 2PL
Keterangan
Untuk mencegah terjadinya masalah hilangnya data yang
diubah, maka : pertama-tama T2 meminta exclusive lock pada balₓ
Setelah itu T2 dapat melakukan proses baca nilai balₓ,
menambahnya dengan nilai 100, dan menuliskan nilai baru dari
balₓ tersebut kedalam basis data.
Saat T1 memulai transaksi, T1 juga meminta suatu
exclusivelock pada balₓ, namun karena balₓ sedang berada dalam
posisi exclusivelock oleh T2, maka permintaan read balₓ tidak
segera diberikan kepada T1 dan T1 harus menunggu sampai lock
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
dilepaskan oleh T2. Hal ini terjadi saat T2 melaksanakan operasi
commit atau unlock balₓ (Connoly 2002)
Gambar 2.2Mencegah Uncommitted Dependency Problem using 2PL
Keterangan :
Untuk mencegah terjadinya masalah ketergantungan
transaksi yang belum dilaksanakan , maka : pertama-tama T4
meminta suatu exclusivelock pada balₓ Setelah itu, T4 dapat
melakukan proses baca nilai balₓ dari dalam basis data,
menambahnya dengan nilai 100, dan meluliskan nilai baru balₓ
tersebut kedalam basis data. rollback dieksekusi , peng-update-an
pada transaksi T4 tidak jadi dilakukan dan nilai dalam basis data
dikembalikan ke kondisi semula yaitu 100.
Saat T3 memulai transaksi T3 juga meminta suatu exclusive
lock pada balₓ, namun karena balₓ sedang dalam posisi exclusive
lock oleh T4, maka, permintaan tersebut tidak segera diberikan
kepada T3, dan T3 harus menunggu sampai lock dilepaskan oleh
T4. Hal ini terjadi saat T4 melaksanakan operasi rollback atau
unlock balₓ, barulah T3 dapat melakukan proses baca nilai balₓ
(Connoly, 2002)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.3Mencegah Inconsistent Analysis Problem using 2PL
Keterangan :
Untuk mencegah terjadinya masalah analisis yang tidak
konsisten, maka : T5 mengawali meminta suatu exclusivelock pada
balₓ. T5 juga meminta suatu exclusivelock pada balᵧ . Saat T6 ingin
membaca nilai balₓ , ia harus menunggu sampai lock dilepaskan
oleh T5. Hal ini terjadi saat T5 melaksanakan operasi commit atau
unlock balₓ, barulah T6 dapat membaca nilai balₓ (Connoly, 2002)
Untuk mengatasi masalah diatas, mesin basis data Oracle
XE mempunyai kemampuan mendukung transaksi dengan metode
2PL yang dapat menjaminkonsistensi data.
2.2.3. Perintah For Update
Perintah for update yang digunakan untuk melakukan
penguncian agar menjamin konsistensi. Peritah for update dapat
juga digunakan dalam kursor, ada kemungkinan kursor melakukan
update terhadap database. Untuk menjamin konsistensi data,
terutama dalam kasus ketika ada banyak sesi terhadap suatu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
database yang sama, sebaikanya baris-baris record dalam database
yang akan di-update atau dihapus, dikunci terlebih dahulu.
Penguincian record dalam database dapat dilakukan dengan
perintah for update dalam kueri kursor.(Oracle Inc, 2004)
Sintak yang digunakan :
2.3.Hotel
Menurut Sri Kurniasih dalam jurnal imiah (2006:45), secara
harifiah kata Hotel berasal dari bahasa latin yaitu kata HOSPITIUM,
yang memiliki arti ruang tamu. Pada jangka yang panjang hospitium
mengalami proses perubahan pengertian, untuk membedakan antara
Guest House dan Mansion House (rumah yang besar) yang
berkembang pada saat itu, maka rumah-rumah besar berubah nama
menjadi Hostel.
Rumah-rumah besar atau yang disebut dengan hostel disewakan
kepada masyarakat yang ingin beristirahat sementara waktu, dan
akandiatur oleh seseorang yang disebut host, tamu-tamu yang
menginap harus mematuhi aturan yang dibuat oleh host.
Sesuai dengan tuntutan orang-orang yang ingin mendapatkan
kepuasan, tidak suka dengan aturan-aturan terlalu banyak yang
terdapat di hostel, lambat laun kata hostel pun berubah menjadi hotel,
huruf "s" pada kata hostel menghilang atau dihilangkan oleh orang-
orang, dan berubah menjadi kata Hotel yang kita kenal saat ini.
CURSOR … IS
SELECT…
FROM …
FOR UPDATE [OF nama kolom];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Gambaran Umum Sistem yang lama
Hotel Prambanan Indah melayani dalam hal penyewaan kamar
hotel kepada masyarakat lokal ataupun masyarakat internasional.
Pemesanan kamar saat ini masih menggunakan cara manual. Pemesanan
bisa dilakukan melalui beberapa cara, yaitu :
a. Datang langsung hotel untuk melakukan penyewaan kamar
b. Pesan melalui telepon.
Untuk tata cara pemesanan sendiri ada caranya seperti berikut :
a. Waktu check-in pada pukul 13.00 wib dan untuk check-out pada pukul
12.00 wib.
b. Pada waktu check-in tamu harus menyerahkan Kartu Identitas yang
masih berlaku (SIM, KTP, Passport).
c. Tamu yang membatalkan pemesanan kamar pada hari yang sama
tanggal check-in dikenakan biaya penuh.
d. Tamu yang membatalkan pemesanan dua minggu sebelum tanggal
check-in dikenakan biaya 50% dari total pembayaran.
e. Biaya booking adalah 20% dari harga penyewaan kamar.
3.2. Gambaran Umum Sistem yang baru
Sistem penyewaan kamar secara online berbasis web yang
dibangun bertujuan untuk mempermudah orang untuk menyewa kamar
secara online dan untuk mengetahui informasi tentang kamar dan harga
yang diberikan serta layanan yang diberikan.
Sistem penyewaan kamar ini bisa melakukan pemesanan kamar
seperti dibawah ini :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
1. Pertama user akan memilih tanggal dan berapa lama dia akan
menginap.
2. Lalu sistem akan menampilkan jenis-jenis kamar yang tersedia
untuk tanggal yang dipilih.
3. User akan memilih salah satu jenis kamar yang tersedia.
4. Lalu mengisi data diri di form yang telah disediakan.
5. Setelah itu diharapkan user untuk membayar biaya booking
sebesar 20% dari harga yang telah ditentukan.
Sistem ini dapat diakses oleh multi user, sistem ini akan melakukan
kontrol terhadap masalah concurrency yang ada akibat penggunaan
bersama. Untuk mengatasi masalah dalam concurrency maka sistem ini
dibuat menggunakan manajemen transaksi dengan menggunakan protokol
2PL.
3.3. Requirement Analysis
3.3.1. Use Case Diagram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Memasukan Kriteria
Penyewaan
Menyewa Kamar
Memasukan bukti transaksi
Melihat konfirmasi
penyewaan
Login
Validasi Pemesanan
Logout
Membuat Kamar Sewa
Sub Sistem 1 Online
Sub Sistem 2 Non web
User
Admin
Include
Include
Include
Gambar 3.1 Use Case
3.3.2. Definisi Aktor
Tabel 3.1 Definisi Aktor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
No Aktor Deskripsi
1 User Aktor ini bisa menyewa kamar dan melihat informasi kamar.
2 Operator Aktor ini bisa melakukan login sebagai operator dan memasukan data
penyewa yang datang atau telepon dan juga bisa melakukan create
kamar sewa, dan melakukan penanganan dalam hal mengganti
apakan kamar sudah dipinjam atau belum
3.3.3. Definisi Use Case
Tabel 3.2 Definisi Use Case
No Use Case Deskripsi
1 Login. Sistem melakukan pengecekan username, password.
2 Memasukan
kriteria
Penyewaan.
Memasukan data tanggal check-in dan tanggal check-out
dari hotel, jumlah kamar.
3 Transaki
Menyewa
Kamar.
Sistem menampilkan daftar kamar yang tersedia pada hari
yang dipilih, kemudian memilihnya, kemudian
memasukan datadiri penyewa dan sistem akan transaksi
penyewaan.
4 Memasukan
bukti transaksi.
Aktor memasukan nomor order, email, dan bukti
transaksi pembayaran DP sebagai contoh foto bukti
transfer melalui bank.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
3.3.4. Skenario Use Case
Skenario
Skenario : Login
Kondisi awal : -
Kondisi akhir : Masuk ke form operator atau admin.
Aktor : Operator dan Admin.
Tabel 3.3 Skenario Login
Aktor System
1 Aktor memasukkan id, password dan
memilih status login sebagai Admin di
5 Validasi
pemesanan
Sistem melakukan pengecekan kamar mana yang sudah
dipesan dan juga menangani jadi atau tidaknya
penyewaan kamar.
6 Melihat
konfirmasi
penyewaan
Aktor memasukan nomor order dan email untuk melihat
apakah transaksi penyewaan sudah di konfirmasi oleh
hotel, sistem melakukan pengecekan apakah transaksi
aktor telah di konfirmasi.
7 Membuat kamar
Sewa
Sistem akan membuat data dari tabel kamar_sewa pada
pukul 20.00 setiap hari.
8 Logout. Sistem melakukan Logout operator.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
form login
1. Mengecek id, password.
3. Menampilkan form utama admin.
Skenario : Memasukan kriteria Penyewaan.
Kondisi awal : -
Kondisi akhir : Masuk ke form pemilihan jenis kamar.
Aktor : User
Tabel 3.4 Mengisi Data Hari Penyewaan.
Aktor System
1 Aktor memasukan data hari akan menyewa,
lama penyewaan dan banyak kamar.
2. Mencari kamar yang kosong
pada hari yang dipilih.
3. menampilkan form Pemilihan
Jenis Kamar.
Skenario : Menyewa Kamar.
Kondisi awal : Sudah lolos case Mengisi Data Hari Penyewaan.
Kondisi akhir : Menampikan form Selesai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Aktor : User
Tabel 3.5 Memilih Jenis Kamar.
Aktor System
1. Aktor Memilih jenis kamar yang disukai.
2. Menekan tombol pilih.
3. Menampilkan form Pengisian Data
Diri Penyewa.
4. Aktor memasukan data diri pada form
yang telah disediakan.
5. Menekan tombol next.
6. Menyimpan Data Transaksi pada
tabel.
7. Menampilkan form Transaksi
penyewaan.
Skenario : Memasukan bukti transaksi.
Kondisi awal : Sudah melakukan transaksi menyewa kamar.
Kondisi akhir : Masuk ke form SelesaiDP.
Aktor : User
Tabel 3.6 Masukan data diri untuk penyewaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Aktor System
1. Aktor memasukan nomor order
dari penyewaan, email dan bukti
transaksi berupa foto transfer dari
bank.
2. Menekan tombol Input.
3. Mengecek nomor order dan email, jika
benar maka sistem akan menyimpan
bukti transaksi jika salah error akah
keluar.
4. Menampilkan form SelesaiDP.
Skenario : Melihat konfirmasi penyewaan
Kondisi awal : Sudah melakukan case Memasukan bukti
transaksi.
Kondisi akhir : membuat kamar sewa baru di tabel kamar sewa.
Aktor : User
Tabel 3.7create kamar sewa.
Aktor System
1. Aktor memasukan nomor order dari
penyewaan dan email.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2. Menekan tombol Input.
3. Mengecek nomor order, email dan
status konfirmasi.
4. Menampilkan form SelesaiDP.
Skenario : Validasi pemesanan.
Kondisi awal : Sudah lolos case Login
Kondisi akhir : Masuk ke form HalamanAdmin.
Aktor : Operator
Tabel 3.8Validasi pemesanan.
Aktor System
1. Aktor melihat data pemesan
yang ada, mecari data pemesan
yang sudah membayar.
2. Memilih yes atau no pada kolom
konfirmasi. Lalu menekan
tombol input.
3. Mengupdatedata kamar yang disewa
menjadi sudah deal disewa, atau
menghapus jika memilih no.
4. Menampilkan form Halaman Admin.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Skenario : Membuat Kamar Sewa
Kondisi awal : Jam 20.00
Kondisi akhir : Menambah data Kamar Sewa
Aktor : -
Tabel 3.9Membuat Kamar Sewa
Aktor System
1. Ketika pukul 20.00 WIB.
2. Menambah Kamar sewa sesuai tanggal
hari ini.
Skenario : Logout
Kondisi awal : -
Kondisi akhir : Masuk ke form operator atau admin.
Aktor : Operator dan Admin.
Tabel 3.10Skenario Logout
Aktor System
1 Menekan tombol Logout.
3. menampilkan form utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.4. Activity Diagram
Berikut adalah gambar diagram activity untuk proses login.
Masuk ke halaman
login
Menampilkan halaman
Login
User Sistem
Memasukan Username
dan Password
Mengecek
Username dan
Password
Menekan
tombol batal
Menekan
tombol login
Username dan
password benar
Username dan
password salah
Masuk ke Form
Utama
Gambar 3.2Diagram aktifitas login
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Berikut adalah gambar diagram activity untuk proses
Memasukan kriteria Penyewaan.
Memasukan Data hari,
lama dan banyak kamar
Mencari kamar yang
kosong pada hari yang
dipilih
User Sistem
Menekan tombol cari
Menampilkan Halaman
Jenis Kamar
Gambar 3.3Diagram aktifitas Memasukan kriteria Penyewaan
Berikut adalah gambar diagram activity untuk proses Logout.
Menekan tombol Logout
UserSistem
Keluar dari admin
Menampilkan halaman utama
Gambar 3.4Diagram aktifitas Logout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Berikut adalah gambar diagram activity untuk proses Transaki
Menyewa Kamar.
Memilih kamar yang
diinginkan
UserSistem
Menekan tombol Pilih
Menampilkan Halaman
Data PenyewaMemasukan Data diri
pada Form
Menekan tombol Sewa Menyimpan data pada tabel
Penyewa, Kamar, Buku Tamu.
Menampilkan form
feed back
Gambar 3.5Diagram aktifitas Transaki Menyewa Kamar
Berikut adalah gambar diagram activity untuk proses Memasukan
bukti transaksi.
Memasukan nomor
Order, Email dan foto
Bukti transfer
UserSistem
Menekan tombol Input
Mengecek Nomor order
dan Email user
Mengupdate Tabel
Transaksi_sewa
Nomor Order dan
email benar
Nomor order
dan email salah
Gambar 3.6Diagram aktifitas Memasukan bukti transaksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Berikut adalah gambar diagram activity untuk proses Melihat konfirmasi
penyewaan.
Memasukan nomor
Order dan Email
UserSistem
Menekan tombol Input
Mengecek Nomor order
dan Email user
Menampilkan transaksi telah di
konfirmasi
Nomor Order dan
email benar
Nomor order
dan email salah
Gambar 3.7Diagram aktifitas Melihat konfirmasi penyewaan
Berikut adalah gambar diagram activity untuk proses validasi
penyewaan.
UserSistem
Mencari data penyewa
Menekan Tombol
Yes atau noMengupdate tabel
Kamar_sewa dan
transaksi_sewa
Menampilkan
Form
HalamanAdmin
Gambar 3.8Diagram aktifitas validasi penyewaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Berikut adalah gambar diagram activity untuk proses menambah
data Kamar sewa.
UserSistem
Ketika pukul 20.00 WIB
Menambah data
Kamar sewa
Gambar 3.9Menambah data Kamar sewa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.5. Perancangan Diagram Sekuensial
Diagram sekuensial adalah diagram yang menjelaskan bagaimana
suatu operasi atau sistem dijalankan secara tahap demi tahap.
:FORM LOGIN: FORM
HalamanAdmin.jsp: SISTEM
1. Memasukan Id
dan password
2. Mengecek Id,
dan password
3. Menampilkan Form
HalamanAdmin.jsp
Admin
Gambar 3.10Case Login
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
:FORM UTAMA: FORM PILIH
KAMAR: PROSES
Memasukan Data
tanggal masuk,
tanggal keluar, dan
banyak kamar.
Mengecek Kamar
kosong pada hari
yang telah dipilih
Menampilkan
Jenis Kamar
User
: getDisplay()
Proses().getDisplay()
Gambar 3.11Memasukan kriteria Penyewaan.
: FORM JENIS
KAMAR
: FORM DATA
PENYEWA
Memilih Jenis
Kamar
User
: PROSES : DP() : sewa_kamar(): SELESAI
Id,
tanggal_masuk,
tanggal_keluar,
jumlah kamar,
nama kamar,
harga
proses.DP(id,
tanggal_masuk,
tanggal_keluar,
harga, jmlkamar)
Menampilkan Form data
penyewa
nonota, noid, id, nama, alamat, notlp,
jmlkamar, tanggalmasuk,
tanggalkeluar, email, hargaDP
sewa_kamar(nonota,
noid, id, nama,
alamat, notlp,
jmlkamar,
tanggalmasuk,
tanggalkeluar, email,
hargaDP)
Menampilkan
Form Selesai
Gambar 3.12Transaki Menyewa Kamar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
:FORM DP.jsp: FORM
SelesaiDP.jsp: PROSES
No order, email, foto
bukti transaksi
Menampilkan
SelesaiDP.jsp
User
: verivikasi()
proses.verivikasi(noorder,
email)
No order, email, foto
bukti transaksi
Gambar 3.13Masukan Memasukan bukti transaksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
:FORM
Konfirmasi.jsp: PROSES
No order, email
Menampilkan
Konfirmasi.jsp
User
: verivikasi2()
proses.verivikasi2(noorder,
email)
No order, email
Gambar 3.14Melihat konfirmasi penyewaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
:FORM
HalamanAdmin.jsp: PROSES
Memilih ya atau tidak
pada kolom
konfirmasi sesai
nama penyewa
Menampilkan
HalamanAdmin.jsp.jsp
Admin
: update_transaksi()
proses.update_transaksi(id)
atau
proses.delete_transaksi(id)
Id penyewa
Gambar 3.15Validasi penyewaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
: UpdateKamarSewa : PROSES : update_harian()
proses.update_harian();
Waktu 20.00 WIB
Gambar 3.16Menambah Kamar Sewa
: FORM
HalamanAdmin.jsp:FORM LOGIN : SISTEM
Menekan tombol
Logout
Menampilkan Form
LoginAdmin.jsp
Admin
Gambar 3.17Case Logout.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.6. Perancangan Diagram Kelas
Berikut adalah gambar perancangan diagram kelas :
Kamar PenyewaProses
- idkamar : String
- nmkamar : String
- keterangan : String
- gambar : String
- fasilitas : String
- harga : Int
+ <<Constructor>>
+ Set/Get()
- nama : String
- email : String
- notlp : String
+ <<Constructor>>
+ Set/Get()
+ <<Constructor>>
+ totalkamar() : ResultSet
+ getDisplay() : ArrayList<>
+ update_kamar_sewa() : String
+ sewa_kamar() : String
+ nonota() : ResultSet
+ DP() : ResultSet
+ verivikasi() : ResultSet
+ verivikasi2() : ResultSet
+ update_nota() : ResultSet
+ getDisplayOrder() : ArrayList<>
+ update_transaksi() : ResultSet
+ delete_transaksi() : String
+ getDisplayKonfirmasiOrder(): ArrayList<>
KamarSewa
- datepicker : String
- datepicker2 : String
- jmlkamar : String
+ <<Constructor>>
+ Set/Get()
Transaksi Sewa
- fotodp : String
- email : String
- tanggalmasuk : String
- tanggalkeluar : String
- idorder : int
- hargadp : int
- kamar : Kamar
- penyewa : Penyewa
+ <<Constructor>>
+ Set/Get()
Gambar 3.18 Diagram kelas
3.7. Perancangan Konseptual
Dibawah ini akan dijelaskan keterkaitan relasi antar entitas
dengan gambar 3.19.
Kamar Sewa Kamar
- id_kamar_sewa(PK)
- no_kamar
- id_sewa
- tanggal
- status
- id_kamar (PK)
- nama_kamar
- harga
- keterangan
- gambar
Penyewa
- Id_penyewa (PK)
- nama_penyewa
- no_tlp
- alamat
1..* 1..1
Transaksi sewa
- id_sewa (PK)
- id_penyewa
- tanggal masuk
- tanggal keluar
- tanggal
- DP
1..1
1..* 0..1
1..*
Fasilitas
- id_Fasilitas (PK)
- nama_fasilitas
Fasilitas_kamar
- id_kamar
- id_fasilitas
1..*
1..*
Jenis Kamar
- id_kamar
- no_kamar (PK)
1..1 1..*
Gambar 3.19Diagram Entity Relatio
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
3.8. Perancangan Logikal
Model Relasional Perancangan Logikal dapat dilihat pada gambar
3.20.
Kamar Sewa Jenis Kamar
- id_kamar_sewa(PK)
- no_kamar (FK)(U)
- id_sewa (FK)
- tanggal (U)
- status
- id_kamar (PK)
- nama_kamar
- harga
- keterangan
- gambar
Penyewa
- Id_penyewa (PK)
- nama_penyewa
- no_tlp
- alamat
1..* 1..1
Transaksi sewa
- id_sewa (PK)
- id_penyewa (FK)
- tanggal masuk
- tanggal keluar
- tanggal
- Harga DP
- DP
- Status
1..1
1..*0..1
1..*
Fasilitas
- id_Fasilitas (PK)
- nama_fasilitas
Fasilitas_kamar
- id_kamar (U)
- id_fasilitas (U)
1..*
1..*
Kamar
- no_kamar (PK)
- id_kamar (FK)
1..1 1..*
1..1
1..1
Gambar 3.20Diagram Rational Relational
3.9. Desain Database
Dalam pembuatan sistem ini memerlukan beberpa tabel seperti
tabel penyewa, kamar sewa, transaksi sewa, dan kamar.
Tabel 3.11Penyewa
Nama Tipe Ukuran Keterangan Key
Id_penyewa int 10 Id dari penyewa PK
Nama_penyewa Varchar 30 Nama dari penyewa
No_tlp Varchar 20 Nomor telepon dari
penyewa
Alamat Varchar 50 Alamat dari penyewa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Tabel 3.12Jenis Kamar
Nama Tipe Ukuran Keterangan Key
Id_kamar int 10 Id kamar PK
Nama_kamar Varchar 30 Nama kamar
Harga int 10 Harga kamar
Keterangan Varchar 50 Keterangan kamar
Gambar Varchar 50 Gambar kamar
Tabel 3.13Kamar_Sewa
Nama Tipe Ukuran Keterangan Key
Id_kamar_sewa int 10 Id dari kamar sewa PK
No_kamar int 10 Nomor dari kamar
yang disewa
FK
id_sewa int 10 Id dari transaksi sewa FK
Status Varchar 10 Alamat dari penyewa
Tanggal Date Tanggal dari kamar
yang akan disewa
Tabel 3.14Transaksi_Sewa
Nama Tipe Ukuran Keterangan Key
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Id_sewa int 10 Id penyewaan kamar PK
id_penyewa int 10 Id dari penyewa FK
DP int 10 Bukti transfer DP
Tanggal masuk Date Tanggal masuk dari
kamar yang akan
disewa
Tanggal keluar Date Tanggal keluar dari
kamar yang akan
disewa
Tanggal Date Tanggal dari Transaksi
sewa
Harga DP int 10 Harga DP yang harus
dibayar
Status Int 10 Status dari Transaksi
Sewa
Tabel 3.15Fasilitas_kamar
Nama Tipe Ukuran Keterangan Key
Id_fasilitas int 10 id dari tabel fasilitas FK
Id_kamar int 10 id dari tabel kamar FK
Tabel 3.16Fasilitas
Nama Tipe Ukuran Keterangan Key
Id_Fasilitas_kamar int 10 Id dari fasilitas
kamar
PK
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Nama_fasilitas Varchar 50 nama dari fasilitas
Tabel 3.17Jenis Kamar
Nama Tipe Ukuran Keterangan Key
No_kamar int 10 Nomor kamar PK
Id_kamar Int 10 Id dari kamar FK
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Bab IV
IMPLEMENTASI SISTEM
4.1. Spesifikasi Software dan Hardware yang Digunakan
4.1.1. Spesifikasi Software
Spesifikasi software yang digunakan untuk implementasi
sistem pemerolehan informasi ini adalah sebagai berikut :
1. Sistem Operasi Windows 7 Ultimate 32 bit
2. Oracle XE
3. Oracle SQL Developer
4. Netbeans 7.2.1
5. Browser : Google Chrome
4.1.2. Spesifikasi Hardware
Spesifikasi hardware yang digunakan untuk implementasi
sistem pemerolehan informasi ini adalah sebagai berikut :
1. Prosesor : Intel Core i3- 380M 2,53 GHz
2. Memori RAM 4 GB DDR 3
3. Harddisk 500GB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
4.2. Implementasi Stored Procedure
4.2.1. Implementasi Stored Procedure untuk inserttransaksi
penyewaan.
Berikut adalah listing program insert penyewa disajikan
pada gambar 4.1, store procedure ini digunakan untuk memasukan
semua data dari penyewa, kamar, dan tanggal kedalam
database.Stored Procedure ini juga berguna dalam menangani
masalah concurrency control, dengan menerapkan protokol
2PL(two phase locking) dengan memberi query FOR UPDATE
OF. Locking berjalan ketika cursoremp_idkamarsewa dipanggil,
cursor berguna untuk mengunci id_kamar_sewa dari tabel kamar
sewa yang sesuai dengan nomor kamar yang kosong dan juga
memiliki status "F". Setelah melakukan penguncian pada
id_kamar_sewa, maka kamar yang telah ditunjuk akan diganti
statusnya dari "F" menjadi "B". Setelah itu memasukan data diri
penyewa dan memberi id_sewa pada tabel kamar sewa sesuai
dengan nomor id sewa dari penyewa. Pengambilan nomor order
menggunakan fuction get_noorder.(lihat pada Lampiran A)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
create or replace
PROCEDURE INSERT_PENYEWA3
(p_noid in penyewa.id_penyewa%type,
p_name in penyewa.nama_penyewa%type,
p_notlp in penyewa.no_tlp%type,
p_alamat in penyewa.alamat%type,
p_email in penyewa.email%type,
p_idkmr in kamar.id_kamar%type,
p_jmlkmr in number,
p_hargaDP in number,
p_in in transaksi_sewa.tanggal_in%type,
p_out in transaksi_sewa.tanggal_out%type,
p_status out number)
is
ex_no_data_found EXCEPTION;
i int;
j int;
conter int :=0;
v_maxid transaksi_sewa.id_sewa%type;
v_idpenyewa penyewa.id_penyewa%type;
v_idkamarsewa kamar_sewa.id_kamar_sewa%type;
cursor emp_transaksi is
select DISTINCT(ks.tanggal) from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.status = 'F'
and ks.tanggal between p_in and p_out
order by ks.tanggal;
emp_record emp_transaksi%rowtype;
cursor emp_transaksi1 is
select DISTINCT(ks.tanggal) from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.status = 'B' and ks.id_sewa = 0
and ks.tanggal between p_in and p_out
order by ks.tanggal;
emp_record4 emp_transaksi%rowtype;
cursor emp_kamar is
select ks.no_kamar from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.status = 'F' and ks.tanggal between p_in and
p_out
group by ks.no_kamar having count(ks.tanggal) = (select count(DISTINCT(tanggal))
FROM kamar_sewa ks, kamar k
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
cursor emp_kamar is
select ks.no_kamar from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.status = 'F' and ks.tanggal between
p_in and p_out
group by ks.no_kamar having count(ks.tanggal) = (select count(DISTINCT(tanggal))
FROM kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.tanggal between p_in and p_out)
order by ks.no_kamar;
emp_record2 emp_kamar%rowtype;
cursor emp_kamar1 is
select ks.no_kamar from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.status = 'B' and ks.id_sewa = 0
and ks.tanggal between p_in and p_out
group by ks.no_kamar having count(ks.tanggal) = (select count(DISTINCT(tanggal))
FROM kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and k.id_kamar = p_idkmr and ks.tanggal between p_in and p_out)
order by ks.no_kamar;
emp_record5 emp_kamar%rowtype;
cursor emp_idkamarsewa(p_nokamar in kamar_sewa.no_kamar%type) is
select id_kamar_sewa from kamar_sewa
where no_kamar = p_nokamar and tanggal between p_in and p_out and status = 'F'
order by id_kamar_sewa
FOR UPDATE OF id_kamar_sewa;
emp_record3 emp_idkamarsewa%rowtype;
cursor emp_penyewa is
select id_penyewa
from penyewa
where id_penyewa = p_noid;
emp_record6 emp_penyewa%rowtype;
BEGIN
open emp_kamar;
loop
fetch emp_kamar into i;
open emp_idkamarsewa(i);
fetch emp_idkamarsewa into emp_record3;
close emp_idkamarsewa;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
BEGIN
open emp_kamar;
loop
fetch emp_kamar into i;
open emp_idkamarsewa(i);
fetch emp_idkamarsewa into emp_record3;
close emp_idkamarsewa;
if i is null then
raise ex_no_data_found;
else
open emp_transaksi;
loop
fetch emp_transaksi into emp_record;
exit when emp_transaksi%notfound;
update kamar_sewa set status = 'B' where no_kamar = i and tanggal = (select DISTINCT(tanggal) from
kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and ks.no_kamar = i and k.id_kamar = p_idkmr and ks.tanggal =
emp_record.tanggal);
end loop;
exit when emp_kamar%rowcount >= p_jmlkmr;
close emp_transaksi;
end if;
end loop;
close emp_kamar;
open emp_penyewa;
fetch emp_penyewa into emp_record6;
v_maxid := get_noorder;
if emp_record6.id_penyewa is null then
insert into penyewa values(p_noid, p_name, p_notlp, p_alamat, p_email);
insert into transaksi_sewa values(v_maxid, p_noid, p_in, p_out, ' ', sysdate, 0,p_hargaDP);
else
v_maxid := get_noorder;
insert into transaksi_sewa values(v_maxid, p_noid, p_in, p_out, ' ', sysdate, 0,p_hargaDP);
end if;
close emp_penyewa;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
insert into transaksi_sewa values(v_maxid, p_noid, p_in, p_out, ' ', sysdate, 0,p_hargaDP);
else
v_maxid := get_noorder;
insert into transaksi_sewa values(v_maxid, p_noid, p_in, p_out, ' ', sysdate, 0,p_hargaDP);
end if;
close emp_penyewa;
open emp_kamar1;
loop
fetch emp_kamar1 into j;
if j is null then
raise ex_no_data_found;
else
open emp_transaksi1;
loop
fetch emp_transaksi1 into emp_record4;
update kamar_sewa set id_sewa = v_maxid where no_kamar = i and tanggal = (select
DISTINCT(tanggal) from kamar_sewa ks, kamar k
where ks.no_kamar = k.no_kamar and ks.no_kamar = i and k.id_kamar = p_idkmr and ks.tanggal =
emp_record4.tanggal);
exit when emp_transaksi1%notfound;
end loop;
exit when emp_kamar1%rowcount >= p_jmlkmr;
close emp_transaksi1;
end if;
end loop;
close emp_kamar1;
commit;
p_status:=1;
EXCEPTION
WHEN ex_no_data_found THEN
ROLLBACK;
p_status:=0;
WHEN OTHERS THEN
ROLLBACK;
p_status:=0;
END INSERT_PENYEWA3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.1Insert Penyewa
4.2.2. Implementasi Stored Procedure untuk menghapus transaksi
penyewaan kamar.
Berikut ini adalah stored procedure yang digunakan untuk
menghapus transaksi bila penyewa membatalkan transaksi
penyewaan kamar, yang disajikan pada gambar 4.2.
Gambar 4.2Delete Transaksi
create or replace
PROCEDURE DELETE_TRANSAKSI(
p_id in number)
AS
BEGIN
update kamar_sewa set id_sewa = 0, status = 'F' where id_sewa =
p_id;
delete transaksi_sewa where id_sewa = p_id;
END DELETE_TRANSAKSI;
EXCEPTION
WHEN ex_no_data_found THEN
ROLLBACK;
p_status:=0;
WHEN OTHERS THEN
ROLLBACK;
p_status:=0;
END INSERT_PENYEWA3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.2.3. Implementasi Stored Procedure untuk menambah data dari
kamar sewa.
Berikut adalah stored procedure yang digunakan untuk
menambah data dari kamar sewa, seperti tanggal dari setiap nomor
kamarnya, yang disajikan pada gambar 4.3.
create or replace
PROCEDURE UPDATE_HARIAN
AS
v_maxtanggal transaksi_sewa.tanggal%type;
v_maxidks kamar_sewa.id_kamar_sewa%type;
v_date date;
cursor emp_nokamar is
select distinct(no_kamar) from kamar_sewa order by no_kamar;
emp_record emp_nokamar%rowtype;
cursor emp_tanggal is
select tanggal, id_sewa from transaksi_sewa where status = 0;
emp_record2 emp_tanggal%rowtype;
BEGIN
select to_date(sysdate, 'DD-MM-YY') into v_date from dual;
select max(tanggal)+1 into v_maxtanggal from kamar_sewa;
open emp_nokamar;
loop
fetch emp_nokamar into emp_record;
select max(id_kamar_sewa)+1 into v_maxidks from kamar_sewa;
exit when emp_nokamar%notfound;
insert into kamar_sewa values (v_maxidks, emp_record.no_kamar, 0, v_maxtanggal, 'F');
end loop;
close emp_nokamar;
open emp_tanggal;
loop
fetch emp_tanggal into emp_record2;
if to_date(emp_record2.tanggal, 'DD-MM-YY')+7 = v_date then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 4.3Update Harian
open emp_nokamar;
loop
fetch emp_nokamar into emp_record;
select max(id_kamar_sewa)+1 into v_maxidks from kamar_sewa;
exit when emp_nokamar%notfound;
insert into kamar_sewa values (v_maxidks, emp_record.no_kamar, 0, v_maxtanggal, 'F');
end loop;
close emp_nokamar;
open emp_tanggal;
loop
fetch emp_tanggal into emp_record2;
if to_date(emp_record2.tanggal, 'DD-MM-YY')+7 = v_date then
update kamar_sewa set id_sewa = 0, status = 'F' where id_sewa = emp_record2.id_sewa;
delete transaksi_sewa where id_sewa = emp_record2.id_sewa;
delete penyewa where id_penyewa = emp_record2.id_sewa;
end if;
exit when emp_tanggal%notfound;
end loop;
close emp_tanggal;
END UPDATE_HARIAN;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
4.3. Implementasi Program
4.3.1. Proses memberi harga DP
Pada gambar 4.4 terdapat 2 metode yang dipanggil yaitu
DP() (lihat pada Lampiran A). Metod DP() digunakan untuk
menghitung jumlah total harga DP yang harus dibayar oleh
penyewa.
Gambar 4.4Proses Transaksi Sewa
String id = request.getParameter("id");
int jmlkamar =
Integer.parseInt(request.getParameter("jmlkamar"));
String namakamar = request.getParameter("namakamar");
int harga = Integer.parseInt(request.getParameter("harga"));
Proses proses = new Proses();
ResultSet dp = proses.DP(id, kamar.getDatepicker(),
kamar.getDatepicker2(), harga, jmlkamar);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.3.2. Proses insert data Transaksi penyewaan kamar.
Pada gambar 4.5terdapat metod sewa_kamar() dan nonota()
(lihat pada Lampiran A), metod sewa_kamar() berguna untuk
memasukan data penyewa, kamar dan transaksinya kedalam
beberapa tabel yang bersangkutan. Banyak variabel yang diambil
sperti id kamar, data diri dari penyewa, tanggal masuk dan tanggal
keluar lalu harga DP.nonota() digunakan untuk mengambil no nota
atau nomor order yang terbaru.
Gambar 4.5Insert data Transaksi penyewaan kamar
String id = request.getParameter("id");
int noid = Integer.parseInt(request.getParameter("noID"));
String nama = request.getParameter("namapenyewa");
String alamat = request.getParameter("alamat");
String notlp = request.getParameter("notlp");
String email = request.getParameter("email");
int jmlkamar = Integer.parseInt(request.getParameter("jmlkamar"));
String namakamar = request.getParameter("namakamar");
String tanggalmasuk = request.getParameter("tanggalmasuk");
String tanggalkeluar = request.getParameter("tanggalkeluar");
int hargaDP = Integer.parseInt(request.getParameter("hargaDP"));
Proses proses = new Proses();
String p = proses.sewa_kamar(noid, id, nama, alamat, notlp, jmlkamar,
tanggalmasuk, malam, email, hargaDP);
ResultSet nonota = proses.nonota();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
4.3.3. Proses memasukan bukti transfer dp.
Pada gambar 4.6 menunjukan cara memasukan bukti
transfer DP, dibawah ini terdapat 2 metod yaitu verivikasi() dan
update_nota() (lihat pada Lampiran A). Metod verivikasi()
digunakan untuk mencari apakah nomor order dan email yang
dimasukan ada dalam database, jika ditemukan maka metod
update_nota() akan dipanggil untuk mengupdate tabel transaksi
sewa, yaitu menambah foto bukti transaksi dari bank.
Gambar 4.6Memasukan bukti transfer dp
int noorder = Integer.parseInt(mr.getParameter("nonota"));
String foto = mr.getFilesystemName("foto");
String email = mr.getParameter("Email");
System.out.println(noorder);
System.out.println(email);
ResultSet verivikasi = proses.verivikasi(noorder, email);
int jml = 0;
while (verivikasi.next()) {
jml++;
}
if (jml == 1) {
proses.update_nota(noorder, foto);
response.sendRedirect("SelesaiDP.jsp?sukses=y");
} else {
response.sendRedirect("DP.jsp?error=y");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
4.3.4. Proses Melihat Konfirmasi penyewaan kamar
Pada gambar 4.7 dibawah hampir sama dengan proses
memasukan bukti transfer, bedanya disini cuma menggunakan 1
metod verivikasi2(), perbedaan antara metod verivikasi() dan
verivikasi2() (lihat pada Lampiran A) terdapat pada status, metod
verivikasi2() menggunakan tambahan status pada transaksinya.
Gambar 4.7Melihat Konfirmasi penyewaan kamar
int noorder = Integer.parseInt(mr.getParameter("nonota"));
String email = mr.getParameter("Email");
System.out.println(noorder);
System.out.println(email);
ResultSet verivikasi = proses.verivikasi2(noorder, email);
int jml = 0;
while (verivikasi.next()) {
jml++;
}
if (jml == 1) {
response.sendRedirect("Konfirmasi.jsp?sukses=y");
} else {
response.sendRedirect("Konfirmasi.jsp?error=y");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
4.3.5. Proses mengkonfirmasi transaksi penyewaan kamar.
Pada gambar 4.8 terdapat 2 metod yaitu update_transaksi() dan
delete_transaksi() (lihat pada Lampiran A). Metod
update_transaksi() berjalan ketika variabel konfirmasi memiliki isi
"Ya", maka sistem akan memanggil metod update_transaksi(), jika
variabel konfirmasi memiliki isi "Tidak", maka sistem akan
memanggil metod delete_transaksi().
Gambar 4.8Konfirmasi Penyewaan Kamar
String contentType = request.getContentType();
Proses proses = new Proses();
int id = 0;
String konfirmasi = request.getParameter("Konfirmasi");
if (konfirmasi != null) {
if (konfirmasi.equalsIgnoreCase("Ya")) {
id = Integer.parseInt(request.getParameter("id"));
proses.update_transaksi(id);
response.sendRedirect("HalamanAdmin.jsp?sukses=y");
} else if (konfirmasi.equalsIgnoreCase("Tidak")) {
id = Integer.parseInt(request.getParameter("id"));
proses.delete_transaksi(id);
response.sendRedirect("HalamanAdmin.jsp?sukses=y");
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
4.3.6. Proses menambah kamar setiap hari.
Pada gambar 4.9 dibawah ini adalah cara memanggil data
setiap harinya dengan menggunakan Timer Schedule, jadi pada
setiap jam 20.00 wib. Sistem akan secara otomatis menambah data
tanggal untuk setiap nomor kamar yang tersedia di tabel kamar
sewa. Metod yang digunakan untuk mengupdate adalah
update_harian().
public static void main (String... arguments ) {
TimerTask UpdateKamarSewa = new UpdateKamarSewa();
//perform the task once a day at 4 a.m., starting tomorrow morning
//(other styles are possible as well)
Timer timer = new Timer();
timer.scheduleAtFixedRate(UpdateKamarSewa, getTomorrow8pm(), fONCE_PER_DAY);
}
/**
* Implements TimerTask's abstract run method.
*/
@Override public void run(){
//toy implementation
try {
Proses proses = new Proses();
proses.update_harian();
System.out.println("Update Data Kamar telah berhasil");
} catch (SQLException ex) {
Logger.getLogger(UpdateKamarSewa.class.getName()).log(Level.SEVERE, null, ex);
}
}
// PRIVATE
//expressed in milliseconds
private final static long fONCE_PER_DAY = 1000*60*60*24;
private final static int fONE_DAY = 1;
private final static int fFOUR_AM = 20;
private final static int fZERO_MINUTES = 00;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.9Menambah kamar setiap hari
/**
* Implements TimerTask's abstract run method.
*/
@Override public void run(){
//toy implementation
try {
Proses proses = new Proses();
proses.update_harian();
System.out.println("Update Data Kamar telah berhasil");
} catch (SQLException ex) {
Logger.getLogger(UpdateKamarSewa.class.getName()).log(Level.SEVERE, null, ex);
}
}
//expressed in milliseconds
private final static long fONCE_PER_DAY = 1000*60*60*24;
private final static int fONE_DAY = 1;
private final static int fFOUR_AM = 20;
private final static int fZERO_MINUTES = 00;
private static Date getTomorrow8pm(){
Calendar tomorrow = new GregorianCalendar();
tomorrow.add(Calendar.DATE, fONE_DAY);
Calendar result = new GregorianCalendar(
tomorrow.get(Calendar.YEAR),
tomorrow.get(Calendar.MONTH),
tomorrow.get(Calendar.DATE),
fFOUR_AM,
fZERO_MINUTES
);
return result.getTime();
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
4.4. Implementasi Antarmuka
Dalam sebuah sistem, tampilan interface sangat penting bagi
seorang pengguna. Sehingga dalam sistem ini di implementasikan
sebuah interface yang simple dan memudahkan pengguna dalam
melakukan transaksi penyewaan kamar.
4.4.1. Halaman Login Admin
Halaman admin hanya bisa diakses oleh admin dari hotel
yang telah mengetahui id dan password yang telah
ditentukan.Halaman admin disajikan pada gambar 4.10.
Gambar 4.10Halaman Login Admin
4.4.2. Halaman Home
Halaman utama dari sistem yang dibuat, halaman ini
berguna untuk mencari kamar yang diinginkan berdasarkan tanggal
masuk, tanggal keluar dan jumlah kamarnya, tidak hanya itu
halaman ini memuat profil dari hotel Prambanan Indah.Dapat
dilihat pada gambar 4.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Gambar 4.11Halaman Home
4.4.3. Halaman PilihKamar
Pada halaman ini anda bisa memilih salah satu dari kamar
yang tersediah untuk disewa, yand disajikan pada gambar 4.12.
Gambar 4.12Halaman PilihKamar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
4.4.4. Halaman DataPenyewa
Halaman DataPenyewa digunakan untuk memasukan dapat
diri dari penyewa yang ingin melakukan penyewaan kamar.Dapat
dilihat pada gambar 4.13.
Gambar 4.13Halaman DataPenyewa
4.4.5. Halaman Selesai
Halaman Selesai menampilkan kembali data diri dan data
kamar yang ingin disewa, hal penting yang perlu di catatat adalah,
nomor order dan email dari penyewa yang akan digunakan untuk
memverifikasi pembayaran DP,dapat dilihat pada gambar 4.14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.14Halaman Selesai
4.4.6. Halaman Verifikasi DP
Halaman Verifikasi DP digunakan untuk memasukan bukti
transaksi yang dilakukan pengguna, seperti contohnya adalah
pengiriman uang lewat bank.Dapat dilihat pada gambar 4.15.
Gambar 4.15Halaman Verifikasi DP
4.4.7. Halaman Konfirmasi
Tampilan halaman konfirmasi disajikan pada gambar 4.16,
fungsinya hampir sama dengan halaman verifikasi DP, bedanya
disini tidak ada masukan foto. Nomor order dan email digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
untuk mengecek apakah nomor order dari pengguna sudah
dikonfirmasi oleh admin dari hotel.
Gambar 4.16Halaman Konfirmasi
4.4.8. Halaman Admin Belum Dikonfirmasi
Halaman admin ada 2 yang pertama adalah halaman data
penyewa yang belum dikonfirmasi.Gambar 4.17menunjukan
bahwa ada 1 penyewa yang sudah melakukan verifikasi
pembayaran tetapi belum dikonfirmasi oleh admin.
Gambar 4.17Halaman Admin Belum Dikonfirmasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
4.4.9. Halaman Admin Sudah Dikonfirmasi
Halaman admin yang kedua adalah halaman data penyewa
yang sudah dikonfirmasi oleh admin hotel.Gambar 4.18 disajikan
dibawah ini.
Gambar 4.18Halaman Admin Sudah Dikonfirmasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
BAB V
ANALISA HASIL PENGUJIAN
5.1. Analisa Hasil Perangkat Lunak
Aplikasi Penyewaan Kamar Online menerapkan Manajemen
Transaksi menerapkan Protokol Two Phase Locking ini dibuat untuk
membantu penyewa untuk menyewa kamar hotel dengan mudah,
dengan tampilan yang sederhana dan mudah dipahami dan juga
berguna untuk membantu admin yang bekerja di hotel dalam melihat
data-data dari penyewa, dan juga mengurangi tingkat kesalahan dalam
transaksi penyewaan kamar.
Pengujian aplikasi ini dilakukan di hotel Prambanan Indah, yang
dilakukan oleh pegawai hotel yang bertugas sebagai resepsionis, para
pegawai melakukan pengujian fungsi mulai dari penyewaan sampai
dengan mengkonfirmasi data penyewa.Pengujian tidak hanya
dilakukan di hotel Prambanan Indah, penulis juga melakukan
pengujian kepada beberapa mahasiswa dan warga.Pengunjian
menggunakan kuisioner yang berguna untuk melihat apakah sistem ini
dapat memudahkan pengguna dalam melakukan transaksi penyewaan
kamar hotel.
5.2. Analisa Hasil Coba Terhadap Program
Untuk melakukan pengujian pada aplikasi yang menerapkan
protokol 2PL(two phase locking), digunakan 2 buah simulasi
aplikasi yang menerapkan protokol 2PL(two phase locking). Kedua
simulasi diberi delay agar kedua aplikasi tersebut bisa bertabrakan
ketika keduanya dijalankan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
5.2.1. Pengujian terhadap proses Transaksi Penyewaan Kamar.
Berikut adalah ilustrasi pengujian yang dilakukan.Gambar 5.1
menujukan beberapa tipe kamar yang kosong pada hari yang
dipilih.
Gambar 5 1Berikut adalah gambar dari memilih Tipe Kamar.
Dalam pengujian ini akan menggunakan tipe kamar Kamar
Spesial. Tipe kamar tersebut tersisa 1 kamar yang kosong dan akan
ada 2 orang atau user yang akan menyewa.
Pada gambar 5.2 merupakan pengisian data penyewa, untuk
menyewa kamar tersebut. Dalam proses ini belum terjadi user atau
penyewa harus memasukan data diri mereka sebelum melakukan
penyewaan kamar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Gambar 5 2Gambar Isi Data Diri transaksi 1
Simulasi ini menggunakan stored procedure yang akan diberi
delay dengan cara memberi DBMS_LOCK.SLEEP(…). Berikut
adalah perintah delay yang digunakan
Stored procedure yang digunakan bisa dilihat pada gambar 4.1.
delay diletakan sesudah pemanggilan kursor emp_idkamarsewa
yang merupakan kursor untuk mengunci transaksi. Delay diberikan
agar kedua transaksi bertabrakan dan protokol 2PL akan berjalan.
Gambar 5 3Gambar Isi Data Diri transaksi 2
Pada transaksi yang kedua pada gambar 5.3, sama halnya ingin
menyewa kamar tipe Kamar Spesial yang terdapat 1 kamar kosong.
DBMS_LOCK.SLEEP(5);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Kedua transaksi tersebut akan dijalankan bersamaan sehingga akan
bertabrakan yang akan menyebabkan protokol 2PL akan berjalan.
Gambar 5 4Transaksi Berjalan Bersamaan Karena delay
Pada gambar 5.4 dapat dilihat bahwa kedua transaksi sedang
melakukan waiting yang dikarenakan delay dan juga protokol 2PL
yang berjalan. Hasil akhir dari kedua transaksi diatas adalah
sebagai berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Gambar 5 5Hasil akhir dari kedua Transaksi
Pada gambar 5.5 mengahasilkan Transaksi 1 berhasil menyewa
dan menampilkan hasil transaksi penyewaan kamar, sedangkan
pada transaksi 2 kembali pada halaman utama dan menunjukan
error yang bertuliskan "Maaf Telah Terjadi Kesalahan Harap
Mengulan Order Penyewaan Kamar." Karena ketika kedua
transaksi tersebut bertabrakan, transaksi 1 berhasil melakukan
penguncian terlebih dahulu, sehingga transaksi 2 harus menunggu
transaksi 1 selesai dan melepas pengunciannya (commit). Setelah
penguncian (commit) dilepas ternyata kamar yang tadi bisa disewa
telah terisi, maka transasksi 2 melakukan pembatalan (rollback)
penyewaan kamar yang menghasilkan kembali kehalaman utama
dan memberikan error.
Tabel 5.1 merupakan tabel yang menggambarkan proses yang
terjadi pada pengujian aplikasi yang menerapkan protokol 2PL
terhadap masalah concurrency control.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Tabel 5.1Proses yang terjadi dalam Transaksi Penyewaan Kamar
Waktu Transaksi 1 Transaksi 2 Kamar
t1
open emp_kamar;
fetch emp_kamar into i;
open emp_idkamarsewa(i);
close emp_idkamarsewa;
1
t2
update kamar_sewa set status =
'B' where no_kamar = i and
tanggal = (select
DISTINCT(tanggal) from
kamar_sewa ks, kamar k
where ks.no_kamar =
k.no_kamar and ks.no_kamar = i
and k.id_kamar = 1 and
ks.tanggal = emp_record.tanggal);
open emp_kamar;
loop
fetch emp_kamar into i;
open emp_idkamarsewa(i);
close emp_idkamarsewa;
0
t3
insert into penyewa values(1234,
'yhoga', 085647728657, 'Kroya',
insert into transaksi_sewa
values(3, 3, 01-MAR-15, 01-
MAR-15, ' ', sysdate, 0,62000);
WAIT 0
t4
update kamar_sewa set id_sewa =
v_maxid where no_kamar = i and
tanggal = (select
DISTINCT(tanggal) from
kamar_sewa ks, kamar k
where ks.no_kamar =
k.no_kamar and ks.no_kamar = i
and k.id_kamar = 1 and
ks.tanggal =
emp_record4.tanggal);
WAIT 0
t5 Commit; if i is null then
raise ex_no_data_found; 0
t6 Rollback; 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
5.3. Analisa Hasil Coba Terhadap Pengguna
Uji coba terhadap pengguna dilakukan dengan menyebarkan
kuisioner kepada 10 orang. Sasaran penyebaran kuisioner tersebut
terdiri dari:
6 orang sebagai penyewa (untuk menguji sejauh mana sistem
penyewaan kamar dapat membantu)
4 orang sebagai admin (untuk menguji apakah sistem dapat
membantu admin dalam mengelola data penyewa)
5.3.1. Form kuisioner
Form kuisioner yang disebarkan untuk pengguna aplikasi
penyewaan kamar hotel ini adalah sebagai berikut :
1. Kuisioner untuk pengguna
2. Kuisioner untuk admin
5.3.2. Hasil dan pembahasan
Hasil jawaban responden kemudian diolah sehingga
memperoleh gambaran sebagai berikut :
5.3.2.1. Hasil Uji Coba Admin
5.3.2.1.1. Hasil uji tampilan
Pernyataan 1 :
Saya merasa nyaman dengan tampilan dari sistem.
Tabel 5.2 Hasil Pertanyaan 1
Jawaban Jumlah Responden Total
Sangat Setuju 3 75%
Setuju 1 25%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Sangat Tidak Setuju 0 0%
Hasil kuisioner yang terdapat pada tabel 5.2 dapat
disimpulkan bahwa 75% dari admin berpendapat bahwa tampilan
sistem yang dibuat mudah dilihat dan nyaman.
Pertanyaan 2 :
Saya dapat membaca dengan mudah huruf – huruf
yang ada pada system.
Tabel 5.3 Hasil Pertanyaan 2
Jawaban Jumlah Responden Total
Sangat Setuju 2 50%
Setuju 2 50%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil jawaban yang terdapat pada tabel 5.3,dapat
disimpulkan 50% dari responden mengatakan bahwa huruf-
huruf dari sistem ini sangat mudah untuk dilihat dan dibaca,
sedangkan dari 50% selanjutnya mengatkan bahwa huruf-
hurufnya sudah bagus dan mudah untuk dibaca.
Pertanyaan 3 :
Saya dapat dengan mudah memahami perintah dan
petunjuk yang ada pada system.
Tabel 5.4 Hasil Pertanyaan 3
Jawaban Jumlah Responden Total
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Sangat Setuju 1 25%
Setuju 3 75%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil jawaban dari tabel 5.4, 25% menyatakan
bahwa perintah dan petunjuk yang ada disistem ini mudah
dipahami.75% lainya menyatakan bahwa mereka setuju
bahwa perintah dan petunjuknya mudah dipahami.
Pertanyaan 4 :
Saya dapat dengan mudah menemukan menu atau
fungsi yang saya butuhkan pada sistem.
Tabel 5.5 Hasil Pertanyaan 4
Jawaban Jumlah Responden Total
Sangat Setuju 2 50%
Setuju 2 50%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil tabel 5.5, 50% pengguna admin merasa bahwa
menu dan fungsi yang dibutuhkan sangat dengan mudah
ditemukan, sedangkan 50% lainnya menyatakan setuju bahwa
menu dan fungsi dari sistem yang dibutuhkan oleh pengguna
admin mudah ditemukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Pertanyaan 5 :
Saya dapat dengan mudah mengenali dan memahami
menu dan fungsi yang ada pada sistem.
Tabel 5.6 Hasil Pertanyaan 5
Jawaban Jumlah Responden Total
Sangat Setuju 1 25%
Setuju 3 75%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil tabel 5.6 menyatakan 25% pengguna admin
berpendapat bahwa dia dapat dengan sangat mudah
mengenali dan memahami menu dan fungsi dari sistem ini,
sedangkan 75% dari pengguna admin berpendapat setuju
bahwa sistem ini memiliki menu dan fungsi yang dapat
dikenali dan dipahami.
Pertanyaan 6 :
Saya dapat dengan mudah memahami perintah dan
petunjuk yang ada pada sistem.
Tabel 5.7 Hasil Pertanyaan 6
Jawaban Jumlah Responden Total
Sangat Setuju 1 25%
Setuju 3 75%
Ragu - ragu 0 0%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil tabel 5.7 menyatakan 25% pengguna admin
merasa dengan mudah memahami perintah dan petunjuk yang
ada pada sistem, sedangkan 75% lainnya menyatakan setuju
bahwa mudah dalam memahami perintah dan petunjuknya.
5.3.2.1.2. Hasil uji isi/Informasi
Pernyataan 1 :
Dengan sistem ini saya dapat melihat informasi penyewa
yang belum dikonfirmasi penyewaan kamarnya.
Tabel 5.8 Hasil Pertanyaan 1
Jawaban Jumlah Responden Total
Sangat Setuju 3 75%
Setuju 1 25%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.8 dapat disimpulkan bahwa 75% dari
admin berpendapat bahwa admin dapat dengan mudah
menemukan informasi dari penyewa yang belum dikonfirmasi
transaksi penyewaan kamarnya. Sisanya mengatakan setuju.
Pertanyaan 2 :
Dengan sistem ini saya bisa melihat bukti transfer
penyewa dengan mudah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Tabel 5.9 Hasil Pertanyaan 2
Jawaban Jumlah Responden Total
Sangat Setuju 2 50%
Setuju 2 50%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil jawaban dari tabel 5.9, 50% mengatakan bahwa
admin dengan mudah menemukan bukti transfer pembayaran
DP dari penyewa dengan mudah, sedangkan dari 50%
selanjutnya mengatkan bahwa mereka mudah menemukannya.
Pertanyaan 3 :
Dengan sistem ini saya bisa dengan mudah
merubah konfirmasi penyewaan setelah melihat bukti
transaksi atau membatalkan setelah mendapat informasi
pembatalan.
Tabel 5.10 Hasil Pertanyaan 3
Jawaban Jumlah Responden Total
Sangat Setuju 2 50%
Setuju 2 50%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil tabel 5.10 menyatakan 50% menyatakan bahwa
mereka dapat dengan mudah mengkonfirmasi atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
membatalkan transaksi penyewaan kamar.50% lainya
menyatakan bahwa mereka setuju dengan mudah
mengkonfirmasi atau membatalkan transaksi penyewaan
kamar.
Pertanyaan 4 :
Dengan sistem ini saya dapat melihat informasi
penyewa yang sudah dikonfirmasi penyewaan kamarnya.
Tabel 5.11 Hasil Pertanyaan 4
Jawaban Jumlah Responden Total
Sangat Setuju 1 25%
Setuju 3 75%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil tabel 5.11 menyatakan 75% pengguna admin
setuju bahwa mereka dengan mudah menemukan informasi
dari penyewa yang sudah dikonfirmasi, sedangkan 25%
lainnya menyatakan sangat setuju bahwa mereka dengan
mudah menemukan informasi dari penyewa yang sudah
dikonfirmasi.
Pertanyaan 5 :
Secara umum sistem ini efektif membantu saya dalam
menyewa kamar.
Tabel 5.12 Hasil Pertanyaan 5
Pengguna Jawaban
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Admin 1 Ya
Admin 2 Ya memudahkan
Admin 3 SS
Admin 4 Ya
Hasil jawaban dari tabel 5.12 memliki 4 yang
berbeda, 1 menyatakan sistem ini membantu menyewa
kamar.3 orang mengatakan ya, sedangkan 1 orang
mengatakan "SS" yang artinya Sangat Setuju dengan
program sistem ini.Jadi admin berpendapat bahwa sistem
ini memudahkan dalam membantu admin.
5.3.2.2. Hasil Uji Coba Pengguna
5.3.2.2.1. Hasil uji tampilan
Pernyataan 1 :
Saya merasa nyaman dengan tampilan dari sistem.
Tabel 5.13 Hasil Pertanyaan 1
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 2 33.3%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.13 dapat disimpulkan bahwa66.6% dari
pengguna berpendapat bahwa tampilan sistem yang dibuat mudah
dilihat dan nyaman, dan 33.3% sisanya mengatakan setuju.
Pertanyaan 2 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Saya dapat membaca dengan mudah huruf – huruf
yang ada pada system.
Tabel 5.14 Hasil Pertanyaan 2
Jawaban Jumlah Responden Total
Sangat Setuju 2 33.3%
Setuju 4 66.6%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.14 dapat disimpulkan bahwa 66.6%
mengatakan bahwa huruf-huruf dari sistem ini sangat mudah untuk
dilihat dan dibaca, sedangkan dari 33.3% selanjutnya mengatkan
bahwa huruf-hurufnya sudah mudah untuk dibaca.
Pertanyaan 3 :
Saya dapat dengan mudah memahami perintah dan
petunjuk yang ada pada system.
Tabel 5.15 Hasil Pertanyaan 3
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 2 33.3%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.15 dapat disimpulkan bahwa66.6%
menyatakan bahwa perintah dan petunjuk yang ada disistem ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
mudah dipahami.33.3% lainya menyatakan bahwa mereka
setuju bahwa perintah dan petunjuknya mudah dipahami.
Pertanyaan 4 :
Saya dapat dengan mudah menemukan menu atau
fungsi yang saya butuhkan pada sistem.
Tabel 5.16 Hasil Pertanyaan 4
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 2 33.3%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.16 dapat disimpulkan bahwa 66.6%
pengguna merasa bahwa menu dan fungsi yang dibutuhkan
sangat dengan mudah ditemukan, sedangkan 33.3% lainnya
menyatakan setuju bahwa menu dan fungsi dari sistem yang
dibutuhkan oleh pengguna mudah ditemukan.
Pertanyaan 5 :
Saya dapat dengan mudah mengenali dan memahami
menu dan fungsi yang ada pada system.
Tabel 5.17 Hasil Pertanyaan 5
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 1 16.6%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Ragu - ragu 1 16.6%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.17 dapat disimpulkan bahwa 66.6%
pengguna berpendapat bahwa dia dapat dengan sangat mudah
mengenali dan memahami menu dan fungsi dari sistem ini,
sedangkan 16.6% dari pengguna berpendapat setuju bahwa
sistem ini memiliki menu dan fungsi yang dapat dikenali dan
dipahami, dan 16.6% sisanya masih merasa ragu-ragu dalam
mengenali dan memahami menu dan fungsi yang ada pada
sistem.
Pertanyaan 6 :
Saya dapat dengan mudah mengenali dan memahami
menu dan fungsi yang ada pada system.
Tabel 5.18 Hasil Pertanyaan 6
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 1 16.6%
Ragu - ragu 1 16.6%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.18 dapat disimpulkan bahwa 66.6%
pengguna merasa bahwa menu dan fungsinya sangat dengan
mudah ditemukan, sedangkan 16.6% lainnya menyatakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
setuju bahwa menu dan fungsi dari sistem mudah ditemukan,
dan 16.6% sisanya masih merasa ragu-ragu dalam mengenali
dan memahami menu dan fungsi dari sistem.
5.3.2.2.2. Hasil uji Isi/Informasi
Pernyataan 1 :
Dengan sistem ini saya dapat dengan mudah mencari
kamar berdasarkan tanggal dan jumlah kamar yang saya
masukan.
Tabel 5.19 Hasil Pertanyaan 1
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 1 16.6%
Ragu - ragu 1 16.6%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.19 dapat disimpulkan bahwa 66.6% dari
pengguna berpendapat bahwa mereka dengan mudah mencari
kamar yang berdasarkan tanggal dan jumlah kamar, 16.6%
menyatakan setuju dengan bahwa mereka dengan mudah mencari
kamar yang berdasarkan tanggal dan jumlah kamar, sedangkan
16.6% lainnya masih ragu-ragu dalam pemilihan kamar yang
berdasarkan tanggal dan jumlah kamar sebagai masukannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Pertanyaan 2 :
Dengan sistem ini saya dapat dengan mudah
menyewa kamar dan berapa harga DP yang saya harus.
Tabel 5.20 Hasil Pertanyaan 2
Jawaban Jumlah Responden Total
Sangat Setuju 4 66.6%
Setuju 2 33.3%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.20 dapat disimpulkan bahwa
66.6% mengatakan bahwa penyewa dengan mudah
menyewa kamar dan mengetahui berapa harga DP yang
harus dibayar, sedangkan dari 33.3% selanjutnya
mengatkan bahwa mereka setuju bahwa sistem ini
memudahkan dalam menyewa kamar dan mengetahui
berapa harga DP yang harus dibayar.
Pertanyaan 3 :
Dengan sistem ini saya dapat dengan mudah
mengisi data diri penyewa.
Tabel 5.21 Hasil Pertanyaan 3
Jawaban Jumlah Responden Total
Sangat Setuju 3 50%
Setuju 3 50%
Ragu - ragu 0 0%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.21 dapat disimpulkan bahwa 50%
menyatakan bahwa mereka dapat dengan mudah mengisi data
diri penyewa.50% lainya menyatakan bahwa mereka setuju
dengan mengisi data diri penyewa.
Pertanyaan 4 :
Dengan sistem ini saya dapat dengan mudah
memberikan bukti transfer DP.
Tabel 5.22 Hasil Pertanyaan 4
Jawaban Jumlah Responden Total
Sangat Setuju 3 50%
Setuju 2 33.3%
Ragu - ragu 1 16.6%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.22 dapat disimpulkan bahwa 50%
pengguna sangat setuju bahwa mereka dengan mudah
memberikan bukti transfer DP melalui sistem ini, dan33.3%
lainnya menyatakan setuju bahwa mereka dengan mudah
memberikan bukti transfer DP melalui sistem ini, sedangkan
16.6% lainnya masih merasa ragu-ragu atas kemudahan dalam
memberikan bukti transfer DP melalui sistem ini.
Pernyataan 5 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Dengan sistem ini saya dapat dengan mudah mengetahui
apakah kamar yang saya sewa sudah dikonfirmasi atau belum
setelah memberikan bukti transfer DP.
Tabel 5.23 Hasil Pertanyaan 5
Jawaban Jumlah Responden Total
Sangat Setuju 3 50%
Setuju 3 50%
Ragu - ragu 0 0%
Tidak Setuju 0 0%
Sangat Tidak Setuju 0 0%
Hasil dari Tabel 5.23 dapat disimpulkan bahwa50% dari
pengguna berpendapat bahwa sistem ini memudahkan pengguna
untuk mengetahui apakah transaksi penyewaan kamar sudah
dikonfirmasi atau belum. 50% sisanya mengatakan setuju dengan
kemudahan untuk mengetahui apakah sudah dikonfirmasi atau
belum transaksi penyewaan kamar mereka.
Pertanyaan 6 :
Secara umum sistem ini efektif membantu saya dalam
menyewa kamar.
Tabel 5.24 Hasil Pertanyaan 6
Pengguna Jawaban
Pengguna 1 Ya memudahkan
Pengguna 2 Ya
Pengguna 3
Memudahkan, menampilakan kamar yang
tidak dipakai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Pengguna 4 Ya
Pengguna 5 Ya
Pengguna 6 Ya
Hasil tabel 2.24 menyatakan bahwa 6 jawaban pengguna
yang berbeda mengatakan bahwa sistem ini membantu menyewa
kamar.5 orang mengatakan ya, sedangkan 1 orang mengatakan"
Memudahkan, menampilakan kamar yang tidak dipakai ".Jadi
Sistem yang dibuat dapat memudahkan pengguna untuk menyewa
kamar, memverifikasi bukti transfer DP dan mengkonfirmasi
transaksi penyewaan mereka.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Kesimpulan yang penulis dapat dari pengujian Sistem adalah :
1. Sistem Penyewaan Kamar Online menerapkan Manajemen
Transaksi menggunakan Protokol Two Phase Lockingtelah
berhasil dibuat dan dapat menangani masalah concurrency.
2. Hasil dari analisa yang dilakukan dengan cara menyebarkan
kuisioner ke 10 responden adalah sebagai berikut :
a. Untuk hasil dari ujicoba tampilan dari admin dan pengguna,
dapat disimpulkan bahwa admin dan user nyaman dengan
tampilan, dan mudah dalam menemukan dan memahami
fungsi ataupun perintah yang ada pada program ini.
b. Untuk hasil uji isi admin, dapat disimpulkan bahwa sistem
ini memudahkan admin dalam mengolah data penyewa
yang sudah ataupun belum dikonfirmasi transaksi
penyewaan kamarnya.
c. Berdasarkan hasil uji isi penyewa, dapat disimpulkanbahwa
sistem yang dibuat dapat memudahkan pengguna untuk
menyewa kamar, memverifikasi bukti transfer DP dan
mengkonfirmasi transaksi penyewaan mereka.
6.2. Saran
Bisa dilihat dari hasil pengujian, masih ada beberapa pengguna
yang masih ragu-ragu, dalam tampilan maupun sistem transaksi
penyewaan kamar ini, jadi sistem ini masih belum maksimal untuk
beberapa pengguna. Saran dari penulis untuk kedepannya adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
1. Tampilan dibuat lebih sederhana dan lebih membantu dalam
penyewaan kamar, bisa ditambahi sistem rekomendasi untuk
kamar yang ingin disewa oleh pengguna.
2. Untuk tampilan seperti ukuran huruf dan warna-warna yang
digunakan dalam tampilan harus lebih diperhatikan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Daftar Pustaka
Burch, JohnG, Nathan Hod, Information systems: a case-workbook, A
Wiley/Hamilton Publication, 1975.
Whitten, J.L., Bentlex, L.D., Barlow, V.M., System Analysis & Design Methods
Sixth Edition, Irwin / McGraw-Hill, 2004.
Connolly, T., Begg, C., DATABASE SYSTEM A Practical Approach To Design,
Impementation And Management, Addison Wesley, 2002.
Kurniasih, Sri. Prinsip Hotel Resort : Studi Kasus : Putri Duyung Cottage-Ancol,
Jakarta Utara, Maret. 2006.
Pressman, Roger S., Software Engineering : A Practitioner's Approach.The
McGraw-Hill Companies, 1992.
Oracle Database 10g:PL/SQL Fundamental, Oracle Inc. 2004
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
Lampiran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
A. Lapiran Program
1. Metod DP()
public ResultSet DP(String id, String tanggal1, String tanggal2, int harga, int
jmlkamar) throws SQLException {
Statement statement = connection.createStatement();
String query;
query = "select (((count(DISTINCT(tanggal))-1) * " + harga + ") * " + jmlkamar + "
)*0.2 from kamar_sewa ks, jenis_kamar k "
+ " where ks.no_kamar = k.no_kamar and k.id_kamar = " + id + " "
+ "and ks.tanggal between to_date('" + tanggal1 + "', 'DD-MM-YY') and
to_date('" + tanggal2 + "', 'DD-MM-YY')";
System.out.println(query);
ResultSet rest = statement.executeQuery(query);
return rest;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
2. Metod sewa_kamar()
public String sewa_kamar(int nonota,int noid, String idkamar, String name, String alamat,
String notlp, int jmlkamar, String tanggal1, String tanggal2, String email, int harga) throws
SQLException {
CallableStatement callst = null;
String namanya = "";
try {
String sql = "{CALL insert_penyewa3(?,?,?,?,?,?,?,?,?,to_date(?,'DD-MM-
YY'),to_date(?,'DD-MM-YY'))}";
callst = connection.prepareCall(sql);
callst.setInt(1, nonota);
callst.setInt(2, noid);
callst.setString(3, name);
callst.setString(4, notlp);
callst.setString(5, alamat);
callst.setString(6, email);
callst.setString(7, idkamar);
callst.setInt(8, jmlkamar);
callst.setInt(9, harga);
callst.setString(10, tanggal1);
callst.setString(11, tanggal2);
callst.execute();
connection.commit();
return namanya;
} catch (SQLException e) {
Logger.getLogger(KamarSewa.class.getName()).log(Level.SEVERE, null, e);
connection.rollback();
throw e;
} }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
3. Metod verivikasi() dan update_nota()
public ResultSet verivikasi(int id, String email) throws SQLException {
Statement statement = connection.createStatement();
String query;
query = "select ts.id_sewa, p.email "
+ " from transaksi_sewa ts, penyewa p "
+ " where p.id_penyewa = ts.id_penyewa "
+ " and ts.id_sewa = " + id + " "
+ " and p.email = '" + email + "'";
System.out.println(query);
ResultSet rest = statement.executeQuery(query);
return rest;
}
public ResultSet update_nota(int id, String dp) throws SQLException {
System.out.println(id + " " + dp);
Statement statement = connection.createStatement();
String query;
query = "update transaksi_sewa set dp = '" + dp + "' where id_sewa = " + id + " ";
System.out.println(query);
ResultSet rest = statement.executeQuery(query);
return rest;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
4. Metod verivikasi2()
public ResultSet verivikasi2(int id, String email) throws SQLException {
Statement statement = connection.createStatement();
String query;
query = "select ts.id_sewa, p.email "
+ " from transaksi_sewa ts, penyewa p "
+ " where p.id_penyewa = ts.id_penyewa "
+ " and ts.id_sewa = " + id + " "
+ " and p.email = '" + email + "'"
+ " and ts.status = 1";
System.out.println(query);
ResultSet rest = statement.executeQuery(query);
return rest;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
5. Metod update_transaksi() dan delete_transaksi()
public ResultSet update_transaksi(int id) throws SQLException {
Statement statement = connection.createStatement();
String query;
query = "update transaksi_sewa set status = 1 where id_sewa = "+id+" ";
System.out.println(query);
ResultSet rest = statement.executeQuery(query);
return rest;
}
public String delete_transaksi(int id) throws SQLException {
CallableStatement callst = null;
String namanya = "";
try {
String sql = "{CALL DELETE_TRANSAKSI(?)}";
callst = connection.prepareCall(sql);
callst.setInt(1, id);
callst.execute();
connection.commit();
return namanya;
} catch (SQLException e) {
Logger.getLogger(KamarSewa.class.getName()).log(Level.SEVERE, null, e);
connection.rollback();
throw e;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
6. Fungsi get_noorder
create or replace FUNCTION get_noorder
RETURN NUMBER
AS
v_maxid transaksi_sewa.id_sewa%type;
BEGIN
select max(id_sewa)+1 into v_maxid from transaksi_sewa;
RETURN v_maxid;
END get_noorder;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI