Menyiapkan Akses Database lokal SQLite dalam Flutter
1. Menambahkan dependencies
Bukalah file pubspec.yaml lalu pada bagian dependencies masukan ini:
sqflite: ^2.4.2+1
path: ^1.9.1
Lalu simpan dan ketik perintah ini di terminal:
flutter pub get
Keterangan:
sqflite adalah Plugin dalam Flutter yang digunakan untuk berinteraksi dengan database SQLite
^2.4.2+1 adalah versi terbaru saat tulisan ini dibuat
path adalah Plugin dart yang berhubungan dengan filepath
2. Membuat Koneksi ke Database
Bukalah file helper.dart lalu tambahkan kode berikut ini:
Future<Database> bukaDb() async {
final pathDb = await getDatabasesPath();
final lokasiFiledb = join(pathDb, ‘db_coba.db’);
return openDatabase(
lokasiFiledb,
onCreate: (db, versi) {
bikinTabelMurid(db, versi);
},
version: 1,
);
}
Keterangan:
getDatabasesPath() adalah fungsi dari paket sqflite untuk mengambil lokasi database default
join(pathDb, ‘db_coba.db’) digunakan untuk menambahkan nama file db_coba.db ke variabel pathDb, dengan fungsi join ini maka pemisah direktori akan ditentukan sesuai sistem operasi yang digunakan
3. Membuat Tabel Murid
Masih dalam file helper.dart, tambahkanlah kode berikut ini:
Future bikinTabelMurid(Database db, int versi) async {
String kuery =
‘CREATE TABLE IF NOT EXISTS murid(id INTEGER PRIMARY KEY, nama VARCHAR(40), tempat_lahir VARCHAR(50), tgl_lahir VARCHAR(10), jkel CHARACTER(1), alamat TEXT )’;
await db.execute(kuery);
}
Keterangan:
db.execute(kuery) -> fungsi execute digunakan untuk menjalankan isi dari variabel kuery
4. Masukin data ke Tabel Murid
Masih dalam file helper.dart, tambahkanlah kode berikut ini:
Future<int> masukinDataMurid(Map<String, dynamic> dataMurid) async {
int hasil = 0;
Database db = await bukaDb();
hasil = await db.insert(‘murid’, dataMurid);
return hasil;
}
Keterangan:
db.insert(‘murid’, dataMurid) -> fungsi insert digunakan untuk masukin variabel dataMurid ke tabel murid, tipe datanya harus Map<String, dynamic>
5. Update data pada Tabel Murid
Masih dalam file helper.dart, tambahkanlah kode berikut ini:
db.update(‘murid’,dataMurid,where: “id=?”,whereArgs: [dataMurid[‘id’]],); -> fungsi update disini digunakan untuk update data dari isi variabel dataMurid ke tabel murid berdasarkan id
6. Hapus data dari Tabel Murid
Masih dalam file helper.dart, tambahkanlah kode berikut ini: