Anda di halaman 1dari 40

ENTITY-RELATIONSHIP MODEL

ENTITY-RELATIONSHIP MODEL

E-R Models are Conceptual Models of the


database. They can not be directly
implemented in a database.
Desainnya mendekati
pengamatan/penerimaan user terhadap
data.
Didasarkan atas OBJECT real dunia nyata
dan hubungan antar object-object tersebut.
Entity-Relationship model terdiri dari Entity,
Relationship, dan Attribute.
ENTITY
Entity adalah object yang dapat dibedakan dalam
dunia nyata.
Entity sets adalah kumpulan dari entity yang
sejenis.
Entity sets dapat berupa :
Object secara fisik : Rumah, Kendaraan,
Peralatan, Mahasiswa.
Object secara konsep : Pekerjaan, Perusahaan,
Rencana, Matakuliah.
Simbol : persegi panjang
nama_entity
ATRIBUTE
Atribut adalah karakteristik dari entity atau
relationship yang menyediakan detail
tentang entity atau relationship tersebut
sehingga dapat dibedakan. Nilainya jarang
berubah.
Atribut dari entity mahasiswa :
nim
nama
jurusan
alamat
VALUE SET (Domain) dari
Atribut :
Kumpulan harga/nilai yang dapat dimiliki oleh
atribut dari suatu entitas.
Definisi domain dari suatu atribut akan mencakup :
tipe data, panjang, format, nilai yang
memungkinkan, keunikan dan kemungkinan data
null.
Contoh :
Atribut nama pada entitas mahasiswa
domainnya (valuenya) adalah nama orang
Atribut nama pada entitas barang domainnya
adalah nama barang
Macam-Macam Atribut
Atribut sederhana/atomik : atribut yang
tidak dapat dibagi-bagi menjadi atribut yang
lebih mendasar.
Contoh : atribut harga dari entity barang,
atribut jabatan, atribut gaji, dll.
Atribut komposit : atribut yang terdiri dari
beberapa atribut yang lebih mendasar.
Contoh : Entity mahasiswa memiliki atribut
nama yang terdiri dari nama depan (first
name), nama tengah (middle name) dan
nama belakang (last name). Atribut alamat
yang terdiri jalan, kota dan kode pos.
Macam-Macam Atribut
(lanj)
Atribut Berharga Tunggal (Single-valued Attribute) :
atribut yang hanya mempunyai satu harga untuk
suatu entitas tertentu.
Contoh : atribut umur, atribut kode pada entity kantor
cabang.
Atribut Berharga Banyak (Multi-valued Attribute) :
atribut yang dapat terdiri dari sekumpulan harga
untuk suatu entitas tertentu.
Contoh : atribut hobi, atribut nomor telepon (misalnya
kantor cabang memiliki 2 atau lebih nomor telepon)
Atribut Derivatif (turunan) : suatu atribut yang
dihasilkan dari atribut lain.
Contoh : atribut umur yang dapat dihasilkan dari
atribut tgl_lahir. Atribut masastudi ditentukan dari
atribut tgldaftar dan tgllulus.
Atribut Kunci
identifier unik dari suatu entitas karena nilai
dari atribut kunci ini akan berbeda untuk
masing-masing entitas biasa disebut primary
key.
dapat terdiri dari atribut sederhana/ komposit
Contoh :
kodemk dari entitas matakuliah sederhana
NomorMobil dari entitas MOBIL komposit
Atribut Kunci (lanj)

Foreign Key (kunci tamu) : suatu atribut


dalam suatu entity yang menunjuk ke
atribut primary key dari entity lain.
Alternate Key (kunci alternatif) : atribut
kunci yang tidak ada di dunia nyata, tetapi
diadakan dan dijadikan primary key karena
tidak ada satu pun atribut dalam sebuah
entity yang dapat mewakili entity tersebut.
Simbol-Simbol Atribut
(oval)
nama_atribut
nama_atribut nama_atribut

nama_atribut_kunci nama_atribut_komposit

