Anda di halaman 1dari 51

ERD(EntityRelationship Diagram)

---Diagram Keterhubungan Entitas--M. Haviz Irfani


STMIK MDP Oktober 2012

-----BAHASAN ERD----PENDAHULUAN
TERMINOLOGI ERD
TAHAPAN MEMBUAT
ERD
CONTOH ERD DALAM
BEBERAPA KASUS

Pendahuluan
ERD (whitten, J.L. , dkk):
Model Data yang menggunakan
beberapa notasi untuk
menggambarkan data dalam konteks
entitas dan hubungan yang
dideskripsikan oleh data tersebut

Pendahuluan
ERD (Fathansyah, Ir):
Model Entity-Relationship yang berisi
komponen-komponen himpunan
entitas dan himpunan relasi yang
masing-masing dilengkapi dengan
atribut-atribut yang
merepresentasikan seluruh fakta dari
dunia nyata

Terminologi ERD
A.Entitas
sesuatu yang diperlukan bisnis untuk
menyimpan data(whitten, J.L,dkk)
individu yang mewakili sesuatu yang
nyata (eksistensinya) dan dapat
dibedakan dari sesuatu yang
lain(Fathansyah)
Orang, tempat, kejadian, atau konsep
yang informasinya direkam
(Harianto, Ir,K.)

Terminologi ERD
ENTITAS apa saja??? (whitten, J.L. , dkk; Nugroho, A.)
Orang: Pelanggan, Penyalur, Pegawai, Mahasiswa,
Departemen, Divisi,Pasien, dll
Tempat: Ruang, Perpustakaan,Kantor, Kampus,kota,
jalan,propinsi,Toko, dll
Object: Buku, Mesin, Produk, licensi perangkat lunak,
spesifikasi paket perangkat lunak, mobil,Produk,dll
Persitiwa: Aplikasi,penerbangan,kelas,order,
registrasi,reservasi,penjualan, pembelian,sll
Konsep:Kuliah ,kursus, mata kuliah, stok,
pinjaman,rekening dll
Abstrak: Persamaan matematika, persamaan fisika,
rumus-rumus kimia, dll

Jenis-jenis Entitas
1. Entitas Kuat (Strong Entity)yaitu entitas
mandiri yang keberadaannya tidak
bergantung pada keberadaan entitas lain.
2. Entitas Lemah (Weak Entity) yaitu entitas
yang keberadaannya bergantung pada
keberadaan entitas lain atau biasanya berasal
dari atribut multivalue pada entitas lain.
3. Entitas Asosiatif yaitu entitas yang
terbentuk dari suatu relasi (Relasi bersifat
banyak ke banyak atau bermakna mandiri
bagi pengguna).

Terminologi ERD

Contoh:

Entitas Kuat misalnya mahasiswa,


buku, karyawan, dll
Entitas Lemah misalnya hobi, orang
tua,
Entitas Asosiatif misalnya
pengiriman, jadwal, delivery order.
Hubungan banyak-ke-banyak sebaiknya dikonversi
menjadi Entitas Asosiatif.
Hubungan Ternary sebaiknya dikonversi menjadi
Entitas Asosiatif.

Hubungan (Relationship)
Hubungan bisnis alami yang ada di
antara satu atau lebih entitas
(whitten, J.L. dkk)
Asosiasi dari satu atau lebih entitas
yang bermakna bagi
organisasi/perusahaan (Nugroho, A.)
Menunjukkan adanya hubungan di
antara sejumlah entitas yang berasal
dari himpunan entitas berbeda
(Fathansyah)

Terminologi ERD
B. Atribut.
Sifat atau karakteristik deskriptif suatu entitas
(whitten, J.L. dll)
properti / karakteristik suatu entity atau
relationship
Contoh:
Entitas Pegawai; atributnya:nip,nama,alamat.
Entitas Barang;
atributnya:kodebrg,namabrg,jumlah.
Entitas Buku; atributnya:kdBuku,Judul,Pengarang.

Terminologi ERD

Tipe-tipe Atribut
1. Simple : Memiliki nilai atomik tunggal
contoh: kodeBRG,jenisKelamin,harga
2.Composite: Terdiri dari beberapa komponen
contoh:
Nama(nama depan, nama tengah, nama
belakang)
Alamat(jalan,no,kota,kodePos,Wilayah)
3.Multi-Valued:memiliki beberapa Nilai
Contoh:
Warna(merah,biru,putih,dll) dari entitas Mobil
Gelar(D1,D2,S1,S2,S3,..dll) dari entitas Pegawai

