Tugas 6 PPB A

 

  Nama : Muhamad Faiz Fernanda

  NRP   : 5025211186

Aplikasi Konversi Mata Uang

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



Fitur Utama Aplikasi

  • Pengguna dapat memasukkan jumlah uang yang ingin dikonversi.

  • Tersedia dropdown untuk memilih mata uang asal dan tujuan.

  • Konversi dilakukan secara otomatis (real-time) menggunakan nilai tukar tetap.

  • Hasil konversi langsung ditampilkan setelah input berubah.


Tahapan Pembuatan

  1. Membuat Proyek Baru
    Gunakan Android Studio untuk membuat project dengan dukungan Jetpack Compose.

  2. Edit MainActivity.kt
    Tambahkan komponen antarmuka pengguna (UI) dan logika konversi di file ini.

  3. Buat Fungsi getConversionRate()
    Fungsi ini akan menyediakan nilai tukar antar mata uang secara statis.

  4. Gunakan Komponen Compose

    • TextField: untuk input jumlah uang.

    • OutlinedButton & DropdownMenu: untuk memilih mata uang.

  5. Perhitungan Otomatis dengan LaunchedEffect
    Setiap kali input atau pilihan mata uang berubah, hasil konversi akan dihitung ulang dan ditampilkan.


Penjelasan Potongan Kode

1. Inisialisasi UI

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

Bagian ini mengatur tampilan utama aplikasi dengan tema tertentu. Komponen CurrencyConverter dipanggil sebagai konten utama dalam struktur Scaffold.


2. Deklarasi Variabel State


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 data dinamis: input jumlah uang, pilihan mata uang awal 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 menentukan nilai tukar tetap antara kombinasi mata uang yang berbeda. Bisa dikembangkan menjadi dinamis dengan mengambil data dari API di masa depan.


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 = "" } }

Saat input jumlah uang atau pilihan mata uang berubah, LaunchedEffect akan secara otomatis menghitung ulang hasil konversi berdasarkan nilai tukar tetap dan memperbarui tampilan.

Link Source Code : https://github.com/faizfernanda/konversimatauang.git



Komentar

Postingan populer dari blog ini

Low Level Design

Evaluasi Akhir Semester

Estimasi Kapasitas Sistem