Anda di halaman 1dari 104

LAPORAN AKHIR

SISTEM INFORMASI PENGELOLAAN DATA WARGA


KELURAHAN SETONOGEDONG
BERBASIS ANDROID

Oleh :
ERLANG DHIKA WILIS MAHENDRA
NIM. 1931733121

DOSEN PEBIMBING :
AGUSTONO HERIADI ,S.ST.,M.Kom.
NIDN. 0709128502

PROGRAM STUDI D-III MANAJEMEN INFORMATIKA


PSDKU POLINEMA DI KOTA KEDIRI
POLITEKNIK NEGERI MALANG
KEDIRI
2020

i
SISTEM INFORMASI PENGELOLAAN DATA WARGA
KELURAHAN SETONOGEDONG
BERBASIS ANDROID

LAPORAN AKHIR
Digunakan Sebagai Syarat Maju Ujian Diploma III
Politeknik Negeri Malang

Oleh :
ERLANG DHIKA WILIS MAHENDRA
NIM. 1931733121

PROGRAM STUDI D-III MANAJEMEN INFORMATIKA


PSDKU POLINEMA DI KOTA KEDIRI
POLITEKNIK NEGERI MALANG
KEDIRI
2020

ii
HALAMAN PENGESAHAN

SISTEM INFORMASI PENGELOLAAN DATA WARGA


KELURAHAN SETONOGEDONG
BERBASIS ANDROID

Disusun Oleh :
ERLANG DHIKA WILIS MAHENDRA NIM. 1931733121

Laporan Akhir ini telah di Uji pada Tanggal: ___________________


Disetujui Oleh :

Dewan Penguji :
1. Agustono Heriadi, S.ST.,M.Kom. _____________(Pembimbing)
NIDN. 0709128502

2. Rinanza Zulmy Alhamri ,S.Kom.,M.Kom _______________(Penguji 1)


NIDN. 0710049004

3. Fikha Rizky Aullia, M.Pd ________________(Penguji 2)


NIDN.

Mengetahui, Menyetujui,
Koordinator Ketua Program Studi
PSDKU POLINEMA di Kota Kediri, Manajemen Informatika,

Dandung Novianto, S.T., M.T. Fadelis Sukya, S.Kom., M.Cs.


NIP. 196411051990031003 NIDN. 0730038201

iii
PERNYATAAN

Dengan ini saya menyatakan bahwa Laporan Akhir ini tidak terdapat karya
yang pernah diajukan untuk memperoleh gelar Ahli Madya / Sarjana Terapan di
Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Kediri, 20 Juli 2021

Erlang Dhika Wilis Mahendra

iv
ABSTRAK

Mahendra, Erlang D.W. “Sistem Informasi Pengelolaan Data Warga Kelurahan


Setonogedong Berbasis Android”. Pembimbing: Agustono Heriadi ,S.ST.,M.Kom.

Laporan Akhir, program Studi D-III Manajemen Informatika, Jurusan


Teknologi Informasi, PSDKU Kediri Politeknik Negeri Malang, 2021.

Pengelolaan data warga pada Kelurahan Setonogedong masih dilakukan secara semi
manual. Artinya untuk pengumpulan berkas berkas masih secara manual kemudian
akan didata satu persatu hingga tersusun rapi. Lalu untuk penyajian dan pengelolaan
data warga menggunakan aplikasi Microsoft Excel sehingga data yang ditampilkan
kurang tertata rapid an kurang bagus dalam tampilannya. Kemudian untuk
pengecekan data warga akan kembali mengumpulkan ulang berkas berkas yang
sebenarnya tidak diperlukan.
Oleh karena itu, perlu adanya Pengembangan Sistem Informasi Pengelolaan Data
Warga Kelurahan Setonogedong. Penelitian dilakukan menggunakan metode
pengambilan data dan metode pengembangan sistem. Metode pengambilan data
dilakukan dengan wawancara, observasi, dokumen dan studi pustaka. Sedangkan
metode pengembangan sistem menggunakan metode SDLC. Sistem dirancang dan
diimplementasikan menggunakan android studio dengan bahasa pemrograman kotlin.

Kata Kunci : Sistem Informasi, Penduduk, Android, Kotlin, Kelurahan


Setonogedong.

v
ABSTRACT

Mahendra, Erlang D.W. " Data Management Information System for Residents of
Setonogedong Village Based on Android ". Counseling Lecturer : Agustono Heriadi
,S.ST.,M.Kom.

Final Report, D-III Informatics Management Study Program, Information


Technology Department, PSDKU Kediri State Polytechnic of Malang, 2021.

The management of citizen data in Setonogedong Village is still done semi-manually.


This means that for the collection of files it is still manually then it will be recorded
one by one until it is neatly arranged. Then for the presentation and management of
citizen data using the Microsoft Excel application so that the data displayed is less
organized and not good in appearance. Then to check the data again, residents will
re-collect files that are not actually needed.
Therefore, it is necessary to develop an Information System for Data Management of
Setonogedong Village residents. The research was conducted using data collection
methods and system development methods. Methods of collecting data were
interviews, observations, documents and literature studies. While the system
development method uses the SDLC method. The system is designed and implemented
using Android Studio with the Kotlin programming language.

Keywords : Information System, Population, Android, Kotlin, Setonogedong Village.

vi
KATA PENGANTAR

Puji Syukur penulis panjatkan kehadirat Allah SWT atas segala rahmat dan
hidayah-Nya penulis dapat menyelesaikan laporan akhir dengan judul “SISTEM
INFORMASI PENGELOLAAN DATA WARGA KELURAHAN
SETONOGEDONG BERBASIS ANDROID”. Laporan akhir ini penulis susun
sebagai persyaratan untuk menyelesaikan studi program Diploma III Program Studi
Manajemen Informatika, Jurusan Teknologi Informasi, Politeknik Negeri Malang.
Penulis menyadari tanpa adanya dukungan dan kerja sama dari berbagai pihak,
penyusunan laporan akhir ini tidak dapat berjalan dengan baik. Untuk itu, penulis
menyampaikan rasa hormat dan terima kasih kepada:
1. Bapak Dandung Novianto, S.T., M.T., selaku Koordinator PSDKU Polinema
Kediri
2. Bapak Fadelis Sukya, S.Kom.,M.Cs., selaku ketua program studi Manajemen
Informatika
3. Bapak Agustono Heriadi ,S.ST.,M.Kom., selaku dosen pembimbing tugas akhir
4. Seluruh dosen program studi Manajemen Informatika PSDKU Polinema Kediri
5. Seluruh staf program studi Manajemen Informatika dan seluruh pegawai
PSDKU Polinema Kediri
6. Kedua orang tua, keluarga dan saudara yang telah memberikan semangat dan
doa.
7. Semua mahasiswa program studi Manajemen Informatika, khususnya teman-
teman kelas 3E tercinta.
8. Dan seluruh pihak yang telah membantu dan mendukung lancarnya pembuatan
Laporan Akhir dari awal hingga akhir yang tidak dapat penulis sebutkan satu
persatu.
Penulis menyadari bahwa dalam penyusunan laporan akhir ini, masih
banyak terdapat kekurangan dan kelemahan yang dimiliki penulis baik itu
sistematika penulisan maupun penggunaan bahasa. Untuk itu penulis
mengharapkan saran dan kritik dari berbagai pihak yang bersifat membangun

vii
demi penyempurnaan laporan ini. Semoga laporan ini berguna bagi pembaca
secara umum dan penulis secara khusus. Akhir kata, penulis ucapkan banyak
terima kasih

Kediri, 17 Juni 2021

Penulis

viii
DAFTAR ISI

HALAMAN SAMPUL .................................................................................................. i


HALAMAN JUDUL..................................................................................................... ii
HALAMAN PENGESAHAN ...................................................................................... iii
PERNYATAAN ........................................................................................................... iv
ABSTRAK .................................................................................................................... v
ABSTRACT ................................................................................................................... vi
KATA PENGANTAR ................................................................................................ vii
DAFTAR ISI ................................................................................................................ ix
DAFTAR GAMBAR ................................................................................................. xiii
DAFTAR TABEL ....................................................................................................... xv
BAB I PENDAHULUAN ............................................................................................. 1
1.1 Latar Belakang ............................................................................................... 1
1.2 Rumusan masalah ........................................................................................... 2
1.3 Batasan Masalah ............................................................................................. 2
1.4 Tujuan Penelitian ............................................................................................ 2
1.5 Sistematika Penulisan ..................................................................................... 2
BAB II TINJAUAN PUSTAKA.................................................................................. 4
2.1 Peneliatan yang Relevan ................................................................................ 4
2.2 Landasan Teori ............................................................................................... 7
2.2.1 Sistem Informasi ..................................................................................... 7
2.2.2 Penduduk ................................................................................................. 8
2.2.3 Android ................................................................................................... 8
2.2.4 Android Studio ........................................................................................ 9
2.2.5 QR Code .................................................................................................. 9
2.2.6 Google Maps ......................................................................................... 10
2.2.7 Kotlin .................................................................................................... 11
2.2.8 Use Case Diagram ................................................................................ 11

ix
2.2.9 Activity Diagram ................................................................................... 13
BAB III ANALISIS DAN PERANCANGAN ........................................................... 15
3.1 Analisis Permasalahan .................................................................................. 15
3.2 Analisis Pemecahan Masalah ....................................................................... 15
3.2.1 Metode Pengambilan Data (user requirement) ..................................... 16
3.2.2 Metode Pengembangan Sistem ............................................................. 16
3.2.3 Analisis Kebutuhan Sistem (fungsional dan non fungsional) ............... 18
3.3 Perancangan Sistem ...................................................................................... 20
3.3.1 Use Case Diagram ................................................................................ 20
3.3.2 Activity Diagram ................................................................................... 22
3.3.3 Sequence Diagram ................................................................................ 26
3.3.4 Relasi Antar Tabel................................................................................. 32
3.3.5 Arsitektur Sistem................................................................................... 32
3.3.6 Antarmuka Aplikasi (User Interface) ................................................... 33
3.4 Pengujian Sistem .......................................................................................... 39
BAB IV IMPLEMENTASI ........................................................................................ 41
4.1 Implementasi Proses ..................................................................................... 41
4.1.1 Halaman Login ...................................................................................... 41
4.1.2 Halaman Utama Petugas ....................................................................... 42
4.1.3 Halaman Utama Kepala Kelurahan ....................................................... 44
4.1.4 Halaman Penduduk Petugas .................................................................. 45
4.1.5 Halaman Detail Penduduk Petugas ....................................................... 48
4.1.6 Halaman Lokasi Penduduk Petugas ...................................................... 49
4.1.7 Halaman KK Petugas ............................................................................ 51
4.1.8 Halaman Anggota KK Petugas ............................................................. 54
4.1.9 Halaman Lokasi KK Petugas ................................................................ 56
4.1.10 Halaman Hasil QR Code Petugas .......................................................... 58
4.1.11 Halaman Penduduk Kepala Kelurahan ................................................. 59
4.1.12 Halaman Detail Penduduk Kepala Kelurahan....................................... 61
4.1.13 Halaman KK Kepala Kelurahan............................................................ 63

x
4.1.14 Halaman Anggota KK Kepala Kelurahan ............................................. 65
4.1.15 Halaman Laporan Kepala Kelurahan .................................................... 66
4.1.16 Halaman Import Data ............................................................................ 68
4.2 Implementasi Data ........................................................................................ 70
4.2.1 Tabel Warga .......................................................................................... 70
4.2.2 Tabel KK ............................................................................................... 71
4.2.3 Tabel Lapor ........................................................................................... 72
BAB V PENGUJIAN DAN PEMBAHASAN ........................................................... 73
5.1 Skenario Uji Coba ........................................................................................ 73
5.1.1 Pengujian Login .................................................................................... 73
5.1.2 Pengujian Menampilkan Data Penduduk Petugas................................. 74
5.1.3 Pengujian Mencari Data Penduduk Petugas ......................................... 74
5.1.4 Pengujian Menampilkan Detail Data Penduduk Petugas ...................... 75
5.1.5 Pengujian Menampilkan Lokasi Penduduk Petugas ............................. 76
5.1.6 Pengujian Menampilkan Data KK Petugas ........................................... 76
5.1.7 Pengujian Mencari Data KK Petugas .................................................... 77
5.1.8 Pengujian Menampilkan Data Anggota KK Petugas ............................ 78
5.1.9 Pengujian Menampilkan Lokasi KK Petugas ....................................... 78
5.1.10 Pengujian Scan QR Code Petugas ......................................................... 79
5.1.11 Pengujian Hasil Scan QR Code Petugas ............................................... 80
5.1.12 Pengujian Menampilkan Data Penduduk Kepala Kelurahan ................ 80
5.1.13 Pengujian Mencari Data Penduduk Kepala Kelurahan ......................... 81
5.1.14 Pengujian Menampilkan Detail Data Penduduk Kepala Kelurahan ..... 82
5.1.15 Pengujian Menampilkan Data KK Kepala Kelurahan .......................... 82
5.1.16 Pengujian Mencari Data KK Kepala Kelurahan ................................... 83
5.1.17 Pengujian Menampilkan Anggota KK Kepala Kelurahan .................... 84
5.1.18 Pengujian Menampilkan Data Laporan ................................................. 84
5.1.19 Pengujian Import Data .......................................................................... 85
5.2 Analisis Hasil Pengujian .............................................................................. 86
BAB VI KESIMPULAN............................................................................................ 88

xi
6.1 Kesimpulan ................................................................................................... 88
6.2 Saran ............................................................................................................. 88
DAFTAR PUSTAKA ................................................................................................. 89

xii
DAFTAR GAMBAR

Gambar 2.1 Contoh QR Code ..................................................................................... 10


