BAB 1: Pengenalan Laravel

Apa itu Laravel, sejarahnya, dan mengapa Laravel menjadi framework PHP paling populer saat ini.

PHP tanpa framework ibarat dapur tanpa rak dan laci. Semua bahan ada, tapi kamu harus letakkan semuanya di lantai dan mengingat sendiri di mana setiap benda disimpan. Bisa dipakai, tapi makin lama makin berantakan. Framework hadir untuk memberi struktur — tempat yang jelas untuk setiap bagian aplikasi, konvensi yang disepakati bersama, dan alat bantu yang menghemat waktu untuk hal-hal yang sudah terpecahkan.

Laravel adalah salah satu framework PHP itu. Bukan sekadar kumpulan library, melainkan opini yang tertuang dalam kode: bahwa pengembangan web seharusnya menyenangkan, ekspresif, dan tidak memaksa developer mengulang pekerjaan yang sama berkali-kali.

Dari Mana Laravel Berasal

Taylor Otwell menciptakan Laravel pada 2011. Saat itu ia bekerja dengan CodeIgniter — framework PHP yang dominan di masa itu — dan merasa ada banyak hal yang seharusnya lebih mudah: autentikasi bawaan, routing yang ekspresif, ORM yang elegan. CodeIgniter tidak menyediakan itu semua, dan Otwell memutuskan untuk membangun sendiri.

Versi pertama Laravel dirilis Juni 2011. Tidak ada yang menyangka framework itu akan tumbuh secepat yang terjadi. Dalam empat tahun, Laravel menjadi framework PHP paling banyak di-star di GitHub. Saat ini, Laravel adalah framework PHP paling populer di dunia berdasarkan berbagai survei developer — termasuk survei tahunan JetBrains dan Stack Overflow.

Laravel 12, yang menjadi versi yang digunakan di seluruh ebook ini, dirilis Februari 2025. Ia membutuhkan PHP 8.2 ke atas dan membawa penyempurnaan di berbagai area, mulai dari starter kit yang lebih modern hingga integrasi autentikasi yang lebih fleksibel.

Apa yang Membuat Laravel Berbeda

Pertanyaan yang wajar: ada banyak framework PHP — Symfony, Slim, Yii, CodeIgniter. Mengapa harus Laravel?

Sintaks yang Ekspresif

Laravel dirancang agar kode terasa seperti bahasa alami. Bandingkan dua cara mengambil semua pengguna aktif yang diurutkan berdasarkan nama:

// Tanpa framework — SQL mentah
$users = mysqli_query($conn, "SELECT * FROM users WHERE active = 1 ORDER BY name ASC");

// Dengan Laravel Eloquent
$users = User::where('active', true)->orderBy('name')->get();

Keduanya menghasilkan hasil yang sama. Tapi kode Eloquent bisa dibaca seperti kalimat: ambil user, di mana aktif, urut berdasarkan nama, ambil semuanya.

Ekosistem yang Matang

Laravel hadir dengan ekosistem yang luas. Beberapa komponen intinya yang akan kamu temui di ebook ini:

  • Eloquent ORM — cara elegan berinteraksi dengan database tanpa menulis SQL mentah
  • Blade — template engine yang ringan dan powerful untuk membangun tampilan
  • Artisan — command-line tool untuk menghasilkan file, menjalankan migrasi, dan banyak lagi
  • Migrations — version control untuk skema database
  • Routing — sistem penghubung URL ke logika aplikasi yang intuitif
  • Validation — validasi input pengguna yang bisa ditulis dengan satu baris

Di luar itu, ada ekosistem package resmi untuk kebutuhan lebih lanjut: Sanctum untuk autentikasi API, Horizon untuk monitoring queue, Telescope untuk debugging, dan banyak lagi.

Dokumentasi Kelas Pertama

Dokumentasi Laravel di laravel.com/docs adalah salah satu yang terbaik di dunia open source. Setiap fitur dijelaskan dengan contoh nyata, bukan sekadar deskripsi API kering. Setelah menyelesaikan ebook ini, dokumentasi resmi itulah yang akan menjadi referensi utamamu.

Komunitas yang Besar

Komunitas besar berarti banyak tutorial, paket pihak ketiga, jawaban di Stack Overflow, dan developer lain yang bisa diajak berdiskusi. Di Indonesia, komunitas Laravel juga aktif — ada grup Facebook, channel Telegram, dan forum-forum diskusi yang bisa kamu manfaatkan.

Arsitektur MVC

Sebelum masuk lebih dalam, ada satu konsep yang perlu dipahami sejak awal: MVC, singkatan dari Model-View-Controller. Ini adalah pola arsitektur yang menjadi fondasi Laravel.

Diagram arsitektur MVC Laravel — Model, Controller, dan View dihubungkan dengan panah dua arah, dengan HTTP Request masuk ke Controller dari bawah

Gambar 1: Alur kerja arsitektur MVC di Laravel

Cara kerjanya sederhana: ketika browser mengirim request ke aplikasi, Controller menerimanya. Controller meminta data dari Model (yang berkomunikasi dengan database), lalu menyerahkan data itu ke View untuk ditampilkan sebagai HTML yang dikirim kembali ke browser.

Pemisahan ini menjaga setiap bagian tetap fokus pada tugasnya masing-masing. Model tidak peduli bagaimana data ditampilkan. View tidak perlu tahu bagaimana data diambil. Controller bertugas mengkoordinasikan keduanya.

Ini terlihat sederhana di atas kertas, tapi dampaknya besar: kode jadi lebih mudah dibaca, diuji, dan dirawat saat proyek berkembang.

Apa yang Akan Kamu Bangun

Di ebook ini, kita membangun aplikasi Manajemen Catatan — sistem sederhana untuk membuat, membaca, memperbarui, dan menghapus catatan pribadi. Pilihan ini bukan tanpa alasan: fitur yang dibutuhkan sebuah aplikasi catatan mencakup hampir semua konsep dasar Laravel yang perlu dikuasai.

Mulai dari Bab 23, kita akan membangun aplikasi Manajemen Catatan dari nol: instalasi, konfigurasi database, model, migrasi, tampilan, hingga operasi create-read-update-delete yang lengkap. Semua konsep yang dipelajari di bab-bab sebelumnya akan bertemu di sana.

Tapi sebelum membangun, kamu perlu menyiapkan mesinnya terlebih dahulu. Dan itu yang akan kita lakukan di bab berikutnya.

Referensi

  1. 1Laravel 12.x Documentation — laravel.com
  2. 2Laravel 12.x Release Notes — laravel.com
  3. 3JetBrains Developer Ecosystem Survey 2024 — PHP Section