Anda di halaman 1dari 8

Modul Praktikum Sistem Basis Data

BAB 1 ERD, EERD DAN PEMETAAN KE MODEL RELASIONAL


Tujuan Belajar:
Memahami konsep dalam Model EntitasHubungan (EntityRelationship Model)
Memahami dan bisa membuat Entity Relationship Diagram (ERD)
Memahami dan bisa membuat Enhanced Entity Relationship Diagram (EERD)
Memahami dan bisa membuat Pemetaan dari ERD/EERD ke Model Relasional

1.1 Model Entitas-Hubungan (Entity Relationship Model)


Basis data dapat dimodelkan sebagai:
Himpunan entitas
Relasi antar entitas

1.1.1 Entitas (Entity)


Definisi
Entitas adalah:
sesuatu atau objek di dunia nyata yang dapat dibedakan dari objek lain
kelompok objek independen yang dapat diidentifikasi dan memiliki kesamaan
properti.
Entitas dapat berupa objek nyata atau objek konseptual.
1. Obyek nyata. Contohnya: Buku, Mahasiswa, Dosen, Barang, Kendaraan
2. Obyek konseptual. Contohnya: Matakuliah, Transaksi

Contoh entitas yang ada pada sistem informasi di bengkel adalah:


Kendaraan, Pegawai/Montir, Kendaraan, SparePart, Servis

Representasi Entitas
Entitas digambarkan dalam bentuk persegi panjang dengan label yang menunjukkan
nama entitas, umumnya berupa kata benda tunggal.

Kendaraan

Gambar 1.1 Representasi Entitas (Entity)

Jenis Entitas
1. Entitas kuat (strong entity)
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).
Disebut juga entitas parent, owner, entitas domain
Contoh: Kendaraan, Montir

1 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

2. Entitas lemah (weak entity)


Entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya.
Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya
dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.
Entitas yang tidak mempunyai primary key (PK)
Disebut juga child, dependent, atau subordinat
Contoh: Keluarga

1.1.2 Atribut (Attributes)


Definisi
Setiap entitas memiliki atribut yang mendeskripsikan karakteristik (properti) dari entitas
tersebut.
Contoh atribut dari kendaraan adalah:
Kendaraan = (Jenis_Kendaraan, Merk, No_STNK, No_Mesin)
Setiap atribut akan memiliki nilai (values)
Domain (value set): Batas-batas nilai yang diperbolehkan bagi suatu atribut

Tipe-Tipe Atribut
1. Atribut Sederhana (Simple) dan Komposit (Composite)
Atribut Sederhana (simple)/Atomik:
Atribut yang terdiri atas komponen tunggal yang tidak dapat dibagi menjadi
komponen yang lebih kecil;
Contoh: atribut Jenis_Kendaraan, Merk, No_STNK, No_Mesin pada entitas
kendaraan
Atribut Komposit (Composite):
Atribut yang dapat dibagi lagi dalam beberapa bagian;
Atribut yang terdiri atas beberapa komponen independen (dapat berdiri sendiri).
Contoh:
Atribut Alamat pada entitas Pelanggan (Jalan Veteran no 8, Malang, 65145).
Atribut ini dapat dibagi menjadi Jalan (Jalan Veteran no 8), Kota (Malang), dan
KodePos (65145).
2. Single-valued dan multi-valued attributes
Single-valued (tunggal) attributes: atribut yang memuat nilai tunggal.
Contoh: atribut nama pada entitas pelanggan. Setiap Pelanggan hanya punya 1 nama
Multi-valued attributes: atribut yang memuat beberapa nilai.
Contoh: atribut NomorTelepon pada entitas Pelanggan. Pelanggan bisa mempunyai
nomor telepon lebih dari 1
3. Atribut Turunan (Derived)
Atribut yang menyatakan suatu nilai yang berkaitan dengan atribut-atribut lain
Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan.
Contoh: atribut masa studi yang diperoleh dari TanggalLulus dikurangi TanggalDaftar

4. Primary Key (PK)


PK adalah atribut yang mengidentifikasi entitas secara unik. Setiap strong
entity/entitas kuat harus mempunyai Primary Key.
Contoh: PK pada entitas kendaraan adalah No_STNK
PK bisa berasal dari satu atau gabungan dari beberapa atribut
2 Fakultas Ilmu Komputer
Universitas Brawijaya
Modul Praktikum Sistem Basis Data

