Melakukan Update:

- Perubahan Tema
- Penambahan Speedometer BMI
- Gender
- Umur
This commit is contained in:
202310715312 HADI GUNA PRAKOSO 2025-11-07 20:43:30 +07:00
parent 9a330b4085
commit 66780442d4

View File

@ -1,10 +1,36 @@
Kalkulator BMI # Proyek UTS - Aplikasi Kalkulator BMI
===============
Silahkan kembangkan aplikasi ini untuk melakukan perhitungan BMI Sebuah aplikasi Android modern yang saya buat untuk tugas Ujian Tengah Semester (UTS). Aplikasi ini berfungsi sebagai kalkulator Indeks Massa Tubuh (BMI) yang fungsional dan punya tampilan menarik.
Petunjuk lebih detil dapat dibaca di - **Nama:** Hadi Prakoso
https://docs.google.com/document/d/1iGiC0Bg3Bdcd2Maq45TYkCDUkZ5Ql51E/edit?rtpof=true - **NPM:** 202310715312
Starter dimodifikasi dan terinspirasi dari: ## Fitur Utama
https://developer.android.com/codelabs/basic-android-compose-calculate-tip#0
- **Kalkulasi BMI Akurat**: Menghitung BMI berdasarkan berat dan tinggi badan pengguna.
- **Dua Sistem Unit**: Mendukung sistem Metrik (kg, cm) dan USC (lbs, inches).
- **Input Lengkap**: Memasukkan data tambahan seperti Umur dan Jenis Kelamin untuk konteks.
- **Visualisasi Hasil**: Menampilkan hasil dengan speedometer interaktif dan kategori yang jelas (Underweight, Normal, Overweight, Obesity).
- **Detail Tambahan**: Memberikan informasi bermanfaat seperti:
- Rentang BMI Sehat (18.5 - 25.0)
- Rentang Berat Badan Sehat (dihitung berdasarkan tinggi)
- BMI Prime
- Indeks Ponderal
- **Validasi Input**: Mencegah pengguna memasukkan data yang tidak valid atau tidak wajar (misalnya, tinggi atau berat badan nol/negatif, umur tidak wajar).
- **UI/UX Modern**: Dibuat dengan Jetpack Compose, menampilkan tema gelap yang elegan dan mudah digunakan.
## Proses Pengembangan & Peran AI (Gemini)
Dalam pengerjaan proyek ini, saya banyak dibantu oleh **AI Gemini** sebagai asisten coding. Prosesnya jadi lebih cepat dan saya bisa belajar banyak hal baru.
- **Debugging**: Saat jarum speedometer tidak bergerak atau ada error `type mismatch` di unit test, Gemini membantu menemukan penyebab dan memberikan solusinya.
- **Refactoring & Best Practice**: Gemini memberikan masukan agar kode saya lebih rapi dan sesuai dengan praktik terbaik, misalnya memisahkan logika dari UI.
- **Dokumentasi & Unit Test**: Saya juga dibantu dalam membuat kerangka awal untuk file `README.md` ini dan file `BMICalculatorTest.kt`, yang kemudian saya sesuaikan lagi.
Bantuan dari Gemini sangat mempercepat proses development, terutama saat menghadapi *error* atau butuh ide untuk struktur kode yang lebih baik.
## Aspek Teknis Lainnya
- **Unit Testing**: Proyek ini dilengkapi dengan unit test (`BMICalculatorTest.kt`) untuk memverifikasi akurasi fungsi `calculateBmi` dan `determineBmiCategory`.
- **Kualitas Kode**: Kode diusahakan agar mudah dibaca dan modular. Adanya komentar di bagian-bagian penting juga membantu menjelaskan alur program.
- **Penggunaan Git**: Setiap perubahan signifikan pada proyek ini saya lacak menggunakan Git, lengkap dengan pesan *commit* yang deskriptif.