Tujuan Pembelajaran
- Menginstal dan menginisialisasi Hive.
- Menyimpan dan membaca data sederhana dengan Hive.
- Menggunakan box dan TypeAdapter untuk objek.
- Membandingkan pendekatan Hive versus SQLite.
Uraian Materi
Hive adalah database lokal berperforma tinggi, murni Dart, tanpa mesin eksternal atau kueri SQL. Data disimpan dalam struktur biner pada perangkat. Keunggulan utamanya kecepatan dan kemudahan menyimpan objek Dart secara langsung.
Tambah dependensi lalu inisialisasi sebelum runApp:
dependencies:
hive: ^2.2.3
hive_flutter: ^1.1.0
void main() async {
await Hive.initFlutter();
Hive.registerAdapter(BarangAdapter());
await Hive.openBox('katalog');
runApp(const MyApp());
}Menyimpan dan Membaca Data
Box ibarat container data. Operasi dasar melibatkan menulis dengan add/put dan membaca lewat nilai indeks atau key.
final box = Hive.box('katalog');
box.add(Barang(nama: 'Laptop', harga: 8000000));
final semua = box.values.toList();
final count = box.length;Tipe Data Kustom dan Adapter
Untuk menyimpan objek, perlu TypeAdapter yang mengubah objek menjadi biner dan sebaliknya. Adapter dihasilkan otomatis dengan hive_generator build_runner atau ditulis manual. Konsep ini menjadi contoh bagaimana Hive melayani skema bebas tanpa SQL.
Hive untuk Larik dan Maps
Selain objek, Hive menyimpan tipe dasar seperti List dan Map, sehingga mudah menyimpan hasil kueri atau cache dari serangan API server – berguna pada aplikasi yang sedikit offline.
Menutup Modul Penyimpanan Lokal
Dengan berhasilnya CRUD SQLite dan penyimpanan Hive, peserta menyelesaikan modul penyimpanan lokal. Aplikasi kini sanggup menyimpan data permanen di perangkat, menjadi dasar pengembangan menuju integrasi server.
Kapan Memilih Hive
Hive cocok untuk data berbasis objek yang diakses sering dan bersifat lokal, seperti cache, catatan sederhana, atau pengaturan kompleks. Dibanding SQLite, Hive lebih sederhana tanpa perlu menulis kueri SQL, namun kurang cocok untuk kueri relasional yang kompleks.
Memahami Box dan Key
Box adalah wadah penyimpanan data pada Hive. Setiap data dapat diberikan key, atau memakai key otomatis ketika menggunakan add. Konsep ini mirip map berindeks cepat dan cukup berperan untuk memahami operasi baca-tulis Hive.
Peran TypeAdapter untuk Objek Kustom
Agar objek Dart yang kompleks dapat disimpan, Hive membutuhkan TypeAdapter yang mengubah objek menjadi representasi biner. Adapter menuliskan cara membaca dan menulis setiap field. Peserta melihat bagaimana Hive mendukung skema fleksibel tanpa struktur tabel kaku.
Perbandingan Akhir Modul Penyimpanan
Dengan penguasaan SQLite dan Hive, peserta dapat membandingkan kekuatan masing-masing: SQLite unggul pada kueri relasional dan laporan, Hive unggul pada kecepatan objek sederhana. Kemampuan memilih media yang tepat merupakan kompetensi inti yang dibawa ke proyek akhir.
Catatan Materi
Pada pertemuan ini dilaksanakan Kuis 1 (sesuai jadwal). Perhatikan bahwa slide Kuis 1 pada modul memakai label ‘Tugas 2’; samakan penamaan tersebut dengan modul agar tidak menimbulkan kebingungan saat pelaksanaan penilaian.
Aktivitas Pembelajaran
- Menginstal paket Hive dan menginisialisasi.
- Membuat box dan menyimpan data sederhana.
- Menulis TypeAdapter untuk objek Barang.
- Membandingkan hasil CRUD Hive dengan SQLite.
Tugas dan Latihan
- Simpan data barang ke Hive dan tampilkan dalam ListView.
- Registered TypeAdapter untuk objek kompleks pengguna.
- Evaluasi kapan memilih Hive dibanding SQLite untuk satu kasus.
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.

