javascript local storage session storage | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: javascript local storage session storage

Saturday, April 18, 2026

javascript local storage session storage

Artikel 10 dari 14 🗄️ Web Storage JavaScript Beginner Friendly
🗃️

localStorage & sessionStorage

Simpan Data di Browser Tanpa Server

Pernah buka website, isi form panjang-panjang, terus salah klik dan semua data hilang? Nah, localStorage dan sessionStorage JavaScript hadir buat menyelamatkan pengalaman buruk itu — langsung dari browser, tanpa butuh server sama sekali.

12 menit baca
📊 Level: Pemula
📅 2026

Bayangkan kamu pergi belanja ke supermarket, sudah susah payah memasukkan banyak barang ke keranjang, lalu tiba-tiba mati lampu. Begitu listrik menyala lagi — keranjangmu kosong. Frustrasi, kan?

Itulah yang terjadi di banyak website tanpa mekanisme penyimpanan data. Untungnya, JavaScript punya solusi elegan: localStorage dan sessionStorage — dua fitur Web Storage API yang memungkinkan kamu menyimpan data langsung di browser, tanpa perlu database atau server. Di artikel ke-10 dari Seri Belajar JavaScript from Zero to Zorro ini, kita akan bongkar tuntas cara kerja, perbedaan, dan implementasi praktisnya!

📐 Definisi Kunci

Web Storage API adalah mekanisme bawaan browser yang memungkinkan aplikasi web menyimpan pasangan key-value secara lokal di perangkat pengguna.

Ada dua jenisnya: localStorage (data permanen sampai dihapus manual) dan sessionStorage (data hilang begitu tab/browser ditutup). Keduanya mampu menyimpan hingga 5–10 MB data per origin.

🧠 Apa Itu localStorage dan sessionStorage JavaScript?

Anggap saja browser-mu punya dua jenis laci:

  • 🗄️ localStorage = Laci permanen. Kamu simpan sesuatu, besok buka browser lagi, masih ada. Cocok buat preferensi pengguna, tema dark/light, atau data login ringan.
  • 📋 sessionStorage = Laci sementara. Cuma aktif selama satu sesi (tab terbuka). Begitu kamu tutup tab — poof, hilang. Cocok buat wizard form multi-langkah atau data checkout sementara.

Keduanya menggunakan sintaks yang hampir identis — bedanya cuma nama objeknya. Inilah yang bikin Web Storage API sangat mudah dipelajari!

🔥
Fakta Menarik

Sebelum Web Storage API ada (2009), developer terpaksa menyimpan data kecil menggunakan cookies — yang punya limit hanya 4KB dan selalu dikirim ke server di setiap request. Bayangkan betapa borosnya bandwidth waktu itu!

📊 Tabel Perbandingan: localStorage vs sessionStorage vs Cookie

Fitur localStorage sessionStorage Cookie
Kapasitas 5–10 MB 5–10 MB ~4 KB
Durasi Permanen Per sesi tab Bisa diatur
Dikirim ke server ❌ Tidak ❌ Tidak ✅ Ya (setiap request)
Akses dari JS ✅ Mudah ✅ Mudah ⚠️ Lumayan
Keamanan Rentan XSS Rentan XSS HttpOnly option

⚙️ Cara Menyimpan Data di Browser: Panduan Lengkap localStorage JavaScript

Web Storage API bekerja dengan sistem key-value — seperti kamus. Kamu simpan data dengan "nama" tertentu (key), dan nanti ambil lagi pakai nama yang sama. Sintaksnya super bersih dan intuitif.

4 Operasi Dasar Web Storage (CRUD)

1

Simpan Data — setItem()

Gunakan setItem(key, value) untuk menyimpan data. Ingat: value harus berupa string!

// localStorage — tersimpan permanen
localStorage.setItem('nama', 'Budi Santoso');
localStorage.setItem('tema', 'dark');

// sessionStorage — hanya selama tab terbuka
sessionStorage.setItem('langkahForm', '2');

// Menyimpan object? Gunakan JSON.stringify!
const user = { nama: 'Budi', umur: 25, kota: 'Jakarta' };
localStorage.setItem('userData', JSON.stringify(user));
2

Ambil Data — getItem()

Gunakan getItem(key) untuk mengambil data. Jika key tidak ada, hasilnya null.

const nama = localStorage.getItem('nama');
console.log(nama); // Output: "Budi Santoso"

// Mengambil object — gunakan JSON.parse()
const userRaw = localStorage.getItem('userData');
const user = JSON.parse(userRaw);
console.log(user.nama); // Output: "Budi"
console.log(user.kota); // Output: "Jakarta"
3

Hapus Data — removeItem() & clear()

// Hapus satu item saja
localStorage.removeItem('nama');

// Hapus SEMUA data localStorage (hati-hati!)
localStorage.clear();
4

Cek Jumlah Item — .length

console.log(localStorage.length); // Total item tersimpan
// Iterasi semua key
for (let i = 0; i < localStorage.length; i++) {
  const key = localStorage.key(i);
  console.log(key, localStorage.getItem(key));
}
💡
Tips Penting

