Membuat aplikasi konversi mata uang
Aplikasi Currency Converter (Jetpack Compose)
Aplikasi ini digunakan untuk mengonversi nilai mata uang dari satu jenis ke jenis lainnya berdasarkan nilai tukar tetap (static rates). Dibuat menggunakan Jetpack Compose, aplikasi ini memiliki tampilan bersih dan mudah digunakan.
Tampilan Aplikasi
Contoh: Konversi 300 USD ke IDR menghasilkan 4.615.384,62
Fitur Aplikasi
- Input jumlah mata uang yang ingin dikonversi
- Dropdown untuk memilih mata uang asal dan tujuan
- Tombol Convert untuk menghitung hasil
- Tombol Clear untuk menghapus input
Penjelasan Kode
1. Struktur Utama (MainActivity.kt)
setContent {
CurrencyConverterTheme {
CurrencyConverterApp()
}
}
Mengatur UI menggunakan Jetpack Compose dengan memanggil fungsi CurrencyConverterApp().
2. UI Aplikasi (CurrencyConverterApp)
Menampilkan komponen input dan dropdown untuk memilih mata uang serta menampilkan hasil konversi.
var inputAmount by remember { mutableStateOf("") }
var fromCurrency by remember { mutableStateOf("IDR") }
var toCurrency by remember { mutableStateOf("USD") }
var result by remember { mutableStateOf("") }
inputAmountuntuk nilai input penggunafromCurrencydantoCurrencyuntuk memilih konversi mata uangresultuntuk menyimpan hasil perhitungan
3. Dropdown Mata Uang (CurrencyDropdown)
Komponen dropdown untuk memilih mata uang menggunakan DropdownMenu dari Compose Material3.
CurrencyDropdown(label = "From", selected = fromCurrency, options = currencies) {
fromCurrency = it
}
4. Fungsi Konversi Mata Uang (convertCurrency)
Fungsi yang menangani konversi berdasarkan nilai tukar tetap.
val rates = mapOf(
"IDR" to 1.0,
"USD" to 0.000065,
"JPY" to 0.0096,
"KRW" to 0.087,
"SAR" to 0.00024
)
- Semua nilai tukar dikonversikan terlebih dahulu ke IDR sebagai acuan
- Nilai dikonversi ke mata uang target dengan rumus:
(amount / fromRate) * toRate
Contoh Hasil
Jika pengguna memasukkan:
- Amount: 300
- From: USD
- To: IDR
Maka hasilnya adalah:
Result: 4615384.62
Kesimpulan
Aplikasi ini cocok sebagai proyek pemula untuk mempelajari:
- Pemanfaatan
rememberdanmutableStateOfuntuk pengelolaan state - Implementasi
DropdownMenudalam Jetpack Compose - Logika konversi nilai dengan validasi input
- Desain antarmuka sederhana namun fungsional
Aplikasi ini bisa dikembangkan lebih lanjut dengan:
- Mengambil nilai tukar real-time menggunakan API seperti
ExchangeRate-APIatauOpenExchangeRates - Menambahkan simbol mata uang
- Format hasil ke dalam format uang lokal (misal Rp atau $)

Komentar
Posting Komentar