Entity-Relationship Diagram (ERD)
ERD adalah diagram yang menggambarkan struktur logis basis data dengan menampilkan entitas, atribut, dan relasi di antara entitas-entitas tersebut. ERD membantu merancang database sebelum implementasi, memastikan konsistensi dan kejelasan hubungan data.
1. Pengertian ERD
-
Entitas: Objek nyata atau konseptual yang memiliki data, contohnya Siswa, Kelas, Produk.
-
Atribut: Properti atau informasi detail tentang entitas, misalnya entitas Siswa punya atribut NIS, Nama, Tanggal_Lahir.
-
Relasi: Hubungan antara dua (atau lebih) entitas, seperti satu Siswa “BERADA_DI” satu Kelas.
ERD memetakan model data sehingga memudahkan developer dan stakeholder memahami bagaimana data saling terhubung.
2. Komponen Utama ERD
Komponen | Simbol / Notasi | Keterangan |
---|---|---|
Entitas | Persegi panjang | Menyatakan objek/data utama |
Atribut | Oval | Menyatakan detail/field dari entitas |
Primary Key | Atribut bergaris bawah | Atribut unik untuk tiap instansi entitas |
Relasi | Belah ketupat (♦) | Menyatakan jenis hubungan antar entitas |
Kardinalitas | Angka atau simbol (1, N, M) | Menunjukkan jumlah maksimum/minimum hubungan |
3. Jenis Kardinalitas Relasi
-
One-to-One (1–1)
Setiap baris entitas A berpasangan tepat satu baris entitas B. -
One-to-Many (1–N)
Satu baris entitas A dapat berhubungan dengan banyak baris entitas B, tapi B hanya dengan satu A. -
Many-to-Many (M–N)
Banyak baris entitas A bisa berhubungan dengan banyak baris entitas B (biasanya membutuhkan tabel penghubung).
4. Contoh ERD Sederhana
Misalkan kita punya sistem Perpustakaan dengan tiga entitas: Buku, Anggota, dan Peminjaman.
[ BUKU ] [ ANGGOTA ]
| |
| 1 1 |
| |
+---< DIPINJAM >----+
N–M
[ PEMINJAMAN ]
-
Entitas Buku
-
PK: ISBN
-
Atribut: Judul, Pengarang, Tahun
-
-
Entitas Anggota
-
PK: ID_Anggota
-
Atribut: Nama, Alamat, No_Telp
-
-
Entitas Peminjaman
-
PK: (ISBN, ID_Anggota, Tgl_Pinjam)
-
Atribut: Tgl_Kembali, Denda
-
Relasi
-
Buku 1–N Peminjaman (satu buku bisa dipinjam berulang kali)
-
Anggota 1–N Peminjaman (satu anggota bisa meminjam banyak buku)
5. Inti/Terperinci
-
Definisi & Tujuan
-
ERD adalah alat visual untuk merancang struktur database.
-
Meminimalisir redundansi & inkonsistensi data.
-
-
Langkah Pembuatan
-
Identifikasi entitas utama.
-
Tentukan atribut tiap entitas & tetapkan PK.
-
Gambar relasi; tetapkan kardinalitas.
-
Tambahkan entitas penghubung (jika M–N).
-
Review dan validasi dengan stakeholder.
-
-
Manfaat
-
Komunikasi jelas antara developer dan non-tech.
-
Basis data terstruktur, mudah dikembangkan dan dipelihara.
-
Rumus :
Berikut “rumus” atau pola dasar relasi (kardinalitas) di ERD, lengkap dengan notasi dan cara implementasinya ke tabel–tabel database:
1. Kardinalitas & Notasi ERD
Tipe Relasi | Notasi Singkat | Notasi Min–Max | Penjelasan singkat |
---|---|---|---|
One-to-One | 1 : 1 | (1,1) – (1,1) | Tiap A hanya punya satu B, dan sebaliknya. |
One-to-Many | 1 : N | (1,1) – (0,N) | Satu A bisa punya banyak B; B hanya satu A. |
Many-to-Many | M : N atau N : M | (0,M) – (0,N) | Banyak A bisa ke banyak B, dan sebaliknya. |
-
Notasi Min–Max
(min,max)
menunjukkan banyaknya relasi minimal dan maksimal. -
Contoh
(1,1)–(0,N)
artinya: setiap baris A wajib punya tepat 1 B; tiap baris B boleh 0 sampai N A.
2. “Rumus” Implementasi di Database
ERD | Tabel Relasional | Keterangan |
---|---|---|
1 : 1 | Tambah foreign key di salah satu tabel, + UNIQUE | sql<br>CREATE TABLE KTP (no_ktp CHAR(16) PRIMARY KEY, nama VARCHAR(100));<br>CREATE TABLE Warga (id INT PRIMARY KEY, no_ktp CHAR(16) UNIQUE, FOREIGN KEY(no_ktp) REFERENCES KTP(no_ktp)); |
1 : N | Tambah foreign key di sisi N | sql<br>CREATE TABLE Kelas (id INT PRIMARY KEY, nama VARCHAR(50));<br>CREATE TABLE Siswa (id INT PRIMARY KEY, nama VARCHAR(100), id_kelas INT, FOREIGN KEY(id_kelas) REFERENCES Kelas(id)); |
M : N | Buat tabel penghubung (associative) | sql<br>CREATE TABLE Mahasiswa (id INT PRIMARY KEY, nama VARCHAR(100));<br>CREATE TABLE MataKuliah (kode CHAR(6) PRIMARY KEY, judul VARCHAR(100));<br>CREATE TABLE KRS (mhs_id INT, mk_kode CHAR(6), PRIMARY KEY(mhs_id,mk_kode), FOREIGN KEY(mhs_id) REFERENCES Mahasiswa(id), FOREIGN KEY(mk_kode) REFERENCES MataKuliah(kode)); |
-
One-to-One: FK +
UNIQUE
memastikan tiap nilai hanya muncul sekali. -
One-to-Many: FK di tabel “many” menunjuk PK tabel “one”.
-
Many-to-Many: Tabel ketiga (
KRS
) membawa dua FK sebagai kombinasi PK.
4. Ringkasan “Rumus” Cepat
-
1 : 1 → FK +
UNIQUE
-
1 : N → FK di sisi “N” (tanpa
UNIQUE
) -
M : N → Tabel penghubung dengan dua FK (gabungan PK)
contoh :
0 komentar:
Posting Komentar