Web Storage hanya bisa menyimpan string. Untuk menyimpan array atau object, kamu wajib menggunakan JSON.stringify() saat menyimpan dan JSON.parse() saat mengambilnya. Ini adalah pola yang paling sering dipakai dalam dunia nyata!

🛠️ Proyek Mini: To-Do List dengan localStorage JavaScript

Teori tanpa praktik itu membosankan. Yuk langsung bangun aplikasi To-Do List sederhana yang datanya tetap tersimpan walau browser di-refresh! Inilah keajaiban localStorage untuk menyimpan data di browser secara nyata.

📄 index.html

<div id="app">
  <h1>📝 To-Do List</h1>
  <input type="text" id="inputTodo" placeholder="Tambah tugas baru...">
  <button onclick="tambahTodo()">Tambah</button>
  <ul id="listTodo"></ul>
</div>

⚡ script.js

// Ambil data saat halaman pertama kali dibuka
let todos = JSON.parse(localStorage.getItem('todos')) || [];

function tampilkanTodo() {
  const list = document.getElementById('listTodo');
  list.innerHTML = '';
  todos.forEach((todo, index) => {
    list.innerHTML += `<li>
      ${todo} 
      <button onclick="hapusTodo(${index})">❌</button>
    </li>`;
  });
}

function tambahTodo() {
  const input = document.getElementById('inputTodo');
  if (!input.value.trim()) return;
  
  todos.push(input.value.trim());
  localStorage.setItem('todos', JSON.stringify(todos)); // Simpan!
  input.value = '';
  tampilkanTodo();
}

function hapusTodo(index) {
  todos.splice(index, 1);
  localStorage.setItem('todos', JSON.stringify(todos)); // Update!
  tampilkanTodo();
}

// Jalankan saat halaman dimuat
tampilkanTodo();
Insight Penting

Perhatikan pola ambil → modifikasi → simpan? Itu adalah workflow standar localStorage dalam aplikasi nyata. Kamu tidak bisa langsung "push" ke localStorage — kamu harus ambil array-nya dulu, modifikasi, lalu simpan ulang sebagai string JSON.

🎯 Kapan Menggunakan localStorage vs sessionStorage untuk Menyimpan Data Browser?

Memilih antara keduanya bukan soal mana yang lebih "canggih" — tapi soal kebutuhan datanya. Gunakan analogi ini:

🗺️ Panduan Memilih Storage yang Tepat

🗄️
Pilih localStorage
  • Preferensi tema (dark/light mode)
  • Bahasa pilihan pengguna
  • History pencarian
  • Data onboarding / tutorial
  • Bookmark atau favorit
📋
Pilih sessionStorage
  • Data form multi-langkah
  • Status langkah wizard checkout
  • Filter sementara halaman
  • Data autentikasi sesi
  • Undo/redo sementara
⚠️
Perhatian!

Jangan simpan data sensitif seperti password, token autentikasi penting, atau informasi kartu kredit di localStorage/sessionStorage! Keduanya rentan terhadap serangan XSS (Cross-Site Scripting). Untuk data sensitif, gunakan cookie dengan flag HttpOnly dan Secure, atau simpan di server.

💡
Tips Debugging

Mau lihat isi localStorage langsung? Buka DevTools browser (F12) → tab Application → lihat bagian Storage → Local Storage. Di sana kamu bisa melihat, mengedit, bahkan menghapus data secara manual. Fitur wajib untuk debugging!

#localStorage #sessionStorage #JavaScript #WebStorage #BelajarJavaScript #Tutorial
🎯

Kesimpulan: Kuasai Web Storage, Buat Aplikasi yang Lebih Pintar

Hari ini kamu sudah mempelajari dua senjata rahasia JavaScript untuk menyimpan data di browser tanpa server:

  • localStorage — untuk data yang perlu bertahan permanen (preferensi, tema, bookmark)
  • sessionStorage — untuk data sementara per sesi tab (form, wizard, filter)
  • JSON.stringify/parse — wajib dipakai untuk menyimpan object dan array
  • Selalu perhatikan keamanan data — jangan simpan informasi sensitif!

Dengan menguasai localStorage dan sessionStorage JavaScript, aplikasi web yang kamu buat akan terasa lebih responsif dan pintar — karena data pengguna tersimpan dengan aman di perangkat mereka. Di artikel berikutnya, kita akan masuk ke dunia Asynchronous JavaScript — salah satu konsep terpenting sekaligus paling sering bikin bingung. Siap?

📚 Seri Lengkap

JavaScript from Zero to Zorro

14 Artikel belajar JavaScript dari nol hingga bisa bikin aplikasi web nyata

🗂️ DAFTAR ISI UTAMA
Lihat Semua 14 Artikel Seri →
01 Kenalan dengan JavaScript
02 Variabel, Tipe Data, Operator
03 Kontrol Alur: if, else, Loop
04 Fungsi JavaScript
05 Array dan Object
06 DOM & Kontrol Elemen HTML
07 Event & Interaksi
08 Manipulasi Form & Input
09 Manipulasi CSS dengan JS
10 ← Kamu di sini: localStorage
11 Async: Callback & Promise
12 Fetch API & AJAX
13 JavaScript Modular
14 Proyek Mini: Aplikasi Web

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux