ERD
(ENTITY RELATIONSHIP DIAGRAM)
Oleh Sefhia Febriana Budiarti
A.
Pengantar ERD
ERD adalah suatu diagram untuk menggambarkan desain
konseptual dan model konseptual suatu basis data relasional. ERD juga merupakan
gambaran yang menghubungkan antara objek satu dengan objek yang lain dalam
dunia nyata. Bisa juga dikatakan bahwa bahan yang digunakan untuk membuat ERD
berasal dari objek dunia nyata.
ERD ini merupakan pemodelan awal basis data yang paling
banyak digunakan. ERD digunakan pada pemodelan basis data relasional. Jika
menggunakan OODBMS (Object Oriented
Database Management System) maka perancangan ERD tidak diperlukan. ERD
memiliki beberapa aliran notasi seperti notasi Chen (dikembangkan Peter Chen),
notasi Barker (dikembangkan Richard Barker), notasi Crow’s Foot dan lainnya.
Tetapi, notasi yang paling banyak digunakan adalah notasi Chen. Untuk memodelkan struktur data dan hubungan antar data, ERD
menggambarkannya dengan beberapa notasi dan simbol.
Fungsi
penggambaran Entity Relationship Diagram
(ERD) yang ada saat ini yaitu sebagai berikut :
1. Untuk memudahkan kita dalam menganalisis pada
suatu basis data atau suatu sistem dengan cara yang cepat dan murah.
2. Dapat dilakukan pengujian pada model yang
telah dibuat dan dapat mengabaikan proses yang sudah dibuat hanya dengan
menggambar Entity Relationship Diagram
(ERD).
3. Menjelaskan hubungan-hubungan antar data-data
dalam basis data berdasarkan objek –objek dasar data yang memiliki hubungan
yang dihubungkan oleh suatu relasi.
4. Untuk mendokumentasikan data-data yang ada
dengan cara mengidentifikasi setiap entitas dari data-data dan hubungannya pada
suatu Entity Relationship Diagram (ERD)
itu sendiri.
B.
Komponen ERD
Komponen ERD sebagai berikut :
Tabel Simbol dan keterangan
komponen ERD
Simbol
|
Keterangan
|
|
Segala sesuatu yang dapat digambarkan oleh sebuah data.
Entitas juga dapat didefinisikan sebagai objek yang mewakili sesuatu yang
nyata dan dapat dibedakan dari sesuatu yang lain. Untuk menggambarkan sebuah
entitas, diperlukan aturan sebagai berikut :
a.
Nama entitas berupa kata benda, orang dan tunggal.
b.
Nama entitas sebaiknya menggunakan nama yang mudah
dipahami dan dapat menyatakan makna yang jelas.
|
|
Entitas yang kemunculannya tergantung pada keberadaan
entitas lain dalam sebuah relasi.
|
Relasi (Relationship)
|
Menunjukkan sebuah hubungan diantara beberapa entitas
yang berasal dari himpunan entitas yang berbeda.
Aturan dalam penggambaran relasi adalah sebagai berikut
:
c.
Nama relasi dapat berupa kata kerja aktif, seperti
memiliki, menangani
d.
Nama relasi sebisa mungkin menggunakan nama yang mudah
dipahami dan dapat menyatakan maknanya dengan jelas.
|
Pendeskripsian karakter dan keterangan yang terdapat
pada sebuah entitas. Selain itu, berfungsi sebagai penjelas memberikan
informasi lebih rinci tentang jenis sebuah entitas. Aturan dalam atribut
sebagai berikut :
a.
Nama atribut juga merupakan kata benda dan tunggal.
b.
Nama atribut sebisa mungkin menggunakan nama yang mudah
dipahami dan dapat menyatakan maknanya dengan jelas.
|
|
Atribut Kunci Utama (Primary Key)
|
Kolom atau kumpulan kolom yang secara
unik membedakan antara baris yang satu dengan lainnya, sebagai kunci akses record yang diinginkan.
|
Atribut Bernilai Banyak (Multivalue)
|
Sebuat atribut yang memiliki nilai lebih dari satu dari
atribut yang bersangkutan. Contohnya beberapa pengarang pada sebuah buku.
|
Atibut Gabungan (Composite)
|
Sebuah atribut yang terdiri dari beberapa atribut yang
lebih kecil, yang memiliki arti tertentu dan dapat dipecah lagi atau memiliki
sub atribut.
|
Atribut Turunan (Derived)
atau Derivatif
|
Atribut yang dihasilkan dari atribut lain atau dari
suatu relationship. Jadi, atribut
ini bergantung pada atribut pembentuknya.
|
Asosiasi (Association)
atau garis
|
Penghubung antara relasi dan entitas dimana
kedua ujungnya memiliki kemungkinan jumlah pemakai.
|
C.
Kardinalitas
Kardinalitas adalah penjelasan dari tingkat hubungan
antarentitas. Ukuran derajat kardinalitas entitas terbagi menjadi :
1.
One-to-one (1-1)
Satu entitas A mempunyai hubungan dengan satu
entitas B. Contohnya :
a. Relasi pegawai dan
departemen dimana setiap pegawai hanya bekerja pada 1 departemen.
b.
Seorang ketua jurusan hanya
memimpin satu jurusan.
c.
Satu presiden menjadi
pemimpin pada sebuah Negara.
2.
One-to-many (1-N)
Sebuah entitas pada A berhubungan dengan
entitas B lebih dari satu. Contohnya :
a.
Satu depertemen memiliki banyak
pegawai.
b.
Seorang wali bisa menjadi
wali dari beberapa mahasiswa.
Gambar
Contoh kardinalitas one to many
Ada juga kardinalitas Many-to-one (N-1), ini merupakan
kebalikan dari dari one-to-many yaitu
suatu entitas A memiliki hubungan yang banyak pada sebuah entitas B. Contohnya
:
a.
Banyak pegawai yang berada
pada satu departemen.
b.
Banyak mahasiswa yang
memiliki wali yang sama.
c.
Banyak karyawan yang
dipimpin oleh satu pimpinan perusahaan.
3. Many-to-many (N-N)
Sebuah entitas pada A berhubungan dengan
entitas B lebih dari satu dan B berhubungan dengan A lebih dari satu juga. Contohnya
:
Gambar
Contoh kardinalitas many to many
D.
Tahapan Desain ERD
Berikut adalah metode
atau tahap untuk membuat ERD yaitu :
1. Menentukan Entitas
Menentukan sebuah entity
dengan cermat dan baik yang ada dalam suatu proyek atau masalah. Entity ini berguna untuk menentukan
peran, kejadian, lokasi, hal nyata dan konsep penggunaan untuk database.
2. Menentukan Relasi
Menentukan hubungan antar pasangan entitas menggunakan relasi.
3. Gambar ERD sementara
Jika telah mengetahui entity
serta relasinya, kemudian membuat gambar ERD sementara. Entitas digambarkan
dengan persegi atau kotak dan relasi digambarkan dengan garis.
4. Isi Kardinalitas
Menentukan jumlah kejadian satu entitas untuk sebuah kejadian pada
entitas yang berhubungan. Dari sini kita dapat mengetahui harus memberi relasi
seperti apa.
5. Tentukan Kunci Utama ( Primary Key)
Menentukan atribut yang mengidentifikasikan satu dan hanya satu dari
kejadian masing-masing entitas. Jadi setiap entitas hanya memiliki satu kunci
utama (Primary Key) saja.
6. Gambar ERD berdasarkan kunci utama
a.
Menghilangkan relasi many to many
dan memasukkan primary key (kunci
utama) dan foreign key (kunci tamu)
pada masing-masing entitas.
b.
Relasi many to many perlu
dihilangkan dengan cara menambahkan atribut baru antara dua entitas yang
memiliki relasi many to many.
7. Menentukan Atribut
Menentukan atribut pada setiap entitas dan field-filed yang diperlukan sistem.
8. Pemetaan Atribut
Selanjutnya adalah memasang atribut pada entitas yang sesuai.
9. Gambar ERD dengan atribut
Mengatur ERD dari langkah 6 dengan menambahkan entitas dan relasi yang
ditemukan pada langkah 8.
10. Periksa hasil
Periksa dan teliti kembali ERD, apakah ERD telah menggambarkan system
yang akan dibangun.
E.
Contoh Kasus ERD
1. Sistem
Kepegawaian di Perusahaan A
Perusahaan
A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas (mandor) dari pegawai
perusahaan itu sendiri, dan tidak semua pegawai memimpin pegawai yang lain
sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja
untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa
pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai
tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi.
Selain
bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap
proyek dikendalikan atau diatur oleh suatu departemen, namun suatu departemen
tidak harus mengatur proyek. Satu departemen dapat mengendalikan beberapa
proyek dan satu proyek hanya dikendalikan oleh satu departemen. Satu proyek
dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian, perusahaan
memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa
tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan atau dihapus
berikut data tanggungan pegawai (keluarga).
Penyelesaian
:
a. Tentukan derajat kardinalitas dari
setiap keterangan yang diceritakan.
Tabel 5. 2 Contoh penentuan
kardinalitas pada kasus perusahaan A
No
|
Entitas A
|
Relasi
|
Entitas B
|
Derajat
|
1
|
Perusahaan
|
Memiliki
|
Pegawai
|
1 : N
|
2
|
Pegawai
|
Dipimpin
|
Pengawas
|
N : 1
|
3
|
Pegawai
|
Bekerja
|
Departemen
|
N : 1
|
4
|
Departemen
|
Dikepalai
|
Pegawai
|
1 : 1
|
5
|
Departemen
|
Berada
|
Lokasi
|
1 : N
|
6
|
Pegawai
|
Bekerja
|
Proyek
|
1 : N
|
7
|
Proyek
|
Dikendalikan
|
Departemen
|
0 : N
|
8
|
Departemen
|
Mengendalikan
|
Proyek
|
1 : N
|
9
|
Proyek
|
Dikendalikan
|
Departemen
|
0 : 1
|
10
|
Proyek
|
Terdiri Dari
|
Pegawai
|
1 : N
|
11
|
Pegawai
|
Menanggung
|
Tanggungan
|
1 : N
|
Berikut contoh-contoh bentuk ERD yaitu :
Contoh ERD rental mobil
Contoh ERD rental mobil