Tugas Pertemuan 6 PPB - Membuat aplikasi kalkulator konversi mata uang

Nama Akmal Sulthon Fathulloh
NRP 5025211047
Kelas PPB - D

Pada pertemuan kali ini, kita diminta untuk membuat sebuah aplikasi konverter mata uang sederhana. Berikut adalah dokumentasi dan hasil pekerjaan yang telah dibuat.

Fungsi CurrencyConverterApp

Fungsi CurrencyConverterApp adalah sebuah composable function dalam Jetpack Compose yang membangun UI untuk aplikasi konversi mata uang. Fungsi ini menyediakan antarmuka pengguna yang terdiri dari input angka (inputAmount), dua dropdown untuk memilih mata uang asal (fromCurrency) dan tujuan (toCurrency), serta tombol "Convert" yang akan menghitung dan menampilkan hasil konversi ke variabel result. Dropdown memuat daftar lima mata uang: IDR, USD, JPY, KRW, dan SAR. Terdapat juga tombol "Clear" untuk mereset nilai input dan hasil. UI dirancang agar semua elemen berada di tengah layar dengan penataan vertikal dan jarak antar komponen yang seragam.

Fungsi CurrencyDropdown

Fungsi CurrencyDropdown adalah composable function yang menampilkan dropdown menu untuk memilih salah satu opsi mata uang dalam aplikasi konversi. Fungsi ini menerima label untuk teks petunjuk, nilai selected sebagai mata uang yang sedang dipilih, daftar opsi options, dan callback onSelect untuk menangani saat pengguna memilih mata uang baru. Dropdown ini dibangun menggunakan OutlinedTextField yang bersifat hanya baca (readOnly = true) dan menampilkan ikon panah sebagai tombol untuk menampilkan atau menyembunyikan DropdownMenu. Ketika pengguna memilih salah satu opsi dari menu, nilai selected diperbarui melalui fungsi onSelect, dan menu ditutup secara otomatis. Desain ini membantu menjaga tampilan tetap ringkas dan intuitif.

Fungsi convertCurrency

Fungsi convertCurrency bertugas mengonversi nilai mata uang dari satu jenis ke jenis lainnya berdasarkan nilai tukar tetap yang ditentukan dalam rates. Fungsi ini menerima string jumlah amountStr, kode mata uang asal from, dan kode mata uang tujuan to. Pertama, fungsi mencoba mengubah amountStr menjadi Double; jika gagal, ia mengembalikan "Invalid input". Selanjutnya, ia mencari nilai tukar masing-masing mata uang; jika salah satu tidak ditemukan dalam rates, maka hasilnya adalah "Unknown currency". Konversi dilakukan dengan membagi jumlah asal dengan nilai tukar asal, lalu mengalikannya dengan nilai tukar tujuan. Hasil akhirnya diformat agar tidak memiliki desimal jika bilangan bulat, atau ditampilkan dengan dua angka desimal jika perlu.

Berikut adalah hasil running aplikasi pada Android Virtual Device.

Video Presentasi

Berikut adalah video presentasi demonstrasi aplikasi yang telah saya buat.

Kode Sumber

Kode sumber dapat dilihat pada repositori GitHub berikut.

Referensi

https://kuliahppb.blogspot.com/2024/03/memahami-bahasa-kotlin.html
https://kotlinlang.org/education/

Komentar

Postingan populer dari blog ini

Tugas Pertemuan 2 PPB - Membuat aplikasi sederhana dengan Jetpack Compose

Tugas Pertemuan 4 PPB - Membuat aplikasi Dice Roller interaktif

Tugas Pertemuan 3 PPB - Membangun aplikasi sederhana dengan Composable Teks