Penyusunan basis data (database) selalu didahului dengan pekerjaan pemodelan data. ERD adalah suatu model
jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. Model data E-R (Entity
Relationship) didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang
disebut entitas dan relasi.
Diagram hubungan entitas (model E-R) tidak menyatakan bagaimana memanfaatkan data, membuat data,
menghapus data dan mengubah data.
Elemen-elemen ERD:
1. Entity (Entitas)
Entity (entitas) adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak di mana data
tersimpan atau di mana terdapat data.
Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam 4 (empat) kelas, yaitu: role
(peran), events (kejadian), locations (lokasi), tangible things / concepts (sesuatu yang tidak nyata /
konsep). Contoh: pegawai, pembelian, kampus, buku, pembayaran. Contoh detil dari suatu entity (entitas)
disebut instance. Contoh: pegawai bernama Dodo, Noni, Citra, dll…
2. Relationship
Relationship adalah hubungan alamiah yang terjadi antara entitas. Contohnya: Entitas Mahasiswa dengan
NIM = “14534” dan NamaMhs = “Dodo” yang mempunyai relasi dengan Entitas Kuliah dengan KodeKul
= “SI-140” dan NamaMK = “Basis Data”, sehingga struktur data dari Relasi ini bahwa mahasiswa tersebut
mengambil mata kuliah pada suatu perguruan tinggi.
Hubungan antara entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang terjadi,
yaitu: derajat (kardinalitas) dan partisipasi hubungan.
3. Atribut
Deskripsi kelompok data yang mempunyai karakteristik yang sama (data yang mendeksripsikan entity dan
relationship), merupakan field yang akan disimpan.
Notasi Deskripsi
Entitas Entity Set
Attribute Attribute
Attribute Key Attribute
Attribute
Composite Attribute
Attribute Attribute
Contoh:
NmMK
KdMK
Nama
NIM Umur SKS
Mata
Mahasiswa mengambil
TgLhr Kuliah
Hobbi Alamat
1 1
A berpasangan B
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
E-R diagram antara entitas A dan B dengan derajat hubungan 1:1 dilukiskan dengan mencantumkan pada
garis hubungan. Sedangkan instance hubungan antar anggota entitas yang terjadi adalah pasangan a2 – b1,
a3 – b2 dan a4 – b5. Sedangkan a1, a5, b3 dan b4 masing-masing tidak mempunyai pasangan. Dengan
demikian dapat dikatakan bahwa derajat hubungan 1:1 mencakup juga 1:0 dan 0:1
B. Derajat hubungan 1: M
Derajat hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota
entitas B. Sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A.
1 m
A berpasangan B
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
a6 b6
C.Derajat hubungan M : N
Derajat hubungan antar entitas m:n terjadi bila tiap anggota entitas A dapat berpasangan dengan lebih dari
satu anggota entitas B. Sebaliknya setiap anggota entitas B juga dapat berpasangan dengan lebih dari satu
anggota entitas A.
m n
A berpasangan B
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
a6 b6
2. Partisipasi hubungan (participation) menyatakan sifat keterlibatan tiap anggota entitas dalam relasi
terjadinya hubungan. Partisipasi atau keterlibatan tiap anggota entitas dalam membentuk instance
hubungan dapat bersifat wajib (mandatory) dan tidak wajib (non mandatory). Dalam pemodelan data,
interpretasi jenis partisipasi hubungan dituliskan dalam aturan data. Contoh misal hubungan antara entitas
DOSEN dan MATA KULIAH (MK) dengan aturan data sebagai berikut:
▪ Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah harus diajarkan oleh seorang dosen.
Diagram instance hubungan antar entitas DOSEN dan MK berdasarkan aturan di atas dapat dilukiskan
seperti:
Dari diagram di atas dapat dilihat bahwa derajat hubungan antar entitas DOSEN dan MK adalah 1:1.
Sedang partisipasi tiap anggota entitas dalam hubungan adalah wajib, baik untuk anggota entitas
DOSEN ataupun entitas MK. Gambar digaram E-R nya:
1..1 1..1
DOSEN mengajar MK
atau
DOSEN mengajar MK
▪ Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah mungkin diajarkan oleh seorang dosen
dan mungkin belum ada yang mengajar.
DOSEN mengajar MK
atau
0..1 1..1
DOSEN mengajar MK
▪ Seorang dosen harus boleh mengajar satu mata kuliah dan seorang dosen boleh tidak mengajar. Tiap
mata kuliah harus diajarkan oleh seorang dosen.
1..1 0..1
DOSEN mengajar MK
atau
DOSEN mengajar MK
▪ Seorang dosen hanya boleh mengajar satu mata kuliah dan boleh tidak mengajar. Tiap mata kuliah
hanya boleh diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
DOSEN mengajar MK
atau
0..1 0..1
DOSEN mengajar MK
MEMBANGUN DIAGRAM ERD
Entity Relationship Diagram merupakan suatu alat utama pemodelan data dan membantu menggambarkan data ke
dalam entitas dan hubungan antar entitas. Proses ini telah terbukti memungkinkan seorang analis untuk
menghasilkan suatu struktur database yang baik, sehingga data dapat disimpan dan dimunculkan kembali secara
efisien.
Contoh Kasus:
Sebuah perusahaan memiliki beberapa departemen. Setiap departemen terdiri dari seorang supervisor dan paling
sedikit satu orang pegawai.
Pegawai dapat bekerja paling tidak di satu departemen, tapi mungkin juga lebih dari satu departemen.
Sedikitnya satu orang pegawai diikutsertakan dalam sebuah proyek, seorang pegawai mungkin berlibur dan tidak
diikutsertakan dalam proyek apapun. Field data yang penting adalah nama departemen, proyek, supervisor, dan
pegawai, serta no.supervisor, no.pegawai, dan no.proyek sebagai key.
dipimpin
Departemen Supervisor
oleh
memiliki
bekerja
Pegawai Proyek
dalam
4. Tentukan Kardinalitas
Berdasarkan deskripsi permasalahan, dapat diketahui bahwa:
▪ Setiap Departemen dipimpin oleh satu Supervisor
▪ Seorang Supervisor hanya memimpin satu Departemen
▪ Setiap Departemen memiliki paling sedikit satu Pegawai
▪ Setiap Pegawai bekerja paling sedikit pada satu Departemen
▪ Setiap Proyek paling sedikit melibatkan satu orang Pegawai
▪ Seorang Pegawai dapat terlibat dalam beberapa Proyek atau bahkan tidak sama sekali.
dipimpin
Departemen Supervisor
oleh
memiliki
bekerja
Pegawai Proyek
dalam
NmDept NoSpv
dipimpin
Departemen Supervisor
oleh
memiliki
bekerja
Pegawai Proyek
dalam
NoPeg NoPryk
7. Menentukan Atribut
Atribut yang diperlukan adalah Nama Departemen, Nama Proyek, Nama Supervisor, Nama Pegawai selain
Primary Keys.
8. Pemetaan Atribut
Atribut Entitas Atribut Entitas
NmDept Departemen NmPeg Pegawai
NoPryk Proyek NoSpv Supervisor
NmPryk Proyek NmSpv Supervisor
NoPeg Pegawai
Atribut Entitas
MasaJab Dipimpin oleh
MasaKerja Memiliki
MasaKrjPryk Bekerja dalam
dipimpin
Departemen Supervisor
oleh
MasaKerja
memiliki
MasaKrjPryk
bekerja
Pegawai Proyek
dalam
Jika ada suatu relationship (hubungan antara 2 entitas) yang tidak digambarkan atributnya, hal ini berarti
relationship tersebut hanya memiliki atribut minimal, yaitu atribut yang berasal dari key atribut 2 entitas
yang dihubungkannya.
Contoh:
NmPeg
TglSK
NIP NoSK
SK Kenaikan
Pegawai mendapat
Jabatan
Dalam contoh tersebut tidak digambarkan adanya atribut dalam relationship “mendapat”. Hal ini berarti
relationship “mendapat” hanya memiliki atribut minimal, yaitu NIP dan NoSK.
Contoh:
Pada tabel Mahasiswa, NIM, NmMhs (Nama Mahasiswa) dan AlmtMhs (Alamat Mahasiswa), merupakan
atribut bernilai tunggal, karena atribut-atribut tersebut hanya dapat berisikan satu nilai.
Contoh:
Atribut hobby pada tabel Mahasiswa, termasuk atribut bernilai banyak, karena kecenderungan seorang
mahasiswa memiliki lebih dari satu hobby.
NmMhs
AlmtMhs
NIM
Hobby
Mahasiswa
Atribut Bernilai
Banyak
Tabel MAHASISWA
NIM NmMhs AlmtMhs Hobby
Badminton
3304123 Anindyaswari Pradnya Jl. Mutiara 1, Bandung 41234
Berenang
Badminton
3304124 Duhita Pradnya Jl. Emas 10, Bandung 42345
Berenang
Sepak Bola
3304235 Rafif Pradipta Jl. Surabaya 123, Jakarta 55123
Berenang
3304236 Hafiz Wisnupratomo Jl. Magelang 45, Jakarta 56789 -
Berenang
3304240 Annisa Jl. Susilo 303, Jakarta 55190
Membaca
DERIVED ATTRIBUTE (Atribut Turunan)
Atribut Turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut
atau tabel lain yang berhubungan.
Atribut Turunan
Tabel MAHASISWA
NIM NmMhs AlmtMhs Hobby Angkatan
…… …… …… …… ……
Berenang
3304240 Annisa Jl. Susilo 303, Jakarta 55190 2004
Membaca
NmMhs
NIM AlmtMhs
Angkatan
Hobby
Mahasiswa
NmMhs
NIM AlmtMhs
Angkatan
Hobby
Mahasiswa
NIM NmMhs AlmtMhs Hobby
3304123 Anindyaswari Pradnya Jl. Mutiara 1, Bandung 41234 ……
…… Duhita Pradnya Jl. Emas 10, Bandung 42345 ……
…… …… …… ……
CATATAN: penggunaan atribut komposit, biasanya didasarkan pada pengolahan data pada tabel
KONVERSI MODEL E-R KE SKEMA RELASI
Entitas dalam Model E-R adalah calon tabel (dalam modul ini disebut dengan istilah relasi) pada implementasi
desain fisik database. Atribut sama dengan item data/field.
Penggunaan tabel bertujuan untuk menyederhanakan logika pandangan terhadap data. Oleh karena itu terdapat
beberapa ketentuan dalam penyusunan tabel, yaitu:
a. Urutan baris tidak diperhatikan, sehingga pertukaran baris tidak akan berpengaruh terhadap is informasi pada
tabel.
b. Urutan kolom tidak diperhatikan. Identifikasi kolom dibedakan dengan jenis atribut.
c. Tiap perpotongan baris dan kolom hanya berisi nilai atribut tunggal, sehingga nilai atribut ganda (multi
value) tidak diperbolehkan
d. Tiap baris dalam tabel harus dibedakan, sehingga tidak mungkin ada dua baris dalam tabel mempunyai nilai
atribut yang sama secara keseluruhan.
e. Dalam penyusunan tabel, hendaknya nilai atribut kosong (Null value) dihindarkan.
Dalam pemodelan data, entitas disajikan dengan tabel entitas yang ada pada diagram E-R dituliskan dengan
kerangka tabel yang berisikan atribut-atributnya yang disebut skema relasi.
Pembuatan tabel entitas selalu berpedoman pada ketentuan-ketentuan tentang cara penyusunan tabel. Sehingga
akan diperoleh susunan tabel entitas yang merupakan tabel yang terbebas dari adanya data rangkap (data
redudancy). Untuk mencapai tujuan tersebut, dalam penyusunan skema relasi harus memperhatikan hubungan antar
entitas yang terjadi. Dalam hal ini berkaitan erat dengan kardinalitas dan partisipasi hubungan.
BINARY RELATIONSHIP
1. Representasi Hubungan 1 : 1
Misal suatu perusahaan menyediakan fasilitas rumah dinas bagi pegawainya. Dalam hubungan ini diberlakukan
ketentuan bahwa tidak ada pegawai yang menempati lebih dari satu rumah dinas dan tidak ada rumah dinas
yang dihuni oleh lebih dari satu orang pegawai.
NmPeg Alamat
Skema Relasi:
Pegawai(NIP, NmPeg, AlmtPeg, NoRD)
RumahDinas(NoRD, Alamat, Tipe)
atau
Pegawai(NIP, NmPeg, AlmtPeg)
RumahDinas(NoRD, Alamat, Tipe, NIP)
CATATAN: Peletakan key atribut salah satu entitas boleh dibalik, karena tidak akan menghasilkan null
value (nilai null).
NmPeg Alamat
Skema relasi yang terbentuk terdiri dari 2 relasi yang dihasilkan dari 2 entitas, dimana key atribut entitas
yang memiliki partisipasi wajib (mandatory) harus diletakkan sebagai atribut kunci tamu (foreign key) dari
entitas yang memiliki partisipasi tidak wajib (non mandatory).
PERHATIKAN !! Dalam kasus ini peletakan key atribut (identitas) yang berfungsi sebagai relasi tidak
boleh dibalik karena akan menghasilkan null value.
Skema Relasi:
Pegawai(NIP, NmPeg, AlmtPeg)
RumahDinas(NoRD, Alamat, Tipe, NIP)
Skema relasi yang terbentuk terdiri dari 3 relasi yang dihasilkan dari 2 entitas, dimana relasi “menghuni”
antara 2 entitas Pegawai dan Rumah Dinas menjadi calon tabel (hal ini dilakukan untuk menghindari
adanya null value). Key atribut yang ada pada relasi “menghuni” merupakan key atribut gabungan dari 2
entitas Pegawai dan rumah Dinas.
NmPeg NoRD Alamat
Skema Relasi:
Pegawai(NIP, NmPeg, AlmtPeg)
RumahDinas(NoRD, Alamat, Tipe)
Menghuni(NIP, NoRD, TgHuni)
2. Representasi Hubungan 1 : m
Dalam kasus ini diambil contoh hubungan antar karyawan dan ruang kerja pada suatu kantor. Dalam aturan
data ditentukan bahwa setiap ruang kerja ditempati oleh lebih dari satu karyawan dan setiap karyawan tidak
mungkin menempati lebih dari satu ruang kerja.
NmMK
NmDosen
KdMK SKS
KdDosen
Dalam kasus ini, key atribut (identitas) dari entitas yang berderajat 1 (yang memiliki kardinalitas 1)
dijadikan kunci tamu (foreign key) pada entitas yang memiliki kardinalitas “m”. PERHATIKAN!!, jika
dilakukan sebaliknya, yaitu key atribut yang berkardinalitas “m” dijadikan kunci tamu pada entitas yang
memiliki kardinalitas “1” akan menyalahi aturan primary key.
Skema Relasi:
Dosen(KdDosen, NmDosen, KdMK)
MataKuliah(KdMK, NmMK, SKS)
b. Partisipasi tidak wajib pada sisi “m”
Misal, tidak semua mata kuliah di ajar oleh seorang dosen. Dalam hal ini, jika penyajian tabel hubungan
entitas dilakukan dengan menempatkan identitas entitas pada sisi “1” sebagai identitas tamu pada entitas
sisi “m”, maka akan terjadi atribut dengan nilai kosong. Untuk menyelesaikan masalah ini maka ditempuh
dengan membuat tabel hubungan tersendiri, yaitu tabel Menempati yang mempunyai atribut identitas kedua
tabel yang dihubungkan.
NmMK
NmDosen
KdMK SKS
KdDosen
Skema Relasi:
Dosen(KdDosen, NmDosen)
MataKuliah(KdMK, NmMK, SKS)
Mengajar(KdDosen, KdMK)
3. Representasi Hubungan M : N
Dalam kasus derajat hubungan antar entitas m:n, penyajian tabel entitas tidak memperhatikan jenis partisipasi
anggota entitas.
Misal: hubungan antara entitas barang dengan entitas pemasok dengan hubungan memasok. Pada hubungan ini
ditentukan bahwa setiap pemasok dapat memasok lebih dari satu barang. Dan setiap barang dapat dipasok oleh
lebih dari satu pemasok.
NmSupp
NmBrg
AlmSupp KdBrg
KdSupp Warna
Penyajian tabel entitas dengan menempatkan identitas suplier (KdSupp) pada tabel entitas Barang sebagai
identitas tamu akan menghasilkan nilai data rangkap. Demikian juga bila dilakukan dengan menempatkan
identitas barang (KdBrg) sebagai identitas tamu pada tabel Pemasok. Oleh karena itu hubungan kedua tabel
tersebut disajikan dengan tabel hubungan Memasok yang mempunyai atribut identitas KdSupp dan KdBrg
sebagai identitas bersama.
Skema Relasi:
Pemasok(KdSupp, NmSupp, AlmSupp)
Barang(KdBrg, NmBrg, Warna)
Memasok(KdSupp, KdBrg, JumlahBrg)
UNARY RELATIONSHIP
Dalam kasus tertentu pada suatu entitas, terdapat hubungan intern (“recursive relations”) antar anggota entitas.
1. Representasi Hubungan 1 : 1
Misal; dalam satu perusahaan, mungkin saja terdapat dimana seorang pegawai menikah sesama rekan kerjanya
(pegawai juga).
Dalam kasus tersebut, terdapat hubungan intern dengan derajat 1:1 dan jenis partisipasinya tidak wajib (karena
tidak semua pegawai menikah dengan rekan sekerjanya).
NmPeg
AlmPeg
NIP
PEGAWAI
KAWIN
Identitas tabel Pegawai adalah NIP. Sedangkan identitas tabel hubungan Kawin mempunyai atribut dua
identitas pegawai suami dan istri, yang tidak lain adalah identitas entitas pegawai.
Skema Relasi:
Pegawai(NIP, NmPeg, AlmPeg)
Kawin(NIPSuami, NIPIstri, TgNikah)
2. Representasi Hubungan 1 : M
Misal dalam lingkungan kerja suatu perusahaan terdapat daftar karyawan. Dalam pelaksanaan pekerjaan
tentunya terdapat karyawan yang menduduki jabatan pimpinan dari sejumlah karyawan. Salah satu tugas
pimpinan adalah melakukan supervisi para karyawan yang menjadi anak buahnya.
Dalam hal ini terdapat hubungan 1:m antara pimpinan karyawan dan anak buahnya.
NmPeg
AlmPeg
NIP
PEGAWAI
Supervisi
Dalam kasus ini, penyajian tabel entitas hanya terdapat satu tabel. Hal ini dikarenakan terdapat jenis partisipasi
wajib pada sisi “m” (tiap pegawai harus ada supervisinya, dan pimpinan tertinggi men-supervisi dirinya
sendiri)
Skema Relasi:
Pegawai(NIP, NmPeg, AlmPeg, KdSpv)
3. Representasi Hubungan M : N
Misal dalam kemahasiswaan di suatu fakultas akan dibentuk tim olah raga. Ditentukan bahwa setiap mahasiswa
boleh menjadi anggota lebih dari satu jenis tim. Dalam satu jenis olah raga harus ada ketua tim, dimana ketua
tim hanya boleh dipegang oleh seorang mahasiswa. Seorang mahasiswa yang telah menduduki ketua tim boleh
menjadi anggota tim olah raga yang lain.
Dalam kasus tersebut, terdapat hubungan intern antara mahasiswa yang tergabung dalam tim olah raga.
NmMhs
AlmMhs
NIM
MAHASISWA
Tim OR
Skema Relasi:
Mahasiswa(NIM, NmMhs, AlmMhs)
TimOR(NoMhsKetua, NoMhsAngg)