Kalkulator Luas Permukaan Tubuh
Hitung luas permukaan tubuh menggunakan rumus Mosteller dan DuBois — digunakan dalam penentuan dosis obat.
Pertanyaan yang Sering Diajukan
Implementasi Kode
import math
def bsa_mosteller(height_cm: float, weight_kg: float) -> float:
"""
Mosteller formula: BSA (m²) = sqrt(height_cm * weight_kg / 3600)
Widely used due to simplicity and clinical accuracy.
"""
return math.sqrt(height_cm * weight_kg / 3600)
def bsa_dubois(height_cm: float, weight_kg: float) -> float:
"""
DuBois & DuBois formula (1916):
BSA (m²) = 0.007184 * height_cm^0.725 * weight_kg^0.425
"""
return 0.007184 * (height_cm ** 0.725) * (weight_kg ** 0.425)
def bsa_haycock(height_cm: float, weight_kg: float) -> float:
"""
Haycock formula (1978) — recommended for children and neonates:
BSA (m²) = 0.024265 * height_cm^0.3964 * weight_kg^0.5378
"""
return 0.024265 * (height_cm ** 0.3964) * (weight_kg ** 0.5378)
# Comparison across formulas
cases = [
("Avg adult male", 178, 80),
("Avg adult female", 165, 65),
("Child (10 y)", 140, 35),
("Large adult", 190, 110),
]
print(f"{'Case':<22} {'Mosteller':>10} {'DuBois':>8} {'Haycock':>9}")
print("-" * 52)
for name, h, w in cases:
m = bsa_mosteller(h, w)
d = bsa_dubois(h, w)
hc = bsa_haycock(h, w)
print(f"{name:<22} {m:>10.3f} {d:>8.3f} {hc:>9.3f}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.