Tipe-tipe Atribut
4. Derived:diturunkan/dikalkulasi dari atribut
Stored(tersimpan)
Contoh:
umur diturunkan dari atribut tanggalLahir
Lama_Kerja diturunkan dari atribut
Tgl_mulai_kerja
5. Nilai Null :nilai ada tetapi belum diketahui
Contoh:
No_telpon, tinggi_badan,
nama_pasangan_orang_belum_menikah.

Contoh Atribut dari Atribut


Komposit
Alamat
jalanAlamat kota kodepos Area
Norumah jalan Blok

Contoh Diagram E-R dengan Atribut


Komposit, Nilai Berganda, dan Turunan

Kunci(key)
Kunci merupakan elemen record yang dipakai untuk
menemukan record tersebut pada waktu akses atau bisa
digunakan untuk identifikasi tiap record.
Kunci membuat sebuah entitas unik.
Contoh:
Pegawai: nomor pegawai (NIP)
Perusahaan: nama perusahaan (Nama)
Proyek : nomor proyek dan nama proyek (noproy,namaproy)
Transaksi: tanggal dan waktu (date dan time)

Kunci(key)
Mempengaruhi validasi integritas
data dan kinerja basis data
Mencegah user memasukkan data
yang sama yang tidak diinginkan
Memelihara integritas dengan cara
menghubungkan ini dengan key
tabel lain.

Jenis-jenis kunci :
Superkey: satu atau lebih atribut yang dimiliki entitas dapat
dibedakan dengan entitas lain. Contoh: gabungan nim dan
nama, nim,
Candidat key : atribut yang dapat dijadikan sebagai calon key
Primary key:atribut yang secara unik mengidentifikasi
masing-masing instan dari suatu tipe entitas tunggal. Instan
seperti (toni,tuti,bobi) = Karyawan
Alternate key : kandidat key yang dijadikan alternatif untuk
menjadi primary key
Foreign key: merelasikan entitas-entitas dalam sebuah relasi.

Metode Chen
Strong
Entitas

Weak
Entitas
Entitas

Rela
si

Relas
i
Relasi
Ident
ifikas
i

Atribut

Garis Hubungan

Atribut
MultiNil
Atribut
ai
Atribut
Turunan

KARDINALIT
AS:
1
N
N

Metode Martin
Strong
Entitas
Atribut
Atribut
Atribut

Relasi Identifikasi

lasi Tak Teridentifikasi

Weak
Entitas
Atribut
Atribut
Atribut

Entita
s
Asosia
tif

KARDINALIT
AS:
1
1
0
atau
1
1
atauN
0,1
atauN
>1

Derajat Hubungan (CHEN)

Hubungan Unary
N

Orang
1

Menik
ah
denga
n

(Satu ke satu)

Orang

Kerjas
ama

1
(Satu ke banyak)

Derajat Hubungan (MARTIN)

Hubungan Unary

Orang
Menikah
(Satu ke satu)

Orang
kerjasama
(Satu ke banyak)

Derajat Hubungan(CHEN)

Hubungan Binary
Universitas

Universitas

Mahasiswa

dipi
mpi
n

Mem
iliki

Men
giku
ti

Rektor

Jurusan

MataKuliah

Derajat
Hubungan(MARTIN)

Hubungan Binary
Universitas

Universitas

Mahasiswa

dipimpin

memiliki

mengikuti

Rektor

Jurusan

MataKuliah

Derajat Hubungan(CHEN)

Hubungan Ternary
Supplier

Memas
okan

P
Barang

Gudang

Derajat
Hubungan(MARTIN)

sa
n
Detail
Pasoka
n

dibutuhkan
Barang

di
pe

Supplier

m
em
as
ok

an

Hubungan Ternary

Gudang

Hubungan Majemuk

1
Meng
awas
i

Beke
rja

Pegawai

Relasi Tunggal
Relasi Ganda

1
Bagian

Meng
epala
i

Structural Constraints
Dinyatakan pd setiap partisipasi dari sebuah
entity tipe E pada relationship type R
Menyatakan bahwa tiap entity e di E
berpartisipasi paling sedikit min dan paling
banyak max pada relationship instance di R
Menyatakan batasan yang ada dalam
requirement(pengajuan).
Harus memenuhi min<=max,
min>=0,max>=1
min=0 menandakan partisipasi parsial
min>=1 menandakan partisipasi total

Participation constraints
Total participation (mandatory)
Minimal harus ada satu entitas A yang berasosiasi
dengan entitas B.
Contoh: pada relasi antara entitas mahasiswa dan
mata kuliah, diasumsikan bahwa mahasiswa
harus mengambil minimal satu mata kuliah.
Dosen harus mengajar minimal 1 mata kuliah

