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.