• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN

B. Perancangan Sistem

4. Perancangan Basis Data

a. Diagram ER (Entitas Relationship) i. ER untuk webtemplateprovider

hotel kelola anggota

admin buku tamu adminmenu menu navigasi id_p nama id menu url id menu url password level tgl_daftar id nama email tanggal nama email alamat_hotel kota aktivasi nama_hotel id level password alamat komentar respon id 1 1

Gambar 3.20 Diagram ER Provider

Terdapat 6 entitas dalam diagram di atas namun hanya dua entitas yang saling berelasi, yaitu entitas hotel dan anggota. Satu hotel dikelola oleh satu anggota atau satu anggota mengelola satu hotel

ii. ER untuk template hotel

menu pun sub menu

id_parent id ya 1 N banner galeri adminmenu footer id menu url id konten subject_ submenu url id gambar id judul subject_ menu url konten gambar halaman punya punya judul konten id_halaman gambar user id email level password user header id warna judul

slogan sloganwarna judul buku tamu respon alamat nama email komentar id tanggal 1 1 1 1 konten

Gambar 3.21 Diagram ER Template hotel

Terdapat 10 entitas dalam diagram di atas namun hanya tiga entitas yang saling berelasi, yaitu entitas menu, submenu, dan halaman. Satu menu mempunyai banyak submenu, satu halaman mempunyai banyak submenu, dan satu menu mempunyai satu halaman.

b. Mapping

i. Basis data milik provider

Relasional antara entitas hotel dan anggota memiliki kardinalitas 1 to 1, maka salah satu key dari entitas bisa menjadi foreign key dari entitas lain. Garis putus-putus di bawah menandakan kunci asing atau foreign key.

Hotel (id, nama_hotel, alamat_hotel, kota, id_p) Admin ( id, nama, email, password, level ) Adminmenu (id, menu, url)

Anggota (id_p, nama, password, level, tgl_daftar)

Buku tamu (id, tanggal, nama, email, alamat, komentar, respon) Menu navigasi (id, menu, url)

ii. Basis data milik template hotel

Relasi antara entitas menu dan submenu memiliki kardinalitas 1 to N, maka key dari entitas menu menjadi foreign key pada entitas submenu.

Relasi antara entitas submenu dan halaman memiliki kardinalitas 1 to 1, hal ini berarti key dari salah satu entitas menjadi foreign key pada entitas yang lain, dalam hal ini key

dari entitas halaman menjadi foreign key entitas submenu . Submenu (id, subject_submenu, url, id_parent, id_halaman)

Relasi antara entitas menu dan halaman memiliki kardinalitas 1 to 1, hal ini berarti key dari salah satu entitas menjadi foreign key pada entitas yang lain, dalam hal ini key dari entitas halaman menjadi foreign key entitas menu .

Menu (id_parent, subject_menu, url, id_halaman)

User (id, user, email, password, level)

Header (id, judul, warna_judul, slogan, warna_slogan,konten) Banner (id, gambar)

Halaman (id_halaman, judul, gambar, konten)

Buku tamu (id, tanggal, nama, email, alamat, komentar, respon) Galeri (id, judul, gambar, konten)

Footer(id, konten)

Adminmenu (id, menu, url)

Keterangan atribut yang digaris bawah:

adalah atribut yang berfungsi sebagai primary key

Keterangan :

id : muncul secara otomatis oleh sistem, karena bersifat autoincrement, untuk membedakan atribut yang satu dengan lainnya.

id_p : id milik anggota.

id_parent : atribut untuk membedakan menu, bersifat

autoincrement.

nama : nama administrator pada entitas admin, nama anggota pada entitas anggota dan nama pengunjung pada entitas buku tamu

user : nama user.

email : email administrator pada entitas admin, email user pada entitas user, email pengunjung pada entitas buku tamu.

password : password milik administrator pada entitas

admin, password anggota pada entitas anggota, dan password user pada entitas

user

subject_menu : judul menu subject_submenu : judul submenu

menu : nama menu pada entitas adminmenu dan menunavigasi

url : alamat untuk menghubungkan antar halaman website.

level : jenjang user dibedakan berdasarkan hak yang diperoleh, 1 untuk administrator dan 2 untuk anggota.

nama_hotel : nama hotel yang akan dibuat web hotel alamat_hotel : alamat hotel

kota : kota hotel

judul : judul galeri untuk atribut galeri, judul header untuk atribut header, dan judul halaman untuk atribut halaman.

konten : isi dari atribut (galeri, halaman, header dan footer), bersifat konsisten atau sama disetiap halaman web.

gambar : foto atau gambar.

alamat : alamat pengunjung yang mengisi buku tamu.

komentar : komentar pengunjung saat mengisi buku tamu

respon : tanggapan yang diberikan oleh administrator terhadap komentar yang diberikan oleh pengunjung.

c. Normalisasi

Bentuk Normalisasi tabel-tabel di atas adalah sebagai berikut: i. Bentuk Normal Tahap 1

Terpenuhi, karena semua tabel tidak memiliki atribut bernilai banyak (multivalued attribute).

ii. Bentuk Normal Tahap 2

Terpenuhi, karena sudah memenuhi kriteria bentuk normal yang pertama dan semua atribut yang bukan merupakan key

primer memiliki ketergantungan sepenuhnya pada key

primer.

iii. Bentuk Normal Tahap 3 :

Terpenuhi, karena sudah memenuhi kriteria bentuk normal yang kedua dan semua atribut non key primer tidak memiliki ketergantungan kepada atribut non key primer yang lain.

d. Kamus data

integer = [0|1|2|3|4|5|6|7|8|9] varchar = [A-Z | a-z | 0-9| ‘ ‘ | / | . ] longtext = [A-Z | a-z | 0-9| ‘ ‘ | / | . ] text = [A-Z | a-z | 0-9| ‘ ‘ | / | . ]

Admin = id + nama + email + password + level id = integer nama = {varchar}20 email = {varchar}40 password = {varchar}32 level = integer

Admin menu = id + menu + url

id = integer

menu = {varchar}30 url = {varchar}60

Anggota = id_p + nama + password + level + tgl_daftar id_p = integer nama = {varchar}20 password = {varchar}10 level = varchar tgl_daftar = {varchar}12

Buku tamu = id + tanggal + nama + email + alamat + komentar + respon id = integer tanggal = {varchar}12 nama = {varchar}50 email = {varchar}60 alamat = text komentar = text respon = text

Hotel = id + nama_hotel + alamat_hotel + kota + id_p + aktivasi id = integer nama_hotel = {varchar}50 alamat_hotel = {varchar}50 kota = {varchar}20 id_p = integer

aktivasi = enum (‘true’,’false’)

Menu navigasi = id + menu + url id = integer

menu = {varchar}30 url = {varchar}60

Banner = id + gambar id = integer gambar = {varchar}30 Footer = id + konten id = integer konten = longtext

Galeri = id + judul + konten + gambar

id = integer

judul = {varchar}30 konten = longtext gambar = {varchar}30

Halaman = id_halaman + judul + konten + gambar id_halaman = integer

judul = {varchar}80

konten = longtext

Header = id + judul + warna_judul + slogan + warna_slogan + konten id_parent = integer judul = {varchar}50 warna_judul = {varchar}50 slogan = longtext warna_slogan = {varchar}50 konten = longtext

Menu = id_parent + subject_menu + url + id_halaman

id_parent = integer subject_menu = {varchar}50 url = {varchar}20 id_halaman = integer

Submenu = id + subject_submenu + url + id_parent + id_halaman id = integer subject_submenu = {varchar}50 url = {varchar}20 id_parent = integer id_halaman = integer

User = id + nama + password + level id = integer

nama = {varchar}20

password = {varchar}32 level = varchar

Dokumen terkait