Update README.md
penambahan changelog
This commit is contained in:
parent
637c6089b6
commit
734dffe8ad
145
README.md
145
README.md
@ -1,16 +1,18 @@
|
|||||||
Kalkulator BMI
|
# BMI Calculator (UTS Mobile Programming)
|
||||||
===============
|
|
||||||
|
|
||||||
Raihan Ariq Muzakki (202310715297)
|
## 👨💻 Informasi Pengembang
|
||||||
**F5A5 Mobile Programming**
|
- Raihan Ariq Muzakki (202310715297)
|
||||||
|
- **F5A5 Mobile Programming**
|
||||||
|
|
||||||
Petunjuk lebih detil dapat dibaca di
|
---
|
||||||
https://docs.google.com/document/d/1iGiC0Bg3Bdcd2Maq45TYkCDUkZ5Ql51E/edit?rtpof=true
|
|
||||||
|
|
||||||
Starter dimodifikasi dan terinspirasi dari:
|
## 📘 Dokumentasi
|
||||||
https://developer.android.com/codelabs/basic-android-compose-calculate-tip#0
|
- Petunjuk detail dapat dibaca di: 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
|
||||||
|
|
||||||
Referensi:
|
---
|
||||||
|
|
||||||
|
## 📚 Referensi
|
||||||
- [kotlin.math](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.math/)
|
- [kotlin.math](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.math/)
|
||||||
- [Calculate the Power of a Number in Kotlin](https://www.baeldung.com/kotlin/power-of-a-number)
|
- [Calculate the Power of a Number in Kotlin](https://www.baeldung.com/kotlin/power-of-a-number)
|
||||||
- [Centimeters to Inches](https://www.splashlearn.com/math-vocabulary/cm-to-inches)
|
- [Centimeters to Inches](https://www.splashlearn.com/math-vocabulary/cm-to-inches)
|
||||||
@ -18,12 +20,121 @@ Referensi:
|
|||||||
- [Unit Testing](https://medium.com/@deonolarewaju/introduction-to-unit-testing-in-android-kotlin-4331eb2366a9)
|
- [Unit Testing](https://medium.com/@deonolarewaju/introduction-to-unit-testing-in-android-kotlin-4331eb2366a9)
|
||||||
- [Icon PNG](https://www.flaticon.com/)
|
- [Icon PNG](https://www.flaticon.com/)
|
||||||
|
|
||||||
|
---
|
||||||
|
## 📱 Deskripsi Proyek
|
||||||
|
|
||||||
|
Aplikasi BMI Calculator ini merupakan hasil proyek UTS tentang aplikasi berbasis Jetpack Compose yang berfungsi untuk menghitung Body Mass Index (BMI) menggunakan dua standar perhitungan, yaitu SI (kilogram dan sentimeter) serta USC (pound dan inch). Aplikasi ini menyediakan antarmuka yang sederhana dengan fitur input tinggi serta berat badan, pemilihan standar pengukuran melalui switch, serta tombol untuk menghitung dan menghapus data. Hasil perhitungan ditampilkan dalam format satu angka di belakang koma disertai kategori BMI yang relevan, sehingga pengguna dapat mengetahui status berat badan secara cepat dan akurat. Aplikasi ini juga memanfaatkan komponennya secara modular, termasuk fungsi perhitungan BMI, kategori BMI, dan pengaturan tata letak melalui Jetpack Compose.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ Fitur Utama
|
||||||
|
|
||||||
|
1. **Perhitungan BMI** dengan dua standar satuan (SI & USC).
|
||||||
|
2. **Validasi input** berdasarkan rentang nilai tinggi dan berat badan.
|
||||||
|
3. **Reset otomatis** ketika pengguna beralih standar unit.
|
||||||
|
4. **Kategori BMI** secara real-time setelah perhitungan.
|
||||||
|
5. **Antarmuka berbasis Jetpack Compose** dengan tata letak responsif.
|
||||||
|
6. **Unit Testing** untuk fungsi `calculateBMI()` dan `calculateBMICategory()`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🗺️ Cara Menjalankan Aplikasi
|
||||||
|
|
||||||
|
### Persyaratan
|
||||||
|
|
||||||
|
- Android Studio sudah versi terbaru (Otter)
|
||||||
|
- Android SDK dan Build Tools untuk menjalankan Compose
|
||||||
|
- Perangkat Handphone (Debugging) atau Emulator Android
|
||||||
|
|
||||||
|
|
||||||
|
### Langkah Menjalankan
|
||||||
|
|
||||||
|
1. Buka Android Studio
|
||||||
|
2. Pilih Clone Repository ke
|
||||||
|
https://git.lab.ubharajaya.ac.id/202310715297-RAIHAN-ARIQ-MUZAKKI/UTS-202310715297-RaihanAriqMuzakki.git
|
||||||
|
3. Pastikan dependensi Gradle terunduh dan tersinkron
|
||||||
|
4. Pilih perangkat emulator atau perangkat fisik (Debugging) pada menu Device Manager
|
||||||
|
5. Tekan Run (Shift +F10) untuk menjalankan aplikasi
|
||||||
|
6. Aplikasi akan tampil di layar emulator atau perangkat debugging, dan siap digunakan untuk memasukkan tinggi badan, berat badan, dan Standar Perhitungan (SI Metric atau USC Units)
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧪 Dokumentasi Unit Testing
|
||||||
|
|
||||||
|
Pengujian dilakukan pada direktori:
|
||||||
|
|
||||||
|
```
|
||||||
|
app/src/test/java/calculateBMITest
|
||||||
|
```
|
||||||
|
|
||||||
|
Fungsi pengujian:
|
||||||
|
|
||||||
|
* `calculateBMITest()`
|
||||||
|
* `calculateBMICategoryTest()`
|
||||||
|
|
||||||
|
### Fokus Pengujian
|
||||||
|
|
||||||
|
1. Validasi hasil perhitungan BMI pada unit SI dan USC.
|
||||||
|
2. Akurasi kategori BMI.
|
||||||
|
3. Penanganan input tidak valid (tinggi/berat <= 0).
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Changelog
|
||||||
|
|
||||||
|
Changelog disusun berdasarkan riwayat commit/push pada repository.
|
||||||
|
|
||||||
|
### v1.4 – Penyempurnaan Fitur & Validasi (TERBARU)
|
||||||
|
|
||||||
|
* Penyesuaian warna pada tema terang.
|
||||||
|
* Penambahan validasi input tinggi dan berat.
|
||||||
|
* Peningkatan UI pada layout untuk konsistensi.
|
||||||
|
|
||||||
|
### v1.3 – Pembaruan Tampilan & Ikon
|
||||||
|
|
||||||
|
* Perubahan ikon aplikasi.
|
||||||
|
* Optimalisasi tata letak halaman.
|
||||||
|
* Pembaruan dokumen README.
|
||||||
|
|
||||||
|
### v1.2 – Integrasi Unit Testing
|
||||||
|
|
||||||
|
* Penambahan direktori dan berkas unit test.
|
||||||
|
* Pengujian ulang fungsi `calculateBMI()` dan `calculateBMICategory()`.
|
||||||
|
* Penyempurnaan logika pengkategorian BMI.
|
||||||
|
|
||||||
|
### v1.1 – Penambahan Fitur Pengukuran USC
|
||||||
|
|
||||||
|
* Penyesuaian kalkulasi BMI dengan rumus USC.
|
||||||
|
* Penambahan switch untuk mengganti standar pengukuran.
|
||||||
|
* Refactor nama fungsi dan variabel.
|
||||||
|
|
||||||
|
### v1.0 – Rilis Awal
|
||||||
|
|
||||||
|
* Implementasi fungsi dasar kalkulasi BMI (SI Unit).
|
||||||
|
* Struktur awal proyek Jetpack Compose.
|
||||||
|
* Penambahan komentar proyek (Nama, NPM, Kelas).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🤝 Kontribusi AI
|
||||||
|
Pengembangan aplikasi ini turut dibantu oleh:
|
||||||
|
- **Claude AI**
|
||||||
|
- **ChatGPT**
|
||||||
|
|
||||||
|
Kontribusi yang diberikan:
|
||||||
|
- Penanganan nilai *NaN → 0*
|
||||||
|
- Format desimal
|
||||||
|
- Penerapan rumus BMI sesuai standar SI & USC
|
||||||
|
- *LaunchedEffect* untuk reset input
|
||||||
|
- Simplifikasi kondisi kategori BMI
|
||||||
|
- Penyusunan Unit Testing
|
||||||
|
- Penyempurnaan layout, penambahan ikon, dan tombol aksi
|
||||||
|
- Membantu membuat Validasi Input
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dibantu oleh [Claude AI](https://claude.ai/share/a3d9c1c9-9766-45f8-8fee-c0d7c4676ab1) dan [ChatGPT](https://chatgpt.com/share/690ce7bb-ab84-8012-9d44-2fded8e2d6d6) :
|
|
||||||
- Mengubah NaN yang muncul di tampilan menjadi 0, sebelum kalkulasi.
|
|
||||||
- Membuat Format Angka Desimal (1 angka dibelakang koma)
|
|
||||||
- Membuat Perhitungan sesuai dengan Standar Rumus BMI yang Diinginkan (USC atau SI)
|
|
||||||
- Membuat LaunchedEffect untuk Reset Nilai Input Ketika Berpindah Standar Rumus BMI
|
|
||||||
- Mengubah Condition Statement untuk Penentuan Kategori BMI agar lebih Clean
|
|
||||||
- Membantu pembuatan Class Unit Testing untuk fungsi sampai Implementasi
|
|
||||||
- Desain tata letak, Menambahkan gambar dan button (kalkulasi dan clear)
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user