SQLite Dasar dengan sqflite: Membuat Tabel dan Menyimpan Data

Editor kode untuk pengembangan web

Tujuan Pembelajaran

  • Menginstal dan mengonfigurasi paket sqflite.
  • Membuat dan membuka database lokal.
  • Membuat tabel dan menjalankan perintah CREATE.
  • Memasukkan data menggunakan INSERT dan menampilkannya.

Uraian Materi

sqflite adalah paket resmi untuk SQLite di Flutter. Pertama tambahkan pada pubspec.yaml:

YAML
dependencies:
  sqflite: ^2.3.3
  path: ^1.9.0

Membuat dan Membuka Database

Database dibuka menggunakan helper sqflite. Versi database penting untuk migrasi skema di masa mendatang.

Dart
final db = await openDatabase(
  path.join(await getDatabasesPath(), 'katalog.db'),
  version: 1,
  onCreate: (db, version) async {
    await db.execute('''
      CREATE TABLE barang (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nama TEXT NOT NULL,
        harga REAL
      )
    ''');
  },
);

Menampilkan Data dengan ListView

Data hasil query ditampilkan menggunakan FutureBuilder atau pola load-async yang disimpan ke state lalu dirender pada ListView. Ini eksplorasi awal sebelum dibungkus CRUD penuh.

Dart
final rows = await db.query('barang', orderBy: 'nama');
// setState(() => itemList = rows);

Struktur Lapisan Data (Helper)

Lebih baik memisahkan fungsi database ke file db_helper.dart berisi class <DatabaseHelper> dengan method statis. Arsitektur ini membuat pemeliharaan kode lebih mudah. Peserta dibiasakan memisahkan lapisan data dari lapisan antarmuka.

Peran Versi Database

Parameter version pada openDatabase menentukan skema database. Ketika struktur tabel berubah di rilis mendatang, versi dinaikkan dan migrasi dijalankan di onUpgrade. Konsep ini penting agar update aplikasi tidak merusak data lama pengguna.

Memasukkan Data dengan Aman

Untuk mencegah kesalahan sintaks, parameter placeholder seperti tanda tanya (?) disisipkan pada perintah SQL dan nilainya diberikan lewat argumen tersendiri. Cara ini lebih aman dibanding langsung menyisipkan teks ke dalam string SQL, sekaligus menjaga data dari nilai yang tidak diinginkan.

Memetakan Baris Menjadi Objek

Hasil query berupa daftar Map. Mengubah setiap baris menjadi objek model menggunakan method fromMap memudahkan pengolahan pada antarmuka. Peserta menulis class model beserta fungsi konversi agar kode tetap bersih dan terbaca.

Menampilkan Data pada Antarmuka

Setelah data disimpan, antarmuka memuat dan menyajikannya. Untuk penyegaran otomatis, data dimuat ulang setiap kali halaman tampil atau setelah operasi selesai. Peserta menerapkan pola sederhana ini sebelum masuk ke pembaruan state lebih lanjut.

Aktivitas Pembelajaran

  • Menambahkan sqflite dan path pada proyek.
  • Membuat helper database beserta tabel barang.
  • Menjalankan INSERT dan mengecek data tersimpan.
  • Menampilkan hasil query pada ListView.

Tugas dan Latihan

  • Buat class DatabaseHelper dengan method openDatabase dan table barang (id, nama, harga, stok).
  • Tambah data awal dan tampilkan nilainya.
  • Periksa database melalui extension VS Code atau alat sqlite.

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 *