Post on 29-Jun-2015
description
25
BAB V
HASIL DAN PEMBAHASAN
5.1 Deskripsi Sistem
Sistem Informasi Kependudukan merupakan aplikasi berbasis
web menggunakan bahasa pemrograman PHP dengan framework
Codeigniter. Database engine yang digunakan adalah MySQL.
Sedangkan web server yang digunakan adalah Apache dimana ketiga
tool tersebut ter-pakage dalam aplikasi XAMPP.
Sistem Informasi ini menangani pengelolaan data penduduk
untuk daerah kabupaten dan kota Malang. Sistem pengelolaan data
antara lain berupa insert, update, delete, dan view. Insert, yaitu
sistem menerima inputan data yang berupa data lengkap penduduk,
Kartu Tanda Penduduk (KTP), dan Kartu Keluarga (KK). Update,
yaitu sistem menerima perubahan data penduduk seperti kematian,
kelahiran, perpindahan, status pernikahan, dll. Delete, yaitu sistem
menerima penghapusan data penduduk yang tidak valid untuk
digantikan dengan data yang baru. Namun tidak semua data lama
yang tergantikan data baru dihapus seperti misalnya perubahan status
penduduk karena kematian, maka data tetap disimpan untuk
digunakan di masa mendatang jika dibutuhkan. View, yaitu sistem
menerima perintah pencarian menggunakan key dan kategori tertentu
untuk kemudian ditampilkan hasilnya kepada user. Data yang
ditampilkan dapat berupa data penduduk maupun statistik data
keseluruhan.
Sistem Informasi Kependudukan ditujukan untuk berbagai
kalangan, antara lain perangkat desa, pegawai PEMKAB, dan
masyarakat umum dengan tingkat hak akses masing-masing.
Perangkat desa dapat melihat seluruh data penduduk dan statistik
data akan tetapi tidak dapat memberi input data pada sistem. Semua
data penduduk dimasukkan ke sistem oleh pegawai PEMKAB.
Sedangkan masyarakat umum hanya dapat melihat statistik data saja
tanpa dapat melihat data tiap-tiap penduduk. Selain itu juga terdapat
admin yang bertugas melakukan monitoring, back-up data, dan
pengamanan terhadap sistem.
26
5.2 Desain Sistem
Pada sistem informasi ini, terdapat beberapa langkah dalam
desain dan perancangan sistem antara lain penentuan Statement Of
Purpose (SOP) dan Event List.
5.2.1 Statement Of Purpose (SOP)
Sistem Informasi Kependudukan dirancang untuk memudahkan
pengelolaan dan pengarsipan data penduduk secara efisien dan
aman. Selain itu, sistem informasi ini juga ditujukan kepada pihak-
pihak tertentu yang membutuhkan statistik data valid untuk
menunjang penelitian tentang kependudukan kota dan kabupaten
Malang sehingga dapat difungsikan lebih lanjut untuk pengambilan
keputusan.
5.2.2 Event List
Event list pada sistem ini adalah sebagai berikut :
1. Admin dapat melakukan input data master / set-up data
awal.
2. Admin dapat menambah data pegawai, beserta username
dan password untuk masing-masing pegawai.
3. Admin dapat melakukan back-up data secara teratur
4. Admin dapat melihat daftar log pengunjung dan pegawai
5. Pegawai dapat melakukan login dan mengganti username
dan password yang telah diberikan oleh admin
6. Pegawai dapat menambah data penduduk, data KK, dan
data KTP
7. Pegawai dapat melakukan update terhadap data penduduk,
data KK, dan data KTP
8. Pegawai dapat menghapus data penduduk, data KK, dan
data KTP
9. Pegawai dapat mengubah data penduduk, data KK, dan
data KTP
10. Pegawai dapat mencetak laporan data penduduk, data KK,
data KTP, dan statistik data.
11. Pengurus dapat melakukan login dan mengganti username
dan password yang telah diberikan oleh admin
12. Pengurus dapat melihat data penduduk, data KK, data
KTP, dan statistik data
13. Pengurus dapat mencetak laporan data penduduk, data KK,
data KTP, dan statistik data.
14. Pengunjung dapat melihat statistik data.
27
15. Pengunjung dapat mencetak laporan statistik data
5.3 Tabel Pembentuk Sistem
Database Sistem Informasi Kependudukan terbentuk oleh 15
tabel, yaitu tabel user, agama, desa, gol_darah, hub_keluarga,
kecamatan, kelamin, kewarganegaraan, ktp, malang_region,
master_kk, pekerjaan, pendidikan, penduduk, dan status.
1. Tabel user
Tabel user merupakan tabel yang memiliki fungsi menyipman
data tentang admin, pegawai, dan viewer untuk login ke system
informasi kependudukan. Atribut-atribut pada tabel user dapat
dilihat pada tabel 5.1
Tabel 5.1 Tabel user
No Nama Field Keterangan
1 id_user id milik admin, pegawai, atau
viewer
2 Username Username admin, pegawai, atau
viewer
3 password Password admin, pegawai, atau
viewer
2. Tabel anggota
Tabel anggota merupakan tabel yang memiliki fungsi
menyipman data tentang data diri pegawai dan viewer untuk
login ke sistem informasi kependudukan. Atribut-atribut pada
tabel anggota dapat dilihat pada tabel 5.2
Tabel 5.2 Tabel anggota
No Nama Field Keterangan
1 id_anggota id anggota milik pegawai atau
viewer
2 id_user id user milik pegawai atau viewer
3 nama Nama dari pegawai atau viewer
4 alamat Alamat dari pegawai atau viewer
5 jabatan Jabatan dari pegawai atau viewer
6 foto
7 status_user Status anggota sebagai user
pegawai atau viewer
28
3. Tabel agama
Tabel agama merupakan tabel yang menyimpan kode agama
dan macam agama. Atribut-atribut pada tabel agama dapat
dilihat pada tabel 5.3
Tabel 5.3 Tabel agama
No Nama Field Keterangan
1 id_agama kode agama
2 agama Agama
4. Tabel desa
Tabel desa merupakan tabel yang menyimpan data-data yang
berhubungan dengan desa. Atribut-atribut tabel desa dapat
dilihat pada tabel 5.4.
Tabel 5.4 Tabel desa
No Nama Field Keterangan
1 id_desa kode-kode desa di Malang
2 id_kecamatan kode-kode kecamatan di
Malang
3 desa nama-nama desa di Malang
4 jml_rw Jumlah RW dalam suatu desa
5 jml_rt Jumlah RT dalam suatu RT
5. Tabel gol_darah
Tabel gol_darah merupakan tabel yang menyimpan kode
golongan darah dan jenis golongan darah. Atribut-atribut tabel
gol_darah dapat dilihat pada tabel 5.5.
Tabel 5.5 Tabel gol_darah
No Nama Field Keterangan
1 id_gol_dar Kode golongan darah
2 darah Jenis golongan darah
6. Tabel hub_keluarga
Tabel hub_keluarga merupakan tabel yang menyimpan data-
data tentang hubungan keluarga. Atribut-atribut tabel
hub_keluarga dapat dilihat pada tabel 5.6.
29
Tabel 5.6 Tabel hub_keluarga
No Nama Field Keterangan
1 id_hub Kode hubungan keluarga
2 hub_kel Macam hubungan keluarga
7. Tabel kecamatan
Tabel kecamatan merupakan tabel yang menyimpan data-data
yang berhubungan dengan kecamatan. Atribut-atribut tabel
kecamatan dapat dilihat pada tabel 5.7.
Tabel 5.7 Tabel kecamatan
No Nama Field Keterangan
1 id_kecamatan Kode kecamatan-kecamatan di
Malang
2 id_region Kode region kecamatan di
Malang
3 kecamatan Nama-nama kecamatan di
Malang
4 kodepos Kodepos daerah
8. Tabel kelamin
Tabel kecamatan merupakan tabel yang berisi kode jenis
kelamin dan jenis kelamin. Atribut-atribut tabel kelamin dapat
dilihat pada tabel 5.8.
Tabel 5.8 Tabel kelamin
No Nama Field Keterangan
1 id_kelamin Kode jenis kelamin
2 kelamin Jenis kelamin
9. Tabel kewarganegaraan
Tabel kewarganegaraan merupakan tabel yang menyimpan kode
kewarganegaraan dan jenis kewarganegaran. Atribut-atribut
tabel kewarganegaraan dapat dilihat pada tabel 5.9.
Tabel 5.9 Tabel kewarganegaraan
No Nama Field Keterangan
1 id_warga Kode kewarganegaraan
2 kewarganegaraan Jenis kewarganegaraan
30
10. Tabel ktp
Tabel ktp merupakan tabel yang menyimpan data berhubungan
dengan data ktp. Atribut-atribut tabel ktp dapat dilihat pada
tabel 5.10.
Tabel 5.10 Tabel ktp
No Nama Field Keterangan
1 no_ktp No kartu tanda penduduk
2 nik Nomor induk kependudukan
3 tgl_pembuatan Tanggal pembuatan kartu
tanda penduduk
4 id_gol_dar Kode golongan darah
11. Tabel malang_region
Tabel malang_region merupakan tabel yang menyimpan kode
malang_region dan jenis region yaitu kabupaten atau kota.
Atribut-atribut tabel malang_region dapat dilihat pada tabel
5.11.
Tabel 5.11 Tabel malang_region
No Nama Field Keterangan
1 id_region Kode region di Malang
2 region Macam region di Malang
12. Tabel master_kk
Tabel master_kk merupakan tabel yang menyimpan data-data
yang berhubungan dengan data KK. Atribut-atribut tabel
master_kk dapat dilihat pada tabel 5.12.
31
Tabel 5.12 Tabel master_kk
No Nama Field Keterangan
1 id_kk Kode kartu keluarga
2 Alamat Alamat keluarga bersangkutan
3 Rt rt tempat keluarga bersangkutan
tinggal
4 Rw rw tempat keluarga bersangkutan
tinggal
5 id_desa Kode desa tempat keluarga
bersangkutan tinggal
6 id_kecamatan Kode kecamatan tempat keluarga
bersangkutan tinggal
7 Keterangan
8 status_kk Status kartu keluarga (aktif/tidak
aktif)
13. Tabel pekerjaan
Tabel pekerjaan merupakan tabel yang menyimpan kode jenis
pekerjaan dan jenis pekerjaan. Atribut-atribut tabel pekerjaan
dapat dilihat pada tabel 5.13.
Tabel 5.13 Tabel pekerjaan
No Nama Field Keterangan
1 id_peker Kode pekerjaan
2 Pekerjaan Jenis pekerjaan
14. Tabel pendidikan
Tabel pendidikan merupakan tabel yang menyimpan kode
pendidikan dan jenis pendidikan. Atribut-atribut tabel
pendidikan dapat dilihat pada tabel 5.14.
Tabel 5.14 Tabel pendidikan
No Nama Field Keterangan
1 id_pend Kode pendidikan
2 Pendidikan Jenis pendidikan terakhir
15. Tabel penduduk
Tabel penduduk merupakan tabel yang menyimpan data-data
perseorangan secara lebih detail. Atribut-atribut tabel penduduk
dapat dilihat pada tabel 5.15.
32
Tabel 5.15 Tabel penduduk
No Nama Field Katerangan
1 nik Nomor induk kependudukan
2 id_kk Kode kartu keluarga
3 nama Nama lengkap
4 id_kelamin Kode jenis kelamin
5 tempat_lahir Kota tempat kelahiran penduduk
6 tgl_lahir Tanggal lahir penduduk
7 id_agama Kode jenis agama
8 id_pend Kode jenis pendidikan
9 id_peker Kode jenis pekerjaan
10 id_status Kode status
11 id_hub Kode hubungan keluarga
12 id_warga Kode kewarganegaraan
13 ayah Nama ayah dari penduduk
bersangkutan
14 ibu Nama ibu dari penduduk
bersangkutan
15 foto Foto penduduk
16 no_paspor Nomor paspor (jika ada)
17 no_kitaskitab Nomor kitaskitab (jika ada)
18 no_akte Nomor akte kelahiran penduduk
19 ket
20 status_pend
16. Tabel status
Tabel status merupakan tabel yang menyimpan kode status dan
jenis status. Atribut-atribut tabel status dapat dilihat pada Tabel
5.16.
Tabel 5.16 Tabel Status
No Nama Field Keterangan
1 id_status Kode status
2 status Jenis status
33
5.4 ERD (Entity Relationship Diagram)
Gambar 5.1 ERD
Diagram relasi antar entitas pada Sistem Informasi
Kependudukan dapat dilihat pada gambar 5.1. Pada Sistem
Informasi Kependudukan terdapat 15 entitas, yaitu entitas user,
entitas gol_darah, entitas desa, entitas kecamatan, entitas
malang_region, entitas ktp, entitas master_kk, entitas
kewarganegaraan, entitas penduduk, entitas status, entitas
hub_keluarga, entitas agama, entitas pekerjaan, entitas pendidikan
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
mempunyai
user
id_user
username
password
agama
id_agama
agama
desa
id_desa
desa
jml_rw
jml_rt
gol_darah
id_gol_dar
darah
hub_keluarga
id_hub
hub_kel
kecamatan
id_kecamatan
id_region
kecamatan
kode_pos
kelamin
id_kelamin
kelamin
kewarganegaraan
id_warga
kewarganegaraan
ktp
no_ktp
nik
tgl_pembuatan
id_gol_dar
malang_region
id_region
region
master_kk
id_kk
alamat
rt
rw
id_desa
id_kecamatan
Keterangan
status_kk
pekerjaan
id_peker
pekerjaan
pendidikan
id_pend
pendidikan
penduduk
nik
id_kk
nama
id_kelamin
tempat_lahir
tgl_lahir
id_agama
id_pend
id_peker
id_status
id_hub
id_warga
ayah
ibu
foto
no_paspor
no_kitaskitab
no_akte
ket
status
id_status
status
34
dan entitas kelamin. Relasi yang terbentuk antar entitas tersebut
menggambarkan adanya hubungan keterkaitan antar entitas.
1. Relasi antara entitas gol_darah dan ktp adalah one to many
karena satu jenis golongan darah dapat dimiliki banyak ktp
(banyak orang).
2. Relasi antara entitas desa dan kecamatan adalah many to
one karena beberapa desa dimiliki satu kecamatan.
3. Relasi antara entitas desa dan master_kk adalah one to
many karena satu desa dapat dimiliki beberapa keluarga
(pemilik kartu keluarga).
4. Relasi antara entitas kecamatan dan malang_region adalah
many to one karena beberapa kecamatan dimiliki satu
malang region yang berupa kota atau kabupaten.
5. Relasi antara entitas ktp dan penduduk adalah one to one
karena satu ktp dimiliki oleh satu orang penduduk.
6. Relasi antara entitas penduduk dan master_kk adalah many
to one karena beberapa penduduk dapat memiliki satu kk
(kartu keluarga).
7. Relasi antara entitas kewarganegaraan dan penduduk
adalah one to many karena satu jenis kewarganegaraan
dapat dimiliki beberapa penduduk.
8. Relasi antara entitas status dan penduduk adalah one to
many karena satu macam status dapat dimiliki banyak
penduduk.
9. Relasi antara entitas hub_keluarga dan penduduk adalah
one to many karena satu jenis hubungan keluarga dapat
dimiliki banyak penduduk.
10. Relasi antara entitas agama dan penduduk adalah one to
many karena satu macam agama dapat dimiliki banyak
penduduk.
11. Relasi antara entitas pekerjaan dan penduduk adalah one to
many karena satu jenis pekerjaan dapat dimiliki beberapa
penduduk.
12. Relasi antara entitas kelamin dan penduduk adalah one to
many karena satu jenis kelamin dapat dimiliki banyak
penduduk.
13. Relasi antara entitas pendidikan dan penduduk adalah one
to many karena satu macam pendidikan dapat dimiliki
banyak penduduk.
35
5.5 Deskripsi Proses
5.5.1 Diagram Konteks
Gambar 5.2 Diagram Konteks
Diagram konteks untuk Sistem Informasi Kependudukan dapat
dilihat pada gambar 5.2. Diagram konteks Sistem Informasi
Kependudukan terdiri dari 4 entitas, yaitu admin, pegawai, viewer,
dan guest.
Pegawai memberikan data login sebagai syarat untuk memasuki
sistem dan sistem akan melakukan pengecekan validasi user. Jika
data login valid, maka sistem akan mengirimkan data login untuk
ditampilkan dan pegawai dapat memberikan inputan berbagai data,
antara lain data penduduk, data KK, dan data KTP. Selain
memberikan inputan, pegawai juga dapat melihat data penduduk,
data KK, data KTP, dan statistik data.
data_hub_keluarga
data_kelamin
data_malang_region
data_kecamatan
data_desa
data_status
data_pendidikan
data_pekerjaan
data_kewarganegaraan
data_darah
data_agama
info_statistik
key_kategori_stat istik
info_KTP
info_statistik
info_KK
info_login
key_kategori_stat istik
key_pencarian
data_login lap_statistik
info_login
info_KK
info_KTP
key_kategori_stat istik
data_KK
data_KTP
data_penduduk
key_pencarian
data_login
data_backup
data_log
info_login
data_user
data_login
0
Sistem Informasi Kependudukan
+
admin
pegawai
guest
viewer
36
Guest (pengunjung) hanya dapat memilih key kategori statistik
data terhadap sistem dan sistem akan memberikan laporan hasil
statistik data.
Viewer memberikan data login sebagai syarat untuk memasuki
sistem dan sistem akan melakukan pengecekan validasi user. Jika
data login valid, maka sistem akan mengirimkan data login untuk
ditampilkan dan viewer dapat memberikan inputan key pencarian
data penduduk maupun key kategori statistik data pada sistem untuk
diproses. Sistem akan memberikan laporan data penduduk berupa
data KK dan KTP serta hasil statistik data.
Admin, disini berperan sangat penting karena meng-handle
keamanan dan proses kerja sistem. Admin melakukan login khusus
admin dan sistem akan melakukan pengecekan validasi user. Jika
data login valid, maka sistem akan mengirimkan data login untuk
ditampilkan dan admin dapat menambah atau mengurangi user
melalui data_user. Pada awal pembentukan sistem, admin berperan
dalam setup data, yaitu berupa data malang region, data pendidikan,
data agama, dll. Selain tugas-tugas diatas, admin juga dapat meminta
data backup pada sistem.
5.5.2 DFD Level 1
DFD Level 1 merupakan dekomposisi dari diagram konteks.
Berdasarkan pada gambar DFD level 1 yang dapat dilihat pada
gambar 5.3, terdapat 4 proses yaitu Login, Olah Master Data,
Transaksi, dan Olah Laporan.
1. Proses Login : entitas yang terlibat dalam proses login
adalah admin, pegawai, dan viewer. Proses memperoleh
data login dari admin, pegawai, dan viewer. Kemudian
proses login akan melakukan validasi terhadap data
tersebut. Setelah validasi, proses login akan mengirimkan
info login yang sesuai kepada user.
2. Proses Olah Data Master : entitas yang terlibat dalam
proses Olah data master adalah admin. Admin memberikan
semua data master yang akan nantinya akan dipakai dalam
proses transaksi ke dalam proses olah data master.
Kemudian proses olah data master akan menyimpan data
master tersebut kedalam masing-masing database.
3. Proses Transaksi : entitas yang terlibat dalam proses
transaksi adalah pegawai. Pegawai memasukkan data
penduduk, data KTP, dan data KK ke proses. Proses
37
menerima data master yang dibutuhkan dalam data
penduduk, data KTP, dan data KK dari tabel gol_darah,
agama, kelamin, pendidikan, desa, kecamatan,
malang_region, kewarganegaraan, pekerjaan,
hub_keluarga, dan status. Kemudian proses akan
menyimpan data dalam table penduduk, master_KK, dan
ktp.
4. Proses Olah Laporan : entitas yang terlibat dalam proses
olah laporan adalah admin, pegawai, viewer, dan guest.
Proses memperoleh key_pencarian data penduduk dari
pegawai dan viewer. Kemudian proses akan memberikan
data laporan berupa info_KK dan info_KTP. Proses
memperoleh key_kategori statistic dari pegawai, viewer,
dan juga guest. Kemudian proses akan memberikan data
berupa info_statistik. Proses memberikan data backup
kepada admin.
38
39
40
41
5.5.3 DFD Level 2
DFD Level 2 merupakan hasil penjabaran dari proses-proses
yang terdapat pada DFD Level 1. Proses yang dijabarkan pada
proses ini adalah proses Olah Master Data, Transaksi, dan Olah
Laporan.
42
5.5.3.1 Proses Olah Master Data
Gambar 5.4 DFD Level 2 Proses Olah Master Data
data_login
data_login
data_login
data_login
data_login
data_login
data_login
data_login
data_login
data_login
data_login
data_login
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_login]
[data_darah]
[data_kecamatan]
[data_pendidikan]
[data_malang_region]
[data_hub_keluarga]
[data_status]
[data_pekerjaan]
[data_kelamin]
[data_kewarganegaraan]
[data_desa]
[data_user]
[data_login]
[data_gol_darah]
[data_gol_darah_valid]
[data_user]
[data_user_valid]
[data_pendidikan]
[data_pendidikan_valid]
[data_kecamatan]
[data_kecamatan_valid]
[data_malang_region]
[data_malang_region_valid]
[data_status]
[data_status_valid]
[data_hub_keluarga]
[data_hub_keluarga_valid]
[data_pekerjaan]
[data_pekerjaan_valid]
[data_kelamin]
[data_kelamin_valid]
[data_kewarganegaraan]
[data_kewarganegaraan_valid]
[data_agama]
[data_agama_valid]
[data_desa]
[data_desa_valid]
[data_agama]
admin
Login
gol_darah
desa
agama
kewarganegaraan
kelamin
pekerjaan
pendidikan
hub_keluarga
malang_region
status
kecamatan
user
2.1
Maintenance
data user
+
2.2
Maintenance
data desa
+
2.3
Maintenance
data agama
+
2.4Maintenance
data
kewarganegar
aan+
2.5
Maintenance
data jenis
kelamin
+
2.6
Maintenance
data
pekerjaan
+
2.7
Maintenance
data status
+
2.8
Maintenance
data
hub_keluarga
+
2.9Maintenance
data
malang_regio
n+
2.10
Maintenance
data
kecamatan
+
2.11
Maintenance
data
gol_darah
+
2.12
Maintenance
data
pendidikan
+
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
43
Gambar 5.4 menggambarkan DFD Level 2 dari proses Olah
Master Data. Dalam melakukan proses Olah Data Master terdapat 12
proses yang dilakukan, yaitu proses Maintanance Data User,
Maintanance Data desa, Maintanance Data agama, Maintanance
Data kewarganegaraan, Maintanance Data kelamin, Maintanance
Data pekerjaan, Maintanance Data pendidikan, Maintanance Data
status, Maintanance Data hub_keluarga, Maintanance Data
malang_region, Maintanance Data gol_darah, Maintanance Data
kecamatan. Adapun entitas yang terlibat adalah admin. Admin
memasukkan data pada masing-masing proses tersebut dan
kemudian proses akan memasukkan data-data tersebut pada database
dalam masing-masing table untuk setiap prosesnya.
5.5.3.2 Proses Transaksi
Gambar 5.5 DFD Level 2 Proses Transaksi
data_login
data_login
data_login
[data_agama]
[data_malang_region]
[data_pendidikan]
[data_status]
[data_desa]
[data_pekerjaan]
[data_kelamin][data_penduduk]
[data_penduduk]
[data_penduduk_valid]
[data_kecamatan]
[data_kewarganegaraan]
[data_hub_keluarga]
[data_login]
[data_gol_darah]
[data_login]
[data_login][data_KTP]
[data_KK]
[data_KTP]
[data_KTP_valid]
[data_master_KK_valid]
[data_master_KK]
pegawai
master_KK
KTP
penduduk
gol_darah
desa
agama
kewarganegaraan
kelamin
pendidikan
pekerjaan
hub_keluarga
kecamatan
malang_region
status
3.1
Maintenance
data KK
+
3.2
Maintenance data
KTP
+
Login
Login
Login
3.3
Maintenance data
Penduduk
+
44
Gambar 5.5 merupakan gambar DFD level 2 dari proses
Transaksi. Dalam proses Transaksi dapat dijabarkan menjadi 3
proses, yaitu Maintanance Data KK, Maintanance Data KTP, dan
Maintanance Data Penduduk. Entitas yang terlibat dalam proses
Transaksi hanya pegawai, karena proses ini akan berhubungan
dengan memasukkan data, mengubah data, atau menghapus data
yang telah ada. Semua table yang ada pada proses Olah Master Data
terlibat didalam proses transaksi ini karena data yang dimasukkan
oleh pegawai adalah data yang sudah ada dalam master data.
5.5.3.3 Proses Olah Laporan
Gambar 5.6 DFD Level 2 Proses Olah Laporan
Gambar 5.6 merupakan gambar DFD Level 2 dari proses Olah
Laporan. Dalam proses ini, proses-proses yang dilakukan adalah
backup data, pencarian, lihat info KK, lihat info KTP, dan lihat info
[data_penduduk]
[data_KTP]
[data_KK]
[data_user]
[data_kecamatan]
[data_pendidikan]
[data_malang_region]
[data_pekerjaan]
[data_desa]
[data_status]
[data_hub_keluarga]
[data_kewarganegaraan]
[data_kelamin]
[data_agama]
[data_gol_darah]
data_penduduk
data_KTPdata_KK
data_login
data_penduduk
data_KTP
data_KK
[data_backup]
[data_log]
[key_kategori_statistik]
[key_kategori_statistik]
[info_statistik]
[info_statistik]
[key_kategori_statistik]
[info_KTP]
[info_KK]
[key_pencarian]
[lap_statistik]
[info_KK]
[info_KTP]
[key_pencarian]
admin
pegawai
pegawai
pegawai
pegawai
viewer
viewer
viewer
viewer
guest
guest
penduduk
KTP
master_KK
4.1
Pencarian
4.2
Lihat info KK
4.3
Lihat info
KTP
4.4
Lihat Info
statistik
4.5
Backup data dan log data
gol_darah
desa
agama
kelamin
kewarganegaraan
pendidikan
pekerjaan
hub_keluarga
kecamatan
malang_region
status
user
45
statistik. Entitas yang terlibat adalah admin, pegawai, viewer, dan
juga guest. Admin memperoleh data backup dari proses backup data.
Pegawai dan viewer memperoleh data laporan berupa info KK, info
KTP, dan info statistik. Sedangkan guest hanya dapat memperoleh
data laporan berupa info statistik saja.
5.5.4 DFD Level 3
DFDLevel 3 merupakan hasil penjabaran dari beberapa proses
pada level 2. Proses-proses yang dijabarkan pada level ini adalah
proses maintenance data user, maintenance data desa, maintenance
data agama, maintenance data kewarganegaraan, maintenance data
jenis kelamin, maintenance data pekerjaan, maintenance data status,
maintenance data hub_keluarga, maintenance data malang_region,
maintenance data kecamatan, maintenance data gol_darah,
maintenance data pendidikan, maintenance data KK, maintenance
data KTP, dan maintenance data penduduk.
5.5.4.1 Proses Maintanance Data User
Gambar 5.7 DFD Level 3 Proses Maintanance Data User
Gambar 5.7 menggambarkan DFD Level 3 dari proses
Maintanance Data User. Dalam proses tersebut terdapat 2 subproses
yang terjadi, yaitu Input Data User dan Update Data User. Entitas
yang mempunyai hak untuk melakukan maintenance data user
adalah admin. Tabel yang diakses untuk proses ini adalah tabel user.
[data_login]
[data_login]
[data_user]
[data_user_valid]
data_user
[data_user]
admin user
Login
2.1.1
Input data
user
2.1.2
Update data
user
46
5.5.4.2 Proses Maintanance Data Desa
Gambar 5.8 DFD Level 3 Proses Maintanance Data Desa
Gambar 5.8 menggambarkan DFD Level 3 dari proses
Maintanance Data Desa. Dalam proses tersebut terdapat 2 subproses
yang terjadi, yaitu Input Data Desa dan Update Data Desa. Entitas
yang mempunyai hak untuk melakukan maintenance data desa
adalah admin. Tabel yang diakses untuk proses ini adalah tabel desa.
5.5.4.3 Proses Maintanance Data Agama
Gambar 5.9 DFD Level 3 Proses Maintanance Data Agama
Gambar 5.9 menggambarkan DFD Level 3 dari proses
Maintanance Data Agama. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Agama dan Update Data
Agama. Entitas yang mempunyai hak untuk melakukan maintenance
data agama adalah admin. Tabel yang diakses untuk proses ini
adalah tabel agama.
[data_login]
[data_login]
[data_desa]
[data_desa_valid]
data_desa
[data_desa]
admin
desa
Login
2.2.1
Input data
desa
2.2.2
Update data
desa
[data_login]
[data_login]
[data_agama]
[data_agama_valid]
data_agama
[data_agama]
admin
agama
Login
2.3.1
Input data
agama
2.3.2
Update data
agama
47
5.5.4.4 Proses Maintanance Data Kewarganegaraan
Gambar 5.10 DFD Level 3 Proses Maintanance Data
Kewarganegaraan
Gambar 5.10 menggambarkan DFD Level 3 dari proses
Maintanance Data Kewarganegaraan. Dalam proses tersebut terdapat
2 subproses yang terjadi, yaitu Input Data Kewarganegaraan dan
Update Data Kewarganegaraan. Entitas yang mempunyai hak untuk
melakukan maintenance data kewarganegaraan adalah admin. Tabel
yang diakses untuk proses ini adalah tabel kewarganegaraan.
5.5.4.5 Proses Maintanance Data Kelamin
Gambar 5.11 DFD Level 3 Proses Maintanance Data Kelamin
Gambar 5.11 menggambarkan DFD Level 3 dari proses
Maintanance Data Kelamin. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Kelamin dan Update Data
[data_login]
[data_login]
[data_kewarganegaraan]
[data_kewarganegaraan_valid]
data_kewarganegaraan
[data_kewarganegaraan]
admin kewarganegaraan
Login
2.4.1
Input data
kewarganegaraan
2.4.2
Update data
kewarganegaraan
[data_login]
[data_login]
[data_kelamin]
[data_kelamin_v alid]
data_kelam in
[data_kelamin]
admin
kelam in
Login
2.5.1
Input data
kelam in
2.5.2
Output data
kelam in
48
Kelamin. Entitas yang mempunyai hak untuk melakukan
maintenance data kelamin adalah admin. Tabel yang diakses untuk
proses ini adalah tabel kelamin.
5.5.4.6 Proses Maintanance Data Pekerjaan
Gambar 5.12 DFD Level 3 Proses Maintanance Data Pekerjaan
Gambar 5.12 menggambarkan DFD Level 3 dari proses
Maintanance Data Pekerjaan. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Pekerjaan dan Update Data
Pekerjaan. Entitas yang mempunyai hak untuk melakukan
maintenance data Pekerjaan adalah admin. Tabel yang diakses untuk
proses ini adalah tabel pekerjaan.
5.5.4.7 Proses Maintanance Data Status
Gambar 5.13 DFD Level 3 Proses Maintanance Data Status
[data_login]
[data_login]
[data_pekerjaan]
[data_pekerjaan_valid]
data_pekerjaan
[data_pekerjaan]
admin
Login
pekerjaan
2.6.1
Input data
pekerjaan
2.6.2
Update data
pekerjaan
[data_login]
[data_login]
[data_status]
[data_status_valid]
data_status
[data_status]
admin
status
Login
2.7.1
Input data
status
2.7.2
Update data
status
49
Gambar 5.13 menggambarkan DFD Level 3 dari proses
Maintanance Data Status. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Status dan Update Data
Status. Entitas yang mempunyai hak untuk melakukan maintenance
data Status adalah admin. Tabel yang diakses untuk proses ini adalah
tabel status.
5.5.4.8 Proses Maintanance Data Hubungan Keluarga
Gambar 5.14 DFD Level 3 Proses Maintanance Data Hubungan
Keluarga
Gambar 5.14 menggambarkan DFD Level 3 dari proses
Maintanance Data Hubungan Keluarga. Dalam proses tersebut
terdapat 2 subproses yang terjadi, yaitu Input Data Hubungan
Keluarga dan Update Data Hubungan Keluarga. Entitas yang
mempunyai hak untuk melakukan maintenance data Hubungan
Keluarga adalah admin. Tabel yang diakses untuk proses ini adalah
tabel hub_keluarga.
[data_login]
[data_login]
[data_hub_keluarga]
[data_hub_keluarga_v alid]
data_hub_keluarga
[data_hub_keluarga]
adminhub_keluarga
Login
2.8.1
Input data
hubungan
keluarga
2.8.2
update data
hubungan
keluarga
50
5.5.4.9 Proses Maintanance Data Malang Region
Gambar 5.15 DFD Level 3 Proses Maintanance Data Malang
Region
Gambar 5.15 menggambarkan DFD Level 3 dari proses
Maintanance Data Malang Region. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Malang Region dan Update
Data Malang Region. Entitas yang mempunyai hak untuk melakukan
maintenance data Malang Region adalah admin. Tabel yang diakses
untuk proses ini adalah tabel malang_region.
5.5.4.10 Proses Maintanance Data Kecamatan
Gambar 5.16 DFD Level 3 Proses Maintanance Data Kecamatan
Gambar 5.16 menggambarkan DFD Level 3 dari proses
Maintanance Data Kecamatan. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Kecamatan dan Update Data
Kecamatan. Entitas yang mempunyai hak untuk melakukan
[data_login]
[data_login]
[data_malang_region]
[data_malang_region_valid]
data_malang_region
[data_malang_region]
adminmalang_region
Login
2.9.1
Input data
Malang
region
2.9.2
Update data
Malang region
[data_login]
[data_login]
[data_kecamatan]
[data_kecamatan_valid]
data_kecamatan
[data_kecamatan]
admin
kecamatan
Login
2.10.1
Input data
kecamatan
2.10.2
Update data
kecamatan
51
maintenance data Kecamatan adalah admin. Tabel yang diakses
untuk proses ini adalah tabel kecamatan.
5.5.4.11 Proses Maintanance Data Golongan Darah
Gambar 5.17 DFD Level 3 Proses Maintanance Data Golongan
Darah
Gambar 5.17 menggambarkan DFD Level 3 dari proses
Maintanance Data Golongan Darah. Dalam proses tersebut terdapat
2 subproses yang terjadi, yaitu Input Data Golongan Darah dan
Update Data Golongan Darah. Entitas yang mempunyai hak untuk
melakukan maintenance data Golongan Darah adalah admin. Tabel
yang diakses untuk proses ini adalah tabel gol_darah.
5.5.4.12 Proses Maintanance Data Pendidikan
Gambar 5.18 DFD Level 3 Proses Maintanance Data Pendidikan
Gambar 5.18 menggambarkan DFD Level 3 dari proses
Maintanance Data Pendidikan. Dalam proses tersebut terdapat 2
[data_login]
[data_login]
[data_gol_darah]
[data_gol_darah_valid]
data_darah
[data_darah]
admingol_darah
Login
2.11.1
Input data
golongan
darah
2.11.2
Update data
golongan
darah
[data_login]
[data_login]
[data_pendidikan]
[data_pendidikan_valid]
data_pendidikan
[data_pendidikan]
adminpendidikan
Login
2.12.1
Input data
pendidikan
2.12.2
Update data
pendidikan
52
subproses yang terjadi, yaitu Input Data Pendidikan dan Update Data
Pendidikan. Entitas yang mempunyai hak untuk melakukan
maintenance data Pendidikan adalah admin. Tabel yang diakses
untuk proses ini adalah tabel pendidikan.
5.5.4.13 Proses Maintanance Data KTP
Gambar 5.19 DFD Level 3 Proses Maintanance Data KTP
Gambar 5.19 menggambarkan DFD Level 3 dari proses
Maintanance Data KTP. Dalam proses tersebut terdapat 2 subproses
yang terjadi, yaitu Input Data KTP dan Update Data KTP. Entitas
yang mempunyai hak untuk melakukan maintenance data KTP
adalah pegawai. Tabel yang diakses untuk proses ini adalah tabel
ktp.
5.5.4.14 Proses Maintanance Data KK
Gambar 5.20 DFD Level 3 Proses Maintanance Data KK
[data_gol_darah]
[data_login]
[data_login]
[data_KTP]
[data_KTP_valid]
data_KTP
[data_KTP]
pegawaiKTP
gol_darah
Login
3.2.1
Input data
KTP
3.2.2
Update data
KTP
[data_login]
[data_login]
[data_master_KK_valid]
[data_master_KK]
data_KK
[data_KK]
pegawai
master_KK
Login
3.1.1
Input data
KK
3.1.2
Update data
KTP
53
Gambar 5.20 menggambarkan DFD Level 3 dari proses
Maintanance Data KK. Dalam proses tersebut terdapat 2 subproses
yang terjadi, yaitu Input Data KK dan Update Data KK. Entitas yang
mempunyai hak untuk melakukan maintenance data KK adalah
pegawai. Tabel yang diakses untuk proses ini adalah tabel
master_kk.
5.5.4.15 Proses Maintanance Data Penduduk
Gambar 5.21 DFD Level 3 Proses Maintanance Data Penduduk
Gambar 5.21 menggambarkan DFD Level 3 dari proses
Maintanance Data Penduduk. Dalam proses tersebut terdapat 2
subproses yang terjadi, yaitu Input Data Penduduk dan Update Data
Penduduk. Entitas yang mempunyai hak untuk melakukan
maintenance data Penduduk adalah pegawai. Tabel yang diakses
untuk proses ini adalah tabel penduduk.
[data_status]
[data_malang_region]
[data_kecamatan]
[data_hub_keluarga]
[data_pekerjaan]
[data_pendidikan]
[data_kelamin]
[data_kewarg anegaraan]
[data_agama]
[data_desa]
[data_penduduk]
[data_penduduk_valid]
[data_log in]
[data_log in]
data_penduduk
[data_penduduk]
pegawai penduduk
desa
ag ama
kewarg aneg araan
kelamin
pendidikan
pekerjaan
hub_keluarg a
kecamatan
malang _reg ion
status
Login
3.3.1
Input data
penduduk
3.3.2
Update data penduduk
54
5.6 Implementasi Tabel
Database Sistem Informasi Kependudukan terdiri dari 16
tabel, yaitu : table agama, anggota, desa, gol_darah, hub_keluarga,
kecamatan, kelamin, kewarganegaraan, ktp, malang_region,
master_kk, pekerjaan, pendidikan, penduduk, status, dan user. Tabel
user berkaitan dengan proses login. Sedangkan table agama, desa,
gol_darah, hub_keluarga, kecamatan, kelamin, kewarganegaraan,
malang_region, pekerjaan, pendidikan, penduduk, status, dan user
merupakan master data, di mana data yang ada pada tabel-tabel
tersebut akan digunakan lebih lanjut pada proses transaksi dan lihat
informasi. Tabel master_kk, penduduk,dan ktp berisi data tansaksi
yang berelasi dengan tabel lain (master data). Adapun detail dari
tabel-tabel yang diimplementasikan pada sistem ini dapat dilihat
pada tabel 5.16 sampai dengan 5.31.
Tabel 5.16 Tabel user
No Nama Field Tipe Panjang
Field Keterangan
1 id_user varchar 20 Primary Key
2 Username varchar 20
3 password varchar 40
Tabel 5.17 Tabel agama
No Nama Field Tipe Panjang
Field Keterangan
1 id_agama varchar 3 Primary Key
2 agama varchar 10
Tabel 5.18 Tabel desa
No Nama Field Tipe Panjang
Field Keterangan
1 id_desa varchar 5 Primary Key
2 id_kecamatan varchar 5 Foreign Key
3 desa varchar 25
4 jml_rw int 5
5 jml_rt int 5
55
Tabel 5.19 Tabel gol_darah
No Nama Field Tipe Panjang
Field Keterangan
1 id_gol_dar varchar 3 Primary Key
2 darah varchar 2
Tabel 5.20 Tabel hub_keluarga
No Nama Field Tipe Panjang
Field Keterangan
1 id_hub varchar 3 Primary Key
2 hub_kel varchar 20
Tabel 5.21 Tabel kecamatan
No Nama Field Tipe Panjang
Field Keterangan
1 id_kecamatan varchar 7 Primary Key
2 id_region varchar 3 Foreign Key
3 kecamatan varchar 25
4 kodepos varchar 7
Tabel 5.22 Tabel kelamin
No Nama Field Tipe Panjang
Field Keterangan
1 id_kelamin varchar 1 Primary Key
2 kelamin varchar 10
Tabel 5.23 Tabel kewarganegaraan
No Nama Field Tipe Panjang
Field Keterangan
1 id_warga varchar 2 Primary Key
2 kewarganegaraan varchar 5
56
Tabel 5.24 Tabel ktp
No Nama Field Tipe Panjang
Field Keterangan
1 no_ktp varchar 35 Primary Key
2 nik varchar 35 Foreign Key
3 tgl_pembuatan date
4 id_gol_dar varchar 3 Foreign Key
5 status_ktp varchar 20
Tabel 5.25 Tabel malang_region
No Nama Field Tipe Panjang
Field Keterangan
1 id_region varchar 3 Primary Key
2 region varchar 15
Tabel 5.26 Tabel master_kk
No Nama Field Tipe Panjang
Field Keterangan
1 id_kk varchar 35 Primary Key
2 alamat varchar 30
3 rt varchar 3
4 rw varchar 3
5 id_desa varchar 5 Foreign Key
6 id_kecamatan varchar 5 Foreign Key
7 keterangan text
8 status_kk varchar 10
Tabel 5.27 Tabel pekerjaan
No Nama Field Tipe Panjang
Field Keterangan
1 id_peker varchar 3 Primary Key
2 pekerjaan varchar 10
Tabel 5.28 Tabel pendidikan
No Nama Field Tipe Panjang
Field Keterangan
1 id_pend varchar 3 Primary Key
2 Pendidikan varchar 10
57
Tabel 5.29 Tabel penduduk
No Nama Field Tipe Panjang
Field Katerangan
1 nik varchar 35 Primary Key
2 id_kk varchar 35 Foreign Key
3 nama varchar 30
4 id_kelamin varchar 1 Foreign Key
5 tempat_lahir varchar 20
6 tgl_lahir date
7 id_agama varchar 3 Foreign Key
8 id_pend varchar 3 Foreign Key
9 id_peker varchar 3 Foreign Key
10 id_status varchar 3 Foreign Key
11 id_hub varchar 3 Foreign Key
12 id_warga varchar 2 Foreign Key
13 ayah varchar 30
14 ibu varchar 30
15 foto varchar 100
16 no_paspor varchar 20
17 no_kitaskitab varchar 20
18 no_akte varchar 30
19 ket text
20 status_pend varchar 20
Tabel 5.30 Tabel Status
No Nama Field Tipe
Panjang
Field
Keterangan
1 id_status varchar 3 Primary Key
2 status varchar 20
58
Tabel 5.31 Tabel anggota
No Nama Field Tipe
Panjang
Field
Keterangan
1 id_anggota varchar 7 Primary Key
2 Id_user varchar 10 Foreign Key
nama varchar 50
alamat varchar 50
jabatan varchar 100
foto varchar 50
Status_user varchar 10
5.7 Implementasi Program
5.7.1 Admin
Terdapat beberapa halaman yang berhak diakses hanya oleh
admin yaitu input data master, administrasi user, dan backup data.
Untuk mengakses halaman-halaman tersebut maka admin harus
login terlebih dahulu melalui login admin. Halaman login admin ini
berbeda dari halaman login user non-admin. Ketika admin sudah
login maka akan dapat mengakses dashboard admin yang berisi
menu web untuk admin.
5.7.1.1 Login Admin
Untuk dapat mengakses halaman dashboard admin, maka
terlebih dahulu admin melakukan login melalui URL :
http://localhost/Demografi/adminris. Adapun tampilan halaman
login admin dapat dilihat pada Gambar 5.22.
Gambar 5.22 Login Admin
Script untuk validasi login admin dapat dilihat pada Source Code 5.1
untuk Controller dan Source Code 5.2 untuk Model.
59
controller
function validation() {
$this->load-
>library('form_validation');
$this->form_validation-
>set_rules('username', 'Username',
'required');
$this->form_validation-
>set_rules('password', 'Password',
'required');
if ($_POST) {
echo $this->_is_postback();
}
else {
$this->_not_is_postback();
}
}
function _not_is_postback() {
$this->load->view("login_admin",
$data);
}
function _is_postback() {
if ($this->form_validation->run() ==
TRUE) { //load the model
$this->load->model('loginmod');
$result = $this->loginmod-
>log_adm($_POST['username'],
$_POST['password']);
if (!$result) {
$data['pesan'] =
"Password atau username anda salah";
$this->load-
>view('login_admin',$data);
}
else {
$username = $this-
>session->userdata('username');
$data['pesan'] =
60
"Welcome " . $username . "<br>" ;
$this->load-
>view('home', $data);
}
}
else
{
$data['pesan'] = "Password
atau username anda salah";
$this->load-
>view('login_admin',$data);
}
}
Source Code 5.1 Controller Login model
function attempt_login($username, $password) {
$username = $this->input-
>xss_clean($username);
$password = $this->input-
>xss_clean($password);
$newpass = md5($password);
//find a match in the database.
$query = $this->db->query("select
count(*) as total
from user
where
username ='".$username."'
and password
='".$newpass."' and id_user LIKE 'usr%';");
$row = $query->row();
if ($row->total == 1) {
$query2 = $this->db->query("SELECT
id_user AS idusr FROM user WHERE username
='".$username."'
and password
='".$newpass."' and id_user LIKE 'usr%'");
$row2 = $query2->row();
$idusr = $row2->idusr;
61
$this->session-
>set_userdata('username', $username);
$this->session-
>set_userdata('logged_in', TRUE);
$this->session-
>set_userdata('id_user', $idusr);
return true;
}
return false;
}
Source Code 5.2 Model Login
Setelah berhasil login maka admin dapat mengakses halaman
dashboard. Halaman dashboard dapat dilihat pada Gambar 5.23.
Gambar 5.23 DashboardAdmin
5.7.1.2 Administrasi User
Halaman Administrasi User adalah halaman dimana admin
dapat mengelola data user dengan cara menampilkan, menambah,
mengubah, dan menghapus data anggota. Halaman administrasi user
dapat dilihat pada Gambar 5.24.
62
Gambar 5.24 Administrasi User
Script Controller untuk menampilkan list user dapat dilihat pada
Source Code 5.3 controller
function list_user() {
$this->load->model('user_model',
'usr');
if($this->input->post('tambah'))
$this->usr->add_anggota();
$data['anggota'] = $this->usr-
>get_listUser();
$data['jumlah'] = $this->usr-
>get_jumAngg();
$this->load->view('list_user',
$data);
}
Source Code 5.3 Controller User
63
Script Model untuk menampilkan list user dapat dilihat pada Source
Code 5.4 model
function get_listUser() {
$query = $this->db->query("SELECT *
FROM anggota");
return $query->result();
}
function get_jumAngg() {
$query = $this->db->query("SELECT
COUNT(*) AS jumlah FROM anggota");
$jum = $query->row();
return $jum->jumlah;
}
Source Code 5.4 Model User
Script View untuk menampilkan list user dapat dilihat pada Source
Code 5.5 view
<table class="bagus" cellpadding="10"
cellspacing="2">
<tr
align="center"><th>No</th><th></th><th>Nama</t
h><th>Role</th><th></th></tr>
<?
$i = 1;
foreach($anggota as $angg) {
$tampil = "<tr align='center'><td>" . $i
. "</td><td>";
$foto = $angg->foto;
$path = "foto/".$foto;
$image = array('src'=>$path,
'width'=>'50', 'height'=>'50' );
$tampil .= img($image) ."</td><td><a
href='".base_url()."user/show_user/".$angg-
64
>id_anggota."'>". $angg->nama
."</a></td><td>". $angg->status_user
."</td><td><a
href='".base_url()."user/edit_user/".$angg-
>id_anggota."'>Edit</a> |
<a
href='".base_url()."user/hapus_user/".$angg-
>id_anggota."' onclick='return
confirmDelete()'>Hapus</a></td></tr>";
echo $tampil;
$i++;
}
?>
</table>
Source Code 5.5 View User
Adapun form input dari tambah user dapat dilihat pada Gambar 5.25
Gambar 5.25 Form Input Data User
65
Script Model untuk menampilkan tambah user dapat dilihat pada
Source Code 5.6 model
function add_anggota() {
$pass = md5($_POST["password"]);
$config['upload_path'] =
"./foto/";
$config['allowed_types'] =
'gif|jpg|jpeg';
$config['max_size'] = '2000';
$config['max_width'] = '2000';
$config['max_height']= '2000';
$config['overwrite']= 'TRUE';
$this->load->library('upload',
$config);
$this->upload->do_upload("foto");
$data = $this->upload->data();
$foto = $data['file_name'];
$query = $this->db->query("INSERT
INTO anggota VALUES ('$_POST[idangg]',
'$_POST[iduser]', '$_POST[nama]',
'$_POST[alamat]', '$_POST[jabatan]', '$foto',
'$_POST[role]')");
$query2 = $this->db->query("INSERT
INTO user VALUES ('$_POST[iduser]',
'$_POST[username]', '$pass')");
return true;
}
Source Code 5.6 Model User
5.7.1.3 Backup Data
Pada halaman dashboard admin, terdapat menu Backup Data,
akan tetapi untuk menu ini tidak ada halaman khususnya. Admin
hanya meng-klik menu tersebut dan selanjutnya backup database
akan otomatis ter-download. Tampilan window untuk men-
download backup database dapat dilihat pada Gambar 5.26.
66
Gambar 5.26 Backup Data
Script Controller untuk melakukan backup data dapat dilihat pada
Source Code 5.7 Controller
function backup() {
$tanggal = date("d-m-Y");
$namaFile = $tanggal .
"log.sql.zip";
$this->load->dbutil();
$backup=& $this->dbutil->backup();
force_download($namaFile, $backup);
}
Source Code 5.7 Controller Backup
5.7.1.4 Input Data Master
Pada Menu Input Data Penduduk, akan dijumpai link yang akan
menuju ke halaman input data master. Pada input data master ini
terdiri dari input data kecamatan, desa, agama, pekerjaan,
pendidikan. Form Input Data Master dapat dilihat pada Gambar 5.27
67
Gambar 5.27 Form Input Data Master
Script Controller untuk melakukan input data master dan menyimpan
dalam database dapat dilihat pada Source Code 5.8 Controller
function input_master() {
$this->load->model('penduduk',
'pend');
$data['pesan'] = "";
$data['jumKec'] = $this->pend-
>get_jumKec();
$data['jumDesa'] = $this->pend-
>get_jumDesa();
$data['jumPend'] = $this->pend-
>get_jumPend();
$data['jumPeker'] = $this->pend-
>get_jumPeker();
$data['jumAgm'] = $this->pend-
>get_jumAgm();
68
if ($this->input->post('okKec')) {
$idkec = $_POST['idkec'];
$kec = $_POST['namkec'];
$region = $_POST['region1'];
$kdpos = $_POST['kdpos'];
$this->pend-
>masuk_kec($idkec, $kec, $region, $kdpos);
$data['pesan'] = "Data
Kecamatan Telah Ditambahkan";
}
else if ($this->input-
>post('okDesa')) {
$iddesa = $_POST['iddesa'];
$kec = $_POST['kec'];
$namdesa = $_POST['namdesa'];
$rt = $_POST['rt'];
$rw = $_POST['rw'];
$this->pend-
>masuk_desa($iddesa, $kec, $namdesa, $rt,
$rw);
$data['pesan'] = "Data Desa
Telah Ditambahkan";
}
else if ($this->input-
>post('okPend')) {
$idpend = $_POST['idpend'];
$nampend = $_POST['nampend'];
$this->pend-
>masuk_pend($idpend, $nampend);
$data['pesan'] = "Data
Pendidikan Telah Ditambahkan";
}
else if ($this->input-
>post('okPeker')) {
$idpeker = $_POST['idpeker'];
$nampeker =
$_POST['nampeker'];
$this->pend-
>masuk_peker($idpeker, $nampeker);
69
$data['pesan'] = "Data
Pekerjaan Telah Ditambahkan";
}
else if ($this->input-
>post('okAgm')) {
$idagm = $_POST['idagm'];
$namagm = $_POST['namagm'];
$this->pend-
>masuk_agm($idagm, $namagm);
$data['pesan'] = "Data Agama
Telah Ditambahkan";
}
$this->load->view('input_master',
$data);
}
Source Code 5.8 Controller Input Master
Script Model untuk melakukan input data master dan menyimpan
dalam database dapat dilihat pada Source Code 5.9 Model
function masuk_desa($iddesa, $kec, $namdesa,
$rt, $rw) {
$query = $this->db->query("INSERT
INTO desa VALUES ('$iddesa', '$kec',
'$namdesa', '$rt', '$rw')");
}
Source Code 5.9 Model Input Master
5.7.2 Pengolahan Data Penduduk
Pengolahan data penduduk terdiri dari input data dan update
data. Input data terdiri dari input data anggota KK, input KK dan
input KTP.
5.7.2.1 Form Input Data Anggota KK
Halaman Form Input Data anggota KK terdiri dari input sudah
terdaftar dan belum terdaftar. Sudah terdaftar menunjukkan bawa
penduduk yang bersangkutan sudah terdaftar di dalam Kartu
Keluarga dan akan dipindahkan ke KK yang lain, misalnya karena
menikah dan pindah tempat tinggal dengan keluarga yang berbeda.
70
Sedangkan untuk anggota KK yang belum terdaftar maka diisikan
data pada form yang disediakan dengan terlebih dahulu memilih
nomor KK yang akan dimasuki. Form input data anggota KK dapat
dilihat pada Gambar 5.28.
Gambar 5.28 Form Input Data Anggota KK
5.7.2.2 Form Input Data KK
Halaman Form Input Data KK terdiri dari input data sudah
terdaftar dan belum terdaftar. Sudah terdaftar artinya KK yang
71
bersangkutan sudah ada dalam database, tetapi keluarga yang
bersangkutan akan berganti KK misalnya pindah tempat tinggal
maka harus membuat KK baru yang sesuai dengan tempat tinggal
yang baru. Form input data KK dapat dilihat pada Gambar 5.29.
Gambar 5.29 Form Input Data KK
5.7.2.3 Input Data KTP
Halaman Form Input Data KTP terdiri dari input data sudah
terdaftar dan belum terdaftar. Sudah terdaftar artinya KTP yang
bersangkutan sudah ada dalam database, tetapi karena pindah tempat
tinggal atau lain hal maka KTP harus diperbarui. Form input data
KTP dapat dilihat pada Gambar 5.30.
72
Gambar 5.30 Form Input KTP
5.7.2.4 Update Data
Untuk update data, maka dilakukan pencarian data terlebih
dahulu. Pencarian data dapat berupa memasukkan langsung NIK dan
nama yang akan dicari atau memilih NIK dan nama yang sudah ada
dalam database. Form pencarian data penduduk dapat dilihat pada
Gambar 5.31.
Gambar 5.31 Form Pencarian Data Penduduk
73
5.7.2.5 View Hasil Pencarian
Berikut ini adalah halaman hasil pencarian dengan memasukkan
nama “newman”. Dari halaman ini, user admin dan pegawai dapat
melihat link update KK, update KTP, dan Update data penduduk
sedangkan pada user viewer tidak disediakan link update. Halaman
hasil pencarian dapat dilihat pada Gambar 5.32.
Gambar 5.32 View Hasil pencarian
74
5.7.2.6 View KTP
Halaman ini menampilkan data KTP yang dicari. Tampilan dari
halaman ini didesain sesuai dengan tampilan KTP yang
sesungguhnya. Halaman yang menampilkan KTP dapat dilihat pada
Gambar 5.33.
Gambar 5.33 View Data KTP
5.7.2.6 View KK
Halaman ini menampilkan data KK yang dicari. Tampilan dari
halaman ini didesain sesuai dengan tampilan KK yang
sesungguhnya. Halaman yang menampilkan KK dapat dilihat pada
Gambar 5.34.
75
Gambar 5.34 View data KK
5.7.3 Statistik Data
5.7.3.1 View Jumlah Penduduk Berdasarkan Wilayah
Halaman ini menampilkan statistic data jumlah penduduk
berdasarkan malang region, kecamatan, dan desa. Halaman ini
bersifat dinamis sesuai dengan pertambahan data dalam database.
Dari tabel yang ada dapat dilihat pula gambaran secara menyeluruh
prosentase statistik data penduduk yang berupa pie chart (diagram
bundar). Halaman View Jumlah Penduduk Berdasarkan Wilayah
(Malang Region) dapat dilihat pada Gambar 5.35.
76
Gambar 5.35 Statistik Data Penduduk Berdasarkan Wilayah
Halaman View Jumlah Penduduk Berdasarkan Wilayah (kecamatan)
dapat dilihat pada Gambar 5.36.
77
Gambar 5.36 Statistik Data Penduduk Berdasarkan Wilayah
(Kecamatan)
5.7.3.2 View Jumlah Penduduk Berdasarkan Usia dan Jenis
Kelamin
Halaman ini menampilkan statistik data jumlah penduduk
berdasarkan usia dan jenis kelamin. Halaman ini bersifat dinamis
sesuai dengan pertambahan data dalam database. Halaman View
Jumlah Penduduk Berdasarkan Usia dan Jenis Kelamin dapat dilihat
pada Gambar 5.37.
78
Gambar 5.37 Statistik Data Penduduk Berdasarkan Umur dan
Kelamin
5.7.3.3 View Jumlah Penduduk Berdasarkan Agama
Halaman ini menampilkan statistik data jumlah penduduk
berdasarkan agama. Halaman ini bersifat dinamis sesuai dengan
pertambahan data dalam database. Halaman View Jumlah Penduduk
Berdasarkan Agama dapat dilihat pada Gambar 5.38.
79
Gambar 5.38 Statistik Data Penduduk Berdasarkan Agama
5.7.3.4 View Jumlah Penduduk Berdasarkan Pendidikan
Halaman ini menampilkan statistik data jumlah penduduk
berdasarkan pendidikan. Halaman ini bersifat dinamis sesuai dengan
pertambahan data dalam database. Halaman View Jumlah Penduduk
Berdasarkan Pendidikan dapat dilihat pada Gambar 5.39.
80
Gambar 5.39 Statistik Data Penduduk Berdasarkan Pendidikan
5.7.3.5 View Jumlah Penduduk Berdasarkan Pekerjaan
Halaman ini menampilkan statistik data jumlah pekerjaan
berdasarkan pendidikan. Halaman ini bersifat dinamis sesuai dengan
pertambahan data dalam database. Halaman View Jumlah Penduduk
Berdasarkan Pekerjaan dapat dilihat pada Gambar 5.40.
81
Gambar 5.40 Statistik Data Penduduk Berdasarkan Pekerjaan
Script Controller untuk menghitung statistik jumlah penduduk
berdasarkan wilayah dapat dilihat pada Source Code 5.10 Controller
function populasi() {
$this->load->model('penduduk',
'pend');
$idregion = 'R1';
$idregion2 = 'R2';
$jumAll = $this->pend-
>get_jumPendAll();
$data['jumAll'] = $this->pend-
>get_jumPendAll();
$data['jumPend'] = $this->pend-
>get_jumPendWil($idregion);
$data['jumPend2'] = $this->pend-
>get_jumPendWil($idregion2);
$data['dataJumKecKota'] = $this-
>pend->get_jumPendKec($idregion);
$data['dataJumKecKab'] = $this-
82
>pend->get_jumPendKec($idregion2);
$data['gambar'] = $this-
>bikin_chart_mlg('chart-kab-kota.png');
$data['gambar2'] = $this-
>bikin_chart_kec('R1', 'chart-kec-kota.png');
$data['gambar3'] = $this-
>bikin_chart_kec('R2', 'chart-kec-kab.png');
//$data['gambar'] = $this-
>generate_chart_database();
$this->load->view('stat_pend',
$data);
}
function populasi_kecamatan($idkec) {
$this->load->model('penduduk',
'pend');
$data['desakec'] = $this->pend-
>get_jumPendDesa($idkec);
$jumPendKec = $this->pend-
>get_jumPendKec($idkec);
$data['namaKec'] = $this->pend-
>get_namaKec($idkec);
$data['jumPendKec'] = $this->pend-
>get_jumPendKecam($idkec);
$data['gambar'] = $this-
>bikin_chart_desa($idkec, 'chart-desa-
'.$idkec.'.png');
$this->load->view('populasiKec',
$data);
}
Source Code 5.10 Controller Statistik Wilayah
Script Model untuk menghitung statistik jumlah penduduk
berdasarkan wilayah dapat dilihat pada Source Code 5.11 Model
function get_jumPendKec($idregion) {
$query = $this->db->query("SELECT
COUNT(*) AS jumlah, kecamatan.id_kecamatan,
kecamatan.kecamatan FROM
penduduk, master_kk, kecamatan,
83
malang_region WHERE
penduduk.id_kk=master_kk.id_kk AND
master_kk.id_kecamatan=kecamatan.id_kecamatan
AND
kecamatan.id_region=malang_region.id_reg
ion AND malang_region.id_region='$idregion'
GROUP BY kecamatan.id_kecamatan");
return $query->result();
}
Source Code 5.11 Model Statistik Wilayah
Script Controller untuk membuat pie chart dapat dilihat pada Source
Code 5.12 controller
function bikin_chart_kec($idregion, $file)
{
$this->load->model('penduduk',
'pend');
$data = $this->pend-
>jumKecChart($idregion);
$this->load->plugin('chart');
create_bar_chart("Prosentase Jumlah
Penduduk Berdasarkan Kecamatan",$data,450,250,
$file);
return $file;
}
Source Code 5.12 Controller Pie chart
Script Fungsi pada Library untuk membuat pie chart dapat dilihat
pada Source Code 5.13 Fungsi Library
function
create_bar_chart($title,$data,$x=500,$y=300,
$renderfile)
{
$chart = new PieChart($x,$y);
$dataSet = new XYDataSet();
foreach ($data as $value)
{
84
$dataSet->addPoint(new
Point($value->label . "(".$value->jumlah . ")"
, $value->jumlah));
}
$chart->setDataSet($dataSet);
$chart->setTitle($title);
return $chart-
>render("chart/".$renderfile);
}
Source Code 5.13 Fungsi Library Pie Chart