• Tidak ada hasil yang ditemukan

Room Word

N/A
N/A
Rama Putra

Academic year: 2024

Membagikan " Room Word"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM APLIKASI MOBILE

Dokumentasi Pelaksanaan Praktikum Pertemuan 6 dan 7

Kelas : B1 Disusun Oleh :

Rama Putra Hastono J0404221066

Nama Dosen Praktikum : Aditya Wicaksono S.Komp., M.Kom.

Nama Asisten Dosen : Yaumil Luqyana

PROGRAM STUDI TEKNOLOGI REKAYASA KOMPUTER SEKOLAH VOKASI IPB UNIVERSITY

2024

(2)

DOKUMENTASI PRAKTIKUM PADA PERTEMUAN 6

Pada pertemuan 6-7 ini, menambahkan project baru yang bernamaRoom Word. Project ini akan mempelajari cara mendesain dan membuat aplikasi menggunakan Ruang Komponen Arsitektur, ViewModel, dan LiveData, serta membuat aplikasi yang melakukan hal berikut:

- Menampilkan semua kata di RecyclerViewdalam MainActivity.

- Membuka aktivitas kedua saat pengguna mengetuk tombol (+). Saat pengguna memasukkan sebuah kata, menambahkan kata tersebut ke database dan daftar.

- Dan menambahkan tombol (x) untuk menghapus data yang telah masuk.

Penjelasan lengkap sebagai berikut : 1. Memperbarui file Gradle

- Di Android Studio, klik tab Projects dan perluas folder Gradle Scripts.

- Buka build.gradle( Modul: aplikasi ).

-compileOptions Tambahkan blok berikut di dalam android blok untuk menetapkan kompatibilitas target dan sumber ke 1.8, yang memungkinkan kita menggunakan lambda JDK 8 nanti:

Gantidependenciesblok dengan :

(3)

2. Buat sebuah entitas

Buatl sebuah kelas baru yang diberi nama Word. Kelas ini akan berperan sebagai entitas yang menggambarkan tabel SQLite untuk kata-kata. Tiap atribut dalam kelas akan mewakili sebuah kolom dalam tabel tersebut. Room akan menggunakan atribut-atribut ini untuk membentuk tabel dan menciptakan objek dari setiap baris dalam basis data. Untuk menjadikan Word kelas bermakna dalam konteks database Room, perlu ditambahkan anotasi pada kelas tersebut. Anotasi ini akan mengidentifikasi bagaimana bagian-bagian dari kelas terhubung dengan entri dalam basis data. Room akan memanfaatkan informasi tersebut untuk menghasilkan kode yang dibutuhkan. Berikut adalah contoh implementasinya:

3. Membuat DAO

Objek Akses Data (DAO) memverifikasi SQL saat kompilasi dan menghubungkannya dengan metode tertentu. Di Room DAO, anotasi praktis seperti @Insert digunakan untuk merepresentasikan operasi database yang umum. DAO digunakan oleh Room untuk menyusun API yang bersih untuk kode.

Instruksi:

1. Buat sebuah file kelas baru bernama WordDao.

2. Salin dan tempel kode berikut ke dalam WordDao, serta sesuaikan impor yang diperlukan agar dapat dikompilasi:

(4)

4. Kelas LiveData

Di WordDao, ubah tanda tangan metode getAlphabetizedWords() agar yang dikembalikan menjadi LiveData<List<Word>>:

Codelab ini, melacak perubahan data melalui Observer file MainActivity.

5. Tambahkan database Kamar Apa itu database Kamar?

- Room adalah lapisan database di atas database SQLite.

-Room menangani tugas-tugas biasa yang biasa Anda tangani dengan SQLiteOpenHelper.

- Room menggunakan DAO untuk mengeluarkan query ke database-nya.

Buat file kelas bernama WordRoomDatabase dan tambahkan kode ini ke dalamnya:

(5)

6. Buat Repositori