Gambar 2.2 Contoh Use Case ..................................................................................... 13
Gambar 3. 1 Use Case Diagram .................................................................................. 21
Gambar 3. 2 Activity Diagram Login ......................................................................... 23
Gambar 3. 3 Activity Diagram Mengelola Data KK .................................................. 24
Gambar 3. 4 Activity Diagram Mengelola Data Anggota Keluarga ........................... 25
Gambar 3.5 Activity Diagram Scan Qr Code ............................................................. 26
Gambar 3.6 Sequence Diagram Login ........................................................................ 27
Gambar 3.7 Sequence Diagram Logout ...................................................................... 27
Gambar 3.8 Sequence Diagram Lihat Data KK .......................................................... 28
Gambar 3.9 Sequence Diagram Lokasi Data .............................................................. 29
Gambar 3.10 Sequence Diagram Cari Data KK ......................................................... 29
Gambar 3.11 Sequence Diagram Lihat Data Anggota ................................................ 30
Gambar 3.12 Sequence Diagram Cari Data Anggota ................................................. 31
Gambar 3.13 Sequence Diagram Scan QR Code ........................................................ 31
Gambar 3.14 Relasi Antar Tabel ................................................................................. 32
Gambar 3.15 Arsitektur Sistem ................................................................................... 33
Gambar 3.16 Desain Antarmuka Login ...................................................................... 34
Gambar 3.17 Desain Antarmuka Dashboard User ...................................................... 34
Gambar 3.18 Desain Antarmuka Data KK ................................................................. 35
Gambar 3.19 Desain Antarmuka Detail Data KK ....................................................... 36
Gambar 3.20 Desain Antarmuka Data Anggota ......................................................... 36
Gambar 3.21 Desain Antarmuka Detail Data Anggota ............................................... 37
Gambar 3.22 Desain Antarmuka Scan QR Code ........................................................ 37
Gambar 3.23 Hasil Scan QR Code.............................................................................. 38
Gambar 3.24 Desain Antarmuka Map Kartu Keluarga ............................................... 38
Gambar 3.25 Hasil dari Map Kartu Keluarga ............................................................. 39
Gambar 4.1 Halaman Login ........................................................................................ 41
Gambar 4.2 Halaman Utama Petugas ......................................................................... 43
Gambar 4.3 Halaman Utama Kepala Kelurahan ........................................................ 44
Gambar 4.4 Halaman Penduduk Petugas .................................................................... 46
Gambar 4.5 Halaman Detail Penduduk Petugas ......................................................... 48
Gambar 4.6 Halaman Lokasi Penduduk Petugas ........................................................ 50
Gambar 4.7 Halaman KK Petugas .............................................................................. 52
Gambar 4.8 Halaman Anggota KK Petugas ............................................................... 54
Gambar 4.9 Halaman Lokasi KK Petugas .................................................................. 56
Gambar 4.10 Halaman Hasil QR Code Petugas.......................................................... 58
Gambar 4.11 Halaman Penduduk Kepala Kelurahan ................................................. 60
Gambar 4.12 Halaman Detail Penduduk Kepala Kelurahan ....................................... 62
Gambar 4.13 Halaman KK Kepala Kelurahan ............................................................ 64
Gambar 4.14 Halaman Anggota KK Kepala Kelurahan ............................................. 65

xiii
Gambar 4.15 Halaman Laporan Kepala Kelurahan .................................................... 67
Gambar 4.16 Halaman Import Data ............................................................................ 69
Gambar 4.17 Tabel Warga .......................................................................................... 70
Gambar 4.18 Tabel KK ............................................................................................... 71
Gambar 4.19 Tabel Lapor ........................................................................................... 72
Gambar 5.1 Halaman Login ........................................................................................ 73
Gambar 5.2 Halaman Menampilkan Data Penduduk Petugas .................................... 74
Gambar 5.3 Halaman Mencari Data Penduduk Petugas ............................................. 75
Gambar 5.4 Halaman Menampilkan Detail Data Penduduk Petugas ......................... 75
Gambar 5.5 Halaman Menampilkan Penduduk Petugas ............................................. 76
Gambar 5.6 Halaman Menampilkan Data KK Petugas .............................................. 77
Gambar 5.7 Halaman Mencari Data KK Petugas ....................................................... 77
Gambar 5.8 Halaman Menampilkan Data Anggota KK Petugas ................................ 78
Gambar 5.9 Halaman Menampilkan Lokasi KK Petugas ........................................... 79
Gambar 5.10 Halaman Scan QR Code Petugas .......................................................... 79
Gambar 5.11 Halaman Hasil Scan QR Code Petugas ................................................. 80
Gambar 5.12 Halaman Menampilkan Data Penduduk Kepala Kelurahan .................. 81
Gambar 5.13 Halaman Mencari Data Penduduk Kepala Kelurahan ........................... 81
Gambar 5.14 Halaman Menampilkan Detail Data Penduduk Kepala Kelurahan ....... 82
Gambar 5.15 Halaman Menampilkan Data KK Kepala Kelurahan ............................ 83
Gambar 5.16 Halaman Mencari Data KK Kepala Kelurahan ..................................... 83
Gambar 5.17 Halaman Menampilkan Anggota KK Kepala Kelurahan ..................... 84
Gambar 5.18 Halaman Menampilkan Data Laporan .................................................. 85
Gambar 5.19 Halaman Menampilkan Data Laporan .................................................. 85

xiv
DAFTAR TABEL

Table 2.1 Simbol-Simbol Use Case Diagram ............................................................. 12


Table 2.2 Simbol-Simbol Activty Diagram ................................................................ 14
Table 3.1 Definisi Aktor ............................................................................................. 21
Table 3.2 Definisi Use Case ........................................................................................ 22
Table 3.3 Pengujian Sistem Informasi Kependudukan ............................................... 39
Table 5.1 Tabel Pengujian Black Box......................................................................... 86

xv
BAB I
PENDAHULUAN

1.1 Latar Belakang


Perkembangan ilmu Teknologi Informasi mengalami kemajuan yang sangat
signifikan sehingga hal ini memudahkan manusia untuk mengetahui informasi dari
berbagai belahan dunia. Perkembangan teknologi informasi juga menuntut setiap
lembaga dan instansi memiliki infrastuktur yang sesuai dengan kemajuan zaman dan
sarana interaksi masyarakat. Maka dari itu saat ini seluruh sistem pelayanan sudah
mulai diotomatisasi dengan peralatan yang bersifat efisien dalam waktu dan tenaga.
Kebanyakan kelurahan yang ada di Kota Kediri masih menggunakan sistem
yang tidak terkomputerisasi dalam menampilkan data warganya salah satunya
Kelurahan Setonogedong. Dalam pengolahan data dari sistem itu membuat staf
maupun kepala kelurahan sulit untuk memantau warganya. Kemudian dengan data
yang ada untuk pencarian dan pendataan warga akan memakan waktu yang lama.
Selain itu dengan data tersebut tidak dapat menampilkan lokasi rumah warga dengan
tepat.
Jika dilihat dari permasalahan tersebut, maka penulis mengembangkan sebuah
sistem informasi pengelolaan data warga kelurahan setonogedong. Pengembangan
sistem ini diharapkan mampu untuk membuat kinerja kelurahan setonogedong
menjadi lebih baik, efisian dan efektif. Selain itu sistem informasi pengelolaan data
warga kelurahan setonogedong bertujuan sebagai media pembantu, karena kebutuhan
akan data kependuduk meningkat setiap tahunnya. Sistem ini dirancang untuk
memberikan informasi tentang anggota keluarga, detail anggota keluarga , informasi
kartu keluarga, scan qr code untuk validasi data keluarga dan letak rumah warga,
yang disajikan melalui sebuah sistem informasi berbasis android. Sistem informasi ini
diharapkan dapat menggantikan sistem yang berjalan sebelumnya secara efektif dan
efisien.

1
2

1.2 Rumusan masalah


Dari latar belakang di atas terdapat beberapa masalah yang di rumuskan dalam
rumusan masalah yaitu bagaimana merancang dan membangun sistem informasi
pengelolaan data warga kelurahan setonogedong berbasis android untuk memberikan
informasi anggota keluarga, informasi kartu keluarga, scan qr code dan letak rumah
warga.

1.3 Batasan Masalah


Beberapa batasan-batasan masalah dalam melakukan penelitian ini adalah
sebagai berikut :
a. Aplikasi ini hanya menyediakan informasi tentang anggota keluarga.
b. Aplikasi ini hanya memberikan informasi tentang letak rumah warga dan
tidak menyajikan informasi tentang tampilan rumah penduduk.
c. Aplikasi ini hanya dapat memindai qr code untuk menampilkan detail kartu
keluarga.

1.4 Tujuan Penelitian


Tujuan dari penelitian ini adalah merancang dan membangun sistem informasi
pengelolaan data warga kelurahan setonogedong berbasis android untuk memberikan
informasi anggota keluarga, informasi kartu keluarga, scan qr code dan letak rumah
warga.

1.5 Sistematika Penulisan


Untuk memberikan gambaran dan pemahaman akan inti-inti pembahasan
masalah dalam laporan tugas akhir ini, maka dibuatlah sistematika penulisan seperti
dibawah ini:
BAB I : PENDAHULUAN
Bab ini menjelaskan tentang uraian dari gambaran umum Sistem Informasi
Pengelolaan Data Warga Kelurahan Setonogedong Berbasis Android yang meliputi
latar belakang, rumusan masalah, batasan masalah, tujuan penelitian dan sistematika
penulisan.
3

BAB II : LANDASAN TEORI


Bab ini berisi landasan teori yang memuat teori-teori yang digunakan dalam
penulisan laporan Tugas Akhir ini.
BAB III : ANALISIS DAN PERANCANGAN
Bab ini menjelaskan tentang analisis dan perancangan sistem yang dibuat.
Mulai dari analisis permasalahan, analisis pemecahan masalah, perancangan sistem
dan pengujian sistem. Pada analisis pemecahan masalah berisi metode pengambilan
data, metode pengembangan sistem dan analisis kebutuhan sistem. Pada perancangan
sistem berisi use case diagram, Activity Diagram, relasi antar tabel, arsitektur sistem
dan antarmuka sistem.
BAB IV : IMPLEMENTASI
Bab ini berisi implementasi dari sistem yang dirancang, yang didalamnya
terdapat implementasi proses dan implementasi data.
BAB V : PENGUJIAN DAN PEMBAHASAN
Bab ini berisi pengujian dan pembahasan sistem, yang didalamnya berisi
proses pengujian kesesuaian sistem yang dibuat.
BAB VI : KESIMPULAN
Bab ini berisi uraian singkat dan jelas tentang hasil proyrk akhir yang
diperoleh sesuai dengan tujuan penelitian. Apabila diperlukan, saran dapat digunakan
untuk menyampaikan hal-hal yang dapat diperbaiki, dikembangkan atau dijadikan
penelitian lebih lanjut.
DAFTAR PUSTAKA
Berisi daftar rujukan yang dijadikan acuan dalam penyusunan laporan akhir
BAB II
TINJAUAN PUSTAKA

2.1 Peneliatan yang Relevan


Beberapa penelitian yang relevan dengan penelitian ini adalah penelitian yang
dilakukan oleh Roikhatul Jannah, Fauzan Masykur, dan Ghulam Asrofi Buntoro dari
Universitas Muhammadiyah Ponorogo, pada tahun 2019 yang berjudul “Rancang
Bangun Sistem Informasi Data Kependudukan Desa Berbasis Desktop dan Android”.
Penelitian ini membahas tentang pengolahan pada sistem informasi data
kependudukan yang sistemnya masih sederhana yaitu menggunakan excel. Hal ini
menimbulkan beberapa kendala yang cukup merepotkan, terutama pada
ketidakcocokan data. Sering pula terjadi kendala pada saat pencarian informasi
tentang penduduk baru, maupun penduduk yang pindah dari desa tersebut. Demikian
pula halnya dengan penyediaan data, misalnya data pekerjaan, data pendidikan, dan
data demografi penduduk yang sering tidak up to date.
Dari kendala-kendala tersebut, maka dibuatlah rancangan suatu sistem
informasi data kependudukan desa. Sistem informasi pendataan penduduk ini
dirancang untuk membantu instansi pemerintah desa dalam melakukan pendataan
penduduk. Dimana sistem ini akan melakukan proses pendataan seiring dengan
proses pengajuan surat-surat kependudukan oleh setiap penduduk yang datang ke
balai desa. Dengan demikian data kependudukan dapat diperoleh dengan mudah
tanpa harus melakukan pendataan secara langsung ke tempat penduduk tersebut
tinggal.
Sistem yang dibangun ini, dibuat dengan menggunakan tools seperti netbeans
8.2 dan android studio, sebagai bahasa pemograman dan menggunakan data database
MySQL sebagai managamen basis datanya. Adapun pertimbangan dalam memilih
bahasa pemograman Netbeans 8.2 ini dikerenakan Netbeans 8.2 terutama open
Source sehingga aplikasi yang kita buat tidak bajakan yang biasa berjalan di OS mana
pun dan juga menyediakan komponen-komponen yang lebih lengkap, lebih interaktif
dan lebih mudah dalam mengoneksikan basis data MYSQL kedalam program aplikasi

4
5

yang akan dibuat. Sementara android studio sangat membantu masyarakat melihat
data tanpa harus pergi ke kantor desa. Sehingga pelayanan kepada masyarakat dan
pelaporan kekecamatan dapat dilakukan dengan baik dan lebih optimal. (Jannah et al.,
2019)
Kemudian juga ada penelitian yang dilakukan oleh Anna Syahrani, dan Deyana
Muria Hutripa dari Institut Teknologi Padang, pada tahun 2017 yang berjudul
“Perancangan Aplikasi Pendataan Keluarga Berbasis Android”. Penelitian ini
membahas tentang rancangan aplikasi pendataan keluarga yang dioperasikan
menggunakan perangkat smartphone dengan sistem operasi android. Perancangan
antarmuka aplikasi menggunakan metode heuristic user interface.
Aplikasi ini menggunakan data kependudukan yang dikelola oleh Ka.UPT
setiap kecamatan dan bekerjasama dengan BKKBN. Dimana pada aplikasi yang akan
dibuat masyarakat mengisi sendiri data keluarganya dimana pada aplikasi tersebut
akan ada form pengisian data keluarga sesuai dengan formulir pengisian manual. Jika
sudah mengisi data dengan lengkap maka data akan disimpan langsung ke database
BKKBN sehingga pendataan keluarga bisa dilaksanakan dengan tepat waktu dan data
yang didapat akurat. (Syahrani & Hutripa, 2017)
Kemudian juga ada penelitian yang dilakukan oleh Muhamad Alda dari STMIK
Logika Medan, pada tahun 2020 yang berjudul “Sistem Informasi Pengolahan Data
Kependudukan Pada Kantor Desa Sampean Berbasis Android”. Penelitian ini
membahas tentang pengolahan data kependudukan pada kantor desa. Dengan adanya
data penduduk, kantor desa dapat melakukan monitoring penduduk yang terdapat
pada lingkungan tersebut.
Selama ini, kantor desa sampean kecamatan sungai kanan kabupaten labuhan
batu selatan, sumatera utara masih menggunakan aplikasi desktop dalam melakukan
proses pengolahan data penduduk yaitu menggunakan aplikasi Microsoft Excel.
Dengan cara tersebut masih terdapat beberapa masalah dan kendala yang terjadi,
terutama waktu dan tenaga yang dikeluarkan pada saat melakukan distribusi data
penduduk kepada pihak-pihak yang membutuhkan di kantor desa sampean. Selain itu,
pada saat mencari data dan melihat laporan, petugas kantor desa juga mengalami
6

