erd database obe | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: erd database obe

Saturday, May 2, 2026

erd database obe

📚 Seri OBE from Zero to Zorro · Artikel 17 dari 20
⚙️ Fase 4: Digitalisasi 🗄️ ERD Database 🎓 OBE / KKNI

ERD Database OBE:
Merancang Hubungan Antar Tabel dari Nol

Panduan visual & praktis merancang Entity Relationship Diagram untuk sistem kurikulum OBE — dari konsep kardinalitas sampai diagram siap implementasi.

⏱️
Estimasi Baca
12 menit
🎯
Level
Pemula → Menengah
📅
Diperbarui
2026

Pernah nggak kamu merasa pusing waktu disuruh bikin database? Tiba-tiba semua orang ngomong soal tabel, relasi, foreign key — dan kamu cuma bisa manggut-manggut sambil dalam hati bertanya, "ini dari mana awalnya?"

Jawabannya: dari ERD OBE. Entity Relationship Diagram adalah peta jalan sebelum kamu menulis satu baris pun SQL. Dan kalau kamu lagi membangun sistem informasi akademik berbasis kurikulum OBE, ERD bukan sekadar opsional — ini adalah fondasi segalanya.

Artikel ini adalah bagian ke-17 dari seri "20 Artikel Kurikulum OBE: OBE from Zero to Zorro" — dan di sini kita bakal merancang Entity Relationship Diagram untuk sistem OBE dari nol. Bukan teori kering, tapi panduan visual yang bisa langsung kamu praktikkan hari ini.

📐 Definisi Kunci

"ERD adalah diagram yang menggambarkan entitas (objek data), atributnya, dan hubungan (relasi) antar entitas dalam sebuah sistem."

Dalam konteks OBE, entitas utamanya adalah: Mata Kuliah, CPMK, CPL, Mahasiswa, Nilai, dan Kurikulum. Semua saling terhubung — dan ERD adalah peta koneksi itu.

🗺️ Apa Itu ERD OBE dan Kenapa Kamu Butuh Ini?

Bayangkan kamu mau bangun rumah. Sebelum tukang datang, kamu perlu denah arsitektur — mana ruang tamu, mana kamar, di mana letak pintu. Tanpa denah, tukang bisa salah pasang dinding, dan rumah jadi berantakan.

ERD adalah denah arsitektur database kamu. Sebelum kamu nulis CREATE TABLE, kamu perlu tahu: tabel apa saja yang ada, kolom apa di tiap tabel, dan bagaimana tabel-tabel itu saling terhubung.

Dalam desain database OBE, kompleksitasnya lebih tinggi dari sistem biasa — karena OBE punya konsep hierarki: CPL → CPMK → Sub-CPMK, dan semua itu harus bisa terlacak sampai ke nilai mahasiswa per aktivitas pembelajaran.

💡
Tips Praktis

Sebelum membuka aplikasi database, gambar ERD di kertas dulu! Banyak developer berpengalaman yang masih pakai whiteboard untuk fase ini. Tools digital seperti draw.io, dbdiagram.io, atau Lucidchart bisa dipakai setelah konsep ERD sudah jelas.

🔗 Kardinalitas dalam Database OBE: 1:1, 1:N, N:M

Konsep paling krusial dalam desain database OBE adalah kardinalitas — yaitu aturan "berapa banyak yang boleh berhubungan dengan berapa banyak". Ada tiga jenis utama:

Jenis Relasi Simbol Contoh dalam OBE Implementasi
Satu ke Satu (1:1) ─┤ ├─ 1 Kurikulum ↔ 1 Prodi (per angkatan) Foreign key di salah satu tabel
Satu ke Banyak (1:N) ─┤ ⊳─ 1 CPL → banyak CPMK FK di sisi "banyak" (tabel CPMK)
Banyak ke Banyak (N:M) ─⊲ ⊳─ CPMK ↔ Mata Kuliah (bisa lintas prodi) Tabel junction/pivot wajib dibuat
🔥
Fakta Menarik

Relasi N:M adalah yang paling sering bikin maba Database galau! Contoh: satu CPMK bisa ada di banyak mata kuliah, dan satu mata kuliah punya banyak CPMK. Solusinya selalu sama: buat tabel perantara (junction table) seperti matakuliah_cpmk.

🏗️ Langkah-Langkah Merancang ERD OBE dari Nol

Merancang Entity Relationship Diagram OBE bukan soal bakat — ini soal mengikuti langkah yang benar. Berikut panduan step-by-step-nya:

1

Identifikasi Semua Entitas

