Anda di halaman 1dari 7

MATERI PERKULIAHAN ONLINE

SEMESTER GANJIL TAHUN AKADEMIK 2020-2021

PRODI : D4 Teknologi Rekayasa P.L KODE MK : MKK-33511


KELAS : 3A MATA KULIAH : Basis Data
HARI/TANGGAL : Senin/27 September 2021 POKOK BAHASAN : Entity Relationship Diagram
MINGGU KE- : 4 DOSEN : Dr. Putu Manik Prihatini, S.T., M.T.
JAM KE- : 1, 2, 3, 4

STUDI KASUS PERANCANGAN ERD

A. Studi Kasus:
Studi kasus pada materi ini diambil dari Jobsheet Perancangan Basis Data dengan topik
Entity Relationship Diagram Point H. Evaluasi Soal Nomor 1.

Susunlah ERD dari kasus berikut dan kemudian bangunlah database dari hasil pemetaan
ERD ke dalam MySQL!

Sebuah perusahaan real estate, mengelola banyak property untuk disewakan. Setiap
property tentu dimiliki oleh tepat satu orang pemilik, sedangkan seorang pemilik bisa
memasang banyak property untuk dikelola oleh perusahaan. Sebuah property, akan
ditangani oleh seorang sales dari perusahaan. Satu orang sales bisa saja menangani
banyak property pada suatu waktu. Setiap property nantinya akan disewa oleh seorang
penyewa dengan kurun waktu tertentu, dan kemudian mungkin saja pindah tangan
kepada penyewa lainnya pada lain waktu. Satu orang penyewa, dalam hal ini sah saja
menyewa lebih dari satu property. Saat seorang penyewa menyewa property, maka harus
dicatat nomor kontraknya, tanggal kontrak, harga kontrak, tanggal mulai dan tanggal
berakhir. Data sales yang dicatat dalam database nantinya berupa : id_sales, nama_sales,
alamat sales, kontak (bisa lebih daripada satu). Data pemilik dapat berupa : id_pemilik,
nama pemilik, alamat pemilik, telepon pemilik. Data property dapat berupa :
kode_properti, alamat property, luas tanah, luas bangunan, jenis property, deskripsi
property, tahun dibangun. Data penyewa berupa : id_penyewa, nama_penyewa,
alamat_penyewa, nomor_telp_penyewa.

B. Perancangan ERD
Langkah-langkah yang dilakukan untuk merancang ERD dari kasus diatas adalah sebagai
berikut.
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
Adapun entitas yang terlibat dalam kasus diatas adalah:
Property
Pemilik
Sales
Penyewa
© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 1
Adapun penggambarannya dalam ERD adalah:

Property Pemilik Sales Penyewa

2. Menentukan atribut-atribut key dari masing-masing himpunan entitas


Atribut key atau primary key (PK) yang dimiliki oleh setiap entitas adalah:
Property : kode_property
Pemilik : id_pemilik
Sales : id_sales
Penyewa : id_penyewa
Adapun penggambarannya dalam ERD adalah:

kode_property id_pemilik id_sales id_penyewa

Property Pemilik Sales Penyewa

3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan-


himpunan entitas yang ada beserta foreign key-nya
Himpunan relasi yang terbentuk diantara entitas-entitas diatas beserta foreign key
(FK) adalah:
Pemilik memiliki Property : foreign key id_pemilik dan kode_property
Sales menangani Property : foreign key id_sales dan kode_property
Penyewa menyewa Property : foreign key id_penyewa dan kode_property
Adapun penggambarannya dalam ERD adalah:

id_pemilik id_pemilik kode_property kode_property kode_property id_sales id_sales

Pemilik memiliki Property menangani Sales

kode_property

menyewa

id_penyewa

Penyewa

id_penyewa

4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi


Derajat/kardinalitas relasi yang ada diantara relasi-relasi diatas adalah:
© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 2
Pemilik memiliki Property : 1 - N
Sales menangani Property : 1 - N
Penyewa menyewa Property : N - N
Adapun penggambarannya dalam ERD adalah:

id_pemilik id_pemilik kode_property kode_property kode_property id_sales id_sales

Pemilik 1 memiliki N Property N menangani 1 Sales

N
kode_property

menyewa

id_penyewa
N

Penyewa

id_penyewa

5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif


(non key)
Atribut-atribut deskritif dari setiap entitas adalah:
Property : kode_property, alamat_property, luas_tanah,
luas_bangunan, jenis_property, deskripsi, tahun_dibangun
Pemilik : id_pemilik, nama_pemilik, alamat_pemilik, telepon_pemilik
Sales : id_sales, nama_sales, alamat_sales, kontak
Penyewa : id_penyewa, nama_penyewa, alamat_penyewa,
nomor_telp_penyewa

Adapun penggambarannya dalam ERD adalah:

© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 3