kendala. Petugas harus melihat data penduduk satu persatu sehingga proses pencarian
data penduduk tidak efektif dan efisien.
Tujuan dilakukannya penelitian ini adalah untuk merancang dan membangun
sistem informasi pengolahan data penduduk berbasis android. Dengan adanya sistem
informasi yang di rancang oleh penulis, diharapkan dapat membantu pihak kantor
desa sampean dalam melakukan proses pengolahan data penduduk dan melakukan
distribusi data penduduk secara mudah dan cepat melalui smartphone android. Sistem
informasi dibangun dengan menggunakan aplikasi Kodular dan database Airtable.
(Alda, 2020)
Kemudian juga ada penelitian yang dilakukan oleh Baenil Huda dari
Universitas Buana Perjuangan Karawang, pada tahun 2018 yang berjudul “Sistem
Informasi Data Penduduk Berbasis Android Dan Web Monitoring Studi Kasus
Pemerintah Kota Karawang”. Penelitian ini membahas tentang pengolahan data
kependudukan. Tujuan penelitian adalah untuk mengetahui status dan jumlah
penduduk secara real time dan membuat rekam jejak tempat tinggal penduduk.
Dalam penelitian ini, metode yang digunakan adalah metode pengambilan
sample, dengan dilengkapi perangkat Android yang akan digunakan dalam
penginputan data penduduk dan Web Monitoring sebagai penyedia informasi data
penduduk. Dari hasil penelitian ini diharapkan mendapat data penduduk yang valid
sesuai dengan kondisi sebenarnya. Serta tidak adanya penyalah gunaan dan
manipulasi data penduduk. Khususnya bagi masyarakat daerah perumahan yang
berada di Desa Sukasari Kecamatan Purwasari Kabupaten Karawang. (Huda, 2018)
Kemudian juga ada penelitian yang dilakukan oleh Riko Saputra, Muhammad
Fadly, dan Matzachri dari STMIK Atma Luhur Pangkalpinang, pada tahun 2015 yang
berjudul “Aplikasi Pendataan Penduduk Pada Kelurahan Jerambah Gantung Berbasis
Android”. Penelitian ini membahas tentang pengolahan data penduduk dengan
aplikasi android. Dalam hal ini kelurahan jerambah gantung ingin memberi
kemudahan pelayanan kepada masyarakat ataupun instansi untuk bisa mengetahui
data penduduk yang ada dikelurahan jerambah gantung. Maka dari itu kelurahan
jerambah gantung ingin membuat suatu aplikasi pendataan penduduk berbasis
7

android yang khusus untuk warga kelurahan jerambah gantung yang mana aplikasi ini
dapat dikembangkan lagi pada kelurahan lainnya.
Masalah yang dihadapi adalah fasilitas yang ada masih manual serta kurangnya
fasilitas layanan informasi pada kelurahan jerambah gantung dalam melayani
masyarakat ataupun instansi terkait dalam melakukan pengambilan dan pendataan
penduduk seperti mendata setiap kepala keluarga misalnya nama, alamat, tempat
tanggal lahir, jenis kelamin dan agama pada kelurahan jerambah gantung dan juga
butuh waktu yang lama sehingga sering terlambat bagi pihak kelurahan mencari
dokumen dengan banyaknya kepala keluarga yang terdaftar di kelurahan jerambah
gantung. Pada Aplikasi Pendataan Penduduk berbasis Android ini, permasalahan
yang dibahas hanya sebatas informasi pendataan kepala keluarga seperti nama,
alamat, tempat/tanggal lahir, jenis kelamin dan agama khususnya warga kelurahan
jerambah gantung.
Tujuan dari pembuatan aplikasi ini adalah diterapkan Aplikasi Pendataan
Penduduk Berbasis Android pada kelurahan jerambah gantung untuk memberi
kemudahan kepada masyarakat ataupun instansi terkait dalam melakukan
pengambilan dan pendataan penduduk. Kemudian Meningkatkan kinerja dikarenakan
waktu yang digunakan lebih cepat dalam pengolahan, serta minimal pengeluaran
biaya yang harus dikeluarkan oleh masyarakat ataupun instansi terkait dalam
melakukan pengambilan dan pendataan penduduk. (Saputra et al., n.d.)

2.2 Landasan Teori

2.2.1 Sistem Informasi


Sistem adalah kumpulan orang yang saling bekerja sama dengan ketentuan-
ketentuan aturan yang sistematis dan terstruktur untuk membentuk satu kesatuan yang
melaksanakan suatu fungsi untuk mencapai tujuan. Sedangkan informassi adalah data
yang diolah menjadi lebih berguna dan berarti bagi penerimanya, serta untik
mengurangi ketidak pastian dalam proses pengambilan keputusan mengenai suatu
keadaan. Sistem informasi merupakan suatu kombinasi teratur dari orang-orang,
8

hardware, software, jaringan komuikasi dan sumber daya data yang mengumpulkan,
mengubah, dan menyebarkan informasi dalam sebuah organisasi. (Anggraeni, 2017)
Sistem informasi adalah suatu sistem didalam organisasi yang mempertemukan
kebutuhan pengolahan transaksi pendukung fungsi operasi organisasi yang bersifat
manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan
kepada pihak luar tertentu dengan laporan- laporan yang diperlukan. (Syahrani &
Hutripa, 2017)
Sistem informasi dalam suatu organisasi dapat menyediakan informasi bagi
semua tingakatan dalam organisasi tersebut kapan saja diperlukan. Sistem ini dapat
menyimpan, mengambil, mengubah, mengolah dan mengkomunikasikan informasi
yang diterima dengan menggunakan sistem informasi atau perlatan sistem lainnya.

2.2.2 Penduduk
Menurut pasal 26 ayat (2) UUD 1945, penduduk ialah warga Negara Indonesia
dan orang asing yang bertempat tinggal di indonesia. Dalam keputusan Mentri Dalam
Negeri No 54 tentang kependudukan pedoman penyelenggaraan pendaftaran
penduduk yang dijelaskan diantaranya Penduduk adalah Warga Negara Indonesia
(WNI) dan Warga Negara Asing (WNA) pemegang ijin tinggal tetap di wilayah
Negara kesatuan republic Indonesia atau semua orang yang berdomisili di Desa
tersebut selama enam bulan lebih atau mereka yang berdomisili kurang dari enam
bulan tetapi bertujuan menetap.

2.2.3 Android
Android merupakan sistem operasi yang sekarang sedang terkenal di pasaran
smartphone saat ini, Android adalah sebuah sistem operasi perangkat mobile berbasis
linux yang mencangkup sistem operasi, middleware dan aplikasi. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka.
Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru
yang membuat peranti lunak untuk ponsel atau smartphone. Kemudian untuk
mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34
9

perusahaan peranti keras, peranti lunak dan telekomunikasi, termasuk Google, HTC,
Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana
Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan
mendukung pengembangan open source pada perangkat mobile. Di lain pihak,
Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat
lunak dan open platform perangkat seluler.

2.2.4 Android Studio


Android studio adalah IDE (Integrated Development Environment) resmi
untuk database, pengembangan aplikasi Android dan bersifat open source atau gratis.
Peluncuran Android Studio ini diumumkan oleh Google pada 16 mei 2013 pada event
Google I/O Conference untuk tahun 2013. Sejak saat itu, Android Studio
mengantikan Eclipse sebagai IDE resmi untuk mengembangkan aplikasi Android.

Android studio sendiri dikembangkan berdasarkan IntelliJ IDEA yang mirip dengan
Eclipse disertai dengan ADT plugin (Android Development Tools). Android studio
memiliki fitur :

1. Projek berbasis pada Gradle Build.


2. Refactory dan pembenahan bug yang cepat.
3. Tools baru yang bernama “Lint” dikalim dapat memonitor kecepatan,
kegunaan, serta kompetibelitas aplikasi dengan cepat.
4. Mendukung Proguard And App-signing untuk keamanan.
5. Memiliki GUI aplikasi android lebih mudah.
6. Didukung oleh Google Cloud Platfrom untuk setiap aplikasi yang
dikembangkan.

2.2.5 QR Code
Quick Response Code, disingkat QR Code, merupakan barcode 2D yang
dikembangkan oleh Denso-Wave (2010) pada tahun 1994. QR Code dapat dibaca
oleh perangkat yang memiliki kamera dan QR Scanner. QR Code memiliki
keunggulan dibandingkan dengan barcode 1D karena dengan ukuran yang lebih kecil
10

dibandingkan barcode 1D seperti PDF417, DataMatrix dan Maxi Code, QR Code


mampu menampung data dengan jumlah yang lebih besar, mencapai 7089 untuk
karakter numerik, atau 4.296 untuk karakter alfanumerik, atau 2.953 binary bytes,
atau 1.817 karakter Kanji.
QR Code dapat menyimpan data yang cukup besar dikarenakan QR Code
menyimpan data secara dua dimensi (2D), vertikal dan horizontal. Selain itu, QR
Code dapat dibaca dari segala arah dalam 3600 melalui pola deteksi posisi yang
terdapat pada tiga sudut seperti yang terlihat pada Gambar 2. QR Code menerapkan
algoritma Reed-Solomon error correction untuk melindungi data yang terkandung
didalamnya dari kerusakan atau ketidaksempurnaan gambar. Dengan error correction
ini, maka QR Code yang menerapkan error correction Level H (high) tetap dapat
dibaca meskipun tingkat kerusakan mencapai 30%.

Gambar 2.1 Contoh QR Code

2.2.6 Google Maps


Google Maps adalah layanan untuk menampilkan peta daerah pada suatu
tempat yang diinginkan. Untuk mengakses google maps pada android dibutuhkan
Maps SDK for Android. Dengan Maps SDK for Android, dapat menambahkan peta
berdasarkan data Google Maps ke aplikasi. API ini secara otomatis menangani akses
ke server Google Maps, download data, tampilan peta, dan respons terhadap gestur
peta. Selain itu juga dapat menggunakan panggilan API untuk menambahkan
penanda, poligon, dan overlay ke peta dasar, serta mengubah tampilan area peta
tertentu yang dilihat pengguna. Objek ini memberikan informasi tambahan untuk
11

lokasi peta, dan memungkinkan interaksi pengguna dengan peta. API tersebut
memungkinkan untuk menambahkan grafik ini ke peta:

1. Ikon yang dikaitkan dengan posisi tertentu pada peta (Penanda).


2. Rangkaian segmen garis (Polyline).
3. Segmen yang disertakan (Poligon).
4. Gambar bitmap yang dikaitkan dengan posisi tertentu pada peta (Overlay
Bumi).
5. Kumpulan gambar yang ditampilkan di atas ubin peta dasar (Overlay Ubin).

2.2.7 Kotlin
Kotlin merupakan bahasa pemrograman yang pragmatis untuk android yang
mengkombinasikan object oriented (OO) dan pemrograman fungsional. Kotlin juga
bahasa pemrograman yang interoperabilitas yang membuat bahasa ini dapat
digabungkan dalam satu project dengan bahasa pemrograman Java. Bahasa
pemrograman ini juga dapat digunakan untuk pengembangan aplikasi berbasis
desktop, web dan bahkan untuk backend. Beberapa keuntungan yang mungkin akan
didapatkan jika pengembangan aplikasi beralih menggunakan Kotlin untuk
mengembangkan aplikasi diatas platform JVM adalah sebagai berikut:

1. Dapat mengatasi NullPointerException yang umumnya terdapat pada Java.


2. Penulisan kode lebih ringkas dan mudah dibaca dibandingkan kode yang
ditulis dengan menggunakan bahasa Java
3. Mudah dipelajari.

4. Dukungan IDE untuk mempermudah dalam pemrograman

2.2.8 Use Case Diagram


Use Case Diagram merupakan pemodelan untuk melakukan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu
atau lebih actor dengan sistem informasi yang akan dibuat. Use case digunakan untuk
mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang
berhak menggunakan fungsi-fungsi tersebut.
12

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin
dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang
disebut aktor dan use case yaitu:
1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat di luar sistem informmasi itu sendiri, jadi
walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu
merupakan orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit
yang saling bertukar pesan antar unit atau aktor. (AS & Shalahudin, 2013)
Simbol-simbol yang digunakan pada use case diagram ditunjukkan pada Tabel
2.1. Simbol-Simbol Use Case Diagram.
Table 2.1 Simbol-Simbol Use Case Diagram
Nama Simbol Keterangan
Menggambarkan aktivitas yang dilakukan oleh
aktor dalam menjalankan sistem ; biasanya
Use cases
dinyatakan dengan menggunakan kata kerja di awal
frase nama use case
Meskipun digambarkan dengan symbol orang,
actors belum tentu merupakan orang. Actors dapat
Actors
berupa orang, proses, atau sistem lain yang
berinteraksi dengan sistem yang akan dibuat
Hubungan dimana perubahan yang terjadi pada
suatu elemen mandiri (independent) akan
Dependency
mempengaruhi elemen yang bergantung padanya
elemen yang tidak mandiri (independent).

Hubungan dimana objek anak (descendent) berbagi


Generalization perilaku dan struktur data dari objek yang ada di
atasnya objek induk (ancestor).

<<include>>
Menspesifikasikan bahwa use case sumber secara
Include
eksplisit.

<<extend>> Menspesifikasikan bahwa use case target


Extend memperluas perilaku dari use case sumber pada
suatu titik yang diberikan.
13

Apa yang menghubungkan antara objek satu


Association
dengan objek lainnya.

Interaksi aturan-aturan dan elemen lain yang


bekerja sama untuk menyediakan prilaku yang
Collaboration
lebih besar dari jumlah dan elemen-elemennya
(sinergi).

Elemen fisik yang eksis saat aplikasi dijalankan


Note
dan mencerminkan suatu sumber daya komputasi

Menspesifikasikan paket yang menampilkan sistem


System
secara terbatas.

Login

Mengelola User
<<include>>

Admin Pegawai

Mengelola Barang

Tambah Barang

Gambar 2.2 Contoh Use Case

2.2.9 Activity Diagram


Activity Diagram menggambarkan rangkaian aliran kerja dalam sistem yang
dirancang, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu
14

operasi. Aktivitas diagram bukan menggambarkan aktivitas dari aktor melainkan


gambaran dari aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan dalam mendefinisikan hal-hal
berikut:
1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan
merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokan tampilan dari sistem atau user interface dimana
setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan pengujian
yang perlu didefinisikan kasus ujinya.
4. Rancangan menu yang ditampilkan pada perangkat lunak. (Rossa &
Shalahuddin, 2013)
Simbol-simbol yang digunakan pada Activity Diagram ditunjukkan pada Tabel
2.2 Simbol-Simbol Activty Diagram.
Table 2.2 Simbol-Simbol Activty Diagram
Nama Simbol Keterangan
Status awal aktivitas sistem, sebuah
Status Awal
aktivitas memiliki sebuah status
awal.
Aktivitas yang dilakukan
Aktivitas aktivitas sistem, aktivitas biasanya diawali
dengan kata kerja.

Percabangan/decision Asosiasi percabangan dimana jika ada


pilihan aktivitas lebih dari satu.
Asosiasi penggabungan dimana lebih
Penggabungan/join
dari satu aktivitas digabungkan menjadi
satu.
Status akhir yang dilakukan sistem,
Status akhir
sebuah diagram aktivitas memiliki
sebuah status akhir
Memisahkan organisasi bisnis yang
swimlane bertanggung jawab terhadap
aktivitas yang terjadi.
BAB III
ANALISIS DAN PERANCANGAN

