MAN SRS ImportTool DP4

Instalasi
Aplikasi dibuat dalam bahasa PHP. Sebagian besar data disimpan dalam database MySQL. Sejumlah fungsi dalam aplikasi menggunakan utilitas yang umumnya tersedia dalam sebuah distribusi Linux, seperti dd, file, split, md5sum, dan lainnya. Webserver diperlukan untuk akses melalui antar muka berbasis web.

Persyaratan Perangkat Lunak
Perangkat lunak berikut ini diperlukan agar aplikasi dapat dijalankan dengan baik. Aplikasi dijalankan pada sistem operasi Linux yang didukung oleh beberapa utilitas yang umum tersedia pada distribusi sistem operasi tersebut.
 * PHP versi 5.3 keatas. PHP dalam modul Apache untuk antarmuka berbasis web. PHP cli untuk penggunaan aplikasi menggunakan command line.
 * MySQL versi 5.1 keatas. Database untuk menyimpan data.
 * Apache Webserver untuk melayani antarmuka berbasis web. Modul PHP perlu tersedia untuk server ini.
 * Linux sebagai sistem operasi untuk aplikasi utama, server database, serta utilitas pendukung lainnya.

Sejumlah utilitas pendukung digunakan oleh aplikasi untuk mengerjakan tugas tertentu. Utilitas ini secara umum tersedia dalam distribusi Linux. Berikut ini adalah utilitas yang diperlukan oleh aplikasi :


 * awk untuk menjalankan script awk yang mengerjakan proses transformasi data pada kolom nama, tempat lahir, alamat, dan tanggal lahir. Script ini berjalan pada saat DP4 akan diimpor dari csv ke database.
 * dd untuk melakukan transformasi dari lowercase ke uppercase. Digunakan sebelum impor DP4 dari csv ke database.
 * split untuk memecah file sumber DPT yang berbentuk csv menjadi lebih kecil. Digunakan sebelum proses impor data ke database.
 * wc untuk menghitung jumlah baris dalam file sumber DP4 yang berbentuk csv. Digunakan sebelum proses impor csv ke database.
 * md5sum untuk menghitung kode hash file sumber DP4 yang berbentuk csv, dan file excel yang jadi sumber DPT. Digunakan sebelum proses impor.
 * head untuk mengambil sebagian data dari sebuah file csv.
 * tail untuk mengambil sebagian data dari sebuah le csv.
 * file untuk mengetahui jenis sebuah file. Digunakan untuk mengenali apakah sebuah file merupakan file excel atau bukan.
 * sort untuk melakukan pengurutan data dalam file teks.
 * xlrd library Python untuk konversi excel ke csv.
 * openpyxl library Python untuk konversi excel ke csv.
 * detox utilitias ini bersifat opsional. Diperlukan untuk membersihkan nama file sumber, agar nama file tidak mengandung karakter yang bisa menimbulkan kesalahan dalam proses pembacaan nama file. Digunakan setelah file excel disalin ke harddisk, sebelum proses konversi file excel.

Persyaratan Perangkat Keras
Perangkat keras yang diperlukan untuk menjalankan aplikasi ini.
 * Microprocessor dengan dual core berkecepatan minimal 2 Ghz sudah mencukupi untuk menjalankan aplikasi ini. Jika tersedia microprocessor dengan core lebih dari satu akan meningkatkan kecepatan proses, terutama yang dapat dilakukan secara paralel.
 * Memory 2 GB atau lebih.
 * Harddisk dengan kapasitas 1 TB atau lebih diperlukan untuk meyimpan data yang cukup besar, disesuaikan dengan ukuran file sumber DP4, dan file sumber DPT, ditambah ruangan untuk database yang menyimpan hasil impor DP4, konversi DPT, dan penggabungan DP4 dan DPT. Ruangan untuk database minimal 250 GB.

Direktori Instalasi
Aplikasi dipisah menjadi dua bagian, yaitu aplikasi yang berfungsi untuk melakukan proses data, dan aplikasi berbasis web yang digunakan untuk menampilkan informasi secara umum tentang proses dan data yang diproses. Aplikasi yang berfungsi untuk memproses data yang dieksekusi melalui command line dapat diinstal pada satu direktori tersendiri, misalnya ditempatkan di /opt/pda. Sedangkan aplikasi berbasis web diinstal di direktori yang bisa diakses oleh web server, misalnya di /var/www/htdocs/tadalih

