Entity Relationship Diagram ERD | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: Entity Relationship Diagram ERD

Tuesday, March 31, 2026

Entity Relationship Diagram ERD


Basis Data · Semester 4

Basis Data Relasional & ERD:
Panduan Lengkap dari Nol

Dari entitas, atribut, relasi, hingga kardinalitas — semua yang kamu butuhkan untuk nguasain ERD sebelum UTS menyerang.

3
Tipe Kardinalitas
2
Notasi ERD
1
Studi Kasus Rekam Medis
#ERD #BasisData #RelasiKardinalitas #NotasiChen #SistemInformasi

Bayangkan kamu diminta membangun sebuah sistem informasi rumah sakit — ada data pasien, dokter, obat, jadwal periksa, rekam medis, tagihan... tanpa peta, kamu pasti nyasar sebelum nulis baris kode pertama. Nah, di sinilah Entity-Relationship Diagram (ERD) hadir sebagai "peta bumi"-nya basis data. Satu diagram yang menyelamatkan ratusan jam debugging.

Kalau kamu lagi duduk di semester 4 jurusan Sistem Informasi, Ilmu Komputer, atau sejenisnya — artikel ini ditulis khusus untukmu. Kita akan bahas ERD dari akarnya: entitas, atribut, relasi, kardinalitas (1:1, 1:N, M:N), notasi Chen vs Crow's Foot, sampai implementasi nyata di studi kasus rekam medis. Pakai bahasa yang manusiawi, bukan kalimat buku teks yang bikin ngantuk.

Siap? Grab kopi dulu, terus kita mulai. ☕

Pengertian ERD (Entity-Relationship Diagram)

Entity-Relationship Diagram (ERD) adalah representasi visual dari struktur data dalam suatu sistem, yang menggambarkan entitas-entitas, atribut-atributnya, serta hubungan (relasi) antar entitas tersebut. Konsep ini pertama kali diperkenalkan oleh Peter Pin-Shan Chen pada tahun 1976 dalam makalahnya berjudul "The Entity-Relationship Model — Toward a Unified View of Data" yang dipublikasikan di ACM Transactions on Database Systems (Chen, 1976).

Kalau mau analogi sederhananya: ERD itu seperti denah rumah sebelum kamu membangunnya. Kamu nggak akan mungkin menyuruh tukang langsung pasang bata tanpa tahu di mana kamar tidur, kamar mandi, atau dapur — kan? ERD adalah "denah" database kamu, dan tanpanya, developer bisa salah bangun struktur tabel dari awal.

📖 Definisi Formal

"ERD adalah model konseptual yang merepresentasikan struktur logis dari sebuah basis data menggunakan entitas, atribut, dan relasi beserta batasan-batasannya."

— Elmasri & Navathe, Fundamentals of Database Systems, 7th ed. (2016)

💡
Fakta Menarik

Makalah Peter Chen (1976) tentang Entity-Relationship Model adalah salah satu makalah ilmu komputer yang paling banyak dikutip sepanjang masa — lebih dari 15.000 sitasi di Google Scholar. Artinya, konsep yang kamu pelajari hari ini sudah terbukti relevan selama hampir 50 tahun!

Manfaat ERD dalam Perancangan Basis Data

Menurut Ramakrishnan & Gehrke (2003) dalam Database Management Systems, ERD memberikan fondasi yang kuat untuk proses desain basis data karena mampu mengabstraksikan kompleksitas dunia nyata ke dalam representasi yang terstruktur. Berikut manfaat utamanya:

1
Komunikasi Antar Tim

ERD menjadi "bahasa universal" antara analis bisnis, DBA, dan developer. Satu diagram bisa mewakili ribuan baris dokumen spesifikasi.

2
Deteksi Kesalahan Desain Lebih Awal

Memperbaiki ERD jauh lebih murah daripada memperbaiki struktur database yang sudah jalan — ibarat lebih mudah hapus goresan pensil di denah daripada membongkar tembok yang sudah dibangun.

