Panduan Lengkap Belajar Laravel: Mudah dan Efektif untuk Pemula
Daftar Isi
1. Pengantar Laravel
Laravel adalah framework PHP yang populer dan powerful untuk membangun aplikasi web dengan cepat dan mudah. Laravel mengusung konsep MVC (Model-View-Controller) yang memisahkan logika aplikasi, tampilan, dan data sehingga memudahkan pengembangan dan pemeliharaan aplikasi.

Laravel menyediakan berbagai fitur bawaan seperti routing, middleware, sistem template Blade, ORM Eloquent, migrasi database, dan banyak lagi yang membuat pengembangan aplikasi menjadi lebih efisien dan terstruktur.
2. Persiapan dan Instalasi
Sebelum mulai menggunakan Laravel, pastikan Anda sudah menginstal beberapa perangkat lunak berikut:
- PHP versi 8.0 atau lebih baru
- Composer sebagai dependency manager PHP
- Web server seperti Apache atau Nginx
- Database seperti MySQL, PostgreSQL, atau SQLite
Langkah instalasi Laravel menggunakan Composer:
composer create-project --prefer-dist laravel/laravel nama-aplikasi
Setelah instalasi selesai, masuk ke folder aplikasi dan jalankan server development:
cd nama-aplikasi
php artisan serve
Buka browser dan akses
http://localhost:8000
untuk melihat aplikasi Laravel Anda berjalan.

3. Struktur Direktori Laravel
Setelah instalasi, Anda akan melihat struktur folder Laravel seperti berikut:
- app/ - Tempat kode aplikasi seperti model, controller, dan middleware
- bootstrap/ - File bootstrap aplikasi dan cache
- config/ - File konfigurasi aplikasi
- database/ - Migration, seeder, dan factory
- public/ - Folder root web server, berisi index.php dan aset publik
- resources/ - View, file bahasa, dan aset frontend
- routes/ - File routing aplikasi
- storage/ - File log, cache, dan file yang diupload
- tests/ - Unit dan feature test
- vendor/ - Library pihak ketiga yang diinstall Composer

4. Routing di Laravel
Routing adalah cara Laravel menentukan bagaimana aplikasi merespon permintaan URL. File routing utama berada di
routes/web.php
untuk aplikasi web.
Contoh routing sederhana:
Route::get('/', function () {
return view('welcome');
});
Routing juga bisa menggunakan controller:
Route::get('/about', [AboutController::class, 'index']);
Laravel mendukung berbagai metode HTTP seperti GET, POST, PUT, DELETE, dan lainnya.

5. Controller dan Middleware
Controller berfungsi mengatur logika aplikasi dan menghubungkan model dengan view. Anda dapat membuat controller dengan perintah artisan:
php artisan make:controller NamaController
Contoh controller sederhana:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AboutController extends Controller
{
public function index()
{
return view('about');
}
}
Middleware adalah lapisan yang memproses request sebelum mencapai controller, misalnya untuk autentikasi atau logging.

6. View dan Blade Templating
View adalah tampilan yang dilihat pengguna. Laravel menggunakan Blade sebagai engine templating yang powerful dan mudah digunakan.
Contoh file Blade (
resources/views/about.blade.php
):
<!DOCTYPE html>
<html lang="id">
<head>
<title>Tentang Kami</title>
</head>
<body>
<h1>Selamat datang di halaman About</h1>
<p>Ini adalah contoh halaman menggunakan Blade.</p>
</body>
</html>
Blade juga mendukung directive seperti
@if
,
@foreach
, dan
@include
untuk membuat tampilan dinamis dan modular.

7. Database dan Migration
Migration adalah cara Laravel mengelola struktur database secara versioning sehingga mudah untuk membuat, mengubah, dan membagikan skema database.
Membuat migration baru:
php artisan make:migration create_posts_table
Contoh isi migration:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Jalankan migration dengan perintah:
php artisan migrate

8. Eloquent ORM
Eloquent adalah ORM (Object-Relational Mapping) Laravel yang memudahkan interaksi dengan database menggunakan model PHP.
Membuat model:
php artisan make:model Post
Contoh model Post:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $fillable = ['title', 'content'];
}
Mengambil data semua post:
$posts = Post::all();
Membuat data baru:
Post::create([
'title' => 'Judul Post',
'content' => 'Isi konten post'
]);

9. Form dan Validasi
Laravel menyediakan fitur validasi yang mudah digunakan untuk memeriksa input dari form sebelum diproses.
Contoh validasi di controller:
public function store(Request $request)
{
$validated = $request->validate([
'title' => 'required|max:255',
'content' => 'required',
]);
Post::create($validated);
return redirect('/posts')->with('success', 'Post berhasil dibuat!');
}
Contoh form HTML dengan Blade:
<form method="POST" action="/posts">
@csrf
<label for="title">Judul</label>
<input type="text" name="title" id="title" value="{{ old('title') }}" required />
@error('title')
<div class="text-red-600">{{ $message }}</div>
@enderror
<label for="content">Konten</label>
<textarea name="content" id="content" required>{{ old('content') }}</textarea>
@error('content')
<div class="text-red-600">{{ $message }}</div>
@enderror
<button type="submit">Simpan</button>
</form>

10. Autentikasi dan Otorisasi
Laravel menyediakan sistem autentikasi bawaan yang mudah diimplementasikan menggunakan Laravel Breeze, Jetstream, atau Fortify.
Instalasi Laravel Breeze untuk autentikasi sederhana:
composer require laravel/breeze --dev
php artisan breeze:install
npm install
npm run dev
php artisan migrate
Fitur yang didapatkan antara lain registrasi, login, logout, reset password, dan verifikasi email.
Otorisasi mengatur hak akses pengguna menggunakan Gates dan Policies.

11. Deployment Aplikasi Laravel
Setelah aplikasi selesai dikembangkan, langkah selanjutnya adalah deployment ke server produksi.
Beberapa tips deployment Laravel:
- Gunakan server dengan PHP versi sesuai kebutuhan Laravel
-
Konfigurasi environment file
.env
dengan setting produksi -
Jalankan
php artisan config:cache
danphp artisan route:cache
untuk optimasi -
Pastikan folder
storage
danbootstrap/cache
memiliki permission yang benar - Gunakan queue dan scheduler jika diperlukan
Contoh deployment sederhana menggunakan shared hosting atau VPS dengan Git dan Composer.

12. Kesimpulan
Laravel adalah framework PHP yang sangat cocok untuk pemula maupun pengembang berpengalaman karena kemudahan, fitur lengkap, dan komunitas yang besar. Dengan memahami konsep dasar seperti routing, controller, view, database, dan autentikasi, Anda dapat membangun aplikasi web yang handal dan terstruktur.
Teruslah belajar dan eksplorasi fitur-fitur Laravel lainnya seperti event, notification, broadcasting, dan testing untuk meningkatkan kemampuan pengembangan aplikasi Anda.

Selamat belajar Laravel dan semoga sukses!