Pemrograman Perangkat Bergerak (D) - Pertemuan 4

Nama    : Tsaqif Deniar Bhakti
NRP      : 5025211151
Kelas    : Pemrograman Perangkat Bergerak (D)

Tugas Pertemuan 4

Composable Text

    Aplikasi Dice Roller sederhana dibangun menggunakan Android Studio dan Jetpack Compose, toolkit modern untuk pengembangan antarmuka pengguna secara deklaratif. Proyek ini mencakup pembuatan tampilan UI yang responsif dengan memanfaatkan komponen seperti Column, Image, Text, Button, dan Spacer. Logika interaktif diimplementasikan melalui state management dengan mutableStateOf untuk menyimpan dan memperbarui hasil pelemparan dadu secara dinamis. Gambar-gambar dadu yang sesuai dengan hasil pelemparan ditampilkan menggunakan resource drawable yang diakses melalui painterResource. Penggunaan string resource diterapkan untuk mendukung aksesibilitas dan memudahkan pemeliharaan teks dalam aplikasi. Proyek ini mencakup penerapan konsep dasar pengembangan aplikasi Android, termasuk struktur proyek, desain UI, pengelolaan state, dan interaksi pengguna.

Implementasi Dice Roller App


Modifikasi pada kode Dice Roller App

Penambahan 2 Dadu

    Penambahan menjadi 2 DiceUntuk meningkatkan fungsionalitas aplikasi, fitur pelemparan dua dadu telah ditambahkan. Dalam implementasi ini, dua variabel state (dice1 dan dice2) digunakan untuk menyimpan hasil pelemparan masing-masing dadu secara independen. Ketika tombol "Roll" ditekan, kedua dadu menghasilkan angka acak antara 1 dan 6, dan gambar dadu yang sesuai dengan hasil tersebut ditampilkan di layar. Gambar-gambar dadu ditampilkan dalam tata letak horizontal menggunakan komponen Row, dengan jarak yang diatur menggunakan Arrangement.spacedBy(16.dp) untuk memberikan ruang visual yang nyaman antara kedua gambar. Fitur ini tidak hanya membuat aplikasi lebih interaktif tetapi juga mencerminkan mekanisme pelemparan dua dadu seperti pada permainan dunia nyata.

Animasi Crossfade

    Untuk meningkatkan pengalaman visual pengguna, animasi Crossfade telah diterapkan pada gambar dadu. Animasi ini menciptakan transisi halus ketika gambar dadu berubah setelah tombol "Roll" ditekan. Setiap gambar dadu dibungkus dengan fungsi Crossfade, yang memastikan bahwa perubahan dari satu gambar ke gambar lainnya terjadi dengan efek fade-in dan fade-out yang lembut. Properti targetState dalam Crossfade digunakan untuk menentukan gambar mana yang harus ditampilkan berdasarkan hasil pelemparan dadu. Dengan penambahan animasi ini, aplikasi tidak hanya menampilkan hasil secara statis tetapi juga memberikan kesan dinamis dan modern yang meningkatkan daya tarik visual aplikasi.
Penambahan Text Pada Row

Comments

Popular posts from this blog

Pemrograman Perangkat Bergerak (D) - Pertemuan 5

Pemrograman Perangkat Bergerak (D) - Pertemuan 2

Latihan 10 PBKK (A)