ERD(EntityRelationship ERD(EntityRelationship Diagram) ---Diagram Keterhubungan Entitas--M. Haviz Irfani !MIK MD" #$tober %&'%
-----H* ERD----PENDAHULUAN TERMINOLOGI ERD TAHAPAN MEMBUAT ERD CONTOH ERD DALAM BEBERAPA KASUS
-----H* ERD----PENDAHULUAN TERMINOLOGI ERD TAHAPAN MEMBUAT ERD CONTOH ERD DALAM BEBERAPA KASUS
"en+ahuluan ERD (,hitten ./. +$$)0 1Model Data yang mengguna$an beberapa notasi untu$ menggambar$an +ata +alam $onte$s entitas +an hubungan yang +i+es$ripsi$an oleh +ata tersebut2
"en+ahuluan ERD (3athansyah Ir)0 1Mo+el Entity-Relationship Entity-Relationship yang berisi $omponen-$omponen himpunan entitas +an himpunan relasi yang masing-masing +ileng$api +engan atribut-atribut yang merepresentasi$an merepresentasi$an seluruh fa$ta +ari +unia nyata2
!ermi ! erminologi nologi ERD A.Entitas 1sesuatu yang +iperlu$an bisnis untu$ menyimpan +ata2(,hitten ./+$$) 1in+ivi+u yang me,a$ili sesuatu yang nyata (e$sistensinya) +an +apat +ibe+a$an +ari sesuatu yang lain2(3athansyah) 1#rang tempat $e4a+ian atau $onsep yang informasinya +ire$am2 (Harianto IrK.)
!erminologi ERD ENTITAS apa saja!!! " ,hitten ./. +$$5 *ugroho . # O$an%& "elanggan "enyalur "ega,ai Mahasis,a Departemen Divisi"asien +ll Te'pat& Ruang "erpusta$aanKantor Kampus$ota 4alanpropinsi!o$o +ll O(je)t& u$u Mesin "ro+u$ li6ensi perang$at luna$ spesi7$asi pa$et perang$at luna$ mobil"ro+u$+ll Pe$siti*a& pli$asipenerbangan$elasor+er registrasireservasipen4ualan pembeliansll Konsep&Kuliah $ursus mata $uliah sto$ pin4amanre$ening +ll A(st$a+& "ersamaan matemati$a persamaan 7si$a rumus-rumus $imia +ll
enis-4enis Entitas ,. Entitas K-at "Strong Entity #yaitu entitas man+iri yang $ebera+aannya ti+a$ bergantung pa+a $ebera+aan entitas lain. . Entitas Le'a/ "Weak Entity # yaitu entitas yang $ebera+aannya bergantung pa+a $ebera+aan entitas lain atau biasanya berasal +ari atribut multivalue pa+a entitas lain. 0. Entitas Asosiati1 yaitu entitas yang terbentu$ +ari suatu relasi (Relasi bersifat banya$ $e banya$ atau berma$na man+iri bagi pengguna).
!erminologi ERD
8ontoh0 •
•
•
Entitas Kuat misalnya mahasis,a bu$u $arya,an +ll Entitas /emah misalnya hobi orang tua Entitas sosiatif misalnya pengiriman 4a+,al +elivery or+er.
Hubungan banyak-ke-banyak sebaiknya dikonversi menjadi Entitas Asosiatif. Hubungan Ternary sebaiknya dikonversi menjadi Entitas Asosiatif.
Hubungan (Relationship) 1Hubungan bisnis alami yang a+a +i antara satu atau lebih entitas2 (,hitten ./. +$$) 1sosiasi +ari satu atau lebih entitas yang berma$na bagi organisasi9perusahaan2 (*ugroho .) 1Menun4u$$an a+anya hubungan +i antara se4umlah entitas yang berasal +ari himpunan entitas berbe+a2 (3athansyah)
!erminologi ERD B. At$i(-t. 1ifat atau $ara$teristi$ +es$riptif suatu entitas2 (,hitten ./. +ll) 1properti 9 $ara$teristi$ suatu entity atau relationship2 Conto/& Entitas Pe%a*ai5 atributnya0nipnamaalamat. Entitas Ba$an%5 atributnya0$o+ebrgnamabrg4umlah. Entitas B-+-5 atributnya0$+u$uu+ul"engarang.
!erminologi ERD
!ipe-tipe tribut ,. Si'ple 0 Memili$i nilai atomi$ tunggal 6ontoh0 $o+eR:4enisKelaminharga .Co'posite0 !er+iri +ari beberapa $omponen 6ontoh0 *ama(nama +epan nama tengah nama bela$ang) lamat(4alanno$ota$o+e"os;ilayah) 0.M-lti23al-ed 0memili$i beberapa *ilai 8ontoh0 ;arna(merahbiruputih<+ll) +ari entitas Mobil :elar(D'D%'%=..+ll) +ari entitas "ega,ai
!ipe-tipe tribut 4. De$i5ed0+iturun$an9+i$al$ulasi +ari atribut tore+(tersimpan) 8ontoh0 umur +iturun$an +ari atribut tanggal/ahir /ama>Ker4a +iturun$an +ari atribut !gl>mulai>$er4a 6. Nilai N-ll 0nilai a+a tetapi belum +i$etahui 8ontoh0 *o>telpon tinggi>ba+an nama>pasangan>orang>belum>meni$ah.
Conto/ At$i(-t da$i At$i(-t Ko'posit Ala'at jalanAla'at +ota +odeposA$ea No$-'a/ jalan Blo+
8ontoh Diagram E-R +engan tribut Komposit *ilai ergan+a +an !urunan
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 (noproynamaproy) !ransaksi: tanggal dan waktu (date dan time)
Kunci(key) •
•
•
Mempengaruhi vali+asi integritas +ata +an $iner4a basis +ata Men6egah user memasu$$an +ata yang sama yang ti+a$ +iingin$an Memelihara integritas +engan 6ara menghubung$an ini +engan $ey tabel lain.
Jenis-jenis kunci : –
–
–
–
–
"uperkey: satu atau lebih atribut yang dimiliki entitas dapat dibedakan dengan entitas lain. Contoh: gabungan nim dan nama nim Candidat key : atribut yang dapat di#adikan sebagai calon key Primary key:atribut yang secara unik mengidentifikasi masing$masing instan dari suatu tipe entitas tunggal. Instan seperti (%toni&&tuti&&bobi&) ' Karyawan lternate key : kandidat key yang di#adikan alternatif untuk men#adi primary key oreign key: merelasikan entitas$entitas dalam sebuah relasi.
Meto+e 8hen St$on% Entitas
7ea+ Entitas Entitas
Rela si
Relas i Relasi Ident i8+as i
At$i(-t
Ga$is H-(-n%an
At$i(-t M-ltiNil At$i(-t ai At$i(-t T-$-nan
KARDINALIT AS& , N
N
M
,
,
Meto+e Martin St$on% Entitas At$i(-t At$i(-t At$i(-t
elasi Identi8+asi asi Ta+ Te$identi8+asi
7ea+ Entitas At$i(-t At$i(-t At$i(-t
Entita s Asosia ti1
KARDINALIT AS& , , 9 ata, , ata-N 9:, ata-N ;,
Dera4at Hubungan (8HE*) -(-n%an Una$< N
,
O$an%
Meni+ a/ den%a n
, "Sat- +e sat-#
O$an%
Ke$jas a'a
, "Sat- +e (an
Dera4at Hubungan (MR!I*) -(-n%an Una$<
O$an% Meni+a/ "Sat- +e sat-#
O$an% +e$jasa'a "Sat- +e (an
Dera4at Hubungan(8HE*) -(-n%an Bina$< Uni5e$sitas
Uni5e$sitas
Ma/asis*a
,
dipi 'pi n
,
,
Me' ili+i
N
N
Men %i+ti
M
Re+to$
=-$-san
MataK-lia/
De$ajat H-(-n%an"MARTIN# -(-n%an Bina$< Uni5e$sitas
Uni5e$sitas
Ma/asis*a
dipi'pin
'e'ili+i
'en%i+-ti
Re+to$
=-$-san
MataK-lia/
De$ajat H-(-n%an"CHEN# H-(-n%an Te$na$< S-pplie$
N
Me'as o+an
P Ba$an%
M
G-dan%
De$ajat H-(-n%an"MARTIN# -(-n%an Te$na$<
S-pplie$
n a + s o a ' e '
Detail Paso+a n
di(-t-/+an Ba$an%
n a e s i p d
G-dan%
H-(-n%an Maje'-+
, Men% a*as i
N
Be+e $ja
Pe%a*ai
N
,
Relasi T-n%%al Relasi Ganda
, Ba%ian
Men% epala i
,
St$-)t-$al Const$aints •
•
•
•
•
•
Dinyata$an p+ setiap partisipasi +ari sebuah entity tipe E pa+a relationship type R Menyata$an bah,a tiap entity e +i E berpartisipasi paling se+i$it min +an paling banya$ ma? pa+a relationship instan6e +i R Menyata$an batasan yang a+a +alam re@uirement(penga4uan). Harus memenuhi minABma? minCB&ma?CB' minB& menan+a$an partisipasi parsial minCB' menan+a$an partisipasi total
Pa$ti)ipation )onst$aints Total pa$ti)ipation "'andato$<# Minimal harus a+a satu entitas yang berasosiasi +engan entitas . 8ontoh0 pa+a relasi antara entitas mahasis,a +an mata $uliah +iasumsi$an bah,a mahasis,a harus mengambil minimal satu mata $uliah. Dosen harus menga4ar minimal ' mata $uliah •
Pa$ti)ipation )onst$aints Pa$tial pa$ti)ipation "optional# Diperboleh$an ter4a+inya $ea+aan ti+a$ a+a entitas yang berasosiasi +engan entitas . 8ontoh0 pa+a relasi +osen +an mahasis,a +iasumsi$an bah,a seorang +osen +iperboleh$an ti+a$ memili$i mahasis,a bimbingan. 8ontoh lain Dosen boleh ti+a$ meng$oor+inir +osen lainnya. •
Lan%+a/2lan%+a/ 'e'(-at ERD '. Menentu$an Entitas %. Menentu$an Relasi =. :ambar ERD sementara . !entu$an Kar+inalitas . !entu$an atribut-atribut yang +iperlu$an entitas F. !entu$an "rimary $ey G. :ambar ERD er+asar$an $un6i0 menghilang$an relasi many to many +an memasu$$an primary $ey +an $un6i tamu pa+a masig-masing entitas
/ang$ah-lang$ah membuat ERD G. Menentu$an atribut lainnya . "emetaan atribut (memasang atribut +engan entitas yang sesuai) . :ambar ERD +engan atribut lainnya
"ersoalan uatlah ERD mahasis,a memin4am bu$u pa+a perpusta$aanJ /ang$ah '0 !entu$an Entitas +ari soal. Entitas 0 mahasis,a +an bu$u /ang$ah %0 !entu$an Relasi +ari soal. Relasi 0 Memin4am /ang$ah =0 :ambarlah ERD sementara Ma/asis*a
Me'i nja'
B-+-
'e'inja'
Ma/asis*a
B-+-
/ang$ah . !entu$an $ar+inalitasnya. Ma/asis*a
Ma/asis*a
N
Me'i nja'
'e'inja'
M
B-+-
B-+-
/ang$ah 0 !entu$an "rimary $ey *im Mahasis,a +an $+bu$u u$u /ang$ah F0 gambar ERD
ni'
Ma/asis*a
+d(-+-
N
Me'i nja'
B-+-
B-+-
Ma/asis*a ni' "p+#
M
'e'inja'
Kd(-+"p+#
ni'
na'a
Ma/asis*a
ala' at
Ma/asis*a ni' "p+# na'a ala'at
N
ni'
+d(-+ -
Me'i nja'
t%lpinj a'
M
+d(-+ -
B-+-
pen%a$ an%
n n a a Detailpinja' + + + + ni'>+d(-+ l a l a e "p+# e ' ' ni'"1+# Kd(-+-"1+# t%lPinja' t%l+e'(ali denda
j-d-l
pene$(i t
B-+Kd(-+"p+# pen%a$an% Pene$(it j-d-l
8ontoh0 Pe$tan
Pe$tanlahir Mt$ul0 i+ nama>mat$ul K "ro+i0 $o+e>pro+i nama>pro+i Dosen0 i+>+osen nama Kelas0 4a+,al ruang +osen
Departemen memili$i beberapa +osen. Data +osen yang +isimpan a+alah nama nrp alamat tanggal lahir +an 4enis $elamin !entu$an relasi antar +an Relasi Entitas A Entitas Bentitas Pa$tisipasi Ka$dinalit as 6onstraint-nya e$er4a "ro+i Dosen !otal-total '-M Menga4ar agian Memili$i !er+aftar Mengambil
Dosen Kelas "ro+i Mt$ul
Kelas Mt$ul Mt$ul Mhs
Mt$ul
Mhs
"artial-total !otal-partial !otal-total "atialpartial "artialpartial
M-* M-' '-M *-M *-M
I+>+ose n
$o+e>"ro +i
nama
D#E*
*ama>"ro +i
"R#DI
be$er4a
!gl>lahir *ama>m hs
menga 4 ar
npm MH
memili$ i KE/ 4a+,a l
ruan g
ter+af tar
+ose n
meng ambil
M!K/ i+
*ama>mt$ ul
s$s
nilai
8ontoh •
ebuah perusahaan memili$i beberapa bagian. Masing-masing bagian mempunyai penga,as +an seti+a$nya satu pega,ai. "ega,ai +itugas$an paling ti+a$ +i satu bagian (+apat pula +ibeberapa bagian). "aling ti+a$ satu pega,ai men+apat tugas +i satu proye$. !etapi seorang pega,ai +apat libur +an ti+a$ +apat tugas +iproye$.
"enyelesaian0 •
•
Entitas0 penga,as bagian pega,ai proye$ Matri$s Relasi0 Ba%ian
agian "ega,ai
Pe%a*ai
Pen%a*as
+itugas$an $e
+i4alan$an oleh
mili$
be$er4a pa+a
"enga,a men4alan$ s an "roye$
P$o
mengguna$ an
ERD sementara0
agia n
Di4alan$ an oleh
"enga,a s
e$er4a pa+a
proye$
Ditugas$ an $e
pega, ai
Menentu$an $ar+inalitas •
•
•
•
•
Masing-masing bagian hanya punya satu penga,as eorang penga,as bertugas +i satu bagian Masing-masing bagian a+a minimal satu pega,ai Masing-masing pega,ai be$er4a paling ti+a$ +i satu bagian Masing-masing proye$ +i$er4a$an paling ti+a$ oleh satu pega,ai
ERD +an Kar+inalitas0
agia n
'
Di4alan$ an oleh
' "enga,a
e$er4a pa+a
M
s
* Ditugas$ an $e
M pega, ai
*
proye$
ERD Kar+inalitas +an "rimary Key0 na'aB GN
agia n
noPen%a *as
'
Di4alan$ an oleh
' "enga,a
e$er4a pa+a
M
s
* Ditugas$ an $e
M pega, ai noPe%a *ai
*
proye$ noP$o< e+
Entitas asosiatif +an hubungan *M0 na'aB
noPen%a *as
GN
agia n
'
Di4alan$ an oleh
' "enga,a s
'
Ditugas$ an $e
M
agian "ega,ai
*
na'aBGN > noPe%a* ai
e$er4a pa+a
'
noP$o< e+ nop$o noPe%a* ai
!erlibat
'
pega, ' ai noPe%a
e$er4a pa+a
proye$
M
* "ega,ai proye$
Melang$api tribut lainnya •
•
•
•
•
•
agian0 nama>bagian "roye$0 nama>proye$ "ega,ai0 nama>pega,ai "enga,as0 nama>penga,as "roye$-pega,ai0 nomor>proye$ nomor>pega,ai "enga,as0 nomor>penga,as
Conto/ A%$e%asi *M
KDM!K *#-D*
*#-D*
N
D#E*
KDM!K
M!K
N
H
M!-K/IH
R*:
/M!
K
N
*#-D*
KDM!K
E/R *I/I
*"M
N *"M
MHI;
/M!
*M
#/
Di$etahui sebuah $asus sebagai beri$ut0 "erusahan +iorganisasi$an $e +alam beberapa +epartemen. etiap +epartemen memili$i nama +an nomor yang uni$ +an employee yang be$er4a pa+a perusahaan tersebut Departemen mengontrol beberapa pro4e6ts yang masing-masing memili$i nama +an nomor yang uni$ +an memili$i lo$asi Data employee yang +isimpan a+alan nama nrp alamat ga4i 4enis $elamin +an tanggal lahir. "erusahaan 4uga menyimpan +ata +ari tanggungan setiap employee. Data yang +isimpan a+alah nama 4enis $elamin tanggal lahir +an hubungan +engan employee Dari +ata +i atas tentu$an (4i$a a+a)0 •
•
•
•
SOAL uatlah ERD +ari +ata beri$ut0 ebuah rumah sa$it memili$i beberapa ruangan. Di rumah sa$it tersebut terse+ia beberapa +o$ter yang memili$i i+ +an nama serta bangsal tempat bertugas. etiap pasien +iperi$sa oleh satu +o$ter. Do$ter memeri$sa pasien ber+asar i+ nama !!/ penya$it +an ruangan. etiap Do$ter memeri$sa satu ruangan. !er+apat suster yang memili$i i+ nama +an bertugas (ter4a+,al) +i beberapa bangsal Do$ter +apat bertugas +i +alam bangsal tertentu +engan melihat i+ +an nama ruangan. eberapa pasien +apat bera+a +i satu ruangan (bangsal). Dalam urusan a+ministrasi pasien +ibe+a$an men4a+i % yaitu outpatient +an resi+ent patient. #utpatient +apat +i$etahui +ari tanggal penge6e$an. Resi+ent "atient +apat +ilihat +ari tanggal masu$ $embali. •
•
•
•
•
•
•
•