A.Pendahuluan
Dalam pengembangan aplikasi berbasis database, hubungan antar entitas atau tabel menjadi aspek penting yang harus dirancang dengan baik. Relasi antar tabel tidak hanya mencerminkan struktur data yang logis, tetapi juga memungkinkan sistem untuk melakukan pengolahan data yang efisien dan terorganisir. Salah satu pendekatan yang banyak digunakan dalam framework PHP Laravel adalah Eloquent ORM (Object-Relational Mapping) yang menyediakan cara deklaratif dan intuitif dalam mendefinisikan relasi antar model.
Salah satu contoh skema relasi yang umum ditemukan dalam sistem akademik adalah antara mahasiswa (Student), jurusan (Major), dan mata kuliah (Subject). Dalam konteks ini, terdapat beberapa bentuk relasi yang dapat diimplementasikan menggunakan fitur bawaan Laravel:
- Relasi Many-to-One (Student belongs to Major)
Setiap mahasiswa hanya berasal dari satu jurusan, sehingga relasi ini bersifat many-to-one. Di Laravel, hal ini direpresentasikan dengan methodbelongsTo()pada modelStudentyang mengarah ke modelMajor. - Relasi One-to-Many (Major has many Student)
Sebaliknya, satu jurusan dapat memiliki banyak mahasiswa. Relasi ini didefinisikan di modelMajormenggunakan methodhasMany()yang mengarah ke modelStudent. - Relasi Many-to-Many (Student belongs to many Subject)
Mahasiswa dapat mengambil banyak mata kuliah, dan satu mata kuliah dapat diikuti oleh banyak mahasiswa. Relasi ini bersifat many-to-many dan membutuhkan sebuah pivot table (tabel perantara), misalnyastudent_subject, yang menyimpan relasi antara mahasiswa dan mata kuliah. Dalam Laravel, ini diatur menggunakan methodbelongsToMany()pada modelStudentdanSubject. - Relasi Many-to-Many (Subject belongs to many Student)
Sebagai pasangan dari relasi sebelumnya, modelSubjectjuga memiliki relasi many-to-many dengan modelStudent, menggunakan pivot table yang sama.
Penerapan relasi-relasi ini dalam Laravel mempermudah proses pengolahan data seperti menampilkan daftar mahasiswa per jurusan, melihat mata kuliah yang diambil oleh mahasiswa, atau menampilkan semua mahasiswa yang mengikuti suatu mata kuliah. Dengan struktur relasi yang tepat, aplikasi menjadi lebih modular, mudah dirawat, dan sesuai dengan prinsip normalisasi database.
B.Langkah Pengerjaan
1.Bikin file baru dimigration dengan nama majors, student, subject, dan student_subject dengan menjalankan perintah php artisan make:migration creat_”nama”_table

2. Setelah itu pada file majors table masukkan kode berikut

3. Pada file table student, masukkan kode berikut

4. Pada file table subject, masukkan kode berikut

5. Pada file table student_subject, masukkan kode berikut

6. Untuk melihat apakah table tadi sudah terbuat jalankan perintah php artisan migrate

7. Selanjutnya membuat model majors, student, dan subject dengan menjalankan perintah berikut ini

8.Pada file model majors, masukkan kode berikut

9. Pada file model student, masukkan kode berikut

10. Pada file model subject, masukkan kode berikut

11.Selanjutnya membuat seeder majorseeder, studentseeder, dan subjectseeder dengan menjalankan perintah berikut ini

12.Pada file model majorseeder, masukkan kode berikut

13. Pada file model studentseeder, masukkan kode berikut

14.Pada file model subjectseeder, masukkan kode berikut

15. Kemudian lakukan update pada DatabaseSeeder dengan kode berikut ini

16. Kemudian jalankan perintah php artisan db:seed untuk melihat nama database yang udah dibuat sebelumnya

17. Kemudian untuk melihat tampilannya gunakan app.blade.php pada folder layouts dan masukkan kode berikut ini

18.Dan buat tampilan index.blade.php dan masukkan kode berikut

Leave a Reply