Laravel merupakan framework berbasis PHP yang digunakan untuk mempermudah proses pengembangan aplikasi web. Laravel menyediakan berbagai fitur seperti routing, controller, migration, ORM Eloquent, dan template engine Blade yang membantu developer dalam membangun aplikasi secara lebih terstruktur dan efisien.
Pada praktikum ini dilakukan pengelolaan database menggunakan Migration dan Seeder, pembuatan Model dengan Eloquent ORM, Controller dengan resource method, serta View menggunakan Blade Template Engine. Semua ini dirangkai dalam arsitektur MVC (Model View Controller) untuk membangun aplikasi web CRUD yang lengkap.
Praktikum ini merupakan kelanjutan dari Praktikum 6 dan bertujuan untuk memahami alur kerja penuh dalam pengembangan aplikasi web berbasis Laravel mulai dari database hingga tampilan antarmuka.
Memahami struktur dan alur kerja Laravel sebagai framework PHP modern.
Mengelola database menggunakan fitur Migration dan Seeding.
Membuat dan mengatur Routing aplikasi web.
Membangun Model untuk interaksi dengan database menggunakan Eloquent ORM.
Membuat tampilan antarmuka menggunakan Blade Template Engine.
Mengembangkan Controller sebagai penghubung antara Model dan View.
Mengimplementasikan operasi CRUD (Create, Read, Update, Delete) secara lengkap.
Buka file .env pada root project Laravel, kemudian ubah konfigurasi database:
Jalankan perintah berikut untuk membuat file migration tabel products:
Isi file migration dengan struktur tabel berikut:
Jalankan migration untuk membuat tabel di database:
Buat file seeder dengan perintah:
Tambahkan data dummy pada ProductSeeder.php:
Daftarkan seeder pada DatabaseSeeder.php lalu jalankan:
Buka atau buat file app/Models/Product.php dan tambahkan $fillable:
Buat resource controller menggunakan perintah artisan:
Isi method index() untuk menampilkan data produk:
Tambahkan route resource pada file routes/web.php:
Route resource mendaftarkan 7 endpoint secara otomatis:
| Method | Fungsi | URL |
|---|---|---|
index | Menampilkan semua data | GET /products |
create | Form tambah data | GET /products/create |
store | Menyimpan data baru | POST /products |
show | Menampilkan detail data | GET /products/{id} |
edit | Form edit data | GET /products/{id}/edit |
update | Mengubah data | PUT /products/{id} |
destroy | Menghapus data | DELETE /products/{id} |
Buat file layout utama di resources/views/layouts/app.blade.php:
Buat view daftar produk di resources/views/products.blade.php:
Pada bagian tugas, dibuat aplikasi CRUD lengkap untuk mengelola data mahasiswa.
Tabel mahasiswas dibuat dengan kolom: id, nim, nama, email, jurusan, angkatan, dan timestamps.
MahasiswaSeeder mengisi 5 data dummy mahasiswa dari berbagai jurusan dan angkatan untuk keperluan pengujian.
Model Mahasiswa dibuat di app/Models/Mahasiswa.php dengan $fillable berisi kolom yang dapat diisi secara massal.
Route resource didaftarkan di routes/web.php sehingga semua endpoint CRUD tersedia otomatis.
Controller dibuat dengan --resource dan berisi 7 method lengkap beserta validasi input:
View terdiri dari 5 file Blade yang menggunakan layout bersama:
layouts/app.blade.php — Template utama (navbar, alert, struktur HTML)mahasiswa/index.blade.php — Tabel daftar mahasiswa dengan tombol aksimahasiswa/create.blade.php — Form tambah mahasiswa dengan validasimahasiswa/edit.blade.php — Form edit dengan data yang sudah terisimahasiswa/show.blade.php — Halaman detail satu data mahasiswaSetelah menjalankan seluruh langkah praktikum, aplikasi CRUD data mahasiswa berhasil dibangun dengan fitur-fitur berikut:
| Kategori | Perintah |
|---|---|
| Migration | php artisan make:migration create_mahasiswas_table |
| Seeder | php artisan make:seeder MahasiswaSeeder |
| Model | php artisan make:model Mahasiswa |
| Controller | php artisan make:controller MahasiswaController --resource |
| Run Migration + Seed | php artisan migrate:fresh --seed |
| Cek Route | php artisan route:list |
| Jalankan Server | php artisan serve |