> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/laravel/bab-2-mengenal-routing/2.1-konsep-dasar-url-and-route.md).

# 2.1 Konsep Dasar URL & Route

## Konsep dasar URL dan route

Setelah proyek Laravel bisa dibuka di browser, langkah berikutnya adalah memahami bagaimana sebuah alamat bisa menuju halaman tertentu.

Di sinilah **routing** bekerja.

### Target belajar BAB 2

Setelah menyelesaikan BAB 2, Anda diharapkan bisa:

* membedakan URL dan route
* membuat route `GET` dan `POST`
* memakai parameter pada URL
* menjelaskan alur request dan response
* mengenali penyebab dasar error `404`

### Apa itu URL dan route

Dua istilah ini harus dibedakan sejak awal:

* **URL** adalah alamat yang diketik di browser, misalnya `http://e-library.test/buku`.
* **Route** adalah aturan di Laravel yang membaca URL lalu menentukan apa yang harus dijalankan.

Sederhananya, URL adalah alamat yang diminta user. Route adalah peta yang memutuskan tujuan alamat itu.

### Analogi route di aplikasi Laravel

Jika memakai analogi restoran:

* **browser** adalah pelanggan
* **URL** adalah tujuan yang diminta
* **route** adalah resepsionis yang mengecek tujuan
* **controller** adalah bagian yang mengerjakan proses

Jika alamat yang diminta terdaftar, Laravel akan mengarahkannya ke proses yang benar.

Jika alamat tidak terdaftar, Laravel biasanya menampilkan `404 Not Found`.

### File route utama

Untuk aplikasi web, file route yang paling sering dipakai adalah:

```php
routes/web.php
```

Di file inilah Anda mendaftarkan halaman seperti `/`, `/kontak`, atau `/buku`.

Jika route belum ditulis di sini, halaman itu belum bisa diakses.

### Melihat route bawaan Laravel

Buka file `routes/web.php`, lalu perhatikan kode bawaan berikut:

```php
<?php

use Illuminate\Support\Facades\Route;

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

Kode ini menjelaskan kenapa halaman awal Laravel bisa tampil saat proyek pertama kali dijalankan.

### Membaca sintaks route

Bagian utama dari route di atas adalah:

```php
Route::get('/', function () {
    return view('welcome');
})->name('home');
```

Setiap bagian punya fungsi berbeda:

* `Route::` memanggil sistem routing Laravel.
* `get` berarti route ini merespons request GET.
* `'/'` berarti alamat halaman utama.
* `function () { ... }` adalah aksi yang dijalankan saat route dibuka.

### Arti `return view('welcome')`

Baris ini:

```php
return view('welcome');
```

berarti Laravel menampilkan file view bernama `welcome`.

Laravel otomatis mencarinya di folder:

```
resources/views
```

Jadi `view('welcome')` akan menuju file `welcome.blade.php`.

{% hint style="info" %}
Anda tidak perlu menulis `.blade.php` saat memanggil view. Laravel sudah mengenali pola nama file tersebut secara otomatis.
{% endhint %}

### Hal penting yang perlu diingat

Saat belajar routing, pegang tiga aturan ini:

* URL dibaca dari browser.
* Route ditulis di `routes/web.php`.
* Route yang tidak terdaftar akan berujung ke error halaman tidak ditemukan.

### Output yang harus terlihat

Setelah menyelesaikan BAB 2, hasil minimal yang seharusnya sudah ada:

* route baru berhasil ditambahkan ke `routes/web.php`
* halaman hasil route bisa dibuka dari browser
* parameter URL bisa diterima oleh route
* Anda bisa membedakan route yang aktif dan route yang memicu `404`

### Poin evaluasi bab 2.1

Pastikan Anda sudah memahami poin berikut:

* Saya bisa membedakan URL dan route.
* Saya tahu file utama route web adalah `routes/web.php`.
* Saya tahu `'/'` berarti halaman utama.
* Saya paham route yang tidak terdaftar bisa memunculkan `404 Not Found`.
* Saya mengerti `return view('welcome')` berarti memanggil `welcome.blade.php`.

Jika semua sudah jelas, lanjut ke [2.2 Membuat Route GET dan POST](/laravel/bab-2-mengenal-routing/2.2-membuat-route-get-dan-post.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/laravel/bab-2-mengenal-routing/2.1-konsep-dasar-url-and-route.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
