Anda di halaman 1dari 16

1.

1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)


Entity-Relationship Model adalah model untuk mendeskripsikan isi suatu basis data dalam
bentuk entitas, atribut, dan relationship antar entitas. ER Model ini diperkenalkan pada tahun
1976 oleh P.P. Chen. ER Model terdiri objek-objek dasar berupa entitas yang dapat
merepresentasikan data yang ada. Dimana entitas tersebut memiliki suatu atribut dan dapat
berhubungan dengan entitas lain melalui relationship. Fungsi dari model ini sendiri yaitu untuk
menjembatani objek-objek nyata dengan basis data.
Apabila kumpulan entitas dalam ER Model telah dihubungkan secara lengkap dengan atribut
dan relasinya, maka akan didapatkan Entity Relationship Diagram (ERD). Dimana ERD itu sendiri
adalah diagram yang menggambarkan strutkur entitas dan hubungan antar entitas tersebut,
untuk menggambarkannya digunakan beberapa notasi dan simbol. Berikut ini adalah notasi-
notasi yang terdapat dalam Entity Relationship Diagram (ERD).

No Simbol/Notasi Arti

1 Entity Type (Strong Entity)


2 Weak Entity The

3 Relationship The

4 Identifying Relationship The

5 Attribute (Simple)

6 Key Attribute

7 Multivalued Attribute

8 Composite Attribute

9 Derived Attribute

10 Total Participation

Cardinality ratio 1:N for E1:E2


11
in R
Structural Constraint (min,
12
max) on Participation of E in R

Berikut ini adalah penjelasan dari notasi-notasi yang digunakan di ERD.


1. Entitas (Entity) adalah objek atau hal spesifik yang dapat diidentifikasi dalam lingkungan
pemakai yang kemudian direpresentasikan dalam database. Simbol dari entitas ini
biasanya digambarkan dengan bentuk persegi panjang. Ada dua jenis entitas yakni:
1) Strong entity (entitas kuat) merupakan entitas yang mandiri, yang keberadaannya
tidak bergantung pada keberadaan entitas yang lainnya. Entitas kuat selalu memiliki
karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan
atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas
kuat yang lain).
2) Weak entity (entitas lemah) merupakan entitas yang keberadaannya sangat
bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki
identifier sendiri. Entitas lemah tidak memiliki arti apa-apa tanpa kehadiran entitas di
mana mereka bergantung. Entitas yang di mana entitas lemah bergantung dinamakan
identifying owner. Secara umum, dalam diagram ER entitas lemah memiliki atribut
yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).
2. Atribut (Attribute) adalah sifat atau karakteristik yang digunakan untuk mendeskripsikan
sebuah entitas. Contoh: Entitas mahasiswa mempunyai atribut NIM, nama, jenis kelamin,
tanggal lahir, dan sejenisnya yang mencirikan bahwa dia mahasiswa. Isi data dari atribut ini
hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1
Alamat. Simbol dari atribut ini biasanya digambarkan dengan bentuk oval. Ada beberapa
jenis atribut yakni:
1) Simple Attribute (Atribut biasa) merupakan atribut yang memiliki nilai pasti dan tidak
ganda. Misalnya: bagi setiap mahasiswa yang di kuliah di satu kampus, mereka hanya
memiliki satu atribut NIM, jenis kelamin, dan sebagainya yang tidak bernilai ganda.
2) Composite Attribute (Atribut gabungan) merupakan atribut yang memiliki nilai
gabungan dari beberapa atribut lainnya. Misalnya: nama bisa terdiri dari nama depan,
nama tengah dan nama belakang atau alamat yang bisa terdiri dari jalan, nomor,
kecamatan, kota.
3) Multi-valued Attribute (Atribut bernilai ganda) merupakan atribut yang memiliki nilai
bisa lebih dari satu. Misalnya: no handphone yang dimiliki entitas mahasiswa, bisa saja
satu mahasiswa memiliki lebih dari satu no hanphone.
4) Derived Attribute merupakan atribut yang nilainya dapat diperoleh dari nilai atribut
lain. Misalnya: umur bisa menjadi atribut untuk seorang manusia, tetapi umur
tersebut hanya dapat diperoleh, jika terdapat atribut tanggal lahir. Maka, umur adalah
derived attribute yang nilainya bisa didapatkan dari kalkulasi tanggal lahir.
5) Key Attribute merupakan atribut yang memiliki nilai unik. Di mana nilai tersebut tidak
berubah-ubah, seperti NIM, ID pegawai, dan sejenisnya. Key attribute juga tidak bisa
bernilai NULL. Untuk atribut jenis ini, masih ada kemungkinan untuk menjadi
composite attribute. Kemudian, untuk setiap entitas bisa saja memiliki lebih dari satu
Key attribute. Contohnya, taksi yang memiliki nomor taksi dan plat mobil yang unik.
3. Relasi (Relationship) merupakan hubungan yang terjadi antar satu atau lebih entitas.
Relasi digambarkan dengan notasi belah ketupat. Ada jenis relasi rekursif dimana relasa ini
menghubungkan satu entitas ke entitas itu sendiri.
4. Derajat Relasi atau Kardinalitas merupakan derajat yang menunjukkan jumlah maksimum
entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-
macam kardinalitas, misalkan hubungan antara entitas A dan B:
1) Satu ke satu (one to one), maksudnya adalah setiap anggota entitas A hanya boleh
berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
Contoh : Rektor dengan (dan) Universitas dengan relasi memimpin, mahasiswa dengan
NIM dengan relasi memiliki, dll
2) Satu ke banyak (one to many), maksudnya adalah setiap anggota entitas A dapat
berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
Contoh : Pembeli dengam Mobil dengan relasi membeli, Dosen dengan Mahasiswa
dengan relasi Perwalian, dll
3) Banyak ke banyak (many to many), maksudnya adalah Setiap anggota entitas A dapat
berhubungan dengan banyak anggota entitas B dan sebaliknya.
Contoh : Pegawai dengan Proyek dengan relasi Bekerja pada, Pegawai dengan Bagian
dengan relasi Ditugaskan ke, dll.

