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:
- Install Laravel 13 + Laravel Herd
- 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:
- Cara membuat route sederhana (GET)
- Cara menangkap parameter dari URL
- Cara memberi nama pada route (Named Route)
- 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:
Buka file tersebut. Isinya kurang lebih seperti ini:
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:
Sekarang coba buka di browser:
- http://blog-sederhana.test
- http://blog-sederhana.test/about
- 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:
- /posts/1 → tampilkan post dengan ID 1
- /posts/25 → tampilkan post dengan ID 25
Ini namanya Route Parameter.

Tambahkan kode berikut:
Sekarang coba akses:
- http://blog-sederhana.test/posts/5
- http://blog-sederhana.test/posts/123
Hasilnya akan menampilkan ID yang kamu ketik.
Kamu juga bisa pakai lebih dari satu parameter:
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 ?.
Sekarang:
- http://blog-sederhana.test/user → Halo, Tamu!
- 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:
Sekarang kamu bisa memanggil route tersebut dengan namanya, bukan dengan URL-nya.
Contoh di dalam view atau controller nanti:
Atau untuk redirect:
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:
Atau yang lebih rapi:
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 | ||
| GET | Menampilkan halaman / mengambil data | Lihat daftar post |
| POST | Mengirim data (biasanya dari form) | Simpan post baru |
| PUT | Update data | Edit post |
| DELETE | Hapus data | Hapus 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:
Lalu uji satu per satu di browser, dan coba perintah php artisan route:list.
Ringkasan
Yang perlu kamu ingat dari artikel ini:
- Route didefinisikan di routes/web.php
- Route::get() untuk menampilkan halaman
- {parameter} untuk menangkap nilai dari URL
- {parameter?} untuk parameter opsional
- ->name('nama.route') sangat penting agar URL mudah dikelola
- Gunakan route('nama.route') untuk membuat link, jangan hardcode URL
Tutorial terkait
Query Builder vs Eloquent — Kapan Pakai yang Mana?
Laravel sebenarnya punya dua lapisan untuk mengakses database: Query Builder (DB::table()) yang lebih rendah level, dan Eloquent (Post::query()) yang dibangun di atasnya
Model & Eloquent ORM Dasar di Laravel 13
Tabel sudah ada di database, tapi kalau mau query data, kita butuh cara yang lebih ekspresif daripada SQL mentah. Di sinilah Eloquent, ORM (Object-Relational Mapping) bawaan Laravel, berperan
Migration Dasar — Membuat Tabel Posts dan Categories
Sampai episode ini kita belum punya tabel posts atau categories sama sekali — controller kita masih mengembalikan teks placeholder. Saatnya bikin struktur database sungguhan lewat migration