Tugas 6 PPB G - Membuat Aplikasi Kalkulator Konversi Mata Uang Sederhana Menggunakan Jetpack Compose
Tugas Pertemuan 6 PPB G 2025
oleh : Arfi Raushani Fikra (5025211084)
Pada pertemuan ke-6 ini, kami diminta membuat aplikasi Kalkulator Konversi Mata Uang Sederhana. Aplikasi ini dibuat menggunakan Jetpack Compose dan ditulis dengan bahasa Kotlin. Fungsinya adalah untuk mengonversi nilai mata uang dari USD (US Dollar) ke IDR (Indonesian Rupiah), dan sebaliknya.
Source Code dapat dilihat disini
Berikut penjelasan kodenya
a. MainActivity.kt
onCreate()
: Menginisialisasi UI aplikasi menggunakan tema yang sudah ditentukan.CurrencyConverterApp()
: Fungsi utama Composable yang menampilkan seluruh antarmuka aplikasi.
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
SimpleCurrencyConverterTheme {
CurrencyConverterApp()
}
}
}
}
b.CurrencyConverterApp()
Merupakan fungsi utama yang menjalankan konversi
Inisialisasi variabel yang diperlukan, termasuk nilai konversi USD ke IDR
var usdAmount by remember { mutableStateOf(TextFieldValue("")) }
var idrAmount by remember { mutableStateOf(TextFieldValue("")) }
var result by remember { mutableStateOf("") }
val conversionRate = 16500.0 // 1 USD = 16.500 IDR
Layout aplikasi ini menggunakan fungsi Column(). Berikut isi dari fungsi Column-nya.
Judul Aplikasi menggunakan fungsi Text().
Text(
text = "Konversi USD ↔ IDR",
style = MaterialTheme.typography.headlineMedium,
fontWeight = FontWeight.Bold
)
Input USD dan konversi ke IDR berada di dalam sebuah Button()dan TextField().
TextField(
value = usdAmount,
onValueChange = { usdAmount = it },
label = { Text("Masukkan USD") },
modifier = Modifier.fillMaxWidth()
)
Spacer(modifier = Modifier.height(8.dp))
Button(
onClick = {
val usd = usdAmount.text.toDoubleOrNull()
result = if (usd != null) {
val idr = usd * conversionRate
"Hasil: Rp ${"%,.0f".format(idr)}"
} else {
"Masukkan nilai USD yang valid!"
}
},
modifier = Modifier.fillMaxWidth()
) {
Text("Konversi ke IDR")
}
Input IDR dan konversi ke USD berada di dalam sebuah Button() dan TextField().
TextField(
value = idrAmount,
onValueChange = { idrAmount = it },
label = { Text("Masukkan IDR") },
modifier = Modifier.fillMaxWidth()
)
Spacer(modifier = Modifier.height(8.dp))
Button(
onClick = {
val idr = idrAmount.text.toDoubleOrNull()
result = if (idr != null) {
val usd = idr / conversionRate
"Hasil: USD ${"%.2f".format(usd)}"
} else {
"Masukkan nilai IDR yang valid!"
}
},
modifier = Modifier.fillMaxWidth()
) {
Text("Konversi ke USD")
}
Hasil konversi ditampilkan menggunakan Text().
Text(
text = result,
style = MaterialTheme.typography.titleLarge
)
antar elemen layout, digunakan spacer() untuk memisahkan.
Berikut hasil dari aplikasinya.
~ Terima Kasih ~
Comments
Post a Comment