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 kita gunakan 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

Ketikkan perintah berikut 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

Ketikkan perintah berikut: 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.