{
  "dibuat": "2026-10-12",
  "keterangan": "Kunci jawaban kalkulator tarif air minum. Angka contoh dihitung tangan dari rumus Lampiran Permendagri 21 Tahun 2020; kasus tepi dan pembacaan angka ditulis tangan.",
  "rumus_lampiran": {
    "sumber": "permendagri-21-2020",
    "kutipan": [
      "TBU = BOP + BDA + BBP + BOPL",
      "YTBU = TBU x (1 + i) (Y-X)",
      "VKAR = TKAR x VAP",
      "BD = YTBU/ (VAP - VKAR)",
      "TD = BD",
      "Sb = ….. % x TD",
      "TSb = Sb x VTTR",
      "RSb = (TSb/ VTTR)",
      "TR = TD - RSb",
      "TK ≧ 10 % x TA",
      "RTK = (TK / VTTPK)",
      "RSbS = (TSb/ VTTPK)",
      "TP = TD + RTK + RSbS",
      "TKnK Minimal sama dengan TD",
      "minimal sama dengan TP",
      "Upah minimum Provinsi/Kabupaten/Kota Rp./Bln Y-1",
      "4% UMK/10 (Tdasar) Jika (4)<(3)",
      "(6)=(3)-(4) (7) (8)=(6)*(7)",
      "Tarif Rata-rata Presentasi besaran cakupan layanan air minum oleh BUMD",
      "Pemberian Subsidi yang berasal dari APBD Estimasi Air Terjual Total Subsidi"
    ]
  },
  "kasus": [
    {"id":"angka-1","nama":"bacaAngka(\"48.000.000.000\")","fungsi":"bacaAngka","masukan":{"teks":"48.000.000.000"},"harapan":{"nilai":48000000000}},
    {"id":"angka-2","nama":"bacaAngka(\"3,5\")","fungsi":"bacaAngka","masukan":{"teks":"3,5"},"harapan":{"nilai":3.5}},
    {"id":"angka-3","nama":"bacaAngka(\"3.5\")","fungsi":"bacaAngka","masukan":{"teks":"3.5"},"harapan":{"nilai":3.5}},
    {"id":"angka-4","nama":"bacaAngka(\"1.200.000\")","fungsi":"bacaAngka","masukan":{"teks":"1.200.000"},"harapan":{"nilai":1200000}},
    {"id":"angka-5","nama":"bacaAngka(\"Rp 3.600.000\")","fungsi":"bacaAngka","masukan":{"teks":"Rp 3.600.000"},"harapan":{"nilai":3600000}},
    {"id":"angka-6","nama":"bacaAngka(\"10%\")","fungsi":"bacaAngka","masukan":{"teks":"10%"},"harapan":{"nilai":10}},
    {"id":"angka-7","nama":"bacaAngka(\"2025\")","fungsi":"bacaAngka","masukan":{"teks":"2025"},"harapan":{"nilai":2025}},
    {"id":"angka-8","nama":"bacaAngka(\"0\")","fungsi":"bacaAngka","masukan":{"teks":"0"},"harapan":{"nilai":0}},
    {"id":"angka-9","nama":"bacaAngka(\"\")","fungsi":"bacaAngka","masukan":{"teks":""},"harapan":{"nilai":null}},
    {"id":"angka-10","nama":"bacaAngka(\"  \")","fungsi":"bacaAngka","masukan":{"teks":"  "},"harapan":{"nilai":null}},
    {"id":"angka-tidak-terbaca-1","nama":"bacaAngka(\"abc\") tidak terbaca","fungsi":"bacaAngka","masukan":{"teks":"abc"},"harapan":{"nan":true}},
    {"id":"angka-tidak-terbaca-2","nama":"bacaAngka(\"1,000,000\") tidak terbaca","fungsi":"bacaAngka","masukan":{"teks":"1,000,000"},"harapan":{"nan":true}},
    {"id":"angka-tidak-terbaca-3","nama":"bacaAngka(\"-5\") tidak terbaca","fungsi":"bacaAngka","masukan":{"teks":"-5"},"harapan":{"nan":true}},
    {"id":"angka-tidak-terbaca-4","nama":"bacaAngka(\"3,5,1\") tidak terbaca","fungsi":"bacaAngka","masukan":{"teks":"3,5,1"},"harapan":{"nan":true}},
    {"id":"contoh","nama":"contoh rekaan di formulir","fungsi":"contoh","masukan":{"x":"2025","y":"2027","i":"3","bop":"38.500.000.000","bda":"6.200.000.000","bbp":"900.000.000","bopl":"2.400.000.000","vap":"11.000.000","tkar":"28","psb":"30","vttr":"1.200.000","ta":"90.000.000.000","pk":"10","vttpk":"1.500.000","umk":"3.600.000","pendapatan":"44.000.000.000","terjual":"7.500.000","estimasi":""},"harapan":{"tbu":48000000000,"faktor":1.0609,"ytbu":50923200000,"vkar":3080000,"bersih":7920000,"bd":6429.696969697,"sb":1928.909090909,"tsb":2314690909.0909,"tr":4500.787878788,"tk":9000000000,"rtk":6000,"rsbs":1543.127272727,"tp":13972.824242424,"atas":14400,"trata":5866.666666667,"subsidi":563.03030303,"total":4222727272.727,"td_sama_bd":true,"rsb_sama_sb":true,"kurang":true,"melampauiAtas":false},"hitung":"TBU = 38,5 + 6,2 + 0,9 + 2,4 miliar = 48 miliar; YTBU = 48 miliar × 1,03^2 = 48 miliar × 1,0609 = 50.923.200.000; VKAR = 28% × 11.000.000 = 3.080.000; VAP − VKAR = 7.920.000; BD = 50.923.200.000 / 7.920.000 = 6.429,69697 (= TD); Sb = 30% × TD = 1.928,90909; TSb = Sb × 1.200.000 = 2.314.690.909,09; RSb = TSb / VTTR = 1.928,90909; TR = TD − RSb = 4.500,78788; TK = 10% × 90 miliar = 9 miliar; RTK = 9 miliar / 1.500.000 = 6.000; RSbS = 2.314.690.909,09 / 1.500.000 = 1.543,12727; TP = 6.429,69697 + 6.000 + 1.543,12727 = 13.972,82424; batas atas = 4% × 3.600.000 / 10 = 14.400; Tarif Rata-rata = 44 miliar / 7.500.000 = 5.866,66667 < TD; subsidi = 6.429,69697 − 5.866,66667 = 563,03030; × 7.500.000 = 4.222.727.272,73"},
    {"id":"tanpa-biaya","nama":"tanpa biaya: galat","fungsi":"biayaDasar","masukan":{"vap":1000000,"tkar":20},"harapan":{"galat":true}},
    {"id":"tanpa-vap","nama":"tanpa VAP: galat","fungsi":"biayaDasar","masukan":{"bop":1000000000,"tkar":20},"harapan":{"galat":true}},
    {"id":"tanpa-tkar","nama":"tanpa TKAR: galat","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000},"harapan":{"galat":true}},
    {"id":"tkar-100","nama":"TKAR 100: galat","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000,"tkar":100},"harapan":{"galat":true}},
    {"id":"tkar-0","nama":"TKAR 0 sah","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000,"tkar":0},"harapan":{"bd":1000}},
    {"id":"tahun-mundur","nama":"Y sebelum X: galat","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000,"tkar":20,"i":3,"x":2027,"y":2025},"harapan":{"galat":true}},
    {"id":"inflasi-tanpa-tahun","nama":"i tanpa X dan Y: tanpa proyeksi","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000,"tkar":20,"i":3},"harapan":{"proyeksi":false,"faktor":1,"bd":1250}},
    {"id":"tahun-sama","nama":"Y = X: faktor 1","fungsi":"biayaDasar","masukan":{"bop":1000000000,"vap":1000000,"tkar":20,"i":3,"x":2026,"y":2026},"harapan":{"faktor":1}},
    {"id":"rendah-kosong","nama":"Tarif Rendah kosong: null","fungsi":"tarifRendah","masukan":{"td":1000},"harapan":{"null":true}},
    {"id":"psb-0","nama":"PSb 0: galat","fungsi":"tarifRendah","masukan":{"td":1000,"psb":0,"vttr":10},"harapan":{"galat":true}},
    {"id":"psb-100","nama":"PSb 100: galat","fungsi":"tarifRendah","masukan":{"td":1000,"psb":100,"vttr":10},"harapan":{"galat":true}},
    {"id":"penuh-kosong","nama":"Tarif Penuh kosong: null","fungsi":"tarifPenuh","masukan":{"td":1000},"harapan":{"null":true}},
    {"id":"keuntungan-8","nama":"keuntungan 8%: ditandai","fungsi":"tarifPenuh","masukan":{"td":1000,"ta":1000000000,"pk":8,"vttpk":1000000},"harapan":{"persenRendah":true}},
    {"id":"keuntungan-kosong","nama":"keuntungan kosong: 10%","fungsi":"tarifPenuh","masukan":{"td":1000,"ta":1000000000,"vttpk":1000000},"harapan":{"persen":10}},
    {"id":"tanpa-rendah","nama":"tanpa Tarif Rendah: RSbS nol","fungsi":"tarifPenuh","masukan":{"td":1000,"ta":1000000000,"vttpk":1000000},"harapan":{"rsbs":0,"tanpaSubsidi":true,"tp":1100}},
    {"id":"batas-kosong","nama":"batas kosong: null","fungsi":"batasTarif","masukan":{"td":1000},"harapan":{"null":true}},
    {"id":"hanya-upah","nama":"hanya upah minimum: batas atas saja","fungsi":"batasTarif","masukan":{"td":1000,"umk":3000000},"harapan":{"atas":12000,"trata":null,"total":0}},
    {"id":"pendapatan-tanpa-volume","nama":"pendapatan tanpa volume: galat","fungsi":"batasTarif","masukan":{"td":1000,"pendapatan":1000000000},"harapan":{"galat":true}},
    {"id":"rata-di-atas","nama":"Tarif Rata-rata di atas TD: tanpa subsidi","fungsi":"batasTarif","masukan":{"td":1000,"pendapatan":1200000000,"terjual":1000000},"harapan":{"kurang":false,"subsidi":0,"total":0}},
    {"id":"estimasi","nama":"estimasi air terjual dipakai bila diisi","fungsi":"batasTarif","masukan":{"td":1000,"pendapatan":800000000,"terjual":1000000,"estimasi":2000000},"harapan":{"total":400000000}},
    {"id":"bawah-melampaui","nama":"batas bawah di atas batas atas ditandai","fungsi":"batasTarif","masukan":{"td":15000,"umk":3000000},"harapan":{"melampauiAtas":true}},
    {"id":"tanpa-dasar","nama":"tanpa Tarif Dasar: batas atas dan Tarif Rata-rata saja","fungsi":"batasTarif","masukan":{"umk":3000000,"pendapatan":5000000000,"terjual":1000000},"harapan":{"atas":12000,"trata":5000,"kurang":false,"total":0,"melampauiAtas":false}}
  ]
}