Participation constraints
Partial participation (optional)
Diperbolehkan terjadinya keadaan tidak ada
entitas A yang berasosiasi dengan entitas B.
Contoh: pada relasi dosen dan mahasiswa,
diasumsikan bahwa seorang dosen diperbolehkan
tidak memiliki mahasiswa bimbingan. Contoh lain
Dosen boleh tidak mengkoordinir dosen lainnya.

Langkah-langkah
membuat ERD
1.
2.
3.
4.
5.
6.
7.

Menentukan Entitas
Menentukan Relasi
Gambar ERD sementara
Tentukan Kardinalitas
Tentukan atribut-atribut yang diperlukan entitas
Tentukan Primary key
Gambar ERD Berdasarkan kunci:
menghilangkan relasi many to many dan
memasukkan primary key dan kunci tamu pada
masig-masing entitas

Langkah-langkah membuat
ERD
7. Menentukan atribut lainnya
8. Pemetaan atribut (memasang
atribut dengan entitas yang sesuai)
9. Gambar ERD dengan atribut lainnya

Persoalan
Buatlah ERD mahasiswa meminjam
buku pada perpustakaan!
Langkah 1: Tentukan Entitas dari soal.
Entitas : mahasiswa dan buku
Langkah 2: Tentukan Relasi dari soal.
Relasi : Meminjam
Langkah 3: Gambarlah ERD sementara
Mahasiswa

Memi
njam

Buku

meminjam

Mahasiswa

Buku

Langkah 4. Tentukan kardinalitasnya.


Mahasiswa

Mahasiswa

Memi
njam

meminjam

Buku

Buku

Langkah 5: Tentukan Primary key


NimMahasiswa dan kdbukuBuku
Langkah 6: gambar ERD
nim

Mahasiswa

Mahasiswa
nim (pk)

kdbuku

Memi
njam

Buku

Buku

meminjam

Kdbuku
(pk)

Mahasiswa

nim

alam
at

nim (pk)
nama
alamat

kdbuk
u

Memi
njam

ak
uk
an

tglpinj
am

m
el

Mahasiswa

kdbuk
u

Detailpinjam
nim+kdbuku
(pk)
nim(fk)
Kdbuku(fk)
tglPinjam
tglkembali
denda

judul

Buku

pengar
ang

ak
uk
an

nama

m
el

nim

penerbi
t

Buku
Kdbuku
(pk)
pengarang
Penerbit
judul

Contoh:
Pertanyaan 1 :
Sebuah Prodi mengasuh beberapa mata
kuliah. Setiap mata kuliah memiliki
kode yang unik, nama, dan jumlah SKS.
Masing-masing mata kuliah mahasiswa
yang mengambil mata kuliah tersebut
Tentukan entitas yang terlibat
Entitas kuat : Mhs, mtkul, Prodi,
Dosen,Kelas
Entitas lemah: -

Pertanyaan 2:
Mata kuliah memiliki kelas dengan
jadwal dan ruang yang spesifik dan
dosen yang mengajar
Tentukan atribut dari setiap entitas
Mhs: nama, npm, tgl_lahir
Mtkul: id, nama_matkul, SKS
Prodi: kode_prodi, nama_prodi
Dosen: id_dosen, nama
Kelas: jadwal, ruang, dosen

Departemen memiliki beberapa dosen.


Data dosen yang disimpan adalah
nama, nrp, alamat, tanggal lahir, dan
jenis kelamin
Tentukan
relasi
antar
dan
Relasi
Entitas
A
Entitas Bentitas
Partisipasi
Kardinalit
as
constraint-nya
Bekerja
Prodi
Dosen
Total-total
1-M
Mengajar
Bagian
Memiliki
Terdaftar

Dosen
Kelas
Prodi
Mtkul

Kelas
Mtkul
Mtkul
Mhs

Mengambil

Mtkul

Mhs

Partial-total
Total-partial
Total-total
Patialpartial
Partialpartial

M-N
M-1
1-M
N-M
N-M

Id_dose
n

kode_Pro
di

nama

DOSEN

Nama_Pro
di

PRODI

bekerja

Nama_m
hs

mengaj
ar

npm
MHS

memilik
i
KELAS
jadwa
l

ruan
g

Tgl_lahir

terdaf
tar

dose
n

meng
ambil

MTKUL
id

Nama_mtk
ul

sks

nilai

