39 lines
2.0 KiB
Markdown
39 lines
2.0 KiB
Markdown
# Kalkulator BMI
|
|
|
|
Aplikasi Android sederhana untuk menghitung Indeks Massa Tubuh (IMT) atau _Body Mass Index_ (BMI), dibuat dengan Kotlin dan Jetpack Compose.
|
|
|
|
## Deskripsi
|
|
|
|
Aplikasi ini memungkinkan pengguna untuk menghitung BMI mereka dengan memasukkan tinggi dan berat badan. Aplikasi mendukung dua sistem pengukuran:
|
|
|
|
1. **Sistem Internasional (SI)**: Menggunakan kilogram (kg) untuk berat dan sentimeter (cm) untuk tinggi.
|
|
2. **US Customary (USC)**: Menggunakan pon (lbs) untuk berat dan inci (in) untuk tinggi.
|
|
|
|
Setelah menghitung, aplikasi akan menampilkan hasil BMI dan mengklasifikasikannya ke dalam salah satu dari empat kategori:
|
|
* **Kekurangan Berat Badan**
|
|
* **Normal**
|
|
* **Kelebihan Berat Badan**
|
|
* **Obesitas**
|
|
|
|
## Fitur Utama
|
|
|
|
* **Perhitungan BMI Akurat**: Mengimplementasikan formula standar BMI untuk kedua sistem unit.
|
|
* **Antarmuka Modern**: Dibuat dengan Jetpack Compose, menampilkan input field yang bersih dan kartu hasil yang dinamis.
|
|
* **Umpan Balik Visual**: Kartu hasil berubah warna sesuai dengan kategori BMI untuk memberikan indikasi visual yang cepat dan jelas.
|
|
* **Pilihan Unit Fleksibel**: Pengguna dapat dengan mudah beralih antara sistem SI dan USC.
|
|
* **Validasi Sederhana**: Menangani input kosong untuk mencegah error saat perhitungan.
|
|
* **Kode Modular**: Kode dipecah menjadi beberapa komponen Composable yang dapat digunakan kembali (`BmiCalculatorScreen`, `EditNumberField`, `BmiResultCard`).
|
|
* **Unit Testing**: Dilengkapi dengan unit test untuk memverifikasi logika perhitungan BMI dan penentuan kategori.
|
|
|
|
## Teknologi yang Digunakan
|
|
|
|
* **Bahasa Pemrograman**: Kotlin
|
|
* **UI Toolkit**: Jetpack Compose
|
|
* **Arsitektur**: Mengikuti prinsip-prinsip dasar _state management_ di Compose dengan _unidirectional data flow_.
|
|
* **Asisten AI**: Proyek ini dikembangkan dengan bantuan **Gemini**, sebuah model bahasa besar dari Google, untuk pembuatan kode, refactoring, dokumentasi, dan debugging.
|
|
|
|
## Dibuat Oleh
|
|
|
|
* **Nama**: Yosep Gamaliel Mulia
|
|
* **NPM**: 202310715105
|