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.html
https://developer.android.com/codelabs/basic-android-kotlin-compose-activity-lifecycle?hl=id#0

Komentar

Postingan populer dari blog ini

Tugas Pertemuan 2 PPB - Membuat aplikasi sederhana dengan Jetpack Compose

Tugas Pertemuan 4 PPB - Membuat aplikasi Dice Roller interaktif

Tugas Pertemuan 3 PPB - Membangun aplikasi sederhana dengan Composable Teks