Entity Relationship Diagram
ERD / Entity Relationship
Diagram merupakan model data berupa notasi grafis
dalam pemodelan data konseptual yang menggambarkan hubungan antara penyimpan
satu dengan penyimpan yang lain. Model data sendiri merupakan sekumpulan cara,
peralatan untuk mendeskripsikan data-data yang memiliki hubungan satu sama
lain, semantiknya, serta batasan konsistensi. Model data terdiri dari model
hubungan entitas dan model relasional. Diagram hubungan entitas ditemukan oleh
Peter Chen dalam buku Entity Relational Model-Toward a Unified of Data.
Pada saat itu diagram hubungan entitas dibuat sebagai bagian dari perangkat
lunak yang juga merupakan modifikasi khusus, karena tidak ada bentuk tunggal
dan standar dari diagram hubungan entitas.
ERD adalah suatu pemodelan dari basisdata
relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini
senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu
dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya
disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai
pembeda dengan entity lainnya. Contoh : entity Mahasiswa, mempunyai atribut
nama, umur, alamat, dan nim.
Diagram hubungan
entitas digunakan untuk mengkonstruksikan model data konseptual, memodelkan
struktur data dan hubungan antar data dan mengimplementasikan basis data secara
logika maupun secara fisik dengan DBMS (Database Management system).
Dengan diagram hubungan entitas ini kita dapat menguji model dengan mengabaikan
proses yang harus dilakukan. Diagram hubungan entitas dapat membantu dalam
menjawab persoalan tentang data yang diperlukan dan bagaimana data tersebut
saling berhubungan.
Simbol Simbol dalam Entity Relationship Diagram
Simbol–simbol
yang digunakan dalam entity relationship diagram adalah sebagai berikut ini :
1. Entity (rectangler)
Digunakan untuk menggambarkan obyek yang diidentifikasikan ke dalam lingkungan.
1. Entity (rectangler)
Digunakan untuk menggambarkan obyek yang diidentifikasikan ke dalam lingkungan.
2. Atribut (oval)
Digunakan untuk menggambarkan elemen-elemen dari suatu entity, yang menggambarkan karakter entity.
3. Hubungan (diamond)
Entity dapat berhubungan satu sama lain. Hubungan ini disebut dengan relationship.
4. Garis (line)
Digunakan untuk menghubungkan entity dengan relasi/hubungan, maupun entity dengan atribut.
Tahapan Perancangan ERD
1. Identifikasi dan menetapkan seluruh himpunan Entitas
2. Menentukan Atribut Key dari masing-masing himpunan entitas.
3. Identifikasi dan menetapkan seluruh himpunan Relasi di antara himpunan
Entitas yang ada beserta kunci tamunya (foreign key).
4. Derajat relasi untuk setiap himpunan relasi.
5. Melengkapi himpunan relasi dengan atribut- atribut deskriptif.
1.
Identifikasi dan menetapkan
seluruh himpunan Entitas
Sebagaimana telah
disebutkan, himpunan entitas mewakili sebuah kumpulan entitas yang jelas
eksistensinya dan dapat berdiri sendiri. Akan tetapi, himpunan entitas mana
saja yang kita pilih tidak hanya tergantung pada jenis topik/sistem yang kita
tinjau, tetapi juga ditentukan oleh seberapa jauh ruang lingkup yang kita ingin
akomodasi dalam rancangan basis data. Dalam lingkup sistem perkuliahan
sesungguhnya ada banyak sekali himpunan entitas yang bisa kita libatkan seperti
Mahasiswa, Kuliah, Praktikum, Dosen, Asisten, Ruang, Jurusan dll.
Namun dalam lingkup sistem perkuliahan yang sederhana,
kita dapat identifikasi adanya tiga buah himpunan entitas , yaitu Mahasiswa,
Kuliah dan Dosen
2.
Menentukan Atribut Key dari
masing-masing himpunan entitas.
Atribut-atribut key yang kita sertakan di masing-masing
himpunan entitas merupakan atribut terpenting yang dapat
mengidentifikasi(membedakan) setiap entitas yang ada didalamnya. Keberadaan
atribut ini juga akan memberikan
keyakinan tentang kebenaran eksistensi dari setiap himpunan entitas. Salah satu
ciri dari himpunan entitas adalah kemandiriannya. Dengan mudah dapat kita
sepakati, bahwa pengidentifikasi setiap entitas secara unik, dihimpunan entitas
Mahasiswa adalah atribut nim, lalu dihimpunan entitas Kuliah adalah atribut
kode_kul, dan dihimpunan entitas Dosen adalah atribut nama_dosen
3.
Identifikasi dan menetapkan
seluruh himpunan Relasi di antara himpunan Entitas yang ada beserta kunci
tamunya (foreign key).
Langkah ke-3 ini sangat penting dalam pembentukan Diagram
E-R. Ketepatan dalam menentukan relasi yang terjadi diantara himpunan entitas
akan menentukan kualitas rancangan basis data yang kita bangun. Relasi yang
kita tetapkan harus dapat mengakomodasi semua fakta yang ada dan menjamin
kebutuhan pengajian data, akan tetapi dalam sisi lain juga harus dibuat
seoptimal mungkin agar tidak memakai ruang penyimpanan yang lebih besar. Untuk
itulah , relasi yang sifatnya tidak langsung harus ditiadakan. Himpunan relasi
mempelajari dan mengajar merupakan relasi langsung yang terjadi diantara
himpunan entitas Mahasiswa dan Kuliah serta antara himpunan entitas Dosen dan
Kuliah , dapat di gambarkan sebagai berikut:
Himpunan relasi Mempelajari akan dapat mengakomodasi
adanya fakta tentang sejumlah Mhs yang menganmbil mata kuliah tertentu,
demikian juga dengan himpunan relasi mengajar yang dapat mengakomodasi fakta
tentang dosen yang mengajar mata kuliah tertentu.
4.
Menentukan derajat relasi untuk
setiap himpunan relasi.
Karena memang fakta memperlihatkan bahwa seseorang mahasiswa boleh
mengambil beberapa mata kuliah sekaligus, maka derajat relasi antara himpunan
entitas mahasiswa & kuliah adalah banyak ke banyak. Sementar itu fakta yang
menunjukan bahwa dosen dapat mengajar beberapa mata kuliah , maka derajat relasi
antara himpunan entitas dosen dan kuliah adalah satu ke banyak, maka dapat kita
gambarka Diagram E-R sebagai berikut:
5. Melengkapi himpunan relasi dengan atribut- atribut deskriptif
Langkah terakhir ini merupakan langkah pelengkap sehingga
tidak seperti langkah-langkah sebelumnya. Keberadaan atribut deskriptif ini
merupakan refleksi pengakomodasian terhadap fakta.
Menurut Al Bahra bin Ladjamudin B (2004:189) ERD adalah suatu
model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara
abstrak. Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu
model jaringan fungsi yang dilaksanakan oleh sistem. Sedangkan ERD merupakan
model jaringan data yang menekankan pada struktur-struktur dan relationship
data.
Diagram hubungan entitas atau yang lebih dikenal dengan sebutan ER
diagram, adalah notasi grafik dari sebuah model data atau sebuah model jaringan
yang menjelaskan tentang data yang tersimpan (data storage) dalam sistem secara abstrak. Diagram hubungan entitas tidak menyatakan
bagaimana memanfaatkan data, membuat data, mengubah data, dan menghapus data.
Elemen-elemen
Diagram Hubungan Entitas
- Entity
Pada ER
diagram, entity digambarkan dengan sebuah
bentuk persegi panjang. Entity adalah sesuatu apa
saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau
dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat
dikelompokkan dalam empat jenis nama yaitu orang, benda, lokasi, kejadian
(terdapat unsur waktu di dalamnya).
- Relationship
Model relasional adalah model yang menggunakan sejumlah tabel
untuk menggambarkan data serta hubungan antara data-data. Setiap tabel memiliki
sejumlah kolom, setiap kolom memiliki nama yang unik. Model relasional memiliki
struktur record berformat tertentu dimana masing-masing isinya memiliki
tipe-tipe yang berbeda (Misalnya tipe data untuk nomor induk pegawai adalah string, tentu
berbeda dengan tipe data untuk nama [misalnya: string] yang panjangnya tidak
ditentukan, bergantung pada komputer tempat aplikasi diimplementasikan.
Pada ER diagram, relationship dapat digambarkan dengan sebuah
bentuk belah ketupat. Relationship adalah
hubungan alamiah yang terjadi antara entitas. Pada umumnya penghubung (Relationship) diberi nama dengan kata kerja dasar,
sehingga memudahkan untuk melakukan pmbacaan relasinya (bisa dengan kalimat
aktif atau kalimat pasif). Penggambaran hubungan yang terjadi adalah sebuah
bentuk belah ketupat dihubungkan dengan dua bentuk empat persegi panjang.
- Relationship
Degree
Relationship degree atau derajat relationship adalah jumlah
entitas yang berpartisipasi dalam satu relationship. Derajat relationship yang
sering dipakai di dalam ERD:
· Unary Relationship
Unary relationship adalah model relationship yang terjadi
diantara entity yang berasal dari entity set yang sama. Sering juga disebut sebagai Recursive Relationship atau Reflective Relationship.
· Binary Relationship
Binary relationship adalah model relationship antara instance-instance
dari suatu tipe entitas (dua entity yang berasal dari entity yang sama).
Relationship ini paling umum digunakan dalam pembuatan model data.
· Ternary Relationship
Ternary relationship merupakan antara instance-instance dari tiga
tipe entitas secara serentak.
- Atribut
Value
Atribut value atau nilai attribute adalah suatu occurrence
tertentu dari sebuah attribute di dalam suatu entity atau relationship. Ada dua
jenis atribut:
· Identifier
(key) digunakan untuk menentukan suatu entity secara unik (primary key).
· Descriptor
(nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu
entity yang tidak unik.
- Kardinalitas (Cardinality)
Kardinalitas
relasi menunjukkan jumlah maksimum tupel yang dapat berelasi dengan entitas
pada entitas yang lain. Terdapat tiga macam kardinalitas relasi yaitu:
· One to One
Tingkat
hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama,
hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan
sebaliknya.
Yang berarti setiap tupel pada entitas A
berhubungan dengan paling banyak satu tupel pada entitas B, dan begitu juga
sebaliknya setiap tupel pada entitas B berhubungan dengan paling banyak satu
tupel pada entitas A.
· One to Many atau Many
to One
Tingkat hubungan satu ke banyak adalah sama
dengan banyak ke satu. Tergantung dari arah mana hubungan tersebut dilihat.
Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan
dengan kejadian pada entitas yang kedua. Sebaliknya satu kejadian pada entitas
yang kedua hanya dapat mempunyai satu hubungan dengan satu kejadian pada
entitas yang pertama.
o One to Many (satu ke banyak)
Yang berarti satu tupel pada entitas A dapat
berhubungan dengan banyak tupel pada entitas B, tetapi tidak sebaliknya, dimana
setiap tupel pada entitas B berhubungan dengan paling banyak satu tupel pada
entitas A.
o Many to One (banyak ke satu)
Yang berarti setiap tupel pada entitas A dapat
berhubungan dengan paling banyak satu tupel pada entitas B, tetapi tidak
sebaliknya, dimana setiap tupel pada entitas A berhubungan dengan paling banyak
satu tupel pada entitas B.
· Many to Many
Tingkat hubungan kebanyakan terjadi jika tiap
kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian
pada entitas lainnya. Baik dilihat dari sisi intitas yang pertama, maupun
dilihat dari sisi yang kedua.
Yang berarti setiap tupel pada entitas A dapat
berhubungan dengan banyak tupel pada entitas B, dan demikian juga sebaliknya,
dimana setiap tupel pada entitas B dapat berhubungan dengan banyak tupel pada
entitas A.
Macam
– macam kunci Relasional
Antara
data base dengan relasional merupakan data yang saling berhubungan. Pada dasar
nya basis data menggunakan model Relasional karena pada model ini menggunakan
kunci untuk membedakan antara satu table dengan table lainnya. Kunci-kunci yang
digunakan memiliki fungsi masing-masing dalam membedakan nya. Dibawah ini
macam-macam kunci pada sebuah model relasional.
1. Super Key
Super key merupakan
salah satu atau lebih atribut yang dimiliki agar dapat membedakan setiap baris
data dalam table secara unik. Seperti contoh nya untuk melihat akademik suatu
kampus dbutuhkan yang dapat membuka database akademik tersebut. Kata kunci nya
seperti npm, nama, mhs, tanggal lahir.
2. Candidate Key
Dalam candidate key ini merupakan atribut yang mempunyai nilai unik dan memiliki satu atribut yang dapat mengidentifikasi secara unik suatu kejadian nyata. Ada satu atribut juga yang menyatakan secara tidak langsung dimana tidak dapat membuang atribut tanpa merusak kepemilikan. Contohnya seperti npm dan nama mhs.
Dalam candidate key ini merupakan atribut yang mempunyai nilai unik dan memiliki satu atribut yang dapat mengidentifikasi secara unik suatu kejadian nyata. Ada satu atribut juga yang menyatakan secara tidak langsung dimana tidak dapat membuang atribut tanpa merusak kepemilikan. Contohnya seperti npm dan nama mhs.
3. Primary Key
Dapat
mengidentifikasi secara unik suatu kejadian tapi dapat juga mewakili setiap
kejadian dari suatu data. Candidate key dapat mewakili secara menyeluruh
terhadap data yang ada karna dapat menjadi peluang Primary Key. Contohnya : npm
4. Foreign Key
Atribut dengan
menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut
hanya atribut biasa dari suatu relasi memiliki atribut yg menuju ke Primary Key
dari relasi lain. Contohnya : npm, kode_matkul
5. Alternate Key
Atribut yang tidak terpilih atau tidak dipakai sebagai Primary Key dan Candidate Key
Atribut yang tidak terpilih atau tidak dipakai sebagai Primary Key dan Candidate Key
6. Composite Key
Merupakan atribut gabungan dua key atau lebih yang secara unik dapat mengidentifikasi sebuah tupel.
Merupakan atribut gabungan dua key atau lebih yang secara unik dapat mengidentifikasi sebuah tupel.
Untuk melakukan mapping
(pemetaan) dari skema ER Diagram ke skema relasi terdapat
langkah-langkah yang harus diperhatikan.
Langkah-langkah mapping:
-
Untuk setiap
entitas skema relasi R yang menyertakan seluruh Simple Atribute
dan Simple Attribute dari Composite Attribute yang
ada, pilih salah satu atribut kunci sebagai Primary
Key.
-
Untuk
setiap Entitas Lemah, buatlah skema relasi R dengan mengikutsertakan seluruh
Simple Attribute. Tambahkan Primary Key dari entitas kuatnya
(Owner Entity type) yang akan digunakan sebagai Primary Key
bersama-sama Partial Key dari Entitas Lemah (digabung).
-
Untuk
setiap relasi binary 1:1, tambahkan Primary Key dari
sisi yang lebih ”ringan” ke sisi (entitas) yang lebih ”berat”.
Suatu sisi dianggap lebih ”berat” timbangannya apabila mempunyai partisipasi
total. Tambahkan juga Simple Attribute yang terdapat pada
relasi tersebut ke sisi yang lebih ”berat”.
Apabila kedua partisipasi adalah sama total, maka kedua
entitas tersebut boleh digabung menjadi satu skema relasi.
-
Untuk
setiap relasi binary 1:N yang tidak melibatkan entitas lemah,
tentukan mana sisi yang lebih ”berat”. Sisi dianggap lebih ”berat”
timbangannya adalah sisi-N. Tambahkan Primary Key dari
sisi yang ”ringan” ke skema relasi sisi yang lebih ”berat”.
Tambahkan juga seluruh simple attribute yang terdapat pada
relasi biner tersebut.
-
Untuk
setiap relasi binary M:N, buatlah skema relasi baru R
dengan menyertakan seluruh simple attribute yang terdapat pada relasi
biner tersebut. Tambahkan masing-masing primary key dari kedua
sisi ke skema relasi R tersebut (sbg foreign key), lalu digabung
menjadi satu membentuk Primary Key dari skema
relasi R.
-
Untuk
setiap Multivalued Attribute, buatlah skema relasi R yang
menyertakan atribut dari multivalue tersebut. Tambahkan Primary
Key dari relasi yang memiliki multivalued tersebut. Kedua atribut tersebut
membentuk Primary Key dari skema relasi R.
-
Untuk
setiap relasi n-ary dengan n>2, buatlah skema relasi R yang menyertakan
seluruh Primary Key dari entitas yang ikut serta. Sejumlah n Foreign
Key tersebut akan membentuk Primary
Key untuk skema relasi R. Tambahkan seluruh Simple Attribute yang terdapat
pada relasi n-ary tersebut.
Diagram Skema Konsepsual / ER Diagram for the
company schema
Referensi :
http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
http://id.wikipedia.org/wiki/Diagram_hubungan_entitas
http://ahroihan.blogspot.com/2010/06/bab-ii-tinjauan-pustaka-2.html
http://www.edrawsoft.com/entity-relationship-diagrams.php
http://www.dbforum.com
http://artidari.blogspot.com/2012/04/simbol-simbol-dalam-entity-relationship.html