Membuat Kalkulator Sederhana Dengan Kotlin
Nama : Rafaela Shyra Ashma' Ramadhani
NRP : 5025231217
Kelas : Pemrograman Perangkat Bergerak
Tugas 5 - Pertemuan 5
Pada tugas ini saya mengembangkan sebuah aplikasi kalkulator sederhana menggunakan bahasa pemrograman Kotlin berbasis Android dengan memanfaatkan Jetpack Compose sebagai framework modern untuk membangun antarmuka pengguna. Aplikasi ini dirancang untuk melakukan operasi aritmatika dasar seperti penjumlahan, pengurangan, perkalian, dan pembagian. Selain berfungsi sebagai alat bantu perhitungan, proyek ini juga menjadi sarana pembelajaran dalam memahami konsep dasar pengembangan aplikasi Android, khususnya dalam hal pengelolaan state dan pembuatan UI secara deklaratif.
Kode: GitHub
Penjelasan Kode:
Kode program dimulai dari class MainActivity yang berperan sebagai entry point dalam aplikasi Android. Pada method onCreate(), digunakan setContent {} untuk menampilkan antarmuka aplikasi dengan menerapkan tema Material Design melalui MaterialTheme dan Surface. Di dalamnya, dipanggil fungsi SimpleCalculator() yang menjadi komponen utama dalam membangun tampilan sekaligus logika aplikasi.
Fungsi SimpleCalculator() merupakan composable function yang bertanggung jawab dalam menyusun UI dan mengatur alur interaksi pengguna. Di dalam fungsi ini, terdapat tiga variabel state yaitu num1, num2, dan result yang digunakan untuk menyimpan input angka pertama, angka kedua, serta hasil perhitungan. State tersebut dikelola menggunakan remember dan mutableStateOf, sehingga setiap perubahan nilai akan langsung memicu pembaruan tampilan secara otomatis melalui mekanisme recomposition.
Untuk proses perhitungan, dibuat sebuah fungsi calculate(operator: String) yang menerima parameter berupa operator matematika. Input dari pengguna yang awalnya berupa string dikonversi menjadi tipe data Double menggunakan toDoubleOrNull() guna memastikan bahwa data yang diproses valid. Jika input tidak valid, aplikasi akan menampilkan pesan kesalahan. Selanjutnya, proses perhitungan dilakukan menggunakan struktur kontrol when untuk menangani operasi penjumlahan, pengurangan, perkalian, dan pembagian. Pada operasi pembagian, ditambahkan validasi untuk mencegah pembagian dengan nol agar aplikasi tetap berjalan dengan aman.
Dari sisi antarmuka, komponen disusun menggunakan layout Column sehingga elemen ditampilkan secara vertikal dan terstruktur. Dua buah TextField digunakan sebagai input angka, sedangkan satu TextField lainnya digunakan untuk menampilkan hasil dalam kondisi read-only. Untuk menjaga kerapian tampilan, digunakan Spacer sebagai pengatur jarak antar komponen. Selain itu, tombol-tombol operasi ditempatkan dalam Row agar tersusun secara horizontal dan mudah diakses oleh pengguna. Setiap tombol memiliki aksi onClick yang akan memanggil fungsi calculate() sesuai dengan operator yang dipilih, serta terdapat tombol "Clear" yang berfungsi untuk menghapus seluruh input dan hasil perhitungan.
Secara keseluruhan, kode ini berhasil mengintegrasikan logika perhitungan dengan tampilan antarmuka yang interaktif, sehingga menghasilkan aplikasi kalkulator sederhana yang responsif dan mudah digunakan.
Hasilnya:
Penjumlahan 7 + 8
Pengurangan 10 - 8
Perkalian 10 * 5
Pembagian 10 / 5
Komentar
Posting Komentar