Tampilan
Pertemuan 6: ERD Lanjutan
Tujuan pembelajaran
Setelah pertemuan ini, Anda mampu:
- menambahkan relationship pada ERD;
- menentukan foreign key;
- menentukan derajat relasi;
- menambahkan atribut deskriptif pada relationship.
Peta materi
1. Melanjutkan Toko Online
Di Pertemuan 4 kita sudah punya tiga entity beserta attribute-nya. Sekarang kita hubungkan.
2. Langkah 1: menentukan relationship
Sesuai ruang lingkup toko online, ada dua relationship:
- Pembeli membeli Barang
- Penjual menjual Barang
Menentukan relationship juga harus mengikuti ruang lingkup. Jika yang dibangun adalah sistem pengiriman, relationshipnya akan berbeda.
3. Langkah 2: menentukan foreign key
Pada entity, kita punya primary key (attribute key) yang mewakili entity itu sendiri. Pada relationship, kita biasanya butuh foreign key: primary key milik entity lain yang "dipinjam" untuk menunjuk ke entity tersebut.
Analogi nomor KTP
Nomor KTP adalah primary key di data kependudukan. Saat mengisi formulir bank, Anda menulis nomor KTP di sana. Pada formulir itu, nomor KTP berperan sebagai foreign key yang menunjuk ke data kependudukan. Bank tidak perlu menyalin nama dan alamat lengkap Anda, cukup nomornya.
Kebutuhan data pada tiap relationship:
| Relationship | Siapa | Apa | Foreign key yang dibutuhkan |
|---|---|---|---|
| Membeli | Siapa yang membeli | Barang apa yang dibeli | Email pembeli FK, SKU barang FK |
| Menjual | Siapa yang menjual | Barang apa yang dijual | Email penjual FK, SKU barang FK |
4. Langkah 3: menentukan derajat relasi
Gunakan metode dua pertanyaan dari Pertemuan 5.
Membeli (Pembeli dan Barang)
- Satu pembeli bisa membeli berapa barang? Banyak.
- Satu barang bisa dibeli berapa pembeli? Banyak.
Kesimpulan: many to many.
Menjual (Penjual dan Barang)
- Satu penjual bisa menjual berapa barang? Banyak.
- Satu barang dijual oleh berapa penjual? Satu (aturan toko kita).
Kesimpulan: one to many (atau many to one jika dibaca dari Barang).
5. Langkah 4: atribut deskriptif pada relationship
Bukan hanya entity yang boleh punya attribute. Relationship juga bisa.
Pada relasi Membeli kita tambahkan atribut Jumlah. Mengapa tidak diletakkan di Pembeli atau Barang?
| Diletakkan di | Masalahnya |
|---|---|
| Pembeli | Jumlah milik barang yang mana? Pembeli membeli banyak barang |
| Barang | Jumlah milik pembeli yang mana? Barang dibeli banyak pembeli |
| Relationship Membeli | Tepat: jumlah milik peristiwa "pembeli X membeli barang Y" |
Pada relasi Menjual tidak ada atribut deskriptif tambahan.
6. ERD hasil akhir
Diagram ini menampilkan relationship Membeli sebagai kotak tersendiri karena memiliki atribut. Bentuk ini akan langsung menjadi tabel di Pertemuan 7.
Contoh data relationship Membeli:
| email_pembeli FK | sku_barang FK | jumlah |
|---|---|---|
| budi@mail.com | BRG001 | 1 |
| budi@mail.com | BRG002 | 3 |
| sari@mail.com | BRG001 | 2 |
Perhatikan: Budi muncul dua kali (membeli dua barang) dan BRG001 muncul dua kali (dibeli dua orang). Itulah ciri many to many.
Latihan
Lanjutkan kasus Warung Kopi. Pelanggan memesan Menu, dan Karyawan melayani Pelanggan. Untuk setiap relationship tentukan:
- foreign key yang dibutuhkan,
- derajat relasi,
- atribut deskriptif (jika ada), misalnya jumlah dan waktu pesan.
Contoh jawaban
Memesan (Pelanggan dan Menu): FK no_hp pelanggan dan kode menu. Derajat many to many. Atribut deskriptif: jumlah, waktu pesan.
Melayani (Karyawan dan Pelanggan): FK id karyawan dan no_hp pelanggan. Derajat one to many jika satu pelanggan hanya dilayani satu karyawan per pesanan, tetapi satu karyawan melayani banyak pelanggan. Anda boleh memilih many to many jika aturannya memungkinkan, asalkan alasannya jelas.
Kuis cepat
1. Foreign key adalah...
2. Relasi Membeli antara Pembeli dan Barang pada kasus kita berderajat...
3. Atribut Jumlah pada relasi Membeli adalah contoh...
4. Relasi Menjual (Penjual ke Barang) pada kasus kita berderajat...
Terjawab 0 dari 4 soal
Rangkuman
Yang harus diingat
- Urutan melengkapi ERD: relationship, foreign key, derajat relasi, atribut tambahan.
- Foreign key = primary key tabel lain yang dipinjam sebagai penunjuk.
- Relationship boleh memiliki atribut deskriptif, seperti Jumlah pada Membeli.
| Istilah | Arti |
|---|---|
| Foreign key | Primary key milik entity lain yang dipakai menunjuk ke entity itu |
| Derajat relasi | Kardinalitas sebuah relationship |
| Atribut deskriptif | Atribut yang menjelaskan relationship itu sendiri |
Tugas mandiri
Tambahkan entity Kurir ke kasus Toko Online. Tentukan relationship-nya dengan Barang atau Pembeli, foreign key, derajat relasi, dan atribut deskriptif jika ada. Gambar ERD yang sudah diperbarui.
Progres tersimpan di browser Anda dan tampil di halaman beranda.