mengapa 25:65:10?
Mengapa 25? Dalam sebuah pengelolaan program, diperlukan pendanaan untuk kepentingan koordinasi, komunikasi, pemantauan, pelaporan, dan…
mengapa 25:65:10?
Mengapa 25? Dalam sebuah pengelolaan program, diperlukan pendanaan untuk kepentingan koordinasi, komunikasi, pemantauan, pelaporan, dan evaluasi. Serta di tahapan awal setiap tahunnya, perlu dilakukan pendanaan untuk perencanaan. Proses yang bertingkat memerlukan proses yang berulang dan memastikan bahwa program dapat terlaksana, dilaksanakan dan dilaporkan sesuai dengan kerangka metodologi program.
Bagaimana angka 25 ini ditemukan? Angka 25 diperoleh berdasarkan pengalaman dan pembelajaran dari berbagai proyek. dari pembelajaran berbagai program ataupun proyek, angka untuk manajerial program berada di angka 9–30. Lalu dilakukankan pengulasan dari masing-masing ciri program dan proyek. Membedah alokasi pendanaan dan efektivitas program. Dari proses diskusi dan expert judgement, disepakati angka 25 untuk tanggung jawab pengelolaan program.
Pada diskusi, pengelola dana program keseluruhan, menyatakan mereka memerlukan 10. Ini angka yang telah ditetapkan dalam kelembagaannya. silakan dibaca pada peraturan direkturnya dan implementasi pada berbagai program dan proyek yang dikelola. Dalam diskusi terfokus, dilakukan negosiasi agar dapat di angka 5. Namun pada akhirnya disepakati untuk ditambah 0,4, sebagai biaya administrasi bank, sehingga angka final 5,4 untuk pengelola dana. Alokasi 5 diharapkan dapat melingkupi juga peningkatan kapasitas pengelolaan dana, termasuk peningkatan kapasitas untuk pelaporan penggunaan dana. [2019]
Bagaimana angka antara pusat dan daerah dibagi. Ini proses negosiasi panjang berbasis bukti. Masing-masing pihak menghitung pendanaan yang diperlukan untuk pengelolaan program. Dari pembelajaran bertahun-tahun, pembagian peran dan tanggung jawab, hingga dilakukan negosiasi. Akhirnya disepakatilah angka 8,51 dan 11,09. [2018–2020]
Pada perjalanannya, ada lembaga perantara yang diarahkan agar menggunakan pendanaan dari bagian 25. Dengan menghitung kebutuhan lembaga perantara, serta realitas pada pelaksanaan di awal, maka disepakati angka 2 untuk lembaga perantara. Dengan perubahan angka ini, maka pengelola dana menjadi 4,9, pusat menjad 8,01, daerah menjadi 10,09 dan lembaga perantara menjadi 2.
Bagaimana membagi daerah? Dilakukanlah beberapa opsi: berdasarkan luas, berdasarkan kinerja, atau ditambahkan alokasi awal. Dengan berdasarkan relasi dengan luas wilayah, luas berhutan dan kinerja penurunan, maka disusun script sederhana python [2025]:
import streamlit as st
import pandas as pd
import numpy as np
import csv
from datetime import datetime
import plotly.express as px
from scipy.stats import pearsonr
# File csv
input_csv = 'Resp_UM.csv'
# Generate unique output filename
namaawal = "ekjerp_alokasi_"
sekarang = datetime.now()
stamp_str = sekarang.strftime("%Y%m%d_%H%M%S")
output_csv = f"{namaawal}_{stamp_str}.csv"
#print(f"Output file: {output_csv}")
# Panggil data
EKv = 1
def load_data_from_csv(filename):
"""Loads H and D lists from a CSV file."""
UM = []
H = []
D = []
try:
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
header = next(reader) # Skip header row if it exists
row = next(reader) # Read the first row
# Replace the first row's data with half of its original values
try:
row[1] = str(float(row[1]) * EKv) # H
row[2] = str(float(row[2]) * EKv) # D
except (IndexError, ValueError) as e:
print(f"Error processing first row: {row}. Skipping modification. Error: {e}")
UM.append((row[0])) # UM - unit management
H.append(float(row[1])) # H - forested area
D.append(float(row[2])) # D - annual deforestation rate
for row in reader:
try:
UM.append((row[0])) # UM - unit management
H.append(float(row[1])) # H - forested area
D.append(float(row[2])) # D - annual deforestation rate
except (IndexError, ValueError) as e:
print(f"Error processing row: {row}. Skipping. Error: {e}")
continue
except FileNotFoundError:
print(f"Error: File '{filename}' not found.")
return [], [], []
return UM, H, D
# Parameter
st.title('Penghitungan Manfaat Alokasi Responsibility')
st.write('Parameter:')
EKv = st.slider("Value Provinsi", 0.1, 1.0, 1.0, step=0.1)
# csv file
UM, H, D = load_data_from_csv(input_csv)
# Sliders for pH and pAW
pH = st.slider("Proporsi Hutan (pH)", 0.00, 1.00, 0.57, step=0.01)
pAW = st.slider("Opsi 3 - Alokasi Awal", 0.0, 1.0, 0.1, step=0.01)
pD = 1 - pH # 43%
pD = round(pD, 2)
nM = 148338068406 # nilai manfaat
sM = len(UM) # Jumlah UM
#print(f"\nJumlah UM: {sM} \n")
# Fungsi normalisasi
def normalize_positive(x):
x = np.array(x) # Convert to numpy array
return 0.1 + 0.9 * (x - x.min()) / (x.max() - x.min())
# Opsi 1
nH = normalize_positive(H)
nD = normalize_positive(D)
pM1 = ((nH / sum(nH)) * pH) + ((nD / sum(nD)) * pD)
RM1 = nM * pM1
# Opsi 2
pM2 = ((np.array(H) / sum(H)) * pH) + ((np.array(D) / sum(D)) * pD)
RM2 = nM * pM2
# Opsi 3 - Using the slider value directly
nMA = (pAW * nM) / sM
nM2 = (1 - pAW) * nM
RM3 = nMA + (pM2 * nM2)
# Buat DataFrame untuk tabel
data = {
'Wilayah': UM,
'Forested24': H,
'Ann.Def': D
}
df = pd.DataFrame(data)
# Tambahkan kolom untuk RM
df['index'] = RM1
df['percent'] = RM2
df['alloc'] = RM3
# Menambahkan total
total_row = {
'Wilayah': 'Total',
'Forested24': df['Forested24'].sum(),
'Ann.Def': df['Ann.Def'].sum(),
'index': df['index'].sum(),
'percent': df['percent'].sum(),
'alloc': df['alloc'].sum()
}
df_total = pd.DataFrame([total_row])
data_df = pd.concat([df, df_total], ignore_index=True)
# Streamlit app
st.set_page_config(layout="wide") # Use full width
st.write(f'Value Provinsi= {EKv*100:.2f} % ; Proporsi: Hutan = {pH*100:.2f} % ; Annual Deforestasi = {pD*100:.2f} % ; Alokasi awal = {pAW*100:.2f} %')
# Display data editor
st.data_editor(
data_df,
height="content",
row_height=30,
column_config={
"Wilayah": st.column_config.TextColumn(
"Wilayah",
help="Unit Wilayah",
max_chars=50,
),
"Forested24": st.column_config.NumberColumn(
"Luas Berhutan",
help="Luas kawasan berhutan pada akhir tahun performance)",
format="accounting",
),
"Ann.Def": st.column_config.NumberColumn(
"Penurunan Deforestasi",
help="Capaian Penurnan Deforestasi Tahunan (Baseline - Performance)",
width="content",
format="accounting",
),
"index": st.column_config.NumberColumn(
"Index min-max",
help="Penghitungan menggunakan index minimum-maximum",
format="accounting",
),
"percent": st.column_config.NumberColumn(
"Proporsional",
help="Penghitungan menggunakan proporsi (persentase)",
format="accounting",
),
"alloc": st.column_config.NumberColumn(
"Alokasi Awal",
help="Penghitungan dengan alokasi awal yang ditentukan",
format="accounting",
),
},
hide_index=True,
)
# Display bar chart
fig = px.bar(df, x='Wilayah', y=['index', 'percent', 'alloc'], title='Perbandingan Opsi')
fig.update_layout(barmode='group') # Display bars side-by-side
st.plotly_chart(fig, width='stretch')
# Export csv
st.write("## Save to CSV (Optional)")
csv = df.to_csv(index=False)
st.download_button(
label=f"Download CSV - {output_csv}",
data=csv,
file_name=output_csv,
mime="text/csv",
)
# Calculate correlations
# Correlation between H and each option
corr_H_index, p_H_index = pearsonr(H, RM1)
corr_H_percent, p_H_percent = pearsonr(H, RM2)
corr_H_alloc, p_H_alloc = pearsonr(H, RM3)
# Correlation between D and each option
corr_D_index, p_D_index = pearsonr(D, RM1)
corr_D_percent, p_D_percent = pearsonr(D, RM2)
corr_D_alloc, p_D_alloc = pearsonr(D, RM3)
# Display correlation results
st.write("## Koefisien Korelasi Pearson")
st.write("Korelasi antara H (luas hutan) dan masing-masing opsi:")
st.write(f"- H vs Opsi 1 (index): r = {corr_H_index:.8f}, p-value = {p_H_index:.8f}")
st.write(f"- H vs Opsi 2 (percent): r = {corr_H_percent:.8f}, p-value = {p_H_percent:.8f}")
st.write(f"- H vs Opsi 3 (alloc): r = {corr_H_alloc:.8f}, p-value = {p_H_alloc:.8f}")
st.write("Korelasi antara D (deforestasi) dan masing-masing opsi:")
st.write(f"- D vs Opsi 1 (index): r = {corr_D_index:.8f}, p-value = {p_D_index:.8f}")
st.write(f"- D vs Opsi 2 (percent): r = {corr_D_percent:.8f}, p-value = {p_D_percent:.8f}")
st.write(f"- D vs Opsi 3 (alloc): r = {corr_D_alloc:.8f}, p-value = {p_D_alloc:.8f}")
Pada akhirnya disepakati angka alokasi awal, proporsi luas berhutan dan proporsi kinerja penurunan.
Sedangkan pembagian untuk pusat, dilakukan berdasarkan kesepakatan dua lembaga di pusat.
Mengapa 10? Angka 10 ini hadir di saat awal, bahwa manfaat harus dibagikan berdasarkan kinerja. Lalu dilakukanlah simulasi terhadap 1.038 unit, dengan core pengelompokan 37 unit. Dengan menghitung luas berhutan dan laju penurunan, dilakukanlah MCDM dengan expert judgement dalam menyepakati bobot (DELPHI), agar bisa diterapkan metoda SAW. Hasilnya disepakati 30:70. Dengan metoda ini, maka ada unit wilayah yang dipastikan sangat kecil memperoleh proporsi, karena laju menjadi 0. Lalu didiskusikan peluang bagi ratusan unit yang tidak akan mendapat proporsi. Disepakatilah kemudian, kepada wilayah yang kecil atau tidak mendapat proporsi, memperoleh penghargaan. Lalu angkanya berapa? didiskusikanlah dengan dipandu simulasi angka, 10 menjadi angka kesepakatan. [2018]
Hasil ini dbawa pada rapat di pusat dan dengan yang punya uang. Dipertanyakan terkait akurasi. Akhirnya disepakati untuk menggunakan pendekatan negara lain yang telah ada perencanaan serupa. Munculah metoda index dengan 4 parameter utama dan attribut yang disepakati, dengan bobot bertingkat: 40:30:20:10. [2019]
Ketika metoda index diterapkan, maka peluang dari 1.038 unit wilayah menjadi sama. Lalu bagaimana dengan 10 yang sudah dihasilkan? Pada periode awal, karena diterapkan batas minimum luasan berhutan, terdapat unit yang sudah melaksanakan inisiatif yang tidak memperoleh proporsi. Disepakati kemudian mereka dapat memperoleh proporsi dengan besar tidak lebih dari proporsi terendah dari kinerja. Lalu ditambahkanlah kelompok di dalam unit yang telah melakukan inisiatif serupa, sebagai affirmasi dan memberikan penghargaan lebih terhadap kelompok di dalam unit. [2022]
Dalam negosiasi dengan pemilik, diperintahkan agar tidak ada unit di dalam penghargaan. akhirnya [2025] unit dipindahkan ke dalam kinerja, dan 10 hanya untuk kelompok di dalam unit.
Alokasi untuk setiap kelompok adalah berdasarkan dana yang ada dalam SBM dengan toleransi 30% lalu dibagi prorata per kategori kelompok, dan untuk kelompok tertentu, sesuai proporsi dibagi prorata. [2023, 2026]
Mengapa 65? Kalau ini sudah jelas. 100 — (25 + 10). Coba saja dihitung, hasinya 65. Bagaimana 65 ini dibelah-belah. Kembali diidentifikasi aktor dan peran. Dalam beberapa kali putaran rapat, disepakatilah level supervisor 10, lalu bagaimana dengan level di bawahnya? karena dipandang beban manajer cukup besar, diberikanlah angka 30 dari 90, dan untuk unit adalah 70 dari 90. Lahirlah angka 10 : 27 : 63.
Pada periode awal, menggunakan angka 30:70, menggunakan 2 pendekatan: supervisor dan manager berdasarkan proporsional; unit berdasarkan MAUT [index, alokasi awal:10]
Untuk periode lanjutan, menggunakan angka 57:43. menggunakan MAUTindex, 10] dan proporsional untuk kateogir unit. angka 57:43 ini dihasilkan dari running 0,000–100,000 hingga ditemukan angka pearson optimum terhadap parameter yang digunakan.
Penentuan alokasi awal untuk unit dilakukan dengan simulasi 0–100, yang kemudian ditemukan angka 70, dan diperintahkan disepakati oleh pemilik.
Bila ada pertanyaan lebih lanjut ataupun membutuhkan diskusi lebih lanjut tentang metoda MCDM yang diterapkan dan proses pengambilan keputusan, silakan untuk mengikuti perkuliahan.
Bacaan penting:
- Luttrell, et al. (2013) Who Should Benefit from REDD+? Rationales and Realities, https://www.landscapealliance.org/knowledge/publication/4355/
- Undeland (2025) Study on Impactfull Benefit Sharing in REDD+, https://www.forestcarbonpartnership.org/sites/default/files/documents/cf29_2e._impactful_bsp_v26jan25.pdf [presentation]
메타데이터
- post_id
- 2ba475d55e77
- slug
- mengapa-25-65-10-2ba475d55e77
- url
- https://medium.com/@adefadli/mengapa-25-65-10-2ba475d55e77
- canonical_url
- https://medium.com/@adefadli/mengapa-25-65-10-2ba475d55e77
- author_url
- https://medium.com/@adefadli
- status
- ok
- fetched_at
- 2026-07-09 17:12:49