1.1.3 Hubungan/Relasi (Relationship)


Definisi
Relasi adalah hubungan antar entitas yang dapat diidentifikasi dan bermakna.
Relasi dinyatakan dengan nama yang menunjukkan fungsinya.
Contoh: memiliki yang menghubungkan entitas Pelanggan dan Kendaraan
Relasi dimungkinkan memiliki atribut.

Representasi Relasi
Relasi digambarkan dalam bentuk belah ketupat (diamond) dengan label yang
menunjukkan nama relasi, umumnya berupa kata kerja.

Nama
relationship

Gambar 1.2 Representasi Hubungan (Relationship)


Derajat Relasi
Derajat relasi menunjukkan jumlah entitas yang terhubung dalam suatu relasi.
Entitas-entitas yang terhubung dalam suatu relasi disebut partisipan.

1.1.4 Jenis-Jenis Relationship


1.1.4.1 Relasi Biner (Binary Relationship)
Relasi berderajat dua dinamakan relasi biner (binary), yakni relasi yang melibatkan dua
himpunan entitas.
Secara umum himpunan relasi dalam sistem basis data adalah biner.

Dosen membimbing Mahasiswa

Gambar 1.3 Contoh representasi relasi biner


1.1.4.2 Relasi Ternier (Ternary Relationship)
Relasi berderajat tiga dinamakan relasi ternier (ternary). Relasi antara lebih dari dua
entitas jarang terjadi. Terdapat tiga entitas yang berpartisipasi dalam relasi ternier.
Contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, dan Klien.
Relasi ini menyatakan seorang staf mendaftar klien di suatu kantor cabang.

Gambar 1.4 Contoh representasi relasi ternier


1.1.4.3 Relasi Rekursif/Uner (Unary)
Relasi rekursif adalah tipe relasi yang menghubungkan satu entitas tunggal dengan dirinya
sendiri (uner/unary). Relasi rekursif Mengaudit yang merepresentasikan relasi dosen
dengan auditor, seorang auditor merupakan bagian entitas dosen. Dengan kata lain, relasi
ini menyatakan seorang dosen melakukan pemeriksaan (mengaudit) dosen lain.

3 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

Relasi ini dapat ditambahkan nama peran untuk menunjukkan posisi partisipasinya,
pada contoh di atas: relasi Mengaudit menghubungkan entitas Dosen yang berperan
sebagai Auditor dengan dosen lain yang berperan sebagai Auditee.

Gambar 1.5 Contoh representasi relasi rekursif/uner (unary)

1.1.5 Atribut Pada Relationship


Relasi juga bisa mempunyai atribut. Atributnya muncul karena adanya relasi. Contoh
atribut pada relasi adalah atribut Quantity yang ada pada relasi SUPPLY muncul karena
supplier melakukan pasokan PART pada PROJECT

Gambar 1.6 Contoh representasi atribut pada relasi

1.2 Diagram Entitas Relasional (Entity Relationship Diagram)


Definisi
Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basis
data berbasis grafis.

1.2.1 Notasi Diagram ER (ERD)

Gambar 1.7 Notasi Entity Relationship Diagram (ERD)

1.2.2 Langkah-Langkah Membuat Diagram ER


1. Mengidentifikasi dan menetapkan seluruh entitas yang terlibat.
2. Menentukan atribut dari setiap entitas.
3. Menentukan key dari setiap entitas.
4. Mengidentifikasi dan menetapkan relasi antar entitas yang ada.
5. Menentukan kardinalitas/derajat relasi untuk setiap relasi yang ada.
6. Melengkapi entitas dan relasi dengan atribut-atribut deskriptif.

4 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

Contoh: Diagram ER (ERD) pada Company

Gambar 1.8 Contoh ERD pada Company (Sumber: Elmasri, 2016)


Keterangan
Dari kardinalitas di atas menunjukkan bahwa satu Employee hanya bisa bekerja pada 1
Department. Sebaliknya setiap Department terdiri dari banyak Employee. Hanya 1
Employee yang akan menjadi Manager dari setiap Department. Setiap Employee bisa
bekerja lebih dari 1 Project. Setiap Project bisa terdiri dari banyak Employee. Setiap
Department akan mengontrol beberapa Project. Setiap Employee bisa punya lebih dari
1 Dependent. Ada Employee yang menjadi Supervisor.

