Lewati ke konten utama
menjadi.dev
Chapter 4.5 Data & Storage Menengah

Kapan Pakai Cookie, Storage, atau Database?

Memilih tempat penyimpanan yang tepat

Tujuan Pembelajaran

  • Bisa memilih mekanisme penyimpanan yang tepat
  • Mengerti trade-off masing-masing

Analogi

Diagram

      Pilih Tempat Sesuai Barang:

Token login → Cookie (HttpOnly) → Aman, auto-kirim
Theme UI    → localStorage      → Persisten, besar
Form draft  → sessionStorage   → Hilang saat tutup
Data user   → Database (SQL)   → Terstruktur, aman
Log aplikasi→ Database (NoSQL) → Fleksibel
    

Pilih penyimpanan sesuai kebutuhan

Penjelasan Konsep

Sekarang kamu sudah kenal berbagai mekanisme penyimpanan.

Pertanyaannya: kapan pakai yang mana?

Untuk data sensitif yang perlu dikirim ke server setiap request.

  • ✅ Token autentikasi (dengan HttpOnly + Secure)
  • ❌ Max 4KB

localStorage

Untuk data persisten dan tidak sensitif.

  • ✅ Theme preference,

Cache

  • ❌ Jangan simpan token JWT (rentan XSS)

sessionStorage

Untuk data sementara.

  • ✅ Form draft, state halaman

SQL Database

Untuk data terstruktur.

  • ✅ User, produk, transaksi

NoSQL Database

Untuk data fleksibel berskala besar.

  • ✅ Log, analytics, content

Inti yang Perlu Dipahami

Bagian ini berfokus pada bisa memilih mekanisme penyimpanan yang tepat., dan mengerti trade-off masing-masing. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Kapan Pakai Cookie, Storage, atau Database?, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Pilih penyimpanan sesuai kebutuhan. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa javascript. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Baris 2-10: Decision tree. Baris 5: Sensitif → cookie. Baris 7: Sementara → sessionStorage. Baris 9: Default → localStorage.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sedang berada di bagian fondasi. Jangan terburu-buru ingin langsung bikin aplikasi besar — pahami dulu cara kerja dasarnya. Semua modul selanjutnya dibangun di atas pemahaman ini.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

javascript
// DECISION TREE
function pilihStorage({ sensitive, temporary }) {
  if (sensitive) return 'server-set-cookie';
  if (temporary) return 'sessionStorage';
  return 'localStorage';
}

// Data sensitif seperti session token harus diset server:
// Set-Cookie: session=abc123; HttpOnly; Secure; SameSite=Lax; Path=/

// Data non-sensitif boleh di browser storage
localStorage.setItem('theme', 'dark');
sessionStorage.setItem('formDraft', JSON.stringify({ title: '' }));

Penjelasan Kode

Baris 2-10: Decision tree. Baris 5: Sensitif → cookie. Baris 7: Sementara → sessionStorage. Baris 9: Default → localStorage.

Prompt AI

Jelaskan kenapa tidak disarankan menyimpan JWT di localStorage. Apa risiko XSS?

Pertanyaan Reflektif

Analisis aplikasimu. Buat tabel: data apa, disimpan di mana, dan kenapa.