← Kembali ke tutorial
Laravel Pemula

Routing Dasar di Laravel 13 — GET, Route Parameter, dan Named Route

26 October 2026 15 kali dibaca

Bagikan: Link disalin!
Routing Dasar di Laravel 13 — GET, Route Parameter, dan Named Route

Halo bos! Selamat datang di artikel ketiga tentang Laravel.

Di dua artikel sebelumnya kita sudah berhasil:

  1. Install Laravel 13 + Laravel Herd
  2. Menghubungkan project ke database MySQL

Sekarang kita mulai masuk ke inti Laravel: Routing.

Routing itu ibarat “peta jalan” aplikasi kamu. Setiap kali orang mengakses URL tertentu, Laravel harus tahu harus melakukan apa.

Di artikel ini kita akan belajar:

  1. Cara membuat route sederhana (GET)
  2. Cara menangkap parameter dari URL
  3. Cara memberi nama pada route (Named Route)
  4. Sedikit perkenalan form GET & POST

Semua masih pakai closure dulu (fungsi anonim), biar lebih mudah dipahami. Nanti di artikel berikutnya baru kita pindahkan ke Controller.

1. File Routing di Laravel

Semua route web kita tulis di file:

routes/web.php

Buka file tersebut. Isinya kurang lebih seperti ini:

<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});

Ini artinya:

Kalau ada yang mengakses alamat / (halaman utama), tampilkan view welcome.

2. Membuat Route Sederhana (GET)

Mari kita buat beberapa route sederhana.

Hapus dulu isi default-nya (atau biarkan), lalu tambahkan kode berikut di routes/web.php:

<?php

use Illuminate\Support\Facades\Route;

// Halaman utama
Route::get('/', function () {
return 'Selamat datang di Blog Sederhana!';
});

// Halaman tentang
Route::get('/about', function () {
return 'Ini adalah halaman About';
});

// Halaman kontak
Route::get('/contact', function () {
return 'Hubungi kami di email@example.com';
});

Sekarang coba buka di browser:

  1. http://blog-sederhana.test
  2. http://blog-sederhana.test/about
  3. http://blog-sederhana.test/contact

Kalau muncul teks yang sesuai, berarti route sudah berhasil.

Catatan:
Route::get() hanya merespons permintaan GET (biasanya ketika kita mengetik URL di browser atau mengklik link).

3. Route Parameter (Parameter Wajib)

Kadang kita butuh mengambil data dari URL. Contohnya:

  1. /posts/1 → tampilkan post dengan ID 1
  2. /posts/25 → tampilkan post dengan ID 25

Ini namanya Route Parameter.

Tambahkan kode berikut:

// Parameter wajib
Route::get('/posts/{id}', function (string $id) {
return "Menampilkan post dengan ID: " . $id;
});

Sekarang coba akses:

  1. http://blog-sederhana.test/posts/5
  2. http://blog-sederhana.test/posts/123

Hasilnya akan menampilkan ID yang kamu ketik.

Kamu juga bisa pakai lebih dari satu parameter:

Route::get('/posts/{post}/comments/{comment}', function (string $post, string $comment) {
return "Post ID: $post, Comment ID: $comment";
});

Contoh akses:

http://blog-sederhana.test/posts/10/comments/3

4. Parameter Opsional

Kadang parameter tidak wajib diisi. Kita bisa membuatnya opsional dengan menambahkan tanda ?.

Route::get('/user/{name?}', function (?string $name = null) {
if ($name) {
return "Halo, $name!";
}

return "Halo, Tamu!";
});

Sekarang:

  1. http://blog-sederhana.test/user → Halo, Tamu!
  2. http://blog-sederhana.test/user/Budi → Halo, Budi!

5. Named Route (Route yang Diberi Nama)

Ini salah satu fitur paling berguna di Laravel.

Bayangkan kamu punya ratusan link di aplikasi. Kalau suatu hari kamu mengubah URL dari /about menjadi /tentang-kami, kamu harus mencari dan mengganti semua link secara manual. Sangat ribet.

Named Route menyelesaikan masalah ini.

Cara membuatnya:

Route::get('/about', function () {
return 'Ini adalah halaman About';
})->name('about');

Route::get('/posts/{id}', function (string $id) {
return "Menampilkan post dengan ID: " . $id;
})->name('posts.show');

Sekarang kamu bisa memanggil route tersebut dengan namanya, bukan dengan URL-nya.

Contoh di dalam view atau controller nanti:

// Menghasilkan URL: /about
route('about');

// Menghasilkan URL: /posts/5
route('posts.show', ['id' => 5]);

Atau untuk redirect:

return redirect()->route('about');

Keuntungan besar:

Kalau suatu hari URL-nya berubah, kamu cukup ubah di satu tempat saja (di file route). Semua yang memakai route('nama') otomatis ikut berubah.

6. Melihat Daftar Semua Route

Laravel punya perintah praktis untuk melihat semua route yang sudah kita buat:

php artisan route:list

Atau yang lebih rapi:

php artisan route:list --columns=method,uri,name,action

Perintah ini sangat berguna ketika project sudah besar.

7. Sedikit tentang GET dan POST

Sampai sekarang kita hanya pakai Route::get().

Nanti ketika kita membuat form (misalnya form tambah post), kita akan memakai Route::post().

Perbedaannya sederhana:

MethodKapan DipakaiContoh
GETMenampilkan halaman / mengambil dataLihat daftar post
POSTMengirim data (biasanya dari form)Simpan post baru
PUTUpdate dataEdit post
DELETEHapus dataHapus post

HTML form secara default hanya mendukung GET dan POST. Untuk PUT dan DELETE nanti kita akan pakai method spoofing (akan dibahas di artikel CRUD).

Latihan Kecil

Coba buat route-route berikut di routes/web.php:

Route::get('/', function () {
return 'Beranda Blog Sederhana';
})->name('home');

Route::get('/posts', function () {
return 'Daftar semua post';
})->name('posts.index');

Route::get('/posts/{id}', function (string $id) {
return "Detail post nomor $id";
})->name('posts.show');

Route::get('/kategori/{slug?}', function (?string $slug = null) {
return $slug ? "Kategori: $slug" : "Semua kategori";
})->name('categories.show');

Lalu uji satu per satu di browser, dan coba perintah php artisan route:list.

Ringkasan

Yang perlu kamu ingat dari artikel ini:

  1. Route didefinisikan di routes/web.php
  2. Route::get() untuk menampilkan halaman
  3. {parameter} untuk menangkap nilai dari URL
  4. {parameter?} untuk parameter opsional
  5. ->name('nama.route') sangat penting agar URL mudah dikelola
  6. Gunakan route('nama.route') untuk membuat link, jangan hardcode URL

Tutorial terkait