> 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/php/bab-9-session-and-autentikasi/9.1-konsep-session-and-cookie.md).

# 9.1 Konsep Session & Cookie

Session dan cookie dipakai untuk menyimpan informasi antar request.

Bagian ini menjelaskan fungsi masing-masing dan kapan sebaiknya digunakan.

### Video pengantar

Tonton video ini untuk mendapat gambaran awal sebelum lanjut ke materi inti.

{% embed url="<https://youtu.be/PiYKZ65dkqc?si=q6lTRAVlCQUpZO5L>" %}

### Tujuan belajar

Setelah mempelajari bagian ini, Anda diharapkan bisa:

* memahami fungsi session dan cookie
* membedakan penyimpanan di server dan di browser
* mengetahui kapan session lebih cocok dipakai

### Kenapa session dan cookie dibutuhkan

Setiap request pada web pada dasarnya berdiri sendiri.

Artinya, setelah satu halaman selesai dimuat, server tidak otomatis mengingat pengguna sebelumnya kecuali ada mekanisme penyimpanan tertentu.

Di sinilah session dan cookie dipakai.

### Apa itu session

Session adalah penyimpanan data sementara di sisi server.

Session cocok untuk data seperti:

* status login
* id pengguna yang sedang aktif
* pesan sementara setelah proses tertentu

### Contoh session sederhana

```php
<?php
session_start();

$_SESSION["nama"] = "Rina";
echo $_SESSION["nama"];
?>
```

### Apa itu cookie

Cookie adalah data kecil yang disimpan di browser pengguna.

Cookie cocok untuk kebutuhan seperti:

* mengingat preferensi sederhana
* menyimpan informasi non-sensitif

### Perbedaan session dan cookie

Perbedaan paling penting:

* session disimpan di server
* cookie disimpan di browser
* session lebih cocok untuk data penting seperti login
* cookie lebih cocok untuk informasi ringan

### Contoh cookie sederhana

```php
<?php
setcookie("tema", "gelap", time() + 3600);
?>
```

### Kapan memakai session

Gunakan session saat:

* pengguna sudah login
* aplikasi perlu menjaga status antarhalaman
* data tidak sebaiknya disimpan langsung di browser

### Kesalahan umum

* lupa `session_start()`
* mengira cookie aman untuk data penting
* bingung membedakan penyimpanan browser dan server

### Latihan singkat

Coba buat:

* satu contoh session untuk menyimpan nama pengguna
* satu contoh cookie untuk menyimpan tema tampilan

Lalu jelaskan mana yang lebih cocok untuk login.

### Poin evaluasi bab 9.1.

Pastikan Anda sudah memahami poin berikut:

* Saya paham fungsi session dan cookie.
* Saya tahu perbedaan sisi server dan sisi browser.
* Saya tahu session lebih cocok untuk status login.
* Saya bisa membaca contoh penggunaan dasar session.

Jika semua sudah jelas, lanjut ke [9.2 Fitur Login & Logout](/php/bab-9-session-and-autentikasi/9.2-fitur-login-and-logout.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/php/bab-9-session-and-autentikasi/9.1-konsep-session-and-cookie.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.
