PERSIAPAN AWAL
Buat project laravel baru menggunakan command:
composer create-project laravel/laravel=^12 praktikum10 –prefer-dist

LANGKAH 1: MEMBUAT MIGRATION
MEMBUAT MIGRATION TABEL MAJORS
Gunakan command php artisan make:migration create_majors_table untuk create tabel majors

Isikan file dengan kode untuk membuat migrasi Laravel untuk tabel majors dengan kolom id, name, dan timestamps, serta menyediakan fungsi untuk menghapus tabel tersebut.

MIGRATION UNTUK TABEL STUDENTS
php artisan make:migration create_students_table untuk membuat file migrasi student table.
Isikan file dengan kode untuk membuat table students dengan kolom id, nim, nama, address, relasi ke tabel majors melalui major_id dengan cascade delete, serta kolom timestamps

MIGRATION UNTUK TABLE SUBJECTS
php artisan make:migration create_subjects_table untuk membuat file migrasi untuk table subject
Isikan file dengan kode untuk membuat tabel subjects dengan kolom id, name, sks, dan timestamps, serta menyediakan fungsi untuk menghapus tabel tersebut.

MIGRATION UNTUK TABEL PIVOT STUDENT_SUBJECT
php artisan make:migration create_student_subject_table untuk membuat file migrasi untuk table student_subject_table
Isikan dengan kode untuk membuat tabel pivot student_subject yang menghubungkan tabel students dan subjects melalui relasi many-to-many, dengan foreign key, cascade delete, dan kombinasi student_id dan subject_id untuk mencegah duplikasi.

JALANKAN PERINTAH MIGRATE
Jalankan perintah php artisan migrate agar tabel majors, students, subjects, dan student_subject dibuat di database secara otomatis.

LANGKAH 2: MEMBUAT MODEL DENGAN RELATIONSHIP
MODEL MAJOR
php artisan make:model Major untuk membuat sebuah model Eloquent bernama Major.

MODEL STUDENT
php artisan make:model Student untuk membuat sebuah model Eloquent bernama Student.

MODEL SUBJECT
php artisan make:model Subject untuk membuat sebuah model Eloquent bernama Subject.

LANGKAH 3: SEEDER UNTUK DATA SAMPLE
SEEDER UNTUK MAJOR
php artisan make:seeder MajorSeeder digunakan untuk membuat file seeder bernama MajorSeeder yang digunakan untuk mengisi data ke tabel majors. Isikan file dengan:

SEEDER UNTUK SUBJECT
php artisan make:seeder SubjectSeeder digunakan untuk membuat file seeder bernama SubjectSeeder yang digunakan untuk mengisi data ke tabel subject. Isikan file dengan:

SEEDER UNTUKSTUDENT
php artisan make:seeder StudentSeeder digunakan untuk membuat file seeder bernama StudentSeeder yang digunakan untuk mengisi data ke tabel student. Isikan file dengan:

UPDATE DATABASESEEDER

Jalankan seeder dengan menggunakan perintah php artisan db:seed
LANGKAH 4: MEMBUAT CONTROLLER
StudentController
php artisan make:controller StudentController untuk membuat file controller bernama StudentController, yang akan disimpan app/Http/Controllers/StudentController.php



LANGKAH 5: MEMBUAT ROUTES
Buka file web.php di folder routes dan isikan dengan kode untuk mengatur agar halaman awal website langsung menampilkan daftar mahasiswa yaitu student.index, dan semua fitur CRUD mahasiswa diatur melalui StudentController.
LANGKAH 6: MEMBUAT VIEWS
Layout utama
Buat folder layouts di dalam folder views, dan tambahkan file app.blade.php dan isi dengan kode:

Index Students
Buat folder students di dalam folder views, dan tambahkan file index.blade.php dan isi dengan kode:


Create Student
Buat file create.blade.php di folder students, dan isikan dengan kode:


DETAIL MAHASISWA
Buat file show.blade.php untuk memberikan fungsi pada tombol detail.

TAMPILAN WEBSITE:


