• Database,  Programming

    Mengolah data APBD DKI

    Berawal kekecewaan terhadap data.go.id, saya nyari-nyari data tentang DKI, khususnya tentang APBD, ketemu  di Portal Data Pemda DKI. Dan langsung saya download: 21,5 MB CSV tanpa kompresi.

    Langkah pertama: buka dengan text viewer. LTF Viewer adalah program andalan saya untuk melihat data text besar, jangankan yang puluhan MB, data text ratusan MB aja dengan cepat bisa dibuka. Setelah dibuka terlihat bahwa data csv terdiri dari 55.467 baris (termasuk header di baris pertama).

    LTF Viewer. Open big text file in less than one second.

    Langkah kedua: coba lihat dengan pivot viewer. Dengan berbekal mesin pencari google, saya dapat program pivot viewer bernama Tad. Gampang banget makenya, langsung buka file csv, abis itu tinggal klik-klik aja nentuin urutan field pivotnya.

    Pivot view dengan Tad.

    Langkah ketiga: convert menjadi SQLite. Saya menggunakan program sqlite3 di Ubuntu yang jalan di Windows 10 (WSL: Windows Subsystem for Linux). Cepet banget konversinya.

    Ubuntu @ Windows Subsystem for Linux

    Data format csv bisa dibilang format universal untuk sharing data, selain csv ada json dan xml, tapi untuk kemudahan dan kepraktisan, gak ada yang ngalahin csv. Format csv memang mudah untuk dishare (portable) tetapi susah untuk diolah, jadi lebih baik untuk diconvert ke SQLite. 

    Langkah keempat: normalisasi. Memang data hasil convert dari csv sudah bisa langsung diolah, tapi saya mau data terstruktur biar gampang buat user interfacenya. Tabel hasil konversi otomatis nanti berubah, tapi kita bisa membuat view untuk kebutuhan pivot table. Untuk mengolah database SQLite saya pakai: SQLiteStudio (Free and OpenSource).

    Program favorit untuk mengolah data SQLite.

    Mudahnya menggunakan SQLite, karena struktur table di SQLite tidak mengenal tipe data, jadi pada saat import kita tidak perlu buat tabel dengan struktur data yang pas. Kalau pake MySQL atau yang lainnya, tiap field harus pas tipe datanya, bahkan untuk varchar harus didefinisikan berapa panjang maksimal datanya. Kalau panjang maksimalnya kurang dari data yang mau diinput akan menimbulkan error dan data gagal diinsert.

    This is a long journey, brace yourself and click “Read More”

    — Blog writer —
  • Database

    Bank Data

    Saya mau bagi-bagi data hasil crawling di internet. Untuk sementara baru satu dulu, nanti kalo ada data yang lumayan bagus untuk di-share pasti saya update lagi.


    Kamus Besar Bahasa Indonesia

    Konon pada jaman dahulu kala, website resmi KBBI Daring masih gampang di ambil datanya, kalo yang sekarang udah susah, harus jadi member kalo mau agak bebas, itupun tetap dibatasi. Dulu saya nge-grab data pake Delphi disimpan dalam format cds binary (client data set), tapi sesudah kenal SQLite saya convert ke SQLite biar gampang diakses sama program apapun.

    Dulu saya punya website apasih.lupa-nama-domain-gratisnya.com yang isinya hasil grabbing data KBBI Daring, saya bikin sendiri karena website KBBI jaman dulu gak bisa ngasih rujukan (tautan) ke entri tertentu karena gak nyediain pencarian lewat HTTP GET.

    Databasenya terakhir udah campur isinya, ada KBBI Daring, KBBI dan TBI. Yang KBBI dan TBI saya lupa sumbernya dari mana, tapi yang pasti TBI itu singkatan dari Tesaurus Bahasa Indonesia.

    Berikut ini struktur table apasih:

    FieldKeterangan
    idInteger, sequential
    katakata dasar
    artiarti kata, dalam format html
    sumbersumber data

    Download Data

    Link download ada di halaman Bank Data SQLite.