8
DESAIN DATABASE PENYEWAAN DVD TUGAS PRAKTIKUM SISTEM BASIS DATA Diajukan untuk Memenuhi Tugas Program Strata Satu Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia Disusun Oleh : Rizkia Agustin 10107236 Istiqomah 10107268 Kelas : IF-5 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2010

Tugas Penyewaan DVD

Embed Size (px)

Citation preview

Page 1: Tugas Penyewaan DVD

DESAIN DATABASE PENYEWAAN DVD

TUGAS PRAKTIKUM SISTEM BASIS DATA

Diajukan untuk Memenuhi Tugas

Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

Universitas Komputer Indonesia

Disusun Oleh :

Rizkia Agustin 10107236

Istiqomah 10107268

Kelas : IF-5

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2010

Page 2: Tugas Penyewaan DVD

1. Diagram ER

Model data yang akan didesain adalah model data untuk membuat toko fiksi yang menyewakan

DVD ke pelanggannya. Database mencatat inventori DVD, menyediakan informasi mengenai DVD,

menyimpan transaksi penyewaan, dan menyimpan nama-nama dari pelanggan dan pekerja. Berikut ini

adalah diagram ER yang dimiliki oleh penyewaan dvd.

N

N

memiliki

1

NTransaksi

melakukan

id_DVD

nama_pelanggan

tgl_kembali

id_pelanggan

nama_stafftgl_pinjam

id_staff

id_transaksi

judul

last_update

1

DVD

id_DVD

judul

jml_disc

thn_release

category

studio_terbit

rating

format

status

1

Detail DVD

id_DVD

sutradarako_produser

peranan

e_produser

ast_produser

produser

idactor

penulis

komposer

Staff melayani Pelanggan

nama_staff

id_staff

1

alamatemail

username

password

nama_pelanggan id_pelanggan

N

no_telp

alamatemail

Detail Transaksi

id_DVD

detail_id

id_transaksi

last_update

Page 3: Tugas Penyewaan DVD

Berdasarkan diagram ER di atas, dapat diketahui bahwa model data penyewaan dvd ada 5 buah

entitas yang terdiri dari entitas pelanggan, staff, dvd, detail_dvd, detail_transaksi dan transaksi.

2. Normalisasi

Normalisasi merupakan sebuah proses pengujian pada tabel untuk menentukan apakah sebuah

tabel telah memenuhi aturan-aturan dan dapat dinyatakan berada dalam bentuk normal. Normalisasi dari

contoh kasus model data penyewaan dvd adalah sebagai berikut.

a. Skema Relasi.

Transaksi (id_transaksi, id_pelanggan, nama_pelanggan, id_DVD, judul, id_staff, nama_staff,

tgl_pinjam, tgl_kembali, last_update).

b. Relasi 1NF

transaksi (id_transaksi, id_DVD, judul, tgl_pinjam, tgl_kembali, last_update, id_staff, nama_staff).

pelanggan (id_pelanggan, nama_pelanggan,)

id_staff nama_staff

c. Relasi 2NF

transaksi (id_transaksi, tgl_pinjam, tgl_kembali, last_update, id_DVD, judul)

pelanggan (id_pelanggan, nama_pelanggan,)

staff (id_staff, nama_staff)

Id_DVD judul

d. Relasi 3NF

transaksi (id_transaksi, tgl_pinjam, tgl_kembali, last_update)

pelanggan (id_pelanggan, nama_pelanggan,)

staff (id_staff, nama_staff)

dvd_info (id_DVD, judul)

3. Perintah-perintah MySQL

Berikut adalah perintah-perintah MySQL untuk membuat model data penyewaan dvd.

a. Membuat Database

CREATE DATABASE rental_dvd;

b. Menampilkan database yang ada

SHOW DATABASES;

Page 4: Tugas Penyewaan DVD

Hasilnya :

+-----------------------------+

| Database |

+-----------------------------+

| information_schema |

| mysql |

| rental_dvd |

+-----------------------------+

c. Memilih database yang akan digunakan

USE rental_dvd;

d. Membuat Tabel

Tabel DVD_info

create table DVD_info

(

id_DVD smallint unsigned not null primary key,

judul varchar(255) not null,

jml_disc int not null,

thn_release year(4) not null,

category varchar(25) not null,

studio_terbit varchar(30) not null,

rating enum('G','PG','PG-13','R','NC-17'),

format varchar(30) not null,

status varchar(25) not null

);

Tabel Pelanggan

create table Pelanggan

(

id_pelanggan varchar(8) not null primary key,

nama_pelanggan varchar(45) not null,

email varchar(50),

alamat varchar(255) not null,

no_telp varchar(10) not null

);

Tabel Transaksi

create table transaksi

(

id_transaksi varchar(11) not null primary key,

id_pelanggan varchar(8) not null,

nama_pelanggan varchar(45) not null,

id_DVD smallint unsigned not null,

Page 5: Tugas Penyewaan DVD

judul varchar(255) not null,

tgl_pinjam datetime not null,

tgl_kembali datetime not null,

id_staff varchar(8) not null,

nama_staff varchar(45) not null,

last_update timestamp not null ,

foreign key(id_pelanggan) references pelanggan(id_pelanggan),

foreign key(id_DVD) references DVD_info(id_DVD),

foreign key(id_staff) references staff(id_staff)

);

Tabel Staff

create table Staff

(

id_staff varchar(8) not null primary key,

nama_staff varchar(45) not null,

email varchar(50),

alamat varchar(255) not null,

username varchar(16) not null,

password varchar(40)

);

Tabel detail_DVD

create table detail_DVD

(

id smallint(5) unsigned not null primary key,

id_DVD smallint unsigned not null,

actor varchar(45) not null,

peranan varchar(45) not null,

sutradara varchar(45) not null,

produser varchar(45) not null,

e_produser varchar(45) not null,

ko_produser varchar(45) not null,

ast_produser varchar(45) not null,

penulis varchar(45) not null,

komposer varchar(45) not null,

foreign key(id_DVD) references DVD_info(id_DVD)

);

Page 6: Tugas Penyewaan DVD

Tabel detail_transaksi

create table detail_transaksi

(

detail_id int not null primary key,

id_transaksi varchar(11) not null,

id_DVD smallint unsigned not null,

last_update timestamp not null ,

foreign key(id_transaksi) references transaksi (id_transaksi ),

foreign key(id_DVD) references DVD_info(id_DVD)

);

e. Menampilkan Tabel

SHOW tables;

Hasilnya :

+----------------------+

| Tables_in_rental_dvd |

+----------------------+

| detail_dvd |

| detail_transaksi |

| dvd_info |

| pelanggan |

| staff |

| transaksi |

+----------------------+

f. Mendeskripsikan tabel

Tabel detail_dvd

DESC detail_dvd;

+--------------+----------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------+----------------------+------+-----+---------+-------+

| id | smallint(5) unsigned | NO | PRI | NULL | |

| id_DVD | smallint(5) unsigned | NO | MUL | NULL | |

| actor | varchar(45) | NO | | NULL | |

| peranan | varchar(45) | NO | | NULL | |

| sutradara | varchar(45) | NO | | NULL | |

| produser | varchar(45) | NO | | NULL | |

| e_produser | varchar(45) | NO | | NULL | |

| ko_produser | varchar(45) | NO | | NULL | |

| ast_produser | varchar(45) | NO | | NULL | |

| penulis | varchar(45) | NO | | NULL | |

| komposer | varchar(45) | NO | | NULL | |

+--------------+----------------------+------+-----+---------+-------+

Page 7: Tugas Penyewaan DVD

Tabel detail_transaksi

DESC detail_transaksi;

Tabel dvd_info

DESC dvd_info;

Tabel pelanggan

DESC pelanggan;

+----------------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------------+--------------+------+-----+---------+-------+

| id_pelanggan | varchar(8) | NO | PRI | NULL | |

| nama_pelanggan | varchar(45) | NO | | NULL | |

| email | varchar(50) | YES | | NULL | |

| alamat | varchar(255) | NO | | NULL | |

| no_telp | varchar(10) | NO | | NULL | |

+----------------+--------------+------+-----+---------+-------+

Tabel staff

DESC staff;

+------------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+--------------+------+-----+---------+-------+

| id_staff | varchar(8) | NO | PRI | NULL | |

| nama_staff | varchar(45) | NO | | NULL | |

| email | varchar(50) | YES | | NULL | |

Page 8: Tugas Penyewaan DVD

| alamat | varchar(255) | NO | | NULL | |

| username | varchar(16) | NO | | NULL | |

| password | varchar(40) | YES | | NULL | |

+------------+--------------+------+-----+---------+-------+

Tabel transaksi

DESC transaksi;