3.1 Analisis Permasalahan


Analisis permasalahan merupakan kegiatan yang bertujuan untuk mengetahui
kebutuhan sistem yang akan dibuat sehingga sistem yang dibuat bisa berjalan sesuai
dengan yang diharapkan atau sudah mencapai tujuan yang diinginkan.
Kebanyakan kelurahan yang ada di Kota Kediri masih menggunakan sistem
yang tidak terkomputerisasi dalam menampilkan data warganya salah satunya
Kelurahan Setonogedong. Dalam pengolahan data dari sistem itu membuat staf
maupun kepala kelurahan sulit untuk memantau warganya. Kemudian dengan data
yang ada untuk pencarian dan pendataan warga akan memakan waktu yang lama.
Selain itu dengan data tersebut tidak dapat menampilkan lokasi rumah warga dengan
tepat.
Untuk mengatasi masalah tersebut maka perlu dikembangkan suatu sistem
informasi pengelolaan data warga kelurahan setonogedong yang bertujuan sebagai
media pembantu, karena kebutuhan akan data kependuduk meningkat setiap
tahunnya. Sistem ini dirancang untuk memberikan informasi tentang anggota
keluarga, detail anggota keluarga , informasi kartu keluarga, scan qr code untuk
validasi data keluarga dan letak rumah warga, yang disajikan melalui sebuah sistem
informasi berbasis android.

3.2 Analisis Pemecahan Masalah


Berdasarkan permasalahan yang ada dan hasil analisis, maka diperlukan solusi
pemecahan masalah terhadap permasalahan tersebut. Solusinya yaitu dengan
membuat sistem informasi pengelolaan data warga kelurahan setonogedong berbasis
android. Sistem informasi ini diharapkan dapat menggantikan sistem yang berjalan
sebelumnya secara efektif dan efisien.

15
16

3.2.1 Metode Pengambilan Data (user requirement)


Metode pengambilan data adalah cara peneliti mengumpulkan data untuk
memperoleh informasi yang dibutuhkan dalam rangka mencapai tujuan penelitian.
Metode yang digunakan dalam proses pengumpulan data sebagai berikut:
1. Wawancara
Wawancara dilakukan dengan mengajukan beberapa pertanyaan secara
langsung kepada pihak yang berkaitan. Wawancara ini bertujuan untuk memperoleh
informasi mengenai bentuk komunikasi dan proses penyampaian informasi kepada
warga.
2. Observasi
Metode dengan melakukan pengamatan langsung di lapangan untuk
mengetahui permasalahan yang terjadi saat proses penyampaian informasi kepada
warga.
3. Dokumen
Metode ini dilakukan dengan cara menganalisis dokumen yang sudah ataupun
mengolah dokumen atau data yang sudah tersedia.
4. Studi Pustaka
Metode ini dilakukan dengan mengumpulkan informasi serta teori-teori melalui
internet, jurnal dan buku-buku yang berhubungan dengan perancangan sistem
informasi kependudukan.

3.2.2 Metode Pengembangan Sistem


Metode pengembangan sistem pada penelitian ini merupakan metode System
Development Life Cycle (SDLC). SDLC adalah metodologi tradisioanal yang
digunakan untuk pengembangan, pemeliharaan, penggatian sistem informasi. Berikut
adalah tahapan – tahapan metode pengembangan sistem SDLC :
1. Pemilihan dan Identifikasi Proyek
Fase pertama SDLC mencakup kegiatan : mengidentifikasi, menganalisa,
menentukan prioritas, dan penyusun kebutuhan menyeluruh proyek sistem informasi
organisasi / perusahaan. Pada tahap ini di identifikasi kebutuhan sistem informasi
untuk pengembangan atau perbaikan sistem yang baru.
17

2. Perencanaan dan Inisialisasi Proyek


Fase kedua dari SDLC adalah perencanaan dan inisialisasi proyek, pada fase ini
menjelaskan / mengemukakan apakah proyek sistem informasi layak untuk tahap
selanjutnya dari SDLC. Kegiatan utama pada fase ini yaitu : persiapan, investigasi
permasalahan sistem atau peluang, alasan mengapa sistem harus dikembangkan atau
tidak. Langkah penting pada fase ini adalah keputusan untuk menentukan ruang
lingkup sistem yang akan diajukan, termasuk rencana spesifik proyek sistem
informasi, rencana waktu dan kebutuhan sumber daya.
3. Analisis
Fase ketiga dari SDLC adalah analisis. Analisis dilakukan dalam beberapa sub
fase, yaitu : pertama, menentukan kebutuhan sistem, kegiatan ini dilakukan secara
bersama-sama antara analis dan user. Kedua, mempelajari kebutuhan dan struktur
hubungan diantara kebutuhan – kebutuhan sistem tersebut agar tidak terjadi
redundancy. Ketiga, generalisasi alternatif desain awal agar sesuai dengan kebutuhan.
Keempat, bandingkan alternatif – alternatif tersebut sehingga sesuai dengan biaya,
sumber daya, dan tingkatan teknik sehingga tercapai kesepakatan untuk proses
pengembangan sistem informasi. Hasil akhir dari tahap analisis adalah berupa
rekomendasi alternatif solusi pengembangan sistem informasi.
4. Desain Logika
Fase keempat dari SDLC adalah desain logika, yaitu gambaran fungsi – fungsi
sistem yang dipilih dari pengembangan sistem dalam analisis yang independen dan
platform komputernya. Pada fase ini dilakukan konversi dari rekomendasi alternatif
solusi pengembangan sistem informasi ke dalam spesifikasi logika dan fisik.
Kegiatan utama pada fase ini yaitu : desain input, desain ouput, desain database.
5. Desain Fisik
Desain fisik merupakan transformasi dari desain logika ke desain fisik /
teknikal dari mulai programming sampai dengan penyelesaian kontruksi sistem. Pada
desain fisik tim analis harus menetapkan : bahasa pemrograman yang akan di pakai,
database system, struktur file, platform, operating system, dan lingkung jaringannya.
Hasil akhir dari tahap desain fisik adalah berupa spesifikasi. Desain fisik yang akan
18

diserahkan ke programmer atau ke pembangun sistem yang lainnya untuk kontruksi


sistem.
6. Pengujian
Metode pengujian yang digunakan adalah metode black box. Black blox adalah
pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan
memeriksa fungsional dari perangkat lunak. Jadi dianalogikan seperti melihat suatu
kota hitam, dan hanya bisa melihat penampilan luarnya saja. Tanpa tau ada apa
dibalik bungkus hitamnya. Sama seperti pengujian black box, mengevaluasi hanya
dari tampilan luarnya, fungsionalitasnya, tanpa mengetahui apa sesungguhnya yang
terjadi dalam proses detailnya.

3.2.3 Analisis Kebutuhan Sistem (fungsional dan non fungsional)


Suatu sistem dapat dirancang dan dibangun dengan mengetahui terlebih dahulu
kebutuhan apa saja yang duperlakukan untuk membangun sistem itu sendiri
berdasarkan dari analisis permasalahan yang telah diuraikan sebelumnya. Dengan
mengetahui kebutuhan yang perlu diperbaiki dapat menjadikan sebagai acuan
pembangunan suatu sistem, dimana sistem dapat ditanamkan fitur-fitur yang bisa
memecahkan permasalahan yang ada. Berikut kebutuhan sistem yang telah peneliti
analisa untuk membangun sistem informasi kependudukan berbasis android, yaitu :
1. Kebutuhan Fungsional
A. Kepala Kelurahan
Kepala Kelurahan dapat melakukan beberapa aktivitas diantaranya sebagai berikut:
1) Login
2) Melihat data kartu keluarga
3) Mencari data kartu keluarga
4) Melihat data Anggota
5) Mencari data Anggota
6) Mengelola data Laporan
a. Melihat data
7) Logout
B. Petugas
19

Petugas dapat melakukan beberapa aktivitas diantaranya sebagai berikut:


1) Login
2) Mengelola data kartu keluarga
a. Melihat data kartu keluarga
b. Mencari data kartu keluarga
c. Melihat lokasi kartu keluarga
3) Mengelola Anggota Keluarga
a. Melihat data
b. Mencari data
c. Melihat lokasi anggota keluarga
4) Melakukan Scan QR Code
5) Import data
6) Logout
2. Kebutuhan Non-Fungsional
Dalam membuat sistem infromasi kependudukan, dibutuhkan beberapa komponen
utama yang mencakup perangkat keras (hardware) dan perangkat lunak (software).
1. Kebutuhan Perangkat Keras (Hardware)
Spesifikasi perangkat keras komputer yang digunakan pembuatan program ini
adalah:
a. Handphone dengan OS Android minimum versi 7
b. Memory RAM minimum 4GB
c. Storage 32 gb
d. Laptop dengan RAM 8 GB
2. Kebutuhan Perangkat Lunak (Software)
Hardware tidak dapat menyelesaikan masalah tanpa adanya software. Software
merupakan komponen di dalam sistem data berupa program atau instruksi
untuk mengontrol suatu sistem. Perangkat lunak yang diperlukan untuk membuat
aplikasi ini adalah:
a. Android SDK
b. Windows 10
20

c. Android Studio
d. Android JDK
e. SQL Server Management
f. Mozilla Firefox / UC Browser / Chrome

3.3 Perancangan Sistem


Perancangan sistem dilakukan secara bertahap menggunakan model rancangan
Unified Modelling Language (UML), yaitu suatu model perancangan sistem
berorientasi objek yang terdiri dari kumpulan diagram untuk memodelkan suatu
rancangan sistem yang komplek secara detail, dalam penelitian ini menggunakan Use
Case Diagram, Activity Diagra, Sequence Diagram dan Arsitektur Sistem untuk
menggambarkan proses perancangan sistem.

3.3.1 Use Case Diagram


Use case diagram merupakan teknik yang digunakan dalam pengembangan
sebuah software atau sistem informasi untuk menangkap kebutuhan fungsional dari
sistem yang bersangkutan, use case menjelaskan interaksi yang terjadi antara aktor-
inisiator dari interaksi sistem itu sendiri dengan sistem yang ada. Use case diagram
digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem
informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu, use case
diagram digambarkan hanya yang dilihat dari luar oleh aktor (keadaan lingkungan
sistem yang dilihat user). Use case diagran “Sistem Informasi Kependudukan
Berbasis Android” dapat dilihat seperti pada Gambar 3.1.
21

Scan QR Code

<<include>> Import Data

Kepala Kelurahan Validasi

<<include>>
Cek Status Login Login

Logout
Petugas

<<include>> Mengelola Data KK

<<include>>
Mencari Lokasi

Mencari Data KK
Melihat Data KK

<<include>>
Mengelola Data Laporan

Melihat Data Laporan

Mengelola Data Anggota

Mencari Lokasi

Mencari Data Anggota Melihat Data Anggota

Gambar 3. 1 Use Case Diagram


1. Definisi Aktor
Definisi aktor mempresentasikan seseorang atau sesuatu yang berinteraksi
dengan sistem. Aktor hanya berinteraksi dengan use case tetapi tidak memiliki
kontrol atas use case. Deskripsi pendefinisian aktor terdapat dalam tabel 3.3.
Table 3.1 Definisi Aktor
No Actor Deskripsi
1 Kepala Kelurahan Kepala Kelurahan adalah orang yang memiliki hak akses
22

melakukan login, melihat data kartu keluarga, mencari


data kartu keluarga, melihat data anggota, mencari data
anggota, mengelola data laporan dan logout
2 Petugas Petugas adalah orang yang memiliki hak akses melakuka
login, mengelola data kartu keluarga, mengelola anggota
keluarga, melakukan scan qr code, import data, dan
logout
2. Definisi Use Case
Definisi use case adalah gambaran fungsionalitas dari suatu sistem, sehingga
pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan
dibangun. Deskripsi pendefinisian use case terdapat pada tabel 3.4.
Table 3.2 Definisi Use Case
No Use case Deskripsi
1 Login Merupakan proses untuk melakukan login user.

2 Logout Merupakan proses untuk melakukan logout user.

3 Mengelola data KK Merupakan proses dimana user dapat mencari lokasi,


mencari data, dan melihat data user.
4 Mengelola data Merupakan proses dimana user dapat mencari data,
Anggota Keluarga mencari lokasi, dan melihat data.
5 Mengelola data Merupakan proses dimana user dapat melihat data
Laporan laporan.
6 Scan Qr Code Merupakan proses dimana user melakukan scan qr code
yang sudah dibagikan oleh pihak kelurahan untuk validasi
data kartu keluarga.
7 Import Data Merupakan proses dimana user melakukan updata data di
database menggunakan file csv

3.3.2 Activity Diagram


Activity Diagram adalah sebuah diagram yang bisa digunakan untuk
menggambarkan secara grafis alur dari sebuah proses bisnis, langkah-langkah dari
sebuah use case, atau logika dari sebuah objek. Activity Diagram sangat berguna
untuk model aksi yang akan dikerjakan ketika sebuah operasi dieksekusi serta hasil
23

dari aksi tersebut. Berikut adalah Activity Diagram dari “Sistem Informasi
Kependudukan Berbasis Android”:
a. Activity Diagram Login
Pada Activity Diagram Login, proses dimulai dengan user melakukan login
dengan memasukkan username dan password, kemudian sistem akan memeriksa
valid tidaknya data yang telah dimasukkan. Kemudian user akan masuk ke halaman
utama. Setelah itu, Ketika user memilih logout maka sistem akan Kembali ke form
login dan prosesnya selesai di sana. Activity Diagram Login terdapat pada gambar
3.2.

Login User

User Sistem Database

Masuk Tampil Form


Aplikasi Login

Memeriksa
Masukkan data
Validasi

Tidak

Tampil Halaman
Ya
Utama
Phase

Gambar 3. 2 Activity Diagram Login


24

b. Activity Diagram Mengelola Data KK


Pada Activity Diagram pengelolaan data kk, merupakan proses setelah
melakukan login dimana user dapat mengedit data, melihat data, dan mencari data.
Activity Diagram mengelola data KK terdapat pada gambar 3.3.
Menglola Data KK

User Sistem Database

Pilih Menu Data


KK

Ya
Memilih Lokasi
sesuai data Validasi Data

Menampilkan
Lokasi

Memilih Go Menampilkan
Tujuan Tujuan Lokasi

Memilih Kembali

Ya
Memilih Cari
Data KK

Memasukkan
Data KK
data KK

Mengambil data
Data KK

Menampilkan
data Data KK

Ya
Memilih Memeriksa
Lihat Data KK adanya data

Tidak Ya Data KK

Mengambil data
KK

Menampilkan
data KK
Phase

Gambar 3. 3 Activity Diagram Mengelola Data KK


25

c. Activity Diagram Mengelola Data Anggota Keluarga