3
Dasar Normalisasi Database

ERD yang baik mempermudah proses normalisasi (1NF, 2NF, 3NF) karena relasi dan dependensi antar atribut sudah tergambar jelas sejak awal.

4
Dokumentasi Sistem

ERD adalah dokumentasi hidup yang mempermudah onboarding developer baru dan maintenance jangka panjang. Database tanpa ERD = kode tanpa komentar.

Komponen Utama ERD: Entitas, Atribut, Relasi

ERD dibangun dari tiga komponen fundamental. Memahami ketiganya secara mendalam adalah kunci sebelum kamu bisa menggambar ERD yang benar (Connolly & Begg, 2015).

🗂️

Entitas

Objek/benda nyata yang memiliki keberadaan mandiri dan perlu disimpan datanya. Digambarkan sebagai persegi panjang dalam notasi Chen.

Contoh:
PASIEN, DOKTER, OBAT, RUANGAN
🏷️

Atribut

Properti/karakteristik yang mendeskripsikan entitas. Digambarkan sebagai elips/oval dalam notasi Chen. Atribut kunci (Primary Key) digaris bawahi.

Contoh:
no_pasien, nama, tanggal_lahir, alamat
🔗

Relasi

Hubungan/asosiasi antar entitas. Digambarkan sebagai belah ketupat (diamond) dalam notasi Chen. Relasi bisa punya atribut sendiri.

Contoh:
PASIEN — MENJALANI — PEMERIKSAAN

Tipe-Tipe Atribut dalam ERD

Tidak semua atribut itu sama. Silberschatz, Korth & Sudarshan (2020) dalam Database System Concepts mengklasifikasikan atribut menjadi beberapa tipe:

Tipe Atribut Deskripsi Contoh Notasi Chen
Simple Nilai tunggal, tak bisa dibagi lagi umur, jenis_kelamin Oval biasa
Composite Terdiri dari beberapa sub-atribut nama_lengkap (depan + belakang), alamat Oval dengan oval anak
Multivalued Dapat memiliki lebih dari satu nilai no_telepon, email Oval ganda (double oval)
Derived Nilai dihitung dari atribut lain usia (dari tgl_lahir) Oval putus-putus
Key Pengidentifikasi unik setiap instance entitas no_pasien, nik Oval + teks digaris bawahi

Kardinalitas ERD: 1:1, 1:N, dan M:N

Kardinalitas mendefinisikan jumlah instance dari satu entitas yang bisa berelasi dengan instance dari entitas lain. Ini adalah salah satu konsep paling penting dan paling sering muncul di ujian! (Date, 2019). Ada tiga tipe utama:

1:1 One-to-One

Satu instance entitas A berelasi dengan tepat satu instance entitas B, dan sebaliknya. Analogi: satu orang punya satu NIK, satu NIK dimiliki satu orang.

PEGAWAI
1
─────── memiliki ───────
1
LOKER
📌 Contoh riil: PASIEN ↔ REKAM_MEDIS_UTAMA (satu pasien, satu nomor rekam medis)
1:N One-to-Many

Satu instance entitas A berelasi dengan banyak instance entitas B, namun satu instance B hanya berelasi dengan satu instance A. Relasi paling umum ditemukan dalam database!

DOKTER
1
─────── menangani ───────
N
PASIEN
📌 Contoh riil: Satu DOKTER menangani banyak PASIEN, tapi satu PASIEN ditangani satu dokter spesialis utama
M:N Many-to-Many

Banyak instance entitas A berelasi dengan banyak instance entitas B. Dalam implementasi fisik, relasi M:N selalu dipecah dengan tabel penghubung (junction table / associative entity).

