DATA TAMU PENGINAPAN HOTEL 333
1. Kelompokkan tabel (buat normalisasinya) dari soal yang ada
a. Nama Database : hotel
b. Tabel tamu
-no_ktp *
-nama_tamu
-jenis_kelamin
c. Tabel inap lama_inap,tarif_permalam,total_bayar
- no_ktp* tidak diinputkan pada batabsase
-kode_kamar karena itu semua adala bagian dari proses
-jenis_kelamin
-tgl_checkin*
-tgl_chekout
-tarif_permalam
d. Membuat Query Inap (v_inap)
Membuat query inap yang diberi nama v_inap pada database setelah membuat tabel tamu
dan [Link] laporan.
Cara membuatnya pada tabel inap,ambil SQL(query) lalu ketikkan seperti ini
create view v_inap as
SELECT
inap.kode_kamar, inap.jenis_kamar, tamu.nama_tamu,
tamu.jenis_kelamin, inap.tgl_checkin,
inap.tgl_checkout, inap.tarif_permalam,
DATEDIFF(inap.tgl_checkout,inap.tgl_checkin) as lama_inap,
(inap.tarif_permalam * DATEDIFF(inap.tgl_checkout, inap.tgl_checkin)) as total_bayar
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Lalu akan muncul tampilan seperti [Link] pada database akan lansung otomatis ada
tambahan tabel v_inap setelah tabel tamu dan tabel inap
Langkah2 dalam membuat v_inap:
Step 1 = tabel yang paling kompleks itulah yang menjadi domainnya(tabel tempat membuat query) kalai
di kasus data tamu penginapan hotel,yang merupakan tabel yang paling kompleks adalah tabel inap(dia
merangkup banyak recor,ada 5 record pada tabel inap sedangkan pada tabel tamu hanya ada 5 record)
SELECT
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp
Step 2
SELECT
inap.kode_kamar
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Running/go
Lalu muncul tampilan hanya kode_kamar.karena record yang diisikan hanya 1
Step 3
SELECT
inap.kode_kamar, inap.jenis_kamar, tamu.nama_tamu,
tamu.jenis_kelamin, inap.tgl_checkin,
inap.tgl_checkout, inap.tarif_permalam
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Running
Maka muncul tampilan
Step 4 memasukkan rumus dari lama inap pada query
SELECT
inap.kode_kamar, inap.jenis_kamar, tamu.nama_tamu,
tamu.jenis_kelamin, inap.tgl_checkin,
inap.tgl_checkout, inap.tarif_permalam,
DATEDIFF(inap.tgl_checkout,inap.tgl_checkin) as lama_inap
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Running
Maka muncul tampilan
Step 5
SELECT
inap.kode_kamar, inap.jenis_kamar, tamu.nama_tamu,
tamu.jenis_kelamin, inap.tgl_checkin,
inap.tgl_checkout, inap.tarif_permalam,
DATEDIFF(inap.tgl_checkout,inap.tgl_checkin) as lama_inap,
(inap.tarif_permalam * DATEDIFF(inap.tgl_checkout, inap.tgl_checkin)) as total_bayar
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Maka muncul tampilan
Step 6
create view v_inap as
SELECT
inap.kode_kamar, inap.jenis_kamar, tamu.nama_tamu,
tamu.jenis_kelamin, inap.tgl_checkin,
inap.tgl_checkout, inap.tarif_permalam,
DATEDIFF(inap.tgl_checkout,inap.tgl_checkin) as lama_inap,
(inap.tarif_permalam * DATEDIFF(inap.tgl_checkout, inap.tgl_checkin)) as total_bayar
FROM inap
INNER JOIN tamu on(inap.no_ktp = tamu.no_ktp)
Running
Lalu muncul tampilan v_inap
Step 7 menguji query
Tambahkan/insert record inap,lalu klik running
Lalu muncul tampilan pada v_inap
Step 8 membuat tampilan (jangan lupa untuk membuat query dicopas dan save di notepad,agar bisa
belajar untuk berikutnya)
- Buat tabel di C/Xampp/htdoc
Dengan nama folder hotel
- Ekspor sql/databasenya ([Link]) dan copy database ke C/Xampp/htdoc/hotel
2. Rancang form entry inap pada kodingan
Step 1 buka sublime text lalu klik file-open folder-lalu pilih folder yang telah dibuat pada
C/xampp/htdoc/hotel
Lalu muncul tampilan: folder hotel dan file file yang tepah dimasukkan
sebelumnya(database:hotel,[Link],[Link],dan v_query.txt(dalam bentuk notepad)
Step2 buat kodingan untuk form [Link] dan [Link] seperti dibawah ini
Buat form [Link]
<?php
$sambung = mysqli_connect('localhost', 'root', '', 'hotel');
?>
Step 10
Buat form [Link]
<?php
include('[Link]');
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h2 align="center"> Laporan Inap Per Bulan </h2>
<form>
<table border="1">
<tr>
<th>No</th>
<th>Kode Kamar</th>
<th>Jenis Kamar</th>
<th>Nama Tamu</th>
<th>Jenis Kelamin</th>
<th>Tanggal Check In</th>
<th>Tanggal Check Out</th>
<th>Tarif Per Malam</th>
<th>Lama Inap</th>
<th>Total Bayar</th>
</tr>
<?php
$no=0;
$query =mysqli_query($sambung, "SELECT * FROM v_inap");
while ($row = mysqli_fetch_row($query)) {
$no++;
?>
<tr>
<td> <?php echo $no; ?></td>
<td> <?php echo $row[0] ?></td>
<td> <?php echo $row[1] ?></td>
<td> <?php echo $row[2] ?></td>
<td> <?php echo $row[3] ?></td>
<td> <?php echo $row[4] ?></td>
<td> <?php echo $row[5] ?></td>
<td> <?php echo $row[6] ?></td>
<td> <?php echo $row[7] ?></td>
<td> <?php echo $row[8] ?></td>
</tr>
<?php
?>
</table>
</form>
</body>
</html>
Step 3 jalankan di browser. ex:mozzila
Dengan cara ketikkan di url: localhost/hotel
Lalu akan muncuk tampilan entian data yang telah dibuat sebelumnya