Tugas 6 - PPB G Currency Converter App

Muhammad Fahmi Syahputra 

5025221302 - PPB (G)

Link GitHub : https://github.com/fahmisyahputra/currencyconverterandroid

Pada tugas kali ini, saya membuat sebuah aplikasi Currency Converter menggunakan Jetpack Compose dan bahasa pemrograman Kotlin. Aplikasi ini digunakan untuk mengonversi mata uang dari satu negara ke negara lain dengan memanfaatkan API Exchange Rate dari internet yang secara real-time.

Adapun beberapa fitur dari aplikasi yang saya buat ini adalah :
  • Dropdown untuk memilih mata uang asal dan tujuan

  • Input jumlah uang yang ingin dikonversi, dengan pilihan berbagai mata uang populer seperti USD, IDR, JPY, EUR, GBP, AUD

  • Mengambil data kurs secara real-time dari internet (https://open.er-api.com)


1. MainActivity.kt

MainActivity disini sebagai entry point yang memulai UI Compose dan memanggil fungsi utama CurrencyConverterApp().


2. State Management

State digunakan untuk menyimpan nilai mata uang yang dipilih, jumlah uang yang diketik, dan hasil konversi nya.


3. Fetch Data Kurs (Exchange Rate) dari Internet

Fungsi ini melakukan HTTP request ke API https://open.er-api.com/v6/latest/USD. Data yang dikembalikan adalah daftar kurs dari USD ke seluruh mata uang dunia. Disini kita ambil hanya USD karena API tersebut hanya stabil saat menggunakan USD sebagai base currency. Jadi untuk konversi dari IDR ke mata uang selain USD, AUD misalnya, kita gunakan rumus pembanding untuk mengetahui rate USD ke AUD, lalu kita pakai kurs AUD itu dan kita bagi dengan IDR :

Dropdown Pemilihan Mata Uang

​Dropdown untuk memilih mata uang dibuat horizontal agar tampilan lebih ringkas. Komponen CurrencyDropdown adalah komponen reusable yang menampilkan pilihan mata uang menggunakan DropdownMenu.

5. Input Jumlah dan Tombol Konversi

Pengguna dapat mengetikkan jumlah uang yang akan dikonversi. Setelah tombol Convert ditekan, hasil konversi akan dihitung berdasarkan kurs yang diambil dari API.

6. Menampilkan Hasil Konversi

Tampilan hasil konversi didesain agar tebal dan berukuran besar, sehingga mudah terlihat.

7. Menampilkan Kurs Saat Ini

Fitur ini menunjukkan kurs yang sedang digunakan untuk menghitung, sehingga pengguna tahu nilai tukar aktual yang digunakan.


Sehingga hasil nya akhirnya bisa dilihat :




Dan disini kita coba konversi dari USD ke IDR dahulu, dimana 1 USD saat percobaan adalah Rp16.824 :

Kemudian kita coba sebaliknya, dari IDR ke USD :

Kemudian kita coba dari IDR ke JPY misal :


Kemudian kita coba dari AUD ke JPY misal :
 


Atau sekarang kita coba dari EUR ke GBP misal :


Disini terbukti bahwa aplikasi yang saya buat ini dapat mengonversi mata uang dari satu negara ke negara lain dengan memanfaatkan API Exchange Rate dari internet yang secara real-time dengan baik, dengan menggunakan Kotlin sebagai bahasa pemrograman, dan menerapkan Jetpack Compose untuk UI declarative, dan Coroutines (suspend, withContext) untuk request API secara asynchronous, serta Material 3 / MaterialTheme untuk tampilan modern, dan tentunya Open Exchange Rate API sebagai API mata uang global nya.



Comments

Popular posts from this blog

Tugas 2 PPB G - Membuat Aplikasi "Hello Android" dengan Jetpack Compose

Final Project PPB G

Tugas 9 - PPB G Aplikasi Woof