1.3 Model Enhanced Entity-Relationship (EER)


EER dibuat untuk merancang skema basis data yang lebih akurat. EER mencerminkan
sifat data dan kendala lebih tepat. EER persyaratannya lebih kompleks daripada ERD.
Model EER mencakup semua konsep pemodelan pada ER. EER meliputi:
Subclasses and superclasses
Specialization and generalization
Category or union type
Attribute and relationship inheritance
Enhanced ER atau EER diagrams: diagram untuk menampilkan konsep dalam sebuah
skema EER.
Sub kelompok/kelas (subtype/subclass) dari jenis entitas: sub kelompok entitas yang
diperlukan
Direpresentasikan secara eksplisit karena signifikansi mereka untuk aplikasi basis data
Pewarisan jenis entitas subclass mewarisi semua atribut dan relasi dari superclass

1.3.1 Spesialisasi (Specialization)


Proses desain top-down.
Proses mendefinisikan satu himpunan sub kelompok (sub class) dari suatu entitas
Didefinisikan atas dasar beberapa karakteristik yang berbeda dari entitas di superclass.
Mendesain sub kelompok dalam suatu himpunan entitas yang berbeda dari entitas
lain di dalam himpunan.

5 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

Sub kelompok ini menjadi entitas tingkat rendah yang memiliki atribut atau
berpartisipasi pada relasi yang tidak berlaku untuk level entitas yang lebih tinggi
Pewarisan atribut entitas tingkat yang lebih rendah yang mewarisi semua
atribut dan dari entitas level atasnya.
Subclass dapat mendefinisikan
o Specific attributes
o Specific relationship types

Gambar 1.9 Contoh specialization/generalization (Sumber: Elmasri, 2016)

1.3.2 Generalisasi (Generalization)


Sebuah proses desain bottom-up.
Menggabungkan sejumlah himpunan entitas yang berbagi fitur yang sama ke entitas
dengan tingkat yang lebih tinggi (superclass). Entitas asli adalah subclass khusus.
Spesialisasi dan generalisasi adalah inversi sederhana satu sama lain.
Diwakili dalam diagram E-R dengan cara yang sama.
Istilah spesialisasi dan generalisasi yang digunakan secara bergantian.

Gambar 1.10 Contoh ERD pada University dengan constraint Disjoint, Overlapping (Sumber: Elmasri, 2016)

Constraint pengaturan spesialisasi:


Disjoint (d)
Entitas dapat menjadi milik hanya satu entitas tingkat lebih rendah (subclass).
Representasi di ERD dituliskan disjoint di samping notasi specialization/generalization
(ISA triangle).
Overlapping (o)
Suatu entitas dapat menjadi anggota beberapa entitas tingkat lebih rendah (subclass).

6 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

1.4 Algoritma Pemetaan ERD/EERD ke Skema Relasional


Untuk melakukan pemetaan dari skema ERD ke skema relasional ada 7 langkah:
Langkah Pertama
1. Untuk setiap jenis entitas E yang regular (non weak) dalam skema ER, buat satu relasi
R yang atributnya meliputi semua atribut sederhana dari E.
2. Untuk suatu atribut komposit, hanya komponen simple atributnya yang dipetakan.
3. Kemudian pilih satu atribut key dari E sebagai primary key (PK) dari R.
4. Jika key terpilih adalah komposit, maka PK dari R dibentuk dari satu himpunan atribut
sederhana dari komposit.
5. Pada langkah pertama ini, keterlibatan foreign key (FK) dan atribut relasi jangan
dipikirkan dulu.

Langkah Kedua
1. Untuk setiap jenis weak entity W dalam skema ER dengan jenis owner entity E, buat
satu relasi R yang atributnya meliputi semua atribut sederhana (atau komponen
sederhana dari atribut komposit).
2. Masukkan sebagai FK ke dalam R, PK ke atribut dari relasi-relasi yang merupakan owner
dari W (dapat diperoleh dengan memperhatikan identifying relationship dari W).
3. PK dari R dibentuk dari kombinasi antara PK dari relasi dan pemilik dan partial key dari
weak entity W (jika ada).