Aplikasi Pemroses Data
Berikut ini adalah struktur direktori untuk aplikasi yang bertugas melakukan proses terhadap data.
 * sql direktori berisi sql untuk membuat tabel yang diperlukan
 * ext direktori yang berisi script tambahan untuk fungsi bantuan tertentu apabila diperlukan, misalnya membuat struktur direktori untuk sumber file excel DPT
 * backend direktori yang berisi script pemrosesan data
 * dok direktori yang berisi dokumentasi
 * inc direktori yang berisi file konfigurasi
 * tadalih.php script aplikasi berbentuk antarmuka command line.

Perhatikan hak akses terhadap file dan direktori. Ada beberapa file yang perlu diset agar bisa dieksekusi. Untuk file x2c.py dan file xx2c.py harus mempunyai mode executable, karena file ini akan dieksekusi oleh script lain ketika melakukan proses konversi dari file excel ke csv. Kedua file ini berada dalam direktori backend/dpt/libkonversi.

File konfigurasi
Setelah script aplikasi disalin ke direktori yang telah ditentukan di atas, edit file konfigurasi. File konfigurasi berada dalam direktori inc, dengan nama file konfigurasi.php. Variabel yang perlu disesuaikan adalah sebagai berikut :

// direktori tempat aplikasi diinstal // jangan lupa tanda garis miring di belakang

$DIRKU = "/opt/npda/";

// dirdata adalah direktori utama yang menjadi tempat data // dalam direktori ini dibuat beberapa direktori lainnya yang diperlukan // lihat keterangan tentang direktori data dalam dokumentasi // garis miring di belakang jangan ketinggalan

$DIRDATA = "/opt/DATA/";

// tanggal lahir sebagai batas penghitungan umur

$BATASLAHIR = "1997-6-1";

// aplikasi pendukung // isi dengan path lengkap aplikasi pendukung

$PHPBIN = "/usr/bin/php"; $AWKBIN = "/usr/bin/awk"; $DDBIN = "/usr/bin/dd"; $SPLITBIN = "/usr/bin/split"; $HEADBIN = "/usr/bin/head"; $TAILBIN = "/usr/bin/tail"; $MD5SUMBIN = "/usr/bin/md5sum"; $FILEBIN = "/usr/bin/file"; $STATBIN = "/usr/bin/stat"; $SORTBIN = "/usr/bin/sort"; $WCBIN = "/usr/bin/wc"; $RMBIN = "/usr/bin/rm"; $PSBIN = "/usr/bin/ps"; $FINDBIN = "/usr/bin/find"; $GNUPLOTBIN = "/usr/bin/gnuplot";

// koneksi ke database

$DBSERVER = ’localhost’; $DBUSER = ’root’; $DBPASSWORD = ’’; $DBDATABASE = ’npda’;

// nama database untuk transfer hasil akhir // yang akan digunakan oleh sidalih

$DBHASIL = "hasil";

Misalnya direktori utama yang akan dilayani oleh server web ada di /var/www Dalam direktori ini diinstal aplikasi untuk menampilkan data hasil proses, misalnya dengan nama direktori wpda. Melalui web browser dapat diakses menggunakan alamat http://alamatserver/wpda/ dimana alamatserver dapat menggunakan ip address server.

Direktori Data
Data yang berada dalam file, seperti file sumber DP4, file excel DPT, yang diproses dalam aplikasi ini disimpan dalam beberapa direktori. Direktori ini berada dalam direktori data yang didefinisikan pada variabel $DIRDATA dalam file konfigurasi pada aplikasi pemroses data. Direktori ini yang berfungsi sebagai direktori sumber data, direktori hasil proses, direktori untuk menyimpan file log, direktori file kontrol, dan direktori temporer. Perlu diperhatikan hak akses terhadap direktori tersebut. Hak baca diperlukan untuk direktori yang berisi file sumber data. Hak tulis untuk sejumlah direktori yang perlu untuk menyimpan file saat aplikasi dijalankan. Berikut ini adalah direktori yang diperlukan.

