Tugas 6 - Kalkulator Konversi Uang

Dokumentasi Aplikasi Konversi Mata Uang
Nama NRP
Hasan Nazila 5025201247

Aplikasi Konversi Mata Uang

Aplikasi ini dibuat menggunakan Jetpack Compose untuk melakukan konversi antara berbagai mata uang secara real-time.

Tampilan Aplikasi

Screenshot Aplikasi

Fitur Utama

  • Input jumlah uang
  • Dropdown untuk memilih mata uang asal dan tujuan
  • Konversi real-time berdasarkan nilai tukar tetap
  • Tampilan hasil konversi secara langsung

Langkah Pembuatan

  1. Buka Android Studio dan buat project baru dengan Jetpack Compose.
  2. Edit file MainActivity.kt dan tambahkan UI serta logic konversi.
  3. Buat fungsi getConversionRate() untuk menyediakan nilai tukar tetap antar mata uang.
  4. Gunakan TextField untuk input jumlah, OutlinedButton dan DropdownMenu untuk pilihan mata uang.
  5. Gunakan LaunchedEffect untuk menjalankan perhitungan otomatis saat nilai berubah.

Penjelasan Kode Kotlin

1. Inisialisasi UI dengan Compose

setContent { KonversiMataUangTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> CurrencyConverter(modifier = Modifier.padding(innerPadding)) } } }

Bagian ini memulai UI dengan tema bawaan, menampilkan komponen CurrencyConverter sebagai konten utama menggunakan struktur Scaffold.

2. Variabel State Utama

var amount by remember { mutableStateOf("") } var fromCurrency by remember { mutableStateOf("IDR") } var toCurrency by remember { mutableStateOf("USD") } var result by remember { mutableStateOf("") }

Variabel-variabel ini digunakan untuk menyimpan data yang bisa berubah selama aplikasi berjalan. amount untuk input pengguna, fromCurrency dan toCurrency untuk pilihan mata uang, dan result untuk hasil akhir konversi.

3. Fungsi Konversi

fun getConversionRate(from: String, to: String): Double { return when (from to to) { "IDR" to "USD" -> 0.000065 "USD" to "IDR" -> 15400.0 "IDR" to "EUR" -> 0.000057 "EUR" to "IDR" -> 17500.0 ... else -> 1.0 } }

Fungsi ini menyediakan nilai tukar tetap antar mata uang. Data ini bisa dikembangkan menjadi dynamic dengan API di masa depan.

4. Konversi Real-Time

LaunchedEffect(amount, fromCurrency, toCurrency) { if (amount.isNotBlank()) { val rate = getConversionRate(fromCurrency, toCurrency) val cleanAmount = amount.replace(".", "").replace(",", ".") val amountDouble = cleanAmount.toDoubleOrNull() ?: 0.0 result = String.format("%.2f", amountDouble * rate) } else { result = "" } }

Saat user mengetik atau mengganti mata uang, bagian ini otomatis menghitung hasil konversi menggunakan nilai tukar dan mengupdate hasilnya.

Demo Video

Repository GitHub

https://github.com/hnazila71/Tugas-6-Konversi-Mata-Uang.git

Komentar

Postingan populer dari blog ini

ETS -- Do Everything - Aplikasi To-Do List

TUGAS 4 - YUSUF HASAN NAZILA