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:

  1. Pilih New Project
  2. Gunakan template Empty Activity
  3. Pilih bahasa Kotlin
  4. Aktifkan Jetpack Compose
  5. 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:

  1. Mengambil input dari user
  2. Mengubah input menjadi angka menggunakan fungsi helper
  3. Validasi apakah input valid atau tidak
  4. Menjalankan operasi matematika sesuai tombol yang ditekan
  5. Menangani kasus khusus seperti pembagian dengan nol
  6. 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

  1. Klik Sync Project with Gradle Files
  2. Pilih emulator atau perangkat
  3. 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

Trending This Week

EAS - CoffeeBliss

ETS - PPB

Pertemuan 11 - Skoola Marketplace