Tugas 5

  Nama : Muhamad Faiz Fernanda

  NRP   : 5025211186


Membuat Aplikasi Kalkulator

Dalam tugas ini, saya mengembangkan sebuah aplikasi Kalkulator Sederhana menggunakan Android Studio dengan memanfaatkan framework Jetpack Compose. Aplikasi ini dirancang untuk menjalankan operasi matematika dasar, yaitu penjumlahan, pengurangan, perkalian, dan pembagian.



Langkah-Langkah Pembuatan Aplikasi Kalkulator

1. Inisialisasi Proyek

Mulailah dengan membuat proyek baru di Android Studio, pilih template Empty Activity, dan pastikan opsi Jetpack Compose diaktifkan.

2. Perancangan Antarmuka

Antarmuka dibangun menggunakan struktur Column, dengan komponen berikut:

  • Card digunakan untuk menampilkan hasil perhitungan.

  • Tombol angka dan operator ditata dalam grid dengan kombinasi Row dan Column.

3. Implementasi Fungsionalitas

  • Setiap tombol menambahkan karakter ke string input.

  • Saat tombol "=" ditekan, ekspresi akan diproses dan menghasilkan output.


Struktur Utama Kode

1. UI Kalkulator

Struktur visual aplikasi ditulis menggunakan Compose seperti berikut:

kotlin
Column { Card { Text(input) Text(result) } Column { Row { Button("7") Button("8") Button("9") Button("/") } Row { Button("4") Button("5") Button("6") Button("*") } Row { Button("1") Button("2") Button("3") Button("-") } Row { Button("0") Button("C") Button("=") Button("+") } } }

2. Evaluasi Ekspresi

Fungsi evaluateExpression() bertugas menghitung hasil dari input:

kotlin
fun evaluateExpression(expression: String): String { return try { val tokens = tokenize(expression) val result = evaluateTokens(tokens) result.toString() } catch (e: Exception) { "Error" } }

3. Tokenisasi dan Perhitungan

Ekspresi akan dipecah menjadi elemen-elemen angka dan operator, kemudian dihitung secara manual:

kotlin
fun tokenize(expression: String): List<String> { /* Memecah input */ } fun evaluateTokens(tokens: List<String>): Double { /* Hitung hasil */ }

Penjelasan Struktur Program

1. MainActivity

Di dalam MainActivity.kt, terdapat fungsi utama aplikasi. Pada onCreate():

  • Mengaktifkan tampilan edge-to-edge agar UI terlihat penuh.

  • Menjalankan CalculatorScreen() untuk membangun antarmuka dengan Jetpack Compose.

2. CalculatorScreen()

Fungsi ini adalah composable utama yang menampilkan:

  • Komponen Card untuk input dan output.

  • Grid tombol angka dan operator dengan layout responsif.

3. Perhitungan Ekspresi

  • Fungsi evaluateExpression() memproses input.

  • tokenize() membagi string menjadi elemen-elemen (angka/operator).

  • evaluateTokens() menghitung hasil ekspresi tersebut.

Aplikasi ini menggunakan logika dasar Kotlin, tanpa bantuan pustaka eksternal untuk evaluasi ekspresi.

Link Github : Link Source Code




Komentar

Postingan populer dari blog ini

Low Level Design

Evaluasi Akhir Semester

Estimasi Kapasitas Sistem