PASIEN
M
─────── mendapat ───────
N
OBAT
📌 Contoh riil: Satu PASIEN bisa mendapat banyak OBAT; satu OBAT bisa diberikan ke banyak PASIEN. Diselesaikan dengan tabel RESEP.
🎯
Tips Krusial untuk Ujian

Relasi M:N tidak bisa langsung diimplementasikan ke tabel SQL! Kamu harus memecahnya menjadi dua relasi 1:N dengan tabel asosiatif di tengah. Ini adalah kesalahan yang paling sering dilakukan mahasiswa semester 4. Pastikan kamu paham ini sebelum praktikum!

Notasi ERD: Chen vs Crow's Foot

Ada dua notasi utama yang dipakai untuk menggambar ERD. Keduanya valid — perbedaannya hanya pada cara visual merepresentasikan entitas dan kardinalitas (Teorey et al., 2011).

Chen
Akademik / Konseptual
  • Entitas = Persegi Panjang
  • Relasi = Belah Ketupat (Diamond)
  • Atribut = Oval/Elips
  • Atribut Key = Oval + Garis Bawah
  • Atribut Multivalued = Double Oval
  • Atribut Derived = Oval Putus-putus
  • Weak Entity = Double Rectangle
Lebih ekspresif — cocok untuk desain konseptual dan tugas kuliah
Crow's Foot
Industri / Tools
  • Entitas = Tabel/Kotak
  • Relasi = Garis penghubung langsung
  • One (1) = Garis tegak lurus ( | )
  • Many (N) = "Kaki gagak" (tiga garis)
  • Zero or One = Lingkaran + garis tegak
  • One and Only One = Dua garis tegak lurus
  • Zero or Many = Lingkaran + kaki gagak
Lebih compact — default di MySQL Workbench, Lucidchart, draw.io
🔍
Insight Penting

Di dunia industri, notasi Crow's Foot lebih populer karena didukung langsung oleh tools seperti MySQL Workbench, dbdiagram.io, ERDPlus, dan Lucidchart. Namun di lingkungan akademik, dosen umumnya masih menggunakan Notasi Chen karena lebih eksplisit dalam menggambarkan atribut. Kuasai keduanya!

Studi Kasus: ERD Rekam Medis Rumah Sakit

Sekarang saatnya kita terapkan semua konsep di atas ke dalam kasus nyata. Sistem rekam medis adalah contoh klasik yang sering dipakai dalam pembelajaran basis data karena melibatkan berbagai tipe relasi sekaligus (Hoffer, Ramesh & Topi, 2016).

Identifikasi Entitas & Atribut

📦 PASIEN
no_rm, nama_pasien, tanggal_lahir, jenis_kelamin, alamat, no_telepon (mv), golongan_darah, usia*
📦 DOKTER
id_dokter, nama_dokter, spesialisasi, no_sip, jadwal_praktik (mv), no_telepon
📦 PEMERIKSAAN
id_pemeriksaan, tanggal_periksa, keluhan, diagnosa, tekanan_darah, suhu, catatan
📦 OBAT
id_obat, nama_obat, jenis_obat, satuan, dosis_standar, stok
📦 RESEP (Tabel Asosiatif M:N)
id_resep, id_pemeriksaan (FK), id_obat (FK), jumlah, aturan_pakai
📦 RUANG_RAWAT
id_ruang, nama_ruang, kelas, kapasitas, lantai

Ket: (mv) = multivalued; * = derived attribute; (FK) = Foreign Key

Relasi & Kardinalitas dalam Sistem Rekam Medis

Entitas A Relasi Entitas B Kardinalitas Keterangan
PASIEN MENJALANI PEMERIKSAAN 1 : N Satu pasien bisa beberapa kali periksa
DOKTER MELAKUKAN PEMERIKSAAN 1 : N Satu dokter melakukan banyak pemeriksaan
PEMERIKSAAN MENGHASILKAN RESEP 1 : N Satu pemeriksaan bisa punya banyak resep
RESEP MEMUAT OBAT M : N Diselesaikan dengan tabel RESEP_DETAIL
PASIEN MENEMPATI RUANG_RAWAT M : N Pasien bisa pindah ruang; ruang dipakai bergantian