Pada Activity Diagram pengelolaan data anggota keluarga, merupakan proses
yang dapat dilakukan setelah login. Dalam activity ini user hanya dapat melihat dan
mencari data sesuai yang dibutuhkan. Activity Diagram mengelola data Anggota
Keluarga terdapat pada gambar 3.4.
Mengelola Data Anggota
User Sistem Database

Pilih Menu data


Anggota

Ya
Memilih Cari
data Anggota

Memasukkan
data Anggota
data Anggota

Mengambil data
data Anggota

Menampilkan
data data
Anggota

Memilih
Memeriksa
Ya Lihat data
adanya data
Anggota

Tidak Ya data Anggota

Mengambil data
Anggota

Menampilkan
data Anggota

Memilih Lokasi
Ya Validasi Data
sesuai data

Memilih Go Menampilkan
Tujuan Lokasi

Menampilkan
Memilih Kembali
Tujuan Lokasi
Phase

Gambar 3. 4 Activity Diagram Mengelola Data Anggota Keluarga


26

d. Activity Diagram Scan QR Code


Pada Activity Diagram Scan Qr Code, merupaka proses yang dapat dimulai
setelah user melakukan login. Kemudian user dapat langsung memindai qr code yang
sudah disediakan. Ketika berhasil maka data akan ditampilkan jika tidak maka akan
kembali ke halaman utama. Activity Diagram Scan Qr Code terdapat pada gambar
3.5.

Scan QR Code

User Sistem Database

Menampilkan Scan QR
Pilih Menu Scan QR Code validasi data
Code

Menampilkan Halaman tidak


Utama

Mengambil data Ya

Menampilkan Data
Phase

Gambar 3.5 Activity Diagram Scan Qr Code

3.3.3 Sequence Diagram


a. Sequence Diagram Login

Berikut merupakan gambar Sequence Diagram dari login disini user dapat
melakukan login dengan menginputkan data username dan password. Sequence
Diagram Login terdapat pada gambar 3.6.
27

User a : Antarmuka v : Validasi d : database

1 : username, password

2 : validasi user

3 : cek data

4 : result

5 : result

6 : tampilkan result

Gambar 3.6 Sequence Diagram Login


b. Sequence Diagram Logout

Berikut merupakan gambar Sequence Diagram dari logout disini user dapat
melakukan logout dengan mengklik menu logout. Sequence Diagram Logout terdapat
pada gambar 3.7.

User a : Antarmuka v : Validasi

1 : klik menu logout

2 : logout()

Gambar 3.7 Sequence Diagram Logout


28

c. Sequence Diagram Lihat Data KK

Berikut merupakan gambar Sequence Diagram dari lihat data kk. Disini user
dapat melihat data setelah memilih KK yang ingin ditelusuri. Sequence Diagram
Lihat Data KK terdapat pada gambar 3.8.

User a : Antarmuka kk : Kartu Keluarga d : Database

1 : PilihDataKK ()

2 : lihatDataKK()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.8 Sequence Diagram Lihat Data KK


d. Sequence Diagram Lokasi Data

Selanjutnya merupakan gambar Sequence Diagram dari lokasi data. Disini user
dapat melihat lokasi dengan memilih data sesuai dengan kebutuhan. Sequence
Diagram Lokasi Data terdapat dalam gambar 3.9.
29

User a : Antarmuka kk : Kartu Keluarga d : Database

1 : data KK

2 : lokasiData()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.9 Sequence Diagram Lokasi Data


e. Sequence Diagram Cari Data KK

Berikut merupakan gambar Sequence Diagram dari cari data kk. Disini user
dapat mencari data sesuai dengan keyword atau inputan yang dimasukkan. Sequence
Diagram Cari Data KK terdapat pada gambar 3.10.

Admin a : Antarmuka kk : Kartu Keluarga d : Database

1 : keyword(no kk)

2 : mencariDataKK()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.10 Sequence Diagram Cari Data KK


30

f. Sequence Diagram Lihat Data Anggota

Berikut merupakan gambar Sequence Diagram dari lihat data anggota. Disini
user dapat melihat data setelah memilih data anggota yang ingin dilihat. Untuk
melihat data anggota user nanti memilih data pada data list yang sudah tersedia.
Selain itu dalam list tersebut terdapat semua data anggota keluarga dari masing
masing kartu keluarga yang sudah didaftarkan sebelumnya. Sequence Diagram Lihat
Data Anggota terdapat pada gambar 3.11.

User a : Antarmuka ag : Anggota d : Database

1 : PilihDataAnggota()

2 : lihatDataAnggota()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.11 Sequence Diagram Lihat Data Anggota


g. Sequence Diagram Cari Data Anggota

Berikut merupakan gambar Sequence Diagram dari cari data anggota. Disini
user dapat mencari data sesuai dengan keyword atau inputan yang dimasukkan.
Sequence Diagram Cari Data Anggota terdapat pada gambar 3.12.
31

Admin a : Antarmuka ag : Anggota d : Database

1 : keyword(NIK)

2 : mencariDataAnggota()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.12 Sequence Diagram Cari Data Anggota


h. Sequence Diagram Scan QR Code

Berikut merupakan gambar Sequence Diagram dari cari data anggota. Disini
user dapat memindai qr code yang sudah disediakan yang bertujuan untuk
menvalidasi data kartu keluarga pada setiap rumah warga. Sequence Diagram Scan
QR Code terdapat pada gambar 3.13.

Admin a : Antarmuka dt : Data KK d : Database

1 : scan qr code

2 : lihatDataKK()

3 : selectData()

4 : result

5 : result

6 : result

Gambar 3.13 Sequence Diagram Scan QR Code


32

3.3.4 Relasi Antar Tabel


Relasi antar tabel merupakan diagram yang mempresentasikan hubungan antar
data. Relasi tabel juga digunakan untuk mendesain database dengan tujuan
menggambarkan data yang berelasi pada sebuah database. Pada sebuah database,
relasi dihubungkan dengan cara memberikan satu kolom dengan value yang sama
dengan tabel yang berhubungan, disebut dengan foreign key. Pada sistem ini terdapat
3 tabel yaitu tabel warga, tabel kk, dan tabel lapor. Pada tabel tersebut hanya tabel
warga dan tabel kk yang memiliki relasi. Sedangkan tabel lapor hanya digunakan
untuk melakukan aktivitas menampilkan data laporan. Berikut perancangan relasi
antar tabel pada “Sistem Informasi Pengelolaan Data Warga Kelurahan Setonogedong
Berbasis Android” dapat dilihat seperti pada Gambar 3.14.

Gambar 3.14 Relasi Antar Tabel

3.3.5 Arsitektur Sistem


Arsitektur sistem adalah bagian perancangan sistem yang menggambarkan
bentuk komponen fisik dari sistem yang akan dibuat. Arsitektur sistem terdapat pada
gambar 3.15.
33

Menyimpan Data Mengelola Data

Mengambil Data Melihat Data

Petugas

Sistem

Melihat Data

Kepala Kelurahan

Gambar 3.15 Arsitektur Sistem

3.3.6 Antarmuka Aplikasi (User Interface)


Desain antarmuka merupakan rancangan tampilan yang akan
diimplementasikan pada suatu aplikasi yang akan dikembangkan. Desain antarmuka
digunakan untuk memastikan bagaimana user berinteraksi dengan aplikasi serta
bagaimana informasi ditampilkan di layar. Berikut ini merupakan desain antarmuka
pada sistem informasi forum diskusi warga berbasis web.
a. Desain Antarmuka Login
Berikut ini merupakan desain antarmuka halaman login dimana User dapat
melakukan login untuk mengakses halaman utama. Ketika user sudah mengisikan
username dan password kemudian menekan button login yang berada di bagian
bawah, maka user akan langsung diarahkan ke halaman utama. Desain antarmuka
login terdapat pada gambar 3.16.
34

Gambar 3.16 Desain Antarmuka Login


b. Desain Antarmuka Dashboard User
Pada desain antarmuka dashboard terdapat informasi jumlah warga. Desain
antarmuka dashboard user terdapat pada gambar 3.17.

Gambar 3.17 Desain Antarmuka Dashboard User


35

c. Desain Antarmuka Data KK


Pada desain antarmuka data KK, user dapat melihat daftar KK. Pada daftar kk
yang ditampilkan adalah informasi nomor kartu keluarga dan nama kepala keluarga.
Desain antarmuka data kk terdapat pada gambar 3.18.

Gambar 3.18 Desain Antarmuka Data KK


d. Desain Antarmuka Detail Data KK
Pada desain antarmuka detail data kk, user dapat melihat data kk. Setelah itu
dengan menekan button ubah maka akan menujua pada halaman ubah data kk. Desain
antarmuka detail data kk terdapat pada gambar 3.19.
36

Gambar 3.19 Desain Antarmuka Detail Data KK


e. Desain Antarmuka Data Anggota
Pada desain antarmuka data anggota, user dapat melihat daftar anggota. Desain
antarmuka data user bagian RT terdapat pada gambar 3.20.

Gambar 3.20 Desain Antarmuka Data Anggota


37

f. Desain Antarmuka Detail Data Anggota


Pada desain antarmuka detail data anggota, user dapat melihat data anggota
secara lengkap. Desain antarmuka detail data anggota terdapat pada gambar 3.21.

Gambar 3.21 Desain Antarmuka Detail Data Anggota


g. Desain Antarmuka Scan QR Code
Pada desain antarmuka scan qr code, user dapat melakukan scan qr code yang
terdapat pada masing masing rumah warga. Desain antarmuka scan qr code terdapat
pada gambar 3.22.

Gambar 3.22 Desain Antarmuka Scan QR Code


38

Kemudian hasil scan qr code akan ditampilkan pada antarmuka hasil scan dan
Hasil dari scan qr code akan ditampilkan pada gambar 3.23.

Gambar 3.23 Hasil Scan QR Code


h. Desain Antarmuka Map Kartu Keluarga
Pada desain antarmuka map kartu keluarga, user dapat melihat lokasi rumah
warga. Desain antarmuka map kartu keluarga terdapat pada gambar 3.24.

Gambar 3.24 Desain Antarmuka Map Kartu Keluarga


39

Setelah ditampilkan data kartu keluarga kemudian user mengklik salah satu
data dan lokasi akan ditampilkan pada antarmuka hasil map. Hasil dari Map terdapat
pada gambar 3.25

Gambar 3.25 Hasil dari Map Kartu Keluarga

3.4 Pengujian Sistem


Pengunian sistem informasi kependudukan berbasis android ini akan dilakukan
dengan metode black box. Metode pengujian black box dilakukan hanya mengamati
hasil eksekusi melalui data uji dan memeriksa fungsional dan perangkat lunak. Proses
pengujian akan dilakukan terhadap semua kebutuhan fungsional yang telah dirancang
pada tahap perancangan aplikasi. Berikut pengujian sistemnya :
Table 3.3 Pengujian Sistem Informasi Kependudukan
Item Uji Butir Uji Jenis Pengujian
Melihat Data Kartu Keluarga Validasi Inputan Black Box
Kesesuaian Proses
Melihat Detail Data Kartu Keluarga Validasi Inputan Black Box
Kesesuaian Proses
Mengubah Data Kartu Keluarga Validasi Inputan Black Box
Kesesuaian Proses
Melihat Data Anggota Validasi Inputan Black Box
40

Kesesuaian Proses
Melihat Detail Data Anggota Validasi Inputan Black Box
Kesesuaian Proses
Melakukan Scan QR Code Validasi Inputan Black Box
Kesesuaian Proses
Melihat Lokasi Validasi Inputan Black Box
Kesesuaian Proses
BAB IV
IMPLEMENTASI

4.1 Implementasi Proses


Implementasi proses merupakan tampilan nyata dari aplikasi yang telah
dibuat, yaitu Android.

4.1.1 Halaman Login


Halaman login merupakan halaman sebelum pengguna dapat mengakses
halaman utama. Login disini hanya menggunakan kode unik atau password untuk
mengaksesnya. Pengguna yaitu kelurahan dan petugas memiliki kode masing masing
yang tidak dapat diubah . Halaman login ditunjukkan pada Gambar 4.1

Gambar 4.1 Halaman Login


Berdasarkan implementasi dari tampilan pada Gambar 4.1 Halaman Login.
Berikut adalah source code dari Gambar 4.1 halaman login.

41
42

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnLogin.setOnClickListener{
val password = inputPassword.text.toString()
if(password.isEmpty()){
Toast.makeText(this, "Tolong Masukkan Kode Anda
Terlebih Dahulu", Toast.LENGTH_LONG).show()
return@setOnClickListener
}
if (password == "adminsgoke123"){
val progressDialog =
ProgressDialog(this,R.style.Theme_MaterialComponents_Light_Dialog)
progressDialog.isIndeterminate = true
progressDialog.setMessage("Loading...")
progressDialog.show()
val intent = Intent (this,Admin::class.java)
startActivity(intent)
finish()
}

if (password == "setonogedongoke"){
val progressDialog =
ProgressDialog(this,R.style.Theme_MaterialComponents_Light_Dialog)
progressDialog.isIndeterminate = true
progressDialog.setMessage("Loading...")
progressDialog.show()
val intent = Intent (this,Kepala::class.java)
startActivity(intent)
finish()
}
}
}

. . .

4.1.2 Halaman Utama Petugas


Halaman Utama merupakan halaman yang menampilkan beberapa akivitas
yang dapat dilakukan oleh user. Untuk petugas sendiri dapat melakukan scan qr code,
import data,lihat data kk dan lihat data penduduk. Halaman Utama Petugas
ditunjukkan pada Gambar 4.2.
43

Gambar 4.2 Halaman Utama Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.2 Halaman Utama
Petugas. Berikut adalah source code dari Gambar 4.2 halaman utama petugas

. . .
override fun onClick(p0: View?) {
when(p0?.id){
R.id.DWarga->{
val data = Intent(this,Penduduk::class.java)
data.putExtra("data","")
startActivity(data)
finish()
}
R.id.QWarga->{

intentIntegrator.setBeepEnabled(true).initiateScan()
}
R.id.MWarga->{
val data = Intent(this,KK::class.java)
startActivity(data)
finish()
}
R.id.btnLogAdmin->{
val keluar =
Intent(this,MainActivity::class.java)
44

startActivity(keluar)
finish()
}
R.id.RData->{
val masuk= Intent(this,ImportData::class.java)
startActivity(masuk)
}
}
}

. . .

4.1.3 Halaman Utama Kepala Kelurahan


Halaman Utama merupakan halaman yang menampilkan beberapa aktivitas
yang dapat dilakukan oleh user. Untuk Kepala Kelurahan dapat melakukan lihat data
kk, lihat data penduduk dan lihat data laporan. Halaman Utama Kepala Kelurahan
ditunjukkan pada Gambar 4.3.

Gambar 4.3 Halaman Utama Kepala Kelurahan


