LBelajar LaravelDoni Winarso
Dokumentasi resmi ↗
Pemrograman Web · Bab 01

Mengenal Laravel

Laravel adalah framework PHP yang membantu kita membangun aplikasi web dengan struktur yang teratur. Laravel menyediakan banyak alat siap pakai, sehingga kita bisa berfokus pada fitur aplikasi.

Apa itu framework?

Framework adalah kerangka kerja berisi pola, aturan, dan komponen umum untuk membuat aplikasi. Bayangkan kita sedang membangun rumah: framework menyediakan rancangan dasar dan alat yang sering diperlukan. Kita tetap menentukan bentuk serta fungsi rumahnya, tetapi tidak harus membuat setiap perkakas dari awal.

Tanpa framework, pengembang perlu merancang sendiri banyak hal yang berulang, seperti menghubungkan URL dengan kode, memeriksa data formulir, mengakses database, dan menjaga halaman tetap aman. Laravel menyediakan cara yang konsisten untuk menangani pekerjaan tersebut.

Untuk apa Laravel digunakan?

Laravel dapat digunakan untuk membuat berbagai aplikasi berbasis web, misalnya sistem informasi kampus, toko online, blog, dashboard, dan layanan API. Laravel juga memiliki fitur untuk berinteraksi dengan database, mengelola akun pengguna, mengirim email, serta menjadwalkan pekerjaan.

Gambaran cara kerjanya

Ketika seseorang membuka halaman, browser mengirim request ke aplikasi. Laravel mencocokkan alamat dan metode request dengan rute. Aplikasi kemudian memproses permintaan dan mengirimkan response, biasanya berupa halaman HTML atau data JSON.

Browser→Route→Controller→Model / View→Response

Di banyak aplikasi, pekerjaan ini dibagi dengan pola MVC:

Contoh sederhana: saat pengguna membuka halaman daftar buku, route memilih aksi yang tepat, controller meminta daftar buku melalui model, lalu view menyajikan daftar tersebut sebagai halaman.

Mengapa belajar Laravel?

Bekal sebelum melanjutkan

Akan lebih mudah mengikuti materi berikutnya jika sudah mengenal dasar PHP, HTML, dan konsep dasar database. Tidak perlu menguasai semuanya terlebih dahulu; setiap bab akan memperkenalkan bagian Laravel secara bertahap.

Laravel adalah alat bantu, bukan pengganti pemahaman pemrograman. Kita tetap perlu memahami alur kode, memeriksa input, dan memilih cara yang tepat untuk menyelesaikan masalah.

Pemrograman Web · Bab 02

Instalasi Laravel

Kita akan menyiapkan alat yang dibutuhkan, membuat proyek Laravel, lalu menjalankannya di komputer sendiri.

Yang perlu disiapkan

Laravel membutuhkan PHP dan Composer. Composer adalah alat yang mengunduh dan mengatur pustaka PHP yang diperlukan proyek. Pastikan PHP sudah terpasang, lalu pasang Composer dari situs resmi Composer.

Setelah instalasi, buka Terminal (atau Command Prompt) dan periksa Composer dengan perintah:

composer --version

Jika nomor versi muncul, Composer siap digunakan. Pastikan juga perintah php dapat dijalankan dari terminal.

1. Buat proyek Laravel

Pindah ke folder tempat kamu menyimpan proyek. Contoh berikut membuat proyek baru bernama belajar-laravel:

composer create-project laravel/laravel belajar-laravel

Tunggu sampai Composer selesai mengunduh berkas. Setelah itu, masuk ke folder proyek:

cd belajar-laravel

2. Jalankan aplikasi

Jalankan server pengembangan bawaan Laravel dengan perintah:

php artisan serve

Terminal akan menampilkan alamat lokal, biasanya http://127.0.0.1:8000. Buka alamat yang muncul itu di browser. Jika halaman Laravel tampil, instalasi berhasil.

Catatan: Biarkan terminal tetap terbuka saat mencoba aplikasi. Tekan Ctrl + C di terminal untuk menghentikan server.

Jika terjadi kendala

Materi ini merangkum alur instalasi Composer, pembuatan proyek, dan menjalankan server seperti dijelaskan dalam Tutorialspoint: Laravel Installation, dengan perintah proyek baru yang mengikuti penggunaan Composer saat ini.

Pemrograman Web · Bab 03

Struktur Aplikasi

Setelah proyek dibuat, kita akan melihat folder pentingnya. Mengetahui lokasi berkas membantu kita bekerja tanpa bingung.

Nama atau susunan beberapa berkas dapat berbeda menurut versi Laravel. Gunakan struktur yang benar-benar ada pada proyekmu.
Pemrograman Web · Bab 04

Konfigurasi

Pengaturan yang berubah antar lingkungan, misalnya komputer lokal dan hosting, disimpan di file .env.

File .env.example menjadi contoh pengaturan. Salin menjadi .env saat menyiapkan proyek, lalu sesuaikan nilainya. Contoh pengaturan database MySQL:

APP_NAME="Belajar Laravel"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=belajar_laravel
DB_USERNAME=root
DB_PASSWORD=

Jangan membagikan atau mengunggah file .env ke repositori publik karena biasanya berisi kata sandi. Di hosting, gunakan nilai database dari panel hosting.

Pemrograman Web · Bab 05

Routing

Route menghubungkan alamat URL dengan tindakan yang perlu dilakukan aplikasi. Route untuk halaman web umumnya ditulis di routes/web.php.

use Illuminate\\Support\\Facades\\Route;

