Buat ERD yang melibatkan intersection dengan 5 kasus. Jelaskan solusi yang digunakan.

 

Kasus 1: Mahasiswa dan Mata Kuliah

Seorang mahasiswa dapat mengambil banyak mata kuliah, dan setiap mata kuliah bisa diambil oleh banyak mahasiswa (many-to-many).

Solusi: Gunakan entitas Pengambilan Mata Kuliah sebagai intersection entity, yang menyimpan data tentang kapan mahasiswa mengambil mata kuliah tertentu, serta nilai yang didapatkan.


Kasus 2: Pelanggan dan Produk

Seorang pelanggan dapat membeli banyak produk, dan setiap produk dapat dibeli oleh banyak pelanggan (many-to-many).

Solusi: Gunakan entitas Pembelian sebagai intersection entity, yang mencatat transaksi pembelian yang melibatkan pelanggan dan produk.

Kasus 3: Karyawan dan Proyek

Karyawan dapat bekerja pada banyak proyek, dan setiap proyek dapat memiliki banyak karyawan yang terlibat (many-to-many).

Solusi: Gunakan entitas Penugasan Proyek sebagai intersection entity, yang mencatat kapan seorang karyawan bekerja di proyek tertentu serta peran mereka.


Kasus 4: Supplier dan Produk

Satu supplier dapat menyediakan banyak produk, dan satu produk bisa disuplai oleh banyak supplier (many-to-many).

Solusi: Gunakan entitas Penyediaan sebagai intersection entity, yang mencatat hubungan antara supplier dan produk serta informasi harga dan jumlah produk yang disuplai.


Kasus 5: Mahasiswa dan Kegiatan Ekstrakurikuler

Seorang mahasiswa dapat mengikuti banyak kegiatan ekstrakurikuler, dan setiap kegiatan ekstrakurikuler dapat diikuti oleh banyak mahasiswa (many-to-many).

Solusi: Gunakan entitas Keikutsertaan sebagai intersection entity, yang menyimpan data tentang kapan mahasiswa ikut kegiatan dan peran mereka dalam kegiatan tersebut.


Penjelasan Umum:

  • Intersection Entity (seperti Pengambilan Mata Kuliah, Pembelian, Penugasan Proyek, Penyediaan, dan Keikutsertaan) digunakan untuk menangani hubungan many-to-many antara dua entitas utama.
  • Intersection entity ini menyimpan data tambahan yang tidak hanya menghubungkan entitas utama, tetapi juga menyimpan informasi terkait hubungan tersebut, seperti tanggal, jumlah, atau peran.
  • Setiap intersection entity memiliki kunci asing (foreign key) yang menghubungkan dua entitas utama, serta atribut yang menyimpan informasi terkait hubungan tersebut.

Ini adalah solusi yang memungkinkan kita menangani hubungan many-to-many dalam basis data dengan cara yang lebih terstruktur dan efisien.

Komentar