Materi Penjelasan Aplikasi Kalkulator BMI
1. Pengertian BMI
BMI (Body Mass Index) atau Indeks Massa Tubuh adalah perhitungan sederhana yang digunakan untuk melihat hubungan antara berat badan dan tinggi badan.
Rumus BMI:
BMI = berat badan (kg) ÷ tinggi badan² (m)
Contoh:
Berat badan = 60 kg
Tinggi badan = 170 cm = 1,70 m
Maka:
BMI = 60 ÷ (1,70 × 1,70)
BMI = 20,76
Hasil tersebut kemudian dibandingkan dengan kategori BMI.
2. Tujuan Aplikasi
Aplikasi Kalkulator BMI dibuat untuk mempermudah pengguna menghitung nilai BMI tanpa harus menghitung secara manual.
Dengan aplikasi ini, pengguna cukup memasukkan:
- umur
- jenis kelamin
- berat badan
- tinggi badan
Kemudian aplikasi akan menghitung BMI secara otomatis.
3. Teknologi yang Digunakan
Aplikasi dibuat menggunakan:
Flutter
Flutter adalah framework dari Google yang digunakan untuk membuat aplikasi dengan satu kode program.
Dart
Dart adalah bahasa pemrograman yang digunakan oleh Flutter.
DartPad
DartPad adalah website yang memungkinkan kita menjalankan kode Dart dan Flutter langsung di browser tanpa harus menginstal Flutter terlebih dahulu.
4. Fitur Aplikasi
Aplikasi BMI yang dibuat mempunyai beberapa fitur.
🧮 1. Menghitung BMI
Pengguna memasukkan berat dan tinggi badan, kemudian aplikasi menghitung nilai BMI secara otomatis.
👤 2. Data pengguna
Terdapat input:
- umur
- jenis kelamin
- berat badan
- tinggi badan
📊 3. Kategori BMI
Setelah dihitung, aplikasi memberikan kategori berdasarkan nilai BMI.
Kategori umum dewasa:
Nilai BMI
Kategori
< 18,5
Berat badan kurang
18,5 – 24,9
Rentang normal
25 – 29,9
Berat badan berlebih
≥ 30
Obesitas
💡 4. Saran
Aplikasi memberikan saran sederhana sesuai kategori BMI yang diperoleh.
🔄 5. Tombol Reset
Digunakan untuk menghapus data yang sudah dimasukkan dan mengembalikan aplikasi ke kondisi awal.
🌙 6. Dark Mode
Aplikasi mempunyai mode terang dan mode gelap sehingga tampilan bisa disesuaikan dengan kenyamanan pengguna.
📋 7. Riwayat BMI
Setiap hasil perhitungan dapat masuk ke daftar riwayat sehingga pengguna dapat melihat hasil perhitungan sebelumnya.
🗑️ 8. Hapus Riwayat
Pengguna dapat menghapus seluruh riwayat BMI dengan tombol Hapus.
⚠️ 9. Validasi Input
Aplikasi akan mengecek data yang dimasukkan.
Misalnya pengguna belum mengisi berat badan, aplikasi akan memberikan peringatan:
"Lengkapi semua data terlebih dahulu."
5. Cara Kerja Aplikasi
Alur kerja aplikasi secara sederhana:
Input Data → Validasi → Perhitungan BMI → Menentukan Kategori → Menampilkan Hasil → Menyimpan Riwayat
Contohnya:
Masukkan:
Umur : 20
Berat : 60 kg
Tinggi : 170 cm
Jenis Kelamin : Laki-laki
↓
Validasi Data
↓
Hitung BMI
↓
BMI = 20,8
↓
Kategori
"Rentang BMI dewasa normal"
↓
Tampilkan Saran
↓
Simpan ke Riwayat
6. Rumus yang Digunakan
Bagian utama program menggunakan rumus:
final heightMeter = height / 100;
final result =
weight / (heightMeter * heightMeter);
Penjelasannya:
height / 100
digunakan untuk mengubah tinggi dari cm menjadi meter.
Kemudian:
weight / (heightMeter * heightMeter)
digunakan untuk menghitung BMI.
7. Percabangan Kategori BMI
Program menggunakan if – else if – else untuk menentukan kategori.
Contohnya:
if (result < 18.5) {
resultCategory = 'Berat badan kurang';
} else if (result < 25) {
resultCategory = 'Rentang BMI dewasa normal';
} else if (result < 30) {
resultCategory = 'Berat badan berlebih';
} else {
resultCategory = 'Obesitas';
}
Cara kerjanya:
- Jika BMI kurang dari 18,5 → berat badan kurang.
- Jika BMI 18,5 sampai kurang dari 25 → rentang normal.
- Jika BMI 25 sampai kurang dari 30 → berat badan berlebih.
- Jika BMI 30 atau lebih → obesitas.
- MaterialApp
- Sebagai struktur utama aplikasi.
- Scaffold
- Membuat struktur halaman seperti AppBar dan Body.
- AppBar
- Digunakan untuk bagian atas aplikasi.
- TextField
- Digunakan untuk memasukkan data pengguna.
- ElevatedButton / FilledButton
- Digunakan untuk tombol.
- Card
- Digunakan untuk membuat kotak hasil dan informasi.
- Column
- Menyusun widget secara vertikal.
- Row
- Menyusun widget secara horizontal.
- Text
- Menampilkan tulisan.
- Icon
- Menampilkan ikon.
- setState()
- Digunakan untuk memperbarui tampilan ketika data berubah.
- variabel
- fungsi
- input dan output
- percabangan if-else
- list
- class
- validasi data
- setState()
- pembuatan UI menggunakan Flutter


Komentar
Posting Komentar