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 menerapkanDiceRollerTheme
. -
DiceApp()
adalah composable function yang memuat seluruh tampilan aplikasi.
DiceApp.kt
@Preview(showBackground = true)@Composablefun DiceApp() { DiceContent( modifier = Modifier .fillMaxSize() .wrapContentSize(Alignment.Center) )}
Anotasi
@Preview
memungkinkan tampilan UI dilihat langsung dari editor Android Studio.-
Fungsi
DiceApp()
akan memanggilDiceContent()
yang berisi elemen utama seperti gambar dadu dan tombol.
DiceContent.kt
@Composablefun 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 menggunakanremember
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 aksionClick
akan menghasilkan angka acak dari 1 sampai 6, dan otomatis memperbarui gambar dadu.
3. Tambahan: Menambahkan Gambar Dadu
-
Buka Resource Manager dari Android Studio (View > Tool Windows > Resource Manager).
-
Klik + > Import Drawables.
-
Pilih enam gambar dadu (dice_1 hingga dice_6) yang telah disediakan.
-
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
Posting Komentar