Contoh gambar Entity Relationship Diagram bisa dilihat di bawah ini.


1.2 Model Relasional
Model relasional merupakan tabel 2 dimensi yang mempunyai karakteristik seperti di bawah ini
yaitu :

 Baris berisi data tentang entitas.


 Kolom berisi data tentang atribut dari entitas.
 Cell pada tabel memeang sebuah nilai single.
 Semua masukan pada kolom harus jenis yang sama.
 Setiap kolom mempunyai nama yang unik.
 Susunan kolom tidak penting.
 Susunan baris juga tidak penting.
 Tidak boleh ada dua baris yang serupa.

1.3 Pemetaan Entity Relationship Diagram ke Model Relasional


1. Untuk Entitas kuat :
Buat satu relasi, masukkan semua atribut sederhana dari ERD menjadi atribut pada
model relasional (MR)
Primary key (PK) pada ERD menjadi PK pada Model Relasional (MR).
2. Untuk Entitas lemah :
Buat satu relasi, masukkan semua atribut sederhana ERD menjadi atribut pada MR.
Masukkan PK dari entitas kuat pemilik entitas lemah ini, sehingga menjadi Foreign
key (FK) di sini.
PK relasi ini adalah partial key-nya + FK.
3. Untuk relationship 1 to 1 :
Masukkan PK dari entitas yang berpartisipasi tidak penuh (partial participation) --
yang digambarkan dengan garis tunggal -- ke relasi yang berpartisipasi penuh (total
participation) --yang digambarkan dengan garis ganda -- menjadi FK pada relasi ini.
Jika terdapat atribut pada relationship, masukkan ke relasi yang berpartisipasi
penuh.
PK pada relasi ini adalah sama dengan PK pada ERD.
4. Untuk relationship 1 to Many (1 to N) :
Masukkan PK dari entitas sisi 1 ke relasi sisi N, sehingga menjadi FK pada relasi baru
ini.
Jika terdapat atribut pada relationship, masukkan ke relasi yang berada pada sisi N.
PK relasi ini adalah sama dengan PK pada ERD.
5. Untuk relationship many to many (N to N) :
Buat satu relasi tersendiri, yang atributnya terdiri atas PK-PK dari masing-masing
entitas yang berpartisipasi.
PK-PK tersebut menjadi FK pada relasi baru ini.
Gabungan FK-FK tersebut adalah PK baru pada relasi ini.
Jika terdapat atribut pada relationship-nya, masukkan juga sebagai atribut anggota.
6. Untuk multivalued attribute (atribut bernilai banyak) :
Buat satu relasi tersendiri, yang atributnya terdiri atas atribut bernilai banyak
tersebut ditambah dengan PK dari entitas pemilik atribut bernilai banyak tersebut.
PK relasi ini adalah gabungan atribut-atribut tersebut di atas.
7. Untuk relationship n-ary (keterhubungan yang lebih dari dua) :
Buat satu relasi tersendiri, yang atribut-atributnya terdiri atas PK-PK dari setiap
entitas yang berpartisipasi.
PK-PK tersebut menjadi FK pada relasi baru ini.
Gabungan FK-FK tersebut adalah PK baru pada relasi ini.
Jika terdapat atribut pada relationship-nya, masukkan juga sebagai atribut anggota.

