> 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-9-autentikasi-and-middleware/9.5-checkpoint-uji-pemahamanmu-sebelum-lanjut.md).

# 9.5 Checkpoint: Uji Pemahamanmu Sebelum Lanjut!

## Checkpoint akhir BAB 9

Sebelum masuk ke relasi database, pastikan dasar autentikasi dan middleware Anda sudah benar-benar kuat.

Di BAB 9, aplikasi E-Library mulai punya lapisan keamanan yang lebih nyata.

Sekarang aplikasi bukan hanya bisa mengelola data.

Aplikasi juga sudah bisa mengenali pengguna dan membatasi akses halaman.

{% hint style="success" %}
Kalau mayoritas poin di halaman ini sudah bisa Anda jelaskan dan praktikkan, berarti Anda siap masuk ke BAB 10.
{% endhint %}

### Ringkasan besar BAB 9

Di BAB 9, Anda sudah belajar alur penting berikut:

```
pengguna login -> Laravel membuat session -> middleware memeriksa akses -> halaman privat bisa dibuka -> aplikasi mengenali user aktif
```

Kalau alur ini sudah terasa masuk akal, berarti fondasi autentikasi dasar Anda mulai kuat.

Dan ini sangat penting.

Karena aplikasi nyata hampir selalu perlu tahu siapa penggunanya dan halaman mana yang boleh diakses.

### Yang seharusnya sudah Anda pahami

Setelah menyelesaikan BAB 9, Anda seharusnya sudah paham hal berikut:

* apa itu session dalam Laravel
* kenapa login membutuhkan session
* apa itu middleware
* fungsi middleware `auth`
* cara memasang autentikasi dasar dengan Laravel Breeze
* alasan migration harus dijalankan setelah Breeze dipasang
* alasan `npm install` dan `npm run dev` dibutuhkan
* cara mengunci route dengan middleware `auth`
* cara kerja redirect ke halaman login
* fungsi `Auth::user()` untuk membaca user aktif

### Bukti hasil praktik yang seharusnya sudah ada

Hasil praktik minimal yang seharusnya sudah bisa Anda tunjukkan:

* halaman login dan register berhasil tampil
* akun baru berhasil dibuat
* login berhasil dilakukan
* route buku tidak bisa dibuka saat logout
* route buku bisa dibuka setelah login
* nama pengguna aktif bisa ditampilkan di halaman

### Checklist mandiri

Coba jawab pertanyaan berikut tanpa melihat subbab sebelumnya.

#### Pemahaman konsep

* Kenapa login tidak cukup hanya dengan form email dan password.
* Kenapa session penting setelah pengguna berhasil masuk.
* Kenapa middleware `auth` harus diletakkan sebelum controller bekerja.
* Kenapa `Auth::user()` bisa mengetahui siapa pengguna yang sedang aktif.

#### Pemahaman alur

* Saat pengguna membuka `/buku`, bagian mana yang memeriksa akses lebih dulu.
* Kenapa pengguna logout diarahkan ke halaman login saat membuka route privat.
* Dari mana data user aktif dibaca saat memanggil `Auth::user()`.
* Kenapa Breeze butuh migration dan build aset.

Kalau Anda masih ragu menjawab bagian ini, sebaiknya ulangi lagi subbab 9.1 sampai 9.4.

### Indikator kesiapan akhir BAB 9

#### Pemahaman konsep

* Saya paham session dipakai untuk mengingat status login pengguna.
* Saya paham middleware memeriksa request sebelum masuk ke logika utama.
* Saya paham middleware `auth` melindungi halaman privat.
* Saya paham Breeze memberi fondasi autentikasi dasar yang siap dipakai.
* Saya paham `Auth::user()` dipakai untuk membaca user yang sedang login.

#### Kesiapan praktik

* Saya bisa memasang Laravel Breeze.
* Saya bisa menjalankan migration dan build aset setelah instalasi.
* Saya bisa membuat akun dan login ke aplikasi.
* Saya bisa mengunci route buku dengan middleware `auth`.
* Saya bisa menampilkan nama user login di halaman yang sudah dilindungi.

#### Kesiapan troubleshooting

* Saya tahu penyebab umum halaman login rusak setelah instalasi Breeze.
* Saya tahu kenapa route privat masih bisa terbuka tanpa login.
* Saya tahu kenapa `Auth::user()` bisa error saat dipakai di konteks yang salah.
* Saya tahu kapan harus mengecek session, middleware, dan route.
* Saya tahu kapan harus mengecek Node.js, npm, migration, dan database.

### Troubleshooting cepat BAB 9

Kalau login atau proteksi halaman belum jalan, cek tiga hal ini lebih dulu:

* pastikan migration Breeze sudah dijalankan
* pastikan `npm install` dan `npm run dev` sudah selesai
* pastikan route privat memang memakai middleware `auth`

### Langkah berikutnya setelah autentikasi

Di BAB 9, fokusnya adalah authentication.

Setelah itu, lanjutkan ke authorization untuk membatasi aksi admin dan user biasa di [13.4 Authorization Dasar](broken://spaces/8Yk11yM1XJGFgTaPkamt/pages/nBn3z1vxnUcO6uf1HFg2).

### Jika masih ada yang belum siap

{% hint style="warning" %}
Jangan buru-buru masuk ke BAB 10 jika alur login, session, dan middleware masih terasa kabur. Bab berikutnya akan mulai menghubungkan data antar tabel.
{% endhint %}

Bagian yang paling sering perlu diulang biasanya:

* konsep session dan middleware di 9.1
* instalasi Breeze di 9.2
* penguncian route dengan `auth` di 9.3
* penggunaan `Auth::user()` di 9.4

### Mini tugas mandiri

Sebelum masuk BAB 10, coba lakukan tantangan kecil ini:

1. logout dari aplikasi lalu pastikan halaman `/buku` tidak bisa diakses
2. login lagi lalu buka halaman `/buku`
3. tampilkan nama user yang sedang login di halaman daftar buku

Kalau tantangan ini bisa Anda kerjakan tanpa panik, berarti dasar autentikasi dan middleware Anda sudah cukup kuat.

### Lanjut ke bab berikutnya

Jika semuanya sudah siap, lanjut ke [10.1 Konsep Relasi One-to-Many](/laravel/bab-10-relasi-database/10.1-konsep-relasi-one-to-many.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-9-autentikasi-and-middleware/9.5-checkpoint-uji-pemahamanmu-sebelum-lanjut.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.
