1. Entities
Entities dalam Android adalah kelas-kelas yang mewakili tabel dalam database.
Setiap entitas biasanya berhubungan dengan satu tabel dalam database, dan setiap objek dari entitas tersebut akan menjadi baris dalam tabel yang sesuai.
a. Book
Gambar 1. 1 Book
Gambar 1.1 merupakan kode program book yang mendefinisikan entitas
"Book" dalam Room Library pada Android. Berikut adalah penjelasan tentang entitas
"Book". Setiap objek "Book" yang ditambahkan ke database akan menjadi baris dalam tabel "Book" dengan kolom-kolom yang sesuai dengan atribut-atribut dalam kelas
"Book".
b. User
User merupakan Kode program yang diberikan mendefinisikan entitas
"User" dalam Room Library pada Android. Berikut adalah penjelasan tentang entitas "User".
Gambar 1. 2 User
Kode program 1.2 merupakan kode dari user. Dengan menggunakan definisi entitas "User" seperti ini, Room Library akan membuat tabel "User" dalam database yang sesuai dengan struktur yang didefinisikan. Setiap objek "User" yang ditambahkan ke database akan menjadi baris dalam tabel "User" dengan kolom- kolom yang sesuai dengan atribut-atribut dalam kelas "User".
c. Library
Room Library pada Android, entitas "Library" mewakili tabel dalam database yang menyimpan informasi tentang perpustakaan. Berikut adalah penjelasan tentang entitas "Library".
Gambar 1. 3 Library
Pada gambar 1.3 merupakan kode program dari library. Dengan menggunakan definisi entitas "Library" seperti ini, Room Library akan membuat tabel "Library"
dalam database yang sesuai dengan struktur yang didefinisikan. Setiap objek
"Library" yang ditambahkan ke database akan menjadi baris dalam tabel "Library"
dengan kolom-kolom yang sesuai dengan atribut-atribut dalam kelas "Library".
d. Playlist
Room Library pada Android, entitas "Playlist" mewakili tabel dalam database yang menyimpan informasi tentang daftar putar. Berikut adalah penjelasan tentang entitas "Playlist".
Gambar 1. 4 Playlist
Pada kode program 1.4 merupakan kode program dari playlist. Dengan menggunakan definisi entitas "Playlist" seperti ini, Room Library akan membuat tabel "Playlist" dalam database yang sesuai dengan struktur yang didefinisikan.
Setiap objek "Playlist" yang ditambahkan ke database akan menjadi baris dalam tabel "Playlist" dengan kolom-kolom yang sesuai dengan atribut-atribut dalam kelas "Playlist".
e. UserBookCrossRef
UserBookCrossRef merupakan adalah sebuah entitas penengah (intermediary entity) yang digunakan untuk menghubungkan entitas User dengan entitas Book dalam relasi many-to-many. Berikut adalah penjelasan tentang UserBookCrossRef.
Gambar 1. 5 UserBookCrossRef
Pada gambar 1.5 merupakan kode program UserBookCrossRef. Dengan menggunakan definisi entitas "UserBookCrossRef" seperti ini, Room Library akan membuat tabel "UserBookCrossRef" dalam database yang sesuai dengan struktur yang didefinisikan. Tabel ini akan memiliki dua kolom, yaitu "userId" dan "bookId", dan kunci utama (primary key) yang terdiri dari kombinasi kedua kolom tersebut.
Setiap objek "UserBookCrossRef" yang ditambahkan ke database akan menjadi baris dalam tabel "UserBookCrossRef" dengan nilai-nilai atribut yang sesuai.
2. Relations
Relations dalam konteks Room Library pada Android, relasi (relations) digunakan untuk menggambarkan hubungan antara entitas (entities) dalam database.
Dalam pemrograman berorientasi objek, ini sering kali mencerminkan hubungan antara objek-objek di dalam model data.
a. UserAndLibrary
Gambar 1. 6 UserAndLibrary
Pada gambar 1.6 merupakan kode program dari UserAndLibrary. Dengan menggunakan kelas UserAndLibrary ini, Room Library dapat mengambil data terkait antara entitas User dan Library dengan mudah. Ketika melakukan query, hasil yang diterima akan berisi objek User dan Library yang saling terhubung berdasarkan definisi relasi yang diberikan.
b. UserWithBooks
Relation UserWithBooks menunjukkan kelas yang digunakan untuk menggambarkan relasi antara entitas User dan Book dalam Room Library pada Android.
Gambar 1. 7 UserWithBooks
Pada gambar 1.7 merupakan relation UserWithBooks. Room Library dapat mengambil data terkait antara entitas User dan Book dengan mudah. Ketika melakukan query, hasil yang diterima akan berisi objek User dan daftar (List) objek Book yang saling terhubung berdasarkan definisi relasi yang diberikan.
c. UserWithPlaylists
UserWithPlaylist merupakan relaation yang digunakan untuk mendefinisikan kelas UserWithPlaylists dalam Room Library pada Android. Kelas ini digunakan untuk menggambarkan relasi antara entitas User dan Playlist, dengan objek User dan daftar (List) objek Playlist yang terhubung melalui relasi one-to- many.
Gambar 1. 8 UserWithPlaylist
Gambar 1.8 merupakan kode program dari UserWithPlaylist. Dengan menggunakan kelas UserWithPlaylists ini, Room Library dapat mengambil data terkait antara entitas User dan Playlist dengan mudah. Ketika melakukan query, hasil yang diterima akan berisi objek User dan daftar (List) objek Playlist yang saling terhubung berdasarkan definisi relasi yang diberikan.
d. BookWithUsers
BookWithUser mendefinisikan kelas BookWithUsers dalam Room Library pada Android. Kelas ini digunakan untuk menggambarkan relasi antara entitas Book dan User.
Gambar 1. 9 BookWithUsers
Pada gambar 1.9 merupakan relation BookWithUsers. Dengan menggunakan kelas BookWithUsers ini, Room Library dapat mengambil data terkait antara entitas Book dan User dengan mudah. Ketika melakukan query, hasil yang diterima akan berisi objek Book dan daftar (List) objek User yang saling terhubung berdasarkan definisi relasi yang diberikan.
3. Userdao
User Dao atau Data Access Object merupakan antarmuka yang didefinisikan dalam aplikasi Android menggunakan Room Library. DAO bertanggung jawab untuk mengakses dan memanipulasi data entitas "User" dalam database.
a. Import
Gambar 1. 10 Import
Pada gambar 1.10 merupakan kode program import. beberapa pernyataan impor yang diperlukan untuk menggunakan kelas dan anotasi yang diperlukan dalam antarmuka DAO "UserDao".
b. Anotasi Dao
Gambar 1. 11 Anotasi Dao
Pada gambar 1.11 merupakan anotasi "@Dao" yang ditempatkan di atas deklarasi antarmuka. Ini menandakan bahwa antarmuka ini adalah DAO yang akan digunakan oleh Room Library.
c. Insert
Gambar 1. 12 Insert
Gambar 1.12 merupakan kode program dari insert. Metode-metode ini digunakan untuk memasukkan (insert) entitas ke dalam database. Parameter metode adalah objek-objek entitas yang akan dimasukkan. Anotasi "onConflict = OnConflictStrategy.REPLACE" digunakan untuk menentukan strategi penanganan konflik jika entitas dengan kunci utama yang sama sudah ada dalam database.
d. Query
Gambar 1. 13 Query
Gambar 1.13 merupakan kode program dari query. Kode program tersebut merupakan metode DAO yang dianotasi dengan "@Query". Metode ini digunakan untuk melakukan kueri (query) ke database dan mengambil data yang sesuai.
4. Main Activity
Main Activity adalah komponen aktivitas dalam aplikasi Android. Ini adalah salah satu komponen inti dalam arsitektur Model-View-Controller (MVC) dan Model- View-ViewModel (MVVM) di Android.
Gambar 1. 14 Main Activity
Gambar 1.14 merupakan kode program dari main activity. Kode program tersebut adalah implementasi kelas "MainActivity" dalam sebuah aplikasi Android yang menggunakan Room Library untuk mengakses database.
5. App Database
Kelas "AppDatabase" adalah kelas yang mewakili database dalam implementasi Room Library di Android. Ini adalah kelas yang bertanggung jawab untuk mengatur dan menyediakan akses ke berbagai DAO (Data Access Object) yang digunakan untuk mengakses dan memanipulasi data dalam database.