nama_atribut
bernilai ganda
nama_atribut nama_atribut_derivatif

nama_entity
RELATIONSHIP

Relationship adalah hubungan yang terjadi antara satu atau


lebih entity.
Relationship sets adalah kumpulan dari relationship yang
sejenis.
Contoh :
an employee work_on a company.
relationship : work_on.
Simbol : wajik

employee work_on company


Derajat dari Relationship
Menjelaskan jumlah entity yang berpartisipasi
dalam suatu relationship
Unary Degree (Derajat Satu) : sebuah entity
berelasi dengan dirinya.

employee

supervisor supervise

Supervision
Derajat dari Relationship (lanj)

Binary Degree (Derajat Dua) :


terdapat dua entity yang saling
berhubungan.

employee work_on company


Derajat dari Relationship (lanj)

Ternary Degree (Derajat Tiga) : terdapat tiga entity yang


saling berhubungan.

title level

job
employee_name
Branch_city
employee_id branch_name

employee work_on branch


Cardinality Ratio
Menjelaskan jumlah keterhubungan satu entity dengan entity
yang lainnya.
(1 : 1) : satu entitas pada tipe entitas A berhubungan dengan
paling banyak satu entitas pada tipe entitas B dan juga
sebaliknya. Contoh : seorang manager mengelola satu
departemen dan begitu sebaliknya.
manager manages department

M1 R1 D1
M2 R2 D2
M3 R3 D3

1 1
manager manages departement
Cardinality Ratio (lanj)
(1 : N / N : 1) : suatu entitas di A dihubungkan dengan
sejumlah entitas di B. Contoh : banyak karyawan berkerja
untuk satu departemen atau satu departemen memiliki
banyak karyawan yang bekerja untuknya.
employee works_for department
E1 R1
E2 R2
D1
E3 R3
D2
E4 R4
D3
E5 R5
E6 R6

N 1
employee works_for department
Cardinality Ratio (lanj)
(M : N) : setiap entitas A dapat berhubungan dengan banyak
entitas B dan sebaliknya setiap entitas B juga dapat
berhubungan dengan banyak entitas A. Contoh : satu proyek
mempunyai banyak karyawan, satu karyawan boleh bekerja di
beberapa proyek.
employee works_on project
R1
E1 R2
P1
E2 R3
P2
E3 R4
P3
E4 R5
R6

M N
employee works_on project
Participation Constraint
Menjelaskan batasan keikutsertaan dari suatu entity terhadap
hubungannya dengan entity yang lainnya.
Total Participation : menyatakan instance dari suatu entity
harus berhubungan dengan instance dari entity lainnya.
Partial Participation : menyatakan setiap instance dari suatu
entity tidak harus berhubungan dengan instance dari entity
lainnya.
Contoh : setiap departemen harus dipimpin oleh seorang
manager/karyawan (total participation) dan tidak semua
karyawan yang memimpin suatu departemen (partial
participation).
1 1
employee manages departement
Weak Entity (Entitas Lemah)

Weak entity adalah suatu entity yang mana


keberadaannya tergantung dari keberadaan
entity lain.
Entity yang merupakan induknya disebut
Identifying Owner dan relationshipnya
disebut Identifying Relationship.
Weak entity selalu mempunyai total
participation constraint terhadap Identifying
Owner. Contoh : entity tanggungan,
keberadaannya bergantung pada karyawan.
Weak Entity (lanj)

nip nama

karyawan memiliki tanggungan


Entity-Relationship
Diagram (ERD)
Merupakan diagram yang
menggambarkan hubungan
(relationship) antar entitas (entity).
Symbol E-R Diagram
Symbol Keterangan Symbol Keterangan

= Entity

= Atribut Komposit
= Weak Entity

= Relationship = Atribut Derivatif

= Identifying Relationship = Total Participation Of E2 In R


E1 R E2

= Atribut
1 N
E1 R E2 = Cardinality Ratio 1:N For E1:E2 In R

______ = Atribut Kunci

