Pertemuan 6 - Kalkulator
Nama : Ahmad Fadhilah Mappisara
NRP : 5025221195
Mata Kuliah : Pemrograman Perangkat Bergerak (C)
Kalkulator Android Sederhana dengan Jetpack Compose
Pada tugas ini, saya membuat sebuah aplikasi kalkulator sederhana berbasis Jetpack Compose di Android. Aplikasi ini dirancang dengan tampilan modern serta dilengkapi validasi input agar lebih aman digunakan.
Fitur Aplikasi
Aplikasi kalkulator ini memiliki beberapa fitur utama, yaitu:
-
Mendukung operasi dasar: penjumlahan (
+), pengurangan (-), perkalian (*), dan pembagian (/) - Validasi input agar hanya menerima angka yang valid
- Proteksi terhadap pembagian dengan nol
-
Mendukung input desimal menggunakan tanda koma (
,) - Tampilan tetap nyaman saat keyboard muncul
Prasyarat
Sebelum mulai, pastikan sudah menyiapkan beberapa hal berikut:
- Android Studio versi terbaru (mendukung AGP 8.x)
- JDK 11
- Android SDK dengan minimal API 24
Struktur File Utama
Berikut struktur file penting dalam proyek ini:
-
MainActivity.kt
Berisi entry point aplikasi, UI kalkulator, dan logika perhitungan. -
strings.xml
Digunakan untuk menyimpan semua teks seperti label dan pesan error. -
build.gradle.kts
Berisi konfigurasi project dan dependency Jetpack Compose. -
libs.versions.toml
Mengatur versi dependency dan plugin.
Langkah-Langkah Pembuatan Aplikasi
1. Membuat Project Baru
Langkah pertama adalah membuat project baru di Android Studio:
- Pilih New Project
- Gunakan template Empty Activity
- Pilih bahasa Kotlin
- Aktifkan Jetpack Compose
-
Tentukan package, misalnya
com.example.kalkulator
2. Membuat Tampilan UI
Tampilan utama dibuat menggunakan composable CalculatorScreen. Komponen yang digunakan antara lain:
-
Dua input angka menggunakan
OutlinedTextField - Satu field hasil (read-only)
- Tombol operasi matematika
- Tombol untuk menghapus input (Clear)
- Teks untuk menampilkan error
Agar UI tetap nyaman saat keyboard muncul, digunakan beberapa modifier:
-
verticalScroll()agar layar bisa digeser -
imePadding()agar tidak tertutup keyboard -
navigationBarsPadding()untuk menyesuaikan area layar
3. Mengelola State
State digunakan untuk menyimpan nilai input dan hasil. Pada aplikasi ini digunakan rememberSaveable untuk:
- Angka pertama
- Angka kedua
- Hasil perhitungan
- Pesan error
Setiap kali input berubah, pesan error akan di-reset agar tidak mengganggu pengalaman pengguna.
4. Implementasi Logika Perhitungan
Logika utama kalkulator diimplementasikan dalam fungsi runCalculation.
Alur prosesnya adalah:
- Mengambil input dari user
- Mengubah input menjadi angka menggunakan fungsi helper
- Validasi apakah input valid atau tidak
- Menjalankan operasi matematika sesuai tombol yang ditekan
- Menangani kasus khusus seperti pembagian dengan nol
- Menampilkan hasil yang sudah diformat
Beberapa fungsi helper yang digunakan:
-
parseNumber→ mengubah input teks menjadi angka (mendukung koma sebagai desimal) -
formatResult→ menampilkan hasil dengan format yang rapi (tanpa desimal jika bilangan bulat)
5. Penggunaan String Resource
Semua teks dalam aplikasi disimpan di strings.xml. Hal ini bertujuan untuk:
- Memudahkan pengelolaan teks
- Mendukung multi-bahasa (lokalisasi)
Contoh string yang digunakan:
- Label input angka
- Label hasil
- Pesan error seperti input tidak valid dan pembagian nol
Menjalankan Aplikasi
Melalui Android Studio
- Klik Sync Project with Gradle Files
- Pilih emulator atau perangkat
- Klik Run
Melalui Terminal
Untuk build aplikasi:
.\gradlew.bat assembleDebug
Untuk install ke device:
.\gradlew.bat installDebug
Untuk menjalankan unit test:
.\gradlew.bat test
Comments
Post a Comment