JavaScriptTingkat: Menengah7 min

Penyimpanan Klien Terstruktur dengan IndexedDB API

Simpan data berskala besar, file blob, dan objek terstruktur di sisi browser dengan basis data transaksional NoSQL bawaan: IndexedDB.

Mengapa IndexedDB Menggantikan localStorage?

Pratinjau Terbuka

localStorage dibatasi sekitar 5MB dan bersifat sinkronus sehingga dapat memblokir thread UI. IndexedDB bersifat asynchronous, mendukung transaksi ACID, indeks multi-kunci, dan kapasitas penyimpanan hingga ratusan megabyte.

Contoh Kode Sintaks
// Membuka database IndexedDB
const request = indexedDB.open("AzzamStorageDB", 1);

request.onupgradeneeded = (e) => {
    const db = e.target.result;
    if (!db.objectStoreNames.contains("proyek")) {
        const store = db.createObjectStore("proyek", { keyPath: "id" });
        store.createIndex("kategori", "kategori", { unique: false });
    }
};

request.onsuccess = (e) => {
    const db = e.target.result;
    // Membuka transaksi baca/tulis
    const tx = db.transaction("proyek", "readwrite");
    const store = tx.objectStore("proyek");
    
    store.put({ id: 101, judul: "Sistem Portofolio", kategori: "Web" });
    console.log("Data proyek berhasil disimpan ke IndexedDB.");
};

Live Compiler Runner

Akses Kursus Wajib Login

Buka Akses Penuh Silabus & Praktikum

Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.

145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi