0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan16 halaman

Normalisasi Database Hotel dan Query SQL

Diunggah oleh

rizka aulia
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan16 halaman

Normalisasi Database Hotel dan Query SQL

Diunggah oleh

rizka aulia
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

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

Anda mungkin juga menyukai