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
Tidak ada komentar:
Posting Komentar