Langkah Ketiga
1. Untuk setiap relasi biner 1:1 R dalam skema ER, perhatikan relasi-relasi S dan T yang
berkorespondensi dengan entitas yang berpartisipasi dalam R.
2. Kemudian ambil salah satu relasi (misal S) dan cantumkan PK dari T sebagai FK dalam
S. Untuk kasus ini, S sebaiknya dipilih dari entitas yang berpartisipasi total dalam R
(untuk mengurangi NULL value dari FK yang diambil dari T).
3. Sebagai alternatif pemetaan dari relasi 1:1 ini adalah dengan menggabungkan kedua
entitas menjadi satu relasi tunggal.
4. Cara ini terutama sangat sesuai jika kedua entitas berpartisipasi total dan tidak
berpartisipasi dalam relasi yang lain.

Langkah Keempat
1. Untuk setiap relasi biner biasa 1:N perhatikan relasi S yang mewakili entitas yang
berpartisipasi pada relasi di sisi-N.
2. Cantumkan PK dari relasi yang berperan pada sisi-1 sebagai FK dalam S.
3. Cantumkan semua atribut sederhana (atau komponen dari atribut komposit) dari
relasi biner 1:N sebagai atribut dalam S.

Langkah Kelima
1. Untuk setiap tipe R relasi biner M:N buat relasi baru S untuk mewakili R.
2. Cantumkan PK dari relasi-relasi yang mewakili entitas yang berpartisipasi dalam R
sebagai FK dalam S.
3. Cantumkan semua atribut sederhana (atau komponen dari atribut komposit) dari
relasi biner M:N sebagai atribut dalam S.

7 Fakultas Ilmu Komputer


Universitas Brawijaya
Modul Praktikum Sistem Basis Data

Catatan
Relasi biner 1:1 atau 1:N selalu dapat dipetakan seperti pada relasi M:N.
Alternatif ini terutama sangat berguna jika relationship instances yang ada sangat
sedikit (menghindari NULL value dalam FK).
Untuk kasus ini PK dari relasi hanya akan menjadi FK dalam satu entitas-relasi yang
berpartisipasi.
Untuk 1:1 adalah entitas-relasi yang berpartisipasi total yang dipilih.

Langkah Keenam
1. Untuk setiap atribut multi-value A buat satu relasi baru R yang mencantumkan 1
atribut yang mewakili A + PK K (sebagai FK dalam R) dari relasi yang mewakili entitas
atau relasi yang mempunyai A sebagai atributnya.
2. PK dari R kombinasi A dan K.
3. Jika atribut multi-value adalah komposit, maka hanya komponennya yang dicantumkan.

Langkah Ketujuh
1. Untuk setiap relasi n-ary R (n>2), buat suatu relasi baru S yang mewakili R.
2. Cantumkan PK dari relasi-relasi yang mewakili entitas yang berpartisipasi dalam R
sebagai FK dalam S
3. Cantumkan semua atribut sederhana (atau komponen dari atribut komposit) dari
relasi n-ary sebagai atribut dalam S
4. PK dari S biasanya merupakan kombinasi dari semua FK yang mengacu pada relasi-
relasi yang mewakili entitas yang berpartisipasi

1.5 Latihan
Industri rumahan (home industry) An-Nissa mempunyai berbagai produk makanan
olahan. Produk tersebut berbahan dasar kacang. Macam produknya antara lain: ada kacang
telur, kacang sembunyi, kacang kapri, kacang shanghai dll.
Produknya selain dijual sendiri juga dititipkan ke beberapa toko/swalayan. Jika produk
yang dititipkan ke toko habis, maka An-Nissa akan segera mengirim ke toko tersebut lagi, atau
paling tidak sebulan sekali akan mengganti produk yang tidak laku dengan produk baru.
Untuk memperlancar usahanya, industri rumahan tersebut punya beberapa karyawan
yang dibagi dalam beberapa kelompok/bagian, yakni bagian pengolahan, penggorengan dan
packing. Oleh karena semakin berkembang, industri rumahan tersebut ingin membuat sistem
untuk usahanya. Bantu An-Nissa untuk merancang sistem informasinya. An-Nissa ingin
mencatat juga di toko apa dia biasa membeli bahan-bahannya, selain karyawan, serta toko-
toko yang dititipinya.
1. Buat Entity Relationship Diagram (ERD).
2. Buat Enhanced Entity Relationship Diagram EERD.
3. Buat Model Relasionalnya.

8 Fakultas Ilmu Komputer


Universitas Brawijaya

Anda mungkin juga menyukai