Daftar semua "objek" yang perlu disimpan datanya. Dalam OBE, entitas utamanya adalah: Prodi, Kurikulum, CPL (Capaian Pembelajaran Lulusan), Mata Kuliah, CPMK, Mahasiswa, Dosen, Kelas, Nilai. Tulis di sticky note atau whiteboard.

2

Tentukan Atribut Tiap Entitas

Untuk setiap entitas, tentukan atributnya. Contoh entitas CPMK: id_cpmk, kode_cpmk, deskripsi, bobot_penilaian, id_cpl. Tandai mana Primary Key (PK) dan mana yang akan jadi Foreign Key (FK).

3

Gambar Relasi Antar Entitas

Hubungkan entitas dengan garis. Beri label nama relasi (kata kerja) dan notasi kardinalitas. Contoh: CPL "memiliki" CPMK (1:N). Gunakan notasi Crow's Foot atau Chen — pilih salah satu dan konsisten.

4

Resolusi Relasi N:M

Setiap relasi N:M wajib dipecah dengan tabel junction. Contoh: relasi antara Mata Kuliah dan CPMK dipecah jadi tabel matakuliah_cpmk yang berisi FK dari kedua tabel + atribut tambahan seperti bobot.

5

Review & Normalisasi

Cek apakah ada data redundan. Pastikan semua tabel memenuhi minimal 3NF (Third Normal Form). Tanya diri sendiri: "Apakah ada kolom yang nilainya bisa diturunkan dari kolom lain di tabel yang sama?" Jika ya, pisahkan.

📊 Visualisasi ERD Database OBE: Diagram Lengkap

Berikut adalah representasi tekstual dari ERD database OBE yang bisa kamu jadikan acuan. Diagram ini mencakup entitas inti beserta relasinya:

🗺️ ERD — Sistem Database OBE (Crow's Foot Notation)
  ┌─────────────────┐         ┌──────────────────┐
  │   PRODI         │  1   N  │   KURIKULUM      │
  │─────────────────│────────►│──────────────────│
  │ PK id_prodi     │         │ PK id_kurikulum  │
  │    kode_prodi   │         │    tahun_berlaku │
  │    nama_prodi   │         │    status_aktif  │
  │    jenjang      │         │ FK id_prodi      │
  └─────────────────┘         └────────┬─────────┘
                                        │ 1
                                        │
                                        ▼ N
                              ┌──────────────────┐
                              │   CPL            │
                              │──────────────────│
                              │ PK id_cpl        │
                              │    kode_cpl      │
                              │    deskripsi_cpl │
                              │ FK id_kurikulum  │
                              └────────┬─────────┘
                                        │ 1
                                        │
                                        ▼ N
  ┌─────────────────┐   N   M  ┌──────────────────┐
  │   MATA KULIAH   │◄────────►│   CPMK           │
  │─────────────────│          │──────────────────│
  │ PK id_mk        │  [tabel  │ PK id_cpmk       │
  │    kode_mk      │  pivot:  │    kode_cpmk     │
  │    nama_mk      │  mk_cpmk]│    deskripsi     │
  │    sks          │          │    bobot (%)     │
  │ FK id_kurikulum │          │ FK id_cpl        │
  └────────┬────────┘          └──────────────────┘
            │ 1
            │
            ▼ N
  ┌─────────────────┐         ┌──────────────────┐
  │   KELAS         │  N   M  │   MAHASISWA      │
  │─────────────────│◄───────►│──────────────────│
  │ PK id_kelas     │ [pivot: │ PK id_mahasiswa  │
  │    kode_kelas   │ enrollm.]│    nim           │
  │    semester     │          │    nama          │
  │ FK id_mk        │          │    angkatan      │
  │ FK id_dosen     │          │ FK id_prodi      │
  └────────┬────────┘          └──────────────────┘
            │ 1
            │
            ▼ N
  ┌─────────────────────────────┐
  │   NILAI_CPMK                │
  │─────────────────────────────│
  │ PK id_nilai                 │
  │    nilai_angka              │
  │    nilai_huruf              │
  │ FK id_mahasiswa             │
  │ FK id_cpmk                  │
  │ FK id_kelas                 │
  └─────────────────────────────┘
  
Insight Penting

Tabel NILAI_CPMK adalah inti dari sistem OBE. Di sinilah capaian setiap mahasiswa untuk setiap CPMK disimpan. Tabel ini yang nantinya digunakan untuk menganalisis ketercapaian CPL — apakah kurikulum berjalan efektif atau tidak.

💻 Contoh Kode: Membuat Relasi di SQL

Setelah ERD selesai dirancang, kita bisa mentranslasikannya ke SQL. Berikut contoh kode untuk mendefinisikan relasi kunci dalam database OBE:

SQL — Relasi CPL ke CPMK (1:N)
CREATE TABLE cpl (
  id_cpl        INT PRIMARY KEY AUTO_INCREMENT,
  kode_cpl      VARCHAR(10) NOT NULL,
  deskripsi_cpl TEXT NOT NULL,
  id_kurikulum  INT,
  FOREIGN KEY (id_kurikulum) REFERENCES kurikulum(id_kurikulum)
);

CREATE TABLE cpmk (
  id_cpmk       INT PRIMARY KEY AUTO_INCREMENT,
  kode_cpmk     VARCHAR(15) NOT NULL,
  deskripsi     TEXT,
  bobot         DECIMAL(5,2),
  id_cpl        INT NOT NULL,
  -- FK ke CPL: relasi 1 CPL → banyak CPMK
  FOREIGN KEY (id_cpl) REFERENCES cpl(id_cpl)
    ON DELETE CASCADE
    ON UPDATE CASCADE
);
SQL — Junction Table: Mata Kuliah ↔ CPMK (N:M)
-- Tabel perantara untuk relasi N:M
CREATE TABLE matakuliah_cpmk (
  id            INT PRIMARY KEY AUTO_INCREMENT,
  id_mk         INT NOT NULL,
  id_cpmk       INT NOT NULL,
  bobot_mk      DECIMAL(5,2) DEFAULT 0.00,
  FOREIGN KEY (id_mk)   REFERENCES mata_kuliah(id_mk),
  FOREIGN KEY (id_cpmk) REFERENCES cpmk(id_cpmk),
  -- Hindari duplikasi pasangan mk-cpmk
  UNIQUE KEY uk_mk_cpmk (id_mk, id_cpmk)
);
⚠️
Perhatian!

Selalu tambahkan ON DELETE CASCADE atau ON DELETE RESTRICT pada foreign key-mu secara eksplisit. Kalau dibiarkan default, perilaku database bisa berbeda-beda di tiap RDBMS — dan bisa menyebabkan data orphan (data yang mengacu ke baris yang sudah dihapus).

🔍 Analisis Mendalam — ERD Sederhana vs ERD OBE Lengkap
❌ ERD Akademik Biasa
  • Hanya ada: MK, Mahasiswa, Nilai
  • Nilai = satu angka final
  • Tidak bisa lacak ketercapaian per CLO
  • Tidak mendukung evaluasi kurikulum
  • Tidak comply dengan standar BAN-PT OBE
✅ ERD Sistem OBE Lengkap
  • CPL → CPMK → Nilai per indikator
  • Bisa hitung attainment rate per CPL
  • Support pemetaan kurikulum lintas angkatan
  • Dasar laporan akreditasi otomatis
  • Siap integrasi dengan SIAKAD modern
💡
Tools Rekomendasi untuk Membuat ERD OBE
  • dbdiagram.io — paling cepat, syntax sederhana, bisa generate SQL langsung
  • draw.io (diagrams.net) — gratis, lengkap, bisa disimpan ke Google Drive
  • MySQL Workbench — kalau sudah mau langsung ke implementasi MySQL
  • Lucidchart — kolaborasi tim, cocok untuk proyek besar
✅ Kesimpulan

ERD OBE: Fondasi yang Menentukan Kualitas Sistem

Merancang Entity Relationship Diagram OBE adalah investasi waktu yang paling berharga sebelum kamu mulai nulis kode. Dari artikel ini, kamu sudah belajar:

  • Pengertian ERD dan perannya sebagai "denah" database OBE
  • Tiga jenis kardinalitas: 1:1, 1:N, dan N:M beserta cara implementasinya
  • Lima langkah merancang desain database OBE dari nol
  • Visualisasi ERD lengkap dengan 8 entitas inti sistem OBE
  • Contoh SQL nyata untuk mendefinisikan relasi dan junction table

Artikel selanjutnya kita akan lanjut ke tahap yang lebih konkret: menulis DDL SQL lengkap untuk semua tabel database OBE ini — siap pakai untuk SIAKAD kampusmu!

💬 Ada pertanyaan?
Tulis di kolom komentar!
🔗 Berguna?
Share ke teman kuliahmu!
#KurikulumOBE #KKNI #OBE #ERDDatabase #EntityRelationshipDiagram #DesainDatabaseOBE #KardinalitasDatabase #SIAKAD #OBEfromZerotoZorro
📚 Bagian dari Seri

Seri Kurikulum OBE: OBE from Zero to Zorro

Panduan lengkap 20 artikel membangun kurikulum OBE dari nol — mulai dari konsep dasar CPL hingga digitalisasi sistem dengan database dan SIAKAD.

📖 Lihat Daftar Isi Lengkap →

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