Visualisasi ERD Rekam Medis (Notasi Chen — Disederhanakan)

ERD Rekam Medis Disederhanakan — Notasi Chen (visualisasi tidak mencakup semua atribut)

🔬 Analisis ERD Rekam Medis
⚡ Titik Kritis M:N

Relasi PEMERIKSAAN-OBAT adalah M:N yang wajib dipecah menjadi tabel RESEP sebagai entitas asosiatif dengan atribut tambahan (jumlah, aturan_pakai).

🏗️ Weak Entity Kandidat

PEMERIKSAAN bisa dikategorikan sebagai weak entity dari PASIEN — keberadaannya bergantung pada adanya pasien, dan id_pemeriksaan hanya unik dalam konteks satu pasien.

🛠️
Rekomendasi Tools Gratis untuk Buat ERD

🔹 draw.io / diagrams.net — free, support notasi Chen & Crow's Foot, bisa simpan ke Google Drive
🔹 dbdiagram.io — code-based ERD dengan output visual Crow's Foot yang cantik
🔹 ERDPlus — khusus ERD akademik, mirip notasi Chen, cocok untuk tugas
🔹 MySQL Workbench — reverse-engineer database ke ERD otomatis, standar industri

📚 Referensi & Daftar Pustaka

  1. Chen, P. P. S. (1976). The Entity-Relationship Model — Toward a Unified View of Data. ACM Transactions on Database Systems, 1(1), 9–36. https://doi.org/10.1145/320434.320440
  2. Connolly, T., & Begg, C. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management (6th ed.). Pearson Education.
  3. Date, C. J. (2019). Database Design and Relational Theory: Normal Forms and All That Jazz (2nd ed.). Apress.
  4. Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems (7th ed.). Pearson Education.
  5. Hoffer, J. A., Ramesh, V., & Topi, H. (2016). Modern Database Management (12th ed.). Pearson Education.
  6. Ramakrishnan, R., & Gehrke, J. (2003). Database Management Systems (3rd ed.). McGraw-Hill.
  7. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). Database System Concepts (7th ed.). McGraw-Hill Education.
  8. Teorey, T. J., Lightstone, S., Nadeau, T., & Jagadish, H. V. (2011). Database Modeling and Design: Logical Design (5th ed.). Morgan Kaufmann.
✅ Kesimpulan

ERD adalah Fondasi, Bukan Formalitas

Setelah membaca artikel ini, kamu sudah punya pemahaman komprehensif tentang Entity-Relationship Diagram (ERD) — mulai dari komponen dasarnya (entitas, atribut, relasi), tiga tipe kardinalitas (1:1, 1:N, M:N), perbedaan notasi Chen dan Crow's Foot, hingga implementasinya dalam sistem rekam medis nyata.

Poin-poin kunci yang wajib kamu ingat:

  • Relasi M:N selalu dipecah dengan tabel asosiatif saat implementasi fisik
  • Primary Key digaris bawahi dalam notasi Chen
  • Notasi Chen lebih cocok untuk desain konseptual; Crow's Foot untuk tools industri
  • ERD bukan tugas dosen semata — ini adalah dokumen hidup yang menyelamatkan proyekmu
💬

Yuk, Diskusi Bareng!

Masih ada yang bingung soal ERD, kardinalitas, atau cara menggambar studi kasus tertentu? Drop pertanyaanmu di kolom komentar — kita bahas bareng! Atau kalau artikel ini bermanfaat, share ke teman sekelas supaya makin banyak yang paham sebelum praktikum. 🚀

#BasisData #ERD #EntityRelationship #Kardinalitas #NotasiChen #CrowsFootNotation #RekamMedis #SistemInformasi #DatabaseDesign #Semester4

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux