TUGAS 4 - APLIKASI DICE ROLLER

Nama : Dimas Aria Pujangga

NRP     : 5025211212

Kelas    : PPB (A)

APLIKASI DICE ROLLER

Output:




Penjelasan:

MainActivity: Merupakan aktivitas utama aplikasi yang menggunakan Jetpack Compose untuk membuat UI. Di dalam onCreate(), tema DiceRollerTheme diterapkan dan Surface digunakan sebagai container utama dengan background sesuai MaterialTheme. Konten utama aplikasi dijalankan melalui DiceRollerApp().

DiceRollerApp: Fungsi @Composable yang berfungsi sebagai tampilan utama aplikasi. Mengatur layout dengan memanggil komponen DiceWithButtonAndImage dan menggunakan modifier untuk menempatkan seluruh konten di tengah layar dengan fillMaxSize() dan wrapContentSize(Alignment.Center).

DiceWithButtonAndImage: Fungsi @Composable utama yang menampilkan gambar dadu dan tombol roll. Komponen ini menggunakan:

  • State management dengan var result by remember { mutableStateOf(1) } untuk menyimpan nilai dadu saat ini (1-6)
  • When expression untuk memilih gambar dadu yang sesuai dari R.drawable.dice_1 sampai R.drawable.dice_6 berdasarkan nilai result
  • Column layout untuk menyusun elemen secara vertikal dengan horizontalAlignment = Alignment.CenterHorizontally
  • Image component untuk menampilkan gambar dadu dengan painterResource dan contentDescription untuk accessibility
  • Button component dengan onClick listener yang menghasilkan angka acak menggunakan (1..6).random()
  • Text component yang mengambil string dari stringResource(R.string.roll) dengan fontSize 24sp

State Management: Aplikasi menggunakan remember dan mutableStateOf untuk mengelola state nilai dadu. Ketika tombol diklik, nilai result berubah secara acak, yang otomatis memicu recomposition dan mengubah gambar dadu yang ditampilkan.

Random Logic: Menggunakan (1..6).random() untuk menghasilkan angka acak antara 1 hingga 6, mensimulasikan pelemparan dadu sungguhan.

Preview: Annotation @Preview pada DiceRollerApp memungkinkan developer melihat tampilan UI di Android Studio tanpa perlu menjalankan aplikasi di perangkat atau emulator.

Resource Dependencies: Aplikasi membutuhkan 6 file gambar dadu (dice_1.png hingga dice_6.png) di folder drawable dan string resource "roll" di strings.xml untuk teks tombol.








Comments

Popular posts from this blog

Menemukan Dompet

TUGAS PERTEMUAN 10 PBKK

TUGAS PERTEMUAN 13 PBKK