Kembali ke Portofolio
Pemrograman Web
Published on: 28 Mei 2026

Laporan Praktikum 7: MVC Laravel

Pendahuluan

Praktikum ini diselenggarakan untuk membekali mahasiswa dengan kompetensi fundamental dalam pengembangan aplikasi web dinamis berbasis kerangka kerja PHP, dengan fokus utama pada implementasi arsitektur Model-View-Controller (MVC) melalui framework Laravel. Melalui modul ini, mahasiswa diarahkan untuk memahami alur kerja Laravel yang terstruktur guna mengelola rute aplikasi, operasi basis data, dan antarmuka pengguna secara efisien. Secara spesifik, praktikum ini bertujuan agar mahasiswa mampu mengelola skema basis data melalui fitur Migration dan Seeding, mengonfigurasi Routing sebagai gerbang utama aplikasi, serta mengoptimalkan peran Controller sebagai mediator logika antara Model dan tampilan. Selain itu, penggunaan Blade Template Engine ditekankan untuk membangun antarmuka yang konsisten, sehingga pada akhirnya mahasiswa dapat mengimplementasikan fungsionalitas CRUD yang sistematis dan memenuhi standar pengembangan aplikasi modern.

Repository Github
Model-View-Controller (MVC): Pola arsitektur perangkat lunak yang memisahkan aplikasi menjadi tiga komponen utama: Model (data/logika database), View (antarmuka pengguna), dan Controller (logika bisnis/perantara).
Migration: Fitur di Laravel yang berfungsi sebagai version control untuk database. Migration memungkinkan pengembang membuat, mengubah, atau menghapus struktur tabel melalui kode program PHP tanpa perlu menyentuh DBMS secara manual.
Seeding & Seeder: Fitur untuk mengisi database dengan data awal atau data dummy secara otomatis, yang sangat berguna dalam fase pengujian aplikasi (testing).
Routing: Sistem perutean yang fleksibel memungkinkan Anda mendefinisikan URL aplikasi Anda dan mengaitkannya dengan controller atau closure functions. Laravel mendukung berbagai jenis rute dan middleware untuk mengontrol akses.
Eloquent ORM & Model: Representasi tabel database ke dalam objek PHP. Eloquent mempermudah manipulasi data (operasi CRUD) dengan sintaks pemrograman yang ekspresif.
Blade Template Engine: Mesin templating bawaan Laravel yang kuat dan aman. Blade menyediakan fitur layouting (@extends, @yield, @section) untuk membuat komponen antarmuka yang dapat digunakan berulang kali (reusable).

Langkah Kerja

1. Konfigurasi Lingkungan dan Database

Buka file .env pada direktori root proyek Laravel, kemudian sesuaikan parameter database sebagai berikut:

ss2-1
2. Membuat tabel product menggunakan Migration

File migration akan berada di folder database/migrations, untuk membuat file migration baru gunakan perintah php artisan make:migration create_products_table. Setelah file migration berhasil dibuat, buka file tersebut lalu tambahkan kode berikut pada method up() untuk membuat tabel products dengan field id, name, description, price, created_at dan updated_at.

ss2-2 ss2-3 ss2-4

Execute migration menggunakan perintah php artisan migrate , setelah dijalankan perintah tersebut maka secara otomatis tabel products akan terbentuk.

ss2-5
3. Membuat dan menjalankan Seeder
ss2-6 ss2-7

Setelah file seeder berhasil dibuat, buka file tersebut lalu tambahkan kode berikut.

ss2-8

Tambahkan kode berikut pada file DatabaseSeeder.php untuk menjalankan seeder. $this->call(ProductSeeder::class);

ss2-9

Jalankan seeder menggunakan perintah php artisan db:seed , setelah dijalankan perintah tersebut maka secara otomatis data akan terisi pada tabel products.

ss2-10

Controller bertindak sebagai pengelola logika utama yang menjembatani permintaan pengguna, pengolahan data melalui Model, hingga pengiriman hasil ke View, di mana fungsionalitas standarnya seperti menampilkan, memperbarui, dan menghapus data dapat dibuat secara instan melalui perintah CLI php artisan make:controller NamaController --resource. Di sisi lain, antarmuka pengguna dikelola secara efisien menggunakan Blade Template Engine yang mendukung pembuatan kerangka halaman dinamis melalui fitur penataan letak (layouting), sehingga struktur kode tampilan menjadi lebih modular dan terorganisir tanpa perlu pengulangan kode yang redundan. Dengan demikian, implementasi MVC di Laravel tidak hanya memisahkan tanggung jawab antara data, logika bisnis, dan tampilan, tetapi juga meningkatkan produktivitas pengembangan aplikasi web yang kompleks dengan cara yang terstruktur dan mudah dipelihara.

ss2-11 ss2-12 ss2-13 ss2-14