Pengujian terhadap proses Transaksi Penyewaan Kamar.

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 1 Berikut 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. Gambar 5 2 Gambar Isi Data Diri transaksi 1 Simulasi ini menggunakan stored procedure yang akan diberi delay dengan cara memberi DBMS_LOCK.SLEEP …. Berikut adalah perintah delay yang digunakan Stored procedure yang digunakan bisa dilihat pada gambar 4.1. delay diletakan sesudah pemanggilan kursor emp_idkamarsewa yang merupakan kursor untuk mengunci transaksi. Delay diberikan agar kedua transaksi bertabrakan dan protokol 2PL akan berjalan. Gambar 5 3 Gambar Isi Data Diri transaksi 2 Pada transaksi yang kedua pada gambar 5.3, sama halnya ingin menyewa kamar tipe Kamar Spesial yang terdapat 1 kamar kosong. DBMS_LOCK.SLEEP5; Kedua transaksi tersebut akan dijalankan bersamaan sehingga akan bertabrakan yang akan menyebabkan protokol 2PL akan berjalan. Gambar 5 4 Transaksi 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. Gambar 5 5 Hasil 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. Tabel 5.1 Proses yang terjadi dalam Transaksi Penyewaan Kamar Waktu Transaksi 1 Transaksi 2 Kamar t1 open emp_kamar; fetch emp_kamar into i; open emp_idkamarsewai; close emp_idkamarsewa; 1 t2 update kamar_sewa set status = B where no_kamar = i and tanggal = select DISTINCTtanggal from kamar_sewa ks, kamar k where ks.no_kamar = k.no_kamar and ks.no_kamar = i and k.id_kamar = 1 and ks.tanggal = emp_record.tanggal; open emp_kamar; loop fetch emp_kamar into i; open emp_idkamarsewai; close emp_idkamarsewa; t3 insert into penyewa values1234, yhoga, 085647728657, Kroya, yhogagmail.com; insert into transaksi_sewa values3, 3, 01-MAR-15, 01- MAR-15, , sysdate, 0,62000; WAIT t4 update kamar_sewa set id_sewa = v_maxid where no_kamar = i and tanggal = select DISTINCTtanggal from kamar_sewa ks, kamar k where ks.no_kamar = k.no_kamar and ks.no_kamar = i and k.id_kamar = 1 and ks.tanggal = emp_record4.tanggal; WAIT t5 Commit; if i is null then raise ex_no_data_found; t6 Rollback;

5.3. Analisa Hasil Coba Terhadap Pengguna

Uji coba terhadap pengguna dilakukan dengan menyebarkan kuisioner kepada 10 orang. Sasaran penyebaran kuisioner tersebut terdiri dari:  6 orang sebagai penyewa untuk menguji sejauh mana sistem penyewaan kamar dapat membantu  4 orang sebagai admin untuk menguji apakah sistem dapat membantu admin dalam mengelola data penyewa

5.3.1. Form kuisioner