Konsep ER Diagram: entitas, atribut, relasi, kardinalitas
Tujuan Pembelajaran
Setelah mempelajari bagian ini, mahasiswa mampu:
- Memahami komponen utama dalam ER Diagram: entitas, atribut, relasi, dan kardinalitas.
- Mendesain ER Diagram sederhana berdasarkan kebutuhan data.
- Mengimplementasikan hasil desain ER Diagram ke dalam database MySQL di Ubuntu 24.04.
Konsep ER Diagram
ER Diagram (Entity-Relationship Diagram) adalah representasi grafis dari struktur data yang menunjukkan entitas, atribut, relasi antar entitas, dan kardinalitas hubungan.
Entitas
Definisi:
Entitas adalah objek nyata yang memiliki data yang disimpan dalam basis data.
Contoh:
- Mahasiswa
- Dosen
- Mata Kuliah
Dalam ERD, entitas biasanya digambarkan sebagai persegi panjang.
Atribut
Definisi:
Atribut adalah karakteristik atau properti dari entitas.
Contoh:
- Mahasiswa: `NIM`, `Nama`, `Tanggal Lahir`
- Mata Kuliah: `ID Matkul`, `Nama Matkul`
Dalam ERD, atribut digambarkan sebagai elips yang terhubung ke entitas.
Relasi
Definisi:
Relasi menggambarkan hubungan antara dua atau lebih entitas.
Contoh:
- Mahasiswa mengambil Mata Kuliah
- Dosen mengajar Mata Kuliah
Relasi digambarkan sebagai belah ketupat (diamond) dalam ER Diagram.
Kardinalitas
Definisi:
Kardinalitas menyatakan jumlah entitas yang dapat terlibat dalam sebuah relasi.
Jenis Kardinalitas:
- One to One (1:1)
- One to Many (1:N)
- Many to Many (M:N)
Contoh:
- 1:N Satu dosen bisa mengajar banyak mata kuliah, tapi satu mata kuliah hanya diajar oleh satu dosen.
- M:N Mahasiswa bisa mengambil banyak mata kuliah, dan satu mata kuliah bisa diambil banyak mahasiswa.
Studi Kasus ERD
Deskripsi Sistem: Sebuah sistem akademik sederhana dengan entitas:
- Mahasiswa (`NIM`, `Nama`, `Prodi`)
- Mata Kuliah (`ID Matkul`, `Nama Matkul`, `SKS`)
- Dosen (`ID Dosen`, `Nama Dosen`)
Relasi:
- Mahasiswa mengambil Mata Kuliah (M:N)
- Dosen mengajar Mata Kuliah (1:N)
Implementasi ERD di MySQL (Ubuntu 24.04)
Entitas Mahasiswa
CREATE TABLE mahasiswa ( nim VARCHAR(10) PRIMARY KEY, nama VARCHAR(50), prodi VARCHAR(50) );
Entitas Dosen
CREATE TABLE dosen ( id_dosen INT PRIMARY KEY, nama_dosen VARCHAR(50) );
Entitas Mata Kuliah + Relasi dengan Dosen (1:N)
CREATE TABLE matakuliah ( id_matkul INT PRIMARY KEY, nama_matkul VARCHAR(50), sks INT, id_dosen INT, FOREIGN KEY (id_dosen) REFERENCES dosen(id_dosen) );
Relasi Mahasiswa-Mata Kuliah (M:N) Relasi ini direpresentasikan dengan tabel pengambilan (tabel penghubung):
CREATE TABLE pengambilan ( nim VARCHAR(10), id_matkul INT, semester VARCHAR(10), PRIMARY KEY (nim, id_matkul), FOREIGN KEY (nim) REFERENCES mahasiswa(nim), FOREIGN KEY (id_matkul) REFERENCES matakuliah(id_matkul) );
Visualisasi Kardinalitas (Ilustrasi Teks)
- Dosen --(1:N)--> Mata Kuliah
- Satu dosen mengajar banyak matkul
- Mahasiswa --(M:N)--> Mata Kuliah
- Banyak mahasiswa bisa mengambil banyak matkul → direpresentasikan melalui tabel relasi `pengambilan`
Kesimpulan
- Komponen ER Diagram meliputi entitas, atribut, relasi, dan kardinalitas.
- ER Diagram mempermudah perancangan struktur data yang logis.
- Implementasi MySQL berdasarkan ERD harus memperhatikan relasi dan penggunaan kunci asing (foreign key).
- Kardinalitas menentukan bagaimana relasi antar entitas diimplementasikan.