Berdasarkan implementasi dari tampilan pada Gambar 4.3 Halaman Utama
Kepala Kelurahan. Berikut adalah source code dari Gambar 4.3 halaman utama
kepala kelurahan
45

. . .

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.kdashboard)
db = DataBaseHelper(this).writableDatabase
DPenduduk.setOnClickListener(this)
KPenduduk.setOnClickListener(this)
LaporanTbl.setOnClickListener(this)
btnLogKepala.setOnClickListener(this)
}

override fun onClick(p0: View?) {


when(p0?.id){
R.id.DPenduduk->{
val data = Intent(this,KplPenduduk::class.java)
data.putExtra("data","")
startActivity(data)
finish()
}

R.id.KPenduduk->{
val data = Intent(this,KplKK::class.java)
startActivity(data)
finish()
}

R.id.btnLogKepala->{
val keluar = Intent(this,MainActivity::class.java)
startActivity(keluar)
finish()
}

R.id.LaporanTbl->{
val data = Intent(this,KplLaporan::class.java)
startActivity(data)
finish()
}
}
}

. . .

4.1.4 Halaman Penduduk Petugas


Halaman Penduduk merupakan halaman yang menampilkan data penduduk
yang berupa nik, no kk, dan nama penduduk. Halaman ini juga terdapat tombol
lokasi, tombol detail, dan tombol cari. Halaman Penduduk Petugas ditunjukkan pada
Gambar 4.4
46

Gambar 4.4 Halaman Penduduk Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.4 Halaman Penduduk
Petugas. Berikut adalah source code dari Gambar 4.4 halaman penduduk petugas

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.bpenduduk)
db = DataBaseHelper(this).writableDatabase
btnKD.setOnClickListener(this)
btnPCari.setOnClickListener(this)
btnPDet.setOnClickListener(this)
btnPLokasi.setOnClickListener(this)
RSPenduduk.setOnItemClickListener(itemClicked)
adapterSpin = ArrayAdapter(this,
android.R.layout.simple_list_item_1, arrayList)
spinner2.adapter = adapterSpin
spinner2.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?)
{
Toast.makeText(baseContext, "Tidak ada yang
47

dipilih", Toast.LENGTH_SHORT).show()
}

override fun onItemSelected(


parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
if
(adapterSpin.getItem(position)=="NIK"){orderSp("nik")}
if
(adapterSpin.getItem(position)=="Nama"){orderSp("nama")}
if (adapterSpin.getItem(position)=="No
KK"){orderSp("kk")}
}
}
}
override fun onClick(p0: View?) {
when(p0?.id){
R.id.btnKD->{
val keluar = Intent(this,Admin::class.java)
startActivity(keluar)
finish()
}
R.id.btnPCari->{
var x =
adapterSpin.getItem(spinner2.selectedItemPosition).toString()
if(x=="NIK"){
cariData(edPNIK.text.toString(),"nik")
}
if(x=="No KK"){
cariData(edPNIK.text.toString(),"kk")
}
if(x=="Nama"){
cariData(edPNIK.text.toString(),"nama")
}
}
R.id.btnPLokasi->{
var bundle = Bundle()
bundle.putString("mpnik",mpnik)
bundle.putString("mpkk",mpkk)
bundle.putString("mpnama",mpnama)
bundle.putString("mpalamat",mpalamat)
bundle.putString("mplat",mplat)
bundle.putString("mplng",mplng)
val iT = Intent(this,MapDataPenduduk::class.java)
iT.putExtras(bundle)
startActivity(iT)
}
R.id.btnPDet->{
val x = edPNIK.text
val detail = Intent(this,DetailPenduduk::class.java)
detail.putExtra("data",x.toString())
48

startActivity(detail)
finish()
}
}
}

. . .

4.1.5 Halaman Detail Penduduk Petugas


Halaman Detail Penduduk Petugas merupakan halaman yang menampilkan
detail penduduk berdasarkan data di database. Halaman Detail Penduduk Petugas
ditunjukkan pada Gambar 4.5

Gambar 4.5 Halaman Detail Penduduk Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.5 Halaman Detail
Penduduk Petugas. Berikut adalah source code dari Gambar 4.5 halaman detail
penduduk petugas

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.pdddetail)
49

db = DataBaseHelper(this).writableDatabase
btnDtlKembali.setOnClickListener(this)
}
fun getData(id:String){
db = DataBaseHelper(this).readableDatabase
var sql ="select * from warga where nik = '$id'"
val c : Cursor = db.rawQuery(sql,null)
if(c!=null && c.count>0){
c.moveToFirst()
do{
var a = c.getString(0)
var b = c.getString(1)
var k = c.getString(2)
var d = c.getString(3)
var e = c.getString(4)
var f = c.getString(5)
var g = c.getString(6)
var h = c.getString(7)
var i = c.getString(8)
var j = c.getString(9)
dtlNik.setText(a.toString())
dtlKK.setText(b.toString())
dtlNama.setText(k.toString())
dtlJenkel.setText(d.toString())
dtlTmpLhr.setText(e.toString())
dtlTglLhr.setText(f.toString())
dtlAgama.setText(g.toString())
dtlPendidikan.setText(h.toString())
dtlPekerjaan.setText(i.toString())
dtlStatus.setText(j.toString())
}while (c.moveToNext())
}
}
override fun onStart() {
super.onStart()
var p : Bundle?=intent.extras
var data = p?.getString("data").toString()
getData(data)
}

. . .

4.1.6 Halaman Lokasi Penduduk Petugas


Halaman Lokasi Penduduk Petugas merupakan halaman yang menampilkan
lokasi anda, detail lokasi dan lokasi tujuan yaitu lokasi penduduk. Halaman Lokasi
Penduduk Petugas ditunjukkan pada Gambar 4.6
50

Gambar 4.6 Halaman Lokasi Penduduk Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.6 Halaman Lokasi
Penduduk Petugas. Berikut adalah source code dari Gambar 4.6 halaman lokasi
penduduk petugas

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.mapdata)
mapFragment =
supportFragmentManager.findFragmentById(R.id.mapsFragment) as
SupportMapFragment
mapFragment.getMapAsync(this)
btnTujuan.setOnClickListener(this)
fab.setOnClickListener(this)
bmKembali.setOnClickListener(this)
}

fun showData(){
val bundle = intent.extras
if (bundle != null) {
mpnik = bundle.getString("mpnik").toString()
mpkk = bundle.getString("mpkk").toString()
mpnama = bundle.getString("mpnama").toString()
mpalamat = bundle.getString("mpalamat").toString()
51

mplat = bundle.getString("mplat").toString()
mplng = bundle.getString("mplng").toString()
}
Toast.makeText(this,"$mplat,$mplng",
Toast.LENGTH_SHORT).show()
}

override fun onStart() {


super.onStart()
showData()
}

override fun onClick(v: View?) {


when(v?.id){
R.id.btnTujuan->{
URL =
"https://api.mapbox.com/geocoding/v5/mapbox.places/" +

"$Kediri.json?proximity=$lng,$lat&access_token=$MAPBOX_TOKEN&limit=1
"
getDestinationLocation(URL)
}
R.id.fab->{
val ll = LatLng(lat,lng)

gMap!!.animateCamera(CameraUpdateFactory.newLatLngZoom(ll,15.85f))
txMyLocation.setText("Destinasi ke Rumah Saudara/i :
$mpnama\n" +
" My Position : LAT=$lat, LNG=$lng")
}
R.id.bmKembali->{
val keluar = Intent(this,Penduduk::class.java)
keluar.putExtra("data","")
startActivity(keluar)
finish()
}
}
}

. . .

4.1.7 Halaman KK Petugas


Halaman KK Petugas merupakan halaman yang menampilkan data kartu
keluarga berupa data no. kk, alamat, rt, rw, dan kode pos. Halaman ini juga terdapat
tombol lokasi, tombol detail, dan tombol cari. Halaman KK Petugas ditunjukkan pada
Gambar 4.7
52

Gambar 4.7 Halaman KK Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.7 Halaman KK
Petugas. Berikut adalah source code dari Gambar 4.7 halaman kk petugas

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.bkk)
db = DataBaseHelper(this).writableDatabase
btnKCari.setOnClickListener(this)
btnKDet.setOnClickListener(this)
btnKLokasi.setOnClickListener(this)
btnKKembali.setOnClickListener(this)
RSKK.setOnItemClickListener(itemClicked)
adapterSpin = ArrayAdapter(this,
android.R.layout.simple_list_item_1, arrayList)
spAdKK.adapter = adapterSpin
spAdKK.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?)
{
Toast.makeText(baseContext, "Tidak ada yang
dipilih", Toast.LENGTH_SHORT).show()
}
override fun onItemSelected(
parent: AdapterView<*>?,
53

view: View?,
position: Int,
id: Long
) {
if(adapterSpin.getItem(position)=="Alamat"){orderSp("alamat")}
if(adapterSpin.getItem(position)=="RT"){orderSp("rt")}
if (adapterSpin.getItem(position)=="No KK"){orderSp("kk")}
if (adapterSpin.getItem(position)=="RW"){orderSp("rw")}
}
}
}
override fun onClick(v: View?) {
when(v?.id){
R.id.btnKKembali->{
val keluar = Intent(this,Admin::class.java)
startActivity(keluar)
finish()
}
R.id.btnKCari->{
var x =
adapterSpin.getItem(spAdKK.selectedItemPosition).toString()
if(x=="Alamat"){
cariData(edKK.text.toString(),"alamat")
}
if(x=="No KK"){
cariData(edKK.text.toString(),"kk")
}
if(x=="RW"){
cariData(edKK.text.toString(),"rw")
}
if(x=="RT"){
cariData(edKK.text.toString(),"rt")
}
}
R.id.btnKLokasi->{
var bundle = Bundle()
bundle.putString("mkk",mkk)
bundle.putString("malamat",malamat)
bundle.putString("mrt",mrt)
bundle.putString("mrw",mrw)
bundle.putString("mkodepos",mkodepos)
bundle.putString("mlat",mlat)
bundle.putString("mlng",mlng)
val iT = Intent(this,MapDataKK::class.java)
iT.putExtras(bundle)
startActivity(iT)
finish()
}
R.id.btnKDet->{
val x = edKK.text
val masuk = Intent(this,Penduduk::class.java)
masuk.putExtra("data",x.toString())
startActivity(masuk)
finish()
54

}
}
}

. . .

4.1.8 Halaman Anggota KK Petugas


Halaman Detail KK Petugas merupakan halaman yang menampilkan anggota
kartu keluarga berdasarkan data di database. Halaman ini hampir sama dengan
halaman penduduk namun pada halaman ini yang ditampilkan hanya data yang
memilik nomor kk yang sama. Halaman Anggota KK Petugas ditunjukkan pada
Gambar 4.8

Gambar 4.8 Halaman Anggota KK Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.8 Halaman Anggota
KK Petugas. Berikut adalah source code dari Gambar 4.8 halaman Anggota KK
Petugas

. . .
override fun onStart() {
super.onStart()
55

showData()
var p : Bundle?=intent.extras
var data = p?.getString("data").toString()
cariKK(data)
}
fun cariKK(id : String){
var sql=""
if(!id.trim().equals("")){
sql="select m.nik as _id, m.kk, m.nama, p.alamat, p.lat,
p.lng from warga m, kk p " +
"where m.kk=p.kk and m.kk like '%$id%'"
}else{
sql="select m.nik as _id, m.kk, m.nama, p.alamat, p.lat,
p.lng from warga m, kk p " +
"where m.kk=p.kk order by m.nik asc"
}
val c : Cursor = db.rawQuery(sql,null)
lsAdapter =
SimpleCursorAdapter(this,R.layout.row_data_penduduk,c,
arrayOf("_id","kk","nama","alamat","lat","lng"),
intArrayOf(R.id.txNIK,R.id.txPKK,R.id.txPNama),
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER)
RSPenduduk.adapter = lsAdapter

}
override fun onClick(p0: View?) {
when(p0?.id){
R.id.btnKD->{
val keluar = Intent(this,Admin::class.java)
startActivity(keluar)
finish()
}
R.id.btnPCari->{
cariData(edPNIK.text.toString())
}
R.id.btnPLokasi->{
var bundle = Bundle()
bundle.putString("mpnik",mpnik)
bundle.putString("mpkk",mpkk)
bundle.putString("mpnama",mpnama)
bundle.putString("mpalamat",mpalamat)
bundle.putString("mplat",mplat)
bundle.putString("mplng",mplng)
val iT = Intent(this,MapDataPenduduk::class.java)
iT.putExtras(bundle)
startActivity(iT)
}
R.id.btnPDet->{
val x = edPNIK.text
val detail = Intent(this,DetailPenduduk::class.java)
detail.putExtra("data",x.toString())
startActivity(detail)
finish()
}
56

}
}

. . .

4.1.9 Halaman Lokasi KK Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.31 Halaman
Penduduk Petugas. Halaman Lokasi KK Petugas merupakan halaman yang
menampilkan lokasi anda, detail lokasi dan lokasi tujuan yaitu lokasi KK. Halaman
Lokasi KK Petugas ditunjukkan pada Gambar 4.9

Gambar 4.9 Halaman Lokasi KK Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.9 Halaman Lokasi
KK Petugas. Berikut adalah source code dari Gambar 4.9 halaman lokasi KK petugas

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.mapdata)
mapFragment =
supportFragmentManager.findFragmentById(R.id.mapsFragment) as
57

SupportMapFragment
mapFragment.getMapAsync(this)
btnTujuan.setOnClickListener(this)
fab.setOnClickListener(this)
bmKembali.setOnClickListener(this)
}
fun showData(){
val bundle = intent.extras
if (bundle != null) {
mkk = bundle.getString("mkk").toString()
malamat = bundle.getString("malamat").toString()
mrt = bundle.getString("mrt").toString()
mrw = bundle.getString("mrw").toString()
mkodepos = bundle.getString("mkodepos").toString()
mlat = bundle.getString("mlat").toString()
mlng = bundle.getString("mlng").toString()
}
Toast.makeText(this,"$mlat,$mlng",
Toast.LENGTH_SHORT).show()
}
override fun onStart() {
super.onStart()
showData()
}
override fun onClick(v: View?) {
when(v?.id){
R.id.btnTujuan->{
URL =
"https://api.mapbox.com/geocoding/v5/mapbox.places/" +

"$Kediri.json?proximity=$lng,$lat&access_token=$MAPBOX_TOKEN&limit=1
"
getDestinationLocation(URL)
}
R.id.fab->{
val ll = LatLng(lat,lng)

gMap!!.animateCamera(CameraUpdateFactory.newLatLngZoom(ll,15.85f))
txMyLocation.setText("Destinasi ke Rumah dengan No.
KK : $mkk\n" +
" My Position : LAT=$lat, LNG=$lng")
}
R.id.bmKembali->{
val keluar = Intent(this,KK::class.java)
startActivity(keluar)
finish()
}
}
}

. . .
58