1.4 Normalisasi
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atrbut data
dengan cara mengelompokkan sehingga terbentuk entitas yang non redundant, stabil, dan
fleksible.
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk
menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete,
dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam
relasi tersebut.
Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan
merupakan tabel yang baik disebut Tabel Universal atau Unnormalized Table. Biasanya
didapat dari form data dari user bisnis (diusahakan mendapat form yang sudah terisi data).
Ada 3 bentuk Normalisasi yaitu :
1) Bentuk Normal ke Satu (1NF)
Syarat :
 Tidak ada set atribut yang berulang atau bernilai banyak (multivalued
attribute), atribut composite atau kombinasi antara keduanya.
 Tiap atribut hanya memiliki satu pengertian.
 Setiap atribut dalam tabel tersebut harus bernilai atomic (satu cell hanya
menampung satu nilai)
2) Bentuk Normal ke Dua (2NF)
Syarat :
 Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk
1NF, dan semua atribut selain primary key secara utuh memiliki Functional
Dependency pada primary key.
 Sebuah tabel tidak memenuhi 2NF jika ada atribut yang ketergantungannya
(Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada
sebagian dari primary key)
 Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary
key, maka atribut tersebut harus dipindah atau dihilangkan.
3) Bentuk Normal ke Tiga (3NF)
Syarat :
 Bentuk data telah memenuhi kriteria bentuk normal ke dua.
 Tidak ada atribut non primary key yang memiliki ketergantungan terhadap
atribut non primary key yang lainnya (tidak terdapat ketergantungan transitif).
Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan
fungsional terhadap primary key di relasi itu saja.

1.5. Ketergantungan pada Normalisasi


a) Functional Dependency (Ketergantungan Fungsional)
Notasi: A  B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional B tergantung pada A.
Jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
Contoh tabel Nilai : Functional Dependency dari tabel Nilai :
 Nrp  namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.
 {Namakul, nrp}  NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-sama.
Dalam arti lain untuk Namakul dan nrp yang sama, maka NiHuruf juga sama,
karena Namakul dan nrp merupakan key (bersifat unik).
b) Transitive Dependency (Ketergantungan Transitif)
Definisi bentuk dependensi transitif adalah sebagai berikut :
Atribut Z mempunyai dependensi transitif terhadap X, bila :
1)Y memiliki dependensi fungsional terhadap X. (XY)
2)Z memiliki dependensi fungsional terhadap Y. (YZ)
Sehingga : X Y Z
1.6 Contoh Kasus ERD
Di sebuah universitas, ketika masa registrasi mulai berdatangan, mahasiswa pasti
melakukan registrasi mata kuliah. Mahasiswa wajib mengambil minimal 1 mata kuliah di setiap
semesternya agar mereka dapat menyelesaikan perkuliahan mereka sesuai dengan SKS yang
ada. Di setiap mata kuliah tentunya ada beberapa orang dosen yang akan mengajar mata kuliah
tersebut. Setiap mata kuliah pasti ada 1 koordinator mata kuliah yang berasal dari kalangan
dosen.
Ketika seorang mahasiswa sudah mencapai tingkat akhir, mahasiswa tersebut pasti
mengambil tugas akhir. Ketika menjalani tugas akhir tersebut, mahasiswa pasti dibimbing oleh 1
dosen pembimbing.
Buatlah ERD sederhana dengan atribut-atribut penting (2 saja) untuk setiap entitasnya,
kemudian gambarkan juga model relasionalnya. Setelah itu, buatlah tabel database serta
lakukan normalisasinya.

Jawaban :
1. Entity Relationship Diagram

NIM NAMA_MATKUL
NAMAMHS KODE

MAHASISWA N N MATA KULIAH


MENGAMBIL

N 1 NN
DOSEN
MEMBIMBING MENGAJAR

NIP Nama
2. Model Relasional

NIP

NIM NAMA_MATKUL
NAMAMHS NIM KODE KODE

MAHASISWA N N MATA
MENGAMBIL KULIAH

N
N 1 N
MENGAJAR
DOSEN
MEMBIMBING

NIP Nama KODE NIP

Tabel
NIM NAMAMHS NIP Mahasiswa

Tabel NIP Nama Dosen

Tabel Mata Kuliah

KODE NAMA_MATKUL

Tabel Mengambil
NIM KODE

Tabel Mengajar
NIP KODE
1.7 Contoh Kasus Normalisasi
Diberikan sebuah tabel universal di bawah ini dan lakukan normalisasi sampai bentuk

