93 lines
4.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kalkulator BMI Modern
Sebuah aplikasi Android modern dan elegan untuk menghitung Indeks Massa Tubuh (BMI), dibangun sepenuhnya menggunakan Jetpack Compose. Proyek ini dikembangkan oleh **Fazri Abdurrahman (202310715082)** dengan kolaborasi intensif bersama AI (Gemini) untuk menerapkan fungsionalitas canggih, desain yang menarik, dan praktik pengembangan modern.
---
## 📖 Daftar Isi
- [Fitur Utama](#-fitur-utama)
- [Tangkapan Layar](#-tangkapan-layar)
- [Teknologi yang Digunakan](#-teknologi-yang-digunakan)
- [Instalasi & Penggunaan](#-instalasi--penggunaan)
- [Proses Pengembangan dengan AI](#-proses-pengembangan-dengan-ai)
- [Rencana Pengembangan](#-rencana-pengembangan)
- [Lisensi](#-lisensi)
---
## ✨ Fitur Utama
- **Input Data Intuitif:** Form input yang jelas untuk **Tinggi (cm)**, **Berat (kg)**, dan **Umur**.
- **Visualisasi BMI Real-time:** Hasil BMI ditampilkan secara dinamis melalui **Gauge Chart (Speedometer)** yang interaktif, memberikan umpan balik visual yang langsung dipahami.
- **Analisis Hasil Komprehensif:**
- Nilai BMI akurat beserta **kategori** (Kurus, Normal, Gemuk, Obesitas).
- Informasi **rentang berat badan ideal** sesuai tinggi badan.
- Kalkulasi metrik tambahan seperti **BMI Prime** dan **Ponderal Index**.
- **Desain Modern & Responsif:** Antarmuka pengguna yang bersih dengan palet warna custom (hijau army & coklat) yang diimplementasikan menggunakan **Material 3 Theming**.
---
## 📸 Tangkapan Layar
*(Sangat disarankan untuk menambahkan gambar pratinjau aplikasi Anda di sini untuk menunjukkan hasil akhirnya. Ini memberikan kesan pertama yang kuat.)*
---
## 🛠️ Teknologi yang Digunakan
Proyek ini dibangun menggunakan tumpukan teknologi Android modern:
- **Bahasa Pemrograman:** **Kotlin** - Bahasa utama untuk pengembangan Android, dipilih karena keringkasan, keamanan, dan fitur-fitur modernnya.
- **UI Toolkit:** **Jetpack Compose** - Membangun seluruh UI secara deklaratif, memungkinkan pengembangan yang lebih cepat dan kode yang lebih mudah dikelola.
- **Desain Sistem:** **Material 3** - Mengimplementasikan sistem desain terbaru dari Google untuk memastikan tampilan yang konsisten dan modern.
- **Manajemen State:** State management sederhana namun kuat menggunakan `remember` dan `mutableStateOf` untuk menjaga UI tetap sinkron dengan data.
- **Grafik Kustom:** Pemanfaatan **`Canvas` API** untuk menggambar komponen UI yang sepenuhnya custom (Gauge Chart) dari awal.
- **IDE:** Android Studio
- **Version Control:** Git
---
## 🚀 Instalasi & Penggunaann
1. **Prasyarat:** Pastikan Anda memiliki versi terbaru **Android Studio**.
2. **Clone Repositori:**
```sh
git clone [URL-repositori-Anda-di-sini]
```
3. **Buka di Android Studio:** Buka proyek yang telah di-clone.
4. **Sync Gradle:** Tunggu hingga Android Studio selesai mengunduh semua dependensi yang diperlukan.
5. **Jalankan Aplikasi:** Pilih target (Emulator atau perangkat fisik) dan klik tombol 'Run'.
---
## 🤖 Proses Pengembangan dengan AI
Proyek ini menjadi studi kasus menarik dalam **pengembangan perangkat lunak berbantuan AI**. Bermula dari sebuah *starter code* yang sangat dasar, sebagian besar fungsionalitas dan polesan aplikasi ini diimplementasikan melalui dialog dan iterasi dengan **Google Gemini**.
Prosesnya meliputi:
1. **Prompting Fitur:** Meminta implementasi fitur dari nol, seperti Gauge Chart.
2. **Debugging Kolaboratif:** Mengidentifikasi dan memperbaiki bug (termasuk eror pada `Canvas` dan referensi tema yang salah) dengan bantuan analisis dari AI.
3. **Refactoring & Desain:** Meminta perubahan desain, seperti skema warna dan tata letak, yang kemudian diimplementasikan oleh AI.
4. **Dokumentasi:** Menghasilkan dokumentasi ini secara bertahap sesuai progres pengembangan.
---
## 🔮 Rencana Pengembangan
Beberapa fitur potensial yang dapat ditambahkan di masa depan:
- [ ] **Penyimpanan Riwayat:** Menyimpan hasil kalkulasi BMI untuk melacak progres.
- [ ] **Grafik Tren:** Visualisasi perubahan BMI dari waktu ke waktu.
- [ ] **Dukungan Unit Imperial:** Opsi input tinggi (kaki/inci) dan berat (pon).
- [ ] **Lokalisasi:** Mendukung berbagai bahasa.
---
## 📄 Lisensi
Proyek ini dilisensikan di bawah **MIT License**. *(Disarankan untuk membuat file `LICENSE` di root proyek Anda dan menempelkan teks lisensi MIT ke dalamnya)*.
---
*Proyek ini dikembangkan dari starter code sederhana yang terinspirasi dari: Codelab "Calculate Tip" Android Developer.*