Langsung ke konten
KamusNgoding
Pemula Laravel 8 menit baca

Apa itu Laravel? Penjelasan Lengkap untuk Pemula

#laravel #php #framework #mvc #pemula

Pendahuluan

Kamu baru saja menyelesaikan tutorial PHP dasar, tapi setiap kali membuka kode lama, rasanya seperti membaca labirin tanpa peta. Ratusan baris logika yang bercampur dengan HTML, koneksi database yang copy-paste di mana-mana, dan tidak ada struktur yang jelas.

Inilah masalah yang dialami hampir semua developer PHP pemula di Indonesia — dan itulah tepat alasan mengapa Laravel diciptakan.

Laravel adalah framework PHP yang memberikan struktur, konvensi, dan alat-alat siap pakai sehingga kamu bisa fokus membangun fitur, bukan mengurus boilerplate. Framework ini bukan hanya populer secara global, tetapi juga menjadi pilihan nomor satu di ekosistem developer Indonesia — dari startup kecil di Bandung hingga software house besar di Jakarta.

Di artikel ini, kamu akan memahami:

  • Apa itu framework dan mengapa kamu membutuhkannya
  • Pola MVC yang menjadi fondasi Laravel
  • Fitur-fitur unggulan Laravel 12
  • Posisi Laravel di pasar developer Indonesia
  • Apa yang bisa kamu bangun dengan Laravel

Tidak perlu khawatir jika kamu baru mengenal PHP. Artikel ini dirancang untuk semua level pemula.


Apa itu Framework PHP?

Sebelum memahami Laravel, mari kita pahami dulu apa itu framework.

Bayangkan kamu ingin membangun rumah. Kamu bisa mulai dari nol — mengolah sendiri semen, batu bata, kayu — atau kamu bisa menggunakan struktur bangunan prefabrikasi yang sudah menyediakan fondasi, dinding, dan atap standar, sehingga kamu tinggal fokus pada interior dan dekorasi.

Framework adalah “struktur prefabrikasi” dalam dunia pemrograman. Framework PHP menyediakan:

  • Struktur folder yang sudah terorganisasi
  • Komponen siap pakai: routing, database, validasi, autentikasi
  • Konvensi yang membuat kode lebih mudah dibaca tim lain
  • Keamanan bawaan: proteksi CSRF, SQL injection, XSS

Tanpa framework, kamu harus membangun semua itu dari nol setiap kali memulai proyek baru.

// Tanpa framework — semua campur aduk
<?php
$conn = mysqli_connect("localhost", "root", "", "mydb");
$id = $_GET['id']; // Berbahaya! rentan SQL injection
$result = mysqli_query($conn, "SELECT * FROM users WHERE id = $id");
$user = mysqli_fetch_assoc($result);
echo "<h1>Halo " . $user['name'] . "</h1>"; // Rentan XSS
?>
// Dengan Laravel — bersih, aman, terstruktur
Route::get('/user/{id}', function (int $id) {
    $user = User::findOrFail($id); // Otomatis aman dari SQL injection
    return view('user.profile', compact('user')); // Template terpisah
});

Perbedaannya sangat jelas, bukan?


Pola MVC: Fondasi Arsitektur Laravel

Laravel dibangun di atas pola arsitektur MVC (Model-View-Controller). Ini adalah cara memisahkan tanggung jawab kode menjadi tiga bagian:

Model — Data dan Logika Bisnis

Model bertanggung jawab untuk berinteraksi dengan database. Di Laravel, setiap tabel database biasanya punya satu Model yang merepresentasikannya.

// app/Models/Post.php
class Post extends Model
{
    // Model 'Post' merepresentasikan tabel 'posts'
    protected $fillable = ['title', 'content', 'user_id'];
}

View — Tampilan ke Pengguna

View adalah template HTML yang menampilkan data kepada pengguna. Laravel menggunakan Blade sebagai template engine-nya.

{{-- resources/views/posts/index.blade.php --}}
@foreach ($posts as $post)
    <h2>{{ $post->title }}</h2>
    <p>{{ $post->content }}</p>
@endforeach

Controller — Penghubung antara Model dan View

Controller menerima request dari pengguna, meminta data dari Model, lalu mengirimkan data tersebut ke View.

// app/Http/Controllers/PostController.php
class PostController extends Controller
{
    public function index()
    {
        $posts = Post::latest()->get(); // Ambil data dari Model
        return view('posts.index', compact('posts')); // Kirim ke View
    }
}

Alur Kerja MVC

Browser → Request URL

Router (routes/web.php) → mencocokkan URL ke Controller

Controller → meminta data dari Model

Model → mengambil data dari Database

Controller → mengirim data ke View

View (Blade) → merender HTML

Browser → menampilkan halaman

Dengan MVC, kode menjadi modular dan mudah di-maintain. Jika tampilan perlu diubah, kamu hanya sentuh View. Jika logika bisnis berubah, kamu hanya ubah Model atau Controller.


Sejarah Singkat Laravel

Laravel diciptakan oleh Taylor Otwell pada tahun 2011. Saat itu Taylor frustrasi dengan CodeIgniter yang kurang mendukung fitur-fitur PHP 5 modern seperti namespace dan unit testing.

Berikut perjalanan singkat versinya:

VersiTahunFitur Penting
Laravel 1-22011Rilis perdana, routing, session
Laravel 32012Artisan CLI, package manager
Laravel 42013Composer, rewrite total
Laravel 52015Middleware, Elixir, API
Laravel 6-82019-2021LTS, Jetstream, Sail
Laravel 9-102022-2023PHP 8, Query Builder
Laravel 112024Simplified structure, SQLite default
Laravel 122025Starter kits baru, peningkatan performa

Laravel 12 (versi terbaru saat artikel ini ditulis) memperkenalkan starter kit yang lebih modern dan berbasis React/Vue, serta banyak peningkatan performa di bawah kap mesin.


Fitur Unggulan Laravel

Berikut adalah fitur-fitur yang membuat Laravel menjadi pilihan utama:

1. Eloquent ORM

Eloquent memungkinkan kamu berinteraksi dengan database menggunakan syntax PHP yang ekspresif, tanpa menulis SQL secara manual.

// Ambil semua user aktif, urutkan dari terbaru
$users = User::where('is_active', true)
             ->orderBy('created_at', 'desc')
             ->get();

2. Artisan CLI

Artisan adalah command-line tool bawaan Laravel yang mempercepat pengembangan.

php artisan make:model Post -mcr   # Model + Migration + Controller sekaligus
php artisan migrate                 # Jalankan migrasi database
php artisan tinker                  # REPL untuk testing kode
php artisan route:list              # Lihat semua route

3. Blade Template Engine

Blade membuat penulisan template HTML menjadi bersih dan powerful tanpa mengorbankan performa.

@extends('layouts.app')

@section('content')
    <h1>Selamat datang, {{ $user->name }}!</h1>
    
    @if ($user->isAdmin())
        <a href="/admin">Panel Admin</a>
    @endif
@endsection

4. Migration Database

Migration adalah “version control untuk database” — kamu bisa melacak perubahan struktur database dan rollback jika diperlukan.

Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('content');
    $table->foreignId('user_id')->constrained();
    $table->timestamps();
});

5. Autentikasi Bawaan

Laravel Breeze menyediakan sistem login/register lengkap dalam hitungan menit.

composer require laravel/breeze --dev
php artisan breeze:install

6. Routing Ekspresif

Mendefinisikan URL menjadi sangat mudah dan readable.

Route::get('/posts', [PostController::class, 'index']);
Route::post('/posts', [PostController::class, 'store']);
Route::resource('/products', ProductController::class); // 7 route sekaligus

7. Validasi Data

Validasi input pengguna dilakukan dengan sangat mudah.

$validated = $request->validate([
    'title'   => 'required|max:255',
    'content' => 'required|min:10',
    'email'   => 'required|email|unique:users',
]);

Ekosistem Laravel

Laravel bukan hanya framework — ini adalah ekosistem yang terus berkembang:

ProdukFungsi
Laravel BreezeStarter kit autentikasi minimalis
Laravel JetstreamStarter kit full-featured (teams, 2FA)
Laravel SanctumAutentikasi API & SPA
Laravel LivewireKomponen UI dinamis tanpa JavaScript berat
Laravel ForgeServer management & deployment otomatis
Laravel VaporServerless deployment di AWS
Laravel NovaAdmin panel berbayar
Laravel SailDocker development environment

Kenapa Laravel Sangat Populer di Indonesia?

Berdasarkan riset ekosistem developer Indonesia terbaru, Laravel mendominasi pasar karena beberapa alasan kuat:

1. Komunitas Lokal yang Besar Indonesia memiliki komunitas PHP/Laravel yang sangat aktif. Forum Dicoding, grup Telegram Laravel Indonesia, dan channel YouTube lokal seperti Web Programming UNPAS memiliki jutaan konten Laravel dalam Bahasa Indonesia.

2. Banyak Lowongan Kerja Hampir 80% software house dan perusahaan SME di Indonesia menggunakan Laravel untuk proyek web mereka. Dari sistem kasir, ERP sederhana, hingga platform e-commerce.

3. Cocok untuk Stack Laravel + Vue/React Tren terkini adalah memisahkan frontend (React/Vue) dari backend (Laravel API). Laravel sangat cocok sebagai backend API, seperti yang akan kita pelajari di artikel tentang REST API dengan Laravel Sanctum.

4. Relatif Mudah Dipelajari Dibanding Spring Boot (Java) atau Django (Python), Laravel memiliki kurva belajar yang lebih ramah untuk developer yang sudah tahu PHP dasar. Sintaksnya ekspresif dan dokumentasinya sangat lengkap.


Laravel vs Framework Lain

Berikut perbandingan singkat untuk membantu kamu memahami posisi Laravel:

KriteriaLaravel (PHP)Django (Python)Express (Node.js)Spring Boot (Java)
BahasaPHPPythonJavaScriptJava
Kurva Belajar⭐⭐⭐⭐⭐⭐⭐
Cocok untukWeb app, API, CMSData science + webMicroservice, real-timeEnterprise, fintech
ORMEloquentDjango ORMSequelize/PrismaHibernate
Popularitas di Indonesia🔥🔥🔥🔥🔥🔥🔥🔥 (BUMN/fintech)
DeploymentMudah (shared hosting OK)SedangSedangKompleks

Untuk developer Indonesia yang ingin masuk ke industri web development secepat mungkin, Laravel adalah pilihan yang sangat masuk akal.

Jika kamu sudah terbiasa dengan JavaScript dan ingin membangun fullstack, baca juga pengantar JavaScript modern untuk memahami konteks frontend yang sering dipadukan dengan Laravel.


Apa yang Akan Kamu Bangun?

Sepanjang seri artikel ini, kita akan membangun Aplikasi Task Manager lengkap yang mencakup:

  1. Halaman listing tugas dengan filter dan pagination
  2. Form tambah, edit, dan hapus tugas
  3. Sistem login dan registrasi pengguna
  4. REST API yang bisa diakses aplikasi mobile
  5. Deployment ke VPS Ubuntu

Di akhir seri ini, kamu tidak hanya paham teori Laravel — kamu punya proyek nyata di portfolio yang bisa ditunjukkan ke calon employer.


Persiapan Sebelum Belajar Laravel

Sebelum melanjutkan ke artikel berikutnya tentang instalasi Laravel, pastikan kamu sudah familiar dengan:

  • PHP Dasar: variabel, array, fungsi, OOP (class, object, method)
  • HTML & CSS: struktur halaman web dasar
  • Terminal/Command Prompt: menjalankan perintah dasar
  • Konsep Database: tabel, kolom, relasi (SQL dasar)

Jika belum, tidak masalah! Kamu tetap bisa mengikuti seri ini, tapi mungkin perlu googling beberapa konsep dasar di sepanjang jalan.


Troubleshooting: Error yang Sering Muncul

PHP Belum Terinstall atau Versi Lama

Penyebab: Laravel 12 membutuhkan PHP 8.2 atau lebih baru. Banyak Windows yang masih menggunakan PHP lama dari XAMPP versi lama.

Solusi:

# Cek versi PHP saat ini
php --version

# Jika di bawah 8.2, download Laragon (Windows)
# atau gunakan XAMPP versi terbaru
# https://laragon.org/download/

Composer Tidak Dikenali

Penyebab: Composer belum diinstall atau PATH belum dikonfigurasi dengan benar setelah instalasi.

Solusi:

# Cek apakah Composer terinstall
composer --version

# Jika tidak dikenali di Windows, tambahkan ke PATH:
# C:\Users\[Username]\AppData\Roaming\Composer\vendor\bin
# atau gunakan Laragon yang sudah include Composer otomatis

Pertanyaan yang Sering Diajukan

Laravel butuh PHP versi berapa?

Laravel 12 membutuhkan PHP 8.2 atau lebih baru. Pastikan juga ekstensi PHP berikut aktif: mbstring, xml, curl, zip, openssl. Jika menggunakan Laragon, semua ini sudah otomatis terkonfigurasi.

Apakah Laravel gratis?

Ya, Laravel sepenuhnya open source dan gratis di bawah lisensi MIT. Kamu bebas menggunakannya untuk proyek personal maupun komersial tanpa biaya lisensi. Beberapa produk ekosistemnya seperti Nova berbayar, tapi itu opsional.

Apakah belajar Laravel bisa langsung dapat kerja?

Laravel adalah salah satu skill yang paling banyak dicari di lowongan developer Indonesia. Dengan portofolio berisi 2-3 proyek Laravel yang solid — seperti CRUD app, REST API, dan sistem login — banyak software house dan startup lokal yang akan tertarik merekrut kamu. Perkuat skill-mu dengan mengikuti seluruh seri artikel ini.

Bisa tidak Laravel dipakai bersama React atau Vue?

Bisa sekali! Ini justru tren yang paling populer saat ini, dikenal sebagai arsitektur “Decoupled” atau “Headless”: Laravel sebagai backend API, dan React/Vue sebagai frontend SPA. Kita akan membahas ini lengkap di artikel REST API dengan Laravel Sanctum dan cara mengatasi error CORS.

Apakah Laravel cocok untuk project skala besar?

Sangat cocok. Platform seperti Laracasts, berbagai SaaS, dan banyak e-commerce besar di Indonesia dibangun dengan Laravel. Dengan arsitektur yang tepat (service layer, repository pattern, queue), Laravel mampu menangani traffic yang sangat tinggi.


Kesimpulan

Laravel bukan sekadar framework PHP — ini adalah ekosistem lengkap yang memungkinkan kamu membangun aplikasi web modern, aman, dan terstruktur dengan jauh lebih efisien.

Kita sudah membahas:

  • Apa itu framework dan mengapa kamu membutuhkannya
  • Pola MVC sebagai fondasi arsitektur Laravel
  • Fitur-fitur unggulan dari Eloquent hingga Artisan
  • Posisi Laravel di ekosistem developer Indonesia
  • Ekosistem Laravel yang terus berkembang

Di artikel berikutnya, kita akan langsung praktek: menginstall Laravel dan memahami struktur proyeknya. Kamu akan membuat proyek Laravel pertamamu dalam waktu kurang dari 15 menit!

Selamat datang di dunia Laravel — perjalanan menanammu sebagai web developer Indonesia profesional dimulai dari sini! 🚀

Artikel Terkait