Repositori adalah komponen yang bertanggung jawab atas manajemen kueri dan memfasilitasi penggunaan banyak backend. Dalam banyak kasus, Repositori menangani logika untuk menentukan apakah akan mengambil data dari jaringan atau menggunakan data yang disimpan dalam cache di basis data lokal. Pendekatan ini memungkinkan aplikasi untuk memanfaatkan keuntungan dari kecepatan akses ke data lokal serta memastikan keakuratan data dengan memperbarui dari jaringan jika diperlukan. Dengan menggunakan Repositori, pengembang dapat mengelola sumber daya data dengan lebih efisien dan mengimplementasikan strategi caching yang sesuai dengan kebutuhan aplikasi.

Buat file kelas bernama WordRepository dan tempel kode berikut ke dalamnya:

7. Buat Model Tampilan

Peran ViewModel adalah menyediakan data ke antarmuka pengguna (UI) dan bertahan dari perubahan konfigurasi seperti rotasi layar. ViewModel bertindak sebagai pusat komunikasi antara Repositori, yang bertanggung jawab atas manajemen sumber daya data, dan UI. Selain itu, ViewModel juga dapat digunakan untuk berbagi data antar fragmen dalam sebuah aplikasi. Dengan menggunakan ViewModel, pengembang dapat

(6)

memisahkan logika bisnis dari UI, meningkatkan pemeliharaan kode, dan membuat aplikasi lebih mudah untuk dipahami dan diuji.

Buat file kelas WordViewModel dan tambahkan kode ini ke dalamnya:

8. Tambahkan tata letak XML

Selanjutnya, kita perlu menambahkan tata letak XML untuk daftar dan item.

Tambahkan layout/recyclerview_item.xml tata letak:

(7)

Di layout/activity_main.xml, ganti TextView dengan a RecyclerView dan tambahkan tombol Floating Action Button (FAB) untuk aksi tambah dan aksi hapus. Berikut kode nya :

Tampilan tombol tindakan mengambang (FAB) Anda harus sesuai dengan tindakan yang tersedia, jadi kami ingin mengganti ikon dengan simbol + dan x.

Pertama, kita perlu menambahkan Aset Vektor baru:

- Pilih File > Baru > Aset Vektor . - Klik ikon robot Android pada Ikon :

(8)

Telusuri "tambah" dan pilih aset '+'. Klik Oke.

Kemudian, Next.

(9)

Konfirmasikan jalur ikon sebagai main > drawable dan klik Selesai untuk menambahkan aset.

Dan juga tambahkan icon seperti dibawah ini.

Masih di layout/activity_main.xml, perbarui FAB untuk menyertakan sumber daya dapat digambar yang baru:

9. Tambahkan RecyclerView

Mulai dengan membuat file baru yang akan menampung file ViewHolder, yang menampilkan file Word. Buat metode pengikatan yang mengatur teks.

(10)

Buat kelas WordListAdapter yang diperluas ListAdapter.

Buat DiffUtil.ItemCallback implementasi sebagai kelas statis di WordListAdapter. Ini kodenya:

(11)

Tambahkan RecyclerView dalam onCreate() metode MainActivity.

Dalam onCreate() metode setelah setContentView:

10. Isi database

Berikut adalah kode untuk membuat panggilan balik di dalam kelas WordRoomDatabase.

Karena Anda tidak dapat melakukan operasi database Room di thread UI, onCreate()gunakan operasi yang telah ditentukan sebelumnya databaseWriteExecutor untuk mengeksekusi lambda di thread latar belakang. Lambda menghapus isi database, lalu mengisinya dengan dua kata "Halo" dan "Dunia".

11. Tambahkan Aktivitas Kata Baru

Buat Android kosong baru Activity dengan template Aktivitas Kosong:

- Pilih File > Baru > Aktivitas > Aktivitas Kosong - Masukkan NewWordActivity untuk nama Aktivitas.

- Verifikasi bahwa aktivitas baru telah ditambahkan ke Manifest Android.

(12)

Perbarui kode untuk aktivitas:

(13)

12. Hubungkan dengan data

Langkah terakhir adalah mengaitkan antarmuka pengguna (UI) dengan database dengan cara menyimpan kata-kata baru yang dimasukkan oleh pengguna dan menampilkan konten kata-kata saat ini dari database pada RecyclerView. Untuk menampilkan konten database saat ini, tambahkan pengamat yang mengamati LiveData dalam ViewModel.

Setiap kali data berubah, metode onChanged() dipanggil, yang kemudian memanggil metode setWords() pada adaptor untuk memperbarui cache data adaptor dan menyegarkan daftar yang ditampilkan.

Di MainActivity, buat variabel anggota untuk ViewModel:

Ketika pertama kali memulai aktivitas, ViewModelProviders akan membuat ViewModel.

Bahkan jika aktivitas dihancurkan, misalnya karena perubahan konfigurasi, ViewModel akan tetap ada. Ketika aktivitas dibuat kembali, ViewModelProviders akan mengembalikan ViewModel yang ada dari aktivitas sebelumnya. Untuk informasi lebih lanjut, lihat dokumen tentang ViewModel.

Di onCreate()bawah RecyclerView blok kode, dapatkan a ViewModel dari ViewModelProvider:

Juga di onCreate(), tambahkan pengamat untuk yang LiveData dikembalikan oleh getAlphabetizedWords(). Metode ini onChanged() aktif ketika data yang diamati berubah dan aktivitas berada di latar depan:

Tentukan kode permintaan sebagai anggota MainActivity:

Di MainActivity, tambahkan onActivityResult()kode untuk NewWordActivity.

Jika aktivitas kembali dengan RESULT_OK, masukkan kata yang dikembalikan ke dalam database dengan memanggil insert()metode WordViewModel :

(14)

Di MainActivity,mulai NewWordActivity ketika pengguna mengetuk FAB. Di MainActivity onCreate, temukan FAB dan tambahkan onClickListener dengan kode ini:

(15)

13. Hasil atau Output

Tampilan awal saat aplikasi dibuka

Tampilan aplikasi saat menambahkan item atau data dengan mengklik tombol (+)

(16)

Ketika tombol (x) ditekan dalam aplikasi, tindakan tersebut dimaksudkan untuk menghapus item atau data yang telah dimasukkan sebelumnya, sehingga mengembalikan tampilan aplikasi ke kondisi awal yang kosong seperti saat pertama kali dibuka.

Referensi

Dokumen terkait

Sesuai dengan latar belakang masalah, untuk menyampaikan isi pembelajaran agar lebih terarah dan efektif serta menarik, maka pembuatan aplikasi mobile interaktif ini hanya

5 Use case diagram aplikasi mobile Portal Harga 11 6 Detil activity diagram menambah informasi harga 11 7 Class diagram aplikasi mobile Portal Harga 12 8 Rancangan

Rencana Pelaksanaan Pembelajaran (RPP) yang dibuat sebanyak 7 buah RPP. Dengan kentetuan, satu RPP untuk satu atau dua kali pertemuan. Mahasiswa juga membuat jobsheet praktikum

Penulisan ilmiah ini membahas cara pembuatan suatu aplikasi transaksi sederhana dengan menggunakan fasilitas-fasilitas yang telah tersedia pada visual basic v.6. Aplikasi

Influence of word of mouth location and room atmosphere to decision (case study on visitors of Maxx Box Coffee Cikarang Lippo )..

Hasil pembimbingan selama pelaksanaan tutorial, khususnya pembimbingan praktikum pada pertemuan ke-3, 5 dan 7 dengan pemanfaatan Kit IPA telah secara baik

Pelaksanaan layanan bimbingan kelompok terhadap konsentrasi belajar siswa dilakukan sebanyak 6 kali pertemuan dengan durasi waktu 2 x 45 menit dan tiap pertemuan membahas satu topik

Pelaksanaan layanan bimbingan kelompok terhadap kemandirian belajar siswa dilakukan sebanyak 6 kali pertemuan dengan durasi waktu 2 x 45 menit dan tiap pertemuan membahas satu topik