ENTITY RELATIONSHIP DIAGRAM (ER-D)
Sebelum kita mengenal tentang
ERD, alangkah lebih baiknya kita mengenal terlebih dahulu tentang basis data.
Bila diterjemahkan per kata basis mengandung arti yaitu basis adalah tampungan,
tempat, ataupun wadah dalam bentuk yang masih utuh sedangkan data adalah
kumpulan informasi yang mempunyai relasi dengan yang lain sehingga membentuk informasi yang valid.
Jadi, basis data merupakan sekumpulan data yang berelasi sehingga membentuk
data yang valid dan sistematis seperti contoh kumpulan data tentang film yang
ada di usaha rental film, dsb.
Baiklah, setelah kita
mengetahui basis data seperti apa, sekarang kita masuk ke pembahasan yaitu
Entity Relationship Diagram (ERD). Sebelumnya dari kalian ada yang sudah
mengetahui apa itu ERD? Dari katanya kelihatan bahwa penulisan hubungan
berdasarkan diagram ya? Hehe.. Nah, sebenarnya ERD itu sebagai aplikasi
pengubahan tampilan ke dunia nyata yang berasal dari basis data dengan
memanfaatkan sejumlah perangkat konseptual menjadi sejumlah diagram data yang
sistematis. Dengan kata lain, ERD adalah model data tingkat konseptual dalm
perancangan basis data. Model ini sebagai dasar para desainer basis data untuk
membuat basis data. Tujuan adanya ERD yaitu mempermudah perancangan penyajian data
agar mudah dimengerti karena sifatnya yang memiliki hubungan satu sama lain.
Komponen
Entity Relationship Diagram
Dalam
ERD pun mempunyai beberapa komponen yaitu sebagai berikut :
1.
Entitas
Entitas
merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari
sesuatu yang lain. Artinya, entitas adalah individu yang berbeda dalam sebuah
basis data. Entitas dalam ERD disajikan dalam bentuk persegi panjang. Berikut
contoh entitas yaitu pegawai, direktur, kepala sekolah, mahasiswa, dan
seterusnya.
![]() |
![]() |
![]() |
![]() |
entitas pegawai
entitas direktur ent.
kepala sekolah entitas mahasiswa
2.
Atribut
Atribut ialah karakteristik dari entity yang menyediakan penjelasan rinci tentang entity tersebut. Atribut dalam ERD
disajikan dalam bentuk oval.


