Menghitung jumlah Penduduk Pada Bulan Tertentu

tabel laporan, query jumlah penduduk, laporan, siak, siak2afis, inject, ektp Ada rekan ADB bertanya, “Bagaimana cara menghitung jumlah penduduk per kecamatan pada bulan tertentu?”. Bisakah? Jawabannya tentu bisa, namun query penghitungan jumlah penduduk tidak ke tabel biodata_wni. Mengapa? Karena tabel biodata_wni merupakan tabel yang dinamis, yang isinya selalu berubah dari waktu ke waktu. Pun tidak ada kolom yang bisa dijadikan referensi kapan suatu record ada di database.

Lah, kan ada field tgl_entri, khan bisa dihitunga dari situ! Bisa juga sih, tapi setelah saya cek di Wonogiri, ada sekitar 20.000 record yang kolom tgl_entri-nya NULL alias kosong, trus gimana ngitungnya coba? Jika bukan dari tabel biodata_wni, trus dari tabel apa dong? Nah untuk ini silahkan baca post Otomatisasi Pembuatan Tabel Laporan di http://adminsiak.blogspot.com/2012/02/otomatisasi-pembuatan-tabel-laporan.html. Fungsi tabel laporan ini bukan hanya untuk pembuatan laporan saja, fungsi lain adalah:

  1. Membandingkan laju pertumbuhan penduduk per bulannya.
  2. Jika ada penduduk yang datanya sudah tidak ada di database karena satu dan lain sebab, kita bisa melakukan pengecekan kapan terakhir penduduk tersebut ada di database dengan memeriksa tabel-tabel laporan
  3. Jika ada permintaan laporan dari dinas lain misalnya jumlah penduduk usia PAUD, pada bulan Mei 2012, anda tentunya tidak pusing untuk membuatkan, query saja ke tabel A5_BIODATA_WNI_LAP_2012_06 yang berisi data penduduk sampai dengan 31 Mei 2012
  4. Silahkan isi sendiri hehe

Oke sekarang ke query-nya, misal untuk mengetahui jumlah penduduk per kecamatan pada bulan Mei :

select 
bio.no_prop || '.' || to_char(bio.no_kab, '09') || '.' || to_char(bio.no_kec, '09') as kode,
initcap(kec.nama_kec) as kecamatan,
count(decode(bio.jenis_klmin, 1, bio.jenis_klmin)) as Pria,
count(decode(bio.jenis_klmin, 2, bio.jenis_klmin)) as Wanita
from
A5_BIODATA_WNI_LAP_2012_06 bio,
setup_kec kec
where
bio.no_prop=33 and bio.no_kab=12
and kec.no_prop=bio.no_prop and kec.no_kab=bio.no_kab and kec.no_kec=bio.no_kec
and bio.flag_status = 0
group by
bio.no_prop, bio.no_kab, bio.no_kec,
kec.nama_kec
order by
bio.no_kec



Oh ya, kalau aplikasi SIAK flag_status 2 alias pindah dalam negri terhitung masih penduduk, sedangkan saya, untuk setiap laporan yang saya buat, hanya menggunakan flag_status = 0. Jadi hasil query ini akan berbeda dengan hasil query aplikasi SIAK. Bagi saya jika status sudah pindah, ya sudah tidak terhitung penduduk lagi, lha wong di cetakan KK juga sudah tidak ada!



Perhatikan juga query di atas, tidak ada penggunaan fungsi GetNamaKec() yang biasa dicontohkan oleh Adminduk. Ini database relasional bung, ngapain pake fungsi kalo bisa pake relasi.



-------------------------------



Numpang iklan ah ;) Bagi yang butuh Suplemen EKTP, silahkan buka link https://www.facebook.com/SuplemenEktp

Categories: ,

3 Responses so far.

  1. Anonymous says:

    Tanya. flag_status 3 pindah luar negeri, 4 ganda, betul ya? 5 ada? Apa yang pindah ke luar kabupaten kalau sudah diterima di daerah tujuan tetap ada di database dengan flag_status 2, tidak terhapus? Proses apa yang menghasilkan flag_status ganda?

  2. Leon's says:

    wew...sudah ada ijin dari adminduk kah?

  3. Script nya perlu penyempurnaan lagi..... Where tidak menampilkan bulan dengan kriteria bulan 5. Script sepertinya hanya mnampilkan data jenis kelamin,berdasarkan asal penduduk....

Leave a Reply