78 lines
2.9 KiB
Markdown
78 lines
2.9 KiB
Markdown
# Kalkulator BMI
|
||
|
||
## Langkah-langkah:
|
||
|
||
1. **Clone Repository Project**
|
||
Saya meng-clone repository project dari GitHub menggunakan Android Studio untuk dijadikan dasar pengerjaan tugas.
|
||
|
||
2. **Modifikasi Tampilan Aplikasi**
|
||
Saya meminta bantuan ChatGPT dan DeepSeek untuk memberikan saran tampilan aplikasi agar lebih menarik. Setelah itu, saya menyesuaikan tampilan sesuai arahan yang diberikan.
|
||
|
||
3. **Mengubah Icon Aplikasi (APK)**
|
||
Saya mengganti icon aplikasi melalui fitur Image Asset di Android Studio dengan icon baru sesuai arahan dari ChatGPT.
|
||
|
||
4. **Membuat Unit Test**
|
||
Bagian Unit Test dikembangkan menggunakan Local Unit Testing dengan JUnit, di mana kerangka awal dan skenario uji coba sebagian dibantu dan disarankan oleh Gemini.
|
||
|
||
5. **Review dan Uji Coba**
|
||
Setelah perubahan selesai, saya menjalankan aplikasi untuk memastikan tampilan dan icon sudah berubah dengan baik.
|
||
|
||
***
|
||
## Perubahan
|
||
|
||
### 🔄 Transformasi Aplikasi
|
||
* **Dari:** Kalkulator Tip
|
||
* **Menjadi:** Kalkulator BMI
|
||
* **Fitur baru:** Hitung BMI dengan 2 sistem satuan (Metric & USC)
|
||
|
||
### 🧮 Fitur Kalkulasi BMI
|
||
* ✅ Rumus Metric: berat (kg) / (tinggi (m))²
|
||
* ✅ Rumus USC: 703 × berat (lbs) / (tinggi (inci))²
|
||
* ✅ Kategori BMI: Underweight, Normal, Overweight, Obese
|
||
* ✅ Validasi input: Handle nilai 0 dan input tidak valid
|
||
|
||
### 🎨 Tampilan UI/UX
|
||
* **Warna kategori BMI:**
|
||
* 🟦 Underweight: Biru
|
||
* 🟩 Normal weight: Hijau
|
||
* 🟧 Overweight: Orange
|
||
* 🟥 Obese: Merah
|
||
* ✅ Switch toggle untuk ganti satuan Metric/USC
|
||
* ✅ Input field dengan icon dan keyboard yang optimal
|
||
|
||
### 🧪 Testing
|
||
* ✅ Unit test untuk fungsi kalkulasi BMI
|
||
* ✅ Test coverage: Semua scenario perhitungan
|
||
* ✅ Error handling untuk input tidak valid
|
||
|
||
***
|
||
|
||
## 📱 Cara Penggunaan BMI Calculator
|
||
|
||
1. **Masukkan Tinggi Badan**
|
||
Isi tinggi badan Anda di field "Height"
|
||
* Untuk Metric: dalam satuan cm (contoh: 170)
|
||
* Untuk USC: dalam satuan inci (contoh: 70)
|
||
|
||
2. **Masukkan Berat Badan**
|
||
Isi berat badan Anda di field "Weight"
|
||
* Untuk Metric: dalam satuan kg (contoh: 65)
|
||
* Untuk USC: dalam satuan lbs (contoh: 150)
|
||
|
||
3. **Pilih Satuan**
|
||
Gunakan switch "Gunakan Unit (Metric/USC)" untuk memilih satuan:
|
||
* Metric: cm & kg
|
||
* USC: inci & lbs
|
||
|
||
4. **Lihat Hasil**
|
||
BMI akan otomatis terhitung. Kategori BMI muncul dengan warna:
|
||
* 🟦 Biru = Underweight (Kurus)
|
||
* 🟩 Hijau = Normal weight (Normal)
|
||
* 🟧 Oranye = Overweight (Gemuk)
|
||
* 🟥 Merah = Obese (Obesitas)
|
||
|
||
Petunjuk lebih detil dapat dibaca di
|
||
[https://docs.google.com/document/d/1iGiC0Bg3Bdcd2Maq45TYkCDUkZ5Ql51E/edit?rtpof=true](https://docs.google.com/document/d/1iGiC0Bg3Bdcd2Maq45TYkCDUkZ5Ql51E/edit?rtpof=true)
|
||
|
||
Starter dimodifikasi dan terinspirasi dari:
|
||
[https://developer.android.com/codelabs/basic-android-compose-calculate-tip#0](https://developer.android.com/codelabs/basic-android-compose-calculate-tip#0) |