Tugas Pertemuan 9 PPB - Aplikasi Dessert Clicker (Activity dan Intent)
Nama | Akmal Sulthon Fathulloh |
---|---|
NRP | 5025211047 |
Kelas | PPB - D |
Pada pertemuan kali ini, kita diminta untuk membuat aplikasi Dessert Clicker. Dalam mengerjakan ini, saya mengacu pada modul Codelabs berikut. Berikut adalah dokumentasi dan hasil pekerjaan yang telah dibuat.
Deskripsi Aplikasi
Aplikasi Dessert Clicker adalah aplikasi Android interaktif yang dikembangkan menggunakan Jetpack Compose, yang memungkinkan pengguna untuk "menjual" makanan penutup (dessert) dengan mengetuk gambar di layar. Setiap ketukan akan meningkatkan jumlah dessert yang terjual serta total pendapatan. Ketika jumlah dessert yang terjual mencapai batas tertentu, jenis dessert yang ditampilkan akan berubah secara otomatis berdasarkan daftar dessert yang disusun dari termurah hingga termahal.
Aplikasi ini dimulai dari kelas MainActivity
, yang berfungsi sebagai titik masuk dan bertanggung jawab
untuk menginisialisasi tema, menyusun UI utama melalui fungsi setContent
, serta mencatat lifecycle
aktivitas untuk keperluan debugging. UI utama dibentuk oleh DessertClickerApp
, yang mengatur seluruh
struktur antarmuka pengguna menggunakan Scaffold
, termasuk top bar dengan tombol berbagi dan layar utama
permainan.
Tampilan utama (DessertClickerScreen
) menampilkan latar belakang bergambar toko kue, gambar dessert yang
dapat ditekan, dan informasi statistik berupa total pendapatan (RevenueInfo
) dan jumlah dessert yang
terjual (DessertsSoldInfo
). Gambar dessert memiliki interaksi klik yang akan memperbarui state aplikasi
secara real-time, menghitung pendapatan dan menentukan dessert baru yang akan ditampilkan menggunakan fungsi
determineDessertToShow
.
Fitur berbagi memungkinkan pengguna membagikan statistik hasil permainan mereka melalui aplikasi lain menggunakan
Intent.ACTION_SEND
. Fungsi shareSoldDessertsInformation
mengelola intent ini dan menangani
potensi kesalahan jika tidak ada aplikasi yang dapat menangani intent berbagi.
Selain itu, aplikasi memanfaatkan elemen-elemen Compose modern seperti rememberSaveable
untuk menjaga
data tetap konsisten saat orientasi layar berubah, serta menggunakan MaterialTheme
untuk mengikuti
prinsip desain Material 3. Komposisi UI dibuat modular melalui berbagai fungsi Composable seperti
TransactionInfo
, DessertClickerAppBar
, dan DessertClickerScreen
agar mudah
dibaca, dirawat, dan diuji. Dengan arsitektur ini, Dessert Clicker menjadi contoh sederhana namun efektif dari
aplikasi Compose berbasis event-driven dengan state yang terkelola dengan baik.
Berikut adalah hasil running aplikasi pada Android Virtual Device.
Video Presentasi
Berikut adalah video presentasi demonstrasi aplikasi yang telah saya buat.
Kode Sumber
Kode sumber dapat dilihat pada repositori GitHub berikut.
Referensi
https://kuliahppb.blogspot.com/2024/05/activity-dan-intent.htmlhttps://developer.android.com/codelabs/basic-android-kotlin-compose-activity-lifecycle?hl=id#0
Komentar
Posting Komentar