id_pemilik nama_pemilik id_pemilik kode_property kode_property alamat_property luas_tanah kode_property id_sales id_sales nama_sales

Pemilik 1 memiliki N Property N menangani 1 Sales

luas_bangunan tahun_dibangun alamat_sales kontak


alamat_pemilik telepon_pemilik

jenis_property N deskripsi

kode_property nomor_kontrak

harga_kontrak tanggal_kontrak
menyewa

tanggal_mulai
id_penyewa

tanggal_selesai N

Penyewa

id_penyewa nomor_telp_penyewa

nama_penyewa alamat_penyewa

© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 4


C. Perancangan Tabel dalam Database
Penerjemahan ERD diatas ke dalam tabel adalah sebagai berikut:
1. Terdapat 4 entitas kuat yang akan menjadi 4 tabel yaitu:
Tabel pemilik
Tabel property
Tabel sales
Tabel penyewa
2. Dalam entitas pemilik, property, penyewa terdapat atribut komposit alamat yang
akan dipecah menjadi nama_jalan, kecamatan, kota, provinsi dan kode_pos; dan
akan menjadi kolom di tabel pemilik, property, penyewa
3. Ada atribut bernilai banyak yaitu kontak, akan menjadi tabel baru yaitu Tabel
Kontak dengan kolom id_sales dan kontak, serta ditambahkan alternate key yaitu
id_kontak sebagai primary key
4. Tidak ada atribut turunan
5. Semua atribut sederhana dalam setiap entitas akan menjadi kolom
6. Penerjemahan relasi :
a. Relasi one-to-many memiliki, dari pemilik ke property, akan menghasilkan
kunci tamu id_pemilik ke tabel property
b. Relasi one-to-many menangani, dari sales ke property, akan
menghasilkan kunci tamu id_sales ke tabel property
c. Relasi many-to-many menyewa, dari penyewa ke property, akan
menghasilkan sebuah tabel baru yang bisa diberi nama Sewa dengan
kolom berupa kunci tamu id_penyewa dan id_property, serta
ditambahkan alternate key yaitu id_sewa sebagai primary key
Untuk struktur tabel dari penerjemahan diatas sebagai berikut.
Nama database : penyewaan_property
Tabel pemilik

Nama Kolom Tipe Data Keterangan


id_pemilik INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
nama_pemilik VARCHAR(50)
nama_jalan_pemilik VARCHAR(60)
kecamatan_pemilik VARCHAR(30)
kota_pemilik VARCHAR(30)
provinsi_pemilik VARCHAR(30)
kode_pos_pemilik CHAR(5)
telepon_pemilik VARCHAR(15)

© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 5


Tabel sales

Nama Kolom Tipe Data Keterangan


id_sales INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
nama_sales VARCHAR(50)
nama_jalan_sales VARCHAR(60)
kecamatan_sales VARCHAR(30)
kota_sales VARCHAR(30)
provinsi_sales VARCHAR(30)
kode_pos CHAR(5)

Tabel kontak

Nama Kolom Tipe Data Keterangan


id_kontak INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
id_sales INT FOREIGN KEY REFERENCES
sales.id_sales
kontak_sales VARCHAR(15)

Tabel property

Nama Kolom Tipe Data Keterangan


kode_property INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
nama_jalan_property VARCHAR(60)
kecamatan_property VARCHAR(30)
kota_property VARCHAR(30)
provinsi_property VARCHAR(30)
kode_pos_property CHAR(5)
luas_tanah SMALLINT
luas_bangunan SMALLINT
jenis_property VARCHAR(30)
deskripsi VARCHAR(255)
tahun_dibangun YEAR
id_pemilik INT FOREIGN KEY REFERENCES
pemilik.id_pemilik
id_sales INT FOREIGN KEY REFERENCES
sales.id_sales

© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 6


Tabel penyewa

Nama Kolom Tipe Data Keterangan


id_penyewa INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
nama_penyewa VARCHAR(50)
nama_jalan_penyewa VARCHAR(60)
kecamatan_penyewa VARCHAR(30)
kota_penyewa VARCHAR(30)
provinsi_penyewa VARCHAR(30)
kode_pos_penyewa CHAR(5)
telepon_penyewa VARCHAR(15)

Tabel sewa

Nama Kolom Tipe Data Keterangan


id_sewa INT PRIMARY KEY, NOT NULL,
AUTO_INCREMENT
nomor_kontrak CHAR(10)
tanggal_kontrak DATE
harga_kontrak FLOAT
tanggal_mulai DATE
tanggal_selesai DATE
id_penyewa INT FOREIGN KEY REFERENCES
penyewa.id_penyewa
kode_property INT FOREIGN KEY REFERENCES
property.id_property

© PUTU MANIK PRIHATINI – POLITEKNIK NEGERI BALI 7

Anda mungkin juga menyukai