Sampel Dokumen — Pendirian Yayasan
Sampel asli dari SABH untuk prompt tuning extractor, tuning keyword classifier
(nirlaba — milik dev4, salin folder ini ke dev_4/docs/samples/yayasan/), dan
uji akurasi (golden set).
PDF dan .expected.json TIDAK di-commit (gitignored — berisi data pribadi:
NIK, alamat organ). Hanya README ini dan struktur folder yang masuk git.
Konvensi penamaan
{jenis-dok}_{varian}_{tahun}_{nomor-transaksi}.pdf
jenis-dok:akta-yayasan|surat-kemenlu|residence-permitvarian:nasional|asing(nilai SABH, lihat catatan varian di bawah)nomor-transaksi: jejak balik ke SABH (JANGAN pakai nama yayasan/orang di nama file)- Ground truth uji akurasi: file kembar
<basename>.expected.jsondi samping PDF
Struktur
akta/— Akta Pendirian Yayasan (dokumen otoritatif, target ekstraksi utama)syarat-asing/— dokumenupload_syarat_asing(varian asing): surat
pertimbangan Kemenlu asli, dan fixture negatif (mis. residence permit yang
ditemukan ter-upload di slot ini di SABH)
Manifest
| File | Nomor transaksi | bh_id | Varian | Sumber | Catatan |
|---|---|---|---|---|---|
akta/akta-yayasan_asing_2026_5026072251101253.pdf |
5026072251101253 | 1864317 | asing | history SABH | akta pendirian, salinan |
syarat-asing/residence-permit_asing_2026_5026072251101253.pdf |
5026072251101253 | 1864317 | asing | history SABH | isi slot upload_syarat_asing ternyata residence permit, BUKAN surat Kemenlu → fixture negatif rule kesesuaian isi |
akta/akta-yayasan_nasional_2026_5026080735100393.pdf |
5026080735100393 | — | nasional | history SABH | akta pendirian, salinan |
Temuan dari dua sampel akta (2026-08-11)
Semuanya sudah masuk ke prompt YAYASAN_AKTA_SCHEMA
(backend/src/schema/akta-yayasan.ts); dicatat di sini supaya tidak hilang.
- Identitas organ ada di dua tempat. Pasal penutup mengangkat Pembina,
Pengurus, Pengawas beserta jabatannya, tetapi identitasnya ditulis "tersebut
di atas". NIK/paspor ada di daftar penghadap di AWAL akta. Ekstraktor harus
menggabungkan keduanya berdasarkan nama. - Urutan organ tidak tetap. Sampel nasional menulis "a. Pengurus, c. Pengawas,
d. Pembina" — huruf b terlewat. Organ harus dikenali dari namanya. - Kekayaan punya dua ayat dan hanya ayat (1) yang relevan. Ayat (1) =
kekayaan yang benar-benar dipisahkan pendiri; ayat (2) = boilerplate sumber
yang MUNGKIN diterima kemudian (sumbangan, wakaf, hibah, hibah wasiat).
Membaca ayat (2) sebagaisumberakan melaporkan sumbangan yang tak pernah ada. - Bidang maksud melebihi tiga flag SABH. Kedua sampel menyebut empat bidang
dan keduanya menambahkan Pendidikan. Karena itu schema dapat
maksud_tujuan.bidang_lain: string[]. - Provinsi tidak disebut untuk kedudukan yayasan; Pasal 1 hanya menyebut
kabupaten/kota. Provinsi dibiarkan null, jangan ditebak dari alamat penghadap
atau kedudukan notaris. - NPWP tidak ada sama sekali di akta pendirian. Field
npwppada organ
tetap ada (bentuk bersama dengan Perkumpulan) tapi selalu null dari ekstraksi. - Tanggal angka dan tanggal huruf berbeda di KEDUA sampel
(22-06-2026vs "dua puluh dua Juli";04-08-2026vs "delapan Desember dua
ribu dua puluh lima"). Ini salah ketik notaris, bukan salah OCR. Diambil
bentuk angka; koreksi jadi urusan halaman review. - NIK 17 digit muncul di sampel asing (SAHRONI, YASIR FATONI). Isi dokumen
memang begitu, jadi rule panjang NIK memang seharusnya menandainya. pdftotexttanpa-layoutMENGACAK akta asing sehingga nama dan NIK
berpasangan salah. Kalau membaca sampel secara manual, selalu pakai-layout.- Akta nasional adalah pindaian tanpa lapisan teks — perlu OCR. Kedua akta
sama-sama berbahasa Indonesia; yang membedakan hanya ada/tidaknya lapisan
teks, bukan bahasanya.
Nama varian: nasional, bukan lokal
Diverifikasi langsung di kode SABH (ahu-codebase/ahu-online, 2026-08-11):
- filter yang hidup:
array('nasional'=>'NASIONAL','asing'=>'ASING')
(views/yayasan/listTransaksi.php:185) - skrip form yang hidup:
jn='asing'/jn='nasional'
(_formPengurusYayasan.php:807) umum,surat wasiat,corporate_asinghanya ada di dropdown yang sudah
dikomentari — kosakata lama, bukan yang disimpan sekaranglokaltidak ada sama sekali di modul yayasan SABH
Schema kita memakai jenis_transaksi: "nasional" | "asing", dan penamaan file di
folder ini mengikuti nilai yang sama — satu kosakata dari nama file sampai kolom
SABH, tanpa terjemahan di tengah jalan.
NIK bisa memeriksa dirinya sendiri
Digit ke-7 sampai ke-12 sebuah NIK adalah DDMMYY tanggal lahir, dengan DD
ditambah 40 untuk perempuan. Itu checksum internal yang tidak bergantung pada
mutu OCR, dan bisa diuji silang dengan tanggal lahir yang tertulis di blok
penghadap. Hasilnya pada 13 orang di kedua sampel:
| Hasil | Jumlah | Keterangan |
|---|---|---|
| Cocok persis | 11 | termasuk konvensi +40 pada tiga perempuan |
| Cocok tapi NIK 17 digit | 2 | SAHRONI (digit lebih di ekor), YASIR FATONI (digit lebih sebelum blok tanggal) |
| Beda | 1 | FIRDA LULUK MUKARROMAH — NIK berkata 8 Maret 2001, teks akta menulis 8 Mei 2001. Diperiksa manual oleh Efran: ekstraksi benar, aktanya yang salah. |
Dua konsekuensinya:
- Digit NIK hasil OCR pada akta pindaian terbukti benar. Ground truth akta
nasional karena itu memuat NIK penuh, bukan dikosongkan. - Ini rule validasi yang belum kita punya. Cross-check NIK vs tanggal lahir
tidak butuh dokumen kedua — cukup isi akta itu sendiri — padahal alur ini
selama ini dianggap tak punya anchor identitas sama sekali. Syaratnya satu:
OrganMemberharus membawa tanggal lahir (ttl), yang sekarang sengaja tidak
dibawa. Tipe itu milik dev_4, jadi perlu disepakati dulu.
Catatan konteks (temuan riset, Agustus 2026):
- Yayasan asing sangat langka (2026: 11 dari ~17.700 pendirian; 2020: 14 dari ~26.800).
- Slot syarat asing di SABH tidak divalidasi isinya (hanya PDF ≤ 5MB) — sampel
nyata bisa berisi residence permit, bukan surat Kemenlu → simpan sebagai
fixture negatif untuk rule kesesuaian isi (menunggu keputusan). - File syarat asing di server SABH:
/uploads/yayasan/syarat/; akta:
/uploads/yayasan/(filterid_aksi_transaksi = 2, shard
tbl_transaksi_yayasan_<tahun>).