Saya ingin menghitung TDEE dan target makronutrisi yang akurat dan actionable.
Ikuti SEMUA langkah di bawah secara berurutan, jangan skip satupun. Tampilkan proses perhitungan singkat tiap langkah, lalu ringkas hasil akhirnya dalam bentuk tabel.
1. DATA FISIK
Berat Badan (kg):
Tinggi Badan (cm):
Usia (tahun):
Jenis Kelamin (Pria/Wanita):
2. METRIK TUBUH (untuk estimasi body fat %)
Lingkar Leher (cm):
Lingkar Pinggang (cm, diukur di pusar):
Lingkar Pinggul (cm, WAJIB jika Wanita):
3. KUALIFIKASI LATIHAN
Latihan beban intens (min 3x/minggu) konsisten >6 bulan? (Ya/Tidak):
4. DATA AKTIVITAS (isi apa adanya, jangan dibulatkan ke atas)
a. Jenis pekerjaan/aktivitas harian utama:
(Duduk terus/WFH-kantoran / Duduk tapi sering mondar-mandir / Berdiri & jalan cukup sering (guru, sales, kasir) / Fisik berat (kuli, kurir, buruh, atlet))
b. Rata-rata langkah harian (isi angka dari HP/smartwatch kalau tahu, kalau tidak isi "tidak tahu"):
c. Olahraga/latihan terstruktur (gym, lari, olahraga tim, dll) dalam SEBULAN TERAKHIR (bukan rencana/target):
Jumlah sesi per minggu (rata-rata):
Durasi tiap sesi (menit):
Intensitas rata-rata (Ringan-santai / Sedang-berkeringat / Berat-ngos-ngosan):
d. Sudah berapa lama konsisten dengan pola di atas? (<1 bulan / 1-3 bulan / >3 bulan):
5. TUJUAN & PREFERENSI
Tujuan: (Cutting / Maintain / Bulking):
Preferensi Karbohidrat: (High Carb / Moderate Carb / Low Carb):
====BATAS INPUTAN DATA OLEH USER=====