ketiga.
 Bentuk Normal ke 1 (1NF)
Tabel Perkuliahan belum memenuhi syarat 1NF karena kolom Telepon bersifat
multivalue.
Solusi agar tabel Perkuliahan memenuhi syarat 1NF adalah dengan melakukan
pemecahan tabel atau dekomposisi tabel. Namun perlu diingat, dekomposisi tabel
harus dilakukan dengan cermat agar data tetap konsisten (perubahan hanya terjadi
pada struktur tabel tetapi tidak ada perubahan pada data).
Perhatikan bahwa (NIM) (Telepon). Dengan demikian, kita dapat memecah
tabel Perkuliahan menjadi tabel DataPerkuliahan dan DataNomorTelepon seperti

berikut ini.
Tabel DataPerkuliahan dan DataNomorTelepon tidak memiliki atribut yang bersifat multivalue.
Tabel DataPerkuliahan dan DataNomorTelepon juga tidak memiliki lebih dari satu atribut
dengan domain yang sama.

Dengan demikian dapat disimpulkan bahwa tabel


DataPerkuliahan dan DataNomorTelepon telah
memenuhi syarat 1NF dan siap untuk diperiksa apakah
memenuhi syarat bentuk normal level berikutnya (2
NF).

 Bentuk Normal ke 2 (2NF)


Untuk mengonversi tabel ke bentuk nomal kedua,
kita memisahkan tabel DataPerkuliahan menjadi beberapa tabel.
Untuk lebih jelasnya perhatikan tabel DataPerkuliahan hasil tahap sebelumnya:

Perhatikan bahwa:
1. (nim, kode_mk) adalah candidate key.
2. FD1: (nim)  (nama_mhs, kd_jur, nama_jur)
3. FD2: (kode_mk)  (nama_mk, sks)
4. FD3: (nim,kode_mk)  nilai
Berarti Terjadi Partial Functional dependency:
1. FD 1: (nim,kode_mk)  (nama_mhs,kd_jur,nama_jur) secara parsial.

2. FD 2: (nim,kode_mk)  (nama_mk,sks) secara parsial .

Walaupun tabel DataPerkuliahan telah memenuhi syarat 1NF namun karena terjadi
partial functional dependency maka tabel T-1 DataPerkuliahan belum memenuhi syarat
2NF.
Solusinya adalah dengan melakukan dekomposisi terhadap tabel DataPerkuliahan
dengan tetap menjaga agar datanya tetap konsisten. Hal ini dapat dilakukan dengan
melakukan dekomposisi tabel sesuai FD1, FD2 dan FD3 yang telah kita analisis
sebelumnya. Adapun hasil dekomposisi dari tabel DataPerkuliahan adalah 3 tabel
berikut ini :
Ketiga tabel hasil dekomposisi tersebut sudah tidak mengalami partial functional
dependency. Dengan demikian ketiga tabel tersebut telah memenuhi syarat 2NF dan
siap untuk diperiksa apakah memenuhi syarat bentuk normal level berikutnya (3NF).
Adapun Tabel DataNomorTelepon (hasil dekomposisi pada tahap 1NF) juga tidak
mengalami partial functional dependency sehingga sudah memenuhi 2NF, tidak perlu
didekomposisi lagi dan dapat langsung diperiksa apakah memenuhi 3NF bersama-sama
dengan tabel DataJurusan, T-1-2 Matakuliah dan Nilai.

 Bentuk Normal ke 3 (3NF)


Umumnya jika sebuah tabel telah memenuhi syarat bentuk normal ke tiga (3NF)
maka tabel tersebut sudah dianggap ‘cukup normal’. Bentuk normal ke 3 adalah
bentuk normal yang biasanya menjadi syarat minimum bagi sebuah desan tabel.
Untuk lebih jelasnya perhatikan tabel DataJurusan dari tahap sebelumnya:

Perhatikan bahwa:
 FD1: (nim)  (nama_mhs, kd_jur, nama_jur)
 FD2: (kd_jur)  (nama_jur)
Berarti Terjadi Transitive FD:
 (nim)  (nama_jur) secara transitif melalui (kd_jur)
Walaupun tabel DataJurusan telah
memenuhi syarat 2NF namun karena terjadi
transitive functional dependency maka tabel
DataPerkuliahan belum memenuhi syarat
3NF. Solusinya adalah dengan melakukan
dekomposisi terhadap tabel DataJurusan
dengan tetap menjaga agar datanya tetap
konsisten sesuai FD1dan FD2. Adapun hasil
dekomposisi dari tabel DataJurusan adalah 2
tabel berikut ini:

Anda mungkin juga menyukai