Route::get('/halo', function () {
    return 'Halo, Laravel!';
});

Saat alamat /halo dibuka dengan metode GET, Laravel menjalankan fungsi tersebut. Kita juga bisa memberi nama pada route agar mudah dirujuk dari kode:

Route::get('/tentang', function () {
    return view('tentang');
})->name('tentang');

Parameter dapat mengambil bagian dari URL, misalnya /produk/12. Validasi parameter dapat ditambahkan agar format URL lebih terjaga.

Pemrograman Web · Bab 06

Middleware

Middleware adalah pemeriksaan yang berjalan di antara request masuk dan response keluar. Contohnya, memastikan pengguna sudah login sebelum membuka halaman tertentu.

Buat middleware dengan Artisan:

php artisan make:middleware CekUsia

Laravel membuat berkas di app/Http/Middleware. Di dalam metode handle, middleware dapat memeriksa request lalu meneruskannya:

public function handle($request, Closure $next)
{
    // Lakukan pemeriksaan di sini.
    return $next($request);
}

Middleware bisa diterapkan ke route tertentu atau beberapa route sekaligus. Cara mendaftarkannya berbeda antar versi Laravel; ikuti petunjuk versi proyekmu.

Pemrograman Web · Bab 07

Controller

Controller menampung logika untuk menangani permintaan. Dengan begitu, route tetap ringkas dan tugas aplikasi lebih teratur.

Buat controller menggunakan Artisan:

php artisan make:controller ProdukController

Tambahkan metode, lalu hubungkan dengan route:

// app/Http/Controllers/ProdukController.php
public function index()
{
    return 'Daftar produk';
}

// routes/web.php
Route::get('/produk', [ProdukController::class, 'index']);

Untuk aplikasi yang lebih besar, controller dapat meminta data ke model dan mengirimkannya ke view.

Pemrograman Web · Bab 08

Request

Request adalah informasi yang dikirim browser ke aplikasi, misalnya alamat yang dibuka atau data yang dikirim dari formulir.

Laravel menyediakan objek Request untuk membaca data masuk. Contoh metode controller:

use Illuminate\\Http\\Request;

public function simpan(Request $request)
{
    $nama = $request->input('nama');
    return 'Halo, ' . $nama;
}

Periksa dan validasi data sebelum menyimpannya. Jangan menganggap data dari browser selalu benar.

Pemrograman Web · Bab 09

Response

Response adalah jawaban yang dikirim aplikasi kembali ke browser. Jawabannya bisa berupa teks, halaman, pengalihan, atau JSON.

return 'Berhasil';

return response()->json([
    'status' => 'berhasil',
]);

return redirect('/produk');

Jenis response dipilih sesuai kebutuhan: halaman untuk pengguna, JSON untuk API, atau redirect setelah formulir berhasil diproses.

Pemrograman Web · Bab 10

Views

View adalah tampilan yang dikirim ke pengguna. Berkas view biasanya diletakkan di resources/views.

Buat resources/views/tentang.blade.php, lalu tampilkan dari route atau controller:

Route::get('/tentang', function () {
    return view('tentang');
});

Nama view ditulis tanpa folder resources/views dan tanpa akhiran .blade.php. Subfolder ditulis dengan titik, misalnya admin.produk.

Pemrograman Web · Bab 11

Blade Template

Blade adalah mesin template Laravel. Blade membantu menyusun HTML dengan variabel dan struktur kontrol PHP yang ringkas.

<h1>Halo, @{{ $nama }}</h1>

@if ($produk->isEmpty())
    <p>Belum ada produk.</p>
@else
    @foreach ($produk as $item)
        <p>{{ '{' }}{{ '$item->nama' }}{{ '}' }}</p>
    @endforeach
@endif

Ekspresi @{{ $nilai }} di-escape secara otomatis untuk membantu mencegah HTML berbahaya tampil sebagai kode aktif.

Pemrograman Web · Bab 12

Menghubungkan Database

Atur nama database, pengguna, dan kata sandi di file .env. Pastikan database tersebut sudah dibuat di MySQL.

Migration adalah catatan perubahan struktur database yang dapat dijalankan dengan Artisan. Buat migration:

php artisan make:migration create_produk_table

Setelah mengisi definisi kolom di file migration, jalankan:

php artisan migrate

Untuk menambah, membaca, mengubah, dan menghapus data, Laravel menyediakan Eloquent ORM. Buat model yang terhubung ke tabel:

php artisan make:model Produk
Sebelum menjalankan migration pada hosting atau database berisi data penting, pastikan konfigurasi database benar dan tersedia cadangan data.
Pemrograman Web · Bab 13

Validasi Form

Validasi memastikan data memenuhi aturan sebelum diproses, misalnya nama wajib diisi dan email memiliki format yang benar.

$data = $request->validate([
    'nama' => ['required', 'string', 'max:100'],
    'email' => ['required', 'email'],
]);

Jika data tidak valid, Laravel akan kembali ke halaman sebelumnya dengan pesan kesalahan. Tampilkan pesan tersebut di view agar pengguna tahu apa yang perlu diperbaiki.

Pemrograman Web · Bab 14

Session

Session menyimpan informasi sementara antar halaman untuk pengguna yang sama, misalnya pesan bahwa data berhasil disimpan.

// Simpan nilai
session(['pesan' => 'Data berhasil disimpan']);

// Baca nilai
$pesan = session('pesan');

Untuk pesan sekali tampil (flash message), gunakan session()->flash('status', 'Berhasil disimpan');. Atur penyimpanan session sesuai kebutuhan aplikasi.