4.1.10 Halaman Hasil QR Code Petugas


Halaman Hasil QR Code Petugas merupakan halaman yang menampilkan data
yang dihasilkan dari scan qr code. Halaman ini menampilkan data kartu keluarga dan
data anggota keluarga dari setiap kk. Halaman Hasil QR Code ditunjukkan pada
Gambar 4.10

Gambar 4.10 Halaman Hasil QR Code Petugas


Berdasarkan implementasi dari tampilan pada Gambar 4.10 Halaman Hasil
QR Code Petugas. Berikut adalah source code dari Gambar 4.10 halaman hasil qr
code petugas

. . .
override fun onStart() {
super.onStart()
var p : Bundle?=intent.extras
var data = p?.getString("data").toString()
getKK(data)
cariKK(data)
}

fun getKK(id:String){
59

db = DataBaseHelper(this).readableDatabase
var sql ="select * from kk where kk = '$id'"
val c : Cursor = db.rawQuery(sql,null)
if(c!=null && c.count>0){
c.moveToFirst()
do{
var a = c.getString(0)
var b = c.getString(1)
var k = c.getString(2)
var d = c.getString(3)
var e = c.getString(4)
txqrKK.setText(a.toString())
txqrAlamat.setText(b.toString())
txqrRT.setText(k.toString())
txqrRW.setText(d.toString())
txqrKdPos.setText(e.toString())
}while (c.moveToNext())
}
}
fun cariKK(id : String){
var sql=""
if(!id.trim().equals("")){
sql="select nik as _id, kk, nama from warga " +
"where kk like '%$id%'"
}else{
sql="select nik as _id, kk, nama from warga " +
"order by nik asc"
}
val c : Cursor = db.rawQuery(sql,null)
lsAdapter =
SimpleCursorAdapter(this,R.layout.row_data_penduduk,c,
arrayOf("_id","kk","nama"),
intArrayOf(R.id.txNIK,R.id.txPKK,R.id.txPNama),
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER)
rcAnggota.adapter = lsAdapter
}
override fun onClick(v: View?) {
when(v?.id){
R.id.btnQKembali->{
val masuk = Intent(this,Admin::class.java)
startActivity(masuk)
finish()
}
}
}

. . .

4.1.11 Halaman Penduduk Kepala Kelurahan


Halaman Penduduk Kepala Kelurahan merupakan halaman yang
menampilkan data penduduk yang berupa nik, no kk, dan nama penduduk. Halaman
60

ini juga terdapat tombol detail, dan tombol cari. Halaman Penduduk Kepala
Kelurahan ditunjukkan pada Gambar 4.11

Gambar 4.11 Halaman Penduduk Kepala Kelurahan


Berdasarkan implementasi dari tampilan pada Gambar 4.11 Halaman
Penduduk Kepala Kelurahan. Berikut adalah source code dari Gambar 4.11 halaman
penduduk kepala kelurahan

. . .
override fun onClick(v: View?) {
when(v?.id){
R.id.btnKPenduduk->{
val keluar = Intent(this,Kepala::class.java)
startActivity(keluar)
finish()
}
R.id.btnKDPenduduk->{
val x = edKPenduduk.text
val detail =
Intent(this,KplDetailPenduduk::class.java)
detail.putExtra("data",x.toString())
startActivity(detail)
finish()
61

}
R.id.btnKCPenduduk->{
var x =
adapterSpin.getItem(spKplPdd.selectedItemPosition).toString()
if(x=="NIK"){
cariData(edKPenduduk.text.toString(),"nik")
}
if(x=="No KK"){
cariData(edKPenduduk.text.toString(),"kk")
}
if(x=="Nama"){
cariData(edKPenduduk.text.toString(),"nama")
}
}
}
}

lateinit var db : SQLiteDatabase


lateinit var lsAdapter : ListAdapter

override fun onStart() {


super.onStart()
showData()
}

fun showData(){
val cursor : Cursor = db.query("warga", arrayOf("nik as
_id", "kk","nama"),
null,null,null,null,"_id asc")
lsAdapter =
SimpleCursorAdapter(this,R.layout.row_data_penduduk,cursor,
arrayOf("_id","kk","nama"), intArrayOf( R.id.txNIK,
R.id.txPKK,R.id.txPNama),
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER)
lsKplPddk.adapter = lsAdapter
}

. . .

4.1.12 Halaman Detail Penduduk Kepala Kelurahan


Halaman Detail Penduduk Kepala Kelurahan merupakan halaman yang
menampilkan detail penduduk berdasarkan data di database. Halaman Detail
Penduduk Kepala Kelurahan ditunjukkan pada Gambar 4.12
62

Gambar 4.12 Halaman Detail Penduduk Kepala Kelurahan


Berdasarkan implementasi dari tampilan pada Gambar 4.12 Halaman Detail
Penduduk Kepala Kelurahan. Berikut adalah source code dari Gambar 4.12 halaman
detail penduduk kepala kelurahan

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.pdddetail)
db = DataBaseHelper(this).writableDatabase
btnDtlKembali.setOnClickListener(this)
}

fun getData(id:String){
db = DataBaseHelper(this).readableDatabase
var sql ="select * from warga where nik = '$id'"
val c : Cursor = db.rawQuery(sql,null)
if(c!=null && c.count>0){
c.moveToFirst()
do{
var a = c.getString(0)
var b = c.getString(1)
var k = c.getString(2)
63

var d = c.getString(3)
var e = c.getString(4)
var f = c.getString(5)
var g = c.getString(6)
var h = c.getString(7)
var i = c.getString(8)
var j = c.getString(9)
dtlNik.setText(a.toString())
dtlKK.setText(b.toString())
dtlNama.setText(k.toString())
dtlJenkel.setText(d.toString())
dtlTmpLhr.setText(e.toString())
dtlTglLhr.setText(f.toString())
dtlAgama.setText(g.toString())
dtlPendidikan.setText(h.toString())
dtlPekerjaan.setText(i.toString())
dtlStatus.setText(j.toString())
}while (c.moveToNext())
}
}

override fun onStart() {


super.onStart()
var p : Bundle?=intent.extras
var data = p?.getString("data").toString()
getData(data)
}

. . .

4.1.13 Halaman KK Kepala Kelurahan


Halaman KK Kepala Kelurahan merupakan halaman yang menampilkan data
kartu keluarga berupa data no. kk, alamat, rt, rw, dan kode pos. Halaman ini juga
terdapat tombol detail, dan tombol cari. Halaman KK Kepala Kelurahan ditunjukkan
pada Gambar 4.13
64

Gambar 4.13 Halaman KK Kepala Kelurahan


Berdasarkan implementasi dari tampilan pada Gambar 4.13 Halaman KK
Kepala Kelurahan. Berikut adalah source code dari Gambar 4.13 halaman KK kepala
kelurahan

. . .
override fun onClick(v: View?) {
when(v?.id){
R.id.btnKK->{
val keluar = Intent(this,Kepala::class.java)
startActivity(keluar)
finish()
}
R.id.btnKepalaCari->{
var x =
adapterSpin.getItem(spKplKK.selectedItemPosition).toString()

if(x=="Alamat"){cariData(edKKK.text.toString(),"alamat")}
if(x=="No KK"){cariData(edKKK.text.toString(),"kk")}
if(x=="RW"){cariData(edKKK.text.toString(),"rw")}
if(x=="RT"){cariData(edKKK.text.toString(),"rt")}
}
R.id.btnKepalaDetail->{
val x = edKKK.text
val masuk = Intent(this,KplPenduduk::class.java)
65

masuk.putExtra("data",x.toString())
startActivity(masuk)
finish()
}
}
}

. . .

4.1.14 Halaman Anggota KK Kepala Kelurahan


Halaman Detail KK Kepala Kelurahan merupakan halaman yang
menampilkan anggota kartu keluarga berdasarkan data di database. Halaman ini
hampir sama dengan halaman penduduk namun pada halaman ini yang ditampilkan
hanya data yang memilik nomor kk yang sama. Halaman Anggota KK Kepala
Kelurahan ditunjukkan pada Gambar 4.14

Gambar 4.14 Halaman Anggota KK Kepala Kelurahan


66

Berdasarkan implementasi dari tampilan pada Gambar 4.14 Halaman Anggota


KK Kepala Kelurahan. Berikut adalah source code dari Gambar 4.14 halaman
anggota KK kepala kelurahan

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.kepalapenduduk)
db = DataBaseHelper(this).writableDatabase
btnKCPenduduk.setOnClickListener(this)
btnKDPenduduk.setOnClickListener(this)
btnKPenduduk.setOnClickListener(this)
lsKplPddk.setOnItemClickListener(itemClicked)
}
fun cariKK(id : String){
var sql=""
if(!id.trim().equals("")){
sql="select nik as _id, kk, nama from warga " +
"where kk like '%$id%'"
}else{
sql="select nik as _id, kk, nama from warga " +
"order by nik asc"
}
val c : Cursor = db.rawQuery(sql,null)
lsAdapter =
SimpleCursorAdapter(this,R.layout.row_data_penduduk,c,
arrayOf("_id","kk","nama"),
intArrayOf(R.id.txNIK,R.id.txPKK,R.id.txPNama),
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER)
lsKplPddk.adapter = lsAdapter
}

. . .

4.1.15 Halaman Laporan Kepala Kelurahan


Halaman Laporan Kepala Kelurahan merupakan halaman yang menampilkan
data laporan dari setiap rt berupa data jumlah kk, jumlah warga, jumlah pria dan
jumlah wanita. Halaman Laporan Kepala Kelurahan ditunjukkan pada Gambar 4.15
67

Gambar 4.15 Halaman Laporan Kepala Kelurahan


Berdasarkan implementasi dari tampilan pada Gambar 4.15 Halaman Laporan
Kepala Kelurahan. Berikut adalah source code dari Gambar 4.15 halaman laporan
kepala kelurahan

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.kepalalaporan)
db = DataBaseHelper(this).writableDatabase
btnKLaporan.setOnClickListener(this)
btnCrLpr.setOnClickListener(this)
//spinner
adapterSpin = ArrayAdapter(this,
android.R.layout.simple_list_item_1, arrayList)
spLprKpl.adapter = adapterSpin
//data
spLprKpl.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?)
{
Toast.makeText(baseContext, "Tidak ada yang
dipilih", Toast.LENGTH_SHORT).show()
}
68

override fun onItemSelected(


parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
if
(adapterSpin.getItem(position)=="Nama"){orderSp("nama")}
if (adapterSpin.getItem(position)=="Jumlah
KK"){orderSp("jkk")}
if (adapterSpin.getItem(position)=="Jumlah
Warga"){orderSp("jwarga")}
}
}
}

fun orderSp(id : String){


var sql=""
if(!id.trim().equals("")){
sql="select nama as _id, jkk, jpria, jwanita, jwarga
from lapor " +
"order by $id asc"
}else{
sql="select nama as _id, jkk, jpria, jwanita, jwarga
from lapor " +
"order by nama asc"
}
val c : Cursor = db.rawQuery(sql,null)
lsAdapter =
SimpleCursorAdapter(this,R.layout.row_data_laporan,c,
arrayOf("_id","jkk","jpria","jwanita","jwarga"),
intArrayOf( R.id.lnama,
R.id.ljmlKK,R.id.lPria,R.id.lWanita,R.id.ljmlWarga),
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER)
lsDL.adapter = lsAdapter
}

. . .

4.1.16 Halaman Import Data


Halaman Import Data merupakan halaman yang digunakan untuk memilih
data csv dari internal atau eksternal storage yang akan menjadi dasar data di database
sqlite. Halaman Import Data ditunjukkan pada Gambar 4.16
69

Gambar 4.16 Halaman Import Data


Berdasarkan implementasi dari tampilan pada Gambar 4.16 Halaman Import
Data. Berikut adalah source code dari Gambar 4.16 halaman laporan kepala
kelurahan

. . .
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.import_csv)
db = DataBaseHelper(this).writableDatabase
btn1Pdd.setOnClickListener(this)
btn2KK.setOnClickListener(this)
btn3Lapor.setOnClickListener(this)
button4.setOnClickListener(this)
}
override fun onClick(v: View?) {
when(v?.id){
R.id.btn1Pdd->{
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "text/*"
startActivityForResult(intent,READ_REQUEST_CODE_PDD)
}
R.id.btn2KK->{
val intent = Intent(Intent.ACTION_GET_CONTENT)
70

intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "text/*"
startActivityForResult(intent,READ_REQUEST_CODE_KK)
}
R.id.btn3Lapor->{
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "text/*"
startActivityForResult(intent,READ_REQUEST_CODE_LPR)
}
R.id.button4->{
val masuk= Intent(this,Admin::class.java)
startActivity(masuk)
finish()
}
}
}

. . .

4.2 Implementasi Data


Pada tahap ini dilakukan implementasi dari perancangan database yang telah
dilakukan pada tahap sebelumnya. Berikut ini adalah tampilan implementasi database
Sistem Informasi Pengelolaan Data Warga Kelurahan Setonogedong Berbasis
Android.

4.2.1 Tabel Warga


Struktur entitas pada tabel warga dapat dilihat pada gambar 4.17 dimana tabel
warga memiliki 10 atribut didalamnya yaitu : nik sebagai primary key, kk, nama,
jenkel, tmplhr, tgllhr, agama, pendidikan, pekerjaan, dan status. Berikut merupakan
implementasi dari tabel warga yang ditunjukkan pada Gambar 4. 17.

Gambar 4.17 Tabel Warga


71

Berdasarkan implementasi dari tampilan pada Gambar 4.17 Tabel Warga.


Berikut adalah source code dari Gambar 4.17 Tabel Warga
. . .
override fun onCreate(db: SQLiteDatabase?) {
val tPend = "create table warga(nik text primary key, kk
text not null, nama text not null, jenkel text not null, tmplhr text
not null, tgllhr text not null, agama text not null, pendidikan text
not null, pekerjaan text not null, status text not null)"
db?.execSQL(tPend)
}

. . .

4.2.2 Tabel KK
Struktur entitas pada tabel kk dapat dilihat pada gambar 4.18 dimana tabel kk
memiliki 7 atribut didalamnya yaitu : kk sebagai primary key, alamat, rt, rw, kodepos,
lat, dan lng. Berikut merupakan implementasi dari tabel kk yang ditunjukkan pada
Gambar 4.18.

Gambar 4.18 Tabel KK


Berdasarkan implementasi dari tampilan pada Gambar 4.18 Tabel KK.
Berikut adalah source code dari Gambar 4.18 Tabel KK
. . .
override fun onCreate(db: SQLiteDatabase?) {
val tKK = "create table kk(kk text primary key, alamat text
not null, rt text not null, rw text not null, kodepos integer not
null, lat text not null, lng text not null)"
db?.execSQL(tKK)
}

. . .
72

4.2.3 Tabel Lapor


