Apa itu entitas dalam ERD?

 


Pengertian Entitas

Entitas adalah objek nyata atau konseptual dalam domain masalah yang ingin kita modelkan, yang memiliki identitas dan karakteristik (atribut). Contohnya: Mahasiswa, Dosen, MataKuliah, Pesanan.

Komponen & istilah penting


  • Entity instance (occurrence): satu contoh konkret entitas (mis. mahasiswa dengan NIM 12345).
  • Entity set: kumpulan entity instance yang sejenis (mis. semua mahasiswa).
  • Nama entitas: biasanya kata benda tunggal, jelas, konsisten (mis. Mahasiswa, bukan DataMahasiswa).
  • Identifier / Key attribute: atribut yang membedakan tiap instance secara unik (mis. NIM). Ditandai sebagai primary key di implementasi.
  • Entitas vs Atribut vs Relasi:
    • Entitas = objek/actor (rectangle).
    • Atribut = properti entitas (oval).
    • Relasi = asosiasi antar entitas (diamond atau garis dengan crow’s foot).

Jenis-jenis entitas (konsep)

1. Strong (regular) entity

  • Berdiri sendiri, punya key sendiri. Contoh: Mahasiswa, Produk.
  • Diimplementasikan sebagai tabel dengan primary key.

2. Weak entity (entitas lemah)

  • Tidak punya key unik sendiri; identitasnya bergantung pada entitas lain (owner).
  • Memerlukan identifying relationship ke owner. Contoh: OrderItem yang hanya unik bila digabung dengan OrderID.
  • Di notasi Chen: weak entity sering digambar dengan double rectangle, dan identifying relationship dengan double diamond.

3. Associative entity (associative / intersection / relationship entity)

  • Merupakan relasi many-to-many yang juga punya atribut → dimodelkan sebagai entitas sendiri.
  • Contoh: Enrollment (Mahasiswa–MataKuliah) dengan atribut nilai, tgl_daftar.

4. Recursive entity

  • Entitas yang berelasi ke dirinya sendiri (mis. Karyawan yang punya relasi manages ke Karyawan lain).

5. Supertype / Subtype (generalization / specialization)

  • Supertype: entitas umum (mis. Pegawai), Subtype: entitas spesifik (mis. Dosen, Staf) — bisa punya atribut/relasi khusus.

Aturan mapping ke tabel relasional (praktis)

  • Strong entity → tabel tunggal; setiap atribut → kolom; key attribute → PRIMARY KEY.
  • Weak entity → tabel dengan primary key komposit yang mengandung PK owner (mis. (order_id, item_no)), dan foreign key ke owner.
  • Associative entity → tabel join dengan FK ke dua entitas dan kolom untuk atribut relasi.
  • Subtype/supertype → beberapa cara mapping: single table inheritance, class table inheritance, concrete table per subtype — pilih sesuai kebutuhan performa/normalisasi.

Perbedaan konsep vs implementasi

  • Entitas (konseptual) fokus pada domain bisnis — siapa dan apa.
  • Tabel (implementasi) adalah bentuk fisik di DB yang menyimpan entitas; kadang satu entitas bisa dipetakan menjadi beberapa tabel dan sebaliknya, tergantung strategi normalisasi/performansi.

Kesalahan umum

  • Menjadikan atribut yang sering berubah sebagai primary key.
  • Memakai nama entitas yang ambigu (mis. Data_Mahasiswa vs Mahasiswa).
  • Mengabaikan weak entity sehingga kehilangan identitas yang diperlukan.
  • Tidak memikirkan partisipasi/mandatory sehingga terjadi anomali data.

Komentar