Anda di halaman 1dari 43

ENTITY-RELATIONSHIP

MODEL
ENTITY-RELATIONSHIP MODEL
 Entity relationship : cara memodelkan suatu data ditingkat
konseptual dalam perancangan basis data.
 Tujuan : menyajikan data dan menjadikan data mudah
dimengerti, sehingga mempermudah perancangan dan
pengaksesan database.
 Berdasarkan tipe konsepnya, data model dibagi menjadi dua
kategori yaitu Conceptual (High Level) Data Model dan Physical
(Low Level) Data Model.
 Conceptual Data Model merupakan konsep yang berkaitan dengan
pandangan pemakai terhadap data, sedangkan Physical Data
Model merupakan konsep yang menerangkan detail dari
bagaimana data di simpan di dalam komputer.
 ERD merupakan suatu model untuk menjelaskan hubungan antar
data dalam basis data berdasarkan objek-objek dasar data yang
mempunyai hubungan antar relasi.
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.
ENTITY
 Entity adalah obyek yang dapat dibedakan dalam dunia
nyata.
 Entity sets adalah kumpulan dari entity yang sejenis.
 Entity sets dapat berupa :
 Obyek secara fisik : Rumah, Kendaraan, Peralatan,
Mahasiswa.
 Oyek secara konsep : Pekerjaan, Perusahaan,
Rencana, Matakuliah.
 Contoh:
o Orang: MAHASISWA, DOSEN, PEMASOK, PENJUAL
o Benda: MOBIL, MESIN, RUANGAN
o Tempat: NEGARA, DESA
o Kejadian: PENJUALAN, REGISTRASI
o Konsep: REKENING, KURSUS
 Simbol : persegi panjang nama_entity
ENTITY
 Untuk membedakan antara entitas sebagai kumpulan data dan sebuah
entitas terdapat istilah tipe entitas dan instan entitas
 Tipe entitas disebut juga himpunan entitas
 Instan entitas adalah sebuah kemungkinan data dalam sebuah tipe entitas
Atribut

 Atribut adalah sifat atau karakteristik yang melekat


dalam sebuah entitas
 Contoh:
MAHASISWA = (Nomor_Mhs, Nama_Mhs,
Alamat_Mhs, Kota_Mhs)
MOBIL = (Kode_Mobil, Nama_Mobil, Cc)

 Domain menyatakan kemungkinan nilai untuk sebuah


atribut
Atribut (Lanjutan..)
 Atribut Sederhana versus atribut komposit
 Atribut sederhana tidak bisa dipecah menjadi bagian yang
lebih kecil lagi
 Atribut komposit adalah atribut yang dapat dipecah
menjadi komponen yang lain

Alamat: Alamat_Jalan, Kota, Kode_Pos


Nama: Nama_Depan, Nama_Tengah, Nama_Belakang

Contoh Atribut komposit


Atribut (Lanjutan..)

 Atribut nilai tunggal (single-valued) dan


nilai berganda (multivalued attribute)

 Atribut nilai berganda adalah atribut


yang berkemungkinan memiliki nilai
lebih dari satu
 Contoh: Nomor_Telepon,
Ketrampilan_Pemrograman
Atribut (Lanjutan..)

 Atribut tersimpan dan atribut turunan (derived


attribute)
 Atribut tersimpan adalah atribut yang secara
eksplisit tersimpan dalam database
 Atribut turunan adalah atribut yang nilainya dapat
dikalkulasi dari nilai atribut tersimpan
 Contoh:

 Lama_Bekerja dapat dihitung dari


Tgl_Mulai_Bekerja
 Usia bisa dihitung dari Tgl_lahir
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

supervison
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
Brunch_city
employee_id brunch_name

employee work_on brunch


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 hanya memimpin satu
departemen dan begitu sebaliknya.
manager manages departement

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 depertement atau satu
departement memiliki banyak karyawan yang bekerja
untuknya.
employee works_for departement
E1 R1
E2 R2
D1
E3 R3
D2
E4 R4
D3
E5 R5
E6 R6

N 1
employee works_for departement
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
Kardinalitas Hubungan

Selalu hanya satu

Satu atau banyak

Nol atau satu

Nol, satu, atau


banyak
Kekangan Kardinalitas

 Jenis hubungan antartipe entitas seringkali


dinyatakan tidak sekedar dalam bentuk
berupa One to One, One to Many, Many to
One, dan Many to Many, melainkan juga
dengan menyertakan kekangan kardinalitas

 Kekangan kardinalitas (cardinality


constraint) adalah suatu keadaan yang
digunakan untuk menyatakan jumlah instan
dalam sebuah entitas yang dapat dikaitkan
dengan sebuah instan pada entitas lain

 Implementasinya adalah dengan


menggunakan kardinalitas hubungan yang
dijelaskan pada slide sebelum ini
Kekangan Kardinalitas (Lanj…)

 Berkaitan dengan kekangan kardinalitas,


terdapat istilah kardinalitas minimum dan
kardinalitas maksimum

 Kardinalitas minimum adalah jumlah instan


tersedikit dalam sebuah entitas yang
mungkin dikaitkan dengan setiap instan
pada entitas lain

 Kardinalitas maksimum adalah jumlah


instan terbanyak dalam sebuah entitas yang
mungkin dikaitkan dengan setiap instan
pada entitas lain
Contoh Penerapan Kekangan Kardinalitas

PASIEN Mempunyai KUNJUNGAN (a) Dasar hubungan

SEJARAH (b) Hubungan


PASIEN Mempunyai
dengan kekangan
PASIEN
kardinalitas

Contoh:
Kunjungan 1
Amir Kunjungan 2
Dewi Kunjungan 1
Fahmi Kunjungan 1
Kunjungan 2
Contoh Penerapan Kekangan
Kardinalitas (Lanj…)

PEGAWAI Ditugaskan_ke PROYEK (a) Dasar hubungan

(b) Hubungan
PEGAWAI Ditugaskan_ke PROYEK dengan kekangan
kardinalitas

Contoh:
Proyek 1
Amir Proyek 2
Dewi Proyek 3
Fahmi Proyek 4
Sueb Proyek 5
Contoh Penerapan Kekangan Kardinalitas yang
Menggunakan Bentuk Lain
Arti Hubungan

 Beberapa barang digunakan untuk Produk

BARANG

Digunakan_ PELANGGAN
PRODUK
pada

 Pelanggan tidak mengirim pesanan Mengirim

PESANAN
Kekangan Kardinalitasnya?

ORANG Menikah_dengan PEGAWAI Membawahi

SUKU_CADANG Tersusun_atas
Jawaban Kekangan
Kardinalitasnya :

ORANG Menikah_dengan PEGAWAI Membawahi

SUKU_CADANG Tersusun_atas
Participation Constraint
 Menjelaskan batasan keikut-sertaan 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


Contoh Kasus

 Pada saat mendaftar menjadi anggota perpustakaan


Fakultas, dicatatlah nama, nomor mahasiswa dan
alamat mahasiswa. Setelah itu mereka baru bisa
meminjam buku di perpustakaan. Buku-buku yang
dimiliki perpustakaan banyak sekali jumlahnya. Tiap
buku memiliki data nomor buku, judul, pengarang,
penerbit, tahun terbit. Satu buku bisa ditulis oleh
beberapa pengarang. Tentukan entitas, atribut dan
relasi dari deskripsi di atas, dengan menggambar
ERDnya.
CONTOH STUDI KASUS SEDERHANA
Untuk keperluan penjelasan konsep dan penggunaan ER-Model, digunakan
satu contoh database “FAKULTAS” yang didalamnya mencatat:
 data dosen
 data program studi / prodi
 data proyek
CONTOH STUDI KASUS
SEDERHANA
Penjelasan dari sebagian data FAKULTAS
yang diperoleh setelah fase “Requirement
Collection and Analysis” sbb:
1. Fakultas terdiri dari beberapa Program
Studi (prodi). Setiap prodi mempunyai
satu nama yang unik,nomer yang unik,
dan seorang dosen bertindak sebagai
kepala dari prodi (kaprodi). Tanggal mulai
bekerja dari kaprodi juga dicatat dalam
database (Tgl pengangkatan sebagai
kaprodi). Satu prodi dapat tersebar
disejumlah lokasi.
CONTOH STUDI KASUS
SEDERHANA
2. Suatu prodi dapat mengendalikan
sejumlah proyek mahasiswa, setiap
proyek mempunyai satu nomor yang unik,
nama yang unik, dan satu lokasi tertentu.
3. Data dosen yang perlu dicatat berupa :
nama, nomor induk dosen, alamat, honor,
jenis kelamin dan tanggal lahir.
Seorang dosen ditempatkan di satu prodi,
tetapi dapat menangani sejumlah proyek
yang tidak harus dikendalikan oleh prodi
dimana dosen tersebut ditempatkan.
Jumlah jam perminggunya dari dosen
yang menangani suatu proyek perlu
dicatat, juga perlu dicatat supervisor
langsung dari setiap dosen.
CONTOH STUDI KASUS
SEDERHANA
4. Untuk keperluan tunjangan dosen, maka perlu dicatat
anggota keluarga dari setiap dosen. Data yang dicatat
berupa: nama anggota keluarga, sex, birthdate dan
hubungan keluarga (relationship).
Contoh

 Buatlah diagram ER untuk perusahaan asuransi mobil


yang mana pelanggannya bisa memiliki satu mobil atau
lebih. Masing-masing mobil pernah mengalami baik nol
kejadian ataupun beberapa kejadian kecelakaan yang
terlapor.
Latihan 1
Gambarkan satu ER-Diagram dari satu set
„requirements“ untuk keperluan database suatu
universitas yang digunakan untuk menyimpan
transkrip dari mahasiswa:
1. Universitas mencatat data setiap mahasiswa
yang berupa: nama,nomor pokok, nomor KTP,
alamat tetap, alamat sementara, tgl-lahir, jenis
kelamin, nama jurusan, program pendidikan
(Diploma Tiga, Sarjana, Pasca Sarjana).Sejumlah
user dari aplikasi yang dibuat juga perlu untuk
mengacu pada nama kota, propinsi dan kode pos
dari alamat tetap mahasiswa, dan juga nama
orang tua dari setiap mahasiswa.Nomor KTP dan
nomor pokok unik untuk setiap mahasiswa.
Latihan 1

2. Setiap jurusan dijelaskan berdasarkan


nama, kode jurusan, kode kantor,
nomor telepon. Kode dan nama
jurusan mempunyai nilai-nilai yang
unik.
3. Setiap mata kuliah mempunyai kode,
nama, jumlah sks, dan jurusan
penyelenggara, kode mata kuliah
unik untuk setiap mata kuliah yang
ada.
Latihan 1

4. Setiap mata kuliah yang ditawarkan


dalam setiap semester diidentifikasikan
sebagai „section“, yang setiap section
mempunyai nomor/kode dosen,
semester, tahun, mata kuliah, dan
nomor section. Nomor section
membedakan sejumlah section yang
mempunyai nama mata kuliah yang
sama yang ditawarkan pada
semester/tahun yang sama (nilainya
adalah 1,2,3 .... s/d jumlah section
yang ditawarkan dalam satu semester).
5. Laporan nilai prestasi belajar (Transkip)
berisikan nama mahasiswa , section,
serta nilai angka dan nilai huruf
(0,1,2,3, atau 4).
Latihan 2

Suatu Basis Data akan dibangun untuk menyimpan informasi


mengenai team-team dan pertandingan-pertandingan dalam
suatu liga olah raga. Adapun informasi yang diinginkan untuk
disimpan berupa:
a. Suatu Team mempunyai nama yang unik, dan Negara asal.
b. Suatu Team terdiri dari pemain-pemain. Data-data pemain
yang diperlukan adalah nama pemain, No punggung yang
unik, umur, posisi/peran pemain dalam pertandingan.
c. Data lokasi pertandingan yang berupa nama lokasi yang unik
dan alamat lokasi yang terdiri dari jalan, kota, dan kode pos.
Latihan 2

d. Untuk tiap pertandingan yang perlu


dicatat adalah nama-nama Team yang
bertanding ( team tuan rumah dan
team tamu), nama lokasi, dan hasil /
skor pertandingan.
 Buat ER-Diagram dari user
requirement di atas. Buatlah asumsi-
asumsi untuk lebih
 melengkapi user requirement diatas.