Dokumen tersebut membahas konsep-konsep dasar model Entity Relationship (E-R) yang terdiri dari entitas, atribut, relasi, dan diagram E-R. Model E-R digunakan untuk merancang skema basis data dengan menggambarkan hubungan antar entitas.
1. BAB 4
MODEL ENTITY RELATIONSHIP
Tujuan Intruksional Khusus :
Mahasiswa mampu memahami dan membangun skema basis
data menggunakan keterhubungan antara entitas yang
dituangkan dalam model entity relationship diagram.
Model data Entity-Relationship (E-R) terdiri dari sekumpulan obyek-obyek, yang disebut
dengan entitas dan hubungan yang terjadi diantara obyek-obyek tersebut. Model data E-R
terbagi menjadi tiga konsep dasar, yaitu : himpunan entitas, himpunan relationship, dan
atribut.
4.1. Entitas (Entity) dan Himpunan Entitas (Entitas Set)
Suatu entitas merupakan suatu obyek dasar atau individu yang mewakili sesuatu yang
nyata eksistensinya dan dapat dibedakan dari obyek-obyek yang lain. Suatu entitas
mempunyai sekumpulan sifat, dan nilai dari beberapa sifat tersebut adalah unik yang
dapat mengidentifikasi entitas tersebut.
Sebagai contoh : setiap mahasiswa pada suatu perguruan tinggi merupakan suatu entitas,
dan NIM secara unik dapat menjadi identitas seorang mahasiswa.
Sekumpulan entitas yang mempunyai tipe yang sama (sejenis) dan berada dalam lingkup
yang sama membentuk suatu himpunan entitas Sebagai contoh, sekumpulan orang yang
menjadi mahasiswa pada suatu perguruan tinggi, dapat didefinisikan sebagai himpunan
entitas mahasiswa. Sehingga dapat dikatakan bahwa entitas menunjuk pada individu
suatu objek, sedangkan himpunan entitas menunjuk pada rumpun dari individu tersebut.
Suatu entitas memiliki atribut. Atribut merupakan sifat-sifat atau properti yang dimiliki
oleh entitas. Atribut inilah yang membedakan antara entitas yang satu dengan entitas
yang lain. Sebagai contoh, entitas mahasiswa mempunyai atribut NIM, nama_mhs,
alamat_mhs, tgl_lahir seperti yang diberikan pada table 4.1.
Tabel 4.1. Himpunan Entitas Mahasiswa
NIM Nama_mhs Alamat_mhs Tgl_lahir
Model Entity Relationship 31
2. J2F004001 Thoriq Menoreh 9 Semarang 50236 24-9-1987
J2F004002 Pasha Beringin A2 Jakarta 10342 5-11-1986
J2F004003 Afifah Mawar II/7 Semarang 50234 16-8-1988
J2F004004 Rizky Buana 123 Bandung 20345 23-2-1987
J2F004004 Felix Bima I/21 Jakarta 10431 13-10-1988
Untuk setiap atribut, terdapat sekumpulan nilai yang disebut dengan domain, atau
himpunan nilai dari atribut tersebut. Domain dari atribut nama-mahasiswa dapat berupa
himpunan semua text-string dengan panjang yang telah ditentukan.
Dengan demikian, suatu basis data terdiri dari sekumpulan himpunan entitas yang
masing-masing terdiri dari sejumlah entitas dengan tipe yang sama. Sehingga suatu
atribut dari suatu himpunan entitas merupakan suatu fungsi pemetaan dari himpunan
entitas ke domain.
Suatu atribut yang digunakan dalam model E-R, dapat dikarakterisasikan ke dalam tipe-
tipe atribut sebagai berikut:
Atribut komposit dan atribut sederhana
Atribut sederhana yaitu atribut yang tidak diuraikan menjadi sub atribut, atau tidak
dapat diuraikan menjadi atribut yang lain. Sedangkan atribut komposit adalah atribut
yang dapat diuraikan menjadi beberapa sub atribut. Pada contoh di atas, nama_mhs
merupakan atribut sederhana, sedangkan alamat_mhs merupakan atribut komposit
karena dapat diuraikan menjadi beberapa sub atribut, yaitu alamat, nama_kota,
kodepos.
Atribut bernilai tunggal (single-valued attribute) dan atribut bernilai banyak
(multivalued attribute)
Atribut bernilai tunggal ditujukan pada atribut yang mempunyai paling banyak satu
nilai untuk setiap baris data. Pada contoh data mahasiswa di atas, semua atribut
merupakan atribut bernilai tunggal. Sedangkan atribut bernilai banyak adalah
ditujukan pada atribut yang dapat berisi lebih dari satu nilai, tetapi mempunyai jenis
yang sama. Contoh atribut bernilai banyak adalah jika kita menambahkan atribut hobi
pada data mahasiswa. Seorang mahasiswa dapat memiliki satu hobi atau lebih dari
satu hobi, bahkan dapat juga tidak mempunyai hobi.
Atribut null
Nilai null digunakan ketika suatu entitas tidak mempunyai suatu nilai untuk suatu
atribut. Null juga menandakan bahwa suatu nilai atribut tidak ada atau tidak
Model Entity Relationship 32
3. diketahui. Sebagai contoh, jika mahasiswa tidak mempunyai hobi, maka pada atribut
hobi tidak ada nilainya.
Atribut turunan (Derived Attribute)
Atribut turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat
diturunkan atribut atau tabel lain yang berhubungan. Sebagai contoh adalah
penambahan atribut angkatan pada tabel data mahasiswa. Nilai pada atribut angkatan
dapat diketahui dari NIM mahasiswa.
4.2. Relasi (Relationship) dan Himpunan Relasi (Relationship Set)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari
sejumlah himpunan entitas yang berbeda. Misalnya, seorang mahasiswa dengan NIM =
‘J2F004001’ dan nama_mhs = ‘Thoriq’ (yang ada di himpunan entitas mahasiswa)
mempunyai relasi dengan entitas mata kuliah dengan kode_mtkul = ‘KOM104’ dan
nama_mtkul = ‘Algoritma Pemrograman’. Relasi dari kedua entitas tersebut mengandung
arti bahwa mahasiswa tersebut sedang mengambil mata kuliah Algortima Pemrograman.
Kumpulan semua relasi di antara entitas-entitas yang terdapat pada himpunan entitas
membentuk suatu himpunan relasi seperti yang diberikan pada table 4.2.
Tabel 4.2. Himpunan Entitas Mata Kuliah
Kode_mtkul Nama_mtkul sks Semester
KOM304 Sistem Operasi 3 3
KOM104 Algoritma Pemrograman 3 1
KOM203 Pemrograman Internet 3 2
KOM103 Logika Informatika 3 1
4.3. Kardinalitas Relasi (Mapping Cardinalities)
Kardinalitas merupakan jumlah maksimum entitas dimana entitas tersebut dapat berelasi
dengan entitas pada himpunan entitas yang lain.
Terdapat empat maca kardinalitas relasi yang terjadi antara himpunan entitas A dan
himpunan entitas B, yaitu :
• Satu ke Satu (One to one)
Model Entity Relationship 33
4. Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak satu
entitas di dalam hinpunan entitas B, dan entitas di dalam himpunan entitas B
dihubungkan dengan paling banyak satu entitas dalam himpunan entitas A.
a1 b1
a2 b2
a3 b3
a4 b4
Gambar 4.1. Kardinalitas Relasi Satu ke Satu
• Satu ke banyak (One to many)
Suatu entitas di dalam himpunan entitas A dihubungkan dengan lebih dari satu entitas
di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B hanya dapat
dihubungkan dengan paling banyak satu entitas dalam himpunan entitas A.
b1
a1
b2
a2 b3
b4
a3
b5
Gambar 4.2. Kardinalitas Relasi Satu ke Banyak
• Banyak ke Satu (Many to one)
Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B dapat
dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A.
Model Entity Relationship 34
5. a1
b1
a2
a3 b2
a4
b3
a5
Gambar 4.3. Kardinalitas Relasi Banyak ke Satu
• Banyak ke Banyak (Many to many)
Suatu entitas di dalam himpunan entitas A dapat dihubungkan dengan lebih dari satu
entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B dapat
dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A.
a1 b1
a2 b2
a3 b3
a4 b4
Gambar 4.4. Kardinalitas Relasi Banyak ke Banyak
4.4. Kunci (Key)
Kunci atau key merupakan satu atau gabungan dari beberapa atribut yang dapat
membedakan semua baris data dengan unik. Jika suatu atribut menjadi kunci, maka tidak
boleh ada dua atau lebih baris data dengan nilai yang sama. Terdapat 3 macam kunci,
yaitu:
1. Superkey, merupakan suatu himpunan yang terdiri dari satu atau lebih atribut yang
dapat membedakan setiap baris data dengan unik dalam sebuah tabel. Sebagai contoh
(NIM, nama_mhs, alamat_mhs, tgl_lahir), (NIM, nama_mhs, alamat_mhs), (NIM,
nama_mhs), (nama_mhs), (NIM).
Model Entity Relationship 35
6. 2. Candidate-key, merupakan himpunan atribut minimal yang dapat membedakan setiap
baris data dengan unik dalam sebuah tabel. Sebagai contoh adalah (NIM),
(nama_mhs).
3. Primary key, merupakan kunci yang paling unik, lebih ringkas, lebih sering dijadikan
acuan. Primary key dapat dipilih dari salah satu dari candidate key. Dari contoh di
atas yang paling tepat dijadikan primary key adalah (NIM).
4.5. Diagram Entity-Relationship (Diagram E-R)
Suatu database, dapat digambarkansecara grafik dengan suatu diagram E-R. Komponen-
komponen pada diagram E-R dengan notasi yang diberikan pada gambar 4.4.:
• Persegi panjang, menggambarkan himpunan entitas.
• Elips, menggambarkan atribut-atribut (atribut yang berfungsi sebagai kunci
digarisbawahi).
• Belah ketupat, menggambarkan himpunan relationship.
• Garis, menggambarkan hubungan atribut ke entitas dan himpunan entitas ke
himpunan relationship.
• Kardinalitas relasi dapat digambarkan dengan banyaknya garis cabang atau dengan
pemakaian angka, 1 untuk relasi satu, n untuk relasi banyak.
a
Himpunan Entitas E atribut a sebagai key
Himpunan Relasi R garis
Gambar 4.4. Notasi Diagram E-R
Sebagai contoh, relasi antara himpunan entitas Mahasiswa dengan himpunan Mata
Kuliah. Himpunan relasinya disebut dengan “Belajar”. Pada relasi ini, seorang mahasiwa
bisa mengambil lebih dari satu mata kuliah. Setiap mata kuliah dapat diambil lebih dari
satu mahasiswa. Relasi tersebut diberikan pada gambar 4.5.
Model Entity Relationship 36
7. nama_mhs NIM kode_mtkul kode_mtkul nama_mtkul
NIM
n n
Mahasiswa Belajar mata kuliah
nilai
sks
alamat_mhs tgl_lahir semester
Gambar 4.5. Skema Diagram E-R
4.6. Himpunan Entitas Lemah (Weak Entitas Lemah)
Himpunan entitas yang tidak memiliki atribut yang dapat berfungsi sebagai primary key
disebut dengan himpunan entitas lemah. Himpunan entitas lemah berisi entitas-entitas
yang kemunculannya tergantung pada keberadaannya dalam sebuah relasi terhadap
entitas lain (entitas kuat). Sebagai contoh, pada tabel data Mahasiswa, dapat dilengkapi
dengan entitas baru, yaitu hobi seperti yang diberikan pada gambar 4.6.
NIM NIM hobi
nama_mhs
1 n
Mahasiswa menyenangi hobi hobi
alamat_mhs
tgl_lahir
Gambar 4.6. Penambahan Entitas hobi
Data hobi dapat dikategorikan sebagai himpunan entitas lemah (digambarkan dengan
kotak ganda), karena keberadaannya bergantung pada adanya relasi dengan entitas yang
ada pada himpunan entitas mahasiswa.
Model Entity Relationship 37
8. 4.7. Spesialisasi dan Generalisasi
Suatu himpunan entitas mungkin mempunyai sub kelompok entitas yang berbeda dari
entitas yang lain pada himpunan entitas tersebut. Suatu sub himpunan yang berada dalam
himpunan entitas mungkin mempunyai atribut yang tidak dimiliki oleh semua entitas
dalam himpunan entitas tersebut.
Sebagai contoh, himpunan entitas Dosen dapat dibagi menjadi dua, yaitu dosen tetap dan
dosen tidak tetap. Himpunan entitas dosen, bisa memiliki atribut nip, golongan, pangkat,
tgl_masuk. Sedangkan untuk dosen tidak tetap, atribut-atribut tersebut tidak diperlukan.
Adanya perbedaan tersebut menyebabkan entitas dosen tidak mungkin disatukan dalam
sebuah himpunan entitas. Dari suatu himpunan entitas, dapat dilakukan pengelompokan
yang dapat membentuk suatu himpunan entitas baru atau proses top down disebut dengan
proses spesialisasi seperti pada gambar 4.7.
top down
Dosen
ISA
Dosen tidak
Dosen Tetap
tetap
Gambar 4.7. Spesialisasi
Kebalikan dari spesialisasi adalah generalisasi, yaitu proses bottom up. Sebagai contoh
adalah himpunan entitas mahasiswa sebenarnya dapat terdiri dari mahasiswa S1-regular
dan mahasiswa S1-ekstensi pada gambar 4.8.
Adanya spesialisasi dan generalisasi digambarkan dalam relasi khusus yang disebut
dengan relasi ISA.
Model Entity Relationship 38
9. bottom up
Mahasiswa
ISA
Mahasiswa Mahasiswa
S1-Regular S1-Ekstensi
Gambar 4.8. Generalisasi
4.8. Agregasi
Satu keterbatasan dari model E-R adalah tidak mungkin untuk mengekspresikan suatu
himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan
sebuah himpunan relasi. Untuk mengatasi hal tersebut, digunakan suatu notasi khusus
untuk menunjukkan adanya agregasi semacam itu.
Sebagai contoh, relasi antara himpunan entitas mahasiswa dengan himpunan entitas mata
kuliah. Terdapat beberapa mata kuliah yang mengandung kegiatan praktikum. Himpunan
relasi “Kegiatan” dalam diagram ER berikut ini menunjukkan entitas mahasiswa yang
mengikuti kegiatan praktikum, karena sedang mengambil mata kuliah yang ada
praktikumnya, seperti yang diberikan pada gambar 4.9.
Model Entity Relationship 39
10. n n
Mahasiswa Belajar Mata_Kuliah
n kode_mtkul
nim
Kegiatan
nilai
kode_prakt
n
Praktikum
kode_prakt nama_prakt
Gambar 4.9. Agregasi
4.9. SOAL-SOAL LATIHAN
1. Buatlah suatu diagram E-R untuk suatu rumah sakit yang terdiri dari himpunan entitas
pasien dan himpunan entitas dokter. Asosiasikan setiap pasien menjalani serangkaian
test dan pengobatan.
2. Misalkan basis data pada suatu universitas dalam menjadwalkan ruang untuk ujian
akhir. Database ini dapat dimodelkan sebagai himpunan entitas tunggal ujian, yang
terdiri dari atribut nama_mtkuliah, nomor_ruang, dan waktu. Alternatif lain, dapat
ditambahkan satu atau lebih himpunan entitas yang berhubungan dengan himpunan
relasi untuk menempatkan beberapa atribut lain pada himpunan entitas ujian, yaitu :
• Mtkuliah, dengan atribut nama, kode.
• Kelas, dengan atribut nomer_ruang, kapasitas dan gedung.
Buatlah diagram E-R yang menggambarkan penggunaan semua himpunan entitas
yang ditambahkan tersebut di atas.
Model Entity Relationship 40