Tugas Pertemuan 5 PPB - Membuat Aplikasi Kalkulator dengan menggunakan Kotlin(BMI Kalkulator)

 

Faiz Haq Noviandra Ciptadi Putra

5025211132

Tugas Pertemuan 5


Penjelasan Proyek

Proyek ini merupakan implementasi aplikasi Kalkulator BMI (Body Mass Index) menggunakan teknologi modern Android dengan Kotlin dan Jetpack Compose. BMI adalah nilai yang digunakan untuk mengevaluasi apakah seseorang memiliki berat badan yang sehat dalam kaitannya dengan tinggi badan mereka.

Aplikasi ini memiliki fitur-fitur berikut:

  • Input tinggi badan (dalam centimeter) dan berat badan (dalam kilogram)
  • Validasi input untuk memastikan data yang dimasukkan valid
  • Perhitungan otomatis BMI menggunakan rumus standar: BMI = berat (kg) / (tinggi (m))²
  • Tampilan hasil BMI dengan animasi dan indikator visual
  • Kategorisasi hasil BMI (Underweight, Normal, Overweight, Obese) dengan kode warna yang berbeda
  • Antarmuka pengguna yang responsif dan modern dengan Material Design 3

Teknologi yang Digunakan

  • Kotlin - Bahasa pemrograman utama untuk pengembangan Android modern
  • Jetpack Compose - Framework UI deklaratif untuk membangun UI native Android
  • Material Design 3 - Sistem desain terbaru dari Google
  • Animasi Compose - API animasi untuk menghasilkan transisi visual yang menarik


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.

Komentar

Postingan populer dari blog ini

TUGAS 1 KALKULATOR PBKK-B

Infografis Mengenai Teknologi Perangkat Bergerak