BLOG | eabil-PLC

Profile

Bil'ticle

Artikel 2: Relasi Many-to-Many - Perwira Learning Center

By nabil alifah rahman • Maret 10, 2026


A. Latar Belakang

Dalam dunia pengembangan perangkat lunak, kompleksitas hubungan antar entitas data seringkali melampaui kemampuan relasi sederhana seperti One-to-Many. Bayangkan sebuah platform e-learning: satu mahasiswa dapat mengikuti banyak kursus, dan satu kursus dapat diikuti oleh banyak mahasiswa. Atau dalam konteks toko online: satu produk bisa memiliki banyak tag (label), dan satu tag bisa diterapkan pada banyak produk.

Hubungan dua arah yang kompleks seperti ini memerlukan jenis relasi yang berbeda, yaitu Many-to-Many. Relasi ini tidak dapat diimplementasikan langsung dengan hanya dua tabel, melainkan membutuhkan tabel penghubung (pivot table / junction table) yang menjembatani kedua entitas.

Laravel Eloquent menyediakan dukungan penuh untuk relasi Many-to-Many melalui method belongsToMany(), lengkap dengan kemampuan untuk menyimpan data tambahan pada pivot table, sinkronisasi data yang efisien, dan berbagai fitur canggih lainnya.

B. Pengertian Relasi Many-to-Many

Relasi Many-to-Many (M:N) adalah jenis relasi database di mana satu atau lebih record pada tabel A dapat berelasi dengan satu atau lebih record pada tabel B, dan sebaliknya.

C. Konsep dan Pembahasan

1. Pivot Table (Tabel Penghubung)

Pivot table adalah tabel khusus yang berfungsi sebagai penghubung antara dua tabel dalam relasi Many-to-Many. Tabel ini minimal menyimpan foreign key dari kedua tabel yang dihubungkan, tetapi juga bisa menyimpan data tambahan (extra columns).

Konvensi penamaan Laravel untuk pivot table adalah nama kedua tabel dalam bentuk singular, diurutkan secara alfabetis, dipisahkan dengan underscore. Contoh: product_tag untuk menghubungkan products dan tags.

2. Struktur Tabel

 

 Tabel 1. Struktur Tabel tags

 

 

Tabel 2. Struktur Pivot Table product_tag 

 

D. Alat dan Bahan

 Alat
PHP 8.1+Bahasa pemrograman utama
Laravel 10.xFramework PHP
MySQL 8.0+Database relasional
Composer 2.xDependency manager
Laravel Tinker

REPL untuk testing relasi secara interaktif 

 

E. Praktik Implementasi

1. Membuat Migration Tags dan Pivot Table 

 
2. Migration Tabel Tags
 


3. Migration Pivot Table

 
 

4. Model dengan Relasi belongsToMany

 
 
 

5. Operasi CRUD pada Relasi Many-to-Many

 

 

6. Membaca Data Relasi

 


F. Kesimpulan

Relasi Many-to-Many adalah komponen vital dalam pemodelan data kompleks. Dengan menggunakan pivot table dan method belongsToMany() di Laravel, developer dapat dengan mudah mengelola hubungan dua arah antar entitas.

Fitur tambahan seperti pivot columns, sync, attach, dan detach memberikan fleksibilitas tinggi dalam memanipulasi data relasional. Pemahaman mendalam tentang relasi ini membuka pintu untuk membangun fitur-fitur canggih seperti sistem tagging, manajemen peran pengguna, dan sistem kurasi konten.

G. Daftar Pustaka

  1. Laravel Documentation. (2024). Eloquent: Relationships - Many to Many. https://laravel.com/docs/10.x/eloquent-relationships#many-to-many
  2. Silberschatz, A., Korth, H., & Sudarshan, S. (2020). Database System Concepts. McGraw-Hill.
  3. Ramakrishnan, R., & Gehrke, J. (2002). Database Management Systems. McGraw-Hill.
  4. Otwell, T. (2023). Laravel: Up & Running. O'Reilly Media.
  5. Welling, L., & Thomson, L. (2017). PHP and MySQL Web Development. Addison-Wesley Professional.