= Atribut Multivalue
Tahap Pembuatan Entity
Relationship Diagram
1. Mengidentifikasikan dan menetapkan seluruh
himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity.
4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap
relationship (jika ada).
6. Menentukan Cardinality Rasio.
7. Menentukan Participation Constraint.
Kamus Data
Menjelaskan nama entity set beserta
atribut-atributnya.
Contoh : untuk entity set mahasiswa
dengan atribut nim, nama dan alamat.
maka kamus datanya berupa :
mahasiswa = {nim, nama, alamat}.
Ket :
mahasiswa adalah nama entity set.
nim, nama, alamat adalah nama atribut.
Contoh : ERD One to One

nip nama_dosen kode_jur nama_jur

1 1
Dosen Mengepalai Jurusan
Contoh : ERD One to Many

nip nama_dosen kode_mk nama_mk

1 N
Dosen Mengajar Matakuliah
Contoh : ERD Many to Many

nim nama_mhs kode_mk nama_mk

M N
Mahasiswa mengambil Matakuliah
Transformasi E-R Diagram ke
Basis Data Relational
Tahap-Tahap Transformasi :
1. Entity-Relationship Diagram menjadi basis data.
2. Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.
3. Entitas lemah key dari owner (entitas kuat) ke tabel entitas lemah.
4. Setiap tipe entity dibuat suatu tabel yang memuat semua atribut simple,
sedangkan untuk atribut komposit hanya dimuat komponen-komponennya
saja. Contoh :
city state

name street zip_code

id
address
customer

Tabel Customer
id name street city state zip_code
Transformasi E-R Diagram ke
Basis Data Relational (lanj)

5. Setiap tabel yang mempunyai atribut multivalue, buatlah tabel


baru dimana primary key-nya merupakan gabungan dari
primary key dari tabel tersebut dengan atribut multivalue.

Tabel Proyek
nama_proyek
no_proyek nama_proyek
no_proyek Lokasi
i

Tabel Lokasi_Proyek
proyek no_proyek lokasi
Transformasi E-R Diagram ke
Basis Data Relational (lanj)

6. Setiap unary relationship 1:N, selain membuat tabel baru


berdasarkan entity, buat juga tabel baru berdasarkan
relationship-nya dengan atribut kunci tamu (foreign key)
berdasarkan atribut kunci dari entity tersebut dan atribut
kunci alternatif sebagai primary key-nya.
Tabel Employee
employee_id employee_name
employee_name
employee_id N
Tabel Supervision
employee supervision supervisor_id employee_id

1
Transformasi E-R Diagram ke
Basis Data Relational (lanj)
7. Untuk CR 1:1 dengan atau tanpa total participation maka akan
dibuat tabel baru berdasarkan relationship, dimana kolom-
kolomnya terdiri dari alternate key, dan primary key dari masing-
masing entity.
Tabel Dosen
nip nama_dos
nip Nama_dos

Dosen
periode 1
Tabel kaprodi

mengepalai periode kode_jur nip

1
Tabel Jurusan
Jurusan
kode_jur nama_jur
kode_jur nama_jur
Transformasi E-R Diagram ke
Basis Data Relational (lanj)
8. Untuk CR (Cardinality Ratio) 1:N dengan atau tanpa total
participation maka primary key dari sisi 1 masuk ke sisi N.
nip nama_dos Tabel Dosen
nip nama_dos

Dosen
1

perwalian

N Tabel Mahasiswa

mahasiswa nim nama_mhs nip

nim nama_mhs
Transformasi E-R Diagram ke
Basis Data Relational (lanj)
9. Untuk CR M:N dibuat tabel tersendiri berdasarkan
relationshipnya dengan kolom-kolomnya terdiri dari alternate
key dan primary key dari masing-masing entity.
nim nama_mhs Tabel Mahasiswa
nim nama_mhs

mahasiswa
N Tabel KRS
semester
semester nim kode_mk
mengambil

M
Tabel Matakuliah
matakuliah
kode_mk nama_mk
kode_mk nama_mk
Studi Kasus :
Rental VCD FILM
Spesifikasi Database
Data dari film berupa : judul, jumlah kepingan, jumlah film.
Film yang disewakan diklasifikasikan dalam kelompok film yang
terdiri dari jenis film dengan masing-masing jenis memiliki harga
sewa yang berbeda, artinya jenis film menentukan harga
sewanya.
Data customer yang menyewa berupa : no identitas, jenis
identitas, nama dan alamat.
Setiap customer dapat menyewa lebih dari satu film.
Satu judul film dapat disewa oleh beberapa customer.
Lama sewa sesuai dengan jumlah film, terhitung dari tgl
menyewa.
Setiap keterlambatan pengembalian akan dikenakan denda per
hari dan per film. nilai dari denda sudah ditetapkan (konstan).
Tahap Pembuatan Entity
Relationship Diagram
1. Mengidentifikasikan entity-entity yang ada.
entity-entity : KelompokFilm, Film, Customer.
2. Menentukan atribut-atribut dari setiap entity.
Entity Atribut
Film judul, jml_keping, jml_film
KelompokFilm jenis, harga_sewa
Customer no_identitas, jenis_identitas, nama, alamat

3. Menentukan primary key dari setiap entity.


Entity Atribut
Film kode_film, judul, jml_keping, jml_film
KelompokFilm jenis, harga_sewa
Customer no_identitas, jenis_identitas, nama, alamat
Tahap Pembuatan Entity
Relationship Diagram (lanj)
4. Menentukan relationship antar entity.
Entity Relationship Entity
Film Dikelompokkan KelompokFilm
Customer Menyewa Film

5. Menentukan atribut-atribut dari setiap relationship (jika ada).


Relationship Atribut
Dikelompokkan -
Menyewa tgl_sewa, total_film, tgl_kembali,
total_harga, denda
Tahap Pembuatan Entity
Relationship Diagram (lanj)
6. Menentukan Cardinality Rasio.

Entity Relationship Entity Cardinality Rasio


Film dikelompokkan KelompokFilm N:1
Customer Menyewa Film N:M

7. Menentukan participation constraint.


Setiap film harus merupakan anggota dari suatu jenis
film, sehingga film memiliki total participation terhadap
relationshipnya dengan entity kelompok film.
Setiap customer tidak harus selalu menyewa film dan
setiap film tidak harus disewa oleh customer. Sehingga
entity-entity ini memiliki partial participation relationship
antar keduanya.
Entity Relationship Diagram
Rental VCD FILM
judul

jenis harga_sewa kode_film jml_keping


dikelompokkan

kelompokfilm 1 N Film jml_film


N
jenis_identitas
tgl_sewa total_film
no_identitas

M total_harga
Customer menyewa

nama alamat denda


tgl_kembali
Latihan Transformasi ke Basis
Data Relasional
Latihan
Sebuah perpustakaan kampus sederhana memiliki aturan-aturan
sebagai berikut :
1. Sebuah perpustakaan memiliki Buku yang dapat dipinjam oleh
Anggota perpustakaan.
2. Anggota dapat meminjam Buku pada perpustakaan lebih dari
satu buku dalam sekali peminjaman.
3. Pada Buku yang harus di catat adalah NoBuku, Judul,
Pengarang, Penerbit, Tahun Terbit, Jenis Buku
(Majalah, Kumpulan Artikel, Novel, Komik, Buletin, dsb), Status
(sedang dipinjam, ada diperpustakaan)
4. Pada Anggota yang harus dicatat adalah Nomor Anggota,
Nama, Alamat, Kota, No Telepon, Tanggal Lahir, Jurusan.
5. Pada setiap terjadi Transaksi Peminjaman maka dicatat
Tanggal Pinjam dan Tanggal Kembali.
Latihan Transformasi ke Basis
Data Relasional

Tugas Anda adalah :


1.Buatlah ER diagram untuk sistem
database perpustakaan tersebut.
2.Tentukan bentuk relasinya.
3.Tranformasikan ERD tersebut ke basis
data relasional (buatkan dalam tabel-
tabel)