Praktikum Web 10

Laravel Relationship Student, Major, dan Subject

Framework Laravel & Database Relationship

Praktikum ini membahas implementasi relationship pada Laravel menggunakan konsep One-to-Many dan Many-to-Many antara Student, Major, dan Subject.


Laporan Praktikum

Web 10 — Laravel Relationship

Implementasi relationship Student, Major, dan Subject menggunakan Laravel.

Laporan Praktikum Web 10

Persiapan Awal

1. Struktur Database dan Relationship

- Student belongs to Major (Many-to-One)

- Student belongs to many Subject through pivot table (Many-to-Many)

- Major has many Student (One-to-Many)

- Subject belongs to many Student through pivot table (Many-to-Many)

2. ERD (Entity Relationship Diagram)

Membuat Project Baru

Karena dataset yang akan digunakan berbeda, lakukan instalasi ulang pada Laravel.

Pada CMD atau Git gunakan code berikut: composer create-project laravel/laravel=^12.0 prak10 --prefer-dist

Langkah 1: Membuat Migration

A. Migration untuk tabel majors

Ketikkan perintah berikut: php artisan make:migration create_majors_table

B. Migration untuk tabel students

Ketikkan perintah berikut: php artisan make:migration create_students_table

C. Migration untuk tabel subjects

Ketikkan perintah berikut: php artisan make:migration create_subjects_table

D. Migration untuk tabel pivot student_subject

Ketikkan perintah berikut: php artisan make:migration create_student_subject_table

Jalankan migration dengan perintah: php artisan migrate

Langkah 2: Membuat Model dengan Relationship

A. Model Major

Ketikkan perintah berikut: php artisan make:model Major

B. Model Student

Ketikkan perintah berikut: php artisan make:model Student

C. Model Subject

Ketikkan perintah berikut: php artisan make:model Subject

Langkah 3: Seeder untuk Data Sample

A. Seeder untuk Major

Ketikkan perintah berikut: php artisan make:seeder MajorSeeder

B. Seeder untuk Subject

Ketikkan perintah berikut: php artisan make:seeder SubjectSeeder

C. Seeder untuk Student

D. Update DatabaseSeeder

Ketikkan perintah berikut: php artisan make:migration create_subjects_table

Jalankan Seeder menggunakan perintah: php artisan db:seed

Langkah 4: Membuat Controller

A. StudentController

Ketikkan perintah berikut: php artisan make:controller StudentController

Langkah 5: Membuat Routes

Langkah 6: Membuat Views

A. Layout utama

{{-- resources/views/layouts/app.blade.php --}}

B. Index Students

{{-- resources/views/students/index.blade.php --}}

C. Create Student

{{-- resources/views/students/create.blade.php --}}

Hasilnya :

Tugas

1. Perintah Untuk Tombol Detail Student

2. Perintah Untuk Tombol Edit Student

3. Ubah juga sedikit perintah StudentController tepatnya pada fungsi show

Halaman Detail Student

Halaman Edit Student

Kesimpulan

Dalam modul ini, saya telah mempelajari:

1. Cara membuat relationship One-to-Many dan Many-to-Many di Laravel

2. Implementasi foreign key dan pivot table

3. Penggunaan Eloquent relationship untuk query data

4. Best practices dalam menggunakan eager loading

5. Cara menampilkan data relationship di view

Relationship adalah konsep fundamental dalam pengembangan aplikasi web dengan database. Pemahaman yang baik tentang relationship akan membantu dalam membangun aplikasi yang efisien dan mudah di-maintain.