Cara kerja dan metode antartitik
Halaman ini menjelaskan apa yang dikerjakan mesin antartitik di balik layar: data apa yang dipakai, bagaimana kualitas data diperiksa dan dirapikan, uji statistik apa saja yang dijalankan, dan bagaimana hasilnya diubah menjadi daftar kunjungan. Tujuannya supaya petugas Dinas Kesehatan (Dinkes), mitra di Dinas Sosial (Dinsos), dan tim teknologi informasi (TI) pemerintah daerah (pemda) mengerti kekuatan dan keterbatasan setiap angka yang tampil.
Versi mesin: antartitik 0.4.0 (Tahap 1, prototipe). Metode dikawal Departemen Ilmu Kesehatan Masyarakat, Fakultas Kedokteran Universitas Padjadjaran (FK Unpad).
1. Untuk apa antartitik
Pemda sudah memegang banyak data kesehatan yang memuat lokasi rumah: kasus Tuberkulosis (TB) dari Sistem Informasi Tuberkulosis (SITB), kasus Demam Berdarah Dengue (DBD) dan hasil Penyelidikan Epidemiologi (PE), peserta Cek Kesehatan Gratis (CKG) dengan hasil skrining diabetes melitus (DM), serta data keluarga Program Indonesia Sehat dengan Pendekatan Keluarga (PIS-PK) untuk perilaku hidup bersih dan sehat (PHBS). Data ini biasanya dipakai secara deskriptif, misalnya jumlah kasus per kelurahan. antartitik membangun "jembatan" dari data deskriptif itu ke pertanyaan analitik yang langsung berguna di lapangan: apakah kejadian menular dari rumah ke rumah, di mana rantainya, dan rumah mana yang perlu didatangi lebih dulu.
Untuk setiap penyakit dan perilaku, mesin menjawab tiga pertanyaan yang sama: (1) berkelompok? apakah rumah kasus lebih berdekatan daripada yang diharapkan; (2) ikut waktu? apakah kasus yang berdekatan juga terjadi dalam selang waktu yang pendek, jejak khas penularan; (3) masih tersisa? apakah pengelompokan itu masih ada setelah lingkungan dan kemiskinan diperhitungkan. Setelah itu mesin mencari letak klaster dan kantong, lalu menyusun sasaran kunjungan dan panduan lapangan Excel.
2. Data yang dipakai
Tidak semua pemda punya data yang lengkap. Karena itu antartitik dirancang bertingkat: data Dinkes saja sudah cukup untuk mulai, dan data dinas lain menambah ketajaman. Data Dinkes menjadi "pintu masuk"; hasil analisis pertama itulah yang menjadi alasan untuk meminta rekap dari Dinsos, Disdukcapil, atau dinas tata ruang.
| Data | Pemilik | Dipakai untuk | Keharusan |
|---|---|---|---|
| Data kejadian: kasus TB (SITB), kasus DBD dan PE, peserta CKG, keluarga PIS-PK | Dinkes | Titik atau alamat rumah kejadian, tanggal, dan indikator | Wajib |
| Titik bangunan (Google Open Buildings) | Disiapkan tim antartitik, data terbuka | Rumah pembanding, kepadatan permukiman, calon rumah yang dikunjungi | Wajib (sudah tersedia untuk wilayah uji coba) |
| Batas desa/kelurahan (sumber Badan Pusat Statistik, BPS) | Disiapkan tim antartitik, data terbuka | Menempatkan alamat ke kelurahan, analisis per kelurahan, memeriksa titik di luar wilayah | Sangat dianjurkan |
| Nama jalan dan fasilitas kesehatan (OpenStreetMap) | Disiapkan tim antartitik, data terbuka | Memberi titik perkiraan pada baris yang hanya beralamat | Opsional |
| Rekap Data Tunggal Sosial Ekonomi Nasional (DTSEN) per desa/kelurahan | Dinsos | Kovariat kemiskinan (persen keluarga desil 1 sampai 4) | Opsional |
| Rekap kependudukan per desa/kelurahan (jumlah kepala keluarga dan penduduk) | Dinas Kependudukan dan Pencatatan Sipil (Disdukcapil) | Menyetarakan jumlah rumah tangga per bangunan, laju per kelurahan | Opsional |
| Data lingkungan dari citra satelit lain (genangan, ruang hijau, tinggi bangunan) | Disiapkan tim antartitik | Kovariat lingkungan tambahan | Tahap berikutnya |
Data apa dipakai analisis yang mana
Tidak semua analisis memakai data penginderaan jauh. Uji Knox, misalnya, cukup memakai lokasi dan tanggal kasus. Tabel berikut memetakan kebutuhan data setiap analisis.
| Analisis | Data kejadian | Titik bangunan (citra satelit) | DTSEN | Data lain |
|---|---|---|---|---|
| Berkelompok? (pelabelan acak) | ya | ya, sebagai rumah pembanding (TB, DBD) | tidak | untuk DM dan PHBS pembandingnya peserta atau keluarga lain |
| Ikut waktu? (Knox) | ya, lokasi dan tanggal | tidak | tidak | |
| Masih tersisa? (uji sisa) | ya | ya, kepadatan permukiman | ya, bila ada | genangan dan lapisan lain (tahap berikutnya) |
| Di dalam rumah: kasus serumah | ya, titik rumah | ya, rumah tangga per bangunan | tidak | |
| Di dalam rumah: ICC | ya, anggota serumah dengan hasil positif dan negatif | opsional (menetapkan rumah) | tidak | nomor KK bila ada |
| Klaster ruang-waktu | ya | tidak | tidak | |
| Kantong DM dan PHBS | ya | tidak | tidak | |
| Sasaran TB lapis 1 sampai 4, daftar PE DBD | ya | ya, daftar rumah yang didatangi | tidak | |
| Sasaran TB lapis 5 | ya | ya | ya, bila ada | |
| Per kelurahan (laju, Moran's I, LISA) | ya, cukup alamat | opsional (perkiraan penduduk) | opsional | batas kelurahan BPS, penduduk Disdukcapil |
| Titik perkiraan dari alamat | alamat | ya | tidak | nama jalan OpenStreetMap |
Jadi bila Dinkes belum punya data kemiskinan, analisis tetap berjalan. Yang berkurang hanya uji sisa dan lapis 5, karena tinggal memakai kepadatan permukiman dari titik bangunan; kovariat yang dilewati dicatat di laporan data.
Rekap DTSEN dan rekap kependudukan cukup dalam bentuk agregat per desa/kelurahan, tanpa data perorangan. Bentuk ini lebih mudah diberikan dinas pemilik data karena tidak memuat data pribadi. Data per rukun warga (RW) atau per rumah tangga baru diminta bila hasil tahap awal sudah dipercaya, dengan Perjanjian Kerja Sama (PKS) dan penilaian dampak pelindungan data pribadi (DPIA).
3. Data penginderaan jauh yang dipakai
Di mana data ini disimpan dan di mana perhitungannya
Server antartitik hanya menjadi "rak penyimpanan": isinya halaman website, mesin Python, dan data wilayah terbuka (titik bangunan, batas kelurahan, nama jalan). Perhitungannya berlangsung di "dapur" milik setiap pengguna, yaitu browser di laptop petugas. Saat analisis dijalankan, mesin dan data wilayah diunduh ke browser, lalu dihitung di sana. Data pasien tidak pernah disimpan di server. Ini berbeda dengan Google Colab, yang menghitung di server Google.
Google Open Buildings v3: titik bangunan
Pemda jarang memiliki peta seluruh bangunan. antartitik memakai Google Open Buildings versi 3, yaitu poligon atap bangunan yang dideteksi model pembelajaran mesin dari citra satelit beresolusi 50 cm, dengan inferensi Mei 2023 dan lisensi Creative Commons Attribution 4.0 (CC BY 4.0).1,2 Setiap bangunan membawa skor keyakinan 0,65 sampai 1. Dari setiap poligon, antartitik mengambil titik tengah, luas atap, skor keyakinan, dan kode desa/kelurahan tempat bangunan itu berada. Data ini disiapkan sekali per wilayah oleh tim antartitik, sehingga petugas tidak perlu mengolah citra satelit sendiri.
Sebelum dipakai sebagai rumah, bangunan disaring: (1) skor keyakinan di bawah 0,70 dibuang karena lebih sering salah deteksi; (2) atap lebih kecil dari 12 m² dianggap bukan rumah (kandang, warung, gudang kecil); (3) atap lebih besar dari 1.500 m² dianggap bukan rumah (pabrik, pasar, sekolah, kantor). Jumlah yang dibuang pada setiap langkah dicatat di laporan data.
Seberapa lengkap Open Buildings? Google sendiri menyebut datanya memuat bangunan yang terlewat dan bangunan yang salah terdeteksi. Kelemahan terbesarnya ada di permukiman padat yang atapnya menyambung tanpa batas jelas, karena beberapa rumah bisa terbaca sebagai satu poligon. Bangunan sangat kecil juga mudah terlewat, dan untuk sebagian lokasi citranya sudah berumur beberapa tahun.2 Penelitian di lima kota (Accra, Nairobi, Caracas, Berlin, Houston) menemukan pola yang serupa: kelengkapan tinggi di kota yang tertata, lebih rendah di permukiman informal.3 Jadi kelengkapan Open Buildings berbeda antar kelurahan dan tidak bisa diringkas menjadi satu angka.
Bobot rumah tangga per bangunan
Masalah atap menyambung penting untuk antartitik, karena titik bangunan dipakai sebagai latar "tempat orang tinggal". Kalau kampung padat kekurangan titik, latar rumah pembanding di sana menjadi terlalu jarang, dan hasil uji bisa menyimpang. Karena itu setiap bangunan diberi perkiraan jumlah rumah tangga dari luas atapnya: luas atap dibagi 60 m², dibulatkan, paling sedikit 1 dan paling banyak 8 rumah tangga per atap. Bila rekap Disdukcapil diunggah, perkiraan ini disetarakan per desa/kelurahan supaya totalnya sama dengan jumlah kepala keluarga (KK) yang tercatat.
Bobot ini dipakai di tiga tempat: (1) peluang sebuah bangunan terpilih menjadi rumah pembanding sebanding dengan jumlah rumah tangganya; (2) kepadatan permukiman dihitung sebagai jumlah rumah tangga dalam radius 100 m; (3) kuota skrining diisi menurut perkiraan jumlah orang, bukan jumlah atap. Rasio KK per bangunan di setiap kelurahan juga ditampilkan sebagai tabel kelengkapan, sehingga petugas bisa melihat kelurahan mana yang datanya paling perlu dicek di lapangan.
Batas desa/kelurahan
Batas desa/kelurahan diambil dari Common Operational Dataset of Administrative Boundaries (COD-AB) Indonesia, dengan sumber BPS, yang diterbitkan Office for the Coordination of Humanitarian Affairs (OCHA) melalui Humanitarian Data Exchange (HDX). Batas ini dibuat April 2020, ditinjau OCHA pada Oktober 2025, dan berlisensi Creative Commons Attribution for Intergovernmental Organisations (CC BY-IGO).4 Kode wilayahnya memakai kode BPS. Bila data Dinkes memakai kode berformat lain (misalnya kode Kemendagri), mesin mengenalinya dan menempatkan baris itu ke kelurahan berdasarkan nama kelurahan atau alamatnya.
Nama jalan dan fasilitas kesehatan
Nama jalan dan lokasi fasilitas kesehatan diambil dari OpenStreetMap, peta dunia yang dibuat dan diperbarui komunitas, dengan lisensi Open Database License (ODbL).5 Ini bukan data penginderaan jauh, tetapi bahan untuk mesin pencari titik dari alamat (bagian 4). Kelengkapan nama jalan, terutama nama gang, berbeda antar kelurahan.
Turunan yang dihitung mesin
Dari titik bangunan, mesin menghitung kepadatan permukiman (rumah tangga dalam radius 100 m) untuk setiap rumah kasus dan rumah pembanding. Kepadatan ini masuk sebagai kovariat lingkungan pada uji sisa, karena permukiman padat memudahkan penularan TB lewat udara dan juga membuat rumah lebih berdekatan.
Tahap berikutnya
Lapisan lingkungan berikut sedang disiapkan per wilayah: tinggi dan perubahan bangunan dari Open Buildings 2.5D Temporal (kehadiran, perkiraan jumlah, dan tinggi bangunan per tahun 2016 sampai 2023 dengan resolusi efektif 4 m dari citra Sentinel-2),6 genangan dan badan air untuk DBD, ruang terbuka hijau, serta jarak ke fasilitas kesehatan. Pada contoh sintetis di website, kolom genangan, indeks lingkungan pangan, dan jarak puskesmas masih berupa data buatan untuk latihan.
4. Kualitas data dan perapian otomatis
Setiap Dinkes punya bentuk Excel sendiri, dan petugas sudah cukup sibuk. Karena itu berkas dibaca apa adanya, lalu diperiksa dan dirapikan oleh mesin dalam empat langkah: (1) kenali, nama kolom dicocokkan dengan kamus nama kolom dan kamus format yang sudah dikenal, sedangkan kolom yang namanya tidak dikenal dibaca isinya; (2) rapikan, masalah yang umum ditemukan diperbaiki atau dipisahkan; (3) laporkan, setiap perubahan dicatat beserta jumlah barisnya; (4) ingat, pemetaan kolom bisa disimpan sebagai profil format sehingga berkas bulan berikutnya langsung terbaca.
Apa saja yang diperiksa
| Pemeriksaan | Yang dicari | Tindakan mesin |
|---|---|---|
| Letak tabel | Baris judul laporan di atas tabel, beberapa sheet | Baris judul dilewati; sheet berisi tabel dipilih otomatis |
| Peran kolom | Nama kolom yang berbeda-beda ("Tgl Diagnosis", "lat", "Koordinat Y"); kolom yang hanya bisa dikenali dari isinya (16 digit seperti NIK, nomor HP, tanggal, koordinat, alamat, isian Ya/Tidak) | Peran ditebak dan ditampilkan; petugas bisa mengubahnya di panel Pemeriksaan data |
| Baris kosong dan baris total | Baris tanpa isi, baris "TOTAL" atau "JUMLAH" | Dibuang |
| Data ganda | Orang yang sama tercatat lebih dari sekali, misalnya karena rujukan atau pindah fasilitas: NIK sama, atau nama dan tanggal lahir sama, atau nama dan alamat sama; nomor register yang sama | TB: disatukan bila selang tanggalnya 180 hari atau kurang. DBD: 30 hari atau kurang. Kasus berulang yang lebih jauh jaraknya tetap dihitung. DM dan PHBS: data terbaru dipertahankan |
| Format koordinat | Kolom terpisah, kolom gabungan, tautan Google Maps, derajat-menit-detik, koma desimal | Semua diubah ke derajat desimal |
| Koordinat keliru | Lintang dan bujur tertukar; angka yang kehilangan titik desimal di Excel (misalnya -6914523); titik di luar Indonesia | Dibalik, dikembalikan ke skala yang benar, atau diperlakukan sebagai tanpa koordinat |
| Koordinat menumpuk | Lima baris atau lebih dengan koordinat yang persis sama; biasanya titik puskesmas, posyandu, atau kantor tempat data dicatat, bukan rumah | Tidak dipakai untuk analisis antar titik; tetap masuk analisis per kelurahan bila kelurahannya diketahui |
| Titik di luar wilayah | Titik di luar batas desa/kelurahan yang dipakai (tinggal di kabupaten/kota tetangga, atau salah ketik) | Tidak ikut analisis antar titik; jumlahnya dilaporkan |
| Alamat tanpa koordinat | Baris yang hanya punya alamat | Nama kelurahan dicocokkan secara lokal di komputer petugas (alamat tidak dikirim ke layanan luar); nomor RT dan RW diambil dari alamat; baris masuk analisis per kelurahan |
| Kode wilayah beda format | Kode kelurahan yang tidak cocok dengan kode batas wilayah | Kelurahan ditentukan dari nama kelurahan atau alamat |
| Tanggal | Format hari-bulan-tahun, nama bulan Indonesia ("14 Januari 2024"), angka seri Excel; tanggal sebelum tahun 2000 atau di masa depan | Dibaca ke satu format; tanggal mustahil dibuang untuk TB dan DBD, dikosongkan untuk data lain |
| Isian Ya/Tidak | Y, ya, 1, √, ada, T, tdk, 0 | Diseragamkan menjadi Ya atau Tidak |
| Identitas | Nama, NIK, nomor HP, alamat, nomor BPJS atau rekam medis, tanggal lahir | Dipakai untuk mencari data ganda, lalu dibuang sebelum analisis; tanggal lahir diubah menjadi umur; ID diganti kode samaran |
Laporan kerapian
Setelah berkas dipilih, panel Pemeriksaan data menampilkan jumlah baris yang punya titik rumah, yang hanya sampai desa/kelurahan, dan yang tidak bisa dipakai, beserta setiap langkah perapian dan jumlah barisnya. Laporan yang sama ikut tercantum pada hasil analisis. Laporan ini sebaiknya dibaca sebelum hasil uji: bila banyak baris tanpa koordinat atau banyak koordinat menumpuk, hasil antar titik hanya mewakili sebagian kasus, dan perbaikan pencatatan lokasi di puskesmas menjadi langkah pertama yang paling bermanfaat.
Profil format
Pemetaan kolom bisa disimpan sebagai profil format (berkas JSON). Profil hanya berisi nama kolom dan perannya, tanpa isi data, sehingga aman dibagikan ke daerah lain yang memakai bentuk Excel yang sama, misalnya ekspor SITB. Profil yang terakhir dipakai juga disimpan di browser petugas, sehingga berkas berbentuk sama bulan depan langsung terbaca tanpa diatur ulang. Dengan cara ini kamus format antartitik bertambah setiap kali ada bentuk berkas baru.
Mesin pencari titik dari alamat
Banyak data Dinkes hanya berisi alamat. Mengirim alamat pasien ke layanan pencari lokasi di luar (Google, OpenStreetMap Nominatim, dan sejenisnya) berarti mengirim data pribadi ke pihak lain, dan untuk alamat gang atau RT/RW hasilnya sering kurang tepat. Karena itu antartitik mencari titiknya secara lokal di komputer petugas: (1) alamat ditempatkan ke desa/kelurahan; (2) nama jalan atau gang diambil dari teks alamat, misalnya "Jl. Mawar No. 5" atau "Gg. Kenanga II RT 03/RW 05"; (3) nama itu dicocokkan dengan nama jalan OpenStreetMap di kelurahan yang sama, cocok persis setelah dirapikan atau mirip sedikitnya 85%; (4) titik perkiraan ditetapkan pada satu bangunan yang dipilih acak di sepanjang jalan itu. Pilihan acaknya tetap untuk setiap baris, jadi hasilnya bisa diulang.
Pada data sintetis, galat titik perkiraan sekitar 120 m (median) dan sekitar 290 m pada persentil 90. Ketelitian ini cukup untuk analisis pada jarak 200 sampai 400 m dan per kelurahan, tetapi belum cukup untuk jarak 50 m atau untuk menentukan rumah kasus. Supaya pemusatan titik di sekitar jalan bernama tidak terbaca sebagai pengelompokan kasus, rumah pembanding untuk kasus bertitik perkiraan dibuat dengan proses yang sama. Untuk kasus seperti ini, sasaran kunjungan mengarahkan petugas ke alamat aslinya di data Dinkes, bukan ke bangunan perkiraan. Bila lebih dari 5% titik berupa perkiraan, ringkasan hasil memberi peringatan.
Tingkat lokasi setiap baris
Setiap baris diberi keterangan tingkat lokasi: titik rumah (koordinat rumah dipakai), jalan (perkiraan) (titik dari nama jalan), kelurahan atau kelurahan (dari alamat) (hanya diketahui kelurahannya), kelurahan (koordinat menumpuk), dan tidak diketahui. Uji antar titik memakai baris bertitik rumah dan bertitik perkiraan; uji kasus serumah hanya memakai titik rumah; analisis per kelurahan memakai semuanya.
Jalan paling teliti untuk jangka panjang adalah mencatat titik rumah saat kunjungan. Panduan lapangan Excel kini punya kolom "Titik rumah" untuk angka koordinat dari Google Maps atau tautan bagikan lokasi WhatsApp, yang langsung bisa dibaca mesin.
5. Tiga pertanyaan antar titik dan di dalam rumah
5.1 Berkelompok? Uji pelabelan acak
Bayangkan semua rumah kasus dan sejumlah rumah pembanding ditandai di peta, lalu label "kasus" dikocok dan ditempelkan secara acak ke rumah-rumah itu. Kalau kasus memang tidak berkelompok, jumlah pasangan kasus yang berdekatan setelah dikocok akan mirip dengan yang teramati. Kalau yang teramati jauh lebih banyak, kasus berkelompok melebihi pola permukiman. Inilah uji pelabelan acak (random labelling), yang membandingkan kasus dengan populasi pembanding yang tidak merata.7
Rumah pembanding diambil acak dari titik bangunan, lima kali jumlah kasus, dengan peluang sebanding perkiraan rumah tangga per bangunan; rumah kasus sendiri tidak dijadikan pembanding. Untuk DM dan PHBS, pembandingnya adalah peserta skrining atau keluarga lain yang dikunjungi, karena hanya mereka yang diperiksa. Pasangan dihitung pada beberapa jarak (misalnya 50, 100, 200, dan 400 m) dan pengocokan diulang 199 kali. Hasilnya berupa rasio (pasangan teramati dibagi rata-rata pasangan hasil kocokan) dan nilai p (proporsi kocokan yang menghasilkan pasangan sebanyak atau lebih banyak dari yang teramati).
5.2 Ikut waktu? Uji Knox
Penularan meninggalkan jejak khas: kasus yang berdekatan secara jarak cenderung juga berdekatan secara waktu. Uji Knox menghitung pasangan kasus yang dekat jarak sekaligus dekat waktu, lalu membandingkannya dengan pasangan yang didapat bila tanggal kasus diacak di antara lokasi yang sama.8 Karena lokasinya tetap, uji ini tidak terpengaruh pola permukiman; yang diuji hanya kaitan antara jarak dan waktu. Pengacakan diulang 999 kali. Untuk TB dipakai jarak 50, 100, dan 200 m dengan selang 30, 90, 180, dan 365 hari; untuk DBD selang 7, 14, 21, dan 30 hari, sesuai masa inkubasi dan siklus nyamuk. Untuk DM, uji Knox dijalankan sebagai pembanding: penyakit tidak menular seharusnya tidak memperlihatkan jejak ini.
5.3 Masih tersisa? Uji pelabelan acak bersyarat kovariat
Kasus bisa berkelompok bukan karena menular, tetapi karena rumah-rumah yang berdekatan berbagi lingkungan dan kemiskinan yang sama. Uji sisa memisahkan keduanya. Pertama, regresi logistik memperkirakan peluang setiap rumah menjadi rumah kasus dari kovariatnya (misalnya persen keluarga desil 1 sampai 4 DTSEN dan kepadatan permukiman). Kedua, label kasus dikocok ulang, tetapi kali ini setiap rumah mendapat label kasus sesuai peluangnya sendiri. Bila pengelompokan yang teramati masih lebih banyak dari hasil kocokan bersyarat ini, ada pengelompokan yang tersisa: untuk TB dan DBD mengarah ke penularan dari rumah ke rumah atau faktor lain yang belum diukur; untuk PHBS mengarah ke "penularan" perilaku antar tetangga. Mesin juga melaporkan porsi kelebihan pasangan yang dijelaskan kovariat dan rasio odds setiap faktor.
| Jenis | Jarak berkelompok | Knox: jarak dan selang | Kovariat uji sisa |
|---|---|---|---|
| TB | 50, 100, 200, 400 m | 50/100/200 m; 30/90/180/365 hari | kemiskinan DTSEN, kepadatan permukiman |
| DBD | 50, 100, 200, 400 m | 50/100/200 m; 7/14/21/30 hari | genangan, kepadatan permukiman, kemiskinan DTSEN |
| DM | 100, 200, 400 m | 100/200 m; 30/90/180 hari (pembanding) | umur, indeks lingkungan pangan, kemiskinan DTSEN |
| PHBS | 50, 100, 200 m | tidak dipakai (kunjungan sekali) | kemiskinan DTSEN, genangan, kepadatan permukiman |
Kovariat yang belum tersedia untuk suatu wilayah dilewati, dan hal ini dicatat di laporan data.
5.4 Di dalam rumah: kasus serumah dan ICC
Tiga pertanyaan di atas melihat hubungan antar rumah. Penularan TB juga sangat ditentukan oleh kontak di dalam rumah: meta-analisis investigasi kontak menemukan prevalensi TB 3,1% di antara kontak serumah di negara berpendapatan rendah dan menengah.9 Karena itu mesin juga melihat ke dalam rumah, dengan dua cara sesuai bentuk datanya.
Data kasus saja (SITB, laporan DBD): uji kasus serumah. Karena anggota rumah yang tidak sakit tidak tercatat, kemiripan antar anggota serumah tidak bisa diukur langsung. Yang bisa diuji adalah apakah dua kasus atau lebih tinggal di bangunan yang sama lebih sering daripada bila kasus tersebar acak di antara rumah tangga. Rumah kasus adalah bangunan terdekat dalam 15 m dari titik rumahnya, dan harapan acak dihitung dengan menempatkan kasus ke bangunan dengan peluang sebanding jumlah rumah tangganya (999 kali). Pasien yang sama sudah disatukan pada tahap perapian, sehingga pasangan serumah bukan berasal dari satu orang yang tercatat dua kali.
Data dengan anggota serumah yang hasilnya tercatat semua (misalnya CKG satu keluarga, atau hasil investigasi kontak): intraclass correlation coefficient (ICC). ICC adalah bagian variasi kejadian yang berasal dari perbedaan antar rumah tangga. ICC 0 berarti anggota serumah tidak lebih mirip daripada orang dari rumah lain; makin besar, makin kuat penumpukannya di dalam rumah. Mesin menghitung dua bentuk: (1) penaksir analisis varians (ANOVA) untuk data biner, dengan uji permutasi dan selang kepercayaan dari bootstrap rumah tangga;10 (2) model logistik bertingkat dengan intersep acak rumah tangga, yang dinyatakan sebagai ICC skala laten σ²/(σ² + π²/3)11 dan median odds ratio (MOR), yaitu rasio odds median antara dua orang yang sama kondisinya tetapi tinggal di rumah berbeda.12 Rumah tangga ditetapkan dari nomor KK yang sudah disamarkan, atau dari bangunan yang sama. ICC baru dihitung bila sedikitnya 30 rumah punya dua anggota atau lebih yang diperiksa.
6. Klaster, kantong, dan analisis per kelurahan
Tiga pertanyaan di atas menjawab "apakah", untuk seluruh wilayah. Petugas juga perlu tahu "di mana". Untuk itu ada tiga alat lokal.
6.1 Klaster ruang-waktu
Kasus dikelompokkan dengan cara mirip DBSCAN (density-based spatial clustering of applications with noise): sebuah kasus menjadi inti klaster bila punya sedikitnya dua tetangga dalam jarak dan selang waktu tertentu, dan klaster dibentuk dari inti yang saling terhubung.13 Untuk TB dipakai 100 m dan 120 hari; untuk DBD 100 m dan 21 hari. Setiap calon klaster lalu diuji dengan uji Knox lokal (taraf 0,10, karena tujuannya penapisan) supaya permukiman yang sekadar padat tidak ikut terbaca sebagai rantai penularan. Klaster berisi sedikitnya tiga kasus. Klaster yang anggotanya berada di dua pemda ditandai sebagai klaster lintas batas, karena penularan tidak mengenal batas administrasi.
6.2 Kantong: statistik pindai spasial
Untuk DM (kasus yang belum ditindaklanjuti) dan PHBS (keluarga dengan masalah perilaku), mesin mencari kantong, yaitu lingkaran tempat proporsi masalahnya lebih tinggi dari rata-rata wilayah. Metodenya statistik pindai spasial Bernoulli, seperti pada perangkat lunak SaTScan.14 Lingkaran digeser dan diperbesar di sekitar setiap rumah (radius sampai 250 m untuk PHBS dan 600 m untuk DM), lalu kemungkinan (likelihood) setiap lingkaran dibandingkan dengan 199 data acak. Kantong yang bermakna (p<0,05) menjadi sasaran kader dan promosi kesehatan.
6.3 Analisis per desa/kelurahan
Bila data hanya sampai desa/kelurahan, atau untuk meringkas data titik, mesin menghitung laju kejadian per kelurahan. Kelurahan berpenduduk kecil mudah menghasilkan laju yang melonjak hanya karena satu atau dua kasus, sehingga laju distabilkan dengan empirical Bayes (laju kelurahan kecil ditarik mendekati rata-rata wilayah).15 Selanjutnya Moran's I menguji apakah kelurahan berlaju tinggi cenderung bertetangga,16 dan Local Indicators of Spatial Association (LISA) menunjukkan kelurahan mana yang menjadi pusat kantong tinggi-tinggi atau rendah-rendah.17 Jumlah penduduk diambil dari rekap Disdukcapil; bila belum ada, diperkirakan dari jumlah rumah tangga di titik bangunan dikali rata-rata orang per rumah.
7. Dari hasil ke lapangan
7.1 Sasaran skrining TB berlapis
Bila pemda punya kuota skrining (misalnya 50.000 orang), rumah sasaran diisi berurutan dari lapis yang paling dekat dengan sumber penularan:
- Lapis 1, serumah kasus: rumah kasus indeks, yaitu kasus yang didiagnosis dalam 12 bulan terakhir.
- Lapis 2, kontak terdekat: rumah terdekat dari setiap kasus indeks sampai sedikitnya 20 kontak per kasus, mengikuti Petunjuk Teknis Investigasi Kontak Pasien TBC.18
- Lapis 3, tetangga dekat: rumah lain dalam 50 m dari kasus indeks, didahulukan yang paling banyak kasus di sekitarnya.
- Lapis 4, klaster aktif: rumah dalam 100 m dari anggota klaster ruang-waktu yang masih aktif.
- Lapis 5, kantong berisiko tanpa kasus tercatat: rumah lebih dari 200 m dari kasus tercatat, tetapi lingkungan dan kemiskinannya mirip rumah kasus (dari model regresi logistik uji sisa, dihaluskan dalam 100 m). Di sinilah kasus yang belum ditemukan paling mungkin berada.
Kuota diisi menurut perkiraan jumlah orang: jumlah rumah tangga per bangunan dikali rata-rata orang per rumah tangga (bawaan 3,7, dapat diganti dengan angka setempat). Rumah kasus selalu dihitung sedikitnya satu rumah tangga. Untuk kasus yang titiknya hanya perkiraan dari nama jalan, lapis 1 dan 2 tidak menunjuk bangunan tertentu; daftar kunjungan berisi baris "alamat kasus" dan "kontak kasus" yang mengarahkan petugas ke alamat aslinya di data Dinkes, dicocokkan lewat ID samaran.
7.2 DBD: daftar rumah Penyelidikan Epidemiologi
Untuk setiap kasus DBD baru dalam 14 hari terakhir, mesin menyusun daftar rumah dalam radius 100 m, sedikitnya 20 rumah per kasus. Rumah yang berada di sekitar lebih dari satu kasus baru didahulukan.
7.3 DM dan PHBS: kunjungan kantong
Kasus DM yang belum ditindaklanjuti dan keluarga dengan masalah PHBS didaftar, dengan yang berada di dalam kantong bermakna didahulukan.
7.4 Paket kerja dan panduan lapangan Excel
Rumah terpilih dibagi menjadi paket kerja per desa/kelurahan (bawaan 25 rumah per paket, 20 untuk DBD). Urutan kunjungan dalam paket mengikuti kurva Hilbert, yaitu lintasan yang menjaga rumah berurutan tetap berdekatan, sehingga petugas tidak bolak-balik. Panduan lapangan Excel berisi lembar Petunjuk, Ringkasan, Paket kerja (kemajuan terhitung otomatis dari kolom status), Daftar kunjungan (tautan Google Maps dan kolom isian petugas, termasuk kolom "Titik rumah"), Rekap kelurahan, dan Label metode. Titik rumah yang diisi saat kunjungan dipindahkan pengelola program ke data kasus Dinkes, sehingga analisis bulan berikutnya makin tepat.
8. Membaca hasil dengan hati-hati
- Hasil statistik menunjukkan di mana petugas sebaiknya melihat lebih dulu, bukan kepastian penularan. Keputusan tetap di tangan petugas dan program.
- Kualitas hasil mengikuti kualitas lokasi. Bila banyak baris tanpa koordinat atau koordinatnya menumpuk di puskesmas, hasil antar titik hanya mewakili sebagian kasus. Baca laporan kerapian lebih dulu.
- Kelengkapan Open Buildings berbeda antar kelurahan. Bobot rumah tangga mengurangi penyimpangan, tetapi tidak menghapusnya; rasio KK per bangunan yang sangat tinggi perlu dicek di lapangan.
- Klaster ruang-waktu TB adalah alat penapisan. Pada data sintetis, sekitar 60 sampai 80% anggota klaster yang ditemukan memang anggota rantai penularan; sisanya klaster semu di permukiman padat.
- Uji Knox dapat terpengaruh perubahan jumlah penduduk yang tidak merata antar wilayah dalam periode panjang. Untuk periode lebih dari dua tahun, bacalah hasilnya bersama akademisi pendamping.
- Batas desa/kelurahan memakai batas tahun 2020. Pemekaran atau perubahan nama setelahnya perlu disesuaikan.
- Titik perkiraan dari nama jalan bergantung pada kelengkapan nama jalan OpenStreetMap; alamat yang nama jalannya tidak ditemukan tetap hanya masuk analisis per kelurahan.
- Aturan penyatuan data ganda (misalnya nama dan alamat sama dalam 180 hari untuk TB) perlu dicocokkan dengan cara pencatatan SITB di setiap Dinkes.
- Data sintetis di website hanya untuk latihan dan validasi. Uji dengan data asli dilakukan bersama Dinkes dengan PKS dan DPIA.
9. Validasi mesin
Setiap versi mesin diuji pada data sintetis yang polanya sudah diketahui, dan baru dirilis bila semua pemeriksaan lulus. Mesin harus menemukan pola yang ditanam (penularan TB dan DBD, klaster lintas batas Kota dan Kabupaten Bekasi, pengaruh sosial merokok, kantong layanan DM) dan tidak menemukan pola yang tidak ditanam (DM dan jamban tidak menular). Galat tipe I juga diperiksa pada data tanpa pola. Pemeriksaan tambahan mencakup pembacaan Excel gaya pemerintah, penempatan alamat ke kelurahan, kemampuan lapis 5 mengarah ke kasus yang belum ditemukan, panduan lapangan Excel, perapian otomatis (baris total, pasien ganda, titik puskesmas, tanggal mustahil, isian Ya/Tidak, kode beda format), profil format yang tidak memuat isi data, bobot rumah tangga di kampung beratap menyambung, ICC dan uji kasus serumah (nilai yang ditanam ditemukan kembali, galat tipe I wajar), serta mesin pencari titik dari alamat (galat median dan galat tipe I uji berkelompok pada kasus acak). Versi 0.4.0: 62 dari 62 pemeriksaan lulus.
10. Status pengembangan
Bagian ini diperbarui setiap kali mesin berubah, supaya pemakai tahu mana yang sudah bisa dipakai dan mana yang belum.
| Fitur | Status | Keterangan |
|---|---|---|
| Membaca Excel dan CSV apa adanya | Tersedia | Baris judul, sheet, koordinat campur, tanggal Indonesia |
| Perapian otomatis dan profil format | Tersedia | Laporan kerapian di panel Pemeriksaan data |
| Tiga pertanyaan, klaster ruang-waktu, kantong, per kelurahan | Tersedia | |
| Di dalam rumah: uji kasus serumah dan ICC | Tersedia | ICC butuh data anggota serumah dengan hasil positif dan negatif |
| Sasaran TB berlapis, PE DBD, paket kerja, panduan lapangan Excel | Tersedia | Termasuk kolom "Titik rumah" |
| Bobot rumah tangga per bangunan dan kalibrasi jumlah KK | Tersedia | |
| Mesin pencari titik dari alamat | Tersedia | Bekerja penuh setelah data nama jalan wilayah dipasang |
| Data wilayah asli Kota Bandung, Kota Cimahi, Kota Bekasi, Kabupaten Bekasi (titik bangunan, batas kelurahan, nama jalan, fasilitas kesehatan) | Sedang disiapkan | Diolah dengan notebook Colab "Siapkan data wilayah"; sementara ini pakai berkas latihan |
| Lapisan citra lain: tinggi bangunan (Open Buildings 2.5D), genangan, vegetasi, suhu permukaan | Tahap berikutnya | Akan masuk sebagai kovariat uji sisa dan lapis 5 |
| Jarak ke fasilitas kesehatan sebagai kovariat | Tahap berikutnya | Lokasi fasilitas ikut diambil notebook, belum dipakai mesin |
| Batas RW (Satuan Lingkungan Setempat BPS) | Tahap berikutnya | Ketersediaan dan lisensinya sedang dicek |
| Format data investigasi kontak TBC | Tahap berikutnya | Untuk ICC TB dan hasil investigasi kontak |
| Jalur pendampingan (server di Indonesia) dan layanan API dalam Docker | Tahap berikutnya | Bersama PKS dan DPIA dengan pemda mitra |
| Uji dengan data asli bersama Dinkes | Tahap berikutnya | Termasuk mencocokkan aturan data ganda SITB |
11. Privasi dan tata kelola
Pada jalur mandiri, berkas dibaca dan dianalisis dengan Python di dalam browser petugas (Pyodide). Berkas tidak dikirim ke server mana pun; yang diunduh dari internet hanya mesin, pustaka Python, data wilayah terbuka, dan petak peta dasar OpenStreetMap. Pada jalur pendampingan, data yang sudah disamarkan dianalisis bersama akademisi di server yang berlokasi di Indonesia, dengan PKS dan DPIA sesuai Undang-Undang Nomor 27 Tahun 2022 tentang Pelindungan Data Pribadi.
Kolom identitas dibuang sebelum analisis dan ID diganti kode samaran yang dibuat dengan "garam" (teks rahasia) milik Dinkes. Namun, koordinat rumah tetap bisa menunjuk satu keluarga. Jadi data hasil penyaringan adalah data bersamaran (pseudonim), bukan anonim, dan daftar kunjungan hanya untuk petugas.
12. Untuk tim IT pemda
Seluruh rumus analisis ada di satu paket Python bernama antartitik, yang sama persis dengan yang berjalan di website. Paket ini membutuhkan Python 3.10 ke atas dengan numpy, pandas, scipy, shapely, python-calamine (pembaca Excel), dan XlsxWriter (penulis Excel). Ada tiga cara memakainya, dari yang paling ringan:
- Website dipasang di server pemda (intranet). Folder website adalah situs statis: tanpa database dan tanpa backend, karena analisis berjalan di browser petugas.
- Skrip Python terjadwal. Misalnya setiap bulan membaca ekspor SITB dari satu folder dan menghasilkan panduan lapangan Excel untuk setiap puskesmas.
- Layanan antarmuka pemrograman (API) dalam kontainer Docker (Tahap 2), supaya sistem pemda yang ditulis dengan PHP, Java, atau bahasa lain cukup mengirim data dan menerima hasil.
Modul baru versi 0.4: dalam_rumah (ICC dan uji kasus serumah) dan cari_titik (mesin pencari titik dari alamat). Paket, catatan teknis, dan uji validasinya diserahkan oleh tim FK Unpad kepada pemda mitra.
13. Istilah
- Rumah pembanding (latar)
- Rumah yang mewakili tempat orang tinggal, diambil acak dari titik bangunan, untuk dibandingkan dengan rumah kasus.
- Permutasi atau kocokan
- Pengulangan acak (199 atau 999 kali) untuk melihat seberapa sering pola teramati muncul secara kebetulan.
- Rasio
- Jumlah pasangan teramati dibagi jumlah pasangan yang diharapkan bila acak. Rasio 2 berarti dua kali lipat.
- Nilai p
- Peluang mendapatkan pola sekuat yang teramati bila sebenarnya acak. Makin kecil, makin kecil kemungkinan pola itu kebetulan; antartitik memakai batas 0,05 untuk uji seluruh wilayah.
- Kovariat
- Faktor yang ikut diperhitungkan, misalnya kemiskinan DTSEN atau kepadatan permukiman.
- Rasio odds (RO)
- Seberapa besar peluang menjadi rumah kasus berubah untuk setiap kenaikan satu simpangan baku kovariat.
- Klaster ruang-waktu
- Kumpulan kasus yang berdekatan jarak dan waktunya, kandidat rantai penularan.
- Kantong
- Wilayah kecil dengan proporsi masalah yang lebih tinggi dari rata-rata wilayah.
- Empirical Bayes
- Cara menstabilkan laju kelurahan berpenduduk kecil dengan menariknya mendekati rata-rata wilayah.
- LISA
- Local Indicators of Spatial Association, penanda kelurahan yang menjadi pusat kantong tinggi atau rendah.
- Skor keyakinan
- Seberapa yakin model Open Buildings bahwa sebuah poligon adalah bangunan (0,65 sampai 1).
- Bobot rumah tangga
- Perkiraan jumlah rumah tangga di bawah satu atap, dari luas atap dan jumlah KK per kelurahan.
- ICC
- Intraclass correlation coefficient: bagian variasi kejadian yang berasal dari perbedaan antar rumah tangga.
- MOR
- Median odds ratio: rasio odds median antara dua orang yang sama kondisinya tetapi tinggal di rumah berbeda. MOR 1 berarti rumah tidak berpengaruh.
- Titik perkiraan
- Titik yang ditetapkan dari nama jalan di alamat, bukan dari koordinat rumah; ketelitiannya puluhan sampai ratusan meter.
- Profil format
- Berkas berisi nama kolom dan perannya, tanpa isi data, untuk membaca bentuk Excel yang sama secara otomatis.
- Garam dan pseudonim
- Garam adalah teks rahasia Dinkes untuk membuat kode samaran; data bersamaran (pseudonim) masih bisa dicocokkan kembali oleh pemegang garam.
14. Rujukan
- Sirko W, Kashubin S, Ritter M, et al. Continental-scale building detection from high resolution satellite imagery. arXiv. Preprint posted online July 26, 2021. arXiv:2107.12283
- Google Research. Open Buildings. Diakses November 2026. https://sites.research.google/gr/open-buildings/
- Okyere F, Lu M, Brunn A. Evaluating the quality of open building datasets for mapping urban inequality: a comparative analysis across 5 cities. arXiv. Preprint posted online August 18, 2025. arXiv:2508.12872
- OCHA Field Information Services Section. Indonesia: subnational administrative boundaries (COD-AB), sumber Badan Pusat Statistik. Humanitarian Data Exchange. Diakses November 2026. https://data.humdata.org/dataset/cod-ab-idn
- OpenStreetMap Foundation. Copyright and license. Diakses November 2026. https://www.openstreetmap.org/copyright
- Google Earth Engine Data Catalog. Open Buildings Temporal V1. Diakses November 2026. https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_Research_open-buildings-temporal_v1
- Diggle PJ, Chetwynd AG. Second-order analysis of spatial clustering for inhomogeneous populations. Biometrics. 1991;47:1155-1163. https://eprints.lancs.ac.uk/id/eprint/20041/
- Knox EG. The detection of space-time interactions. J R Stat Soc Ser C Appl Stat. 1964;13(1):25-29. doi:10.2307/2985220
- Fox GJ, Barry SE, Britton WJ, Marks GB. Contact investigation for tuberculosis: a systematic review and meta-analysis. Eur Respir J. 2013;41(1):140-156. doi:10.1183/09031936.00070812
- Ridout MS, Demétrio CGB, Firth D. Estimating intraclass correlation for binary data. Biometrics. 1999;55(1):137-148. doi:10.1111/j.0006-341X.1999.00137.x
- Goldstein H, Browne W, Rasbash J. Partitioning variation in multilevel models. Understanding Statistics. 2002;1(4):223-231. doi:10.1207/S15328031US0104_02
- Merlo J, Chaix B, Ohlsson H, et al. A brief conceptual tutorial of multilevel analysis in social epidemiology: using measures of clustering in multilevel logistic regression to investigate contextual phenomena. J Epidemiol Community Health. 2006;60(4):290-297. doi:10.1136/jech.2004.029454
- Ester M, Kriegel HP, Sander J, Xu X. A density-based algorithm for discovering clusters in large spatial databases with noise. In: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96). AAAI Press; 1996:226-231. https://www.osti.gov/biblio/421283
- Kulldorff M. A spatial scan statistic. Commun Stat Theory Methods. 1997;26(6):1481-1496. doi:10.1080/03610929708831995
- Marshall RJ. Mapping disease and mortality rates using empirical Bayes estimators. J R Stat Soc Ser C Appl Stat. 1991;40(2):283-294. doi:10.2307/2347593
- Moran PAP. Notes on continuous stochastic phenomena. Biometrika. 1950;37(1-2):17-23. doi:10.1093/biomet/37.1-2.17
- Anselin L. Local indicators of spatial association: LISA. Geogr Anal. 1995;27(2):93-115. doi:10.1111/j.1538-4632.1995.tb00338.x
- Direktorat Jenderal Pencegahan dan Pengendalian Penyakit, Kementerian Kesehatan RI. Petunjuk Teknis Investigasi Kontak Pasien TBC bagi Petugas Kesehatan dan Kader. Kementerian Kesehatan RI; 2019. https://repository.kemkes.go.id/book/702