dp4tmp direktori untuk menyimpan file temporer dalam proses impor DP4. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * dp4 direktori untuk menyimpan file sumber DP4 dalam bentuk csv.
 * dp4chunk direktori untuk menyimpan file sumber DP4 yang sudah dipecah menjadi lebih kecil. File yang ada dalam direktori ini bersifat temporer. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * dpt direktori untuk menyimpan file excel yang menjadi sumber DPT. Dalam direktori ini ada struktur direktori lagi, yang merupakan direktori per propinsi dan di dalamnya direktori per kabupaten/kota. Untuk membuat struktur direktori propinsi dan kabupaten/kota ini dapat menggunakan aplikasi bantuan yang bernama mkdirdpt.php yang tersedia dalam direktori util pada aplikasi.
 * dpttmp direktori untuk menyimpan file temporer dalam proses konversi file excel DPT ke bentuk csv. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * dptcsv direktori yang digunakan untuk menyimpan file csv hasil konversi dari excel sumber DPT. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * log direktori untuk menyimpan file log. Sejumlah fungsi yang dijalankan dalam aplikasi akan mencatat log ke direktori ini. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * pctl direktori untuk menyimpan file kontrol saat melakukan proses parallel. Aplikasi harus bisa menulis data ke dalam direktori ini.
 * tmp direktori untuk menyimpan file temporer lainnya yang diperlukan oleh aplikasi. Aplikasi harus bisa menulis data ke dalam direktori ini.

File Sumber Data
File yang menjadi sumber data DP4 dalam bentuk csv disalin ke direktori dp4 yang ada dalam direktori data. File sumber ini bisa lebih dari satu. Format csv ini pemisah antar kolom adalah karakter # (tanda pagar).

Menjalankan Aplikasi
Setelah instalasi selesai dan data yang akan diproses tersedia, proses dapat dijalankan. Aplikasi untuk menjalankan proses data digunakan melalui command line. Sedangkan aplikasi untuk melihat hasil proses menggunakan antarmuka berbasis web, dapat diakses menggunakan web browser.

Aplikasi Pemroses Data
Dari komputer dimana aplikasi diinstal, masuk ke direktori aplikasi. Dalam direktori tersebut ada script tadalih.php.

Jalankan dengan perintah ./tadalih.php

Setelah dijalankan, di layar akan tampil menu yang bisa dipilih. Menu dalam bentuk pilihan proses yang akan dijalankan. Pilih proses dengan mengetikkan angka sesuai pada menu yang tersedia. Untuk melanjutkan eksekusi proses, akan ditampilkan halaman konrmasi. Isi kode yang sesuai dengan petunjuk di layar, setelah itu proses akan dikerjakan. Setelah proses berjalan, silahkan tunggu sampai di layar tampil pemberitahuan bahwa proses telah selesai.

1. Impor DP4
1. Ketik angka 1 lalu tekan tombol enter, dimana proses impor dari sumber DP4 dalam bentuk csv dimasukan ke dalam database 2. Masukan kode konfirmasi untuk melanjutkan proses dengan mengisi kode yang diberikan oleh system 3. Silahkan tunggu sampai di layar tampil pemberitahuan bahwa proses telah selesai.

2. Mencari duplikat di DP4
1. Ketik angka 2 lalu tekan tombol enter, setelah DP4 berhasil diimpor dan masuk ke dalam tabel dp4, dilanjutkan dengan proses mencari data duplikat 2. Masukan kode konfirmasi untuk melanjutkan proses dengan mengisi kode yang diberikan oleh system 3. Silahkan tunggu sampai di layar tampil pemberitahuan bahwa proses telah selesai.

3. Rekapitulasi DP4
1. Ketik angka 3 lalu tekan tombol enter, rekapitulasi dilakukan terhadap semua data yang ada dalam tabel dp4 2. Masukan kode konfirmasi untuk melanjutkan proses dengan mengisi kode yang diberikan oleh system 3. Silahkan tunggu sampai di layar tampil pemberitahuan bahwa proses telah selesai.

4. Membuat tabel pencarian dan ekspor ke sqlite
1. Ketik angka 4 lalu tekan tombol enter, proses ini untuk membuat tabel khusus yang akan digunakan untuk pencarian NIK atau Nama yang ada dalam tabel dp4 2. Masukan kode konfirmasi untuk melanjutkan proses dengan mengisi kode yang diberikan oleh system 3. Silahkan tunggu sampai di layar tampil pemberitahuan bahwa proses telah selesai.