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("") }
  • inputAmount untuk nilai input pengguna
  • fromCurrency dan toCurrency untuk memilih konversi mata uang
  • result untuk 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 remember dan mutableStateOf untuk pengelolaan state
  • Implementasi DropdownMenu dalam 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-API atau OpenExchangeRates
  • Menambahkan simbol mata uang
  • Format hasil ke dalam format uang lokal (misal Rp atau $)
github


Komentar

Postingan populer dari blog ini

Membuat aplikasi Hello Android

Aplikasi Dessert Clicker (Activity dan Intent)

Aplikasi Woof (Material Design)