Tampilan
Pertemuan 10: Implementasi Model Lainnya dan Tools ERD
Tujuan pembelajaran
Setelah pertemuan ini, Anda mampu:
- mengimplementasikan lima pola khusus menjadi tabel;
- mengenal gaya penggambaran ERD lain;
- membuat ERD dengan draw.io atau PlantUML.
Peta materi
1. Implementasi lima pola khusus
Catatan
Bentuk di bawah adalah cara implementasi yang umum. Jika Anda memakai diagram implementasi pada slide 90-94 materi asli, samakan nama kolom dan tabelnya dengan diagram tersebut.
Weak entity
Weak entity menjadi tabel sendiri, dengan foreign key ke entity utamanya.
| Tabel | Kolom |
|---|---|
dompet | email_pembeli PK FK, saldo |
alamat | id_alamat PK, email_pembeli FK, jalan, kota, kode_pos |
Pada dompet, foreign key sekaligus menjadi primary key karena satu pembeli hanya punya satu dompet. Pada alamat, satu pembeli boleh punya banyak alamat, sehingga butuh key sendiri.
Sub entity
Satu tabel untuk atribut umum, lalu satu tabel untuk setiap sub entity. Key tabel turunan sama dengan key tabel utama.
| Tabel | Kolom |
|---|---|
barang | sku PK, nama, harga, berat |
barang_laptop | sku PK FK, ram, prosesor |
barang_pakaian | sku PK FK, ukuran, warna |
Unary relationship
Tambahkan foreign key yang menunjuk ke tabel itu sendiri.
| email PK | nama | email_perekomendasi FK |
|---|---|---|
| budi@mail.com | Budi | kosong |
| sari@mail.com | Sari | budi@mail.com |
| joko@mail.com | Joko | budi@mail.com |
Kolom email_perekomendasi boleh kosong karena tidak semua pembeli mendaftar lewat referal.
Multi entity relationship
Satu tabel relasi dengan foreign key dari semua entity yang terlibat.
| Tabel | Kolom |
|---|---|
membeli | email_pembeli FK, sku_barang FK, kode_bank FK, jumlah |
Redundant relationship
Setiap relasi mendapat tabel relasi sendiri, karena maknanya berbeda.
| Tabel | Kolom |
|---|---|
membeli | email_pembeli FK, sku_barang FK, jumlah |
menyukai | email_pembeli FK, sku_barang FK |
2. Notasi ERD lain
Saat model kecil, ERD dengan bentuk persegi, oval, dan belah ketupat mudah dibuat. Saat model sudah besar dan kompleks, gambar cepat menjadi berantakan.
Alternatifnya adalah menggambar entity seperti tabel: satu kotak berisi nama entity dan daftar atributnya, dengan garis penghubung untuk relasi. Diagram ERD di seluruh materi ini memakai gaya tersebut.
Prinsipnya tetap sama
Notasi boleh berbeda, asalkan gambarnya mudah dimengerti.
3. Tools membuat ERD
| Tools | Cara kerja | Cocok untuk |
|---|---|---|
| draw.io | Menggambar secara visual dengan drag and drop | Diagram yang ingin ditata manual |
| PlantUML | Menulis kode teks, diagram dibuat otomatis | Diagram yang sering berubah dan perlu disimpan bersama kode |
Contoh PlantUML
Salin kode berikut ke editor PlantUML online untuk melihat hasilnya.
text
@startuml
entity "Pembeli" as pembeli {
*email : text <<PK>>
--
nama : text
}
entity "Barang" as barang {
*sku : text <<PK>>
--
nama : text
harga : number
}
entity "Membeli" as membeli {
*email_pembeli : text <<FK>>
*sku_barang : text <<FK>>
--
jumlah : number
}
pembeli ||--o{ membeli
barang ||--o{ membeli
@endumlAlur kerja yang disarankan
- Gambar draf di kertas.
- Pindahkan ke draw.io (untuk visual cepat) atau tulis di PlantUML (untuk versi yang rapi dan bisa direvisi).
- Minta teman membaca. Jika ia salah mengerti, perbaiki gambarnya.
Latihan
- Praktik: buka draw.io atau PlantUML, lalu gambar ulang ERD Toko Online lengkap dengan relasi Membeli dan Menjual.
- Implementasikan kasus "karyawan dan atasan" dari Pertemuan 9 menjadi tabel.
- Tugas kelompok: gambar ERD dengan gaya "entity seperti tabel" untuk kasus Rental Mobil.
Contoh jawaban nomor 2
Tabel karyawan (id_karyawan PK, nama, jabatan, id_atasan FK menunjuk ke karyawan.id_karyawan). Direktur memiliki id_atasan kosong.
Kuis cepat
1. Unary relationship pada tabel pembeli (referal) diimplementasikan dengan...
2. Redundant relationship antara Pembeli dan Barang diimplementasikan dengan...
3. Keunggulan utama PlantUML dibanding draw.io adalah...
4. Prinsip utama saat menggambar ERD adalah...
Terjawab 0 dari 4 soal
Rangkuman
Yang harus diingat
- Weak entity dan sub entity menjadi tabel tambahan dengan foreign key.
- Unary menjadi foreign key ke tabel sendiri.
- Multi entity menjadi tabel relasi dengan banyak foreign key.
- Redundant menjadi beberapa tabel relasi.
- Tools: draw.io (visual) dan PlantUML (kode teks).
Tugas mandiri
Kembangkan ERD Toko Online Anda hingga memuat minimal satu pola khusus (misalnya sub entity Barang). Gambar dengan tools pilihan Anda dan kumpulkan dalam bentuk gambar atau kode PlantUML.
Progres tersimpan di browser Anda dan tampil di halaman beranda.