Laporan Praktikum

15 Juni 2025 ~ Oleh Kevin Andhika

Laravel Relationship Student, Major, dan Subject

1. Tujuan

Untuk menambah pemahaman pengguna mengenai konsep relationship dalam Laravel, praktikum ini bertujuan agar pengguna dapat mengimplementasikan relasi One-to-Many dan Many-to-Many antar tabel secara tepat. Pengguna juga dilatih untuk membuat migration yang melibatkan foreign key, serta memanfaatkan Eloquent relationship dalam melakukan query data antar tabel. Selain itu, pengguna diarahkan untuk menampilkan data yang saling berelasi secara dinamis di dalam view menggunakan Blade templating engine, sehingga dapat membangun aplikasi yang lebih terstruktur dan efisien.


2. Langkah-langkah

A. Instalasi Laravel

  • Buka aplikasi cmder lalu buka folder dimana file baru ingin dibuat C:\xampp\htdocs\Laravel setelah itu ketikkan perintah composer create-project laravel/laravel=^12.0 laravel-major --prefer-dist dimana Laravel Major adalah nama file yang akan dibuat
  • Instalasi Laravel
  • Masuk ke dalam folder yang dibuat tadi, lalu ketikkan php artisan serve
  • Code PHP Artisan Serve
  • Berikut hasil ketika link artisan serve di klik
  • Artisan Serve Link

B. Migration Table

  • 1. Migration Tabel Majors

    • Kemudian buka aplikasi Visual Studio Code dan buka file laravel-major yang dibuat sebelumnya
    • Pada bagian terminal VS Code ketikkan perintah php artisan make:migration create_majors_table untuk membuat sebuah database migration tentang majors
    • Migration Majors Code
    • Lengkapi hasil migration menjadi seperti program berikut
    • Majors

  • 2. Migration Tabel Students

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:migration create_students_table untuk membuat sebuah database migration tentang students
    • Migration Students Code
    • Lengkapi hasil migration menjadi seperti program berikut
    • Students

  • 3. Migration Tabel Subjects

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:migration create_subjects_table untuk membuat sebuah database migration tentang subjects
    • Migration Subject Code
    • Lengkapi hasil migration menjadi seperti program berikut
    • Subjects

  • 4. Migration Pivot Student & Subject

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:migration create_student_subject_table untuk membuat sebuah database migration penghubung antara students dan subject
    • Migration Pivot Code
    • Lengkapi hasil migration menjadi seperti program berikut
    • Student & Subjects
    • Setelah semua langkah diatas selesai, jalankan semua migration dengan mengetikkan perintah php artisan migrate di terminal
    • PHP Artisan


C. Relationship Model

  • 1. Relationship Model Major

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:model Major untuk membuat sebuah model relationship model major
    • Model Major Code
    • Lengkapi hasil model menjadi seperti program berikut
    • Major

  • 2. Relationship Model Student

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:model Student untuk membuat sebuah model relationship model student
    • Model Student Code
    • Lengkapi hasil model menjadi seperti program berikut
    • Student

  • 3. Relationship Model Subject

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:model Subject untuk membuat sebuah model relationship model subject
    • Model Subject Code
    • Lengkapi hasil model menjadi seperti program berikut
    • Subjects


D. Seeder

  • 1. Seeder Major

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:seeder MajorSeeder untuk membuat sebuah seeder data sample dari major
    • Seeder Major Code
    • Lengkapi hasil seeder menjadi seperti program berikut
    • MajorSeeder

  • 2. Seeder Subject

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:seeder SubjectSeeder untuk membuat sebuah seeder data sample dari subject
    • Seeder Subject Code
    • Lengkapi hasil seeder menjadi seperti program berikut
    • SubjectSeeder

  • 3. Seeder Student

    • Pada bagian terminal VS Code ketikkan perintah php artisan make:seeder StudentSeeder untuk membuat sebuah seeder data sample dari student
    • Seeder Student Code
    • Lengkapi hasil seeder menjadi seperti program berikut
    • StudentSeeder

  • 4. Update DatabaseSeeder

    • Perbaiki kode yang ada di file DatabaseSeeder menjadi seperti program berikut
    • DatabaseSeeder
    • Setelah semua langkah diatas selesai, ketikkan perintah php artisan db:seed pada terminal untuk menjalankan semua seeder yang sudah dibuat sebelumnya
    • PHP Artisan


E. Controller Student

  • Pada bagian terminal VS Code ketikkan perintah php artisan make:controller StudentController untuk membuat sebuah controller dari data student
  • Controller Student Code
  • Lengkapi hasil controller menjadi seperti program berikut
  • StudentController

F. Routes

  • Kemudian buka folder routes, pada file web.php tuliskan kode seperti berikut
  • Route

G. Views

  • 1. Main Layout

    • Buat sebuah file pada destinasi resources/views/layouts/ dengan nama filenya app.blade.php
    • Layout File
    • Buka file views tersebut lalu buatkan kode menjadi seperti berikut
    • Layout

  • 2. Index Student

    • Buat sebuah file pada destinasi resources/views/students/ dengan nama filenya index.blade.php
    • Index File
    • Buka file views tersebut lalu buatkan kode menjadi seperti berikut
    • Index

  • 3. Create Student

    • Buat file dengan nama file create.blade.php
    • Buka file views tersebut lalu buatkan kode menjadi seperti berikut
    • Create


Hasil Project

  • Halaman Index Student
  • Result Index
  • Perintah Untuk Tombol Detail Student
  • Detail Button Code
  • Perintah Untuk Tombol Edit Student
  • Edit Button Code
  • Ubah juga sedikit perintah StudentController tepatnya pada fungsi show
  • Function Show
  • Halaman Detail Student
  • Result Detail
  • Halaman Edit Student
  • Result Edit

Kesimpulan

Melalui praktikum ini, mahasiswa mempelajari cara mengimplementasikan konsep relationship antar tabel dalam database menggunakan Laravel. Praktikum dimulai dari pembuatan migration dengan foreign key, lalu dilanjutkan dengan penerapan relasi One-to-Many dan Many-to-Many menggunakan fitur Eloquent ORM. Mahasiswa juga memahami bagaimana melakukan query antar relasi secara efisien dan terstruktur dengan memanfaatkan kemampuan yang disediakan oleh Laravel.

Selain itu, mahasiswa dilatih untuk menampilkan data relasional tersebut ke dalam view menggunakan Blade templating engine, sehingga mampu membangun keterkaitan logis antara struktur database dan antarmuka pengguna. Praktikum ini secara keseluruhan bertujuan meningkatkan pemahaman konseptual dan kemampuan teknis mahasiswa dalam membangun aplikasi web Laravel yang dinamis, terhubung, dan mudah dikembangkan.