Struktur entitas pada tabel lapor dapat dilihat pada gambar 4.19 dimana tabel
lapor memiliki 6 atribut didalamnya yaitu : id sebagai primary key, nama, jkk, jpria,
jwanita, dan jwarga. Berikut merupakan implementasi dari tabel lapor yang
ditunjukkan pada Gambar 4.19

Gambar 4.19 Tabel Lapor


Berdasarkan implementasi dari tampilan pada Gambar 4.19 Tabel Lapor.
Berikut adalah source code dari Gambar 4.19 Tabel Lapor
. . .
override fun onCreate(db: SQLiteDatabase?) {
val tlapor = "create table lapor(id integer primary key
autoincrement, nama text not null, jkk integer not null, jpria
integer not null, jwanita integer not null, jwarga integer not
null)"
db?.execSQL(tlapor)
}

. . .
BAB V
PENGUJIAN DAN PEMBAHASAN

5.1 Skenario Uji Coba


Pengujian yang dilakukan dalam penelitian ini menggunakan pengujian black
box. Sistem informasi dikatakan berhasil apabila dapat menjalan kan fungsi-
fungsinya dengan baik dan tidak mengalami error. Pengujian ini dilakukan dengan
memberikan masukan pada sistem dengan berbagai kondisi, kemudian keluaran yang
dihasilkan sistem akan dibandingkan dengan keluaran yang diharapakan. Berikut ini
merupakan skenario pengujian dan analisis hasil pengujian dari “Sistem Informasi
Pengelolaan Data Warga Kelurahan Setonogedong Berbasis Android”.

5.1.1 Pengujian Login


Pengujian halaman login dilakukan dengan memasukkan password di form
yang tersedia, Ketika login berhasil dilakukan maka pengguna akan diarahkan ke
halaman utama masing masing pengguna. Jika gagal melakukan login maka tidak
akan terjadi apa apa sehingga pengguna harus memasukka kembali password dengan
benar. Pengujian login ditunjukkan pada Gambar 5.1.

Gambar 5.1 Halaman Login

73
74

5.1.2 Pengujian Menampilkan Data Penduduk Petugas


Pengujian pada halaman ini digunakan untuk menampilkan data penduduk
yang diambil dari database. Jika gagal maka data tidak akan ditampilkan. Pengujian
Menampilkan Data Penduduk Petugas ditunjukkan pada Gambar 5.2.

Gambar 5.2 Halaman Menampilkan Data Penduduk Petugas

5.1.3 Pengujian Mencari Data Penduduk Petugas


Pengujian pada halaman ini digunakan untuk mencari data penduduk sesuai
yang akan dicari. Jika data tidak ditemukan maka data tidak akan ditampilkan.
Pengujian Mencari Data Penduduk Petugas ditunjukkan pada Gambar 5.3.
75

Gambar 5.3 Halaman Mencari Data Penduduk Petugas

5.1.4 Pengujian Menampilkan Detail Data Penduduk Petugas


Pengujian pada halaman ini digunakan untuk menampilkan detail data
penduduk yang diambil dari database. Jika data tidak ditemukan maka data tidak akan
ditampilkan. Pengujian Menampilkan Detail Data Penduduk Petugas ditunjukkan
pada Gambar 5.4.

Gambar 5.4 Halaman Menampilkan Detail Data Penduduk Petugas


76

5.1.5 Pengujian Menampilkan Lokasi Penduduk Petugas


Pengujian pada halaman ini digunakan untuk menampilkan lokasi penduduk
sesuai lokasi kk masing masing penduduk. Jika gagal maka hanya lokasi yang
ditampilkan. Pengujian Menampilkan Lokasi Penduduk Petugas ditunjukkan pada
Gambar 5.5.

Gambar 5.5 Halaman Menampilkan Penduduk Petugas

5.1.6 Pengujian Menampilkan Data KK Petugas


Pengujian pada halaman ini digunakan untuk menampilkan data kartu
keluarga yang diambil dari database. Jika gagal maka data tidak akan ditampilka.
Pengujian Menampilkan Data KK Petugas ditunjukkan pada Gambar 5.6.
77

Gambar 5.6 Halaman Menampilkan Data KK Petugas

5.1.7 Pengujian Mencari Data KK Petugas


Pengujian pada halaman ini digunakan untuk mencari data kartu keluarga
sesuai yang akan dicari. Jika data tidak ditemukan maka data tidak akan ditampilkan.
Pengujian Mencari Data KK Petugas ditunjukkan pada Gambar 5.7.

Gambar 5.7 Halaman Mencari Data KK Petugas


78

5.1.8 Pengujian Menampilkan Data Anggota KK Petugas


Pengujian pada halaman ini digunakan untuk menampilkan anggota data kartu
keluarga yang diambil dari database dan ditampilkan pada halaman data penduduk.
Jika data tidak ditemukan maka data tidak akan ditampilkan. Pengujian Menampilkan
Data Anggota KK Petugas ditunjukkan pada Gambar 5.8.

Gambar 5.8 Halaman Menampilkan Data Anggota KK Petugas

5.1.9 Pengujian Menampilkan Lokasi KK Petugas


Pengujian pada halaman ini digunakan untuk menampilkan lokasi kartu
keluarga sesuai lokasi di database. Jika gagal maka hanya lokasi yang ditampilkan.
Pengujian Menampilkan Lokasi KK Petugas ditunjukkan pada Gambar 5.9.
79

Gambar 5.9 Halaman Menampilkan Lokasi KK Petugas

5.1.10 Pengujian Scan QR Code Petugas


Pengujian pada halaman ini digunakan untuk menampilkan kamera sebagai
media pembantu scan qr code. Jika gagal maka data tidak akan ditampilkan.
Pengujian Scan QR Code Petugas ditunjukkan pada Gambar 5.10.

Gambar 5.10 Halaman Scan QR Code Petugas


80

5.1.11 Pengujian Hasil Scan QR Code Petugas


Pengujian pada halaman ini digunakan untuk menampilkan hasil dari scan qr
code berupa data penduduk dan data kartu keluarga. Jika gagal maka data tidak akan
ditampilkan. Pengujian Hasil Scan QR Code Petugas ditunjukkan pada Gambar 5.11.

Gambar 5.11 Halaman Hasil Scan QR Code Petugas

5.1.12 Pengujian Menampilkan Data Penduduk Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk menampilkan data penduduk
yang diambil dari database. Jika gagal maka data tidak akan ditampilkan. Pengujian
Menampilkan Data Penduduk Kepala Kelurahan ditunjukkan pada Gambar 5.12.
81

Gambar 5.12 Halaman Menampilkan Data Penduduk Kepala Kelurahan

5.1.13 Pengujian Mencari Data Penduduk Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk mencari data penduduk sesuai
yang akan dicari. Jika data tidak ditemukan maka data tidak akan ditampilkan.
Pengujian Mencari Data Penduduk Kepala Kelurahan ditunjukkan pada Gambar 5.13.

Gambar 5.13 Halaman Mencari Data Penduduk Kepala Kelurahan


82

5.1.14 Pengujian Menampilkan Detail Data Penduduk Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk menampilkan detail data
penduduk yang diambil dari database. Jika data tidak ditemukan maka data tidak akan
ditampilkan. Pengujian Menampilkan Detail Data Penduduk Kepala Kelurahan
ditunjukkan pada Gambar 5.14.

Gambar 5.14 Halaman Menampilkan Detail Data Penduduk Kepala Kelurahan

5.1.15 Pengujian Menampilkan Data KK Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk menampilkan data kartu
keluarga yang diambil dari database. Jika gagal maka data tidak akan ditampilka.
Pengujian Menampilkan Data KK Kepala Kelurahan ditunjukkan pada Gambar 5.15.
83

Gambar 5.15 Halaman Menampilkan Data KK Kepala Kelurahan

5.1.16 Pengujian Mencari Data KK Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk mencari data kartu keluarga
sesuai yang akan dicari. Jika data tidak ditemukan maka data tidak akan ditampilkan.
Pengujian Mencari Data KK Kepala Kelurahan ditunjukkan pada Gambar 5.16.

Gambar 5.16 Halaman Mencari Data KK Kepala Kelurahan


84

5.1.17 Pengujian Menampilkan Anggota KK Kepala Kelurahan


Pengujian pada halaman ini digunakan untuk menampilkan anggota data kartu
keluarga yang diambil dari database dan ditampilkan pada halaman data penduduk.
Jika data tidak ditemukan maka data tidak akan ditampilkan. Pengujian Menampilkan
Anggota KK Kepala Kelurahan ditunjukkan pada Gambar 5.17.

Gambar 5.17 Halaman Menampilkan Anggota KK Kepala Kelurahan

5.1.18 Pengujian Menampilkan Data Laporan


Pengujian pada halaman ini digunakan untuk menampilkan data laporan dari
masing masing rt. Jika gagal maka data tidak akan ditampilkan. Pengujian
Menampilkan Data Laporan ditunjukkan pada Gambar 5.18.
85

Gambar 5.18 Halaman Menampilkan Data Laporan

5.1.19 Pengujian Import Data


Pengujian pada halaman ini digunakan untuk import data yang akan dipilih
sesuai data yang dibutuh berupa data csv. Jika gagal maka akan langsung ditampilkan
dashboard. Pengujian Menampilkan Data Laporan ditunjukkan pada Gambar 5.19.

Gambar 5.19 Halaman Menampilkan Data Laporan


86

5.2 Analisis Hasil Pengujian


Dari hasil pengujian menggunakan metode black box terhadap sistem, dapat
dibuktikan bahwa sistem mampu menjalankan setiap proses uji coba dengan baik dan
berhasil. Sistem informasi pengelolaan data warga tersebut dapat membantu pihak
kelurahan Setonogedong dalam mengoptimalkan kinerja dengan lebih mudah dan
efisien. Berikut merupakan deskripsi dan hasil pengujian sistem menggunakan
metode black box yangd ditunjukkan pada Tabel 5.6 Tabel Pengujian Black Box.

Table 5.1 Tabel Pengujian Black Box

Prosedur Hasil yang Hasil


Deskripsi Masukan
Pengujian diharapkan Pengujian

Pengujian Memilih menu Klik Menu Data Masuk ke halaman Sesuai


Menampilkan data penduduk Penduduk data penduduk
Data Penduduk

Pengujian Memasukkan Klik tombol cari Menampilkan data Sesuai


Mencari Data data sesuai yang dicari
Penduduk form yang
disediakan

Pengujian Memilih data Klik data, Masuk ke halaman Sesuai


Menampilkan yang ingin kemudian klik detail data
Detail Data dilihat tombol detail penduduk
Penduduk

Pengujian Memilih menu Klik Menu Data Masuk ke halaman Sesuai


Menampilkan data kk KK data KK
Data KK

Pengujian Memasukkan Klik tombol cari Menampilkan data sesuai


Mencari Data data sesuai yang dicari
KK form yang
disediakan

Pengujian Memilih data Klik data, Masuk ke halaman Sesuai


Menampilkan yang ingin kemudian klik data penduduk
Data Anggota dilihat tombol anggota dengan nomor KK
87

KK yang dipilih

Pengujian Memilih menu Klik menu scan Menampilkan Sesuai


Scan QR Code scan qr code qr code kamera sebagai
media scan qr code

Pengujian Menscan qr Mengarahkan Masuk ke halaman Sesuai


Hasil Scan QR code dengan kamera ke qr hasil scan qr code
Code kamera code dengan data sesuai
qr code

Pengujian Memilih menu Klik Menu Data Masuk ke halaman Sesuai


Menampilkan data laporan Laporan data laporan
Data Laporan

Pengujian Memilih data Klik data Masuk ke halaman Sesuai


Menampilkan penduduk yang penduduk, data map penduduk
Lokasi ingin dilihat kemudian klik
Penduduk lokasinya tombol lokasi

Pengujian Memilih data KK Klik data KK, Masuk ke halaman Sesuai


Menampilkan yang ingin kemudian klik data map kk
Lokasi KK dilihat lokasinya tombol lokasi

Pengujian Memilih data Klik salah satu Masuk kembali ke Sesuai


Import Data csv dari internal tombol lalu halaman import jika
atau eksternal akan berhasil dan
storage menampilkan halaman dashboard
file manager jika gagal
BAB VI
KESIMPULAN

6.1 Kesimpulan
Berdasarkan hasil penelitian proyek akhir yang berjudul “Sistem Informasi
Pengelolaan Data Warga Kelurahan Setonogedong Berbasis Android” maka dapat
diambil kesimpulan sebagai berikut :

1. Telah berhasil merancang dan membangun sistem informasi pengelolaan data


warga kelurahan setonogedong berbasis android
2. Sistem informasi pengelolaan data warga kelurahan setonogedong berbasis
android menggunakan bahasa pemrograman kotlin dan menggunakan basis
data SQLite Database masih memerlukan pengembangan lebih lanjut
mengenai fitur-fitur yang masih kurang.

6.2 Saran
Saran yang dapat diberikan untuk pengembangan sistem informasi
pengelolaan data warga kelurahan setonogedong berbasis android adalah sebagai
berikut :

1. Diperlukan peningkatan kualitas sumber daya manusia dalam


mengoperasikan dan memelihara sistem ini dengan baik.
2. Sistem dibuat dengan menggunakan sistem backup untuk menghindari
kehilangan data dengan car menyimpannya di internal storage maupun
external storage. Penelitian selanjutnya diharapkan dapat mengembangkan
dengan fitur yang lebih memudahkan para user untuk melakukan kinerja
masing-masing.

88
DAFTAR PUSTAKA

Alda, M. (2020). Sistem Informasi Pengolahan Data Kependudukan Pada Kantor


Desa Sampean Berbasis Android. Jurnal Media Informatika Budidarma, 4(1), 1.
https://doi.org/10.30865/mib.v4i1.1716
Anggraeni, E. Y. (2017). Pengantar Sistem Informasi. Penerbit Andi.
AS, R., & Shalahudin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan
Berorientasi Objek Bandung: Informatika.
Huda, B. (2018). Sistem Informasi Data Penduduk Berbasis Android Dan Web
Monitoring (Studi Kasus Pemerintah Kota Karawang). 3(1), 62–69.
Jannah, R., Masykur, F., & Buntoro, G. A. (2019). Rancang Bangun Sistem Informasi
Data Kependudukan Desa Berbasis Desktop dan Android. KOMPUTEK, 3(1),
68–74.
Rossa, A. S., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak. Bandung:
Penerbit: Informatika Bandung.
Saputra, R., Fadly, M., & Rickomyungyahoocoid, E. (n.d.). Aplikasi pendataan
penduduk pada kelurahan jerambah gantung berbasis android.
Syahrani, A., & Hutripa, D. M. (2017). PERANCANGAN APLIKASI
PENDATAAN KELUARGA BERBASIS ANDROID (Studi Kasus: BKKBN
Kota Padang). Jurnal Teknoif, 5(2), 88–96.
https://doi.org/10.21063/jtif.2017.v5.2.88-96

89

Anda mungkin juga menyukai