Laravel 1: Pengenalan Laravel
Mengenal framework Laravel, ekosistemnya, dan alur pola MVC, serta menyiapkan perangkat lunak untuk perkuliahan.
Capaian pembelajaran
Setelah pertemuan ini, mahasiswa mampu:
- Menjelaskan apa itu framework dan pola MVC pada Laravel
- Menyiapkan perangkat lunak yang dibutuhkan (XAMPP/Laragon, Composer, Node.js)
Persiapan
Mata kuliah Pemrograman Berorientasi Objek 2 akan menggunakan Laravel, berikut adalah beberapa perangkat lunak yang perlu dipersiapkan:
- Download XAMPP atau Laragon.
- Download NodeJS. Boleh yang current maupun yang LTS, untuk Vite/kompilasi CSS dan JS.
- Download Composer.
Materi
Apa itu Laravel?
Framework adalah kerangka kerja siap pakai yang menyediakan struktur proyek, kumpulan pustaka, dan aturan penulisan kode untuk membangun aplikasi web. Contohnya Laravel, Symfony, dan CodeIgniter. Laravel adalah framework PHP yang paling populer saat ini, dan dipakai di mata kuliah ini.
Framework PHP siap pakai yang menyediakan struktur proyek, kumpulan pustaka, dan aturan penulisan kode untuk membangun aplikasi web. Contohnya Laravel, Symfony, dan CodeIgniter. Di mata kuliah ini kita memakai Laravel, yang saat ini paling populer.
Ekosistem Laravel punya tiga bagian utama:
- Artisan adalah alat baris perintah bawaan untuk membuat dan mengelola proyek, misalnya
make:model,migrate, danserve. - Eloquent adalah ORM yang memetakan tabel database menjadi class (Model), sehingga data diakses lewat objek tanpa menulis SQL manual.
- Blade adalah template engine untuk membuat tampilan, dengan dukungan layout, komponen, dan perintah seperti
@foreachserta@if.
Alasan memakai framework dibanding PHP native:
- Struktur kode rapi dan terpisah (MVC), jadi lebih mudah dibaca dan dipelihara, terutama saat bekerja dalam tim.
- Fitur dasar sudah tersedia, seperti routing, validasi, autentikasi, dan migration, sehingga tidak perlu dibuat dari nol.
- Keamanan lebih terjaga karena ada proteksi bawaan terhadap CSRF, SQL injection, dan XSS.
- Prinsip OOP seperti inheritance, interface, dan dependency injection langsung terpakai dalam praktik.
- Dokumentasi dan komunitasnya besar, dan aplikasinya lebih mudah diuji dan dikembangkan.
Kekurangannya, framework butuh waktu belajar dan terasa berlebihan untuk skrip kecil. Untuk aplikasi yang akan terus berkembang, PHP native biasanya justru lebih sulit dipelihara.
Pola MVC
Alur MVC yang dilalui dapat dilihat pada gambar berikut:

Langkah-langkahnya:
- Request masuk. Browser mengirim request ke server. Semua request diterima
public/index.php, yang menyalakan framework Laravel. - Route. Laravel mencocokkan URL dengan daftar rute di
routes/web.php, lalu meneruskan request ke Controller yang sesuai. Misal:
Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
- Jika ada middleware (misalnya
auth), request diperiksa dulu di tahap ini. - Controller. Method
index()menerima request dan mengatur prosesnya. Ia tidak mengambil data sendiri, melainkan meminta Model, misal:
$data = Mahasiswa::all();
- Model. Model
Mahasiswamemakai Eloquent untuk membuat query ke tabelmahasiswa, lalu mengembalikan hasilnya ke Controller sebagai objek. - View. Controller mengirim data ke tampilan Blade, yang mengolahnya menjadi HTML:
return view('mahasiswa.index', compact('data'));
- Response. HTML hasil render dikirim kembali ke browser dan ditampilkan ke pengguna.
Pembagian tugasnya: Route menentukan arah, Controller mengatur alur, Model mengurus data, dan View mengurus tampilan. Pemisahan ini yang membuat kode lebih rapi dan mudah dipelihara.
Untuk request yang mengirim data (seperti form tambah), alurnya sama. Bedanya ada validasi di Controller, dan Model menyimpan data ke database. Setelah itu Controller biasanya mengarahkan pengguna ke halaman lain (redirect) ketimbang menampilkan view langsung.