Web Development May 18, 2026 · 6 min read · 0 dilihat

Belajar Laravel 13 #3: Memahami Routing untuk Pemula

Setelah berhasil install Laravel 13 di episode sebelumnya, saatnya kita bahas konsep paling fundamental: routing. Routing adalah cara Laravel memahami URL yang kamu ketik di browser dan mengarahkannya ke controller atau logika yang tepat. Bayangkan routing seperti resepsionis di hotel — ketika tamu datang (request), resepsionis mengarahkan mereka ke kamar yang sesuai (response). Tanpa routing, website kamu tidak bisa menangani URL apapun. Di artikel ini, kita akan belajar bagaimana routing bekerja di Laravel 13, mulai dari konsep dasar sampai membuat route pertama kamu sendiri. Kami akan gunakan analogi dunia nyata dan contoh kode konkret yang bisa langsung kamu praktikkan. Siap? Mari kita mulai!

IKHSAN MAULANA

IKHSAN MAULANA

Web, Android, and RPA Development

Belajar Laravel 13 #3: Memahami Routing untuk Pemula

Setelah berhasil install Laravel 13 di episode #2, saatnya kita bahas konsep paling fundamental dalam web development: routing. Routing adalah mekanisme yang menghubungkan URL yang dikunjungi user dengan kode yang menjalankan aksi tertentu. Tanpa routing yang tepat, Laravel tidak akan tahu apa yang harus dilakukan ketika seseorang mengakses halaman website kamu.

Di bagian ini, kita akan mempelajari bagaimana routing bekerja di Laravel 13, konsep HTTP method, dan cara membuat route pertama kamu. Semuanya dirancang untuk pemula, jadi jangan khawatir jika ini terasa baru. Mari kita jelajahi dunia routing bersama-sama!

Apa Itu Routing?

Routing adalah proses mengarahkan HTTP request ke handler (controller atau closure function) yang tepat. Ketika kamu membuka browser dan mengetik URL seperti https://example.com/tentang, Laravel perlu tahu: "Siapa yang harus menangani request ini?" Itulah pekerjaan routing.

Bayangkan analogi dunia nyata: kamu adalah pengunjung yang datang ke hotel. Resepsionis (routing) melihat kebutuhan kamu, lalu mengarahkan ke departemen yang sesuai. Ingin membeli kopi? Ke kafe. Ingin istirahat? Ke kamar. Begitu juga dengan routing di Laravel — ia mengarahkan setiap request ke tempat yang tepat untuk diproses.

Di Laravel, semua route didefinisikan dalam satu file utama: routes/web.php. File ini adalah "peta" yang menunjukkan ke mana setiap URL harus pergi.

Anatomi File web.php

Ketika kamu membuka file routes/web.php setelah fresh install Laravel 13, kamu akan melihat sesuatu seperti ini:

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return 'Selamat datang di Laravel 13!';
});

Mari kita breakdown struktur route paling sederhana ini:

  • Route:: Class statik dari Laravel yang digunakan untuk mendaftar route
  • get() — HTTP method (akan kita bahas detail di bagian selanjutnya)
  • '/' — Path URL yang diakses (root/home)
  • function() { } — Closure atau controller yang menjalankan aksi ketika route ini diakses

File web.php adalah tempat semua route untuk web application kamu disimpan. Laravel juga punya routes/api.php untuk API route, tapi kita fokus ke web dulu untuk pemula.

Jenis-Jenis HTTP Method di Laravel

HTTP adalah protokol yang digunakan browser dan server untuk berkomunikasi. Ada beberapa "cara" atau "method" untuk mengirim request, dan masing-masing punya tujuan berbeda. Laravel memudahkan kamu untuk handle method yang berbeda dengan syntax yang jelas.

Method yang paling sering dipakai:

  • GET — Mengambil data. Ketika kamu membuka URL di browser atau klik link, itu GET request. Aman karena tidak mengubah data.
  • POST — Mengirim data untuk disimpan. Ketika kamu submit form, biasanya itu POST request.
  • PUT — Update data yang sudah ada (biasanya untuk form dengan method PUT/PATCH)
  • DELETE — Menghapus data

Untuk referensi lengkap tentang HTTP methods, kamu bisa lihat di dokumentasi MDN.

Di Laravel, mendefinisikan route untuk method berbeda sangat mudah:

<?php

use Illuminate\Support\Facades\Route;

// GET request — mengambil halaman
Route::get('/artikel', function () {
    return 'Daftar artikel';
});

// POST request — menyimpan data baru
Route::post('/artikel', function () {
    return 'Artikel berhasil disimpan';
});

// PUT request — mengupdate data
Route::put('/artikel/1', function () {
    return 'Artikel dengan ID 1 berhasil diupdate';
});

// DELETE request — menghapus data
Route::delete('/artikel/1', function () {
    return 'Artikel dengan ID 1 berhasil dihapus';
});

Setiap method punya kegunaan spesifik. GET untuk retrieve, POST untuk create, PUT/PATCH untuk update, DELETE untuk delete. Inilah yang disebut RESTful convention — pola yang dipercaya di industri web development.

Route Parameter dan Named Route

Bayangkan kamu punya website blog dengan 100 artikel. Apakah kamu akan membuat 100 route berbeda? Tentu tidak! Solusinya adalah menggunakan route parameter — placeholder dinamis yang bisa berubah sesuai URL yang diakses.

Route parameter ditulis dalam kurung kurawal {}. Contoh:

<?php

use Illuminate\Support\Facades\Route;

// Route dengan parameter
Route::get('/artikel/{id}', function ($id) {
    return "Menampilkan artikel dengan ID: " . $id;
});

// Route dengan multiple parameter
Route::get('/penulis/{penulis}/artikel/{id}', function ($penulis, $id) {
    return "Artikel ID $id dari penulis $penulis";
});

// Named route — memberi nama pada route untuk kemudahan referensi
Route::get('/profil/{username}', function ($username) {
    return "Profil: " . $username;
})->name('profil.show');

Dengan named route, kamu bisa generate URL dengan mudah menggunakan helper route(). Ini sangat berguna ketika membuat link di Blade template atau redirect:

<?php

// Di controller atau Blade template
echo route('profil.show', ['username' => 'budi']);
// Output: /profil/budi

// Redirect ke named route
return redirect()->route('profil.show', ['username' => 'budi']);

Named route adalah praktik baik karena jika kamu nanti mengubah URL path, kamu hanya perlu ubah di satu tempat — di route definition. Semua link yang menggunakan route() akan update otomatis.

Route Group dan Prefix

Ketika route kamu semakin banyak, mengorganisir menjadi penting. Salah satu cara adalah menggunakan route group dengan prefix. Misalnya, semua route admin kamu mungkin dimulai dengan /admin:

<?php

use Illuminate\Support\Facades\Route;

// Route group dengan prefix
Route::prefix('admin')->group(function () {
    Route::get('/dashboard', function () {
        return 'Admin Dashboard';
    });
    
    Route::get('/users', function () {
        return 'Daftar Users';
    });
});

// Hasil: /admin/dashboard dan /admin/users

Route group memudahkan organisasi route dan mencegah repetisi path yang sama berulang kali.

Latihan: Bikin 3 Route Pertama Kamu

Sekarang giliran kamu mempraktikkan! Buka file routes/web.php dan tambahkan 3 route berikut:

  1. Route GET untuk halaman Home
  2. Route GET untuk halaman About dengan parameter (nama)
  3. Route POST untuk form contact

Berikut contoh implementasinya:

<?php

use Illuminate\Support\Facades\Route;

// Home
Route::get('/', function () {
    return 'Selamat datang di homepage!';
})->name('home');

// About dengan parameter
Route::get('/about/{nama}', function ($nama) {
    return "Halo, nama saya $nama";
})->name('about');

// Contact form
Route::post('/contact', function () {
    return 'Terima kasih, pesan Anda telah diterima';
})->name('contact.store');

Setelah kamu tambahkan, jalankan Laravel server dengan php artisan serve dan coba akses:

  • http://localhost:8000/ — home route
  • http://localhost:8000/about/John — about route dengan parameter
  • Contact route tidak bisa diakses langsung dari browser (POST method), butuh form HTML

Jika semua berjalan, berarti routing kamu sudah bekerja dengan baik!

Tips & Trik: Debugging Route

Kadang kamu ingin melihat semua route yang sudah terdaftar di aplikasi kamu. Laravel punya command handy untuk ini:

php artisan route:list

Command ini akan menampilkan tabel lengkap dengan semua route, method, path, dan handler-nya. Sangat berguna untuk debugging jika route kamu tidak bekerja seperti yang diharapkan.

Kesimpulan

Routing adalah fondasi dari setiap aplikasi Laravel. Dengan memahami konsep HTTP method, route parameter, dan named route, kamu sudah siap membuat route untuk berbagai keperluan. Ingat: route adalah "peta" yang mengarahkan setiap request ke handler yang tepat, sama seperti resepsionis yang mengarahkan tamu ke kamar mereka.

Di episode berikutnya (#4), kita akan belajar tentang Blade templating — cara membuat HTML dinamis di Laravel. Blade akan memudahkan kamu menampilkan data dari route ke browser dengan syntax yang elegan. Jangan lewatkan! Untuk referensi lebih detail tentang routing, kamu juga bisa baca dokumentasi resmi Laravel routing.

Tags:

#Laravel #Tutorial #Web Development #Pemula #Routing

Share this article:

IKHSAN MAULANA

Tentang Penulis

IKHSAN MAULANA

Web, Android, and RPA Development

I am an experienced IT programmer specializing in Web Development (Laravel/PHP), Android (Dart/Flutter), and RPA (UiPath). I love building clean, efficient solutions that solve real-world problems. With 4+ years of hands...

Download CV

Sebelum download, boleh kenalan dulu? Form ini opsional — kosongin juga gak apa-apa, langsung klik Download.