MODUL PRAKTIKUM
Basis Data Perangkat Bergerak
Dalam pengembangan aplikasi mobile, basis data lokal memainkan peran penting dalam menyimpan dan mengelola data tanpa memerlukan koneksi internet. Beberapa teknologi yang umum digunakan dalam penyimpanan data lokal adalah SQLite, Room, dan Hive.
Modul ini akan membahas konsep dasar basis data dalam aplikasi mobile serta implementasi local storage menggunakan SQLite, Room (Android), dan Hive (Flutter). Setiap bagian akan dilengkapi dengan langkah-langkah praktikum serta lembar kerja peserta didik.
1. Konsep Basis Data dalam Aplikasi Mobile
1.1 Pengertian Basis Data dalam Aplikasi Mobile
Basis data dalam aplikasi mobile digunakan untuk menyimpan data secara lokal pada perangkat pengguna. Hal ini memungkinkan aplikasi tetap berfungsi tanpa koneksi internet.
1.2 Jenis Penyimpanan Data dalam Aplikasi Mobile
- Shared Preferences – Untuk menyimpan data dalam bentuk key-value.
- File Storage – Menyimpan data dalam bentuk file.
- Local Database – Menyimpan data dalam bentuk tabel, seperti SQLite, Room, dan Hive.
1.3 Keunggulan Local Database
- Data tetap tersedia meskipun aplikasi ditutup.
- Performa lebih cepat dibandingkan dengan basis data berbasis cloud.
- Tidak memerlukan koneksi internet untuk mengakses data.
2. Praktikum Local Storage dengan SQLite
2.1 Instalasi SQLite di Flutter
- Tambahkan dependensi di
pubspec.yaml
:dependencies: sqflite: ^latest_version path_provider: ^latest_version
- Buat model database di
database_helper.dart
:import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; class DatabaseHelper { static Database? _database; Future<Database> get database async { if (_database != null) return _database!; _database = await _initDatabase(); return _database!; } Future<Database> _initDatabase() async { String path = join(await getDatabasesPath(), 'my_database.db'); return await openDatabase(path, version: 1, onCreate: (db, version) { return db.execute( "CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)" ); }); } }
2.2 Lembar Kerja Peserta Didik
- Apa fungsi
openDatabase
dalam SQLite? - Jelaskan peran
Future<Database>
pada kode di atas. - Modifikasi tabel di atas agar memiliki kolom
email
.
3. Praktikum Local Storage dengan Room (Android)
3.1 Instalasi Room di Android (Kotlin)
- Tambahkan dependensi di
build.gradle
:dependencies { implementation "androidx.room:room-runtime:latest_version" kapt "androidx.room:room-compiler:latest_version" }
- Buat entity
User.kt
:@Entity(tableName = "users") data class User( @PrimaryKey(autoGenerate = true) val id: Int, val name: String, val age: Int )
- Buat DAO:
@Dao interface UserDao { @Insert suspend fun insert(user: User) @Query("SELECT * FROM users") fun getAllUsers(): List<User> }
3.2 Lembar Kerja Peserta Didik
- Apa perbedaan antara
@Entity
dan@Dao
dalam Room? - Ubah kode di atas agar mendukung update data pengguna.
4. Praktikum Local Storage dengan Hive (Flutter)
4.1 Instalasi Hive
- Tambahkan dependensi di
pubspec.yaml
:dependencies: hive: ^latest_version hive_flutter: ^latest_version
- Buat model Hive di
user.dart
:import 'package:hive/hive.dart'; @HiveType(typeId: 0) class User extends HiveObject { @HiveField(0) String name; @HiveField(1) int age; }
- Simpan dan ambil data di
main.dart
:void saveUser() { var box = Hive.box('myBox'); box.put('user', User(name: 'John', age: 25)); } User? getUser() { var box = Hive.box('myBox'); return box.get('user'); }
4.2 Lembar Kerja Peserta Didik
- Apa keunggulan Hive dibandingkan SQLite?
- Modifikasi kode di atas agar dapat menyimpan lebih dari satu pengguna.
Kesimpulan
Setelah menyelesaikan modul ini, peserta didik diharapkan dapat:
- Memahami konsep dasar basis data dalam aplikasi mobile.
- Mengimplementasikan penyimpanan data lokal menggunakan SQLite, Room, dan Hive.
- Mengembangkan aplikasi sederhana dengan fitur penyimpanan data lokal.
Evaluasi
- Buat aplikasi Flutter yang menggunakan SQLite untuk menyimpan daftar tugas harian.
- Implementasikan fitur pencarian data di aplikasi berbasis Room.
- Buat aplikasi Flutter menggunakan Hive untuk menyimpan daftar kontak.
Selamat belajar dan semoga sukses!
Tidak ada komentar:
Posting Komentar