‹ Daftar slidePertemuan 6: Konversi ER ke model relasional
Program Studi Bisnis Digital • FEB UNDIP
Sistem Database
Pertemuan 6 — Konversi ER ke Model Relasional
Mengubah diagram Entity-Relationship yang sudah Anda rancang menjadi rangkaian tabel siap-implementasi, lengkap dengan primary key dan foreign key.
RPS MINGGU 6 • 2×50 MENIT
Tujuan Pembelajaran Hari Ini
Setelah pertemuan ini, Anda diharapkan mampu:
CAPAIAN 1 — ATURAN DASAR
KONVERSI ENTITAS & ATRIBUT
Menerapkan aturan baku mengubah entitas kuat, entitas lemah, dan berbagai jenis atribut menjadi tabel dan kolom.
CAPAIAN 2 — RELASI
KONVERSI KARDINALITAS
Menentukan penempatan foreign key yang benar untuk relasi 1:1, 1:N, dan M:N, termasuk kapan wajib membuat tabel baru.
Skema relasional hasil konversi hari ini akan menjadi bahan baku normalisasi di Pertemuan 7 — jangan sampai ada langkah yang terlewat.
Kilas Balik: Dari Kebutuhan Bisnis ke Diagram ER
Sejak Pertemuan 1–5, Anda sudah belajar memetakan kebutuhan bisnis menjadi diagram Entity-Relationship (ER). Tiga unsur yang wajib Anda ingat kembali:
ENTITAS
OBJEK YANG DICATAT
Contoh: MAHASISWA, MATA_KULIAH, PROGRAM_STUDI. Digambar sebagai persegi panjang.
ATRIBUT
CIRI-CIRI ENTITAS
Contoh: NIM, Nama, Tanggal Lahir. Digambar sebagai oval yang menempel pada entitas.
RELASI
HUBUNGAN ANTAR-ENTITAS
Contoh: MAHASISWA “mengambil” MATA_KULIAH. Punya kardinalitas (glosarium: rasio jumlah keterhubungan) 1:1, 1:N, atau M:N.
Bagian 1 dari 3
Aturan Dasar Konversi Entitas & Atribut
Bagaimana sebuah kotak entitas di kertas gambar berubah menjadi tabel sungguhan di database?
EntitasAtributPrimary Key
Mengapa ER Harus Dikonversi ke Skema Relasional?
Diagram ER adalah model konseptual — bahasa untuk berdiskusi dengan pengguna bisnis. DBMS (glosarium: Database Management System, perangkat lunak pengelola basis data) tidak bisa membaca oval dan garis; ia hanya mengenal tabel, kolom, dan kunci.
Tanpa konversi yang benar, sistem seperti aplikasi kasir UMKM atau marketplace tidak dapat menyimpan data sama sekali — sebagus apa pun rancangan ER-nya di atas kertas.
Aturan 1 — Setiap Entitas Kuat Menjadi Tabel
Entitas kuat (glosarium: entitas yang dapat berdiri sendiri, punya primary key sendiri) diterjemahkan langsung menjadi satu tabel.
DI DIAGRAM ER
MAHASISWA
Atribut: NIM, Nama, Tanggal_Lahir
JADI TABEL RELASIONAL
NIM (PK)
Nama
Tanggal_Lahir
2024001
Rani Kusuma
2005-03-11
Nama tabel = nama entitas. Tiap atribut sederhana = satu kolom. Baris = satu instance data (satu mahasiswa).
Aturan 2 — Atribut Menjadi Kolom (dan Pengecualiannya)
Tidak semua jenis atribut diperlakukan sama. Empat jenis atribut butuh empat perlakuan berbeda:
Jenis Atribut
Contoh di ER
Perlakuan di Tabel
Sederhana (simple)
NIM, Nama
Jadi satu kolom biasa
Komposit (composite)
Alamat (Jalan, Kota, Kode_Pos)
Dipecah jadi beberapa kolom terpisah
Multivalued (bernilai banyak)
No_Telepon (bisa lebih dari satu)
Wajib tabel baru terpisah + FK
Turunan (derived)
Umur (dihitung dari Tanggal_Lahir)
Tidak disimpan — dihitung saat query
Kesalahan paling umum: mahasiswa memaksakan atribut multivalued jadi satu kolom (mis. “08123,08456”) — ini melanggar prinsip relasional dan akan dibongkar ulang saat normalisasi.
Aturan 3 — Memilih Primary Key yang Tepat
Primary key (glosarium: kolom/kombinasi kolom yang nilainya unik untuk tiap baris, dan wajib terisi) adalah identitas baris. Tiga kriteria pemilihan:
UNIK
TIDAK BOLEH GANDA
NIM setiap mahasiswa berbeda — tidak ada dua mahasiswa dengan NIM sama.
STABIL
JARANG BERUBAH
Hindari Nama sebagai PK — nama bisa berubah/ganda, NIM tidak.
TIDAK KOSONG
SELALU TERISI
Setiap baris wajib punya nilai PK — tidak boleh NULL.
Jika entitas tidak punya kandidat kolom yang ideal, buat kolom baru khusus, misalnya ID_Produk auto-increment — pola yang dipakai marketplace seperti Shopee untuk jutaan produknya.
Aturan 4 — Entitas Lemah Butuh Kunci Tambahan
Entitas lemah (glosarium: entitas yang tidak punya identitas mandiri, keberadaannya bergantung pada entitas lain) tetap jadi tabel, tapi primary key-nya adalah gabungan.
Primary key entitas lemah = partial key miliknya sendiri + foreign key dari entitas pemilik. Ini disebut composite key (kunci gabungan).
Bagian 2 dari 3
Konversi Relasi & Kardinalitas
Bagian paling sering salah: di mana sebenarnya foreign key harus diletakkan?
1:11:NM:N
Relasi 1:1 — Ke Mana Foreign Key Diletakkan?
Kasus: satu KARYAWAN mengepalai satu DEPARTEMEN, satu departemen dikepalai satu karyawan.
Aturan praktis: letakkan FK di sisi yang partisipasinya wajib (total) — setiap departemen pasti punya kepala, tapi tidak semua karyawan jadi kepala.
Relasi 1:N — Aturan “Banyak Menyimpan Kunci Asing”
Kasus: satu PROGRAM_STUDI memiliki banyak MAHASISWA, satu mahasiswa hanya terdaftar di satu prodi.
Aturan baku (selalu berlaku, tanpa pengecualian): foreign key SELALU diletakkan pada tabel di sisi “N” (banyak), merujuk ke primary key tabel sisi “1”.
Relasi M:N — Wajib Tabel Baru (Tabel Junction)
Kasus: satu MAHASISWA mengambil banyak MATA_KULIAH, satu mata kuliah diambil banyak mahasiswa. FK tidak bisa diletakkan di salah satu sisi saja.
Aturan baku: relasi M:N SELALU dipecah menjadi tabel baru (tabel junction/persimpangan) yang PK-nya adalah gabungan FK dari kedua entitas.
Atribut Pada Relasi Ikut Pindah ke Tabel Junction
Kalau relasi M:N punya atribut sendiri (mis. relasi “mengambil” punya atribut Nilai dan Semester), atribut itu otomatis menjadi kolom di tabel junction — bukan di entitas manapun.
TABEL MENGAMBIL (HASIL AKHIR)
NIM (PK, FK)
Kode_MK (PK, FK)
Nilai
Semester
2024001
SDB101
A
Genap 2026
2024002
SDB101
B+
Genap 2026
Alasannya logis: Nilai bukan milik MAHASISWA saja (nilai berbeda tiap mata kuliah), dan bukan milik MATA_KULIAH saja (nilai berbeda tiap mahasiswa) — nilai hanya bermakna pada pasangan keduanya.
Coba Sendiri: Di Mana Foreign Key Harus Diletakkan?
Pilih jenis kardinalitas (1:1, 1:N, atau M:N) dan lihat langsung simulasi ke tabel mana foreign key seharusnya diletakkan.
Studi Kasus dari Nol #1: Konversi Relasi 1:N Lengkap
*Kode_Prodi = foreign key ke PROGRAM_STUDI(Kode_Prodi)
Studi Kasus dari Nol #2: Konversi Relasi M:N Lengkap
Kasus: MAHASISWA (M) — mengambil — MATA_KULIAH (N), dengan atribut relasi Nilai. Ikuti langkah demi langkah:
Langkah
Aksi
Hasil
1. Identifikasi entitas kuat
2 entitas → 2 tabel awal
MAHASISWA, MATA_KULIAH
2. Cek kardinalitas relasi
Apakah kedua sisi bisa “banyak”?
Ya → M:N
3. Buat tabel junction baru
Nama tabel = nama relasi
Tabel MENGAMBIL
4. Gabungkan FK jadi PK
PK kedua entitas asal → FK gabungan
PK = (NIM, Kode_MK)
5. Pindahkan atribut relasi
Atribut milik pasangan, bukan entitas tunggal
+ kolom Nilai, Semester
HASIL AKHIR
MENGAMBIL(NIM*, Kode_MK*, Nilai, Semester)
PK gabungan (NIM, Kode_MK); *keduanya juga FK
Bagian 3 dari 3
Studi Kasus Utuh & Latihan
Menggabungkan semua aturan dalam satu contoh nyata, lalu giliran Anda mencoba sendiri.
Toko OnlineChecklistLatihan
Studi Kasus Utuh: ER Toko Online → Skema Relasional
Entitas: PELANGGAN, PESANAN (lemah terhadap PELANGGAN), PRODUK. Relasi: PELANGGAN(1)–PESANAN(N); PESANAN(M)–berisi–PRODUK(N).
4 aturan terpakai sekaligus di sini: entitas kuat → tabel, entitas lemah → PK gabungan, relasi M:N → tabel junction (DETAIL_PESANAN), atribut relasi (Qty, Subtotal) → ikut ke junction.
Checklist Verifikasi & Kesalahan Umum Mahasiswa
CHECKLIST SEBELUM LANJUT KE NORMALISASI
Setiap entitas kuat → satu tabel dengan PK unik
Setiap entitas lemah → PK gabungan (partial key + FK induk)
Relasi M:N → sudah jadi tabel junction terpisah
Atribut multivalued sudah dipindah ke tabel sendiri
Semua FK sudah merujuk PK yang benar
KESALAHAN UMUM YANG WAJIB DIHINDARI
Meletakkan FK di sisi “1” pada relasi 1:N (harusnya di sisi “N”)
Memaksakan relasi M:N tanpa tabel junction
Menyimpan atribut turunan sebagai kolom (mis. Umur)
Menggabungkan nilai multivalued dalam satu sel (mis. “08123,08456”)
Latihan Kelas: Konversi ER Perpustakaan
Kerjakan berpasangan (10 menit). Diagram ER: ANGGOTA (1)–meminjam–BUKU (N, lewat tabel junction dengan atribut Tgl_Pinjam & Tgl_Kembali). BUKU punya atribut multivalued Kategori.
TUGAS ANDA
Tentukan tabel & primary key tiap entitas
Tentukan penempatan FK relasi ANGGOTA–BUKU
Buat tabel junction beserta atributnya
Tangani atribut multivalued Kategori dengan benar
RINGKASAN SESI HARI INI
Anda telah menguasai 4 aturan konversi entitas/atribut dan 3 pola penempatan FK sesuai kardinalitas (1:1, 1:N, M:N). Skema relasional inilah yang akan kita normalisasi hingga 3NF/BCNF pada Pertemuan 7 untuk menghilangkan anomali data.