Kalkulator BAC
Perkirakan Kadar Alkohol Darah (BAC) berdasarkan minuman, berat, dan waktu.
Tentang alat ini
Kadar alkohol dalam darah (KAD) adalah ukuran persentase alkohol dalam aliran darah Anda dan merupakan indikator penting dari keracunan alkohol. Kalkulator KAD ini memperkirakan kadar alkohol dalam darah Anda berdasarkan jumlah alkohol yang Anda konsumsi, berat badan, jenis kelamin, dan waktu yang telah berlalu sejak Anda mulai minum. Memahami KAD yang diperkirakan membantu Anda membuat keputusan yang tepat tentang keamanan mengemudi, mengoperasikan mesin, atau melakukan aktivitas lain yang memerlukan kejelasan mental.
Untuk menggunakan kalkulator ini, masukkan jumlah minuman standar yang Anda konsumsi, berat badan Anda, pilih jenis kelamin Anda (yang mempengaruhi metabolisme alkohol), dan tentukan berapa lama waktu yang telah berlalu sejak Anda mulai minum. Kalkulator menggunakan formula Widmark, metode yang diterima luas dalam ilmu forensik dan kesehatan masyarakat, untuk memperkirakan KAD Anda. Ingat bahwa ini adalah perkiraan β KAD aktual bervariasi karena faktor-faktor seperti konsumsi makanan, laju metabolisme, kekuatan minuman, dan tingkat hidrasi.
Hasil disediakan hanya untuk tujuan pendidikan dan pengurangan bahaya dan tidak boleh pernah digunakan sebagai pertahanan hukum atau sebagai pengganti tes napas. Banyak yurisdiksi mendefinisikan batas berkendara hukum (biasanya 0,08% di banyak negara), dan perangkat napas polisi adalah satu-satunya metode penegakan yang dapat diandalkan. Selalu prioritaskan keselamatan: jika Anda telah minum alkohol, gunakan taksi, pengemudi yang ditunjuk, atau layanan berbagi perjalanan alih-alih mengandalkan perkiraan.
Pertanyaan yang Sering Diajukan
Implementasi Kode
def calculate_bac(
drinks: list[dict],
weight_kg: float,
gender: str,
hours_elapsed: float
) -> float:
"""
Estimate Blood Alcohol Content using the Widmark formula.
BAC = (alcohol_grams / (weight_kg * r * 10)) - (0.015 * hours)
r = 0.68 for male, 0.55 for female
drinks: list of {"abv": float (%), "volume_ml": float}
WARNING: For estimation only. Never use to determine fitness to drive.
"""
r = 0.68 if gender.lower() == "male" else 0.55
total_alcohol_grams = sum(
d["volume_ml"] * (d["abv"] / 100) * 0.789 # ethanol density = 0.789 g/ml
for d in drinks
)
bac = (total_alcohol_grams / (weight_kg * r * 10)) - (0.015 * hours_elapsed)
return max(bac, 0.0)
# Example: 80kg male, 2 beers (5%, 355ml), 1 hour elapsed
drinks = [
{"abv": 5, "volume_ml": 355},
{"abv": 5, "volume_ml": 355},
]
bac = calculate_bac(drinks, weight_kg=80, gender="male", hours_elapsed=1)
print(f"Estimated BAC: {bac:.4f}%") # ~0.0367%
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.