Konsep Database Lokal dan Pengenalan Persistensi Data

Editor kode untuk pengembangan web

Tujuan Pembelajaran

  • Menjelaskan kebutuhan penyimpanan data lokal.
  • Membandingkan SQLite, Hive, dan SharedPreferences.
  • Memahami skema tabel, primary key, dan relasi.
  • Mengidentifikasi kapan menggunakan masing-masing media penyimpanan.

Uraian Materi

Data yang dimasukkan pengguna seharusnya tetap ada meski aplikasi ditutup. Itulah fungsi persistensi lokal. Terdapat beberapa pilihan utama di Flutter: SharedPreferences untuk data kecil berbentuk pasangan kunci-nilai (seperti preferensi), SQLite untuk data terstruktur relasional, dan Hive untuk penyimpanan cepat berbasis key-value/objek.

Perbandingan Media Penyimpanan

SharedPreferences sederhana namun terbatas untuk data kompleks. SQLite cocok untuk data bertabel dengan kueri relasional. Hive memberikan kinerja tinggi tanpa kueri SQL karena menyimpan objek Dart langsung. Pemilihan bergantung pada jenis data dan kebutuhan akses.

Konsep Basis Data Relasional

SQLite menyimpan data dalam tabel. Tiap tabel memiliki kolom (atribut) dan baris (record). Primary key mengidentifikasi baris secara unik, sedangkan foreign key menghubungkan tabel satu dengan lainnya. Contoh skema tabel produksi/barang:

SQL
CREATE TABLE barang (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  nama TEXT NOT NULL,
  harga REAL,
  stok INTEGER
);

Kriteria Memilih

Sebagai panduan: gunakan SharedPreferences untuk pengaturan kecil, SQLite untuk transaksi dan laporan yang memerlukan kueri, dan Hive untuk cache serta data berbasis objek berkinerja tinggi. Peserta diajak memetakan kebutuhan aplikasinya ke media penyimpanan paling tepat.

Rancangan untuk Tugas

Pertemuan ini menjadi fondasi desain skema sebelum implementasi CRUD. Peserta merancang model data aplikasi toko/barang yang akan dibangun pada pertemuan berikutnya, termasuk kolom, tipe, dan relasi yang diperlukan.

Kebutuhan Persistensi Data

Data pada memori hilang begitu aplikasi ditutup. Persistensi memastikan data tersimpan di penyimpanan perangkat sehingga tetap ada pada sesi berikutnya. Pemahaman ini menjawab pertanyaan dasar mengapa aplikasi perlu menyimpan data meskipun hanya bekerja di satu perangkat.

Membedah Tipe Data dan Primary Key

Setiap kolom memiliki tipe: teks (TEXT), bilangan bulat (INTEGER), bilangan desimal (REAL), dan nilai kebenaran (INTEGER bernilai 0/1). Primary key memastikan tiap baris unik dan dipergunakan sebagai rujukan relasi. Pemilihan tipe yang tepat menjaga integritas data awal.

Normalisasi dan Menghindari Duplikasi

Penyimpanan yang baik menghindari data berulang dengan memisahkan entitas, misal tabel barang dan tabel kategori terpisah. Peserta diperkenalkan konsep dasar normalisasi tanpa mendalami matematika formal, cukup menyadari manfaat pemisahan data untuk konsistensi dan kemudahan laporan.

Rancangan Sebelum Implementasi

Merancang skema sebelum menulis kode mencegah perombakan saat aplikasi berkembang. Peserta menggambar tabel beserta kolom dan relasinya di atas kertas, lalu memvalidasi rancangan bersama guru sebelum mulai mengimplementasikan CRUD.

Catatan Materi

Tugas praktikum pada modul Penyimpanan Lokal mencantumkan latihan berbasis Firebase. Apabila aplikasi belum terintegrasi Firebase pada tahap ini, latihan dapat disesuaikan dengan mengarahkan peserta pada pengembangan Firebase yang akan dibahas pada modul integrase (pertemuan 25-28), sambil tetap menyelesaikan fondasi penyimpanan lokal SQLite/Hive.

Aktivitas Pembelajaran

  • Menjelaskan pentingnya persistensi lokal.
  • Membandingkan SharedPreferences, SQLite, dan Hive.
  • Merancang skema tabel untuk data aplikasi.
  • Menentukan media penyimpanan yang tepat untuk satu studi kasus.

Tugas dan Latihan

  • Rancang skema tabel database untuk aplikasi toko (barang, kategori).
  • Jelaskan kapan memakai SQLite dibanding SharedPreferences.
  • Siapkan daftar data awal (seed) untuk pengujian CRUD.

Evaluasi

Evaluasi dilakukan melalui pengamatan hasil praktikum, kuis singkat di akhir pertemuan, dan pemantauan proyek. Peserta yang belum mencapai indikator tertentu diberikan remedial melalui bimbingan ulang dan latihan tambahan pada pertemuan berikutnya.

Panduan umum praktik, catatan belajar, dan refleksi tersedia di Panduan Belajar Kribbi Study.

No Comment! Be the first one.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *