Aplikasi Dice Roller

Tugas Pertemuan 4: Membuat Aplikasi Dice Roller Sederhana

Nama: Muhammad Rafi Budi Purnama

NRP: 5025221307

Kelas: PPB A 


ini dibuat mengikuti tutorial dari link-ini


1. Deskripsi Aplikasi

Aplikasi Dice Roller ini memungkinkan pengguna untuk "melempar" dadu secara virtual dengan menekan sebuah tombol. Ketika tombol ditekan, gambar dadu akan berubah secara acak sesuai angka 1 hingga 6.


2. Struktur Kode dan Penjelasannya

MainActivity.kt

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            DiceRollerTheme {
                DiceApp()
            }
        }
    }
}

  • MainActivity adalah titik awal aplikasi.

  • Fungsi enableEdgeToEdge() digunakan untuk membuat tampilan aplikasi meluas hingga ke tepi layar.

  • setContent akan menampilkan UI utama, dengan menerapkan DiceRollerTheme.

  • DiceApp() adalah composable function yang memuat seluruh tampilan aplikasi.


DiceApp.kt

@Preview(showBackground = true)
@Composable
fun DiceApp() {
    DiceContent(
        modifier = Modifier
            .fillMaxSize()
            .wrapContentSize(Alignment.Center)
    )
}

  • Anotasi @Preview memungkinkan tampilan UI dilihat langsung dari editor Android Studio.

  • Fungsi DiceApp() akan memanggil DiceContent() yang berisi elemen utama seperti gambar dadu dan tombol.


DiceContent.kt


@Composable
fun DiceContent(modifier: Modifier = Modifier) {
    var diceValue by remember { mutableStateOf(1) }

    val diceImage = when (diceValue) {
        1 -> R.drawable.dice_1
        2 -> R.drawable.dice_2
        3 -> R.drawable.dice_3
        4 -> R.drawable.dice_4
        5 -> R.drawable.dice_5
        else -> R.drawable.dice_6
    }

    Column(
        horizontalAlignment = Alignment.CenterHorizontally,
        modifier = modifier
    ) {
        Image(
            painter = painterResource(id = diceImage),
            contentDescription = "Gambar Dadu"
        )
        Spacer(modifier = Modifier.height(16.dp))
        Button(onClick = { diceValue = (1..6).random() }) {
            Text(text = "Lempar Dadu")
        }
    }
}

  • @Composable menunjukkan bahwa fungsi ini membangun UI menggunakan Jetpack Compose.

  • diceValue menyimpan angka hasil lemparan dadu, dan menggunakan remember agar nilai tidak hilang saat UI direkomposisi.

  • when digunakan untuk menentukan gambar dadu yang sesuai dengan angka yang dihasilkan.

  • Column digunakan untuk menyusun elemen secara vertikal.

  • Image menampilkan gambar dadu.

  • Spacer memberi jarak antar elemen.

  • Button dengan aksi onClick akan menghasilkan angka acak dari 1 sampai 6, dan otomatis memperbarui gambar dadu.


3. Tambahan: Menambahkan Gambar Dadu

  1. Buka Resource Manager dari Android Studio (View > Tool Windows > Resource Manager).

  2. Klik + > Import Drawables.

  3. Pilih enam gambar dadu (dice_1 hingga dice_6) yang telah disediakan.

  4. Klik Import.


4. Hasil Tampilan

Aplikasi akan menampilkan gambar dadu di tengah layar dan tombol "Lempar Dadu" di bawahnya. Saat tombol ditekan, gambar akan berubah sesuai angka acak dari 1 hingga 6. 

Komentar

Postingan populer dari blog ini

TUGAS 2 : Jettpack compose : Hello, World!

Pertemuan 3 PPB (A) - Mengenal Composable Aplikasi Selamat Ulang Tahun

Tugas 1 PBB (A)