Modul Basis Data / Database
Download Modul Basis Data Bab 09 - Pemodelan Entitas Relasi
Bab 09 - Pemodelan Entitas Relasi
Abstract
"Modul ini mempelajari pemodelan entitas relasi."
Kompetensi
"Mahasiswa mampu menjelaskan konsep dasar tentang model entitas dan hubungannya beserta atribut yang terdapat dalam entitas"
Model Data
Model Data sendiri dapat didefinisikan sebagai kumpulan perangkat konseptual
untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan
data. Oleh karena yang ingin ditunjukkan adalah makna dari data dan
keterhubungannya dengan data lain, maka Model Data ini lebih tepat jika disebut
Model Data Lojik.
Model Keterhubungan Entitas (Entity-Relationship Models), yang merupakan Model
Data yang paling populer digunakan dalam perancangan basis data.
Model Entity-Relationship (Model
Keterhubungan-Entitas)
Pemakaian istilah 'Model Keterhubungan-Entitas' dalam bahasa Indonesia dapat
digunakan sebagai padanan dari istilah asing : Entity-Relationship Model (E-R Model).
Istilah Model Entity-Relationship telah demikian populer/umum digunakan dalam
berbagai pembahasan tentang analisis/perancangan Basis Data.
Pada Model Entity-Relationship, semesta data yang ada diterjemahkan atau
ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi
sebuah diagram data, yang umum disebut sebagai Diagram Entity-Relationship
(Diagram E-R). Sebelum kita membahas lebih jauh tentang bagaimana Diagram ER
tersebut dapat kita gambarkan, maka yang harus lebih dulu diketahui adalah
komponen-komponen pembentuk Model Entity-Relationship. Sesuai namanya,
ada 2 (dua) komponen utama pembentuk Model Entity-Relationship, yaitu:
Entitas (Entity)
Relasi (Relation)
Entitas (Entity) dan Himpunan Entitas (Entitas
Set)
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan
dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang
yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di
depan kita adalah Entitas. Sekelompok Entitas yang sejenis dan berada dalam
lingkup yang sama membentuk sebuah Himpunan Entitas (Entity Set).
Sederhananya, Entitas menunjuk pada individu suatu objek, sedang Himpunan
Entitas menunjuk pada rumpun (famili) dari individu tersebut. Seseorang memang
dapat menjadi sebuah entitas, tapi dapat berada pada Himpunan Entitas yang
berbeda dengan seseorang yang lain. Seorang pasien, misalnya, akan dimasukkan
dalam Himpunan Entitas Pasien, sedang seorang dokter akan ditempatkan dalam
Himpunan Entitas Dokter.
Dalam berbagai pembahasan/literatur, penyebutan Himpunan Entitas (yang
kurang praktis) ini seringkali digantikan dengan sebutan Entitas saja. Karena itu
sering kita temui, penggunaan istilah Entitas (Entity) di sebuah literatur sebenarnya
menunjuk pada Himpunan Entitas.
Contoh-contoh Himpunan Entitas:
Semua Pelanggan, atau Pelanggan saja.
dengan entitas Budiman, Suherman, Aminah, dan seterusnya.
Semua Mobil, atau Mobil saja.
dengan entitas mobil Suzuki, mobil Toyota, mobil Honda, dan lain-lain.
Semua Mahasiswa, atau Mahasiswa saja.
dengan entitas Ali, Budi, Iman, dan seterusnya.
Relasi (Relationship) dan Himpunan Relasi
( Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal
dari himpunan entitas yang berbeda. Misalnya, entitas seorang mahasiswa
dengan NIM='980001' dan Nama_Mhs='Ali Akbar' (yang ada di himpunan
entitas Mahasiswa) mempunyai relasi dengan entitas sebuah mata kuliah dengan
Kode_Kul=IF-110' dan Nama_Kul='Struktur Data'. Relasi di antara kedua entitas
tadi mengandung arti bahwa mahasiswa tersebut sedang
mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang
kita tinjau.
Kumpulan semua relasi di antara entitas-entitas yang terdapat pada himpunan
entitas-himpunan entitas tersebut membentuk Himpunan Relasi (Relationship
Sets). Sebagaimana istilah Himpunan Entitas yang banyak sekali disingkat
menjadi Entitas (walaupun sebenamya memiliki perbedaan makna), istilah
Himpunan Relasi jarang sekali digunakan dan lebih sering disingkat dengan
istilah Relasi saja.
Kardinalitas/Derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas yang lain. Pada contoh di atas, maka
hubungan maksimum dari himpunan entitas Mahasiswa ke himpunan entitas
Kuliah adalah Banyak (lebih dari satu) dan demikian pula hubungan
maksimum dari himpunan entitas Kuliah ke himpunan entitas Mahasiswa
adalah Banyak (lebih dari satu). Dengan demikian Kardinalitas Relasi antara
kedua himpunan entitas adalah Banyak ke Banyak.
Kardinalitas Relasi yang terjadi di antara dua himpunan entitas (misalnya A dan
B) dapat berupa:
Satu ke Satu (One to One)
Berarti setiap entitas pada himpunan entitas A berhubungan dengan paling
banyak dengan satu entitas pada himpunan entitas B, dan begitu juga
sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling
banyak dengan satu entitas pada himpunan entitas A.
Satu ke Banyak (One to Many),
Berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan
banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap
entitas pada himpunan entitas B berhubungan dengan paling banyak satu
entitas pada himpunan entitas A.
Banyak ke Satu (Many to One)
Berarti setiap entitas pada himpunan entitas B berhubungan dengan banyak
entitas pada himpunan entitas A, tetapi tidak sebaliknya, di mana setiap entitas
pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada
himpunan entitas B.
Banyak ke Banyak (Many to Many)
yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan
banyak entitas pada himpunan entitas B, dan demikian juga sebaliknya, di mana
setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak
entitas pada himpunan entitas A.
Kardinalitas Relasi Satu ke Banyak dan Banyak ke Satu dapat dianggap sama,
karena tinjauan Kardinalitas Relasi selalu dilihat dari dua sisi (dari himpunan
entitas A ke himpunan entitas B dan dari himpunan entitas B ke himpunan entitas
A). Jadi kalau penggambaran pada contoh Kardinalitas Relasi Banyak ke Satu, di
mana himpunan entitas A kita tempatkan di sebelah kanan dan himpunan entitas
B kita tempatkan di sebelah kiri (dan hal ini boleh-boleh saja dilakukan), maka
Kardinalitas Relasinya menjadi Satu ke Banyak.
Diagram Entity-Relationship (Diagram E-R)
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' yang kita tinjau, dapat
digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-
Relationship (Diagram E-R).
Tahapan Pembuatan Diagram E-R
Diagram E-R selalu dibuat secara bertahap. Paling tidak ada dua kelompok
tahapan yang biasa ditempuh di dalam pembuatan Diagram E-R, yaitu:
1. Tahap pembuatan Diagram E-R awal (preliminary design).
2. Tahap optimasi Diagram E-R (final design).
Objektif dari tahap yang pertama adalah:
1. Mendapatkan sebuah rancangan basis data minimal yang dapat
mengakomodasi kebutuhan penyimpanan data terhadap sistem yang
sedang kita tinjau.
2. Umumnya juga mengabaikan anomali-anomali (sejumlah pengecualian)
yang memang ada sebagai suatu fakta. Anomali-anomali tersebut
biasanya baru dipertimbangkan pada tahap kedua.
Objektif pada tahap kedua ini perlu memperhatikan aspek-aspek
efisiensi, performansi dan fleksibiltas, tiga hal yang seringkali dapat
saling bertolak belakang. Karena itulah, tahap kedua ini ditempuh
dengan:
melakukan koreksi terhadap hasil tahap pertama.
Bentuk-bentuk koreksi yang terjadi bisa berupa pendekomposisian
himpunan entitas, penggabungan himpunan entitas, pengubahan
derajat relasi, penambahan relasi baru hingga perubahan
(penambahan dan pengurangan) atribut-atribut untuk masingmasing
entitas dan relasi.
Langkah-langkah teknis pada tahap pertama tersebut untuk mewujudkan
perancangan basis data pada lingkup sistem perkuliahan yang telah kita
bahas, maka urutan penggambarannya adalah sebagai berikut:
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan
terlibat
Himpunan entitas mana saja yang akan kita pilih/libatkan tidak hanya
tergantung pada jenis topik/sistem yang kita tinjau, tetapi juga ditentukan
oleh seberapa jauh ruang lingkup yang ingin kita akomodsi dalam
rancangan basis data kita. Dalam lingkup sistem perkuliahan sesungguhnya
ada banyak sekali himpunan entitas yang bisa kita libatkan seperti
Mahasiswa, Kuliah, Praktikum, Dosen, Asisten, Ruang, Jurusan, Literatur
dan lain-lain. Namun, dalam lingkup sistem perkuliahan yang sederhana
sesuai dengan pembahasan sebelumnya, dapat kita identifikasi adanya tiga
buah himpunan entitas, yaitu Mahasiswa, Kuliah dan Dosen:
2. Menentukan atribut-atribut key dari masing-masing himpunan entitas
Salah satu ciri dari himpunan entitas adalah kemandiriannya. Kemandirian
itu terlihat dari kejelasan atribut yang menjadi key dan perbedaannya
dengan key yang ada di himpunan entitas yang lain.
Dan pengidentifikasi setiap entitas secara unik di himpunan entitas
Mahasiswa adalah atribut nim, lalu di himpunan entitas Kuliah adalah
atribut kode_kul dan di himpunan entitas Dosen adalah atribut nama_dos:
Atribut nim, kode_kul dan nama_dos merupakan atribut-atribut yang tidak
saling tergantung, karena itulah dapat kita yakini bahwa Mahasiswa,
Kuliah dan Dosen memang merupakan himpunan entitas yang tepat.
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara
himpunan entitas-himpunan entitas yang ada beserta foreign key-nya.
Langkah ketiga ini merupakan langkah terpenting dalam pembentukan
Diagram E-R dimana:
Ketepatan kita dalam menentukan relasi-relasi yang terjadi di antara
himpunan entitas akan sangat menentukan kualitas rancangan basis
data yang kita bangun.
Relasi-relasi yang kita tetapkan harus dapat mengakomodasi semua
fakta yang ada dan menjamin semua kebutuhan penyajian data, tetapi
di sisi lain juga harus dibuat seoptimal mungkin agar tidak memakan
ruang penyimpanan yang lebih besar dan tidak menyulitkan operasi
pengelolaan data.
Relasi-relasi yang sifatnya tidak langsung harus ditiadakan.
Himpunan relasi Mempelajari dan himpunan relasi Mengajar merupakan
relasi langsung yang terjadi antara himpunan entitas Mahasiswa dan
Kuliah serta antara himpunan entitas Dosen dan Kuliah:
Himpunan relasi Mempelajari akan dapat mengakomodasi adanya fakta
tentang sejumlah mahasiswa yang mengambil mata kuliah tertentu dan
sebaliknya sejumlah mata kuliah yang diambil/dipelajari oleh mahasiswa
tertentu. Demikian juga dengan himpunan relasi Mengajar yang dapat
mengakomodasi fakta tentang dosen yang mengajar mata kuliah tertentu.
Kendati, katakanlah, ada kebutuhan untuk menyajikan informasi tentang
mahasiswa mana saja yang diajar oleh seorang dosen, kita tidak perlu
membuat relasi antara himpunan entitas Mahasiswa dan Dosen, karena
kebutuhan penyajian informasi semacam itu telah dapat dipenuhi dengan
melakukan query yang melibatkan himpunan entitas Kuliah dan kedua
himpunan relasi yang telah ada.
4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
Karena memang fakta memperlihatkan bahwa seorang mahasiswa boleh
mengambil beberapa mata kuliah sekaligus dan begitu juga sebaliknya,
sebuah mata kuliah dapat diikuti oleh banyak mahasiswa sekaligus, maka
derajat relasi antara himpunan entitas Mahasiswa dan Kuliah adalah
banyak-ke-banyak. Sementara itu, fakta yang ada juga menunjukkan bahwa
seorang dosen dapat mengajar beberapa mata kuliah (pada semester yang
sedang berjalan), tetapi setiap mata kuliah hanya dipegang oleh seorang
dosen, maka derajat relasi antara himpunan entitas Dosen dan Kuliah
adalah satu-ke-banyak. Berangkat dari fakta tersebut, maka Diagram E-R
kita sekarang menjadi:
5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut
deskriptif (non key).
Berangkat dari fakta yang ada, atribut-atribut deskriptif yang dapat kita
sertakan pada masing-masing himpunan entitas dan himpunan relasi adalah
(di dalam elip dan tidak bergaris bawah):
Langkah terakhir ini merupakan langkah pelengkap sehingga tidak sepenting
langkah-langkah sebelumnya. Keberadaan atribut-atribut deskriptif ini merupakan
refleksi pengakomodasian terhadap fakta yang memang ada dan kebutuhan
penyajian data di saat yang lain. Atribut deskriptif ini juga tidak banyak berperan
dalam membentuk pemahaman kita jika 'membaca' sebuah Diagram E-R, bahkan
cenderung mengganggu karena biasanya jumlah atribut demikian cukup banyak.
Karena itu, khususnya pada sebuah sistem yang besar dan kompleks, langkah
terakhir ini acapkali tidak dilakukan, sehingga Diagram E-R yang dibangun hanya
sampai pada langkah keempat.
Diagram E-R dengan Kamus Data
Objektif utama dari pembuatan Diagram E-R adalah untuk menunjukkan objekobjek
(himpunan entitas) apa saja yang ingin dilibatkan dalam sebuah basis data
dan bagaimana hubungan yang terjadi di antara objek-objek tersebut. Pada
sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran
atribut-atribut dalam sebuah Diagram E-R seringkali malah mengganggu
objektif yang ingin dicapai tersebut. Kita dapat memisahkan pendeklarasian
atribut-atribut ini dari Diagram E-R dan menyatakannya dalam sebuah kamus
data. Kamus data berisi daftar atribut yang diapit kurung kurawal ('{' dan '}').
Atribut yang berfungsi sebagai key juga dibedakan dengan yang bukan key
dengan menggarisbawahi atribut tersebut.
Kamus Data:
Mahasiswa = {nim. nama_mhs, alamat_mhs, tgl_lahir}
Kuliah = {kode kul. nama_kul, sks, semester}
Dosen = {nama dos. alamat dos}
mempelajari = {mm, kode kul. indeks_nilai}
mengajar = {kode kul. nama dos. waktu, tempat}
Derajat Relasi Minimum
Derajat/Kardinalitas Relasi minimum merupakan hubungan (korespondensi)
minimum yang boleh terjadi antara himpunan entitas yang satu terhadap
himpunan entitas yang lain, contoh relasi antara himpunan entitas Mahasiswa
dan Kuliah. Kita telah mengetahui bahwa seorang mahasiswa boleh mengambil
banyak mata kuliah sekaligus dan demikian juga sebaliknya (sehingga
Kardinalitas Relasinya adalah banyak-ke-banyak atau N-N). Sementara derajat
minimum dalam relasi itu dapat kita ketahui dari fakta bahwa seorang
mahasiswa boleh tidak mengambil mata kuliah satupun (karena sedang cuti,
misalnya) dan bisa terjadi sebuah mata kuliah tidak diikuti oleh seorang
mahasiswa pun (karena merupakan mata kuliah pilihan, misalnya). Dengan
begitu Derajat Relasi Minimum-nya sama-sama 0). Nilai 0 (nol) memang
merupakan Derajat Relasi Minimum yang sering terjadi. Tetapi tidak selalu
demikian. Misalnya, relasi antara Kuliah dan Dosen, ada fakta bahwa setiap
mata kuliah harus sudah ditentukan dosen yang akan mengajarkannya
(sehingga Derajat Relasi Minimum-nya adalah 1).
Dapat digambarkan Diagram E-R untuk sistem perkuliahan sebelumnya
sebagai berikut (atribut-atributnya sengaja tidak diperlihatkan):
Dengan Diagram E-R di atas, pemahaman hubungan antara himpunan entitashimpunan
entitas tersebut adalah:
Seorang mahasiswa dapat mempelajari banyak mata kuliah sekaligus, tapi
boleh juga tidak (belum) mempelajari mata kuliah satu pun.
Setiap mata kuliah dapat diikuti oleh banyak mahasiswa, tapi bisa saja
ada mata kuliah yang tidak (belum pernah) diikuti oleh satu pun
mahasiswa.
Seorang dosen boleh mengajar banyak mata kuliah sekaligus, tetapi bisa saja
terjadi ada dosen yang tidak (belum diperbolehkan) mengajar satu mata kuliah
pun.
Setiap mata kuliah hanya boleh diajarkan oleh seorang dosen dan tidak boleh
ada mata kuliah yang belum ditentukan siapa dosennya.
Sumber :
Modul Perkuliahan - Basis Data - Program Studi Sistem Informasi - Fakultas Ilmu Komputer - Universitas Mercu Buana