Cara Membuat Aplikasi CRUD Menggunakan Room Database di Android


Assalamualaikum Warahmatullahi Wabarakatuh.

Beberapa hari yang lalu saya mencoba sebuah library yang memungkinkan kita membuat aplikasi CRUD (Create, Read, Update, Deleter) SQLite menjadi lebih mudah, efektif dan efisien, library tersebut bernama Room Database atau Room Persistance Library, yaitu sebuah library yang digunakan sebagai abstraction layer di atas SQLite Database.



Pada tutorial sebelumnya kita pernah mebahas mengenai penggunaan SQLite Database untuk memebuat aplikasi CRUD, jika kalian pernah mempelajarinya, jadi saya rasa disini kita tidak akan membahasn panjang lebar mengenai SQLite Database lagi, tetapi kita akan coba membuat aplikasi CRUD SQLite dengan sedikit berbeda yaitu menggunakan library Room Database.

Materi CRUD lainnya yang direkomendasikan :

Sebenarnya kita tetap menggunakan SQLite Database, hanya saja ada beberapa perbedaan saat kita membuat app CRUD SQLite dengan Room Database.

Berikut ini perbedaan mendasar antara SQLite dengan Room Database :
  • SQlite : Menggunakan class seperti SQLiteOpenHelper dan interface standar lainnya seperti DBhelper, dsb.
  • Room Database : Full Abstraction menggunakan Room Library yang lebih efisien, karena sudah menyediakan method siap pakai yang lebih mudah untuk digunakan.

Ada 3 buah komponen utama didalam Room Database, yaitu Entity, DAO dan Database :
  1. Entity : Seperti database pada umumnya, entity digunaka untuk merepresentasikan data pada sebuah tabel, contohnya seperti id, nama, dsb.
  2. DAO (Data Accsess Object) : Menggambarkan sebuah method-method khusus atau standar untuk mengakses database, termasuk salah satunya CRUD (Create, Read, Update, Delete).
  3. Database : adalah class holder yang digunakan untuk menampilkan daftar dari entity yang ada dan kelas ini juga berisi daftar dari DAO serta database version.

Gambaranya bisa kalian lihat pada diagram Room Database berikut ini.


Pada tutorial ini kita akan belajar membuat aplikasi CRUD sederhana, yaitu aplikasi pendataan Mahasiswa baru menggunakan Room Database, jadi kemungkinan data pada entity yang akan kita buat seperti :
  • NIM (Primary Key)
  • Nama
  • Jurusan
  • Tanggal Lahir
  • dsb

Atribut-atribut tersebut yang nantinya akan direpresentasikan ke dalam object Mahasiswa, yang akan digunakan sebagai entity pada Room database di project aplikasi yang akan kita buat.
Pertama sebelum kita menggunakan Room Database, kita berlu menambahkan kedua library berikut ini kedalam dependencies pada file build.gradle (app level).
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
Setelah itu lakukan sync gradle. Jika sudah selesai maka library Room akan terpasang di project aplikasi Android tersebut.

Materi pada tutorial ini terbagi menjadi 6 bagian, yaitu :
  1. Belajar Membuat Entity, DAO, dan Database pada Room Database (Link)
  2. Belajar Membuat Fungsi Insert Data pada Room Database (Link)
  3. Cara Membuat Fungsi Read Data menggunakan Room Database (Link)
  4. Cara Membuat Fungsi Update/Edit Data menggunakan Room Database (Link)
  5. Cara Membuat Fungsi Delete Data menggunakan Room Database (Link)
  6. Cara Membuat Fungsi Get Detail Data menggunakan Room Database (Link)

Itu dia ke 6 materi yang akan saya bahas selanjutnya, project akhir dari tutorial ini akan saya upload ke github, jadi kalian dapat dengan mudah untuk mempelajarinya.

Jika ada yang ingin kalian tanyakan, bisa isi kolom komentar dibawah atau hubungi saya melalui email, hanya itu dari saya, selebihnya mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.