A. Kebutuhan user
jawab
pelanggan
Id pelanggan
Nama pelanggan
Promo
Petugas
Id petugas
Nama petugas
ERD
C. Planing active database
1. Rencana SP (Stored Procedure)
Di dalam Sistem Informasi Reservasi Kamar Hotel, rencana SP kami meliputi hampir semua entity kecuali entity Keterlambatan. Jadi rencana SP di dalam Sistem Informasi Reservasi Kamar Hotel yaitu meliputi :
a. PELANGGAN
Stored procedure ini di gunakan untuk menambah, merubah, dan menghapus data pelanggan (termasuk di dalamnya entity pelanggan_private dan perusahaan).
b. FASILITAS
Stored procedure ini di gunakan untuk menambah, merubah, dan menghapus data fasilitas (termasuk didalamnya entity kamar dan restoran).
c. PETUGAS
Stored procedure ini di gunakan untuk menambah, merubah, dan menghapus data petugas.
d. PEMESANAN
Stored procedure ini di gunakan untuk menambah dan menghapus data pemesanan pelanggan.
e. CHECK_IN
Stored procedure ini di gunakan untuk menambah dan menghapus data check_in pelanggan.
f. CHECK_OUT
Stored procedure ini di gunakan untuk menambah dan menghapus data check_out pelanggan.
g. PEMBAYARAN
Stored procedure ini di gunakan untuk menambah dan menghapus data pembayaran pelanggan.
h. PROMO
pegawai
Stored procedure ini di gunakan untuk menambah dan menghapus data promo yang diberikan kepada pelanggan.
2. Rencana Function
Rencana Function dalam Sistem Informasi Reservasi Kamar Hotel kami adalah :
a. Lama Menginap Pelanggan
Function ini digunakan untuk mengecek Lama Menginap dari klien yang diperoleh dari entity Pelanggan, entity Check in dan entity Check Out.
b. Jumlah Pemesanan Pelanggan
Function ini digunakan untuk mengecek jumlah pemesan pelanggan yang diperoleh dari entity Pemesanan dan entity Pelanggan.
c. Total Pemesan per periode
Function ini digunakan untuk mengecek total pemesan kamar hotel per periode tertentu yang diperoleh dari entity Pemesanan.
d. Jumlah Pembayaran Pelanggan
Function ini digunakan untuk mengecek jumlah pembayaran yang harus dibayarkan oleh pelanggan yang diperoleh dari entity Pemesanan, entity Pelanggan, entity Check_in, entity Check_out serta entity Fasilitas guna untuk mengetahui harga fasilitas yang digunakan oleh pelanggan .
e. Total Pembayaran per periode
Function ini digunakan untuk mengecek total pembayaran kamar hotel per periode tertentu yang diperoleh dari entity Pembayaran.
3. Rencana Trigger
Rencana Trigger dalam Sistem Informasi Reservasi Kamar Hotel kami gunakan pada entity yang meliputi :
a. Update Gaji
Trigger ini digunakan untuk mengontrol dan merubah pada tabel petugas apabila jabatan petugas berubah maka gaji pada tabel petugas juga harus berubah.
b. Check Out
Trigger ini digunakan untuk mengontrol pada tabel Check Out apabila klien melebihi batas penyewaan kamar.
D.Planing Vew Join
View
Dalam sistem relasional, sebuah view adalah sebuah relasi virtual. Definisi view adalah hasil (result) dari sebuah Query terhadap relasi- relasi dasar (atau relasi real). Hasil (view) ini tidak disimpan dalam database seperti relasi dasar. Sebuah view adalah sebuah jendela dinamik, dalam artian bahwa ia mencerminkan semua update yang dilakukan terhadap database. Disamping pemakaiannya di dalam skemaexternal, view juga berguna untuk menjamin data- security dengan cara yang sederhana. Dengan memilih subset dari database, view dapat menyembunyikan beberapa data. Jika user mengakses database melalui view, mereka tak dapat melihat atau memanipulasi hidden-data, dengan demikian data akan menjadi secure. Perhatikan bahwa, dalam sistem DBMS terdistribusi,sebuah view dapat diturunkan dari relasi-relasi terdistribusi. Akses ke sebuah view akan memer lukan eksekusi dari kueri terdistribusi yang berhubungan dengan definisi view tersebut.
View Pada Sistem Informasi Reservasi Kamar Hotel yang kelompok kami kerjakan adalah Pemesanan dan Pembayaran. Dimana pada tabel Pemesanan akan menampilkan Tanggal pemesanan, Id pemesanan, nama pelanggan, jumlah pemesanan, jenis fasilitas dan total pemesanan. Pada tabel pemesanan ini diambil dari tabel pelanggan dan tabel fasilitas . Sedangkan tabel Pembayaran akan menampilkan Tanggal pembayaran, Id pembayaran, nama pelanggan, tanggal check_in, tanggal check_out, harga_fasilitas, jumlah_pembayaran.
JOIN
Join adalah kata kunci yang di gunakan pada sql/ansi untuk melakukan query dua tabel atau lebih yang di dasarkan hubungan anatar kolom tertentu dalam tabel. Ada beberapa perintah join yaitu :
1. INNER JOIN – ON
Penggunaan relasi INNER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua)
Syntak :
select*from [Tabel_1] inner join [Tabel_2] on [Tabel_1].[field yang berelasi] = [Tabel_2].[field yang berelasi];
2. INNER JOIN – USING
Sama seperti keterangan diatas, penggunaan relasi INNER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja. Sedangkan syntak USING berfungsi menampilkan kedua table dengan field yang direlasikan hanya ditampilkan satu kali di awal table atau terletak paling kiri.
Syntak :
select*from [Tabel_1] inner join [Tabel_2] using([field yang berelasi]);
3. LEFT OUTER JOIN – ON
Penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua)
Syntak :
select*from [Tabel_1] left outer join [Tabel_2] on [Tabel_1].[field yang berelasi] = [Tabel_2].[field yang berelasi];
4. LEFT OUTER JOIN – USING
Sama seperti keterangan sebelumnya, penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak USING berfungsi menampilkan kedua table lengkap dengan field yang direlasikan hanya ditampilkan satu kali saja di awal table atau di sebelah kiri
Syntak :
select*from [Tabel_1] left outer join [Tabel_2] using([field yang berelasi]);
5. NATURAL LEFT OUTER JOIN
Seperti keterangan sebelumnya, penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak NATURAL mempunyai fungsi sama dengan USING yaitu menampilkan field yang bersesuaian satu kali saja di awal table
Syntak :
select*from [Tabel_1] natural left outer join [Tabel_2];
6. RIGHT OUTER JOIN - ON
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua)
Syntak :
select*from [Tabel_1] right outer join [Tabel_2] on [Tabel_1].[field yang berelasi] = [Tabel_2].[field yang berelasi];
7. RIGHT OUTER JOIN – USING
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan
lebih dulu setelah field yang direlasikan. Sedangkan syntak USING berfungsi menampilkan kedua table lengkap dengan field yang direlasikan hanya ditampilkan satu kali saja di awal table atau di sebelah kiri
Syntak :
select*from [Tabel_1] right outer join [Tabel_2] using([field yang berelasi]);
8. NATURAL RIGHT OUTER JOIN
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak NATURAL mempunyai fungsi sama dengan USING yaitu menampilkan field yang bersesuaian satu kali saja di awal table
Syntak :
select*from [Tabel_1] natural right outer join [Tabel_2];
9. WHERE
Penggunaan syntak WHERE sama dengan penggunaan INNER JOIN – ON yaitu menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja dan menampilkan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua) seperti pada gambar di bawah. Keuntungannya dibandingkan dengan INNER JOIN – ON adalah dengan penggunaan WHERE penulisan syntak untuk relasi dengan banyak table lebih mudah.
Syntak :
select*from [Tabel_1],[Tabel_2] where [Tabel_1].[field yang berelasi] = [Tabel_2].[field yang berelasi];
10. STRAIGHT JOIN
Penggunaan relasi STRAIGHT JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua
Syntak :
select*from [Tabel_1] straight join [Tabel_2];
11. CROSS JOIN
Penggunaan relasi CROSS JOIN sama dengan STRAIGHT JOIN yaitu untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua
Syntak :
select*from [Tabel_1] cross join [Tabel_2];
12. UNION
Penggunaan relasi UNION adalah untuk menggabung hasil dari syntak LEFT OUTER JOIN dengan RIGHT OUTER JOIN
Syntak :
select*from [Tabel_1] natural left outer join [Tabel_2]
union
select*from [Tabel_1] natural right outer join [Tabel_2] ;
13. FULL JOIN
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri.
Syntak :
select*from [Tabel_1] full join [Tabel_2] using([field yang berelasi]);
Sedangkan JOIN yang akan kelompok kami buat adalah INNER JOIN yaitu untuk menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua). Serta Tabel yang kami lakukan join adalah tabel Pemesanan dan tabel Pembayaran. Tabel Pemesanan diambil dari joinkan tabel pelanggan dan tabel fasilitas.
Tabel Pembayaran diambil dari joinkan tabel pelanggan, tabel fasilitas, tabel check_out dan tabel check_
E. Perbandingan analisa dengan kelompok pemilik topik
Lebih sederhana
Tidak terlalu mewah tapi fasilitas lengkap dan nyaman
F. kelebihan analisa dengan kelompok pemilik topik
Lebih mudah untuk menyewa sebuah kamar
User tidak terlalu ribet untuk mengatur semua
G. saran usulan dan score untuk kelompok pemilik topik
Lebih di lengkapi lagi agar lebih lengkap dan jelas
Scoore untuk kelompok pemilik cukup bagus buat SISTEM INFORMASI REVERVASI HOTEL