Beberapa contoh atribut yang ada pada pegawai sebagai
berikut id_pegawai, nama_pegawai, alamat_pegawai, dsb.
atribut
id_pegawai atribut
nama_pegawai atribut alamat_pegawai
Atribut
yang memiliki tanda # atau garis bawah merupakan atribut yang unik.
Atribut
juga mempunyai bentuk yang berbeda dan terbagi menjadi tiga bagian yaitu:
1)
Atribut
umum, atribut yang sering digunakan dalam karakteristik entitas dengan bentuk
seperti berikut :
Atribut
umum, atribut yang sering digunakan dalam karakteristik entitas dengan bentuk
seperti berikut :
2)
Atribut
turunan, atribut yang biasa digunakan untuk menghitung angka yang mempunyai
batas awal dan batas akhir seperti umur, tgl, dsb dengan bentuk atribut seperti
berikut:
Atribut
turunan, atribut yang biasa digunakan untuk menghitung angka yang mempunyai
batas awal dan batas akhir seperti umur, tgl, dsb dengan bentuk atribut seperti
berikut:
3)
Atribut
multitask, atribut yang digunakan ketika dalam sebuah atribut mempunyai atribut
yang lain misalkan alamat, telpon, dsb dengan bentuk atribut seperti berikut:
Atribut
multitask, atribut yang digunakan ketika dalam sebuah atribut mempunyai atribut
yang lain misalkan alamat, telpon, dsb dengan bentuk atribut seperti berikut:
3.
Relasi
Relasi
yaitu hubungan diantara sejumlah entitas yang berasal dari himpunan entitas
yang berbeda. Artinya, relasi adalah hubungan antar entitas. Relasi pada ERD
disajikan dalam bentuk belah ketupat. Beberapa contoh relasi yaitu memimpin,
memberi, mencatat, dan sebagainya.
relasi mencatat
relasi mencatat relasi memberi
![]() |
|||||
![]() |
|||||
![]() |
|||||
4.
Kardinalitas
Kardinalitas
relasi menyatakan jumlah maksimum entitas yang dapat berelasi dengan entitas
himpunan entitas lain. Beberapa kardinalitas yang terjadi diantara dua himpunan
entitas adalah sebagai berikut:
1) One
to One
Kardinalitas
yang menghubungkan antar entitas yang masing-masingnya satu entitas. Relasi one-to-one memiliki tujuan sebagai
berikut:
·
Memindahkan data ke
tabel lain memungkinkan untuk membuat query yang lebih cepat;
·
Mengisolasi dan
menghindarkan nilai NULL pada tabel utam;
·
Membuat sebagian data
yang susah diakses.
Contoh
kardinalitas One-to-One dengan
menggunakan entitas direktur, perusahaan, dan relasi memimpin:
![]() |
ERD
tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
direktur :
id_direktur, nama, alamat
perusahaan : kode_perusahaan, nama,
alamat
2)
One to Many dan Many to One
Kardinalitas One to Many terjadi
apabila satu entitas yang berhubungan dengan banyak entitas. Sedangkan Many to One terjadi apabila banyaknya
entitas yang berhubungan dengan asatu entitas.
Relasi
One to Many atau Many to One terjadi apabila sebuah data yang ada pada tabel pertama
memiliki beberapa data yang sama pada tabel kedua atau tabel kedua memiliki
beberapa data yang sama pada tabel pertama.
ERD tersebut jika ditransformasikan
ke tabel adalah sebagai berikut:
wali kelas : nip, nama, alamat
siswa : nis, nama, jenis_kelamin, alamat, nip
3)
Many to Many
Kardinalitas Many to Many terjadi
ketika banyak entitas yang berhubungan dengan banyak entitas juga. Relasi Many to Many terjadi jika sebuah data
yang ada pada tabel pertama memilki beberapa data yang sama pada tabel kedua,
begitupun sebaliknya. Pada relasi ini, tabel pertama dan kedua diizinkan
memiliki beberapa data yang sama dengan kedua table tersebut. Berikut contoh
perancangan dari kardinalitas Many to
Many yang memiliki entitas pegawai, pembeli, dan relasi melayani.
![]() |
ERD tersebut jika ditransformasikan ke tabel sebagai berikut:
pegawai : id_pegawai, nama_pegawai,
jenis_kelamin, alamat
pembeli : id_pembeli,
nama_pembeli, jenis_kelamin, alamat
melayani : id_melayani,
id_pegawai, id_pembeli
Transformasi ERD ke Tabel
Model
Entity Relationship (ER) yang disajikan dengan Diagram bukanlah sebuah basis
data yang relasional. Karena itu, maka diperlukan proses transformasi dari
sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel.
Rancangan basis data relasional hasil transformasi sendiri bergantung kepada
desain awal ERD yang telah dibuat.
Pada relasi Many to Many ini tabel relasi akan dibuat menjadi tabel dengan
atributnya adalah primary key dari masing-masing tabel yang berelasi. Primary
key pad atabel relasi akan menjadi foreign key.
Berikut
adalah transformasi ERD tersebut ke tabel.
1)
Membuat tabel pegawai:
mysql>
create table pegawai(
-> id_pegawai varchar(10) primary key,
-> nama_pegawai varchar(25) not null,
-> jenis_kelamin varchar(10) not null,
-> alamat varchar(50) not null
-> );
Query
OK, 0 rows affected (0.24 sec)
2)
Membuat tabel pembeli:
mysql>
create table pembeli(
-> id_pembeli varchar(10) primary key,
-> nama_pembeli varchar(25) not null,
-> jenis_kelamin varchar(10) not null,
-> alamat varchar(50) not null
-> );
Query
OK, 0 rows affected (0.27 sec)
3)
Membuat tabel melayani:
mysql> create table melayani(
->
id_melayani int auto_increment primary key,
->
id_pegawai varchar(10) not null,
->
foreign key(id_pegawai) references pegawai(id_pegawai),
->
id_pembeli varchar(10) not null,
->
foreign key(id_pembeli) references pembeli(id_pembeli)
-> );
Query OK, 0 rows affected (0.52 sec)









Tidak ada komentar:
Posting Komentar