> 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-1-pengenalan-and-instalasi/1.4-membedah-struktur-folder-laravel.md).

# 1.4 Membedah Struktur Folder Laravel

## Membedah struktur folder Laravel

Saat pertama membuka proyek Laravel, jumlah foldernya memang terlihat banyak.

Itu normal. Anda tidak perlu memahami semuanya sekaligus.

Di bab ini, fokus saja pada folder yang paling sering dipakai saat belajar dasar Laravel.

### Mengapa struktur folder Laravel terlihat ramai

Laravel memakai prinsip **pemisahan tugas**.

Artinya, setiap jenis file punya tempatnya sendiri. File tampilan tidak dicampur dengan logika. File database tidak dicampur dengan route.

Manfaatnya jelas:

* kode lebih rapi
* lebih mudah mencari file
* lebih nyaman saat kerja tim

Jika dibandingkan PHP native, pendekatan ini jauh lebih terstruktur.

### Mulai dari sidebar VS Code

<figure><img src="/files/CG6LeDuo50N6vTeNDHJ3" alt="Struktur folder proyek Laravel di VS Code"><figcaption><p>Fokus pada folder `app`, `resources`, `routes`, `database`, dan file `.env` di sidebar VS Code.</p></figcaption></figure>

Saat membuka proyek `e-library` di VS Code, lihat panel kiri lalu perhatikan nama-nama foldernya.

Tidak semua harus dipelajari sekarang. Cukup kenali folder inti berikut.

### Hasil yang perlu terlihat

Di sidebar VS Code, minimal Anda sudah bisa mengenali bagian berikut:

* folder `app`
* folder `resources`
* folder `routes`
* folder `database`
* file `.env`

### Folder yang paling penting

#### `app/`

Folder ini berisi logika utama aplikasi.

Dua bagian yang paling sering dipakai adalah:

* `app/Models` untuk model yang berhubungan dengan data.
* `app/Http/Controllers` untuk controller yang mengatur alur aplikasi.

Jika nanti Anda membuat proses CRUD, besar kemungkinan file utamanya ada di sini.

#### `resources/views/`

Folder ini berisi file tampilan.

Di sinilah halaman HTML berbasis Blade disimpan. Ekstensi file yang sering muncul adalah `.blade.php`.

Jika Anda ingin mengubah tampilan halaman, biasanya mulai dari folder ini.

#### `routes/`

Folder ini mengatur jalur URL aplikasi.

File yang paling sering dipakai adalah:

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

Di file inilah Anda mendaftarkan route seperti `/`, `/buku`, atau `/login`.

#### `database/`

Folder ini berisi file yang berkaitan dengan struktur dan isi data.

Bagian yang penting:

* `database/migrations` untuk membuat atau mengubah struktur tabel.
* `database/seeders` untuk mengisi data awal atau data dummy.

Folder ini akan sering dipakai saat mulai masuk materi database.

#### `.env`

File `.env` berisi konfigurasi lingkungan proyek.

Contohnya:

* nama database
* username database
* password database
* pengaturan aplikasi lain yang bersifat sensitif

File ini sangat penting. Salah isi di sini bisa membuat aplikasi gagal terhubung ke database.

### Folder yang belum perlu disentuh

Beberapa folder ada, tetapi belum perlu Anda utak-atik di tahap awal:

* `vendor` berisi package dari Composer.
* `storage` dipakai untuk file log, cache, dan file aplikasi lain.
* `bootstrap` membantu proses bootstrap aplikasi.
* `config` berisi konfigurasi bawaan Laravel.

{% hint style="warning" %}
Jangan edit isi folder `vendor` secara manual. Jika folder ini rusak, aplikasi bisa langsung error.
{% endhint %}

### Cara mudah mengingatnya

Gunakan pola ini:

* **`routes/`** — jalan masuk request
* **`app/`** — tempat logika bekerja
* **`resources/views/`** — tempat tampilan disusun
* **`database/`** — tempat struktur data disiapkan
* **`.env`** — tempat konfigurasi proyek disimpan

Jika alur ini sudah paham, struktur Laravel akan terasa jauh lebih masuk akal.

### Poin evaluasi bab 1.4

Pastikan Anda sudah memahami poin berikut:

* Saya tahu controller berada di `app/Http/Controllers`.
* Saya tahu model berada di `app/Models`.
* Saya tahu file tampilan berada di `resources/views`.
* Saya tahu route web utama ada di `routes/web.php`.
* Saya tahu migration berada di `database/migrations`.
* Saya tahu file `.env` dipakai untuk konfigurasi proyek.
* Saya tahu folder `vendor` tidak boleh diedit sembarangan.

Jika masih bingung saat membuka proyek, itu wajar. Bab berikutnya akan membantu saat muncul error umum di tahap awal belajar Laravel.


---

# 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-1-pengenalan-and-instalasi/1.4-membedah-struktur-folder-laravel.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.
