<?php
function fuzzy_kategori_kerusakan($nilai)
{
    $nilai = max(0, min(100, (int) $nilai));

    if ($nilai <= 33) {
        return 'Rusak Ringan';
    }

    if ($nilai <= 66) {
        return 'Rusak Sedang';
    }

    return 'Rusak Parah';
}

function fuzzy_bobot_urgensi($hari)
{
    $hari = max(1, (int) $hari);

    if ($hari <= 3) {
        return 1;
    }

    if ($hari <= 7) {
        return 0.75;
    }

    if ($hari <= 14) {
        return 0.5;
    }

    return 0.25;
}

function fuzzy_prioritas($kerusakan, $waktu)
{
    $skorKerusakan = max(0, min(100, (int) $kerusakan)) / 100;
    $skorWaktu = fuzzy_bobot_urgensi($waktu);

    return round((($skorKerusakan * 0.8) + ($skorWaktu * 0.2)) * 100, 2);
}
?>
