Lompat ke konten

Pertemuan 6: ERD Lanjutan ​

Fase 2 · Merancang Model Data±100 menitSumber: slide 57-66

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:

RelationshipSiapaApaForeign key yang dibutuhkan
MembeliSiapa yang membeliBarang apa yang dibeliEmail pembeli FK, SKU barang FK
MenjualSiapa yang menjualBarang apa yang dijualEmail penjual FK, SKU barang FK

4. Langkah 3: menentukan derajat relasi ​

Gunakan metode dua pertanyaan dari Pertemuan 5.

Membeli (Pembeli dan Barang)

  1. Satu pembeli bisa membeli berapa barang? Banyak.
  2. Satu barang bisa dibeli berapa pembeli? Banyak.

Kesimpulan: many to many.

Menjual (Penjual dan Barang)

  1. Satu penjual bisa menjual berapa barang? Banyak.
  2. 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 diMasalahnya
PembeliJumlah milik barang yang mana? Pembeli membeli banyak barang
BarangJumlah milik pembeli yang mana? Barang dibeli banyak pembeli
Relationship MembeliTepat: 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 FKsku_barang FKjumlah
budi@mail.comBRG0011
budi@mail.comBRG0023
sari@mail.comBRG0012

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:

  1. foreign key yang dibutuhkan,
  2. derajat relasi,
  3. 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.
IstilahArti
Foreign keyPrimary key milik entity lain yang dipakai menunjuk ke entity itu
Derajat relasiKardinalitas sebuah relationship
Atribut deskriptifAtribut 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.

Ruang Belajar · Materi kuliah dan pelatihan teknologi