Tutorial Belajar CRUD SQLite Menggunakan Room Database di Android

Hi semua, kali ini saya akan berbagi tentang bagaimana cara membuat aplikasi database CRUD sederhana di Android menggunakan Room dan Android Studio. Bagi yang belum tahu, Room atau Room Persistence Library adalah sebuah library yang berfungsi sebagai abstraction layer di atas SQLite database yang memungkinkan kita menggunakan SQLite dengan lebih mudah, efektif dan efisien.

Kita sudah belajar banyak tentang CRUD menggunakan SQLite di tutorial sebelumnya. Sekarang kita akan men-simplify proses CRUD pada SQLite dengan menggunakan Room library ini. Karena sebenarnya kita akan menggunakan SQLite database juga, hanya jika menggunakan Room berbeda cara pengaksesannya.

Perbedaan mendasar antara Room dan tutorial SQLite sebelumnya adalah :

  1. sqlite — Menggunakan SQLiteOpenHelper dan interface SQLite standar (DBHelper, dsb).
  2. room — Full abstraction menggunakan Room library dan akses yang lebih efisien.

Pada prinsipnya Room dibagi menjadi tiga buah komponen utama, yaitu Database, Entity, dan DAO :

  • Entity merepresentasikan data pada sebuah tabel seperti di database pada umumnya, dibuat menggunakan annotation pada java data object. Setiap entity mempunya satu tabel sendiri.
  • DAO (Data Access Object) menggambarkan method2 yang mengakses database, termasuk methods standar seperti CRUD (Create, Read, Update, Delete). Menggunakan annotation untuk mengikat SQL query ke suatu method.
  • Database adalah holder class yang menggunakan annotation untuk menampilkan daftar dari entity2 yang ada dan juga database version. Kelas ini juga berisi daftar dari DAO yang ada.

Penggambarannya bisa dilihat pada diagram Room Database di bawah ini :

Room Database

Room Database

Room ini juga termasuk ke dalam komponen library Architecture Android, dimana library lainnya akan saya coba bahas di lain kesempatan.

Membuat Aplikasi CRUD Menggunakan Room Database dan Android Studio

Oke itulah sedikit penjelasan tentang Room library di atas, dan sekarang kita akan langsung coba membuat sebuah aplikasi inventaris barang sederhana yang berfungsi untuk mencatat barang apa saja yang disimpan. Aplikasi ini berguna untuk mendemokan fungsi CRUD (Create, Read, Update, dan Delete) pada Room Database. Sebelum ke tutorial nya, kalian bisa baca-baca dulu pre-requisites di bawah ini :

Pre-requisites :

  1. Tutorial Database CRUD di Android Menggunakan SQLite
  2. Membuat Project Baru di Android Studio

Jika sudah, maka kalian bisa mengimport library Room pada project baru kalian dengan cara berikut.

Pada file build.gradle project kalian, import google() dependency pada repository di bagian buildscript dan juga allprojects

buildscript {
    
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

Setelah itu pada module-level build.gradle, import Room library pada bagian dependencies seperti di bawah ini

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "android.arch.persistence.room:runtime:1.0.0"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

Kemudian, kalian bisa lakukan sync gradle. Jika sudah selesai maka library Room sudah terpasang di project aplikasi Android kalian di Android Studio.

Entity

Entity adalah representasi class Java dari suatu object di dunia nyata. Pada aplikasi CRUD yang akan kita buat ini, entity nya adalah barang (dikarenakan kita akan membuat aplikasi inventaris barang). Object barang tersebut akan mempunyai attribut berupa :

  • id_barang (primary key)
  • nama_barang
  • merk_barang
  • harga_barang

Atribut-atribut itulah yang nantinya direpresentasikan ke dalam object Barang, yang akan digunakan sebagai entity pada Room database di aplikasi yang akan kita buat.

Tutorial ini sendiri nantinya akan dibagi menjadi beberapa bagian seperti berikut :

  1. Membuat Entity, DAO, dan Database menggunakan Room di Android (link)
  2. Membuat Fungsi Create Data menggunakan Room Database (link)
  3. Membuat Fungsi Read Data menggunakan Room Database (link)
  4. Membuat Fungsi Update/Edit Data menggunakan Room Database(link)
  5. Membuat Fungsi Delete Data menggunakan Room Database(link)
  6. Membuat Fungsi Get Detail Data menggunakan Room Database(link)

Nantikan kelanjutannya ya. Source code dari tutorial Room ini juga tersedia di GitHub saya.

Jika belum mengerti silahkan bertanya di kolom komentar. Thanks 😉





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

Leave a Reply

Do NOT follow this link or you will be banned from the site!