Tugas 6

 

  Nama : Danar Sodik Priyambodo 

  NRP   : 5025211145

Aplikasi Konversi Mata Uang

Aplikasi ini dikembangkan menggunakan Jetpack Compose dan berfungsi untuk melakukan konversi antar mata uang secara langsung (real-time).



Fitur Utama Aplikasi

  • Pengguna dapat menginput jumlah uang yang akan dikonversi.
  • Tersedia menu dropdown untuk memilih mata uang asal dan tujuan.
  • Konversi berlangsung otomatis menggunakan nilai tukar statis.
  • Hasil konversi langsung diperbarui begitu input berubah.

Tahapan Pembuatan

  1. Membuat Proyek Baru
    Proyek dibuat di Android Studio dengan dukungan Jetpack Compose.
  2. Edit MainActivity.kt
    Komponen UI dan logika konversi ditambahkan di file ini.
  3. Buat Fungsi getConversionRate()
    Berfungsi menyediakan nilai tukar antar mata uang secara manual.
  4. Gunakan Komponen Compose
    • TextField: untuk input nilai uang.
    • OutlinedButton & DropdownMenu: untuk memilih mata uang.
  5. Perhitungan Otomatis dengan LaunchedEffect
    Hasil konversi dihitung dan ditampilkan ulang setiap kali input berubah.

Penjelasan Potongan Kode

1. Inisialisasi UI

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

Potongan ini menyiapkan tampilan utama aplikasi menggunakan tema, dengan komponen CurrencyConverter sebagai konten utama di dalam Scaffold.


2. State Variabel

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

Variabel ini menyimpan input jumlah uang, pilihan mata uang asal dan tujuan, serta hasil konversi.


3. Fungsi Nilai Tukar

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

Fungsi ini mengembalikan nilai tukar berdasarkan kombinasi mata uang. Dapat dikembangkan untuk mengambil data dari API.


4. Perhitungan 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 = ""
    }
}

Kalkulasi dilakukan ulang secara otomatis saat input atau pilihan mata uang berubah, lalu hasilnya ditampilkan langsung.

Link Source Code: https://github.com/Danar1111/Aplikasi-Konversi-Mata-Uang.git


Komentar

Postingan populer dari blog ini

Tugas 3 PPB-A Composable - Happy Birthday App

Tugas 2 PPB-A Dasar Jetpack Compose

Tugas 4 PPB-A Dice Roller Interaktif