PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 :
iii
April 2015
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Hidup ini adalah pilihan, anda berhak memilih apa yang anda inginkan. Karena pilihan yang anda pilih yang akan membukanan jalan untuk masa depan anda.
Skripsi ini ku persembahkan untuk : Yesus Kristus Bapak, Ibu, dan Kakak Sahabat dan Teman-teman
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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. kamar.
Implementasi Stored Procedure untuk menghapus transaksi penyewaan 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
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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). Tahaptahapnya 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
menyebabkan data yang tidak benar.
yang
pertama
sehingga
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 : CURSOR … IS SELECT… FROM … FOR UPDATE [OF nama kolom];
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 orangorang, dan berubah menjadi kata Hotel yang kita kenal saat ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 :
14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Sub Sistem 1 Online
Memasukan Kriteria Penyewaan
Include Menyewa Kamar
Memasukan bukti transaksi User
Melihat konfirmasi penyewaan
Login
Include Validasi Pemesanan
Include
Admin
Logout
Sub Sistem 2 Non web
Membuat Kamar Sewa
Gambar 3.1 Use Case 3.3.2. Definisi Aktor Tabel 3.1 Definisi Aktor
16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
Memasukan data tanggal check-in dan tanggal check-out
kriteria
dari hotel, jumlah kamar.
Penyewaan. 3
Transaki
Sistem menampilkan daftar kamar yang tersedia pada hari
Menyewa
yang
Kamar.
memasukan datadiri penyewa dan sistem akan transaksi
dipilih,
kemudian
memilihnya,
kemudian
penyewaan. 4
Memasukan
Aktor memasukan nomor order, email, dan bukti
bukti transaksi.
transaksi pembayaran DP sebagai contoh foto bukti transfer melalui bank.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
18
Validasi
Sistem melakukan pengecekan kamar mana yang sudah
pemesanan
dipesan
dan
juga
menangani
jadi
atau
tidaknya
penyewaan kamar. 6
Melihat
Aktor memasukan nomor order dan email untuk melihat
konfirmasi
apakah transaksi penyewaan sudah di konfirmasi oleh
penyewaan
hotel, sistem melakukan pengecekan apakah transaksi aktor telah di konfirmasi.
7
8
Membuat kamar Sistem akan membuat data dari tabel kamar_sewa pada Sewa
pukul 20.00 setiap hari.
Logout.
Sistem melakukan Logout operator.
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 1 Aktor memasukkan id, password dan memilih status login sebagai Admin di
System
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Aktor
20
: 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 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.
form
Transaksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Aktor
21
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 1. Aktor memasukan nomor order dari penyewaan dan email.
System
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 menjadi
sudah
kamar deal
yang
disewa
disewa,
menghapus jika memilih no. 4. Menampilkan form Halaman Admin.
atau
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Skenario
23
: 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.4.
Activity Diagram Berikut adalah gambar diagram activity untuk proses login. User
Sistem
Masuk ke halaman login
Menampilkan halaman Login
Memasukan Username dan Password Menekan tombol batal
Menekan tombol login
Mengecek Username dan Password Username dan password salah Username dan password benar Masuk ke Form Utama
Gambar 3.2Diagram aktifitas login
24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
Berikut adalah gambar diagram activity untuk proses Memasukan kriteria Penyewaan. User
Sistem
Memasukan Data hari, lama dan banyak kamar
Menekan tombol cari
Mencari kamar yang kosong pada hari yang dipilih
Menampilkan Halaman Jenis Kamar
Gambar 3.3Diagram aktifitas Memasukan kriteria Penyewaan
Berikut adalah gambar diagram activity untuk proses Logout. User
Menekan tombol Logout
Sistem
Keluar dari admin
Menampilkan halaman utama
Gambar 3.4Diagram aktifitas Logout
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
Berikut adalah gambar diagram activity untuk proses Transaki Menyewa Kamar. User
Sistem
Memilih kamar yang diinginkan
Menekan tombol Pilih
Memasukan Data diri pada Form
Menekan tombol Sewa
Menampilkan Halaman Data Penyewa
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. User
Memasukan nomor Order, Email dan foto Bukti transfer
Menekan tombol Input
Sistem
Nomor order dan email salah
Mengecek Nomor order dan Email user
Nomor Order dan email benar Mengupdate Tabel Transaksi_sewa
Gambar 3.6Diagram aktifitas Memasukan bukti transaksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Berikut adalah gambar diagram activity untuk proses Melihat konfirmasi penyewaan. User
Memasukan nomor Order dan Email
Menekan tombol Input
Sistem
Nomor order dan email salah
Mengecek Nomor order dan Email user
Nomor Order dan email benar Menampilkan transaksi telah di konfirmasi
Gambar 3.7Diagram aktifitas Melihat konfirmasi penyewaan
Berikut adalah gambar diagram activity untuk proses validasi penyewaan. User
Sistem
Mencari data penyewa
Menekan Tombol Yes atau no
Mengupdate tabel Kamar_sewa dan transaksi_sewa Menampilkan Form HalamanAdmin
Gambar 3.8Diagram aktifitas validasi penyewaan
27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Berikut adalah gambar diagram activity untuk proses menambah data Kamar sewa. User
Sistem
Ketika pukul 20.00 WIB
Menambah data Kamar sewa
Gambar 3.9Menambah data Kamar sewa
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.5.
29
Perancangan Diagram Sekuensial Diagram sekuensial adalah diagram yang menjelaskan bagaimana suatu operasi atau sistem dijalankan secara tahap demi tahap.
:FORM LOGIN
: FORM HalamanAdmin.jsp
Admin 1. Memasukan Id dan password 2. Mengecek Id, dan password
3. Menampilkan Form HalamanAdmin.jsp
Gambar 3.10Case Login
: SISTEM
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
: FORM PILIH KAMAR
:FORM UTAMA
User
: PROSES
30
: getDisplay()
Memasukan Data tanggal masuk, tanggal keluar, dan banyak kamar. Mengecek Kamar kosong pada hari yang telah dipilih
Proses().getDisplay() Menampilkan Jenis Kamar
Gambar 3.11Memasukan kriteria Penyewaan.
: FORM JENIS KAMAR
User Memilih Jenis Kamar
: FORM DATA PENYEWA
: SELESAI
: PROSES
Id, tanggal_masuk, tanggal_keluar, jumlah kamar, nama kamar, harga
: DP()
: sewa_kamar()
proses.DP(id, tanggal_masuk, tanggal_keluar, harga, jmlkamar)
Menampilkan Form data penyewa
nonota, noid, id, nama, alamat, notlp, jmlkamar, tanggalmasuk, tanggalkeluar, email, hargaDP
Menampilkan Form Selesai
Gambar 3.12Transaki Menyewa Kamar.
sewa_kamar(nonota, noid, id, nama, alamat, notlp, jmlkamar, tanggalmasuk, tanggalkeluar, email, hargaDP)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
:FORM DP.jsp
: FORM SelesaiDP.jsp
: PROSES
31
: verivikasi()
User No order, email, foto bukti transaksi No order, email, foto bukti transaksi
proses.verivikasi(noorder, email) Menampilkan SelesaiDP.jsp
Gambar 3.13Masukan Memasukan bukti transaksi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
:FORM Konfirmasi.jsp
: PROSES
: verivikasi2()
User No order, email No order, email
proses.verivikasi2(noorder, email) Menampilkan Konfirmasi.jsp
Gambar 3.14Melihat konfirmasi penyewaan.
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
:FORM HalamanAdmin.jsp
: PROSES
: update_transaksi()
Admin Memilih ya atau tidak pada kolom konfirmasi sesai nama penyewa Id penyewa proses.update_transaksi(id) atau proses.delete_transaksi(id) Menampilkan HalamanAdmin.jsp.jsp
Gambar 3.15Validasi penyewaan.
33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
: UpdateKamarSewa
: PROSES
34
: update_harian()
Waktu 20.00 WIB
proses.update_harian();
Gambar 3.16Menambah Kamar Sewa : FORM HalamanAdmin.jsp
:FORM LOGIN
: SISTEM
Admin Menekan tombol Logout
Menampilkan Form LoginAdmin.jsp
Gambar 3.17Case Logout.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.6.
35
Perancangan Diagram Kelas Berikut adalah gambar perancangan diagram kelas :
Kamar - idkamar - nmkamar - keterangan - gambar - fasilitas - harga
Penyewa - nama - email - notlp
: String : String : String : String : String : Int
Proses KamarSewa
: String : String : String
- datepicker - datepicker2 - jmlkamar
+ <
> + 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<>
+ <> + Set/Get()
+ <> + Set/Get()
: String : String : String
+ <> + Set/Get()
Transaksi Sewa - fotodp - email - tanggalmasuk - tanggalkeluar - idorder - hargadp - kamar - penyewa
: String : String : String : String : int : int : Kamar : Penyewa
+ <> + Set/Get()
Gambar 3.18 Diagram kelas
3.7.
Perancangan Konseptual Dibawah ini akan dijelaskan keterkaitan relasi antar entitas dengan gambar 3.19. Jenis Kamar 1..1
1..*
- id_kamar - no_kamar (PK) 1..* Penyewa -
1..1
Kamar Sewa
Id_penyewa (PK) nama_penyewa no_tlp alamat
-
1..1
Kamar -
id_kamar_sewa(PK) no_kamar id_sewa tanggal status Fasilitas_kamar
id_kamar (PK) nama_kamar harga keterangan gambar 1..*
1..* - id_kamar - id_fasilitas
Transaksi sewa 1..*
-
id_sewa (PK) id_penyewa tanggal masuk tanggal keluar tanggal DP
1..* 0..1
Gambar 3.19Diagram Entity Relatio
Fasilitas - id_Fasilitas (PK) - nama_fasilitas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.8.
36
Perancangan Logikal Model Relasional Perancangan Logikal dapat dilihat pada gambar 3.20. Kamar 1..1
1..*
- no_kamar (PK) - id_kamar (FK) 1..* Penyewa
1..1
Kamar Sewa
- Id_penyewa (PK) - nama_penyewa - no_tlp - alamat
Jenis Kamar
- id_kamar_sewa(PK) - no_kamar (FK)(U) - id_sewa (FK) - tanggal (U) - status
1..1
1..*
- id_kamar (PK) - nama_kamar - harga - keterangan - gambar
Fasilitas_kamar
Transaksi sewa
1..*
1..1
1..* - id_kamar (U) - id_fasilitas (U)
- id_sewa (PK) - id_penyewa (FK) - tanggal masuk - tanggal keluar - tanggal - Harga DP - DP - Status
0..1 1..*
Fasilitas 1..1 - id_Fasilitas (PK) - nama_fasilitas
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
Nomor telepon dari
Varchar 20
penyewa Alamat
Varchar 50
Alamat dari penyewa
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
Harga kamar
Keterangan
Varchar 50
Keterangan kamar
Gambar
Varchar 50
Gambar kamar
10
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
FK
yang disewa id_sewa
int
10
Id dari transaksi sewa
Status
Varchar 10
Alamat dari penyewa
Tanggal
Date
Tanggal dari kamar
FK
yang akan disewa
Tabel 3.14Transaksi_Sewa
Nama
Tipe
Ukuran
Keterangan
Key
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
Ukuran
Keterangan
Key
10
Id dari fasilitas
PK
Tabel 3.16Fasilitas
Nama
Tipe
Id_Fasilitas_kamar int
kamar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Nama_fasilitas
Varchar 50
39
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.
42
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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))
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
EXCEPTION WHEN ex_no_data_found THEN ROLLBACK; p_status:=0; WHEN OTHERS THEN ROLLBACK; p_status:=0; END INSERT_PENYEWA3;
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.
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;
Gambar 4.2Delete Transaksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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;
Gambar 4.3Update Harian
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.3.
50
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. 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);
Gambar 4.4Proses Transaksi Sewa
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. 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();
Gambar 4.5Insert data Transaksi penyewaan kamar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. 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"); }
Gambar 4.6Memasukan bukti transfer dp
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. 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"); }
Gambar 4.7Melihat Konfirmasi penyewaan kamar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 String contentType = request.getContentType(); memanggil metod delete_transaksi(). 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"); } }
Gambar 4.8Konfirmasi Penyewaan Kamar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI /** * 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(); } }
Gambar 4.9Menambah kamar setiap hari
56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.4.
57
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
64
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 DBMS_LOCK.SLEEP(5);
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
69
Tabel 5.1Proses yang terjadi dalam Transaksi Penyewaan Kamar
Waktu
t1
t2
t3
t4
t5
t6
Transaksi 1
Transaksi 2
open emp_kamar; fetch emp_kamar into i; open emp_idkamarsewa(i); close emp_idkamarsewa; 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); insert into penyewa values(1234, 'yhoga', 085647728657, 'Kroya', '[email protected]'); insert into transaksi_sewa values(3, 3, 01-MAR-15, 01MAR-15, ' ', sysdate, 0,62000); 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);
Commit;
Kamar
1
open emp_kamar; loop fetch emp_kamar into i; open emp_idkamarsewa(i); close emp_idkamarsewa;
0
WAIT
0
WAIT
0
if i is null then raise ex_no_data_found;
Rollback;
0
0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.3.
70
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Sangat Tidak Setuju
0
71
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 hurufhuruf dari sistem ini sangat mudah untuk dilihat dan dibaca, sedangkan dari 50% selanjutnya mengatkan bahwa hurufhurufnya 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Sangat Setuju
1
25%
Setuju
3
75%
Ragu - ragu
0
0%
Tidak Setuju
0
0%
Sangat Tidak Setuju
0
0%
72
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tidak Setuju
0
0%
Sangat Tidak Setuju
0
0%
74
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
membatalkan menyatakan
transaksi bahwa
penyewaan mereka
setuju
kamar.50% dengan
76
lainya 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Admin 1
Ya
Admin 2
Ya memudahkan
Admin 3
SS
Admin 4
Ya
77
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Ragu - ragu
1
16.6%
Tidak Setuju
0
0%
Sangat Tidak Setuju
0
0%
80
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tidak Setuju
0
0%
Sangat Tidak Setuju
0
0%
83
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 Memudahkan, menampilakan kamar yang
Pengguna 3
tidak dipakai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pengguna 4
Ya
Pengguna 5
Ya
Pengguna 6
Ya
85
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 :
86
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
88
Daftar Pustaka Burch,
JohnG, Nathan Hod, Information Wiley/Hamilton Publication, 1975.
systems: a
case-workbook,
A
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Lampiran
89
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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-MMYY'),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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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; }
92
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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; }
93
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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; } }
94
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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;
95