Sistem Informasi Kependudukan Bab5

60
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.

description

Bab V. Laporan Praktek Kerja Lapang - Sistem Informasi Kependudukan. Program berupa sistem informasi kependudukan berbasis web.

Transcript of Sistem Informasi Kependudukan Bab5

Page 1: Sistem Informasi Kependudukan Bab5

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.

Page 2: Sistem Informasi Kependudukan Bab5

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.

Page 3: Sistem Informasi Kependudukan Bab5

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

Page 4: Sistem Informasi Kependudukan Bab5

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.

Page 5: Sistem Informasi Kependudukan Bab5

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

Page 6: Sistem Informasi Kependudukan Bab5

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.

Page 7: Sistem Informasi Kependudukan Bab5

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.

Page 8: Sistem Informasi Kependudukan Bab5

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

Page 9: Sistem Informasi Kependudukan Bab5

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

Page 10: Sistem Informasi Kependudukan Bab5

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.

Page 11: Sistem Informasi Kependudukan Bab5

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

Page 12: Sistem Informasi Kependudukan Bab5

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

Page 13: Sistem Informasi Kependudukan Bab5

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.

Page 14: Sistem Informasi Kependudukan Bab5

38

Page 15: Sistem Informasi Kependudukan Bab5

39

Page 16: Sistem Informasi Kependudukan Bab5

40

Page 17: Sistem Informasi Kependudukan Bab5

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.

Page 18: Sistem Informasi Kependudukan Bab5

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

Page 19: Sistem Informasi Kependudukan Bab5

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

+

Page 20: Sistem Informasi Kependudukan Bab5

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

Page 21: Sistem Informasi Kependudukan Bab5

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

Page 22: Sistem Informasi Kependudukan Bab5

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

Page 23: Sistem Informasi Kependudukan Bab5

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

Page 24: Sistem Informasi Kependudukan Bab5

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

Page 25: Sistem Informasi Kependudukan Bab5

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

Page 26: Sistem Informasi Kependudukan Bab5

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

Page 27: Sistem Informasi Kependudukan Bab5

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

Page 28: Sistem Informasi Kependudukan Bab5

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

Page 29: Sistem Informasi Kependudukan Bab5

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

Page 30: Sistem Informasi Kependudukan Bab5

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

Page 31: Sistem Informasi Kependudukan Bab5

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

Page 32: Sistem Informasi Kependudukan Bab5

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

Page 33: Sistem Informasi Kependudukan Bab5

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

Page 34: Sistem Informasi Kependudukan Bab5

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.

Page 35: Sistem Informasi Kependudukan Bab5

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'] =

Page 36: Sistem Informasi Kependudukan Bab5

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;

Page 37: Sistem Informasi Kependudukan Bab5

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.

Page 38: Sistem Informasi Kependudukan Bab5

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

Page 39: Sistem Informasi Kependudukan Bab5

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-

Page 40: Sistem Informasi Kependudukan Bab5

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

Page 41: Sistem Informasi Kependudukan Bab5

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.

Page 42: Sistem Informasi Kependudukan Bab5

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

Page 43: Sistem Informasi Kependudukan Bab5

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();

Page 44: Sistem Informasi Kependudukan Bab5

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);

Page 45: Sistem Informasi Kependudukan Bab5

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.

Page 46: Sistem Informasi Kependudukan Bab5

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

Page 47: Sistem Informasi Kependudukan Bab5

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.

Page 48: Sistem Informasi Kependudukan Bab5

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

Page 49: Sistem Informasi Kependudukan Bab5

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

Page 50: Sistem Informasi Kependudukan Bab5

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.

Page 51: Sistem Informasi Kependudukan Bab5

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.

Page 52: Sistem Informasi Kependudukan Bab5

76

Gambar 5.35 Statistik Data Penduduk Berdasarkan Wilayah

Halaman View Jumlah Penduduk Berdasarkan Wilayah (kecamatan)

dapat dilihat pada Gambar 5.36.

Page 53: Sistem Informasi Kependudukan Bab5

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.

Page 54: Sistem Informasi Kependudukan Bab5

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.

Page 55: Sistem Informasi Kependudukan Bab5

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.

Page 56: Sistem Informasi Kependudukan Bab5

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.

Page 57: Sistem Informasi Kependudukan Bab5

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-

Page 58: Sistem Informasi Kependudukan Bab5

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,

Page 59: Sistem Informasi Kependudukan Bab5

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)

{

Page 60: Sistem Informasi Kependudukan Bab5

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