Contoh
Sebuah perusahaan memiliki
beberapa bagian. Masing-masing
bagian mempunyai pengawas dan
setidaknya satu pegawai. Pegawai
ditugaskan paling tidak di satu
bagian (dapat pula dibeberapa
bagian). Paling tidak satu pegawai
mendapat tugas di satu proyek.
Tetapi seorang pegawai dapat libur
dan tidak dapat tugas diproyek.

Penyelesaian:
Entitas: pengawas, bagian, pegawai,
proyek
Matriks Relasi:
Bagian
Bagian
Pegawai

Pegawai

Pengawas

ditugaskan
ke

dijalankan
oleh

milik

bekerja
pada

Pengawa menjalank
s
an
Proyek

Proyek

menggunak
an

ERD sementara:

Bagia
n

Dijalank
an oleh

Pengawa
s

Bekerja
pada

proyek

Ditugask
an ke
pegaw
ai

Menentukan kardinalitas
Masing-masing bagian hanya punya satu
pengawas
Seorang pengawas bertugas di satu bagian
Masing-masing bagian ada minimal satu
pegawai
Masing-masing pegawai bekerja paling
tidak di satu bagian
Masing-masing proyek dikerjakan paling
tidak oleh satu pegawai

ERD dan
Kardinalitas:

Bagia
n

Dijalank
an oleh

1 Pengawa

Bekerja
pada

N
Ditugask
an ke

M
pegaw
ai

proyek

ERD , Kardinalitas dan Primary Key:


namaB
GN

Bagia
n

noPenga
was

Dijalank
an oleh

1 Pengawa

Bekerja
pada

N
Ditugask
an ke

M
pegaw
ai
noPega
wai

proyek
noProy
ek

Entitas asosiatif dan hubungan NM: namaB


GN

Bagia
n

noPenga
was

1 Pengawa

Dijalank
an oleh

Ditugask
an ke

Bagian
Pegawai

namaBGN
+
noPegaw
ai

Bekerja
pada

noProy
ek
noproyek
+
noPegaw
ai

Terlibat

pegaw 1
ai
noPega
wai

Bekerja
pada

proyek

N
Pegawai
proyek

Melangkapi Atribut lainnya

Bagian: nama_bagian
Proyek: nama_proyek
Pegawai: nama_pegawai
Pengawas: nama_pengawas
Proyek-pegawai: nomor_proyek,
nomor_pegawai
Pengawas: nomor_pengawas

Contoh Agregasi
NAMA

KDMTK
NO-DSN

NO-DSN

DOSEN

KDMTK

MTK

ASUH

MT-KULIAH

RUANG

ALAMAT

SKS

NO-DSN

KDMTK

BELAJAR
NILAI

NPM

N
NPM

MAHASISWA

ALAMAT

NAMA

SOAL

Diketahui sebuah kasus sebagai berikut:


Perusahan diorganisasikan ke dalam beberapa
departemen. Setiap departemen memiliki nama dan
nomor yang unik, dan employee yang bekerja pada
perusahaan tersebut
Departemen mengontrol beberapa projects yang
masing-masing memiliki nama dan nomor yang
unik, dan memiliki lokasi
Data employee yang disimpan adalan nama, nrp,
alamat, gaji, jenis kelamin, dan tanggal lahir.
Perusahaan juga menyimpan data dari tanggungan
setiap employee. Data yang disimpan adalah nama,
jenis kelamin, tanggal lahir, dan hubungan dengan
employee
Dari data di atas, tentukan (jika ada):
Entitas kuat, entitas lemah, dan entitas asosiatif

SOAL
Buatlah ERD dari data berikut:
Sebuah rumah sakit memiliki beberapa ruangan. Di rumah
sakit tersebut tersedia beberapa dokter, yang memiliki id
dan nama, serta bangsal tempat bertugas.
Setiap pasien diperiksa oleh satu dokter.
Dokter memeriksa pasien berdasar id, nama, TTL, penyakit
dan ruangan.
Setiap Dokter memeriksa satu ruangan.
Terdapat suster yang memiliki id, nama dan bertugas
(terjadwal) di beberapa bangsal
Dokter dapat bertugas di dalam bangsal tertentu dengan
melihat id dan nama ruangan. Beberapa pasien dapat
berada di satu ruangan (bangsal).
Dalam urusan administrasi, pasien dibedakan menjadi 2,
yaitu outpatient dan resident patient.
Outpatient dapat diketahui dari tanggal pengecekan.
Resident Patient dapat dilihat dari tanggal masuk kembali.

SELESAI

Anda mungkin juga menyukai