INSTRUKSI PERHITUNGAN (WAJIB DIIKUTI URUT, JANGAN LOMPAT LANGKAH)
LANGKAH 1 — Body Fat %
Hitung estimasi body fat% pakai rumus U.S. Navy Method PERSIS seperti di bawah ini (jangan pakai versi rumus lain dari memori, semua satuan dalam cm, log10 = logaritma basis 10):
Pria: BF% = 495 / (1.0324 − 0.19077×log10(waist − neck) + 0.15456×log10(height)) − 450
Wanita: BF% = 495 / (1.29579 − 0.35004×log10(waist + hip − neck) + 0.22100×log10(height)) − 450
Tampilkan perhitungan step-by-step (nilai di dalam setiap log10, hasil tiap log10, lalu hasil akhir BF%) supaya bisa diverifikasi, lalu tampilkan hasil akhir BF%-nya secara eksplisit.
LANGKAH 2 — Pilih Rumus BMR
Jika poin 3 = "Ya" DAN body fat% berhasil dihitung → gunakan Katch-McArdle (Lean Body Mass = Berat Badan x (1 - BF%))
Jika poin 3 = "Tidak" ATAU body fat% tidak bisa dihitung → gunakan Mifflin-St Jeor
Tampilkan rumus mana yang dipakai dan alasannya.
LANGKAH 3 — Klasifikasi Level Aktivitas (dihitung AI dari data mentah, BUKAN dipilih user)
Hitung "skor olahraga mingguan" = jumlah sesi x durasi (menit) x faktor intensitas (Ringan=1, Sedang=1.5, Berat=2)
Klasifikasikan kontribusi olahraga dari skor (batas angka INKLUSIF persis seperti berikut, jangan dibulatkan atau digeser). PENTING: gunakan LANGSUNG label final di bawah ini (Sedenter/Aktif Ringan/Aktif Sedang/Aktif Berat) — JANGAN membuat label perantara sendiri (seperti "rendah/sedang/tinggi/sangat tinggi") karena itu tidak terdefinisi dan akan menyebabkan salah konversi:
Skor 0 sampai 90 → Sedenter
Skor 91 sampai 250 → Aktif Ringan
Skor 251 sampai 450 → Aktif Sedang
Skor lebih dari 450 → Aktif Berat
Tampilkan angka skor hasil hitung SEBELUM diklasifikasi, supaya kategori yang dipilih bisa diverifikasi manual.
Klasifikasikan kontribusi kerja dari jenis pekerjaan (label sama persis dengan poin 2 di atas):
Duduk terus → Sedenter
Duduk tp mondar-mandir → Aktif Ringan
Berdiri & jalan sering → Aktif Sedang
Fisik berat → Aktif Berat
Level Aktivitas Final = MAX(kontribusi olahraga dari poin 2, kontribusi kerja dari poin 3) — bandingkan berdasarkan urutan Sedenter < Aktif Ringan < Aktif Sedang < Aktif Berat, ambil yang lebih tinggi.
Naikkan SATU tingkat jika kontribusi kerja DAN olahraga sama-sama minimal "Aktif Sedang" (jangan dijumlah penuh, cukup naik satu level, dan tidak bisa naik melebihi "Aktif Berat").
Jika konsistensi (poin 4d) < 1 bulan → TURUNKAN satu tingkat dari hasil di atas (tubuh belum teradaptasi).
Jika data langkah harian (4b) tersedia, gunakan sebagai cross-check:
<5.000 langkah → jangan naikkan level meski olahraga tinggi
5.000-8.000 → netral, tidak mengubah apapun
8.000 → boleh naikkan setengah-hingga-satu tingkat JIKA hasil klasifikasi ambigu di batas dua kategori
Mapping ke multiplier baku (JANGAN diubah angkanya):
Sedenter=1.2, Aktif Ringan=1.375, Aktif Sedang=1.55, Aktif Berat=1.725
Tampilkan: level aktivitas final, alasan singkat (skor olahraga berapa, kontribusi kerja apa, ada penyesuaian konsistensi/langkah atau tidak), dan multiplier yang dipakai.
LANGKAH 4 — Hitung TDEE
TDEE = BMR x multiplier aktivitas (dari Langkah 3)
LANGKAH 5 — Tentukan Kalori Target berdasarkan Tujuan (WAJIB, jangan biarkan sama dengan TDEE kecuali Maintain)
Cutting: TDEE − 20% (defisit moderat). Floor minimum: 1200 kkal (Wanita) / 1500 kkal (Pria) — jika hasil hitung di bawah floor ini, beri peringatan dan gunakan floor tersebut.
Bulking: TDEE + 12% (surplus moderat)
Maintain: = TDEE
Tampilkan kalori target secara eksplisit DAN angka defisit/surplus dalam kkal.
LANGKAH 6 — Hitung Makro dari Kalori Target (bukan dari TDEE)
Protein: 2.2g/kg berat badan jika Cutting (preservasi otot prioritas), atau 1.8g/kg jika Bulking/Maintain.
Jika body fat% tergolong tinggi (Pria >20%, Wanita >30%), gunakan basis Lean Body Mass, bukan total berat badan.
Lemak: minimal 0.8g/kg berat badan, naikkan jika preferensi Low Carb.
Karbohidrat: sisa kalori (Kalori Target − kalori protein − kalori lemak) ÷ 4.
Sesuaikan rasio akhir berdasarkan preferensi High/Moderate/Low Carb yang dipilih user.
LANGKAH 7 — Panduan Kalibrasi
Pantau berat badan tiap minggu (rata-rata beberapa hari, bukan sekali timbang).
Cutting: target turun 0.5-1% berat badan/minggu. Jika dalam 2 minggu tidak turun sesuai itu → kurangi 150-200 kkal.
Bulking: target naik 0.25-0.5% berat badan/minggu. Jika dalam 2 minggu tidak naik → tambah 150-200 kkal.
Maintain: jika berat berubah >1% dalam 2 minggu ke arah manapun → sesuaikan ±100-150 kkal.
LANGKAH 8 — Disclaimer
Sertakan catatan singkat: ini estimasi berbasis rumus umum, bukan pengganti saran ahli gizi/dokter — terutama jika ada kondisi medis, underweight, riwayat gangguan makan, atau kondisi hormonal khusus.
LANGKAH 9 — SELF-VERIFICATION (WAJIB, sebelum menampilkan hasil final)
Sebelum menampilkan tabel akhir, lakukan cross-check berikut dan TAMPILKAN hasil ceknya:
Ambil ulang angka Berat Badan dari input Bagian 1. Sebut sebagai W.
Verifikasi Body Fat%: hitung ulang dari nol pakai rumus Navy Method persis di Langkah 1 (jangan pakai angka dari memori/perkiraan), cocokkan dengan hasil yang sudah ditulis. Jika beda, PAKAI hasil hitung ulang ini.
Verifikasi Level Aktivitas: cocokkan skor olahraga yang sudah dihitung dengan tabel di Langkah 3 poin 2 — pastikan skornya masuk rentang yang benar, DAN pastikan label yang dipakai adalah salah satu dari Sedenter/Aktif Ringan/Aktif Sedang/Aktif Berat (bukan label lain seperti "tinggi/rendah/sedang" yang lalu dikonversi manual — itu sumber kesalahan paling umum).
Verifikasi BMR: apakah BMR yang dihitung konsisten dengan W (via LBM jika Katch-McArdle, atau langsung via rumus Mifflin-St Jeor)? Hitung ulang sekali lagi dari nol, bandingkan dengan angka BMR yang sudah ditulis di Langkah 2. Jika beda, PAKAI hasil hitung ulang ini dan revisi seluruh langkah setelahnya.
Verifikasi Protein: apakah gram protein ÷ (2.2 atau 1.8) menghasilkan angka yang mendekati W (atau LBM jika dipakai)? Jika tidak, perbaiki.
Verifikasi Lemak: apakah gram lemak ÷ 0.8 (atau lebih, jika naik karena Low Carb) mendekati W? Jika tidak, perbaiki.
Verifikasi Karbohidrat: hitung ulang (Kalori Target − kalori protein − kalori lemak) ÷ 4, pastikan cocok dengan angka karbo yang ditulis.
Verifikasi TDEE: BMR × multiplier aktivitas, hitung ulang, cocokkan.
Verifikasi Kalori Target: TDEE ± persentase sesuai tujuan, hitung ulang, cocokkan.
Jika SEMUA angka konsisten dengan W yang sama → tulis "✅ Semua angka terverifikasi konsisten dengan berat badan input."
Jika ada yang TIDAK konsisten → tulis secara eksplisit angka mana yang salah, perbaiki, dan tampilkan tabel akhir dengan angka yang SUDAH diperbaiki, bukan angka yang salah di awal.
LANGKAH 10 — Kapan Harus Hitung Ulang
Di akhir output, sertakan catatan ringkas (1 paragraf saja, tidak perlu detail panjang):
"📌 Estimasi ini valid untuk kondisi tubuh saat ini. Hitung ulang total (isi ulang semua data dari awal) jika: berat badan berubah ≥3-5% dari sekarang, sudah lewat 4-6 minggu, ganti fase (misal cutting→maintain), atau level aktivitas berubah signifikan — mana yang lebih dulu terjadi. Kalibrasi mingguan di atas cukup untuk penyesuaian kecil selama masih dalam rentang ini."
FORMAT OUTPUT AKHIR
Tampilkan tabel ringkas berisi:
| Metrik | Nilai |
|---|---|
| Body Fat % (estimasi) | |
| Rumus BMR dipakai | |
| BMR | |
| Level Aktivitas & Multiplier | |
| TDEE | |
| Kalori Target | |
| Defisit/Surplus | |
| Protein (g) | |
| Lemak (g) | |
| Karbohidrat (g) | |
Diikuti penjelasan singkat 1-2 kalimat per langkah di bawah tabel.
Dibuat oleh @botakgym — share & tag kalau berguna 🙌