rancang bangun sistem informasi spasial pada...
Post on 04-Nov-2020
5 Views
Preview:
TRANSCRIPT
RANCANG BANGUN SISTEM INFORMASI SPASIAL
PADA PELAPORAN KEGIATAN KULIAH KERJA NYATA
UIN SYARIF HIDAYATULLAH JAKARTA
(STUDI KASUS : PPM UIN SYARIF HIDAYATULLAH JAKARTA)
SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Strata Satu
Program Studi Sistem Informasi
ABDURRAHMAN HARITS
11150930000028
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2019 M / 1441 H
I
HALAMAN JUDUL
RANCANG BANGUN SISTEM INFORMASI SPASIAL
PADA PELAPORAN KEGIATAN KULIAH KERJA NYATA
UIN SYARIF HIDAYATULLAH JAKARTA
(STUDI KASUS : PPM UIN SYARIF HIDAYATULLAH JAKARTA)
SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Strata Satu
Program Studi Sistem Informasi
Disusun oleh :
Abdurrahman Harits
11150930000028
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2019 M / 1441 H
II
LEMBAR PENGESAHAN SKRIPSI
RANCANG BANGUN SISTEM INFORMASI SPASIAL
PADA PELAPORAN KEGIATAN KULIAH KERJA NYATA
UIN SYARIF HIDAYATULLAH JAKARTA
(STUDI KASUS : PPM UIN SYARIF HIDAYATULLAH JAKARTA)
Disusun oleh :
Abdurrahman Harits
11150930000028
Menyetujui,
Dosen Pembimbing I Dosen Pembimbing II
Zainul Arham, M.Si
NIP. 19740730 200710 1 002
Eva Khudzaeva, M.Si
NIDN. 306108301
Mengetahui,
Ketua Program Studi Sistem Informasi Fakultas Sains dan Teknologi
UIN Syarif Hidayatullah Jakarta
A'ang Subiyakto, PhD
III
LEMBAR PENGESAHAN UJIAN
Skripsi yang berjudul “Rancang Bangun Sistem Informasi Spasial Pada Pelaporan
Kegiatan Kuliah Kerja Nyata UIN Syarif Hidayatullah Jakarta (Studi Kasus : PPM
UIN Syarif Hidayatullah Jakarta)” telah diuji dan dinyatakan lulus dalam sidang
munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif
Hidayatullah Jakarta pada hari . Skripsi telah diterima sebagai
salah satu syarat untuk memperoleh gelar Sarjana Strata Satu (S1) Program Studi
Sistem Informasi.
Menyetujui,
Penguji I Penguji II
____________________
NIP.
____________________
NIP.
Dosen Pembimbing I Dosen Pembimbing II
Zainul Arham, M.Si
NIP. 19740730 200710 1 002
Eva Khudzaeva, M.Si
NIDN. 306108301
Mengetahui,
Dekan Fakultas Sains dan Teknologi Ketua Prodi Sistem Informasi
Prof. Dr. Lily Surayya Eka Putri,
NIP. 19690404 200501 2 005
A'ang Subiyakto, PhD
NIP. 19760219 200710 1 002
IV
PERYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR
HASIL KARYA SAYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, 26 November 2019
Abdurrahman Harits
11150930000028
V
ABSTRAK
ABDURRAHMAN HARITS – 11150930000028, “Rancang Bangun Sistem
Informasi Spasial Pada Pelaporan Kegiatan Kuliah Kerja Nyata UIN Syarif
Hidayatullah Jakarta (Studi Kasus : PPM UIN Syarif Hidayatullah Jakarta)”,
dibawah bimbingan ZAINUL ARHAM, M.SI dan EVA KHUDZAEVA, M.SI.
Lembaga Penelitian dan Pengabdian kepada Masyarakat (LP2M) merupakan
lembaga yang didirikan berdasarkan pemahaman terhadap pentingnya integrasi
kegiatan penelitian dan pengabdian kepada masyarakat yang bertujuan untuk
mendukung pencapaian target Rencana Strategis (Renstra) UIN Syarif Hidayatullah
Jakarta. Sebagai salah satu dari lima bidang LP2M, Pusat Pengabdian kepada
Masyarakat (PPM) bertugas untuk mengkoordinir dalam pelaksanaan kegiatan dan
program kerja di bidang pengabdian masyarakat yang dilakukan melalui program
Kuliah Kerja Nyata oleh mahasiswa dan dosen yang berasal dari berbagai fakultas.
Namun saat ini, informasi dari hasil kegiatan KKN terdahulu di sebuah wilayah
masih sangat sulit untuk diperoleh. Selain itu, sistem pelaporan kegiatan secara
online juga belum dimiliki oleh pelaksana kegiatan KKN UIN Syarif Hidayatullah
Jakarta. Sistem pelaporan sangat penting dalam kegiatan KKN dimana hal ini
berperan untuk mengetahui perkembangan atau hasil dari program kerja yang telah
dilakukan kelompok. Berdasarkan hal tersebut, penelitian ini bertujuan untuk
membangun sebuah sistem informasi berbasis web dan mobile yang dapat
menunjukan lokasi dari hasil kegiatan KKN dan juga beberapa fitur salah satunya
yaitu media untuk pelaporan kegiatan KKN. Peneliti menggunakan metode Rapid
Application Development (RAD) dengan alat bantu Unified Modeling Language
(UML). Sistem ini menggunakan PHP dan Java sebagai bahasa pemrograman dan
MySQL sebagai database. Hasil yang dicapai adalah Sistem Informasi KKN-PPM
yang merupakan sebuah sistem berbasis web dan mobile yang dapat digunakan oleh
lembaga Pusat Pengabdian kepada Masyarakat (PPM), peserta kegiatan KKN, dan
publik yang memiliki fitur pelaporan kegiatan, laporan mingguan, pengunduhan
buku KKN, dan notifikasi alarm tanda darurat yang bertujuan untuk membantu
dalam pelaksanaan dan pelaporan kegiatan KKN UIN Syarif Hidayatullah Jakarta.
Kata kunci: Sistem Informasi Spasial, Sistem Informasi KKN, Kuliah Kerja Nyata,
Pusat Pengabdian kepada Masyarakat, Rapid Application Development.
XX Halaman + V Bab + 226 Halaman + 80 Gambar + 49 Tabel + Daftar Pustaka +
Lampiran
VI
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Puji dan syukur penulis panjatkan kepada Allah SWT yang telah
memberikan rahmat dan hidayah-Nya, sehingga penulis tetap dalam keadaan sehat
dapat menyelesaikan Laporan Praktik Kerja Lapangan dengan baik. Shalawat serta
salam tidak lupa penulis hanturkan kepada kepada baginda Nabi Muhammad
SAW, yang telah membawa dunia dari zaman kegelapan menuju zaman yang terang
benderang seperti yang kita rasakan saat ini.
Penyusunan skripsi dengan judul “Rancang Bangun Sistem Informasi
Spasial Pada Pelaporan Kegiatan Kuliah Kerja Nyata UIN Syarif
Hidayatullah Jakarta (Studi Kasus : PPM UIN Syarif Hidayatullah Jakarta)”
merupakan skripsi yang penulis susun sebagai syarat untuk memperoleh gelar
sarjana strata satu pada Program Studi Sistem Informasi, Fakultas Sains dan
Teknologi, Universitas Islam Negeri Jakarta.
Dalam penyusunan skripsi ini penulis telah mendapat banyak bantuan dan
bimbingan serta semangat dari berbagai pihak. Tanpa bantuan dari berbagai pihak,
tentunya proses penyusunan skripis ini akan sangat sulit untuk diselesaikan. Oleh
karena itu, penulis ingin menyampaikan terima kasih kepada:
1. Prof. Dr. Lily Surayya Eka Putri, M.Env.Stud selaku Dekan Fakultas Sains
dan Teknologi Universitas Islam Negeri Syarif Hidayatullah.
2. Bapak A’ang Subiyakto, Ph.D selaku Ketua Program Studi Sistem
Informasi dan Ibu Nida'ul Hasanati,,MMSI selaku Sekretaris Program Studi
Sistem Informasi Fakultas Sains dan Teknologi.
VII
3. Bapak Zainul Arham, M.Si, selaku Dosen Pembimbing I dan Ibu Eva
Khudzaeva, M.Si, selaku Dosen Pembimbing II yang telah memberikan
ilmu dan bimbingannya sehingga skripsi ini dapat terselesaikan.
4. Dosen-dosen Program Studi Sistem Informasi yang telah memberikan ilmu
selama perkuliahan.
5. Bapak Tantan Hermansyah, S.Ag., M.Si sebagai ketua Pusat Pengabdian
kepada Masyarakat yang telah mengizinkan penulis untuk melakukan
penelitian dan menyelesaikan penyusunan skripsi ini.
6. Bapak Suhendra dan Bapak Muhammad Syarif dari Pusat Pengabdian
kepada Masyarakat yang telah menerima penulis dan membimbing penulis
untuk menyelesaikan skripsi ini.
7. Kedua orang tua penulis, Bapak Didik Handoko dan Ibu Yulisma yang
selalu memberikan semangat, dukungan, dan doa sehingga penulis dapat
menyelesaikan skripsi ini.
8. Kepada Gerry, Rezky, Fathur, Andi, Arga, dan Rahmadi ,Yusrina, Ranti,
Pratiwi, dan Yusrina yang telah memberikan motivasi, dukungan, dan ilmu
kepada penulis.
9. Teman-teman Prodi Sistem Informasi angkatan 2015 yang telah mendukung
dan memotivasi penulis untuk menyelesaikan skripsi ini.
10. Serta seluruh pihak-pihak yang terkait dan telah berjasa membantu
menyelesaikan skripsi ini yang tidak dapat disebutkan satu persatu namun
tidak mengurangi sedikitpun rasa hormat dan terimakasih dari penulis.
VIII
Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini,
terutama dalam penggunaan bahasa dan juga susunannya, untuk itu penulis
memohon pembaca untuk memaklumi kekurangan ini.
Akhir kata penulis berharap semoga skripsi ini dapat bermanfaat bagi
penulis khususnya dan bagi para pembaca pada umumnya, Aamin.
Wassalamualaikum Wr. Wb
Jakarta, 26 November 2019
Abdurrahman Harits
11150930000028
IX
DAFTAR ISI
HALAMAN JUDUL ...................................................................................................... I
LEMBAR PENGESAHAN SKRIPSI ....................................................................... II
LEMBAR PENGESAHAN UJIAN .......................................................................... III
PERYATAAN .............................................................................................................. IV
ABSTRAK ..................................................................................................................... V
KATA PENGANTAR ................................................................................................ VI
DAFTAR ISI ................................................................................................................. IX
DAFTAR GAMBAR .................................................................................................. XIII
DAFTAR TABEL ....................................................................................................... XIII
DAFTAR SIMBOL .................................................................................................. XVII
BAB I ............................................................................................................................... 1
1.1 Latar Belakang ............................................................................................ 1
1.2 Identifikasi Masalah .................................................................................. 10
1.3 Perumusan Masalah .................................................................................. 10
1.4 Batasan Masalah ........................................................................................ 11
1.5 Tujuan dan Manfaat Penelitian ............................................................... 12
1.5.1 Tujuan Umum Penelitian ............................................................. 12
1.5.2 Tujuan Khusus Penelitian ............................................................ 12
1.5.3 Manfaat Penelitian ........................................................................ 13
1.6 Metodelogi Penelitian ................................................................................ 14
1.6.1 Metode Pengumpulan Data .......................................................... 14
1.6.2 Metode Pengembangan Sistem .......................................................... 15
1.7 Sistematika Penulisan ............................................................................... 16
BAB II ............................................................................................................................ 18
2.1 Konsep Dasar Sistem ............................................................................ 18
2.1.1 Pengertian Sistem .............................................................................. 18
2.1.2 Karakteristik Sistem .......................................................................... 19
2.1.3 Klasifikasi Sistem ............................................................................... 21
2.2 Konsep Dasar Infomasi ........................................................................ 22
X
2.2.1 Data ..................................................................................................... 22
2.2.2 Informasi............................................................................................. 23
2.2.3 Kualitas Informasi ............................................................................. 24
2.3 Konsep Dasar Sistem Informasi .......................................................... 26
2.3.1 Pengertian Sistem Informasi............................................................. 26
2.3.2 Komponen Sistem Informasi ............................................................ 27
2.4 Sistem Informasi Geografis ................................................................. 28
2.4.1 Pengertian Sistem Informasi Geografis ........................................... 28
2.4.2 Data Sistem Informasi Geografis ..................................................... 29
2.4.3 Manfaat Sistem Informasi Geografis ............................................... 30
2.5 Peta......................................................................................................... 31
2.5.1 Pengertian Peta .................................................................................. 31
2.5.2 Jenis-jenis Peta ................................................................................... 31
2.6 Georefencing ......................................................................................... 33
2.6.1 Pengertian Georefencing ................................................................... 33
2.6.2 Data Vector ......................................................................................... 33
2.6.3 Data Raster ......................................................................................... 34
2.7 KKN ....................................................................................................... 34
2.8 Metode Pengumpulan Data ................................................................. 35
2.8.1 Sumber Data Primer .......................................................................... 35
2.8.2 Sumber Data Sekunder ...................................................................... 36
2.9 Kerangka berpikir ................................................................................ 36
2.10 Konsep Permodelan Objek .................................................................. 37
2.11 Rapid Application Development ......................................................... 38
2.10.1 Pengertian Rapid Application Development .................................. 38
2.10.2 Tahapan Rapid Application Development ..................................... 39
2.10.3 Kelebihan dan Kekurangan Rapid Application Development ..... 42
2.12 Unified Modelling Language ............................................................... 43
2.11.1 Pengertian Unified Modelling Language ........................................ 43
2.11.2 Langkah-Langkah penggunaan Unified Modelling Language ..... 44
2.11.3 Usecase Diagram ............................................................................... 46
2.11.4 Activity Diagram ................................................................................ 48
XI
2.11.5 Class Diagram .................................................................................... 51
2.11.6 Maping Cardinality ............................................................................ 52
2.11.7 sequence Diagram .............................................................................. 52
2.13 Database dan DBMS ............................................................................ 55
2.12.1 Pengertian Database ......................................................................... 55
2.12.2 Database Management System (DBMS) ......................................... 56
2.14 Internet .................................................................................................. 56
2.15 Website .................................................................................................. 57
2.16 PHP ........................................................................................................ 57
2.17 Lavarel ................................................................................................... 58
2.18 Android .................................................................................................. 59
2.19 Java ........................................................................................................ 61
2.20 Global Positioning System ................................................................... 61
2.21 MySQL .................................................................................................. 62
2.22 Google Map API ................................................................................... 63
2.23 Teknik Pengujian Software ................................................................. 64
2.24 Literatur Sejenis ................................................................................... 64
BAB III .......................................................................................................................... 75
3.1 Tempat dan Waktu Penelitian ............................................................ 75
3.2 Data dan Perangkat Penelitian............................................................ 75
3.2.1 Data Penelitian .............................................................................. 75
3.2.2 Perangkat Penelitian ..................................................................... 75
3.3 Metode Penelitian ................................................................................. 76
3.3.1 Metode Pengumpulan Data .......................................................... 76
3.4 Metode Pengembangan Sistem ............................................................ 78
3.4.1 Metode Rapid Application Development ( RAD ) ...................... 78
3.5 Kerangka Berpikir ............................................................................... 84
BAB IV .......................................................................................................................... 85
4.1 Requirement Planning ......................................................................... 85
4.1.1 Gambaran Umum Pusat Pengabdian kepada Masyarakat ...... 85
4.1.2. Analisis Sistem Berjalan ............................................................... 92
4.1.3 Identifikasi Masalah...................................................................... 94
XII
4.1.4 Proses Bisnis Sistem Usulan ......................................................... 95
4.2 Workshop Design.................................................................................. 98
4.2.1 Perancangan Sistem ...................................................................... 98
4.2.2. Desain Antarmuka ...................................................................... 200
4.3 Implentation System ........................................................................... 210
4.3.1 Tahap Pemrograman Sistem ...................................................... 210
4.3.2 Tahap Pengujian Sistem ............................................................. 212
BAB V .......................................................................................................................... 219
Daftar Pustaka ........................................................................................................... 221
LAMPIRAN-LAMPIRAN ...................................................................................... 225
XIII
DAFTAR GAMBAR
Gambar 1. 1 Jumlah mahasiswa yang mengikuti KKN Reguler ............................ 5
Gambar 1. 2 Jumlah mahasiswa yang mengikuti KKN Internasional, KKN In-
Campus, dan KKN Kebangsaan .............................................................................. 6
Gambar 2. 1 Rapid Application Depelovment (Kendall & Kendall, 2010) .......... 40
Gambar 2. 2 Contoh Usecase diagram (Nugroho, 2009) ...................................... 48
Gambar 2. 3 Contoh Activity diagram (Nugroho, 2009) ...................................... 50
Gambar 2. 4 Contoh Class diagram (Nugroho, 2009) .......................................... 52
Gambar 2. 5 Contoh Sequence diagram (Nugroho, 2009) .................................... 55
Gambar 3. 1 Metode Rapid Application Development ......................................... 82
Gambar 3. 2 Kerangka berpikir ............................................................................. 84
Gambar 4. 1 Struktur organisasi LP2M dan PPM................................................. 91
Gambar 4. 2 Sistem yang berjalan ........................................................................ 94
Gambar 4. 3 Sistem usulan KKN-PPM................................................................. 96
Gambar 4. 4 Usecase diagram sistem informasi KKN-PPM .............................. 104
Gambar 4. 5 Activity diagram login ................................................................... 132
Gambar 4. 6 Activity diagram registrasi akun mobile ........................................ 133
Gambar 4. 7 Activity diagram verifikasi registrasi akun mobile ........................ 134
Gambar 4. 8 Activity diagram pembuatan akun ................................................. 136
Gambar 4. 9 Activity diagram kelola akun ......................................................... 137
Gambar 4. 10 Activity diagram pembuatan laporan mingguan .......................... 138
Gambar 4. 11 Activity diagram review laporan mingguan ................................. 139
Gambar 4. 12 Activity diagram validasi laporan mingguan ............................... 141
Gambar 4. 13 Activity diagram cetak laporan mingguan ................................... 143
Gambar 4. 14 Activity diagram kelola laporan mingguan .................................. 145
Gambar 4. 15 Activity diagram pembuatan dan penintikan lokasi ..................... 146
Gambar 4. 16 Activity diagram review laporan kegiatan ................................... 147
Gambar 4. 17 Activity diagram validasi laporan kegiatan .................................. 149
Gambar 4. 18 Activity diagram cetak laporan kegiatan ...................................... 151
Gambar 4. 19 Activity diagram kelola laporan kegiatan .................................... 153
Gambar 4. 20 Activity diagram menyalakan alarm ............................................ 154
Gambar 4. 21 Activity diagram kelola alarm ...................................................... 155
Gambar 4. 22 Activity diagram pengunggahan buku KKN ................................ 157
Gambar 4. 23 Activity diagram pengaturan akun ............................................... 159
Gambar 4. 24 Activity diagram logout ............................................................... 160
Gambar 4. 25 Activity diagram lihat peta persebaran KKN ............................... 161
Gambar 4. 26 Activity diagram lihat list kegiatan KKN .................................... 162
Gambar 4. 27 Activity diagram pengunduhan buku KKN ................................. 164
Gambar 4. 28 Class diagram sistem informasi KKN-PPM................................. 168
XIV
Gambar 4. 29 Maping cardinality ....................................................................... 169
Gambar 4. 30 Sequence diagram login ............................................................... 177
Gambar 4. 31 Sequence diagram registrasi akun mobile ................................... 178
Gambar 4. 32 Sequence diagram verifikasi registrasi akun mobile .................... 179
Gambar 4. 33 Sequence diagram pembuatan akun ............................................. 180
Gambar 4. 34 Sequence diagram kelola akun ..................................................... 181
Gambar 4. 35 Sequence diagram pembuatan laporan mingguan ........................ 182
Gambar 4. 36 Sequence diagram review laporan mingguan............................... 183
Gambar 4. 37 Sequence diagram validasi laporan mingguan ............................. 184
Gambar 4. 38 Sequence diagram cetak laporan mingguan ................................. 186
Gambar 4. 39 Sequence diagram kelola laporan mingguan ................................ 187
Gambar 4. 40 Sequence diagram pembuatan dan penitikan laporan kegiatan .... 188
Gambar 4. 41 Sequence diagram review laporan kegiatan ................................. 189
Gambar 4. 42 Sequence diagram validasi laporan kegiatan ............................... 190
Gambar 4. 43 Sequence diagram cetak laporan kegiatan ................................... 191
Gambar 4. 44 Sequence diagram kelola laporan kegiatan .................................. 192
Gambar 4. 45 Sequence diagram menyalakan alarm .......................................... 193
Gambar 4. 46 Sequence diagram kelola alarm.................................................... 194
Gambar 4. 47 Sequence diagram pengunggahan buku KKN ............................. 195
Gambar 4. 48 Sequence diagram pengaturan akun ............................................. 196
Gambar 4. 49 Sequence diagram logout ............................................................. 197
Gambar 4. 50 Sequence diagram lihat peta persebaran KKN ............................. 198
Gambar 4. 51 Sequence diagram lihat list kegiatan KKN .................................. 199
Gambar 4. 52 Sequence diagram pengunduhan buku KKN ............................... 200
Gambar 4. 53 Menu publik ................................................................................. 201
Gambar 4. 54 Menu dashboard ........................................................................... 201
Gambar 4. 55 Menu peserta KKN....................................................................... 202
Gambar 4. 56 User interface home ..................................................................... 202
Gambar 4. 57 User interface peta persebaran ..................................................... 203
Gambar 4. 58 User interface hasil kegiatan ........................................................ 203
Gambar 4. 59 User interface login ...................................................................... 204
Gambar 4. 60 User interface home menu dashboard ......................................... 204
Gambar 4. 61 User interface alarm ..................................................................... 205
Gambar 4. 62 User interface log alarm .............................................................. 205
Gambar 4. 63 User interface kelola user ............................................................. 206
Gambar 4. 64 User interface laporan hasil kegiatan ........................................... 206
Gambar 4. 65 User interface laporan mingguan ................................................. 207
Gambar 4. 66 User interface upload buku .......................................................... 207
Gambar 4. 67 User interface pengaturan............................................................. 208
Gambar 4. 68 User interface registrasi peserta KKN .......................................... 208
Gambar 4. 69 User interface alarm peserta KKN ............................................... 209
Gambar 4. 70 User interface laporan kegiatan peserta KKN .............................. 209
Gambar 4. 71 User interface laporan mingguan peserta KKN .......................... 210
XV
DAFTAR TABEL
Tabel 2. 1 Usecase diagram (Nugroho, 2009)....................................................... 47
Tabel 2. 2 Activity diagram (Nugroho, 2009)....................................................... 49
Tabel 2. 3 Class diagram (Nugroho, 2009) ........................................................... 51
Tabel 2. 4 Sequence diagram (Nugroho, 2009) .................................................... 54
Tabel 2. 5 Jurnal-jurnal literatur sejenis ................................................................ 65
Tabel 3. 1 Perbandingan metode-metode .............................................................. 79
Tabel 4. 1 Identifikasi aktor .................................................................................. 98
Tabel 4. 2 Identifikasi usecase .............................................................................. 99
Tabel 4. 3 Narasi usecase login ........................................................................... 105
Tabel 4. 4 Narasi usecase registrasi akun mobile ............................................... 106
Tabel 4. 5 Narasi usecase verifikasi registrasi akun mobile ............................... 107
Tabel 4. 6 Narasi usecase pembuatan akun ......................................................... 109
Tabel 4. 7 Narasi usecase kelola akun ............................................................... 110
Tabel 4. 8 Narasi usecase pembuatan laporan mingguan ................................... 111
Tabel 4. 9 Narasi usecase review laporan mingguan .......................................... 112
Tabel 4. 10 Narasi usecase validasi laporan mingguan....................................... 113
Tabel 4. 11 Narasi usecase cetak laporan mingguan........................................... 115
Tabel 4. 12 Narasi usecase kelola laporan mingguan ......................................... 116
Tabel 4. 13 Narasi usecase pembuatan dan penitikan lokasi laporan kegiatan ... 117
Tabel 4. 14 Narasi usecase review laporan kegiatan........................................... 118
Tabel 4. 15 Narasi usecase validasi laporan kegiatan ......................................... 120
Tabel 4. 16 Narasi usecase cetak laporan kegiatan ............................................. 121
Tabel 4. 17 Narasi usecase kelola laporan kegiatan ........................................... 122
Tabel 4. 18 Narasi usecase menyalakan alarm.................................................... 123
Tabel 4. 19 Narasi usecase kelola alarm ............................................................. 124
Tabel 4. 20 Narasi usecase pengunggahan buku KKN ....................................... 125
Tabel 4. 21 Narasi usecase pengaturan akun ...................................................... 126
Tabel 4. 22 Narasi usecase logout ....................................................................... 127
Tabel 4. 23 Narasi usecase lihat peta persebaran KKN ...................................... 128
Tabel 4. 24 Narasi usecase lihat list hasil kegiatan KKN ................................... 129
Tabel 4. 25 Narasi usecase pengunduhan buku KKN ......................................... 130
Tabel 4. 26 Daftarl objek potensial ..................................................................... 165
Tabel 4. 27 Seleksi terhadap objek potensial ...................................................... 165
Tabel 4. 28 Proposed objeck list ......................................................................... 167
Tabel 4. 29 Tabel user ......................................................................................... 170
Tabel 4. 30 Tabel role ......................................................................................... 171
Tabel 4. 31 Tabel mahasiswa .............................................................................. 171
Tabel 4. 32 Tabel laporan_mingguan.................................................................. 173
Tabel 4. 33 Tabel kegiatan .................................................................................. 174
XVI
Tabel 4. 34 Tabel alarm ...................................................................................... 175
Tabel 4. 35 Tabel buku........................................................................................ 176
Tabel 4. 36 Perangkat lunak yang digunakan dalam pengembangan sistem ..... 211
Tabel 4. 37 Tabel pengujian halaman awal ......................................................... 212
Tabel 4. 38 Tabel pengujian aplikasi android ..................................................... 213
Tabel 4. 39 Tabel pengujian level koordinator PpMM ....................................... 214
Tabel 4. 40 Tabel pengujian level ketua PPM .................................................... 215
Tabel 4. 41 Tabel pengujian level sekretaris PPM .............................................. 216
Tabel 4. 42 Tabel pengujian peserta KKN .......................................................... 217
Tabel 4. 43 Tabel pengujian admin ..................................................................... 217
XVII
DAFTAR SIMBOL
Daftar UML (Unified Modelling Language)
No. Diagram Simbol Nama
1. Use Case Diagram
(Nugroho, 2009)
Actor1
Actor
UseCase1
Usecase
Extends
Include
Association
System
System
2. Activity Diagram
(Nugroho, 2009)
Initial State
<<extend>>
<<include>>
XVIII
Final State
Action State
Decision
Merge Node
Initiate Activity
3. Class Diagram
(Nugroho, 2009)
Class
Association
XIX
4. Maping
Cardinality
(Sukamto &
Shalahuddin,
2013)
Entity
Relationship
5. Sequence
Diagram
(Nugroho, 2009)
Life Line
Message
Return
Message
XX
Aktor
Interface
Proccess
Tabel
Database
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Saat ini, perberkembangan teknologi semakin memberikan peran
penting bagi kehidupan manusia, salah satunya adalah perkembangan
teknologi informasi dan telekomunikasi yang memberikan peranan dalam
berbagai bidang seperti pendidikan, komunikasi, bisnis, hiburan, militer, dan
lain-lain. Penggunaan sistem terkomputerisasi dalam berbagai bidang tersebut
telah memberikan efisiensi dan efektivitas dalam berbagai kegiatan, tentunya
hal ini dapat dilakukan apabila didalamnya dilengkapi dengan sistem yang
sesuai dengan data-data yang akan diproses.
Berkaitan dengan hal tersebut, permintaan terhadap informasi yang
cepat dan valid menjadi sangat dibutuhkan. Jenis-jenis informasi tersebut dapat
berupa laporan, berita, dan dapat pula berbentuk hasil estimasi atau hasil
observasi. Data-data tersebut nantinya akan dikumpulkan dan diperlukan untuk
menjadi sebuah informasi akhir atau menjadi bahan untuk penelitian
selanjutnya.
Universitas Islam Negeri Syarif Hidayatullah Jakarta atau biasa disebut
dengan nama UIN Syarif Hidayatullah Jakarta merupakan sebuah universitas
Islam negeri yang berlokasi di Jalan Ir. Haji Djuanda, kelurahan Cempaka
Putih, Kecamatan Ciputat Timur, Kota Tangerang Selatan. UIN Syarif
Hidayatullah Jakarta merupakan salah satu lembaga perguruan tinggi yang
2
bernaung dibawah kementrian agama yang memiliki visi untuk menjadi
lembaga pendidikan tinggi terkemuka dalam mengintegrasikan aspek
keilmuan, keislaman dan keindonesiaan. Demi merealisasikan visi tersebut,
UIN Syarif Hidayatullah menetapkan motto Knowledge, Piety, Integrity.
Sebagai salah satu perguruan tinggi tentunya UIN Syarif Hidayatullah
Jakarta memiliki kewajiban dalam melaksanakan Tridharma Perguruan Tinggi
yang terdiri dari pendidikan dan pengajaran, penelitan dan publikasi ilmiah,
serta pengabdian kepada masyarakat. Terkait hal tersebut maka UIN Syarif
Hidayatullah Jakarta mendirikan lembaga untuk merealisasikan kewajiban
tersebut, yaitu Lembaga Penelitian dan Pengabdian kepada Masyarakat
(LP2M).
Lembaga Penelitian dan Pengabdian kepada Masyarakat (LP2M)
didirikan pada 15 Maret 2013 yang didasari oleh Undang-Undang Republik
Indonesia Nomor 20 Tahun 2003 Tentang Sistem Pendidikan Nasional dan
Peraturan yang dikeluarkan Kementrian Agama Republik Indonesia, yaitu
peraturan Nomor 6 Tahun 2013 yang mengatur tentang Kelembagaan dan
Program Kerja yang terdapat pada UIN Syarif Hidayatullah Jakarta. Lembaga
ini didirikan berdasarkan pemahaman dan untuk menanggapi terhadap
pentingnya integrasi kegiatan penelitian dan pengabdian kepada masyarakat
yang bertujuan untuk mendukung pencapaian target Rencana Strategis
(Renstra) UIN Syarif Hidayatullah Jakarta.
LP2M UIN Syarif Hidayatullah pada peranannya, diatur oleh Wakil
Rektor Bidang Kerjasama dan Pengembangan Kelembagaan, yang
3
berkoordinasi dengan lima bidang, yaitu Pusat Penelitian dan Penerbitan
(PUSLITPEN), Pusat Pengabdian Kepada Masyarakat (PPM), Pusat Studi
Gender dan Anak (PSGA), Pusat Layanan Hubungan Masyarakat dan Bantuan
Hukum (PLHMBH), Pusat Layanan Kerjasama International (LP2M UIN
Syarif Hidayatullah Jakarta, 2016).
Pusat Pengabdian kepada Masyarakat (PPM) merupakan salah satu dari
lima bidang LP2M yang bertugas untuk mengkoordinir dalam pelaksanaan
kegiatan dan program kerja di bidang pengabdian masyarakat yang dilakukan
oleh mahasiswa dan dosen yang berasal dari berbagai fakultas. Berdasarkan
Peraturan Rektor UIN Syarif Hidayatullah Jakarta Nomor :
Un.01/R/HK.00.5/8/2011 tentang Pedoman Pengabdian Kepada Masyarakat
bagi Sivitas Akademik UIN Syarif Hidayatullah Jakarta, maka PPM memiliki
tugas untuk mengembangkan lembaga pengabdian kepada masyarakat menjadi
pusat untuk mendidik dan melatih pengimplementasian Ilmu Pengetahuan dan
Teknologi untuk memberdayakan dan mensejaterakan masyarakat. Salah satu
kegiatan utama dari PPM yaitu sebagai koordinator dan mengarahkan
mahasiswa kepada masyarakat melalui program Kuliah Kerja Nyata.
Menurut Anasari, Kuliah Kerja Nyata atau biasa disebut KKN
merupakan bentuk kegiatan mendidik mahasiswa yang bertujuan untuk
memberi pengalaman kepada para mahasiswa untuk dapat merasakan
kehidupan masyarakat di luar kampus, dan diharapkan mahasiswa dapat
memahami serta menyelesaikan berbagai kendala maupun masalah yang
terdapat dalam lingkungan masyarakat tersebut. Kegiatan KKN merupakan
4
salah satu usaha perguruan tinggi dalam usaha untuk meningkatkan kualitas
pendidikan bagi mahasiswa dan untuk meningkatkan akreditasi bagi perguruan
tinggi (Anasari, Suyatno, & Astuti, 2015).
Suryadi berpendapat bahwa kegiatan KKN merupakan sebuah kegiatan
yang dilaksanakan oleh perguruan tinggi, bertujuan untuk mengembangkan
relevansi pendidikan yang sesuai dengan kebutuhan masyarakat dalam
meningkatkan kegiatan pembangunan dimasyarakat serta memberikan
gambaran kepada mahasiswa tentang hasil dari pendidikan yang telah mereka
dapat dikelas dan hubungan serta manfaatnya terhadap pembangunan yang
sedang berlangsung dalam masyarakat. Oleh karena itu, pelaksanaan kegiatan
KKN yang berlokasi disekitar masyarakat tentunya memerlukan keterlibatan
masyarakat sehingga kegiatan tersebut dapat sesuai terhadap kebutuhan
masyarakat serta dapat secara optimal memberikan hasil untuk memenuhi
kebutuhan tersebut (Suryadi, Mubarok, & Gunawan, 2018).
Berdasarkan kutipan diatas, KKN merupakan kegiatan yang dapat
memberikan gambaran bahwa sebuah perguruan tinggi bukan hanya
merupakan sesuatu kelembagaan yang terpisah dari kehidupan masyarakat.
Sinkronisasi hubungan antara perguruan tinggi dan masyarakat dapat tercipta
sehingga masyarakat dapat lebih menyadari peranan dari perguruan tinggi
sebagai pusat pengembangan ilmu, teknologi, seni, dan kebudayaan.
Atas dasar itu maka telah menjadi alasan utama bagi PPM untuk
menggelar kegiatan KKN. Adapun maksud dari pelaksanaan kegiatan ini yaitu
adalah untuk mengembangkan pengetahuan, keterampilan, dan sikap
5
mahasiswa sehingga dapat mengkaji dan memecahkan masalah-masalah sosial
yang terdapat dimasyarakat. Diharapkan hasil kegiatan ini dapat meningkatkan
kualitas kehidupan dan pemberdayaan masyarakat dalam pencapaian
masyarakat yang adil dan makmur.
Tiap tahunnya, berdasarkan hasil koordinasi PPM dengan Badan
Perencanaan Pembangunan Daerah (BAPPEDA) telah mengutus kelompok
mahasiswa KKN UIN Syarif Hidayatullah Jakarta ke 200 desa yang terdapat
di Kabupaten Tangerang dan Kabupaten Bogor.
Gambar 1. 1 Jumlah mahasiswa yang mengikuti KKN Reguler
Selain itu, PPM juga telah berkerjasama dengan berbagai lembaga baik
lembaga didalam UIN Syarif Hidayatullah Jakarta maupun perguruan tinggi
yang lain dalam rangka mengelar KKN khusus seperti KKN kebangsaan, KKN
In-Campus, dan juga KKN Internasional.
6
Gambar 1. 2 Jumlah mahasiswa yang mengikuti KKN Internasional, KKN In-Campus, dan KKN Kebangsaan
Selama KKN berlangsung tentunya banyak terdapat kegiatan-kegiatan
yang dilakukan oleh mahasiswa terhadap kebutuhan masyarakat dilingkungan
tersebut. Kegiatan-kegiatan tersebut bisa berupa pembangunan infrastuktur dan
fasilitas, pemberdayaan masyarakat, maupun kegiatan seminar atau mengajar
kesekolah. Tentunya mahasiswa wajib melaporkan hasil dari kegiatan tersebut
yang isi didalamnya berupa informasi/gambaran dari kegitan serta hasil-hasil
yang telah dicapai dari terlaksananya kegitan tersebut. Laporan tersebut
nantinya akan menjadi acuan bagi evaluasi kegiatan KKN di suatu wilayah
serta sumber penilaian bagi pelaksanaan KKN tersebut.
Namun saat ini, informasi dari hasil kegiatan KKN terdahulu di sebuah
wilayah masih sangat sulit untuk diperoleh. Informasi-informasi tersebut hanya
dapat diperoleh secara terbatas dengan mengandalkan buku KKN yang tidak
7
menjelaskan lokasi kegiatan secara detail dan juga hasil diskusi dari warga
sekitar yang belum tentu kebenarannya baik dalam hal lokasi maupun
gambaran kegiatan. Tentunya untuk menemukan warga yang masih mengingat
kegiatan kelompok KKN sebelumnya juga sangat sulit untuk dilakukan.
Padahal informasi tersebut sangat penting selain sebagai bahan evaluasi
kegiatan KKN, laporan tersebut juga dapat menjadi bukti dari manfaat kegiatan
KKN di wilayah tersebut. Nantinya laporan tersebut juga dapat menjadi
referensi dalam penyusunan rencana kegiatan bagi kelompok KKN selanjutnya
serta untuk mengembangkan program kerja yang telah dilaksanakan oleh
kelompok KKN sebelumnya pada wilayah tersebut.
Selain itu, sistem pelaporan kegiatan juga belum dimiliki oleh
pelaksana kegiatan KKN UIN Syarif Hidayatullah Jakarta. Sistem pelaporan
sangat penting dalam kegiatan KKN dimana hal ini berperan untuk mengetahui
perkembangan atau hasil dari program kerja yang telah dilakukan kelompok.
Tentunya sistem pelaporan ini juga bersifat untuk memberikan perlindungan
dan rasa aman bagi kelompok saat melakukan kegiataan KKN ditempat yang
masih asing bagi mereka.
Teknologi GIS dapat diterapkan sebagai jawaban terhadap masalah
yang sedang dihadapi. Sistem Informasi Geospasial, atau sering disebut dengan
GIS (Geospatial Information System) merupakan sebuah teknologi pemetaan
berupa suatu sistem informasi berbasiskan komputer, dimana sistem ini
dirancang untuk mengintegrasikan data spasial dengan atributnya yang
bertujuan untuk menyimpan, memproses, dan menampilkan data yang
8
dibutuhkan. GIS menyediakan pemenuhan kebutuhan terhadap tingginya
permintaan masyarakat berupa informasi lokasi dan peta. Dengan
menggunakan teknologi ini, Penyampaian informasi mengenai runtut hasil dari
kegiatan KKN dapat dilakukan.
Dengan sistem informasi spasial, diharapkan dapat menghasilkan
berbagai manfaat berupa sarana untuk mendukung kegiatan KKN UIN Syarif
Hidayatullah Jakarta, salah satunya hasil pelaksanaan kegiatan KKN disuatu
wilayah dapat diperoleh dengan lebih cepat, mudah dimengerti dan memiliki
hasil yang valid. Selain itu sistem ini mendukung pemantauan dan pelaporan
tanda bahaya yang bisa langsung ditanggapi secara cepat oleh lembaga PPM
UIN Syarif Hidayatullah Jakarta.
Terdapat banyak penelitian yang menggunakan sistem informasi
spasial. Beberapa penelitian yang menjadi referensi peneliti dalam
perancangan sistem ini diantaranya adalah Penelitan Saputra (2018) yang
melakukan penelitian dengan membuat sebuah aplikasi sistem informasi
geografis berbasis website yang digunakan untuk menampilkan informasi
berupa penyebaran sarana perumahan dan pemukiman yang terdapat di kota
Sekayu. Penelitian Prasetyo (2014) yang mengembangkan sistem informasi
Geospasial berbasis mobile yang digunakan untuk memberikan aplikasi yang
berperan untuk melindungi tenaga kerja Indonesia. Lalu juga terdapat
penelitian Lucyiana (2016) dengan judul “Sistem Informasi Geografis
Pemetaan Lokasi Penyebaran KKN”. Merupakan penelitian untuk memetakan
lokasi dari tiap kelompok yang sedang melakukan kegiatan KKN dengan PHP
9
sebagai bahasa pemrograman. Jati (2013) dengan judul “Sistem Informasi
Geografis Berbasis Web untuk Monitoring Kegiatan KKN”. Tujuan dari sistem
ini adalah menjadi media pelaporan bagi mahasiswa yang sedang melakukan
kegiatan KKN. Perbedaan dengan sistem yang akan dikembangkan yaitu pada
sistem ini akan memuat informasi berbasis database berupa data hasil kegiatan
KKN UIN Syarif Hidayatullah Jakarta setiap tahun dan akan menghadirkan
beberapa fitur yang belum dimiliki oleh penelitian sebelumnya ini, seperti :
fitur pelaporan hasil dari kegiatan KKN berupa laporan individu dan laporan
kelompok, Penitikan lokasi melalui aplikasi Android yang dilakukan oleh user,
Pengunggahan dan media untuk mengunduh buku KKN, Verifikasi dan
validasi laporan, serta tampilan yang lebih menarik dan dikembangkan berbasis
web dan mobile.
Berdasarkan latar belakang yang telah peneliti jabarkan, maka peneliti
tertarik untuk melakukan penelitian dalam mengembangkan sebuah sistem
informasi yang dimana nantinya dapat menunjukan lokasi dari hasil kegiatan
KKN dan juga menambahkan berbagai fitur salah satunya yaitu media untuk
pemantauan dan pelaporan kegiatan KKN. Penelitian ini mengangkat judul
berupa “Rancang Bangun Sistem Informasi Spasial Pada Pelaporan
Kegiatan Kuliah Kerja Nyata UIN Syarif Hidayatullah Jakarta (Studi
Kasus : PPM UIN Syarif Hidayatullah Jakarta)”.
10
1.2 Identifikasi Masalah
Berdasarkan dari latar belakang yang telah dikemukan, maka
identifikasi masalah yang peneliti angkat dalam penelitian ini adalah sebagai
berikut :
a. Kesulitan dalam pencarian informasi hasil KKN sebagai bahan evaluasi
kegiatan KKN dan dalam menyusun program kerja kelompok KKN
ketika pra-KKN.
b. Informasi hasil kegiatan KKN disuatu wilayah pelaksanaan KKN
belum terkumpul dalam satu database karena masih tersebar di buku-
buku KKN..
c. Belum adanya media elektronik untuk memperoleh data spasial dari
hasil kegiatan KKN yang menunjukan lokasi dan juga detail dari
kegiatan yang telah dilakukan dan dapat diakses oleh publik .
d. Belum adanya sistem elektronik untuk pelaporan dari pelaksanaan
kegiatan KKN.
e. Tidak adanya sistem notifikasi bantuan terhadap masalah-masalah yang
memerlukan penangganan langsung dari PPM selama pelaksanaan
kegiatan KKN.
1.3 Perumusan Masalah
Dari identifikasi masalah diatas, maka peneliti merumuskan
penyelesaian masalah dalam penelitian ini adalah sebagai berikut :
a. Bagaimana untuk merancang sistem informasi spasial berupa pelaporan
dan pemetaan dari hasil kegiatan KNN yang dapat menampilkan data
11
berupa titik-titik lokasi kegiatan pada peta beserta detail hasil kegiatan
tersebut?
b. Bagaimana agar hanya kelompok KKN yang dapat memasukan data
kedalam sistem informasi spasial tersebut ?
c. Bagaimana agar informasi tersebut dapat diverifikasi dan divalidasi
terlebih dahulu sebelum dapat diakses oleh berbagai pihak?
1.4 Batasan Masalah
Berdasarkan hasil perumusan masalah, maka batasan masalah dari
penelitian ini adalah sebagai berikut :
a. Penelitian ini dilakukan di kantor Pusat Pengabdian kepada Masyarakat
(PPM), berlokasi di Jalan Ir. Haji Djuanda, kelurahan Cempaka Putih,
Kecamatan Ciputat Timur, Kota Tangerang Selatan
b. Sistem spasial ini merupakan sistem yang menampilkan informasi
berupa peta persebaran kegiatan KKN, detail dari kegiatan KKN
tersebut, dan media untuk mendapatkan buku KKN.
c. Sistem ini juga dilengkapi dengan sistem pelaporan individu, kelompok
dan pengiriman notifikasi bantuan.
d. Disediakan form pengisian laporan individu dan kelompok dari hasil
kegiatan KKN dan juga media penggunggahan buku KKN.
e. Data yang diambil berupa hasil kegiatan dari beberapa kelompok KKN
Regular di Kabupaten Bogor.
f. Sistem yang akan dihasilkan berbasis web dan mobile.
12
g. Metode yang digunakan dalam pengembangan sistem menggunakan
metode Rapid Application Development dengan menggunakan Unified
Modelling Language (UML), beserta penggunaan use case diagram,
activity diagram, class diagram, maping cardinality dan sequence
diagram.
h. Bahasa pemrograman yang digunakan adalah PHP dengan
menggunakan Sublime, Visual Studio Code, dan Java yang
menggunakan Android Studio yang tersambung dengan database
MySQL, dan dikoneksikan dengan Google Maps menggunakan
layanan Google API.
1.5 Tujuan dan Manfaat Penelitian
1.5.1 Tujuan Umum Penelitian
Tujuan umum yang ingin peneliti capai dalam penelitian ini
adalah untuk mengembangkan sistem yang akan membantu dalam
pelaksanaan kegiatan Kuliah Kerja Nyata UIN Syarif Hidayatullah
Jakarta.
1.5.2 Tujuan Khusus Penelitian
Adapun tujuan khusus dari penelitian ini adalah sebagai
berikut:
a. Mengembangkan sistem informasi spasial mengenai informasi
hasil kegiatan KKN suatu wilayah berbasis web dan mobile.
13
b. Membuat User Interface berbasis web yang dapat di akses melalui
internet dan juga User Interface berbasis aplikasi Android untuk
memasukan data kedalam sistem tersebut.
c. Menyediakan media bagi peserta KKN untuk pelaporan kegiatan
KKN berupa laporan individu dan laporan kelompok.
d. Menyediakan fitur-fitur diantaranya media untuk pengiriman
laporan kegiatan, pengiriman laporan mingguan, pengunggahan
buku KKN, dan notifikasi bantuan.
1.5.3 Manfaat Penelitian
Manfaat yang dapat dihasilkan dari perancangan sistem
informasi spasial dalam penelitian ini adalah sebagai berikut :
a. Bagi Penulis
Sebagai Pemenuhan salah satu syarat kelulusan Strata Satu (S1),
Program Studi Sistem Informasi Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta.
Untuk mendapatkan pemahaman dan pengalaman tentang ilmu
pemrograman PHP, pemrograman Android, desain web, desain
aplikasi mobile, dan sistem informasi spasial.
b. Bagi Pihak Pengguna
Memberikan kemudahan kepada pengguna untuk memperoleh
informasi hasil kegiatan KKN ditahun-tahun sebelumnya pada
suatu wilayah.
Menjadi media bagi untuk melaporkan hasil kegiatan KKN
14
Dapat menjadi bahan evaluasi untuk kegiatan KKN yang lebih
baik.
Dapat menjadi bukti dari manfaat kegiatan KKN.
Menjadi acuan dalam menilai hasil kinerja kelompok KKN.
Sebagai referensi maupun untuk meneruskan program KKN dari
kelompok sebelumnya.
c. Bagi Universitas
Sebagai salah satu kontribusi karya ilmiah dalam disiplin ilmu
Sistem Informasi.
Sebagai salah satu implementasi ilmu yang ada pada Sistem
Informasi di UIN Syarif Hidayatullah Jakarta
Memberikan gambaran dan membangun kesiapan mahasiswa
untuk modal dalam menghadapi dunia kerja.
1.6 Metodelogi Penelitian
Dalam perancangan sistem informasi spasial ini, metode yang
digunakan dalam penelitian ini adalah sebagai berikut :
1.6.1 Metode Pengumpulan Data
Adapun metode yang digunakan dalam pengumpulan data
yang dilakukan pada penelitian ini adalah sebagai berikut :
a. Penelitian Kepustakaan (Library Research), yaitu
merupakan metode untuk mengumpulkan data dan
informasi dengan cara membaca dan mempelajari literatur
15
berupa buku, skripsi, jurnal , dan juga melalui situs-situs
website, dengan tuhuan untuk mencari referensi yang
sesuai dengan judul atau tema yang dapat dijadikan acuan
dalam menyelesaikan skripsi ini.
b. Penelitian Lapangan (Field Research), yaitu merupakan
metode untuk mengumpulkan dan mengolah data yang
didapat dengan melakukan penelitian langsung di
lapangan, beberapa metodenya yaitu :
Wawancara (Interview)
Penulis melakukan wawancara atau tanya jawab
kepada bagian yang berhubungan dengan penelitian,
sehingga dari hasil dari jawaban wawancara tersebut
diharapkan dapat menjadi referensi atau informasi yang
dapat digunakan dalam menyelesaikan penelitian.
Observasi
Merupakan cara untuk melihat dan mengamati secara
langsung proses dan masalah yang terjadi untuk
mengetahui kegiatan yang sedang berjalan secara realitas.
1.6.2 Metode Pengembangan Sistem
Dalam perancangan dan pengembangan sistem, peneliti
menggunakan metode Rapid Application Development atau dikenal
juga dengan sebutan metode RAD. Metode ini memiliki aktivitas yang
16
terdiri dari : Requirement planning, Workshop design, dan
Implementation system.
1.7 Sistematika Penulisan
Dalam penyusunan penelitian ini, peneliti membagi kedalam lima bab
yang secara singkat akan diurai menjadi sebagai berikut:
BAB I. PENDAHULUAN
Bab ini berisi tentang latar belakang dari permasalahan,
identifikasi masalah, perumusan masalah, batasan masalah,
tujuan penelitian, manfaat penelitian, metode penelitian serta
sistematika dari penulisan yang menjadi acuan dalam
penulisan.
BAB II. LANDASAN TEORI
Bab ini menjabarkan mengenai landasan teori yang menjadi
dasar dari penelitian ini, yaitu berupa semua dasar ilmu yang
berkenaan dengan judul dan tema “Rancang Bangun Sistem
Informasi Spasial Pada Pelaporan Kegiatan Kuliah Kerja
Nyata UIN Syarif Hidayatullah Jakarta (Studi Kasus : PPM
UIN Syarif Hidayatullah Jakarta)”.
BAB III. METODOLOGI PENELITIAN
Bab ini berisi penjelasan berupa metode dalam mengumpulkan
data dan juga metode dari pengembangan sistem yang
digunakan untuk analisa dan perancangan sistem. Dijabarkan
juga penjelasan mengenai tahap-tahap dan kegiatan selama
17
penelitian yang dilakukan di Pusat Pengabdian kepada
Masyarakat Universitas Islam Negeri Syarif Hidayatullah
Jakarta.
BAB IV. HASIL DAN PEMBAHASAN
Bab ini menjabarkan gambaran umum, sejarah, visi, misi, dan
struktur organisasi di Pusat Pengabdian kepada Masyarakat
Universitas Islam Negeri Syarif Hidayatullah Jakarta. Analisis
permasalahan mengenai sistem yang sedang berjalan serta
perancangan sistem yang meliputi berbagai proses hingga
implementasinya.
BAB V. PENUTUP
Bab ini berisi kesimpulan dari penjabaran yang telah
dijelaskan pada bab-bab sebelumnya, dan juga terdapat saran
untuk penelitian di masa yang akan mendatang.
18
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Sistem
2.1.1 Pengertian Sistem
Sistem berasal dari bahasa Latin (systēma) dan bahasa
Yunani (sustēma) adalah merupakan sebuah komponen yang terdiri
dari jaringan dan prosedur-prosedur yang saling berhubungan.
Pendekatan sistem merupakan rangkaian kerja yang menekankan
urutan-urutan operasional didalam sistem (Hutahean, 2014).
Sistem juga merupakan bagian-bagian dalam sebuah wilayah
yang saling berhubungan. Kata "sistem" seringkali diucapkan dalam
sehari-hari dalam percakapan, sebuah diskusi maupun dokumen
penelitian. Kata ini digunakan pada banyak bidang sehingga memiliki
makna yang beragam. Dalam pengertian yang paling umum, sistem
merupakan kumpulan dari komponen baik dalam bentuk fisik maupun
non fisik yang saling berhubungan dan bekerja sama untuk mencapai
tujuan tertentu (Susanto, 2013).
Suatu sistem merupakan jaringan kerja yang terdiri atas
prosedur-prosedur yang terkumpul bersama-sama untuk
melaksanakan suatu kegiatan atau menyelesaikan suatu sasaran
tertentu. Sistem merupakan seperangkat elemen yang membentuk
kegiatan atau suatu prosedur yang menentukan suatu tujuan-tujuan
19
bersama dengan mengoperasikan data pada waktu tertentu untuk
menghasilkan informasi (Ladjmudin, 2013).
2.1.2 Karakteristik Sistem
Sebuah sistem memiliki karakteristik atau sifat-sifat
terntentu seperti komponen, batasan dari sistem, lingkungan luar
sistem, penghubung, masukan, keluaran, pengolahan, dan tujuan dari
sistem (Jogiyanto, 2010).
Adapun pengertian dari bentuk karakteristik pada tiap sistem
adalah sebagai berikut:
1) Komponen Sistem
Suatu sistem memiliki sejumlah komponen yang saling
berinteraksi dan bekerja sama membentuk satu kesatuan.
Komponen-komponen tersebut terdiri atas beberapa subsistem,
dimana tiap subsistem memiliki fungsi khusus yang akan
mempengaruhi proses dan hasil dari sistem secara keseluruhan.
2) Batasan Sistem
Batasan sistem merupakan wilayah atau daerah yang
menjadi pembatas antara sistem dengan sistem yang lainnya atau
dengan lingkungan luar dari sistem tersebut.
3) Lingkunagan Luar Sistem
Lingkungan luar sistem merupakan sebuah sesuatu yang
berada diluar batasan sistem dan mempengaruhi oprerasi dari
sistem. Lingkungan luar dapat bersifat menguntungkan dan juga
20
merugikan. Lingkungan yang menguntungkan harus tetap dijaga,
sebaliknya lingkungan yang merugikan harus dikendalikan kalau
tidak ingin mengganggu kinerja sistem.
4) Penghubung Sistem
Penghubung merupakan media yang memberikan hubungan
antara sebuah subsistem dengan subsistem yang lain. Hasil keluaran
dari satu subsistem akan menjadi masukkan untuk subsistem lain
melalui penghubung. Selain itu penghubung memiliki peran sebagai
media integrasi subsistem-subsistem menjadi satu kesatuan.
5) Masukan Sistem
Masukan merupakan bahan-bahan yang dimasukkan ke
dalam sistem untuk diproses pada sistem tersebut.
6) Keluaran Sistem
Keluaran adalah hasil dari pemrosesan sistem menjadi hasil
yang memiliki nilai guna. Keluaran dapat menjadi masukkan untuk
subsistem yang lain.
7) Pengolahan Sistem
Pengolahan berperan untuk mengubah masukan menjadi
keluaran.
8) Sasaran atau Tujuan Sistem
Sasaran dari sistem merupakan penentu terhadap masukan
yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem.
21
Suatu sistem dikatakan berhasil jika sesuai dengan sasaran atau
tujuannya.
2.1.3 Klasifikasi Sistem
Klasifikasi sistem informasi merupakan konsep untuk
menentukan kesatuan antara satu komponen dengan komponen yang
lain, dikarenakan sistem memiliki tujuan yang berbeda-beda untuk
tiap hasil pengolahan, sehingga perlu diklasifikasikan menjadi
beberapa bagian sistem (Mulyanto, 2009).
Klasifikasi sistem tersebut diantaranya yaitu:
1) Abstrak (abstract system) dan fisik (physical system).
Sistem abstrak merupakan sistem yang berbentuk gagasan
atau ide yang tidak terlihat secara fisik. Sistem fisik adalah
merupakan bentuk sistem yang terlihat secara fisik.
2) Alamiah (natural system) dan buatan manusia (human made
system).
Sistem alamiah adalah merupakan sistem yang dihasilkan
dari proses alami dan tidak dibuat oleh campur tangan manusia.
Sistem buatan manusia adalah sistem yang merupakan hasil
rancangan yang dikerjakan oleh manusia dan melibatkan interaksi
antara manusia dengan mesin.
3) Tertentu (deterministic system) dan tidak tentu (probabilistic
system).
22
Sistem tertentu bekerja dengan prosedur yang sudah
diprediksi. Interaksi yang terjadi diantara bagian-bagiannya dapat
diketahui dengan akurat, sehingga keluaran dari sistem merupakan
sesuatu yang telah dipastikan. Sistem tak tentu adalah sistem yang
memiliki kondisi dimana prosedurnya tidak dapat dipastikan karena
terdapat unsur probabilitas.
4) Tertutup (closed system) dan terbuka (open system).
Sistem yang tertutup adalah sistem yang tidak memiliki
hubungan dan tidak dipengaruhi oleh lingkungan luar. Sistem ini
dapat beroperasi secara otomatis tanpa harus dikendalikan oleh
pihak diluar. Sistem terbuka merupakan sistem dihubungkan dan
dipengaruhi oleh lingkungan luar. Sistem ini harus dikendalikan
baik dalam proses menerima masukan dan saat menghasilkan
keluaran yang dibutuhkan lingkungan luar atau subsistem yang lain.
2.2 Konsep Dasar Infomasi
2.2.1 Data
Data adalah merupakan sumber dari informasi. Data adalah
bentuk jamak yang membentuk dan menentukan sebuah item. Data
merupakan bahan mentah yang disimpan dan disiapkan pada suatu
perangkat komputer dan database untuk diolah demi mendapatkan
informasi (Tyoso, 2016).
Berbagai ahli telah mendefinisikan arti dari data sesuai
dengan pemahaman mereka masing-masing, salah satunya yaitu
23
Gordon B. Davis yang menyatakan dalam bukunya bahwa data
merupakan bahan mentah untuk menghasilkan informasi, dirumuskan
dalam bentuk notasi dan lambang yang menunjukkan angka, nominal,
tindakan-tindakan, hal-hal, dan sebagaiannya. Adapun metode yang
digunakan dalam pengumpulan data dapat dilakukan melalui
wawancara, observasi, hipotesis, dan daftar pertanyaan (Hutahean,
2014).
Sumber informasi adalah data, dalam prosesnya untuk
merubah data yang ada menjadi informasi tentunya diperlukan suatu
metode untuk mengolah data, sebagaimana sesuai pendapat George R.
Terry Ph.D bahwa pengolahan data merupakan rangkaian operasi
terhadap informasi yang dirperlukan untuk mencapai kebutuhan atau
hasil yang diinginkan. Umumnya pengolahan data memerlukan
sebanyak 8 unsur yaitu membaca, menulis, mencetak, menyusun,
menyampaikan, menghitung, membandingkan, dan menyimpan
(Hutahean, 2014).
2.2.2 Informasi
Informasi merupakan hasil pengolahan data menjadi sebuah
bentuk yang memiliki arti bagi penerimanya dan bermanfaat untuk
mengambil keputusan. Informasi adalah hasil dari data mentah yang
diolah hingga menjadi sesuatu yang memiliki nilai (Mulyanto, 2009).
24
Mustakini berpendapat bahwa informasi merupakan
kumpulan data yang telah diolah hingga menjadi bentuk yang berguna
bagi penggunanya (Mustakini, 2009).
Sedangkan Yakub menyatakan bahwa sebuah Informasi
adalah hasil keluaran dari rangkaian proses pengolahan data menjadi
bentuk yang memuat fakta yang dapat diolah kembali (Yakub, 2012).
Data diolah mengggunakan sebuah model atau prosedur
untuk menjadi informasi, penerima kemudian menerima informasi
tersebut sehingga dapat membuat suatu keputusan dan melakukan
tindakan, ini berarti hasil dari sebuah tindakan dapat menciptakan
sejumlah data kembali. Data tersebut akan direkam sebagai masukan
lalu diolah kembali dan menuju tahap seterusnya hingga membentuk
satu siklus (Jogiyanto, 2009).
2.2.3 Kualitas Informasi
Kualitas dari sebuah informasi dapat ditentukan oleh tiga hal
pokok, yaitu akurasi (accuracy), relevansi (relevancy), dan tepat
waktu (timeliness) (Mulyanto, 2009).
1) Akurasi (accuracy)
Sebuah informasi harus akurat dari sumber informasi hingga
penerima informasi tersebut. Hal ini dikarenakan kemungkinan
terjadinya gangguan yang dapat mempengaruhi hingga
menyebabkan rusaknya informasi tersebut. Informasi dapat
dikatakan akurat jika informasi tersebut tidak menyesatkan, bebas
25
dari kesalahan-kesalahan dan harus jelas mencerminkan maksud
yang dikandungnya.
Ketidakakuratan yang terjadi pada sebuah informasi dapat
terjadi karena sumber dari data mengalami gangguan atau
kesengajaan yang dapat mengubah data-data asli. Informasi yang
akurat tentunya harus memiliki kelengkapan yang baik, karena jika
informasi yang dihasilkan akan memengaruhi dalam pengambilan
keputusan atau menentukan tindakan secara keseluruhan, sehingga
akan sangat berpengaruh terhadap kemampuan mengontrol atau
memecahkan suatu masalah dengan baik.
2) Tepat Waktu (timeliness)
Informasi yang dihasilkan proses pengolahan data harus
tepat waktu. Informasi yang terlambat akan mengurangi nilai dari
informasi tersebut. Mahalnya sebuah informasi disebabkan oleh
kecepatan untuk mendapatkan, mengolah dan mengirimkan
informasi tersebut.
3) Relevansi (relevancy)
Informasi dapat dikatakan berkualitas jika relevan terhadap
pemakainya. Hal ini berarti bahwa informasi tersebut memiliki
manfaat bagi penerimanya. Relevansi informasi untuk tiap-tiap
orang satu dengan lainnya tentunya berbeda-beda.
4) Nilai Informasi
26
Parameter yang digunakan untuk mengukur nilai sebuah
informasi ditentukan dari dua faktor yaitu manfaat dan biaya.
Namun, pada kenyataannya informasi yang memerlukan biaya
tinggi belum tentu memiliki manfaat yang sebanding. Suatu
informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya untuk mendapatkannya.
2.3 Konsep Dasar Sistem Informasi
2.3.1 Pengertian Sistem Informasi
Terdapat berbagai macam pengertian mengenai sistem
informasi yang dituturkan oleh beberapa ahli, diantaranya Menurut
Mulyanto, bahwa sistem informasi adalah suatu komponen yang
terdiri atas manusia, teknologi, dan prosedur kerja yang bertugas
untuk memproses, menyimpan, menganalisis, dan menyebarkan
informasi untuk mencapai tujuan tertentu (Mulyanto, 2009).
Menurut Jogiyanto menyebutkan bahwa sistem informasi
merupakan suatu kumpulan sistem yang memiliki tujuan untuk
menghasilkan informasi yang berguna bagi pemakainya (Jogiyanto,
2009).
Dari pendapat yang telah dikemukakan di atas dapat
disimpulkan bahwa sistem informasi adalah merupakan gabungan
dari manusia, hardware, software, jaringan komunikasi, sumber
daya data, dan kebijakan dan prosedur yang menyimpan,
memproses, dan mendistribusikan untuk memenuhi tujuan tertentu.
27
2.3.2 Komponen Sistem Informasi
Sebuah sistem informasi terdiri atas komponen-komponen
yang disebut blok bangunan. Sebagai sistem, blok-blok bangunan
tersebut harus saling berinteraksi antara satu dengan yang lainnya
untuk membentuk satu kesatuan dan mencapai sasarannya
(Jogiyanto, 2009). Blok bangunan tersebut terdiri dari:
1) Blok Masukan (Input Block)
Input merupakan data yang masuk ke dalam sistem
informasi. Input disini adalah metode untuk merekam data yang
akan dimasukkan.
2) Blok Model (Model Block)
Blok ini terdiri atas kombinasi dari prosedur, logika dan
model matematik yang berfungsi untuk manipulasi data input dan
data yang tersimpan di basis data dengan cara yang sudah ditentukan
untuk menghasilkan keluaran yang diinginkan.
3) Blok Keluaran (Output Block)
Produk dari sistem informasi adalah merupakan keluaran
yang berupa informasi yang berkualitas dan berguna untuk semua
tingkatan serta semua pengguna sistem.
4) Blok Teknologi (Technology Block)
Teknologi merupakan blok yang berguna untuk menerima
input, menjalankan model, menyimpan dan mengakses data,
menghasilkan dan mengirimkan keluaran dan membantu
28
pengendalian sistem secara keseluruhan. Pada blok ini terdiri dari 3
bagian yaitu brainware, software dan hardware.
5) Blok Basis Data (Database Block)
Basis data adalah kumpulan dari data yang saling terhubung,
basis data disimpan pada perangkat keras komputer dan digunakan
perangkat lunak untuk diproses. Basis data dapat diakses dengan
menggunakan perangkat lunak paket yang disebut dengan DBMS
(Database Management Sistems).
6) Blok Kendali (Controls Block)
Beberapa pengendalian tentunya diperlukan untuk
merancang dan diterapkan guna meyakinkan untuk mencegah
terhadap hal-hal yang dapat merusak sistem, ataupun jika terjadi
kesalahan-kesalahan maka dapat segera diatasi.
2.4 Sistem Informasi Geografis
2.4.1 Pengertian Sistem Informasi Geografis
Sistem informasi geografis (SIG) merupakan sistem atau
teknologi berbasis komputer yang bertujuan untuk mengumpulkan,
menyimpan, memproses dan menganalisa, serta menyajikan data
dan informasi dari suatu obyek yang berkaitan dengan letak lokasi
di permukaan bumi (Irwansyah, 2013).
Sistem Informasi Geografis merupakan perangkat lunak
yang terintegrasi dan dibuat secara khusus untuk mengolah data
geografis. GIS dapat melakukan pemrosesan dimulai dari
29
pemasukan data, penyimpanan, menampilkan kembali informasi
kepada pengguna, serta analisis terhadap data. Pada dasarnya sistem
informasi geografis adalah gabungan yang tersusun dari tiga unsur
yaitu sistem, informasi, dan geografis. Demikian pemahaman
terhadap ketiga unsur-unsur ini dapat membantu memahami Sistem
Informasi Geografis. Berdasarkan unsurnya, maka jelas sistem
informasi geografis adalah sebuah sistem yang fokus pada unsur
“informasi geografis” (Weng, 2009).
Istilah geografis adalah bagian dari spasial (keruangan).
Keduanya seringkali digunakan secara bergantian atau tertukar
sehingga menimbulkan istilah yang baru yaitu geospasial. Ketiga
istilah ini memiliki arti yang sama dalam konteks SIG. Penggunaan
kata “Geografis” menjelaskan tentang suatu permasalahan mengenai
gambaran bumi baik berupa permukaan dua atau tiga dimensi. Istilah
“Informasi Geografis” memiliki arti terhadap informasi mengenai
tempat-tempat, pengetahuan mengenai posisi objek, dan informasi
mengenai keterangan-keterangan yang terdapat pada permukaan
bumi yang telah diketahui posisinya. SIG adalah sistem basis data
yang memiliki keahlian khusus dalam menangani data yang
memiliki referensi spasial (Prahasta, 2014).
2.4.2 Data Sistem Informasi Geografis
Data spasial memberikan representasi terhadap aspek-aspek
dari fenomena yang berada di bumi. Terdapat dua jenis tipe data
30
spasial, yaitu vektor dan raster. Vektor menunjukan, menempatkan,
dan menyimpan data spasial dengan menggunakan atribut seperti
titik-titik, garis-garis atau kurva, atau poligon. Raster menampilkan,
dan menyimpan data spasial dengan menggunakan grid yang terdiri
dari struktur matriks atau pixel-pixel. Pemanfaatan kedua model data
spasial ini disesuaikan dengan kebutuhan dari sistem. Data non-
spasial adalah data berbentuk teks atau angka yang disebut dengan
atribut. Data non-spasial bersifat untuk menjelaskan data spasial dan
dapat membentuk data spasial. Data non spasial dapat disimpan
dalam bentuk tabel, yang disebut data tabular. Data yang tersimpan
dalam bentuk database dan dapat digunakan dengan cara
digabungkan pada peta untuk menghasilkan pola titik maupun
simbol tertentu (Prahasta, 2014).
2.4.3 Manfaat Sistem Informasi Geografis
SIG memiliki fungsi untuk meningkatkan kemampuan dalam
menganalisis informasi spasial yang berguna untuk perencanaan dan
pengambilan keputusan. SIG dapat memberikan informasi yang
berperan untuk mengambil keputusan untuk tujuan analisis dan
penerapan database keruangan. Pengguna SIG dapat melihat
fenomena kebumian dengan perspektif yang lebih baik. SIG juga
memiliki kemampuan untuk mengakomodir penyimpanan,
pemrosesan, dan menampilkan data spasial digital bahkan
31
mengintegrasikan data yang beragam, mulai dari citra satelit, foto
udara, peta bahkan data statistik (Prahasta, 2014).
2.5 Peta
2.5.1 Pengertian Peta
Peta adalah representasi konvensional dan fitur-fitur dari
sebagian atau keseluruhan permukaan bumi di atas media bidang
datar yang memiliki skala tertentu. Peta merupakan gambaran
terhadap wilayah geografis dalam berbagai bentuk yang berbeda-
beda, seperti peta konvensional yang terdapat pada cetakan kertas
hingga peta digital yang ditampilkan pada layar komputer. Terdapat
berbagai gaya dalam penggambaran peta, masing-masing memiliki
penampilan permukaan yang berbeda untuk subjek yang sama
dengan tujuan untuk menvisualisasikan dunia dengan mudah,
informatif dan fungsional (Prahasta, 2014).
Peta digital memiliki fungsi yang multi fungsi dan dinamis
karena bisa menunjukkan banyak tampilan yang berbeda dari subjek
yang sama. Melalui peta ini, dimungkinkan untuk merubah skala,
menambah animasi gabungan, gambar, suara, dan bisa dihubungkan
ke sumber informasi tambahan melalui internet (Ridha, 2018).
2.5.2 Jenis-jenis Peta
Syahrul Ridha menyebutkan bahwa peta memiliki berbagai
jenis yang dibagi bisa dikelompokkan ke dalam dua jenis (Ridha,
2018). Kedua jenis peta itu terdiri dari:
32
1) Peta Umum
Peta umum adalah peta yang berisi bentang bumi
secara umum, baik yang bersifat alami maupun buatan
manusia. jenis-jenis peta umum yaitu:
Peta topografi merupakan peta yang menggambarkan
wilayah-wilayah tertentu pada permukaan bumi.
Peta kartografi adalah pengambaran terhadap sebagian
permukaan bumi
Peta Dunia merupakan peta yang menggambarkan
seluruh wilayah permukaan bumi.
2) Peta Khusus
Peta khusus merupakan peta yang dibuat untuk
memenuhi tujuan tertentu. Berdasarkan sifatnya dapat
dibedakan menjadi 2 yaitu:
Peta kuantitatif
Merupakan peta yang digunakan untuk mengetahui
lokasi keberadaan suatu objek beserta nilai objek
tersebut.
Peta Kualitatif
Merupakan peta yang memuat lokasi tertentu dari suatu
objek.
Berdasarkan sifat datanya peta dapat dikelompokan
menjadi 2 golongan yaitu terdiri dari :
33
1) Peta Stasioner
Merupakan peta yang memiliki sifat tetap atau stabil
dalam menggambarkan permukaan bumi.
2) Peta Dinamis
Merupakan peta yang selalu berubah-ubah atau tidak
stabil dalam menggambarkan keadaan permukaan bumi.
2.6 Georefencing
2.6.1 Pengertian Georefencing
Georefencing adalah proses untuk menentukan dan
memberikan identitas refensi spatial pada sebuah data raster. Proses
ini harus memiliki data raster dan vector yang telah memiliki
referensi spatial. Hal ini diperlukan untuk menjadi acuan untuk
memperoleh nilai koordinat dalam menentukan titik kontrol.
Terdapat dua metode dalam melakukan proses ini yaitu dengan
geografis (geographic coordinate system) dan proyeksi (projected
coordinate system) (Ridha, 2018).
2.6.2 Data Vector
Data vector merupakan sebuah data yang berfungsi sebagai
acuan dalam menentukan titik yang akan menghasilkan nilai
koordinat. Data vector terdiri dari titik (point) yang digunakan untuk
menunjukan lokasi sebuah tempat, contohnya lokasi bangunan,
objek wisata, atau kota. Garis (polylane) yang digunakan untuk
menunjukan sebuah objek yang memanjang (linear), contohnya
34
jalan dan sungai. Dan area (polygon) yang berguna untuk
menunjukan objek yang memiliki luas, contohnya pemukiman,
hutan, dan danau (Ridha, 2018).
2.6.3 Data Raster
Data raster adalah data yang sangat dibutuhkan dalam
menentukan referensi spatial dimana data ini tersusun dari
sekumpulan cell atau grid yang disebut dengan nama pixel (picture
element). Tiap pixel memiliki bentuk segi empat sama sisi yang
merupakan sebuah unit terkecil dalam sebuah luasan (Ridha, 2018).
2.7 KKN
Kuliah Kerja Nyata (KKN) merupakan salah satu bentuk kegiatan
pengabdian kepada masyarakat yang dilakukan oleh mahasiswa secara
interdisipliner, institusional, dan kemitraan yang menjadi salah satu bentuk
implementasi dari pelaksanaan tridharma perguruan tinggi. KKN merupakan
bentuk kegiatan pembelajaran yang dilakukan dengan cara langsung terjun
kedalam masyarakat. KKN merupakan proses pembelajaran yang dilakukan
mahasiswa melalui kegiatan yang ditunjukan langsung kepada masyarakat
sebagai bentuk untuk menjadi bagian dari masyarakat serta secara aktif terlibat
dalam dinamika yang tengah dialami oleh masyarakat. Keterlibatan mahasiswa
bukan hanya sebagai kesempatan bagi mahasiswa untuk belajar dari
masyarakat, namun juga menjadi pengaruh yang positif dalam
mengembangkan masyarakat dan memberi warna baru dalam pembangunan
masyarakat (Sumarto & Setiadi, 2014).
35
Kuliah Kerja Nyata atau biasa disebut KKN merupakan bentuk kegiatan
mendidik mahasiswa yang bertujuan untuk memberi pengalaman kepada para
mahasiswa untuk dapat merasakan kehidupan masyarakat di luar kampus, dan
diharapkan mahasiswa dapat memahami serta menyelesaikan berbagai kendala
maupun masalah yang terdapat dalam linkungan masyarakat tersebut. Kegiatan
KKN merupakan salah satu usaha perguruan tinggi dalam usaha untuk
meningkatkan kualitas pendidikan bagi mahasiswa dan untuk meningkatkan
akreditasi bagi perguruan tinggi (Anasari et al., 2015).
Kegiatan KKN merupakan sebuah kegiatan yang dilaksanakan oleh
perguruan tinggi, bertujuan untuk mengembangkan relevansi pendidikan yang
sesuai dengan kebutuhan masyarakat dalam meningkatkan kegiatan
pembangunan dimasyarakat serta memberikan gambaran kepada mahasiswa
tentang hasil dari pendidikan yang telah mereka dapat dikelas dan hubungan
serta manfaatnya terhadap pembangunan yang sedang berlangsung dalam
masyarakat. masyarakat sehingga kegiatan tersebut dapat sesuai terhadap
kebutuhan masyarakat serta dapat secara optimal memberikan hasil untuk
memenuhi kebutuhan tersebut (Suryadi et al., 2018).
2.8 Metode Pengumpulan Data
2.8.1 Sumber Data Primer
Data primer merupakan data yang didapatkan dengan
menggunakan metode penelitian lapangan, yaitu pengumpulan data
yang dilakukan dengan cara secara langsung meneliti tempat yang
dijadikan objek penelitian (Jogiyanto, 2010).
36
Terdapat berbagai cara dalam penelitian lapangan yaitu
sebagai berikut:
1) Observasi merupakan salah satu teknik pengumpulan data
pengamatan secara langsung terhadap suatu kegiatan yang
sedang dilakukan.
2) Wawancara merupakan metode yang diakui sebagai teknik
pengumpulan data yang penting dan banyak dilakukan dalam
penelitian. Untuk mengumpulkan data dengan cara
memberikan pertanyaan secara tatap muka langsung dengan
orang yang diwawancarai.
2.8.2 Sumber Data Sekunder
Data sekunder merupakan metode dalam pengumpulan data
dengan cara mempelajari data-data yang telah tersedia atau diberikan
oleh pihak yang bersangkutan dalam penelitian. Metode yang
digunakan untuk mengumpulkan data sekunder adalah berupa
metode dokumentasi, yaitu dengan mengumpulkan data dan
informasi yang diperlukan dari sumber-sumber (Jogiyanto, 2010)
2.9 Kerangka berpikir
Kerangka berpikir merupakan model konseptual tentang bagaimana
teori berhubungan dengan berbagai faktor yang telah diidentifikasi sebagai hal
yang penting jadi dengan demikian maka kerangka berpikir adalah sebuah
pemahaman yang melandasi pemahaman-pemahaman yang lainnya. Sebuah
pemahaman yang paling mendasar dan menjadi pondasi bagi setiap pemikiran
37
atau suatu bentuk proses dari keseluruhan dari penelitian yang akan dilakukan.
Kerangka berpikir yang baik akan menjelaskan secara teoritis pertautan antar
variabel yang akan diteliti. Jadi secara teoritis perlu dijelaskan hubungan antara
variabel independen dan dependen, bila dalam penelitian ada variabel
moderator dan intervening, maka juga perlu dijelaskan, mengapa variabel itu
diikutkan. Pertautan antar variabel tersebut tersebut selanjutnya dirumuskan
kedalam bentuk paradigma penelitian yang didasarkan pada kerangka berpikir
(Sugiyono, 2010).
2.10 Konsep Permodelan Objek
Analisis sistem yang berorientasi objek didasarkan terhadap beberapa
konsep. Sebagian konsep ini membutuhkan sebuah cara pemikiran baru untuk
sistem dan proses pengembangannya (Whitten & Bentley, 2008).
1) Objek merupakan sesuatu yang ada atau dapat dilihat, disentuh, atau
dirasakan dan pengguna menyimpan data serta mencatat perilaku
mengenai sesuatu itu.
2) Atribut adalah data yang mewakili karakteristik objek.
3) Instansi objek adalah setiap aktor, tempat, sesuatu, atau kejadian,
dan juga nilai untuk atribut dari objek.
4) Tingkah laku merupakan kumpulan dari sesuatu yang dapat
dilakukan oleh objek dan terkait dengan fungsi-fungsi yang
bertindak pada data objek (atribut). Pada siklus berorientasi objek,
perilaku objek merujuk kepada metode, operasi, atau fungsi (istilah
ini digunakan berganti-ganti di sepanjang buku ini).
38
5) Enkapsulasi adalah pengemasan beberapa item ke dalam satu unit.
Konsep penting lain dalam pemodelan objek adalah konsep
pengkategorian objek menjadi kelas (class) yaitu sebagai berikut (Whitten &
Bentley, 2008).
1) Kelas adalah satu set objek yang memiliki atribut dan behavior yang
sama. Kadang-kadang disebut kelas objek.
2) Generalisasi/spesialisasi adalah sebuah teknik di mana atribut dan
behavior yang umum pada beberapa tipe kelas objek,
dikelompokkan (atau diabstraksi) ke dalam kelasnya sendiri disebut
supertype. Atribut dan metode kelas objek supertype kemudian
diwariskan oleh kelas objek tersebut (subtype).
2.11 Rapid Application Development
2.10.1 Pengertian Rapid Application Development
Rapid Application Development (RAD) adalah strategi
siklus hidup yang ditujukan untuk menyediakan pengembangan
yang jauh lebih cepat dan mendapatkan hasil dengan kualitas yang
lebih baik dibandingkan dengan hasil yang dicapai melalui siklus
tradisional. RAD merupakan gabungan dari bermacam-macam
teknik terstruktur dengan teknik prototyping dan teknik
pengembangan joint application untuk mempercepat pengembangan
sistem/aplikasi (Whitten, 2006).
Menurut Roger Pressman, RAD adalah proses model
perangkat lunak inkremental yang menekankan siklus
39
pengembangan yang singkat. Model RAD adalah sebuah adaptasi
“kecepatan tinggi” dari model waterfall, di mana perkembangan
pesat dicapai dengan menggunakan pendekatan konstruksi berbasis
komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup
projek telah diketahui dengan baik, proses RAD memungkinkan tim
pengembang untuk menciptakan sebuah “sistem yang berfungsi
penuh” dalam jangka waktu yang sangat singkat (Pressman, 2012)
. Dari penjelasan ini, satu perhatian khusus mengenai metodologi
RAD dapat diketahui, yakni implementasi metode RAD akan
berjalan maksimal jika pengembang aplikasi telah merumuskan
kebutuhan dan ruang lingkup pengembangan aplikasi dengan baik
(Pressman, 2012).
Sedangkan menurut Kenneth Kendall, RAD adalah suatu
pendekatan berorientasi objek terhadap pengembangan sistem yang
mencakup suatu metode pengembangan serta perangkat-perangkat
lunak. RAD bertujuan mempersingkat waktu yang biasanya
diperlukan dalam siklus hidup pengembangan sistem tradisional
antara perancangan dan penerapan suatu sistem informasi. Pada
akhirnya, RAD sama-sama berusaha memenuhi syarat-syarat bisnis
yang berubah secara cepat (Kendall & Kendall, 2010).
2.10.2 Tahapan Rapid Application Development
Terdapat tiga fase dalam RAD yang melibatkan penganalisis
dan pengguna dalam tahap penilaian, perancangan, dan penerapan.
40
Adapun ketiga fase tersebut adalah requirements planning
(perencanaan syarat-syarat), RAD design workshop (workshop
desain RAD), dan implementation (implementasi). Sesuai dengan
metodologi RAD berikut ini adalah tahap-tahap pengembangan
aplikasi dari tiap-tiap fase pengembangan aplikasi (Kendall &
Kendall, 2010)
Gambar 2. 1 Rapid Application Depelovment (Kendall & Kendall, 2010)
1) Requirements Planning (Perencanaan Syarat-Syarat)
Dalam fase ini, pengguna dan penganalisis bertemu
untuk mengidentifikasikan tujuan-tujuan aplikasi atau sistem
serta untuk megidentifikasikan syarat-syarat informasi yang
ditimbulkan dari tujuan-tujuan tersebut. Orientasi dalam fase
ini adalah menyelesaikan masalah-masalah perusahaan.
Meskipun teknologi informasi dan sistem bisa mengarahkan
sebagian dari sistem yang diajukan, fokusnya akan selalu
tetap pada upaya pencapaian tujuan-tujuan perusahaan
41
2) RAD Design Workshop (Workshop Desain RAD)
Fase ini adalah fase untuk merancang dan
memperbaiki yang bisa digambarkan sebagai workshop.
Penganalisis dan dan pemrogram dapat bekerja membangun
dan menunjukkan representasi visual desain dan pola kerja
kepada pengguna. Workshop desain ini dapat dilakukan
selama beberapa hari tergantung dari ukuran aplikasi yang
akan dikembangkan. Selama workshop desain RAD,
pengguna merespon prototipe yang ada dan penganalisis
memperbaiki modul-modul yang dirancang berdasarkan
respon pengguna. Apabila sorang pengembangnya
merupakan pengembang atau pengguna yang
berpengalaman, Kendall menilai bahwa usaha kreatif ini
dapat mendorong pengembangan sampai pada tingkat
terakselerasi
3) Implementation (Implementasi).
Pada fase implementasi ini, penganalisis bekerja
dengan para pengguna secara intens selama workshop dan
merancang aspek-aspek bisnis dan nonteknis perusahaan.
Segera setelah aspek-aspek ini disetujui dan sistem-sistem
dibangun dan disaring, sistem-sistem baru atau bagian dari
sistem diujicoba dan kemudian diperkenalkan kepada
organisasi.
42
2.10.3 Kelebihan dan Kekurangan Rapid Application Development
Metode pengembangan sistem RAD relatif lebih sesuai
dengan rencana pengembangan aplikasi yang tidak memiliki ruang
lingkup yang besar dan akan dikembangkan oleh tim yang kecil.
Namun, RAD pun memiliki kelebihan dan kekurangannya sebagai
sebuah metodoligi pengembangan aplikasi (Kendall & Kendall,
2010). Berikut ini adalah kelebihan metodologi RAD :
Penghematan waktu dalam keseluruhan fase projek dapat
dicapai.
RAD mengurangi seluruh kebutuhan yang berkaitan
dengan biaya projek dan sumberdaya manusia.
RAD sangat membantu pengembangan aplikasi yang
berfokus pada waktu penyelesaian projek.
Perubahan desain sistem dapat lebih berpengaruh dengan
cepat dibandingkan dengan pendekatan SDLC tradisional.
Sudut pandang user disajikan dalam sistem akhir baik
melalui fungsi-fungsi sistem atau antarmuka pengguna.
RAD menciptakan rasa kepemilikan yang kuat di antara
seluruh pemangku kebijakan projek.
Sedangkan kekurangan penerapan metode RAD adalah
sebagai berikut:
Dengan metode RAD, penganalisis berusaha mepercepat
projek dengan terburu-buru.
43
Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak
mampu mengarahkan penekanan terhadap permasalahan-
permasalahan perusahaan yang seharusnya diarahkan.
RAD menyulitkan programmer yang tidak berpengalaman
menggunakan prangkat ini di mana programmer dan
analyst dituntut untuk menguasai kemampuan-kemampuan
baru sementara pada saat yang sama mereka harus bekerja
mengembangkan sistem.
2.12 Unified Modelling Language
2.11.1 Pengertian Unified Modelling Language
UML (Unified Modeling Language) adalah ‘bahasa’
pemodelan untuk sistem atau perangkat lunak yang berparadigma
‘berorientasi objek”. Pemodelan sesungguhnya digunakan untuk
penyederhanaan permasalahan-permasalahan yang kompleks
sedemikian rupa sehingga lebih mudah dipelajari dan dipahami.
UML juga merupakan metodologi kolaborasi antara metode-metode
Booch, OMT (Object Modeling Technique), serta OOSE (Object
Oriented Software Enggineering) dan beberapa metoda lainnya,
merupakan metodologi yang paling sering digunakan saat ini untuk
analisa dan perancangan sistem dengan metodologi berorientasi
objek mengadaptasi maraknya penggunaan bahasa “pemrograman
berorientasi objek” (OOP) (Nugroho, 2009).
44
Beberapa literature menyebutkan bahwa UML menyediakan
sembilan jenis diagram, yang lain menyebutkan delapan karena ada
beberapa diagram yang digabung, misanya diagram komunikasi,
diagram urutan dan diagram pewaktuan digabung menjadi diagram
interaksi (Widodo & Herlawati, 2011).
2.11.2 Langkah-Langkah penggunaan Unified Modelling Language
Terdapat langkah-langkah penggunaan Unified Modeling
Language (UML) (Nugroho, 2009). Langkah-langkah adalah
sebagai berikut:
Buatlah daftar business process dari level tertinggi untuk
mendefinisikan aktivitas dan proses yang mungkin muncul.
Petakan use case untuk setiap business process untuk
mendefinisikan dengan tepat fungsional yang harus
disediakan oleh sistem, kemudian perhalus use case
diagram dan lengkapi dengan requirement, constraints dan
catatan-catatan lain.
Buatlah deployment diagram secara kasar untuk
mendefinisikan arsitektur fisik sistem.
Definisikan requirement lain non fungsional, security dan
sebagainya yang juga harus disediakan oleh sistem.
Berdasarkan use case diagram, mulailah membuat activity
diagram.
45
Definisikan obyek - obyek level atas package atau domain
dan buatlah sequence dan/atau collaboration untuk tiap alur
pekerjaan, jika sebuah use case memiliki kemungkinan alur
normal dan error, buat lagi satu diagram untuk masing-
masing alur.
Buatlah rancangan user interface model yang menyediakan
antar muka bagi pengguna untuk menjalankan skenario use
case.
Berdasarkan model-model yang sudah ada, buatlah class
diagram. Setiap package atau domian dipecah menjadi
hirarki class lengkap dengan Atribut dan metodenya. Akan
lebih baik jika untuk setiap class dibuat unit test untuk
menguji fungsionalitas classdan interaksi dengan class lain.
Setelah class diagram dibuat, kita dapat melihat
kemungkinan pengelompokkan class menjadi komponen-
komponen karena itu buatlah component diagram pada
tahap ini. Juga, definisikan test integrasi untuk setiap
komponen meyakinkan ia bereaksi dengan baik.
Perhalus deployment diagram yang sudah dibuat. Detilkan
kemampuan dan requirement piranti lunak, sistem operasi,
jaringan dan sebagainya. Petakan komponen ke dalam
node.
46
Mulailah membangun sistem. mengembangkan unit kode
yang lengkap dengan test.
2.11.3 Usecase Diagram
Diagram use case menggambarkan semua aktifitas yang
dilakukan oleh suatu sistem dari sudut pandang pengamatan luar.
Diagram use case dekat kaitannya dengan kejadian – kejadian
(scenario) yang merupakan contoh apa yang terjadi ketika seseorang
berinteraksi dengan sistem. Use Case Diagram menyajikan interaksi
antara use case dan aktor. Use case diagram dapat sangat membantu
bila kita sedang menyusun kebutuhan sistem, mengomunikasikan
rancangan dengan klien, dan merancang test khusus untuk semua
desain yang ada pada sistem. (Nugroho, 2009).
47
Tabel 2. 1 Usecase diagram (Nugroho, 2009)
48
Gambar 2. 2 Contoh Usecase diagram (Nugroho, 2009)
2.11.4 Activity Diagram
Activity Diagram adalah representasi grafis dari workflow
sebuah kegiatan dan tindakan bertahap dengan dukungan untuk
pilihan, iterasi dan concurrency. Dalam Unified Modeling Language
, diagram aktivitas dimaksudkan sebagai model kedua dari proses
komputasi dan organisasi (yaitu workflow). Activity diagram
menunjukkan aliran keseluruhan suatu aktivitas ke aktivitas lainnya
dalam suatu sistem (Nugroho, 2009).
49
Tabel 2. 2 Activity diagram (Nugroho, 2009)
50
Gambar 2. 3 Contoh Activity diagram (Nugroho, 2009)
51
2.11.5 Class Diagram
Class diagram adalah model statis yang menggambarkan
struktur dan deskripsi class serta hubungannya antara class. Class
diagram mirip ER-Diagram pada perancangan database, bedanya
pada ER-diagram tdk terdapat operasi/methode tapi hanya atribut.
Class terdiri dari nama kelas, atribut dan operasi/methode. kelas-
kelas yang ada pada struktur sistem harus dapat melakukan fungsi-
fungsi sesuai dengan kebutuhan sistem. (Nugroho, 2009).
Tabel 2. 3 Class diagram (Nugroho, 2009)
52
Gambar 2. 4 Contoh Class diagram (Nugroho, 2009)
2.11.6 Maping Cardinality
Mapping cardinality adalah hubungan antara entitas terhadap
entitas dimana diantaranya terdapat relasi atau relationship
(Sukamto & Shalahuddin, 2013).
Dalam maping cardinality harus ada field yang
digunakan antara lain :
1) Primary Key (Kunci Utama): yaitu suatu atribut atau satu
set minimal atribut yang tidak hanya
mengindentifikasikan secara unik suatu kejadian yang
spesifik, tetapi juga dapat mewakili setiap kejadiaan dari
suatu entity.
2) Foreign Key (Kunci Tamu): satu atribut atau satu set
atribut yang melengkapi satu relationship atau hubungan.
2.11.7 sequence Diagram
53
Sequence diagram adalah suatu diagram yang
menggambarkan interaksi antar obyek dan mengindikasikan
komunikasi diantara obyek-obyek tersebut. Diagram ini juga
menunjukkan serangkaian pesan yang dipertukarkan oleh obyek –
obyek yang melakukan suatu tugas atau aksi tertentu. Pesan yang
dipertukarkan antar obyek digambarkan sebagai sebuah anak panah
antara activation box pengirim dan penerima. Kemudian diatasnya
diberikan label pesan (Nugroho, 2009).
54
Tabel 2. 4 Sequence diagram (Nugroho, 2009)
55
Gambar 2. 5 Contoh Sequence diagram (Nugroho, 2009)
2.13 Database dan DBMS
2.12.1 Pengertian Database
56
Database didefenisikan sebagai kumpulan informasi yang
terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang
memudahkan pengambilan kembali. Karena berfungsi sebagai basis
penyedia informasi bagi para pemakainya. Tujuan dari desain
database adalah untuk menentukan data-data yang dibutuhkan
dalam sistem sehingga informasi yang dihasilkan dapat terpenuhi
dengan baik. Desain database perlu dilakukan untuk menghindari
pengulangan data (Hidayatullah & Jauhari, 2014).
2.12.2 Database Management System (DBMS)
Database Management System atau yang sering disebut
DBMS diperlukan untuk mengelola basis data. DBMS adalah
perangkat lunak sistem yang memungkinkan para pemakai
membuat, memelihara, mengontrol, dan mengakses basis data
dengan cara yang praktis dan efisien (Raharjo, 2011).
2.14 Internet
Internet atau Interconnected Network merupakan jaringan (network)
komputer yang terdiri dari ribuan jaringan komputer independen yang
dihubungkan satu dengan yang lainnya (Jogiyanto, 2010).
Ada beberapa cara untuk menghubungkan ke internet :
1) Menghubungkan ke internet lewat penyedia jasa Internet (internet
service provider). Dengan menjadi anggota yang ditawarkan oleh
service provider, pelanggan akan diberi nomor telepon yang dapat
57
dihubungi untuk menghubungkan komputer pelanggan ke jaringan
service provider, identitas pemakai dan password.
2) Menghubungkan ke internet lewat penyedia jasa informasi.
Penyedia jasa ini menyediakan bermacam-macam informasi yang
terbaru seperti tentang informasi olahraga, berita-berita,
perbelanjaan, permainan dan lainnya yang dikemas dalam bentuk
menu yang mudah dipilih. Karena populernya internet, penyedia jasa
ini juga menyediakan fasilitas untuk menghubungkan ke jaringan
internet.
2.15 Website
Web adalah sekumpulan dokumen, file, dan program yang saling terkait
Web dijalankan dengan program pada server dan menerima respon dari klien.
Dari hubungan tersebut maka beberapa komputer menjadi webserver, yaitu
server yang memungkinkan pengguna (klien) mengakses dokumen dan
menjalakan program komputer yang secara fisik berada di komputer lain. Web
Database System adalah sistem di mana teknologi web dan database digunakan
secara bersamaan. Web Database System menyediakan akses yang lebih luas
ke sistem database dan meningkatkan kegunaan web (Hidayatullah & Jauhari,
2014).
2.16 PHP
PHP adalah salah satu bahasa pemrograman skrip yang dirancang untuk
membangun aplikasi web. Aplikasi web adalah aplikasi yang disimpan dan
dieksekusi (oleh PHP Engine) di lingkungan web server. Setiap permintaan
58
dilakukan oleh user melalui aplikasi klien (web browser) akan direspon oleh
aplikasi web dan hasilnya akan dikembalikan lagi ke hadapan user. Dengan
aplikasi web, halaman yang tampil di layar web browser bersifat dinamis,
tergantung dari nilai data atau parameter yang dikirimkan oleh user ke web
server (Raharjo, 2011).
PHP memiliki beberapa kelebihan, yaitu :
1) Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaannya.
2) Banyak web server yang mendukung PHP script antara lain: Apache,
AOL Server, Microsoft IIS, dan sebagainya. Web server ini dapat
dijalankan pada berbagai sistem operasi, dengan konfigurasi yang
relatif mudah.
3) PHP mendukung banyak paket database, baik yang komersil
maupun non komersil, seperti Oracle, Informix, MySQL, Microsoft
SQL Server dan lain-lain
2.17 Lavarel
Laravel merupakan framework PHP yang dikembangkang oleh
programmer yang berasal dari Amerika bernama Taylor Otwell pada tahun
2011. Framework yang dapat digunakan secara gratis ini telah menjadi salah
satu framework favorit bagi para programer diseluruh dunia. Framework secara
sederhana dapat diartikan sebagai kumpulan dari kode-kode yang digunakan
dalam pembuatan sebuah aplikasi yang telah tersusn rapi didalam folder-folder
agar dapat mudah digunakan. Keberadaan laravel sebagai sebuah framework
59
sangat membantu dalam pembuatan aplikasi dikarenakan framework sudah
menyediakan berbagai hal sehingga dapat lebih difokuskan dalam pembuatan
modul-modul aplikasi (Abdulloh, 2018).
Laravel sebagai salah satu framework terbaik tentunya memiliki
berbagai keunggulan dibandingkan framework lain. Keunggulannya yaitu :
1) Laravel mempunyai lebih banyak fitur dibandingkan framework
lain.
2) Laravel adalah framework PHP yang memiliki sifat ekspresif.
2.18 Android
Android adalah sebuah sistem operasi untuk perangkat mobile yang
merupakan modifikasi dari kernel Linux . Pada awalnya sistem operasi ini
dikembangkan oleh sebuah perusahaan bernama Android Inc yang berlokasi di
Palo Alto, California, Amerika Serikat yang didirikan oleh Andy Rubin
bersama Rich Miner, Nick Sears, dan Chris White. Pada bulan Juli 2005,
perusahaan tersebut diakuisisi oleh Google dan para pendirinya bergabung ke
Google. Andy Rubin sendiri kemudian diangkat menjadi Wakil Presiden divisi
Mobile dari Google. Tujuan pembuatan sistem operasi ini adalah untuk
menyediakan platform yang terbuka, yang memudahkan orang mengakses
internet menggunakan telepon seluler. Android juga dirancang untuk
memudahkan pengembang membuat aplikasi dengan batasan yang minim
sehingga kreativitas pengembang menjadi lebih berkembang (Andry, 2011).
Sebagai Open Source dan memiliki kebebasan dalam modifikasi,
sehingga Android tidak memiliki ketentuan yang tetap dalam konfigurasi
60
terhadap software dan hardware yang dimilikinya (Safaat, 2012). Fitur- fitur
yang terdapat didalam Android antara lain sebagai berikut:
1) Storage menggunakan SQLite dalam penyimpanan database.
2) Connectivity mendukung GSM/EDGE, IDEN, CDMA, EV-DO,
UMTS, Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE,
dan WiMax.
3) Messaging mendukung SMS dan MMS.
4) Web Browser berbasis open-source yang menggunakan
WebKit.
5) Media support mendukung untuk beberapa media yaitu: H.263,
H.264 (dalam bentuk 3GP or MP4), MPEG-4 SP, AMR,
AMRWB (dalam bentuk 3GP), AAC, HE-AAC (dalam bentuk
MP4 atau 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, GIF,
dan BMP.
6) Hardware support yang memiliki sensor akselerasi, Kamera,
Kompas Digital, Sensor kedekatan, GPS.
7) Multi-touch yang mendukung terhadap fungsi multi-touch
screens.
8) Multi-tasking yang mendukung terhadap aplikasi multi-tasking.
9) Tethering yang mendukung pembagian dari koneksi internet
sebagai wired/wireless hotspot
61
2.19 Java
Java merupakan bahasa pemrograman yang dapat dijalankan di
berbagai platform komputer termasuk telepon genggam. Bahasa ini awalnya
dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis
model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang
minimal. Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam
pcode (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java
(JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-
spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan
dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang
memungkinkan aplikasi Java mampu berjalan di beberapa platform sistem
operasi yang berbeda, Java dikenal pula dengan slogannya, "Tulis sekali,
jalankan di mana pun". Saat ini Java merupakan bahasa pemrograman yang
paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan
berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web (Raharjo,
Heryanto, & Haryono, 2010).
2.20 Global Positioning System
Global Positioning System (GPS) adalah merupakan sebuah sistem
radio navigasi penentuan posisi yang menggunakan satelit. GPS dapat
memberikan posisi suatu objek di muka bumi dengan akurat dan cepat dengan
menggunakan koordinat tiga dimensi yaitu x, y, z. Selain itu, GPS dapat dan
62
memberikan informasi waktu serta kecepatan bergerak secara kontinyu di
seluruh dunia (Safaat, 2012).
2.21 MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional (RDBMS) yang didistribusikan secara gratis. Setiap pengguna dapat
secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak
tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang
telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah
konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan
pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan
mudah secara otomatis (Huda & Komputer, 2010).
Huda juga menyebutkan bahwa kehandalan suatu sistem basisdata
(DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan
proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-
program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL
mendukung operasi basisdata transaksional maupun operasi basisdata non-
transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan
unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata
kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada
jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-
transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan
reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan
63
sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat
disarankan untuk menggunakan modus basisdata transaksional, hanya saja
sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak
secepat unjuk kerja pada modus non-transaksional.
2.22 Google Map API
Google map adalah layanan aplikasi dan teknologi peta berbasis web
yang disediakan oleh Google secara gratis (bukan untuk kepentingan
komersial), termasuk di dalamnya website Google Map
(http://maps.google.com), Google Ride Finder, Google Transit, dan peta yang
dapat disisipkan pada website lain melalui Google Maps API (Abdulloh, 2018).
Google Maps API adalah suatu library yang berbentuk JavaScript. Cara
membuat Google Maps untuk ditampilkan pada suatu web atau blog
membutuhkan pengetahuan mengenai HTML serta JavaScript, serta koneksi
internet yang sangat stabil. Dengan menggunakan Google Maps API, dapat
menghemat waktu dan biaya untuk membangun aplikasi peta digital yang
handal, sehingga programer dapat fokus hanya pada data-data yang
ditampilkan. Dengan kata lain, programer hanya membuat suatu data
sedangkan peta yang ditampilkan adalah milik Google sehingga programer
menampilkan peta lokasi. Dalam pembutan program Google Map API
menggunakan urutan sebagai berikut:
1) Memasukkan Maps API JavaScript ke dalam HTML.
2) Membuat element div dengan nama map_canvas untuk menampilkan peta.
3) beberapa objek literal untuk menyimpan properti-properti pada peta.
64
4) Menuliskan fungsi JavaScript untuk membuat objek peta.
2.23 Teknik Pengujian Software
Tujuan dari pengujian adalah untuk menemukan kesalahan dan
merupakan sebuah tes yang bagus di mana dalam pengujian ini memiliki
kemungkinan besar untuk menemukan kesalahan. Pada penelitian ini,
pengujian yang dipakai adalah metode blackbox testing.
Black box testing juga disebut pengujian tingkah laku, memusat pada
kebutuhan fungsional perangkat lunak. Teknik pengujian black box
memungkinkan memperoleh serangkaian kondisi masukan yang sepenuhnya
menggunakan semua persyaratan fungsional untuk suatu program. Beberapa
jenis kesalahan yang dapat diidentifikasi adalah fungsi tidak benar atau hilang,
kesalahan antar muka, kesalahan pada struktur data (pengaksesan basis data),
kesalahan performasi, kesalahan inisialisasi dan akhir program (Pressman,
2012).
2.24 Literatur Sejenis
Literatur sejenis merupakan tinjauan pustaka yang berasal dari
penelitian-penelitian yang pernah dilakukan sebelumnya. Adapun beberapa
penelitian terdahulu yang digunakan sebagai acuan tinjauan pustaka penelitian
ini adalah sebagai berikut:
65
Tabel 2. 5 Jurnal-jurnal literatur sejenis
No Peneliti Judul Hasil
1 (Lysen I.
Zambrano et
al., 2019)
Spatial distribution of
Zika in Honduras during
2016–2017 using
geographic information
systems (GIS) –
Implications for public
health and travel
medicine
Infeksi virus Zika (ZIKV) telah secara
signifikan mempengaruhi Amerika Latin pada
tahun 2015-2017. Sebagian besar studi telah
dilaporkan dari Brasil dan Kolombia, dan hanya
beberapa dari Amerika Tengah. Jurnal ini
menganalisis insiden, tingkat kejadian dan
evolusi kasus yang terjadi di Honduras pada
tahun 2016 hingga 2017.
Studi ini menghasilkan persebaran peta dari
kasus penyakit Zika yang terjadi di Honduras.
2 (Barale, 2020) A supporting marine
information system for
maritime spatial
planning: The European
Atlas of the Seas
The European Atlas of the Seas adalah
merupakan sistem informasi pesisir dan
kelautan berbasis web, yang awalnya ditujukan
untuk masyarakat umum, tetapi mampu juga
mendukung tenaga profesional dalam
menangani masalah lingkungan, aktivitas
manusia dan kebijakan manajemen terkait
dengan laut. Ini didasarkan pada kombinasi data
dan metadata yang menyajikan potret elemen
66
alam dan sosial ekonomi dari wilayah pesisir
dan laut di Eropa.
Basis data yang terdapat pada sistem,
menyajikan fitur-fitur alami dan sosial-ekonomi
di laut Eropa dan wilayah pesisir, dan dapat
diperbarui secara berkala dengan manajemen
dari masing-masing penyedia layanan. Prosedur
pembaruan otomatis telah dikembangkan untuk
memastikan unggahan cepat dari berbagai
sumber data. Untuk sebagian besar data historis
tetap dapat diakses setelah pembaruan.
3 (Alzaghrini,
Srour, &
Srour, 2019)
Using GIS and
optimization to manage
construction and
demolition waste: The
case of abandoned
quarries in Lebanon
Meningkatnya kebutuhan pada bahan baku dan
terbatasnya ruang tempat pembuangan akhir
karena meningkatnya tingkat urbanisasi telah
mendorong upaya untuk mengalihkan
Konstruksi dan limbah pembongkaran (C&DW)
dari TPA menuju proses menyortir, mendaur
ulang, dan menggunakan kembali. Sementara
upaya ini telah berhasil di beberapa negara
namun di negara-negara berkembang lebih
67
cenderung pada pembuangan ilegal dan
sembarangan dari limbah konstruksi.
Studi ini menggabungkan beberapa framework
untuk menciptakan pemetaan dari penempatan
fasilitas pemrosesan limbah konstruksi dan
mengoptimalisasi terkait aliran limbah dalam
satu kerangka kerja. Kerangka kerja ini
kemudian diterapkan untuk menguji kelayakan
ekonomi dalam menggunakan tambang yang
ditinggalkan untuk pemrosesan C&DW.
4 (Y. Yang &
Hu, 2019)
The spatial and temporal
evolution of coordinated
ecological and
socioeconomic
development in the
provinces along the Silk
Road Economic Belt in
China
Kondisi ekologi dan sosial ekonomi provinsi di
sepanjang Silk Road Economic Belt (SREB) di
China sangat berbeda. Penelitian saat ini tidak
memiliki analisis ilmiah tentang evolusi spasial
dan temporal dari pengembangan ekologi dan
sosial ekonomi yang terkoordinasi di wilayah
ini. Berdasarkan data dari tahun 2005 hingga
2016, menunjukkan tren penurunan dari
ekonomi pada wilayah tertentu.
Jurnal ini menunjukkan pemetaan dari
lingkungan ekologis provinsi sepanjang SREB
68
di China secara bertahap memburuk, terutama di
Xinjiang, Ningxia dan Qinghai. Konsumsi dari
energi fosil yang besar seperti batubara adalah
salah satu alasan utama dari penurunan kualitas
ekologis. Dari segi perkembangan sosial
ekonomi pada provinsi di sepanjang SREB di
China telah meningkat dengan cepat. Tingkat
pengembangan yang terkoordinasi antara
subsistem ekologi dan sosial ekonomi secara
bertahap membaik. Namun, kerusakan
lingkungan ekologis yang terjadi secara
bertahap memainkan peran yang akan
mengekang dalam pengembangan sosial
ekonomi, yang berimbas pada peningkatan
pembangunan yang terkoordinasi.
5 (Viana &
Delgado, 2019)
City Logistics in historic
centers: Multi-Criteria
Evaluation in GIS for city
of Salvador (Bahia –
Brazil)
Logistik dari sebuah kota telah membawa
konsep baru dalam perencanaan penggunaan
lahan dan pengelolaan arus logistik perkotaan,
selain itu dapat menyelesaikan masalah yang
terkait dengan pergerakan barang-barang di
perkotaan dan mencari keseimbangan antara
efisiensi yang dibutuhkan oleh biaya pengiriman
dan biaya sosial yang terlibat (kemacetan lalu
69
lintas, dampak lingkungan dan konservasi
energi).
Pada jurnal ini, metodologi yang digunakan
adalah geoprocessing yang digunakan untuk
mendiagnosis konsentrasi spasial dari proses
perjalanan logistik yang dihasilkan di daerah
pusat Salvador. Selanjutnya menggunakan
Multi-Kriteria Evaluasi (MCE) dalam GIS
(Sistem Informasi Geografis) untuk
mengidentifikasi peta kesesuaian yang berkaitan
denga kegiatan logistik perkotaan dan
penggunaan lahan. Hal ini berfungsi sebagai
dasar untuk mengidentifikasi strategi dan
ukuran dari logistik untuk mendukung
peningkatan kegiatan perkotaan di wilayah
studi.
6 (Lysien I.
Zambrano et
al., 2019)
Spatial distribution of
dengue in Honduras
during 2016–2019 using a
geographic information
systems (GIS)–Dengue
Setelah wabah serius chikungunya (CHIKV)
dan Zika (ZIKV) di Amerika, virus demam
berdarah (DENV) telah muncul kembali di
sebagian besar negara. Jurnal ini menganalisis
tingkat kejadian dan evolusi kasus demam
70
epidemic implications for
public health and travel
medicine
berdarah yang terjadi di Honduras dari tahun
2015-2018 dan epidemi 2019.
Studi ini menghasilkan persebaran dari kasus
penyakit demam berdarah yang terjadi di
Honduras.
7 (Howell et al.,
2019)
Using WebGIS to
develop a spatial
bibliography for
organizing, mapping, and
disseminating research
information: A case study
of quaking aspen
Informasi spasial merupakan informasi yang
sangat berharga untuk penelitian dan
manajemen ekosistem seperti asosiasi antar
spesies, pola distribusi spesies, respons terhadap
alam, dan invasi spesies terhadap ekosistem.
Jurnal ini menghasilkan pemetaan online yang
mudah digunakan untuk meneliti spesies
tanaman aspen (P. tremuloides). Platform
kartografi ini ditautkan kedalam basis data
komprehensif, yang memungkinkan pengguna
untuk melakukan pencarian geografis dengan
hanya menggunakan beberapa kata kunci. Lebih
lanjut disediakan filter yang dapat melakukan
pencarian seperti pencarian terhadap wilayah
geografis dari penelitian spesies tanaman aspen
yang pernah dilakukan sebelumnya.
71
8 (Gumbo,
Geyer, Moyo,
& Moyo,
2018)
Mapping spatial
locational trends of
Informal Economic
enterprises using mobile
Geographic Information
data in the city of in
Harare, Zimbabwe
Perencanaan tata ruang untuk perusahaan
ekonomi informal secara global dan di
perkotaan pada negara berkembang seperti
Harare pada umumnya sangat sulit karna
kurangnya data yang tepat. Dalam kebanyakan
kasus, perusahaan ekonomi informal dibahas
secara deskriptif dan statistik, dengan
mengabaikan karakteristik spasial perusahaan
tersebut. Hal ini membuat perencanaan untuk
pengembangan perusahaan ekonomi informal
menjadi sangat sulit, terutama mengingat bahwa
ekonomi informal mendominasi sebagian besar
perekonomian sebuah negara berkembang.
Jurnal ini menyajikan data informasi geografis
sebuah trend yang dikumpulkan melalui GPS
mobile seluler. Data spasial ini berguna untuk
mengetahui trend yang tengah terjadi di Kota
Harare yang berguna untuk penempatan dan
pengembangngan perusahaan ekonomi
informal.
9 (Wang et al.,
2018)
GIS-Based Social Spatial
Behavior Studies: A Case
Meningkatnya pendaftaran mahasiswa di
universitas-universitas di China telah memicu
72
Study in Nanjing
University Utilizing
Mobile Data
terhadap peningkatan pembangunan fasilitas
kampus. Namun, fasilitas baru dari kampus-
kampus umumnya mencakup wilayah yang luas
dan dikritik karena pemanfaatan ruang yang
tidak efisien. Kebutuhan-kebutuhan yang terkait
dengan kegiatan mahasiswa juga sebagian besar
telah diabaikan karena fungsi zonasi yang ketat
dalam perencanaan dan desain kampus.
Jurnal ini menghasilkan visualisasi pemetaan
dari aktivitas mahasiswa Universitas Nanjing
yang dihasilkan dari analisis terhadap data yang
dikumpulkan dari pemanfaatan GPS pada
aplikasi smartphone. Jurnal ini mengevaluasi
bagaimana ruang kampus digunakan oleh
mahasiswa berdasarkan perbandingan antara
RAS dan FAS untuk menentukan jika fasilitas
tersebut telah dimanfaatkan sebagaimana
diasumsikan oleh rencana zonasi.
10 (X. Yang et al.,
2019)
Spatial heterogeneity in
spatial interaction of
human movements—
Aliran penduduk di sebuah kota adalah
merupakan representasi dari interaksi spasial
karena yang disebabkan oleh pemenuhan
kebutuhan kehidupan sehari-hari (mis., bekerja,
73
Insights from large-scale
mobile positioning data
berbelanja, dan hiburan). Membangun
permodelan dari interaksi spasial aliran
penduduk merupakan hal yang sangat penting
untuk menentukan distance decay (hukum yang
menyatakan bahwa interaksi antar pelaku pasar
semakin rendah jika jaraknya semakin jauh).
Jurnal ini bertujuan untuk mengungkap variasi
spasial dari distance decay dengan studi kasus
pada kota Shenzen, China menggunakan data
pergerakan yang didapat dari GPS pada telepon
seluler. Berdasarkan data tersebut maka diambil
data lintasan dari beberapa individu untuk
menentukan distance decay.
Literatur sejenis yang peneliti gunakan dalam studi pustaka merupakan
penelitian-penelitian yang bertujuan untuk mencari, mengumpulkan, dan
menyimpan data berupa informasi spasial, data-data tersebut dapat diakses oleh
publik yang membutuhkan sebuah informasi dari data tersebut.
Berdasarkan hal tersebut, maka penelitian ini bertujuan untuk
membangun sebuah sistem informasi spasial dengan tujuan untuk menunjukan
titik-titik lokasi hasil kegiatan KKN beserta detail dari hasil kegiatan tersebut.
Sistem berbasis web dengan memanfaatkan fitur GPS pada mobile dalam
74
pengumpulan datanya serta dilengkapi dengan fitur terkait pelaporan dan
pelaksanaan KKN. Nantinya laporan-laporan beserta lokasi dari kegiatan KKN
tersebut dapat diakses oleh publik.
75
BAB III
METODOLOGI PENELITIAN
3.1 Tempat dan Waktu Penelitian
Tempat Penelitian : Pada Lembaga Penelitian dan Pengabdian kepada
Masyarakat (LP2M) Universitas Islam Negeri Syarif
Hidayatullah Jakarta pada bidang Pusat Pengadian
kepada Masyarakat (PPM).
Alamat : Jalan Ir. Haji Djuanda, Kelurahan Cempaka Putih,
Kecamatan Ciputat Timur, Kota Tangerang Selatan.
Waktu Penelitian : Maret 2019 – Juli 2019
3.2 Data dan Perangkat Penelitian
3.2.1 Data Penelitian
Data yang dibutuhkan dalam pengembangan Sistem
Informasi Spasial adalah data dari beberapa kelompok KKN berupa
detail hasil program kerja dan koordinat lokasinya pada kegiatan KKN
tahun 2018.
3.2.2 Perangkat Penelitian
Adapun perangkat yang digunakan dalam pengembangan
Sistem Informasi Spasial adalah dengan rinician sebagai berikut :
Hardware atau perangkat keras menggunakan laptop Asus
A442U dengan spesifikasi sebagai berikut :
76
Processor : Intel Core i5 8250u ( kecepatan 3.40 GHz )
Memory : RAM 4 GB / 2133 SDRAM
Storage : 1TB HDD
Graphics : Nvidia GT930MX
Software atau perangkat lunak yang digunakan peneliti dalam
pengembangan sistem ini adalah sebagai berikut :
Sistem operasi : Windows 10
Tools perancangan tampilan : Balsamiq
Tool perancangan sistem : Visual Studio Code, Android Studio
Bahasa pemrograman : PHP, Java
Database : Mysql menggunakan SQLyog
Peramban mobile : Android Device
Peramban web : Google Chrome
3.3 Metode Penelitian
3.3.1 Metode Pengumpulan Data
Terdapat data-data pendukung yang diperlukan peneliti
dalam mengembangkan sistem ini. Adapaun metode dalam
pengumpulan data tersebut adalah sebagai berikut :
a. Observasi
Observasi dilakukan peneliti dengan cara mengamati secara
langsung proses dan masalah yang terjadi untuk mengetahui
kegiatan yang sedang berjalan ditempat penelitian, yaitu kantor
77
Pusat Pengabdian kepada Masyarakat (PPM). Peneliti
mengumpulkan data berupa proses mekanisme kegiatan Kuliah
Kerja Nyata baik sebelum pra-kegiatan maupun sesudah kegiatan.
Dalam kegiatan ini selain mengamati kegiatan lembaga PPM,
peneliti juga mengamati proses kegiatan dari mahasiswa yang akan
melakukan kegiatan KKN tahun 2019.
b. Wawancara
Kegiatan wawancara ini dilakukan untuk mendapatkan
informasi terkait dengan pelaksanaan kegiatan KKN dan hal yang
dibutuhkan oleh PPM dalam pelaksanaan kegiatan tersebut.
Wawancara ini dilakukan dengan narasumber yaitu Bapak
Tantan Hermansyah selaku ketua Pusat Pengabdian kepada
Masyarakat. Wawancara dilakukan secara langsung berkaitan
dengan sistem yang akan dikembangkan.
c. Studi Pustaka
Studi pustaka dilakukan peneliti dalam mendapatkan data
maupun sebagai bahan referensi dalam pengembangan aplikasi ini.
Dalam pengambilan data, penulis mengambil dari beberapa karya
pustaka hasil dari kegiatan kelompok KKN UIN Syarif Hidayatullah
tahun 2018. Data-data tersebut digunakan untuk acuan dari kegiatan
maupun lokasi untuk pengisian database sistem yang akan
dikembangkan. Selain itu peneliti juga mengumpulkan literatur-
literatur sejenis terkait dengan Spasial, metode RAD dalam
78
pengembangan sistem dan juga metode penggunaan PHP dengan
framework Laravel dalam pembuatan sistem.
3.4 Metode Pengembangan Sistem
3.4.1 Metode Rapid Application Development ( RAD )
Metode Rapid Application Development atau biasa disingkat
sebagai metode RAD merupakan sebuah metode yang digunakan
dalam pembuatan sistem. Adapun alasan peneliti dalam pemilihan
metode ini adalah sebagai berikut:
a. Metode RAD merupakan metode yang menekankan pada siklus
pembangunan yang pendek sehingga memungkinan penyelesaian
program secara singkat dan cepat.
b. Metode RAD menggunakan metode yang inkremental dan
pengembangan difokuskan untuk menjawab kebutuhan dari
pengguna.
c. Metode RAD merupakan salah satu metode yang memiliki
kemampuan untuk memenghasilkan sebuah sistem dengan skala
kecil dalam fungsi minimal yang kemudian dapat direview dan
dikembangkan secara berulang hingga menghasilkan sebuah sistem
final yang sesuai kebutuhan pengguna.
Berikut merupakan perbandingan antara metode RAD
dengan beberapa metode lainnya :
79
Tabel 3. 1 Perbandingan metode-metode
Model
Pengembangan
Kelebihan Kekurangan
Rapid Application
Development
Siklus pembangunan
dengan waktu yang singkat
dan cepat.
Memiliki kemampuan
untuk menggunakan
kembali komponen yang
ada
Berguna untuk menjawab
pada kebutuhan-kebutuhan
diperlukan oleh pengguana
fleksibilitas yang sangat
besar.
Sistem yang tidak dapat
dimodularisasi tidak akan
cocok untuk model ini.
tidak mudah untuk
mendefinisikan class dan
obyek yang dibutuhkan
sistem
Waterfall Digunakan Struktur yang
sistematis yang jelas yang
memperkecil kesalahan
sistem.
Kecil kemungkinan dalam
perubahan kebutuhan
Sistem yang dihasilkan dapat
bersifat tidak fleksibel.
berorientasi utama pada
proses, sehingga
mengabaikan kebutuhan non-
fungsional.
80
selama pengembangan
sistem.
Prototype kesalahan dalam sistem
dapat segera terdeteksi
oleh pemakai.
Flexibelitas yang tinggi
dalam pengembangan
sistem.
Tanpa pengelolaan yang baik
dapat tidak pernah selesai
dikarenakan usulan
perubahan terlalu sering
dilakukan.
Extreme Programing Digunakan untuk
menyelesaikan sistem
secara global terlebih
dahulu, kemudian
menambahkan fitur dari
sistem akan dikembangkan
kemudian.
pengimplementasian
proyek dilakukan lebih
cepat.
Batasan proses dan Sistem
struktur sistem menjadi tidak
jelas.
Dokumentasi sering tidak
dilakukan karena lebih fokus
pada pengembangan dan
pengujian sistem
Spiral
Metode spiral dapat
digunakan pada
hanya dapat digunakan pada
pengembangan perangkat
81
pengembangan sistem
berskala besar
secara sistematis dapat
mengontrol perubahan-
perubahan selama proses
pengembangan.
Sangat cocok pada
mekanisme menanggulangi
risiko
yang berorientasi pada UML
(Unified Modeling Language)
Terlalu banyak memikirkan
risiko
Pengembangan menggunakan
metode ini masih jarang
diimplemetasikan
Metode ini lambat dan mahal
karena setiap tahapan yang
dilalui harus
mengikutsertakan pemesan
Terdapat beberapa tahapan dalam metode RAD yang
digunakan dalam penelitian ini yaitu sebagai berikut :
82
Gambar 3. 1 Metode Rapid Application Development
a. Requirement Planing
Proses ini merupakan awal dari pengembangan sebuah
sistem dimana tahap ini terdiri dari :
Gambaran umum dari lembaga PPM UIN Syarif Hidayatullah
Jakarta berupa profil, visi dan misi, tujuan dan juga struktur dari
lembaga
Analisa terhadap gambaran sistem berjalan yang terjadi dalam
pelaksanaan kegiatan KKN UIN Syarif Hidayatullah Jakarta.
Identifikasi masalah berdasakan hasil analis dari sistem yang
berjalan.
Perancangan sistem usulan dimana ini merupakan solusi terhadap
permasalahan.
b. Workshop Design
83
Pada tahap ini peneliti melakukan perancangan sistem dan
menghasilkan diagram-diagram yang terdiri dari :
Usecase diagram untuk menggambarkan interaksi yang terjadi
antara aktor dengan sistem
Activity diagram untuk menggambarkan alur aktifitas dari
penggunaan sistem.
Class diagram merupakan deskripsi terhadap data-data yang
digunakan didalam sistem.
Sequence diagram merupakan gambaran terhadap interaksi dari
aktor dan respon yang diberikan oleh sistem.
Selain itu peneliti juga merancang struktur menu dan desain
interface yang menjadi tampilan dari sistem.
c. Implementation System
Proses ini merupakan implementasi terhadap perancangan
sistem untuk menjadikan sebuah bentuk yang dimengerti komputer
yang berwujud dalam bentuk sebuah program. Tahap ini terdiri dari :
Pemrograman sistem untuk mewujudkan sebuah sistem yang dapat
digunakan
Pengujian terhadap sistem dengan menggunakan metode Black box
untuk menguji apakah sistem telah sesuai dengan rancangan.
84
3.5 Kerangka Berpikir
Kerangka berpikir merupakan konsep yang menjelaskan hubungan
yang telah dirumuskan oleh peneliti dan digunakan sebagai dasar pada
penelitian. Kerangka berpikir yang peneliti gunakan dalam mengembangkan
sistem adalah sebagai berikut :
Gambar 3. 2 Kerangka berpikir
85
BAB IV
HASIL DAN PEMBAHASAN
4.1 Requirement Planning
Pada metode RAD, tahap ini merupakan perencanaan awal sebuah
proyek yang digunakan untuk mendefiniskan gambaran umum dari Pusat
Pengabdian kepada Masyarakat. Selain itu, tahapan ini juga digunakan untuk
mengetahui sistem yang sedang berjalan dan mengidentifikasi permasalahan
yang ada, serta analisis dan menentukan sistem usulan.
4.1.1 Gambaran Umum Pusat Pengabdian kepada Masyarakat
4.1.1.1 Profil Pusat Pengabdian kepada Masyarakat
Lembaga Penelitian dan Pengabdian kepada Masyarakat
(LP2M) merupakan salah satu lembaga UIN Syarif Hidayatullah
Jakarta yang didirikan pada 15 Maret 2013 yang didasari oleh
Undang-Undang Republik Indonesia Nomor 20 Tahun 2003 Tentang
Sistem Pendidikan Nasional dan Peraturan yang dikeluarkan
Kementrian Agama Republik Indonesia, yaitu peraturan Nomor 6
Tahun 2013 yang mengatur tentang Kelembagaan dan Program Kerja
yang terdapat pada UIN Syarif Hidayatullah Jakarta. Lembaga ini
didirikan berdasarkan pemahaman dan untuk menanggapi terhadap
pentingnya integrasi kegiatan penelitian dan pengabdian kepada
masyarakat yang bertujuan untuk mendukung pencapaian target
Rencana Strategis (Renstra) UIN Syarif Hidayatullah Jakarta.
86
LP2M UIN Syarif Hidayatullah pada peranannya, diatur oleh
Wakil Rektor Bidang Kerjasama dan Pengembangan Kelembagaan,
yang berkoordinasi dengan lima bidang, yaitu Pusat Penelitian dan
Penerbitan (PUSLITPEN), Pusat Pengabdian Kepada Masyarakat
(PPM), Pusat Studi Gender dan Anak (PSGA), Pusat Layanan
Hubungan Masyarakat dan Bantuan Hukum (PLHMBH), Pusat
Layanan Kerjasama International (LP2M UIN Syarif Hidayatullah
Jakarta, 2016).
Pusat Pengabdian kepada Masyarakat (PPM) merupakan
salah satu dari lima bidang LP2M yang bertugas untuk mengkoordinir
dalam pelaksanaan kegiatan dan program kerja di bidang pengabdian
masyarakat yang dilakukan oleh mahasiswa dan dosen yang berasal
dari berbagai fakultas. Berdasarkan Peraturan Rektor UIN Syarif
Hidayatullah Jakarta Nomor : Un.01/R/HK.00.5/8/2011 tentang
Pedoman Pengabdian Kepada Masyarakat bagi Sivitas Akademik
UIN Syarif Hidayatullah Jakarta, maka PPM memiliki tugas untuk
mengembangkan lembaga pengabdian kepada masyarakat menjadi
pusat untuk mendidik dan melatih pengimplementasian Ilmu
Pengetahuan dan Teknologi untuk memberdayakan dan
mensejaterakan masyarakat. Salah satu kegiatan utama dari PPM yaitu
sebagai koordinator dan mengarahkan mahasiswa kepada masyarakat
melalui program Kuliah Kerja Nyata.
87
4.1.1.2 Visi dan Misi Pusat Pengabdian kepada Masyarakat
Tujuan Pusat Pengabdian kepada Masyarakat (PPM)
memiliki visi dan misi yaitu :
a. Visi
Menjadi lembaga yang terkemuka dan berkualitas
internasional dalam penelitian dan pengabdian kepada masyarakat
berbasis integrasi keilmuan, keislamanan dan keindonesiaan.
b. Misi
Meningkatkan kapasitas kelembagaan dalam mendukung
penelitian dan pengabdian kepada masyarakat
Memperkuat program-program penelitian yang
mengintegrasikan nilai-nilai keilmuan, keislamanan dan
keindonesiaan.
Mengembangkan program-program pengabdian kepada
masyarakat berbasis hasil penelitian yang responsif
terhadap kebutuhan masyarakat.
Meningkatkan kerjasama internal dan eksternal secara
efektif dan terbuka.
Menghasilkan produk dan jasa ilmu pengetahuan dan
teknologi yang berbasis keilmuan, keislaman dan
keindonesiaan.
88
4.1.1.3 Tugas dan Fungsi Pusat Pengabdian kepada Masyarakat
Pusat Pengabdian kepada Masyarakat (PPM) memiliki tugas
untuk melaksanakan kegiatan Kuliah Kerja Nyata yang merupakan
salah satu mata kuliah wajib bagi mahasiswa program sarjana (S1)
UIN Syarif Hidayatullah Jakarta. Adapun besaran angka kredit
kegiatan ini berkisar pada 4 sks dengan rincian 1 sks teori dan 3 sks
praktik lapangan.
Adapun fungsi dari Pusat Pengabdian kepada Masyarakat
yaitu:
Sebagai lembaga yang bertugas memenuhi kewajiban dalam
melaksanakan Tridharma Perguruan Tinggi bagi UIN Syarif
Hidayatullah Jakarta.
Pengembangan dan peningkatan pengetahuan mahasiswa
sehingga memiliki ketrampilan untuk mengkaji,
merumuskan, dan memecahkan masalah-masalah sosial
keagamaan yang ada dimasyarakat.
Pencapaian efisisensi dan efektivitas program pelayanan dan
pemberdayaan masyarakat yang ditandai dengan
meningkatnya kualitas hidup dan partisipasi masyarakat
untuk mencapai masyakat yang adil, makmur, dan sejahtera.
89
Mendekatkan perguruan tinggi pada masyarakat, berupa
media sosialisasi sekaligus promosi dimasyarakat sebagai
upaya untuk pengembangan kelembagaan.
Memberikan pengalaman belajar secara langsung
dimasyarakat, sehingga mahasiswa dapat menumbuhkan
rasa empati dan peduli terhadap permasalahan sosial
keagamaan dimasyarakat.
Memberi kesempatan kepada mahasiswa untuk
mengaplikasikan hasil pendidikan, pengajaran, dan
penelitian yang didapat dikampus dalam kehidupan sosial
keagamaan.
Meningkatkan kemampuan dan kompetensi mahasiswa
sesuai dengan bidang ilmu yang dikaji dan pemahaman atas
integrasi ilmu yang terdapat di UIN Syarif Hidayatullah
Jakarta.
4.1.1.4 Susunan Kerja Pusat Pengabdian kepada Masyarakat
Sebagai salah satu lembaga UIN Syarif Hidayatullah Jakarta,
Lembaga Penelitian dan Pengabdian kepada Masyarakat (LP2M)
bertanggung jawab langsung kepada rektor UIN Syarif Hidayatullah
Jakarta. Susunan struktur dari LP2M yaitu :
Ketua LP2M
90
Sebagai pemimpin LP2M, memiliki kewenangan
intruksional terhadap sekretaris, staff fungsional, dan
bidang-bidang LP2M.
Sekretaris LP2M
Memiliki tugas dalam administrasi dari segala kegiatan
LP2M.
Staff Fungsional LP2M
Bertugas dalam menjalankan aktifitas dan kegiatan dari
LP2M.
Pusat Pengabdian kepada Masyarakat (PPM) merupakan satu
dari lima bidang atau pusat LP2M yang terdiri dari satu ketua,
Sekretaris, dan dua koordinator.
Ketua PPM
Bertugas dalam memimpin kegiatan PPM, serta
kewenangan intruksional terhadap sekretaris dan
koordinator-koordinator PPM.
Sekretaris PPM
Bertugas dalam bidang administrasi serta penyerahan buku-
buku dan sertifikat KKN.
Koordinator Pengabdian kepada Masyarakat oleh
Mahasiswa (PpMM)
91
Bertugas dalam mengatur segala kegiatan yang meliputi
program pengabdian kepada masyrakat yang dilakukan
oleh mahasiswa.
Koordinator Pengabdian kepada Masyarakat oleh Dosen
(PpMD)
Bertugas dalam mengatur segala kegiatan yang meliputi
program pengabdian kepada masyrakat yang dilakukan
oleh dosen.
Gambar 4. 1 Struktur organisasi LP2M dan PPM
92
4.1.2. Analisis Sistem Berjalan
Pusat Pengabdian kepada Masyarakat (PPM) merupakan
bidang yang bertugas dalam pelaksanaan kegiatan KKN. Tahapan
tugas PPM meliputi pembukaan program, implemantasi dan
monitoring kegiatan, dan pelaporan.
Rangkaian kegiatan ini diawali dengan penyerahan amanat
dari ketua PPM kepada koordinator Pengabdian kepada Masyarakat
oleh Mahasiswa (PpMM) untuk pengadaan kegiatan dan
pembentukan kelompok KKN. Setiap kelompok KKN yang telah
terbentuk akan merencanakan program kerja yang akan
diimplementasikan selama KKN.
Setiap kegiatan yang telah dilakukan oleh kelompok KKN
harus dilaporkan kepada PPM melalui dua cara. Pertama adalah
laporan mingguan yang berupa esai berisi kegiatan yang telah
dilakukan selama satu minggu. Laporan mingguan ini ditulis setiap
minggu oleh setiap individu dan dikirimkan ke email PPM, nantinya
koordinator PpMM akan mengulas dan verifikasi laporan tersebut
sebelum diserahkan kepada ketua PPM untuk divalidasi. Laporan
yang telah divalidasi selanjutnya akan diserahkan kepada sekretaris
PPM untuk merangkung dan menyimpan seluruh laporan yang telah
diterima.
93
Kedua adalah laporan kegiatan yang merupakan laporan
kelompok berupa rincian dari program kerja yang telah dilakukan.
Sebelum diserahkan, laporan kegiatan ini akan dikumpulkan dan
dirangkum menjadi buku hasil kegiatan KKN yang berisi profil dari
kelompok KKN, profil anggota KKN, profil lokasi KKN, dan rincian
hasil dari kegiatan kelompok KKN. Selanjutnya buku ini akan diulas
dan diverifikasi oleh koordinator PpMM sebelum diserahkan kepada
ketua PPM untuk divalidasi. Setelah divalidasi buku akan diserahkan
kepada sekretaris PPM untuk disimpan di perpustakaan utama UIN
Syarif Hidayatullah Jakarta. Buku-buku hasil kegiatan KKN ini
merupakan satu-satunya informasi yang valid dari hasil kegiatan KKN
yang dapat diakses oleh publik.
94
Gambar 4. 2 Sistem yang berjalan
4.1.3 Identifikasi Masalah
Berdasarkan sistem yang berjalan saat ini, terdapat beberapa
masalah, diantaranya yaitu :
Informasi kegiatan KKN masih tersebar-sebar dalam buku
KKN dan belum terkumpul dalam satu database. Hal ini
menyebabkan kesulitan dalam mencari informasi terkait
95
detail hasil kegiatan KKN sebagai bahan evaluasi maupun
referensi dalam penyusunan program KKN selanjutnya.
Informasi yang terdapat dalam buku KKN tidak menunjukan
lokasi akurat dan jumlah total dari kegiatan KKN yang telah
dilakukan pada tahun tersebut.
Pelaporan mingguan masih bersifat manual dan belum
memiliki database untuk menyimpan laporan-laporan
tersebut.
4.1.4 Proses Bisnis Sistem Usulan
Solusi yang peneliti berikan untuk penyelesaian masalah
tersebut adalah membuat Sistem Informasi Geospasial berbasis web
bernama sistem informasi KKN-PPM yang berguna untuk
melaporkan kegiatan yang telah dilakukan kelompok KKN. Sistem
akan memberikan manfaat yaitu :
Menjadi media yang berfungsi sebagai pelaporan mingguan
dan kegiatan KKN, sekaligus sebagai media terhadap
penanganan keadaan darurat yang membutuhkan campur
tangan langsung dari PPM.
Menyediakan peta persebaran kegiatan yang berisi detail
informasi dari kegiatan tersebut.
96
Menyediakan data grafik yang berguna untuk mengetahui
jumlah kegiatan dan perbandingan dengan jumlah kegiatan
pada tahun sebelumnya.
Gambar 4. 3 Sistem usulan KKN-PPM
Uraian dari sistem usulan yang tertera pada gambar tersebut
yaitu :
Kelompok KKN dapat mengakses sistem menggunakan
aplikasi Android yang berfungsi untuk pembuatan akun.
Setelah memiliki akun, kelompok KKN memiliki kewajiban
untuk mengirim laporan mingguan dan laporan kegiatan.
97
Selain itu kelompok KKN dapat menyalakan alarm tanda
darurat jika menemui keadaan yang memerlukan respon
langsung dari PPM.
Koordinator PpMM bertugas untuk melakukan verifikasi
dan mengelola data akun. Selain itu koor PpMM bertugas
untuk melakukan review dan verifikasi terhadap laporan
mingguan dan laporan kegiatan. Koor PpMM juga memiliki
tugas untuk melakukan respon terhadap notifikasi alarm
yang dikirim oleh peserta KKN.
Ketua PPM memiliki tugas untuk validasi laporan mingguan
dan laporan kegiatan yang telah diverifikasi oleh koor
PpMM.
Sekretaris PPM memiliki akses terhadap laporan-laporan
yang telah divalidasi dan dapat mencetak untuk menyimpan
bentuk fisik laporan tersebut.
Admin bertugas untuk mengelola data akun dan data laporan
yang terdapat didalam sistem.
Publik memiliki akses untuk melihat peta persebaran
kegiatan KKN dan detail dari kegiatan tersebut. Selain itu
publik dapat melihat grafik jumlah kegiatan dan jenis
kegiatan KKN dari setiap tahun.
98
4.2 Workshop Design
Tahap ini mweupakan ini berfungsi untuk menggambarkan rancangan
dari sistem usulan. Dalam tahap ini peneliti merancang sistem usulan yang
terdiri dari tahap-tahap berikut:
4.2.1 Perancangan Sistem
Dalam proses perancangan sistem informasi KKN-PPM,
peneliti menggunakan pendekatan berbasis objek dengan
menggunakan notasi UML (Unified Modelling Language). Notasi ini
menggunakan usecase diagram, activity diagram, class diagram,
sequence diagram, dan spesifikasi database.
4.2.1.1 Usecase Diagram
Tabel 4. 1 Identifikasi aktor
No Aktor deskripsi
1 Peserta KKN Merupakan mahasiswa yang menjadi utusan kelompok KKN yang
bertugas untuk membuat akun kelompok KKN, mengirim laporan
mingguan, mengirim laporan kegiatan, dan menyalakan notifikasi
alarm.
2 Koordinator
PpMM
Anggota lembaga PPM yang bertugas untuk melakukan verifikasi
terhadap registrasi akun, laporan mingguan, dan laporan kegiatan.
Selain itu juga memiliki tugas untuk merespon notifikasi alarm.
99
3 Ketua PPM Ketua dari lembaga PPM, bertugas untuk melakukan validasi
terhadap laporan mingguan dan laporan kegiatan yang telah
diverifikasi oleh koor PpMM.
4 Sekretaris
PPM
Anggota lembaga PPM, memiliki hak akses untuk mencetak laporan
mingguan dan laporan kegiatan yang telah diverifikasi.
5 Admin Memiliki tugas untuk mengelola data-data berupa data akun dan
laporan-laporan yang terdapat didalam sistem.
6 Publik Orang yang berada diluar sistem, memiliki akses untuk melihat
laporan kegiatan yang telah divalidasi.
Setelah melakukan identifikasi aktor, tahap selanjutnya
adalah melakukan indetifikasi terhadap usecase yang dapat dilihat
pada tabel dibawah :
Tabel 4. 2 Identifikasi usecase
no Nama usecase Deskripsi Aktor
1 Login Usecase ini menggambarkan proses untuk
masuk kedalam sistem dengan memasukan
data yang sesuai pada kolom username dan
password.
Peserta KKN,
Koor PpMM,
Ketua PPM,
Sekretaris PPM,
Admin
100
2 Registrasi akun
mobile
Usecase ini menggambarkan kegiatan
registrasi akun baru untuk dapat masuk
kedalam sistem.
Peserta KKN
3 Verifikasi
registrasi akun
mobile
Usecase ini menggambarkan proses
verifikasi data akun yang baru dibuat.
Koor PpMM
4 Pembuatan Akun Usecase ini menggambarkan kegiatan untuk
menambahkan akun baru untuk dapat
masuk kedalam sistem.
Admin
5 Kelola Akun Usecase ini menggambarkan kegiatan untuk
mengelola data akun yang terdapat didalam
sistem.
Admin
6 Pembuatan
laporan mingguan
Usecase ini menggambarkan proses
pembuatan dan pengiriman laporan
mingguan individu peserta KKN.
Peserta KKN
7 Review laporan
mingguan
Usecase ini menggambarkan proses
mengulas dan melakukan verifikasi
terhadap laporan mingguan yang dikirim
oleh peserta KKN.
Koor PpMM
8 Validasi laporan
mingguan
Usecase ini menggambarkan proses validasi
terhadap laporan mingguan yang telah
diverifikasi oleh koor PpMM.
Ketua PPM
101
9 Cetak laporan
mingguan
Usecase ini menggambarkan proses melihat
dan mencetak laporan mingguan yang telah
divalidasi.
Sekretaris PPM,
Peserta KKN
10 Kelola laporan
mingguan
Usecase ini menggambarkan proses
mengelola data laporan mingguan yang
telah divalidasi.
Admin
11 Pembuatan dan
penitikan lokasi
laporan kegiatan
Usecase ini menggambarkan proses
pembuatan dan pengiriman laporan
kegiatan kelompok peserta KKN.
Peserta KKN
12 Review laporan
kegiatan
Usecase ini menggambarkan proses
mengulas dan melakukan verifikasi
terhadap laporan kegiatan yang dikirim oleh
peserta KKN.
Koor PpMM
13 Validasi laporan
kegiatan
Usecase ini menggambarkan proses validasi
terhadap laporan kegiatan yang telah
diverifikasi oleh koor PpMM.
Ketua PPM
14 Cetak laporan
kegiatan
Usecase ini menggambarkan proses melihat
dan mencetak laporan kegiatan yang telah
divalidasi.
Sekretaris PPM,
Peserta KKN
15 Kelola laporan
kegiatan
Usecase ini menggambarkan proses
mengelola data laporan kegiatan yang telah
divalidasi.
Admin
102
16 Menyalakan
alarm
Usecase ini menggambarkan proses
pengiriman notifikasi alarm yang
menandakan keadaan darurat yang perlu
penangganan khusus dari PPM.
Peserta KKN
17 Kelola alarm Usecase ini menggambarkan tanggapan
terhadap notifikasi alarm yang dikirim oleh
peserta KKN.
Koor PpMM
18 Pengunggahan
buku KKN
Usecase ini menggambarkan kegiatan
dalam mengunggah buku hasil kegiatan
KKN
Peserta KKN
19 Pengaturan akun Usecase ini menggambarkan kegiatan untuk
merubah username dan juga password dari
akun.
Peserta KKN,
koor PpMM,
Ketua PPM,
Sekretaris PPM,
Admin
20 logout Usecase ini menggambarkan proses keluar
dari sistem.
Peserta KKN,
Koor PpMM,
Ketua PPM,
Sekretaris PPM,
Admin
21 Lihat peta
persebaran
Usecase ini menggambarkan proses melihat
titik-titik lokasi persebaran peta dari
laporan kegiatan yang telah divalidasi.
Publik
103
22 Lihat list hasil
kegiatan
Usecase ini menggambarkan proses melihat
list dari laporan kegiatan yang telah
divalidasi.
Publik
23 Pengunduhan
buku KKN
Usecase ini menggambarkan kegiatan
dalam mengunduh buku hasil kegiatan
KKN
Publik
Setelah melakukan identifikasi usecase, tahap selanjutnya
adalah melakukan perancangan terhadap gambaran dari sistem
informasi KKN-PPM. Berdasarkan hasil dari hak akses, dalam use
case ini terdapat lima aktor yang dapat mengakses sistem. Lima aktor
itu terdiri dari peserta KKN, koordinator Pengabdian kepada
Masyarakat oleh Mahasiswa (PpMM), ketua Pusat Pengabdian
kepada Masyarakat, sekretaris Pusat Pengabdian kepada Masyarakat,
dan publik.
Usecase diagram dari sistem informasi KKN-PPM dapat
dilihat pada gambar dibawah ini:
104
Gambar 4. 4 Usecase diagram sistem informasi KKN-PPM
105
Setelah pembuatan usecase diagram, tahap selanjutnya
adalah pembuatan narasi usecase. Tahap ini berfungsi untuk
menjelaskan respon yang diberikan sistem ketika aktor menjalankan
sebuah usecase, narasi usecase dapat dilihat pada tabel-tabel dibawah
ini :
Narasi usecase login
Tabel 4. 3 Narasi usecase login
Usecase Name Login
Usecase ID 01
Actor Peserta KKN, koor PpMM, ketua PPM, sekretaris PPM, Admin
Description Usecase ini menggambarkan kegiatan memasukkan data
username dan password untuk dapat masuk ke dalam sistem
Precondition Aktor harus masuk ke halaman menu login
Typical Course Of Event
Actor Actions Sistem Response
2. Input username dan password
3. Pilih login
1. Menampilkan halaman menu login
4. Menampilkan halaman awal sistem
Alternate Courses 2.1 Jika username dan password salah
maka sistem akan kembali ke
halaman menu login
106
Conclusion Aktor berhasil login dan masuk
kedalam sistem
Postcondition Menampilkan menu sesuai role aktor
Narasi usecase registrasi akun mobile
Tabel 4. 4 Narasi usecase registrasi akun mobile
Usecase Name Registrasi akun mobile
Usecase ID 02
Actor Peserta KKN
Description Usecase ini menggambarkan kegiatan memasukkan data
kelompok KKN pada form yang tersedia di aplikasi android
Precondition aktor telah masuk ke form registrasi pada aplikasi
Typical Course Of Event
Actor Actions Sistem Response
2. Input data pribadi dan data KKN
3. Pilih kirim
1. Menampilkan form registrasi
4. Mengirim data akun ke website
107
Alternate Courses 2.1 Jika sudah terdapat data akun pada
form registrasi, maka user dapat
mengubah data dengan memasukan
dan mengirim data yang baru
kedalam form dan kembali ke form
registrasi
Conclusion Data terkirim ke website
Postcondition Menampilkan halaman awal aplikasi
Narasi usecase verifikasi registrasi akun mobile
Tabel 4. 5 Narasi usecase verifikasi registrasi akun mobile
Usecase Name Verifikasi registrasi akun mobile
Usecase ID 03
Actor Koor PpMM
Description Usecase ini menggambarkan proses verifikasi data akun yang
telah dikirim.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
108
1. Memilih menu kelola akun
3. Memilih data akun
5. Melakukan verifikasi terhadap akun
2. Menampilkan list data akun
4. Menampilkan data akun
6. Mengirim notifikasi email terkait
verifikasi akun
7. Memampilkan list data akun
Alternate Courses 5.1 Memilih arsip untuk melihat data
akun yang
telah diverifikasi, setelah itu sistem
menampilkan list data akun
5.2 Aktor dapat menghapus akun yang
telah
diverifkasi, setelah itu sistem
menampilkan list data akun
Conclusion Akun yang telah diverifikasi dapat
menggunakan Fitur pada aplikasi dan
dapat masuk ke website Sesuai dengan
role
Postcondition Menampilkan menu kelola akun
109
Narasi usecase pembuatan akun
Tabel 4. 6 Narasi usecase pembuatan akun
Usecase Name Pembuatan akun
Usecase ID 04
Actor Admin
Description Usecase ini menggambarkan kegiatan menambahkan akun baru
untuk dapat masuk kedalam sistem.
Precondition aktor telah masuk kedalam sistem.
Typical Course Of Event
Actor Actions Sistem Response
2. Memilih menu tambah akun
4. Mengisi form pembuatan akun
5. Memilih simpan
1. Menampilkan menu akun
3. Menampilkan form tambah akun
6. Menyimpan data
7. Menampilkan menu akun
Alternate Courses -
Conclusion Data akun tersimpan
Postcondition Menampilkan halaman awal aplikasi
110
Narasi usecase pembuatan akun
Tabel 4. 7 Narasi usecase kelola akun
Usecase Name Kelola akun
Usecase ID 05
Actor Admin
Description Usecase ini menggambarkan kegiatan mengelola data akun yang
terdapat didalam sistem.
Precondition aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
3. Mengisi form edit akun
4. Memilih simpan
1. Menampilkan menu akun
2. Memilih edit akun
5. Menyimpan data akun
6. Menampilkan menu akun
Alternate Courses 2. 1 Aktor dapat memilih untuk
menghapus data akun, lalu
sistem kembali menampilkan
menu akun
Conclusion Data akun tersimpan
Postcondition Menampilkan halaman awal aplikasi
111
Narasi usecase pembuatan laporan mingguan
Tabel 4. 8 Narasi usecase pembuatan laporan mingguan
Usecase Name Pembuatan laporan mingguan
Usecase ID 06
Actor Peserta KKN
Description Usecase ini menggambarkan proses pembuatan dan pengiriman
laporan mingguan individu peserta KKN.
Precondition Akun telah diverifikasi dan aktor telah masuk ke form
laporan mingguan
Typical Course Of Event
Actor Actions Sistem Response
2. Input data laporan mingguan
3. Pilih kirim
1. Menampilkan form laporan mingguan
4. Mengirim data laporan mingguan ke
website
Alternate Courses -
Conclusion Data telah terkirim ke website
Postcondition Menampilkan halaman awal aplikasi
112
Narasi usecase review laporan mingguan
Tabel 4. 9 Narasi usecase review laporan mingguan
Usecase Name Review laporan mingguan
Usecase ID 07
Actor Koor PpMM
Description Usecase ini menggambarkan proses mengulas dan melakukan
verifikasi terhadap laporan mingguan yang dikirim oleh peserta
KKN.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan mingguan
3. Memilih laporan mingguan
5. Melakukan review terhadap laporan
mingguan
6. Melakukan verifikasi terhadap
laporan mingguan
2. Menampilkan list laporan mingguan
4. Menampilkan detail laporan mingguan
7. Menyimpan data laporan mingguan
8. Menampilkan list laporan mingguan
113
Alternate Courses 5.1 Aktor dapat memilih untuk
menghapus
Laporan mingguan, selanjutnya menuju
menampilkan list laporan mingguan
6.1 Aktor dapat memilih untuk
menyetujui
laporan mingguan atau tidak menyetujui
laporan mingguan, setelah itu
menyimpan laporan mingguan
Conclusion Data laporan mingguan tersimpan
sebagai data laporan mingguan terverifikasi
Postcondition Menampilkan menu laporan mingguan
Narasi usecase validasi laporan mingguan
Tabel 4. 10 Narasi usecase validasi laporan mingguan
Usecase Name Validasi laporan mingguan
Usecase ID 08
Actor Ketua PPM
Description Usecase ini menggambarkan proses validasi terhadap laporan
mingguan yang telah diverifikasi oleh koor PpMM.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
114
Actor Actions Sistem Response
1. Memilih menu laporan mingguan
3. Memilih laporan mingguan
5. Aktor melakukan validasi
2. Menampilkan list laporan mingguan
terverifikasi
4. Menampilkan detail laporan
mingguan
6. Menyimpan data laporan mingguan
7. Menampilkan list laporan mingguan
Alternate Courses 5.1 Aktor dapat memilih untuk
menyetujui laporan mingguan atau
tidak menyetujui laporan mingguan,
lalu sistem menyimpan data laporan
mingguan
Conclusion Data laporan mingguan tersimpan
sebagai data laporan mingguan
tervalidasi
Postcondition Menampilkan menu laporan mingguan
115
Narasi usecase cetak laporan mingguan
Tabel 4. 11 Narasi usecase cetak laporan mingguan
Usecase Name Cetak laporan mingguan
Usecase ID 09
Actor Sekretaris PPM, koor PpMM, ketua PPM, peserta KKN
Description Usecase ini menggambarkan proses melihat dan mencetak laporan
mingguan yang telah divalidasi.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan mingguan
3. Memilih laporan mingguan
5. Memilih mencetak laporan mingguan
2. Menampilkan list laporan mingguan
tervalidasi
4. Menampilkan detail laporan mingguan
6. Mencetak laporan mingguan
7. Menampilkan data laporan mingguan
Alternate Courses -
Conclusion Aktor dapat mencetak data laporan
mingguan
Postcondition Menampilkan menu laporan mingguan
116
Narasi usecase kelola laporan mingguan
Tabel 4. 12 Narasi usecase kelola laporan mingguan
Usecase Name Kelola laporan mingguan
Usecase ID 10
Actor Admin
Description Usecase ini menggambarkan proses mengelola laporan mingguan.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan mingguan
3. Memilih laporan mingguan
5. Memilih ubah laporan mingguan
7. Mengisi data-data pada form
8. Memilih simpan
2. Menampilkan list laporan mingguan
tervalidasi
4. Menampilkan detail laporan mingguan
6. Menampilkan form ubah laporan
mingguan
9. Menyimpan laporan mingguan
10. Menampilkan data laporan mingguan
Alternate Courses 5.1 Aktor dapat memilih hapus laporan
mingguan, lalu laporan akan terhapus
117
dan selanjutnya sistem akan
menampilkan menu laporan mingguan
Conclusion Aktor dapat mengubah atau menghapus
data laporan mingguan
Postcondition Menampilkan menu laporan mingguan
Narasi usecase pembuatan dan penitikan lokasi laporan
kegiatan
Tabel 4. 13 Narasi usecase pembuatan dan penitikan lokasi laporan kegiatan
Usecase Name Pembuatan dan penitikan lokasi laporan kegiatan
Usecase ID 11
Actor Peserta KKN
Description Usecase ini menggambarkan proses pembuatan dan pengiriman
laporan kegiatan kelompok peserta KKN.
Precondition Akun telah diverifikasi dan aktor telah masuk ke form laporan
kegiatan
Typical Course Of Event
Actor Actions Sistem Response
2. Input data laporan kegiatan
3. Pilih kirim
1. Menampilkan form laporan kegiatan
118
4. Mengirim data laporan kegiatan ke
website
Alternate Courses -
Conclusion Data telah terkirim ke website
Postcondition Menampilkan halaman awal aplikasi
Narasi usecase review laporan kegiatan
Tabel 4. 14 Narasi usecase review laporan kegiatan
Usecase Name Review laporan kegiatan
Usecase ID 12
Actor Koor PpMM
Description Usecase ini menggambarkan proses mengulas dan melakukan
verifikasi terhadap laporan kegiatan yang dikirim oleh peserta
KKN.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
119
1. Memilih menu laporan kegiatan
3. Memilih laporan kegiatan
5. Aktor melakukan review terhadap
Laporan kegiatan
6. Aktor melakukan verifikasi terhadap
laporan kegiatan
2. Menampilkan list laporan kegiatan
4. Menampilkan detail laporan kegiatan
7. Menyimpan data laporan kegiatan
8. Menampilkan list laporan kegiatan
Alternate Courses 5.1 Aktor dapat memilih untuk
menghapus laporan kegiatan,
selanjutnya menuju menampilkan list
laporan kegiatan
6.1 Aktor dapat memilih untuk
menyetujui laporan kegiatan atau tidak
menyetujui laporan kegiatan , setelah
itu menyimpan laporan kegiatan
Conclusion Data laporan kegiatan tersimpan sebagai
data laporan kegiatan terverifikasi
Postcondition Menampilkan menu laporan kegiatan
120
Narasi usecase validasi laporan kegiatan
Tabel 4. 15 Narasi usecase validasi laporan kegiatan
Usecase Name Validasi laporan kegiatan
Usecase ID 13
Actor Ketua PPM
Description Usecase ini menggambarkan proses validasi terhadap laporan
kegiatan yang telah diverifikasi oleh koor PpMM.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan kegiatan
3. Memilih laporan kegiatan
5. Aktor melakukan validasi
2. Menampilkan list laporan kegiatan
terverifikasi
4. Menampilkan detail laporan kegiatan
6. Menyimpan data laporan kegiatan
7. Menampilkan list laporan kegiatan
Alternate Courses 5.1 aktor dapat memilih untuk menyetujui
laporan kegiatan atau tidak menyetujui
laporan kegiatan, lalu sistem menyimpan
data laporan kegiatan
121
Conclusion Data laporan kegiatan tersimpan sebagai
data laporan kegiatan tervalidasi
Postcondition Menampilkan menu laporan mingguan
Narasi usecase cetak laporan kegiatan
Tabel 4. 16 Narasi usecase cetak laporan kegiatan
Usecase Name Cetak laporan mingguan
Usecase ID 14
Actor Sekretaris PPM, koor PpMM, ketua PPM, peserta KKN
Description Usecase ini menggambarkan proses melihat dan mencetak laporan
kegiatan yang telah divalidasi.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan kegiatan
3. Memilih laporan kegiatan
5. Memilih mencetak laporan kegiatan
2. Menampilkan list laporan kegiatan
tervalidasi
4. Menampilkan detail laporan kegiatan
6. Mencetak laporan kegiatan
7. Menampilkan data laporan kegiatan
122
Alternate Courses -
Conclusion Aktor dapat mencetak data laporan
kegiatan
Postcondition Menampilkan menu laporan kegiatan
Narasi usecase kelola laporan kegiatan
Tabel 4. 17 Narasi usecase kelola laporan kegiatan
Usecase Name Kelola laporan mingguan
Usecase ID 15
Actor Admin
Description Usecase ini menggambarkan proses mengelola laporan kegiatan
yang telah divalidasi.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu laporan kegiatan
3. Memilih laporan kegiatan
5. Memilih ubah laporan kegiatan
2. Menampilkan list laporan kegiatan
tervalidasi
4. Menampilkan detail laporan kegiatan
123
7. Mengisi data-data pada form
8. Memilih simpan
6. Menampilkan form ubah laporan
kegiatan
9. Menyimpan laporan kegiatan
10. Menampilkan data laporan kegiatan
Alternate Courses 5.1 Aktor dapat memilih hapus laporan
kegiatan, lalu laporan akan terhapus
dan selanjutnya sistem akan
menampilkan menu laporan kegiatan
Conclusion Aktor dapat mengubah atau menghapus
laporan kegiatan
Postcondition Menampilkan menu laporan kegiatan
Narasi usecase menyalakan alarm
Tabel 4. 18 Narasi usecase menyalakan alarm
Usecase Name Menyalakan alarm
Usecase ID 16
Actor Peserta KKN
Description Usecase ini menggambarkan proses pengiriman notifikasi alarm
yang menandakan keadaan darurat yang perlu penangganan khusus
dari PPM.
124
Precondition Akun telah diverifikasi dan aktor telah masuk ke menu alarm
Typical Course Of Event
Actor Actions Sistem Response
2. Input data dan jenis darurat
3. Pilih kirim
1. Menampilkan menu alarm
4. Mengirim data notifikasi alarm ke
website
Alternate Courses -
Conclusion Data telah terkirim ke website
Postcondition Menampilkan halaman awal aplikasi
Narasi usecase kelola alarm
Tabel 4. 19 Narasi usecase kelola alarm
Usecase Name Kelola alarm
Usecase ID 17
Actor Koor PpMM
Description Usecase ini menggambarkan tanggapan terhadap notifikasi alarm
yang dikirim oleh peserta KKN.
Precondition Aktor telah masuk kedalam sistem dan muncul notifikasi alarm
Typical Course Of Event
Actor Actions Sistem Response
125
2. Memilih menu alarm
4. Memilih matikan notifikasi alarm
1. Muncul notifikasi alarm
3. Menampilkan detail alarm
5. Notifikasi alarm berhenti
6. Menyimpan data log alarm
Alternate Courses -
Conclusion Data log alarm tersimpan
Postcondition Menampilkan menu halaman awal
Narasi usecase pengunggahan buku KKN
Tabel 4. 20 Narasi usecase pengunggahan buku KKN
Usecase Name Pengunggahan buku KKN
Usecase ID 18
Actor Peserta KKN
Description Usecase ini menggambarkan proses dalam menggungah buku hasil
kegiatan KKN
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
1. Memilih menu upload buku
2. Menampilkan menu upload buku
126
3. Mengisi data form buku
4. Mengunggah buku
5. Memilih simpan
6. Menyimpan buku
7. Menampilkan menu upload buku
Alternate Courses -
Conclusion Data buku KKN tersimpan
Postcondition Menampilkan menu upload buku
Narasi usecase pengaturan akun
Tabel 4. 21 Narasi usecase pengaturan akun
Usecase Name Pengaturan akun
Usecase ID 19
Actor Peserta KKN, koor PpMM, ketua PPM, sekretaris PPM
Description Usecase ini menggambarkan proses mengubah username dan
password akun
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
2. Memilih menu pengaturan akun
4. Memilih ubah username dan password
1. Menampilkan menu dashboard
3. Menampilkan menu pengaturan akun
127
5. Memilih simpan
6. Menyimpan data perubahan akun
7. Menampilkan menu pengaturan akun
Alternate Courses -
Conclusion Data username dan password berubah
Postcondition Menampilkan menu pengaturan akun
Narasi usecase logout
Tabel 4. 22 Narasi usecase logout
Usecase Name Logout
Usecase ID 20
Actor Peserta KKN, koor PpMM, ketua PPM, sekretaris PPM
Description Usecase ini menggambarkan proses keluar dari sistem.
Precondition Aktor telah masuk kedalam sistem
Typical Course Of Event
Actor Actions Sistem Response
2. Memilih logout
1. Menampilkan menu dashboard
3. Keluar dari sistem
4. Menampilkan menu halaman awal
Alternate Courses -
128
Conclusion Akun keluar dari sistem
Postcondition Menampilkan menu halaman awal
Narasi usecase lihat peta persebaran KKN
Tabel 4. 23 Narasi usecase lihat peta persebaran KKN
Usecase Name Lihat peta persebaran KKN
Usecase ID 21
Actor Publik, peserta KKN, koor PpMM, ketua PPM, sekretaris PPM
Description Usecase ini menggambarkan halaman awal sistem dan
menampilkan laporan kegiatan yang telah divalidasi.
Precondition Aktor berada dihalaman awal
Typical Course Of Event
Actor Actions Sistem Response
2. Memilih menu persebaran kegiatan
KKN
4. Memilih salah satu titik lokasi
6. Memilih kembali
1. Menampilkan halaman awal
3. Menampilkan peta persebaran kegiatan
KKN
5. Menampilkan detail kegiatan
7. Menampilkan peta persebaran KKN
Alternate Courses -
129
Conclusion Menampilkan peta hasil kegiatan KKN
Postcondition Menampilkan peta persebaran kegiatan
KKN
Narasi usecase lihat list hasil kegiatan KKN
Tabel 4. 24 Narasi usecase lihat list hasil kegiatan KKN
Usecase Name Lihat list hasil kegiatan KKN
Usecase ID 22
Actor Publik, peserta KKN, koor PpMM, ketua PPM, sekretaris PPM
Description Usecase ini menggambarkan halaman awal sistem dan
menampilkan laporan kegiatan yang telah divalidasi.
Precondition Aktor berada dihalaman awal
Typical Course Of Event
Actor Actions Sistem Response
2. Memilih menu list hasil kegiatan KKN
4. Memilih salah satu kegiatan KKN
6. Memilih kembali
1. Menampilkan halaman awal
3. Menampilkan list kegiatan KKN
tervalidasi
5. Menampilkan detail kegiatan
130
7. Menampilkan list kegiatan KKN
tervalidasi
Alternate Courses -
Conclusion Menampilkan list kegiatan KKN
tervalidasi
Postcondition Menampilkan list kegiatan KKN
tervalidasi
Narasi usecase pengunduhan buku KKN
Tabel 4. 25 Narasi usecase pengunduhan buku KKN
Usecase Name Pengunduhan buku KKN
Usecase ID 23
Actor Publik, peserta KKN, koor PpMM, ketua PPM, sekretaris PPM
Description Usecase ini menggambarkan halaman awal sistem dan
menampilkan laporan kegiatan yang telah divalidasi.
Precondition Aktor berada dihalaman awal
Typical Course Of Event
Actor Actions Sistem Response
131
2. Memilih menu buku KKN
4. Memilih salah satu buku KKN
6. Memilih unduh
1. Menampilkan halaman awal
3. Menampilkan list buku KKN
5. Menampilkan detail kegiatan
7. Mengirim file pdf buku KKN
8. Menampilkan list buku KKN
Alternate Courses -
Conclusion Mengunduh buku KKN
Postcondition Menampilkan list buku KKN
4.2.1.2 Activity Diagram
Activity diagram adalah diagram yang berguna untuk
menggambarkan aktifitas-aktifitas yang terjadi dalam sistem. Avivity
diagram pada sistem informasi KKN-PPM adalah sebagai berikut :
Activity diagram login
132
Gambar 4. 5 Activity diagram login
Activity diagram ini mengambarkan aktifitas aktor untuk
masuk kedalam sistem. Aktor pertama harus masuk ke menu login,
lalu aktor memasukan username dan password dan setelah memilih
tombol login. Sistem akan memeriksa username dan password. Jika
sesuai, sistem akan menampilkan halaman awal berupa menu
dasboard.
133
Activity diagram registrasi akun mobile
Gambar 4. 6 Activity diagram registrasi akun mobile
Activity diagram ini merupakan registrasi akun pada aplikasi
Android. Aktor pertama membuka form registrasi dan setelah itu jika
aktor belum memiliki akun maka aktor dapat menginput data baru dan
memilih kirim, nantinya data tersebut akan dikirim menuju website.
Jika aktor telah memiliki akun maka form akan menampilkan data
134
tersebut sehingga aktor dapat memilih menghapus data untuk
memperbaharui data tersebut.
Activity diagram verifikasi registrasi akun mobile
Gambar 4. 7 Activity diagram verifikasi registrasi akun mobile
135
Activity diagram ini merupakan proses untuk melakukan
verifikasi terhadap permintaan pembuatan akun. Aktor sebelumnya
harus login kedalam sistem dimana sistem akan menampilkan list
permintaan verifikasi akun. Aktor dapat memilih salah satu
permintaan untuk melihat detail data, kemudian aktor melakukan
verifikasi berupa menyetujui atau tidak menyetujui akun tersebut.
Kemudian sistem akan mengirim notifikasi email berupa hasil
verifikasi aktor. Aktor juga dapat melihat arsip dari data-data akun
yang telah diverifikasi dan menghapus data akun tersebut.
Activity diagram pembuatan akun
136
Gambar 4. 8 Activity diagram pembuatan akun
Activity diagram ini merupakan proses pembuatan akun pada
website. Aktor pertama membuka form registrasi dan setelah itu jika
aktor belum memiliki akun maka aktor dapat menginput data baru dan
memilih simpan.
Activity diagram kelola akun
137
Gambar 4. 9 Activity diagram kelola akun
Activity diagram ini merupakan proses pengelolaan akun
pada website. Aktor pertama harus login kedalam website dan setelah
itu jika aktor dapat menginput data dan kemudian menyimpan data
baru tesebut atau menghapus akun.
138
Activity diagram pembuatan laporan mingguan
Gambar 4. 10 Activity diagram pembuatan laporan mingguan
Activity diagram ini menggambarkan proses aktor mengirim
laporan mingguan pada aplikasi. Aktor sebelumnya harus memiliki
akun yang telah diverifikasi, setalah itu aktor masuk ke halaman form
laporan mingguan dan mengisi data-data laporan mingguan. Setelah
itu aktor dapat memilih tombol kirim untuk mengirim data.
Activity diagram review laporan mingguan
139
Gambar 4. 11 Activity diagram review laporan mingguan
140
Activity diagram ini merupakan proses review dan verifikasi
terhadap laporan mingguan yang telah diterima. Aktor sebelumnya
harus terlebih dahulu login kedalam sistem lalu memilih menu laporan
mingguan. Selanjutnya sistem akan menampilkan list laporan
mingguan yang belum diverifikasi. Aktor dapat memilih salah satu
laporan tersebut untuk melihat detail laporan dan melakukan
verifikasi terhadap laporan tersebut. Selain itu aktor juga dapat
menghapus laporan mingguan tersebut. Setelah melakukan verifikasi,
sistem akan menyimpan hasil dari verifikasi dan kemudian
menampilkan laporan mingguan yang belum diverifikasi.
Activity diagram validasi laporan mingguan
141
Gambar 4. 12 Activity diagram validasi laporan mingguan
142
Activity diagram ini merupakan proses untuk mevalidasi
laporan mingguan yang telah diverifikasi. Aktor sebelumnya harus
terlebih dahulu login kedalam sistem lalu memilih menu laporan
mingguan. Selanjutnya sistem akan menampilkan list laporan
mingguan yang telah diverifikasi dan belum divalidasi. Aktor dapat
memilih salah satu laporan tersebut untuk melihat detail laporan dan
melakukan validasi terhadap laporan tersebut. Selain itu aktor juga
dapat menghapus laporan mingguan tersebut. Setelah melakukan
validasi, sistem akan menyimpan hasil dari validasi dan kemudian
menampilkan laporan mingguan yang telah diverifikasi dan belum
divalidasi.
Activity diagram cetak laporan mingguan
143
Gambar 4. 13 Activity diagram cetak laporan mingguan
144
Activity diagram ini merupakan proses untuk mencetak
laporan mingguan yang telah melalui proses validasi. Aktor terlebih
dahulu harus login kedalam sistem dan memilih menu laporan
mingguan. Sistem kemudian akan menampilkan list laporan yang
telah divalidasi. Aktor lalu dapat memilih untuk mencetak laporan
mingguan tersebut.
Activity diagram kelola laporan mingguan
145
Gambar 4. 14 Activity diagram kelola laporan mingguan
146
Activity diagram ini menggambarkan proses aktor mengelola
laporan mingguan dimana aktor dapat mengubah atau menghapus
salah satu data pada laporan mingguan.
Activity diagram pembuatan dan penitikan lokasi laporan
kegiatan
Gambar 4. 15 Activity diagram pembuatan dan penintikan lokasi laporan kegiatan
Activity diagram ini menggambarkan proses aktor mengirim
laporan kegiatan pada aplikasi. Aktor sebelumnya harus memiliki
akun yang telah diverifikasi, setalah itu aktor masuk ke halaman form
laporan kegiatan dan mengisi data-data laporan kegiatan. Setelah itu
aktor dapat memilih tombol kirim untuk mengirim data-data tersebut.
147
Activity diagram review laporan kegiatan
Gambar 4. 16 Activity diagram review laporan kegiatan
148
Activity diagram ini merupakan proses review dan verifikasi
terhadap laporan kegiatan yang telah diterima. Aktor sebelumnya
harus terlebih dahulu login kedalam sistem lalu memilih menu laporan
kegiatan. Selanjutnya sistem akan menampilkan list laporan kegiatan
yang belum diverifikasi. Aktor dapat memilih salah satu laporan
tersebut untuk melihat detail laporan dan melakukan verifikasi
terhadap laporan tersebut. Selain itu aktor juga dapat menghapus
laporan kegiatan tersebut. Setelah melakukan verifikasi, sistem akan
menyimpan hasil dari verifikasi dan kemudian menampilkan laporan
kegiatan yang belum diverifikasi.
Activity diagram validasi laporan kegiatan
149
Gambar 4. 17 Activity diagram validasi laporan kegiatan
150
Activity diagram ini merupakan proses untuk mevalidasi
laporan kegiatan yang telah diverifikasi. Aktor sebelumnya harus
terlebih dahulu login kedalam sistem lalu memilih menu laporan
kegiatan. Selanjutnya sistem akan menampilkan list laporan kegiatan
yang telah diverifikasi dan belum divalidasi. Aktor dapat memilih
salah satu laporan tersebut untuk melihat detail laporan dan
melakukan validasi terhadap laporan tersebut. Selain itu aktor juga
dapat menghapus laporan kegiatan tersebut. Setelah melakukan
validasi, sistem akan menyimpan hasil dari validasi dan kemudian
menampilkan laporan kegiatan yang telah diverifikasi dan belum
divalidasi.
Activity diagram cetak laporan kegiatan
151
Gambar 4. 18 Activity diagram cetak laporan kegiatan
152
Activity diagram ini merupakan proses untuk mencetak
laporan kegiatan yang telah melalui proses validasi. Aktor terlebih
dahulu harus login kedalam sistem dan memilih menu laporan
kegiatan. Sistem kemudian akan menampilkan list laporan yang telah
divalidasi. Aktor lalu dapat memilih untuk mencetak laporan kegiatan
tersebut.
Activity diagram kelola laporan kegiatan
153
Gambar 4. 19 Activity diagram kelola laporan kegiatan
154
Activity diagram ini menggambarkan proses aktor mengelola
laporan kegiatan dimana aktor dapat mengubah atau menghapus salah
satu data pada laporan kegiatan.
Activity diagram menyalakan alarm
Gambar 4. 20 Activity diagram menyalakan alarm
Activity diagram ini menggambarkan proses aktor mengirim
notifikasi alarm pada aplikasi. Aktor sebelumnya harus memiliki akun
yang telah diverifikasi, setalah itu aktor masuk ke menu alarm dan
mengisi data dan jenis alarm. Setelah itu aktor dapat memilih tombol
kirim untuk mengirim notifikasi tersebut.
Activity diagram kelola alarm
155
Gambar 4. 21 Activity diagram kelola alarm
Activity diagram ini menggambarkan prroses penerimaan
notifikasi alarm dimana setelah Aktor login dan saat sebuah aplikasi
mengirim notifikasi, website akan merespon dan menyalakan
156
notifikasi tersebut. Setelah itu aktor dapat melihat detail alarm dan
mematikan alarm dan sistem menyimpannya kedalam log alarm.
Activity diagram pengunggahan buku KKN
157
Gambar 4. 22 Activity diagram pengunggahan buku KKN
158
Activity diagram ini menggambarkan aktifitas untuk
mengunggah buku KKN. Aktor terlebih dahulu harus masuk kedalam
sistem. Setelah itu aktor mengisi formulir keterangan buku KKN dan
mengunggah file berupa buku KKN dengan ekstensi .doc atau .pdf.
setelah itu aktor memilih kirim dan file tersebut akan tersimpan
didalam sistem.
Activity diagram pengaturan akun
159
Gambar 4. 23 Activity diagram pengaturan akun
Activity diagram ini menggambarkan aktifitas untuk
mengubah akun. Aktor terlebih dahulu harus masuk kedalam sistem.
Setelah itu aktor mengisi formulir perubahan akun lalu aktor memilih
160
simpan. Data berupa username dan password akan berubah dan
tersimpan didalam sistem.
Activity diagram logout
Gambar 4. 24 Activity diagram logout
Activity diagram ini menggambarkan aktifitas aktor untuk
keluar dari sistem dengan memilih menu logout dan sistem akan
menampilkan halaman awal dari website.
Activity diagram lihat peta persebaran KKN
161
Gambar 4. 25 Activity diagram lihat peta persebaran KKN
Activity diagram ini menggambarkan aktifitas untuk melihat
laporan berupa hasil kegiatan KKN. Aktor dapat mengakses menu
persebaran untuk melihat peta dari titik-titik persebaran dari kegiatan-
kegiatan yang telah dilaksanakan selama KKN. Aktor juga dapat
162
melihat detail dari kegiatan dengan cara mengklik salah satu titik
tersebut.
Activity diagram lihat list kegiatan KKN
Gambar 4. 26 Activity diagram lihat list kegiatan KKN
163
Activity diagram ini menggambarkan aktifitas untuk melihat
list laporan berupa hasil kegiatan KKN. Aktor dapat mengakses menu
untuk melihat list dari kegiatan yang telah tervalidasi yang telah
dilaksanakan selama KKN. Aktor juga dapat melihat detail dari
kegiatan dengan cara mengklik salah satu list tersebut.
Activity diagram pengunduhan buku KKN
164
Gambar 4. 27 Activity diagram pengunduhan buku KKN
165
Activity diagram ini menggambarkan aktifitas untuk melihat
list buku KKN. Aktor dapat mengakses menu untuk melihat list dan
informasi sinopsis dari buku KKN. Aktor juga dapat mengunduh file
.pdf buku KKN tersebut.
4.2.1.3 Class Diagram
Class diagram adalah merupakan penentuan terhadap
gambaran dari struktur objek didalam sistem. Penentuan ini terdiri
dari langkah-langkah sebagai berikut :
Menentukan objek potensial
Tabel 4. 26 Daftarl objek potensial
Admin, login, user, mahasiswa, registrasi , verifikasi akun, KKN,
PPM, Koor PpMM, kegiatan, laporan mingguan, formulir, buku,
review, Verifikasi data, validasi data, alarm, kelola alarm, role
Analisa dan penyeleksian objek potensial
Tabel 4. 27 Seleksi terhadap objek potensial
Objek potensial
Cek Alasan
admin X Merupakan salah satu user
login X Merupakan salah satu aktifitas, tidak relevan
166
user Y USER berupa data diri dan syarat masuk kedalam
sistem
mahasiswa Y MAHASISWA merupakan data dari peserta KKN
registrasi X Merupakan salah satu aktifitas, tidak relevan
Verifikasi akun X Merupakan salah satu aktifitas, tidak relevan
KKN X Nama dari kegiatan
PPM X Merupakan salah satu user
Koor PpMM X Merupakan salah satu user
kegiatan Y KEGIATAN merupakan data dari hasil KKN
Laporan
mingguan
Y LAPORAN MINGGUAN adalah laporan
pelaksanaan KKN
formulir X Merupakan salah satu atribut
buku Y BUKU merupakan direktori dari buku KKN
review X Merupakan salah satu aktifitas, tidak relevan
Verfikasi data X Merupakan salah satu aktifitas, tidak relevan
Validasi data X Merupakan salah satu aktifitas, tidak relevan
alarm Y ALARM merupakan data dari log notifikasi alarm
Kelola alarm X Merupakan salah satu aktifitas, tidak relevan
role Y ROLE merupakan jabatan dari user
167
Penentuan objek yang diusulkan
Tabel 4. 28 Proposed objeck list
Proposed object list
user
mahasiswa
kegiatan
Laporan mingguan
buku
alarm
role
Berdasarkan objek ditabel maka dapat digambarkan struktur
dari kelas objek dengan menggunakan class diagarm. Berikut
merupakan class diagarm dari sistem informasi KKN-PPM :
168
Gambar 4. 28 Class diagram sistem informasi KKN-PPM
169
4.2.1.4 Mapping Cardinality
Maping cardinality adalah tahapan yang digunakan untuk
menentukan primary key pada tabel dan hubungan kunci untuk
interaksi antar tabel didalam sistem.
Gambar 4. 29 Maping cardinality
170
4.2.1.5 Spesifikasi basis data
Spesifikasi basis data merupakan tahap untuk menentukan
data definition language (DDL) pada setiap tabel didalam database.
Tahapan ini diperlukan agar dapat membangun tipe data, struktur, dan
interaksi hubungan antar tabel didalam sistem.
Berikut merupakan spesifikasi database pada sistem
informasi KKN-PPM.
Tabel user
Nama Tabel : user
Type File : master
Primery Key : id
Foreign Key : r_id, device_id
Tabel 4. 29 Tabel user
Nama field tipe panjang deskripsi
id integer 10 Nomor dari data user
username varchar 20 Nama dari user
email varchar 50 Email dari user
nama_user varchar 20 Nama pengguna
password varchar 10 Kata sandi user
r_id varchar 5 Nomor dari hak akses
171
Tabel role
Nama Tabel : role
Type File : master
Primery Key : r_id
Foreign Key : -
Tabel 4. 30 Tabel role
Nama field tipe panjang deskripsi
r_id varchar 5 Nomor dari hak akses
nama_role varchar 20 Nama dari hak akses
Tabel mahasiswa
Nama Tabel : mahasiswa
Type File : master
Primery Key : device_id
Foreign Key : id
Tabel 4. 31 Tabel mahasiswa
Nama field tipe panjang deskripsi
device_id varchar 30 Nomor seri handphone
172
nama varchar 30 Nama pemilik handphone
nim varchar 15 Nomor induk mahasiswa
pemilik handphone
kelompok varchar 3 Nomor kelompok KKN
tahun varchar 4 Tahun pelaksanaan KKN
alamat varchar 50 Alamat pelaksanaan KKN
desa varchar 20 Nama desa tempat
pelaksaanaan KKN
wilayah varchar 30 Nama wilayah pelaksanaan
KKN
hp varchar 20 Nomor operator handphone
id integer 10 Nomor dari data user
verifikasi_m varchar 20 Verifikasi akun
Tabel laporan_mingguan
Nama Tabel : laporan_mingguan
Type File : transaksi
Primery Key : m_id
Foreign Key : device_id, id
173
Tabel 4. 32 Tabel laporan_mingguan
Nama field tipe panjang deskripsi
m_id integer 20 Nomor id dari laporan
mingguan
nama_lapor varchar 30 Nama dari pengirim laporan
mingguan
nim_lapor varchar 15 NIM dari pengirim laporan
mingguan
tgl_lapor date 8 Tanggal pengiriman laporan
detail_lapor varchar 500 Detail dari laporan
mingguan yang dikirim
verifikasi_a varchar 20 Verifikasi terhadap laporan
mingguan
validasi_a varchar 20 Validasi terhadap laporan
mingguan
device_id varchar 30 Nomor seri handphone
id integer 10 Nomor dari data user
Tabel kegiatan
Nama Tabel : kegiatan
Type File : transaksi
Primery Key : k_id
174
Foreign Key : device_id, id
Tabel 4. 33 Tabel kegiatan
Nama field tipe panjang deskripsi
k_id integer 20 Nomor id dari laporan
kegiatan
nama_kegiatan varchar 30 Nama dari kegiatan
detail_kegiatan varchar 500 Detail dari laporan kegiatan
yang dikirim
latitude varchar 15 Latitude dari lokasi
longitude varchar 15 Longitude dari lokasi
kategori varchar 20 Kategori dari kegiatan
verifikasi_k varchar 20 Verifikasi terhadap laporan
kegiatan
validasi_k varchar 20 Validasi terhadap laporan
kegiatan
device_id integer 30 Nomor seri handphone
id integer 10 Nomor dari data user
Tabel alarm
Nama Tabel : alarm
Type File : transaksi
Primery Key : a_id
175
Foreign Key : device_id, id
Tabel 4. 34 Tabel alarm
Nama field tipe panjang deskripsi
a_id integer 20 Nomor id alarm
Jenis_darurat varchar 25 Jenis keadaan darurat dari
alarm yang dinyalakan
lapor_darurat varchar 50 Detail laporan mengenai
keadaan penyebab
penyalaan alarm
latitude varchar 15 Latitude dari lokasi
longitude varchar 15 Longitude dari lokasi
status varchar 10 Status notifikasi alarm
device_id varchar 30 Nomor seri handphone
id integer 10 Nomor dari data user
Tabel buku
Nama Tabel : buku
Type File : transaksi
Primery Key : id_buku
Foreign Key : id
176
Tabel 4. 35 Tabel buku
Nama field tipe panjang deskripsi
id_buku integer 20 Nomor id dari buku
judul_buku varchar 30 Judul dari buku
sinopsis varchar 200 Detail sinopsis dari buku
kelompok varchar 15 Nama kelompok KKN
tahun varchar 10 Tahun kelompok KKN
directory_buku varchar 20 Lokasi penyimpanan buku
id varchar 30 Nomor dari data user
4.2.1.6 Sequence Diagram
Sequence diagram merupakan tahap yang dilakukan untuk
menggambarkan secara detail proses yang terjadi dalam sebuah
sistem. Berikut merupakan sequence diagram pada sistem informasi
KKN-PPM.
Sequence diagram login
177
Gambar 4. 30 Sequence diagram login
Sequence diagram ini mengambarkan proses aktor untuk
masuk kedalam sistem. Sistem akan menampilkan menu login, lalu
aktor memasukan username dan password dan setelah memilih
tombol login. Sistem akan mencari data pada database user dan
memastikan username dan password. Jika sesuai, sistem akan
menampilkan halaman awal berupa menu dasboard.
Sequence diagram registrasi akun mobile
178
Gambar 4. 31 Sequence diagram registrasi akun mobile
Sequence diagram ini merupakan proses untuk melakukan
registrasi akun pada aplikasi Android. Sistem akan menampilkan form
registrasi dan setelah itu jika aktor belum memiliki akun maka aktor
dapat menginput data baru dan memilih kirim, nantinya data tersebut
akan dikirim menuju website dan disimpan didalam database
mahasiswa. Jika aktor telah memiliki akun maka form akan
menampilkan data tersebut sehingga aktor dapat memilih menghapus
data untuk memperbaharui data tersebut.
Sequence diagram verifikasi registrasi akun mobile
179
Gambar 4. 32 Sequence diagram verifikasi registrasi akun mobile
Sequence diagram ini adalah proses verifikasi terhadap
permintaan pembuatan akun. Sistem akan mengambil data-data yang
180
belum terverifikasi pada database mahasiswa, kemudian aktor
melakukan verifikasi berupa menyetujui atau tidak menyetujui akun
tersebut. Kemudian sistem akan menyimpan data yang telah
terverifikasi kedalam database mahasiswa. Aktor juga dapat melihat
arsip dari data-data akun yang telah diverifikasi dan menghapus data
akun tersebut.
Sequence diagram pembuatan akun
Gambar 4. 33 Sequence diagram pembuatan akun
181
Sequence diagram ini merupakan kegiatan dalam membuat
akun baru yang terdapat didalam sistem. Sistem akan menampilkan
form dan data akan disimpan didalam database user.
Sequence diagram kelola akun
Gambar 4. 34 Sequence diagram kelola akun
Sequence diagram ini merupakan proses untuk mengelola
akun yang terdapat didalam sistem. Sistem akan menampilkan list
182
akun dan setelah itu aktor dapat memilih untuk memperbaharui atau
menghapus akun, setelah itu data akan disimpan didalam database
user.
Sequence diagram pembuatan laporan mingguan
Gambar 4. 35 Sequence diagram pembuatan laporan mingguan
Sequence diagram ini adalah proses dimana aktor mengirim
laporan mingguan. Aktor sebelumnya harus memiliki akun yang telah
diverifikasi, setalah itu aktor masuk ke halaman form laporan
mingguan dan mengisi data-data pada form laporan mingguan.
Setelah itu aktor dapat memilih tombol kirim untuk mengirim data-
data tersebut ke database laporan mingguan.
Sequence diagram review laporan mingguan
183
Gambar 4. 36 Sequence diagram review laporan mingguan
Sequence diagram ini merupakan proses review dan
verifikasi terhadap laporan mingguan yang telah diterima. Aktor
sebelumnya harus terlebih dahulu login kedalam sistem lalu memilih
menu laporan mingguan. Selanjutnya sistem akan menampilkan list
184
laporan mingguan yang belum diverifikasi. Aktor dapat memilih salah
satu laporan tersebut untuk melihat detail laporan dan melakukan
verifikasi terhadap laporan tersebut. Selain itu aktor juga dapat
menghapus laporan mingguan tersebut. Setelah melakukan verifikasi,
sistem akan menyimpan hasil dari verifikasi dan kemudian
menampilkan laporan mingguan yang belum diverifikasi.
Sequence diagram validasi laporan mingguan
Gambar 4. 37 Sequence diagram validasi laporan mingguan
185
Sequence diagram ini merupakan proses untuk mevalidasi
laporan mingguan yang telah diverifikasi. Aktor sebelumnya harus
terlebih dahulu login kedalam sistem lalu memilih menu laporan
mingguan. Selanjutnya sistem akan menampilkan list laporan
mingguan yang telah diverifikasi dan belum divalidasi. Aktor dapat
memilih salah satu laporan tersebut untuk melihat detail laporan dan
melakukan validasi terhadap laporan tersebut. Selain itu aktor juga
dapat menghapus laporan mingguan tersebut. Setelah melakukan
validasi, sistem akan menyimpan hasil dari validasi dan kemudian
menampilkan laporan mingguan yang telah diverifikasi dan belum
divalidasi.
Sequence diagram cetak laporan mingguan
186
Gambar 4. 38 Sequence diagram cetak laporan mingguan
Sequence diagram ini merupakan proses untuk mencetak
laporan mingguan yang telah melalui proses validasi. Aktor terlebih
dahulu harus login kedalam sistem dan memilih menu laporan
mingguan. Sistem kemudian akan menampilkan list laporan yang
telah divalidasi. Aktor lalu dapat memilih untuk mencetak laporan
mingguan tersebut.
Sequence diagram kelola laporan mingguan
187
Gambar 4. 39 Sequence diagram kelola laporan mingguan
Sequence diagram ini merupakan proses untuk mengelola
laporan mingguan yang terdapat didalam sistem. Sistem akan
menampilkan list laporan mingguan dan setelah itu aktor dapat
memilih untuk memperbaharui atau menghapus laporan mingguan,
setelah itu data akan disimpan didalam database laporan mingguan.
188
Sequence diagram pembuatan dan penitikan lokasi laporan
kegiatan
Gambar 4. 40 Sequence diagram pembuatan dan penitikan laporan kegiatan
Sequence diagram ini menggambarkan proses aktor
mengirim laporan kegiatan pada aplikasi. Aktor sebelumnya harus
memiliki akun yang telah diverifikasi, setalah itu aktor masuk ke
halaman form laporan kegiatan dan mengisi data-data laporan
kegiatan. Setelah itu aktor dapat memilih tombol kirim untuk
mengirim data-data tersebut.
Sequence diagram review laporan kegiatan
189
Gambar 4. 41 Sequence diagram review laporan kegiatan
Sequence diagram ini merupakan proses review dan
verifikasi terhadap laporan kegiatan yang telah diterima. Aktor
sebelumnya harus terlebih dahulu login kedalam sistem lalu memilih
menu laporan kegiatan. Selanjutnya sistem akan menampilkan list
190
laporan kegiatan yang belum diverifikasi. Aktor dapat memilih salah
satu laporan tersebut untuk melihat detail laporan dan melakukan
verifikasi terhadap laporan tersebut. Selain itu aktor juga dapat
menghapus laporan kegiatan tersebut. Setelah melakukan verifikasi,
sistem akan menyimpan hasil dari verifikasi dan kemudian
menampilkan laporan kegiatan yang belum diverifikasi.
Sequence diagram validasi laporan kegiatan
Gambar 4. 42 Sequence diagram validasi laporan kegiatan
Sequence diagram ini merupakan proses untuk mevalidasi
laporan kegiatan yang telah diverifikasi. Aktor sebelumnya harus
191
terlebih dahulu login kedalam sistem lalu memilih menu laporan
kegiatan. Selanjutnya sistem akan menampilkan list laporan kegiatan
yang telah diverifikasi dan belum divalidasi. Aktor dapat memilih
salah satu laporan tersebut untuk melihat detail laporan dan
melakukan validasi terhadap laporan tersebut. Selain itu aktor juga
dapat menghapus laporan kegiatan tersebut. Setelah melakukan
validasi, sistem akan menyimpan hasil dari validasi dan kemudian
menampilkan laporan kegiatan yang telah diverifikasi dan belum
divalidasi.
Sequence diagram cetak laporan kegiatan
Gambar 4. 43 Sequence diagram cetak laporan kegiatan
192
Sequence diagram ini merupakan proses untuk mencetak
laporan kegiatan yang telah melalui proses validasi. Aktor terlebih
dahulu harus login kedalam sistem dan memilih menu laporan
kegiatan. Sistem kemudian akan menampilkan list laporan yang telah
divalidasi. Aktor lalu dapat memilih untuk mencetak laporan kegiatan
tersebut.
Sequence diagram kelola laporan kegiatan
Gambar 4. 44 Sequence diagram kelola laporan kegiatan
193
Sequence diagram ini merupakan proses untuk mengelola
laporan kegiatan yang terdapat didalam sistem. Sistem akan
menampilkan list laporan kegiatan dan setelah itu aktor dapat memilih
untuk memperbaharui atau menghapus laporan kegiatan, setelah itu
data akan disimpan didalam database kegiatan.
Sequence diagram menyalakan alarm
Gambar 4. 45 Sequence diagram menyalakan alarm
Sequence diagram ini menggambarkan proses aktor
mengirim notifikasi alarm pada aplikasi. Aktor sebelumnya harus
memiliki akun yang telah diverifikasi, setalah itu aktor masuk ke
menu alarm dan mengisi data dan jenis alarm. Setelah itu aktor dapat
memilih tombol kirim untuk mengirim notifikasi tersebut ke database
alarm.
Sequence diagram kelola alarm
194
Gambar 4. 46 Sequence diagram kelola alarm
Sequence diagram ini menggambarkan proses penerimaan
notifikasi alarm dimana setelah Aktor login dan saat sebuah aplikasi
memasukan sebuah data berupa notifikasi pada database alarm, maka
website akan merespon dan menyalakan notifikasi tersebut. Setelah
itu aktor dapat melihat detail alarm dan mematikan alarm dan sistem
menyimpannya kedalam log alarm pada database alarm.
Sequence diagram pengunggahan buku KKN
195
Gambar 4. 47 Sequence diagram pengunggahan buku KKN
Sequence diagram ini menggambarkan aktifitas untuk
mengunggah buku KKN. Aktor terlebih dahulu harus masuk kedalam
sistem. Setelah itu aktor mengisi formulir keterangan buku KKN dan
mengunggah file berupa buku KKN dengan ekstensi .doc atau .pdf.
setelah itu aktor memilih kirim dan file tersebut akan tersimpan
didalam sistem.
Sequence diagram pengaturan akun
196
Gambar 4. 48 Sequence diagram pengaturan akun
Sequence diagram ini menggambarkan aktifitas untuk
mengubah akun. Aktor terlebih dahulu harus masuk kedalam sistem.
Setelah itu aktor mengisi formulir perubahan akun lalu aktor memilih
simpan. Data berupa username dan password akan berubah dan
tersimpan didalam sistem.
Sequence diagram logout
197
Gambar 4. 49 Sequence diagram logout
Sequence diagram ini menggambarkan aktifitas aktor untuk
keluar dari sistem dengan memilih menu logout dan sistem akan
menampilkan halaman awal dari website.
Sequence diagram lihat peta persebaran KKN
198
Gambar 4. 50 Sequence diagram lihat peta persebaran KKN
Sequence diagram ini menggambarkan aktifitas untuk
melihat laporan berupa hasil kegiatan KKN. Aktor dapat mengakses
menu persebaran untuk melihat peta dari titik-titik persebaran dari
kegiatan-kegiatan yang telah dilaksanakan selama KKN. Aktor juga
dapat melihat detail dari kegiatan dengan cara mengklik salah satu
titik tersebut.
Sequence diagram lihat list kegiatan KKN
199
Gambar 4. 51 Sequence diagram lihat list kegiatan KKN
Sequence diagram ini menggambarkan aktifitas untuk
melihat list laporan berupa hasil kegiatan KKN. Aktor dapat
mengakses menu untuk melihat list dari kegiatan yang telah
tervalidasi yang telah dilaksanakan selama KKN. Aktor juga dapat
melihat detail dari kegiatan dengan cara mengklik salah satu list
tersebut.
Sequence diagram Pengunduhan buku KKN
200
Gambar 4. 52 Sequence diagram pengunduhan buku KKN
Sequence diagram ini menggambarkan aktifitas untuk
melihat list buku KKN. Aktor dapat mengakses menu untuk melihat
list dan informasi sinopsis dari buku KKN. Aktor juga dapat
mengunduh file .pdf buku KKN tersebut.
4.2.2. Desain Antarmuka
Perancangan desain antarmuka merupakan proses untuk
merancang tampilan yang sesuai untuk dapat memberikan informasi
dan mudah digunakan oleh pemakai sistem. Terdapat dua tahapan
dalam perancangan ini yang pertama dengan merancang struktur
menu. Struktur menu dari sistem informasi KKN-PPM yaitu sebagai
berikut :
201
Menu halaman awal KKN-PPM
Gambar 4. 53 Menu publik
Menu dashboard KKN-PPM
Gambar 4. 54 Menu dashboard
202
Menu aplikasi android KKN-PPM
Gambar 4. 55 Menu peserta KKN
Setelah merancang struktur menu, selanjutnya adalah
merancang tampilan user interface, tampilan user interface Sistem
informasi KKN-PPM adalah sebagai berikut :
Perancangan user interface home
Gambar 4. 56 User interface home
203
Perancangan user interface peta persebaran
Gambar 4. 57 User interface peta persebaran
Perancangan user interface hasil kegiatan
Gambar 4. 58 User interface hasil kegiatan
204
Perancangan user interface login
Gambar 4. 59 User interface login
Perancangan user interface home menu dashboard
Gambar 4. 60 User interface home menu dashboard
205
Perancangan user interface alarm
Gambar 4. 61 User interface alarm
Perancangan user interface log alarm
Gambar 4. 62 User interface log alarm
206
Perancangan user interface kelola user
Gambar 4. 63 User interface kelola user
Perancangan user interface laporan hasil kegiatan
Gambar 4. 64 User interface laporan hasil kegiatan
207
Perancangan user interface laporan mingguan
Gambar 4. 65 User interface laporan mingguan
Perancangan user interface laporan mingguan
Gambar 4. 66 User interface upload buku
208
Perancangan user interface pengaturan
Gambar 4. 67 User interface pengaturan
Perancangan user interface registrasi peserta KKN
Gambar 4. 68 User interface registrasi peserta KKN
209
Perancangan user interface alarm peserta KKN
Gambar 4. 69 User interface alarm peserta KKN
Perancangan user interface laporan kegiatan peserta KKN
Gambar 4. 70 User interface laporan kegiatan peserta KKN
210
Perancangan user interface laporan mingguan peserta KKN
Gambar 4. 71 User interface laporan mingguan peserta KKN
4.3 Implentation System
4.3.1 Tahap Pemrograman Sistem
Tahap pemrograman sistem adalah merupakan tahapan
dimana semua rancangan dikerjakan dengan menggunakan bahasa
pemograman dengan tujuan untuk menciptakan sebuah sistem yang
dapat digunakan. Tahapan ini memerlukan beberapa tools atau alat-
alat berupa perangkat keras dan perangkat lunak yang digunakan
untuk mengembangkan sistem. Perangkat keras yang digunakan
dalam pengembangan sistem ini menggunakan laptop Asus A442U
dengan spesifikasi sebagai berikut :
Processor : Intel Core i5 8250u ( kecepatan 3.40 GHz )
Memory : RAM 4 GB / 2133 SDRAM
211
Storage : 1TB HDD
Graphics : Nvidia GT930MX
Sistem Operasi : Windows 10 64-bit
Beberapa perangkat lunak yang digunakan dalam
pengembangan sistem adalah sebagai berikut :
Tabel 4. 36 Perangkat lunak yang digunakan dalam pengembangan sistem
no tools Kegunaan
1 Balsamiq
mockup
Untuk mendesain tampilan inter face
2 Visual Studio
Code
Berperan sebagai code editor untuk menciptakan
website
3 Android studio Berperan sebagai code editor untuk menciptakan
aplikasi android
4 SQLyog Berperan untuk pembuatan database
5 XAMPP Berperan sebagai penyedia server untuk website
6 PHPMyAdmin Berperan untuk mengakses database sistem
7 Google Chrome Berperan sebagai browser untuk menguji sistem
212
4.3.2 Tahap Pengujian Sistem
Pengujian Sistem berperan Untuk memastikan program yang
dibuat telah terbebas dari kesalahan (bug), peneliti melakukan
pengujian menggunakan metode black box. Meskipun sistem tidak
bebas dari bug secara seratus persen, tetapi tahap pengujian ini bisa
meminimalisir kesalahan yang dapat terjadi saat menjalankan sistem.
Berikut ini adalah beberapa pengujian yang dilakukan peneliti pada
sistem informasi KKN-PPM :
Pengujian halaman awal
Tabel 4. 37 Tabel pengujian halaman awal
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Membuka website Menampilkan halaman awal dan diagram KKN sesuai Ok
2 Membuka peta persebaran Menampilkan peta dan titik-titik lokasi kegiatan KKN sesuai Ok
3 Klik pada titik peta Menampilkan detail kegiatan KKN sesuai Ok
4 Membuka list kegiatan Menampilkan list hasil kegiatan KKN sesuai Ok
5 Klik pada salah satu list Menampilkan detail kegiatan KKN sesuai Ok
6 Login dengan username
dan password yang salah
Tidak masuk kedalam sistem sesuai Ok
7 Login dengan username
dan password yang benar
Masuk kedalam sistem sesuai Ok
213
Pengujian aplikasi android
Tabel 4. 38 Tabel pengujian aplikasi android
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Membuka aplikasi Menampilkan halaman awal aplikasi sesuai Ok
2 Membuka form registrasi Menampilkan form registrasi sistem sesuai Ok
3 Memilih kirim registrasi Form regisitrasi terkirim ke website sesuai Ok
4 Memillih form laporan
mingguan
Menampilkan form laporan mingguan sesuai Ok
5 Memilih kirim form
laporan mingguan sebelum
akun terverifikasi
Form laporan mingguan tidak terkirim menuju website sesuai Ok
6 Memilih kirim form
laporan mingguan setelah
akun terverifikasi
Form laporan mingguan terkirim menuju website sesuai Ok
7 Memilih form laporan
kegiatan
Menampilkan form laporan kegiatan sesuai Ok
8 Memilih kirim form
laporan kegiatan sebelum
akun terverifikasi
Form laporan kegiatan tidak terkirim menuju website
beserta koordinat GPS pada perangkat android
sesuai Ok
9 Memilih kirim form
laporan kegiatan setelah
akun terverifikasi
Form laporan kegiatan terkirim menuju website
beserta koordinat GPS pada perangkat android
sesuai Ok
214
10 Membuka menu alarm Menampilkan menu alarm sesuai Ok
11 Memilih tombol kirim
sebelum akun terverifikasi
Notifikasi alarm tidak terkirim menuju website sesuai Ok
12 Memilih tombol kirim
setelah akun terverifikasi
Mengirim notifikasi alarm menuju website beserta
koordinat GPS pada perangkat android
sesuai Ok
Pengujian level koordinator PpMM
Tabel 4. 39 Tabel pengujian level koordinator PpMM
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Login sistem Menampilkan halaman menu dashboard sesuai Ok
2 Membuka menu kelola Menampilkan list akun yang belum terverifikasi sesuai Ok
3 Memilih setuju verifikasi Menyimpan akun terverifikasi dan mengirim email sesuai Ok
4 Memilih tidak setuju
verifikasi
Menghapus akun dan mengirim email notifikasi sesuai Ok
5 Membuka arsip akun Menampilkan akun yang telah terverifikasi sesuai Ok
6 Membuka menu laporan
mingguan
Menampilkan menu list laporan mingguan yang
belum terverifikasi
sesuai Ok
7 Memilih setuju verifikasi
laporan mingguan
Menyimpan laporan mingguan sebagai laporan yang
terverifikasi
sesuai Ok
8 Memilih tidak setuju
laporan mingguan
Menyimpan laporan mingguan sebagai laporan yang
tidak terverifikasi
sesuai Ok
9 Memilih hapus Menghapus laporan mingguan sesuai Ok
215
10 Membuka menu laporan
kegiatan
Menampilkan menu dan list laporan kegiatan yang
belum terverifikasi
sesuai Ok
11 Memilih setuju verifikasi
laporan kegiatan
Menyimpan laporan kegiatan sebagai laporan yang
terverifikasi
sesuai Ok
12 Memilih tidak setuju
laporan kegiatan
Menyimpan laporan kegiatan sebagai laporan yang
tidak terverifikasi
sesuai Ok
13 Memilih hapus Menghapus laporan kegiatan sesuai Ok
14 Notifikasi alarm menyala Menampilkan notifikasi saat alarm dikirim sesuai Ok
15 Membuka menu alarm Menampilkan list lokasi alarm yang aktif sesuai Ok
16 Memilih matikan alarm Mematikan notifikasi dan menyimpan log alarm sesuai Ok
17 Memilih logout sistem Menampilkan halaman awal website sesuai Ok
Pengujian level ketua PPM
Tabel 4. 40 Tabel pengujian level ketua PPM
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Login sistem Menampilkan halaman menu dashboard sesuai Ok
2 Membuka menu laporan
mingguan
Menampilkan menu dan list laporan mingguan yang
telah terverifikasi
sesuai Ok
3 Memilih setuju validasi
laporan mingguan
Menyimpan laporan mingguan sebagai laporan yang
tervalidasi
sesuai Ok
4 Memilih tidak setuju
validasi laporan mingguan
Menyimpan laporan mingguan sebagai laporan yang
tidak tervalidasi
sesuai Ok
216
5 Membuka menu laporan
kegiatan
Menampilkan menu dan list laporan kegiatan yang
telah terverifikasi
sesuai Ok
6 Memilih setuju validasi
laporan kegiatan
Menyimpan laporan kegiatan sebagai laporan yang
tervalidasi
sesuai Ok
7 Memilih tidak setuju
validasi laporan kegiatan
Menyimpan laporan kegiatan sebagai laporan yang
tidak tervalidasi
sesuai Ok
8 Memilih logout sistem Menampilkan halaman awal website sesuai Ok
Pengujian level sekretaris PPM
Tabel 4. 41 Tabel pengujian level sekretaris PPM
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Login sistem Menampilkan halaman menu dashboard sesuai Ok
2 Membuka menu laporan
mingguan
Menampilkan menu dan list laporan mingguan yang
telah tervalidasi
sesuai Ok
3 Memilih cetak laporan
mingguan
Mencetak laporan mingguan sesuai Ok
5 Membuka menu laporan
kegiatan
Menampilkan menu dan list laporan kegiatan yang
telah tervalidasi
sesuai Ok
6 Memilih cetak laporan
kegiatan
Mencetak laporan kegiatan sesuai Ok
7 Memilih logout sistem Menampilkan halaman awal website sesuai Ok
217
Pengujian level peserta KKN
Tabel 4. 42 Tabel pengujian peserta KKN
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Login sistem Menampilkan halaman menu dashboard sesuai Ok
2 Membuka menu laporan
mingguan
Menampilkan menu dan list laporan mingguan yang
telah tervalidasi
sesuai Ok
3 Memilih cetak laporan
mingguan
Mencetak laporan mingguan sesuai Ok
5 Membuka menu laporan
kegiatan
Menampilkan menu dan list laporan kegiatan yang
telah tervalidasi
sesuai Ok
6 Memilih cetak laporan
kegiatan
Mencetak laporan kegiatan sesuai Ok
7 Membuka menu buku Menampilkan menu upload buku KKN sesuai Ok
8 Memilih kirim upload Menyimpan data dan file buku ke sistem sesuai Ok
9 Memilih logout sistem Menampilkan halaman awal website sesuai Ok
Pengujian level admin
Tabel 4. 43 Tabel pengujian admin
no Rancangan proses Hasil yang diharapkan hasil keterangan
1 Login sistem Menampilkan halaman menu dashboard sesuai Ok
2 Membuka menu akun Menampilkan list akun sesuai Ok
218
3 Memilih tambah akun Menampilkan form tambah akun sesuai Ok
4 Memilih simpan data akun Menyimpan data akun baru sesuai Ok
5 Memilih hapus akun Menghapus data akun sesuai Ok
6 Membuka menu laporan
mingguan
Menampilkan menu list laporan mingguan sesuai Ok
7 Memilih ubah laporan
mingguan
Menampilkan form ubah laporan mingguan sesuai Ok
8 Memilih simpan
perubahan
Menyimpan laporan mingguan sesuai Ok
9 Memilih hapus Menghapus laporan mingguan sesuai Ok
10 Membuka menu laporan
kegiatan
Menampilkan menu dan list laporan kegiatan sesuai Ok
11 Memilih ubah laporan
kegiatan
Menampilkan form ubah laporan kegiatan sesuai Ok
12 Memilih simpan
perubahan
Menyimpan laporan kegiatan sesuai Ok
13 Memilih hapus Menghapus laporan kegiatan sesuai Ok
14 Memilih logout sistem Menampilkan halaman awal website sesuai Ok
219
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil dari analisis dan perancangan pada bab-bab yang
telah dibahas sebelumnya, maka dapat ditarik kesimpulan sebagai berikut :
f. Menghasilkan rancang bangun Sistem Informasi Spasial bernama
KKN-PPM yang merupakan sebuah sistem pelaporan hasil kegiatan
KKN dan dapat menampilkan list dan titik-titik lokasi dari hasil
kegiatan KKN. Sistem ini dikembangkan menggunakan metode Rapid
Application Development (RAD) dan dalam permodelannya
menggunakan Unified Modeling Language (UML).
g. Sistem informasi KKN-PPM merupakan sebuah sistem berbasis web
dan mobile yang berbasis sistem operasi Android dengan
menggunakan bahasa pemograman PHP untuk mengembangkan
website, Android Studio untuk mengembangkan aplikasi mobile,
MySQL sebagai database, dan Google Chrome sebagai media
pemetaan titik lokasi.
h. Sistem Informasi KKN-PPM merupakan sistem berbasis web yang
dapat digunakan oleh lembaga Pusat Pengabdian kepada Masyarakat
(PPM), peserta kegiatan KKN, dan publik dan sistem berbasis mobile
yang hanya bisa diakses oleh peserta kegiatan KKN.
i. Sistem informasi KKN-PPM memiliki fitur pelaporan kelompok,
laporan individu, pengunduhan buku KKN, dan notifikasi alarm tanda
220
darurat yang dikembangkan dengan tujuan untuk membantu dalam
pelaksanaan dan pelaporan kegiatan KKN UIN Syarif Hidayatullah
Jakarta.
j. Berdasarkan hasil dari pengujian fungsionalitas menggunakan metode
black box, Sistem Informasi KKN-PPM telah sesuai dengan
perancangan dan kebutuhan. Selain itu hasil pengujian juga
menunjukan bahwa sistem ini mempunyai unjuk kerja yang baik.
5.2 Saran
Berdasarkan dari kesimpulan yang telah dikemukan, terdapat beberapa
saran yang dapat digunakan untuk pengembangan sistem lebih lanjut :
a. Hasil dari penelitian ini dapat menjadi referensi dan dapat
dikembangkan untuk perancangan aplikasi sejenis.
b. Mengembangkan aplikasi mobile sehingga dapat digunakan oleh
platform lain seperti sistem operasi ios.
c. Mengembangkan aplikasi menjadi Spatial Decision Support System
(SDSS) yang dapat digunakan sebagai rekomendasi kegiatan yang
dapat dilakukan oleh kelompok KKN pada wilayah kerja kelompok
tersebut.
221
Daftar Pustaka
Abdulloh, R. (2018). 7 in 1 Pemrograman WEB Tingkat Lanjut. Jakarta: Elex
Media Komputindo.
Alzaghrini, N., Srour, F. J., & Srour, I. (2019). Using GIS and optimization to
manage construction and demolition waste : The case of abandoned quarries
in Lebanon. Waste Management, 95, 139–149.
https://doi.org/10.1016/j.wasman.2019.06.011
Anasari, F., Suyatno, A., & Astuti, I. F. (2015). Sistem Pelaporan Terpadu Kuliah
Kerja Nyata Berbasis Digital( STUDI KASUS : Lembaga Pengabdian
kepada Masyarakat Universitas Mulawarman ). Jurnal Informatika
Mulawarman, 10(1), 11–19.
Andry. (2011). Android A sampai Z. Jakarta: PCplus.
Barale, V. (2020). A supporting marine information system for maritime spatial
planning : The European Atlas of the Seas. Ocean and Coastal Management,
(March 2018), 1–7. https://doi.org/10.1016/j.ocecoaman.2018.03.026
Gumbo, T., Geyer, M., Moyo, I., & Moyo, T. (2018). Mapping spatial locational
trends of Informal Information data in the city of in Harare , Zimbabwe.
Data in Brief. https://doi.org/10.1016/j.dib.2018.09.037
Hidayatullah, P., & Jauhari, K. K. (2014). Pemrograman WEB. Bandung:
Informatika.
Howell, B. R. G., Petersen, S. L., Balzotti, C. S., Rogers, P. C., Jackson, M. W., &
Hedrich, A. E. (2019). Using WebGIS to develop a spatial bibliography for
organizing, mapping, and disseminating research information: A case study
of quaking aspen. Rangelands, 6–9.
https://doi.org/10.1016/j.rala.2019.10.001
Huda, M., & Komputer, B. (2010). Membuat Aplikasi Database dengan Java,
MySQL dan Netbeans. Jakarta: Elex Media Komputindo.
Hutahean, J. (2014). Konsep Sistem Informasi. Yogyakarta: Deepublish.
Irwansyah, E. (2013). Sistem Informasi Geografis : Prinsip Dasar dan
Pengembangan Aplikasi. Yogyakarta: Digibook.
Jati, B. M. (2013). Sistem Informasi Geografis Berbasis Web untuk Monitoring
Kegiatan KKN. Yogyakarta: UIN Sunan Kalijaga Yogyakarta.
Jogiyanto, H. M. (2009). Analisis dan Desain Sistem Informasi. Yogyakarta:
Penerbit Andi.
222
Jogiyanto, H. M. (2010). Analisa dan Desain Sistem Informasi: Pendekatan Teori
dan Praktik. Yogyakarta: Penerbit Andi.
Kendall, K. E., & Kendall, J. E. (2010). Analisa dan Perancangan Sistem. Jakarta:
Indeks.
Ladjmudin, A. (2013). Analisis dan Desain Sistem Informasi. Yogyakarta: Graha
Ilmu.
Lucyiana, R. (2016). Sistem Informasi Geografis Pemetaan Lokasi Penyebaran
KKN. Lampung: Universitas Lampung.
Mulyanto, A. (2009). Sistem Informasi Konsep dan Aplikasi. Yogyakarta: Pustaka
Pelajar.
Mustakini. (2009). Sistem Informasi Teknologi. Yogyakarta: Penerbit Andi.
Nugroho, A. (2009). Perangkat Lunak Menggunakan UML dan Java. Yogyakarta:
Penerbit Andi.
Prahasta, E. (2014). Sistem Informasi Geografis Konsep Dasar (Persfektif
Geodesi dan Geodinamika). Bandung: Informatika.
Prasetyo, A. S. (2014). Pengembangan Sistem Informasi Geospasial Berbasis
Mobile pada Perlindungan Tenaga Kerja Indonesia (Studi Kasus :
BNP2TKI). Jakarta: UIN Syarif Hidayatullah Jakarta.
Pressman, R. (2012). Rekayasa Perangkat Lunak (7th ed.). Yogyakarta: Penerbit
Andi.
Raharjo, B. (2011). Belajar Otodidak Pemrograman WEB. Bandung: Informatika.
Raharjo, B., Heryanto, I., & Haryono, A. (2010). Tuntunan Pemrograman Java
untuk Handphone dan Alat Telekomunikasi Mobile. Bandung: Informatika.
Ridha, S. (2018). Georeferencing Menggunakan ArcGis 10.1 (Giovanny, ed.).
Yogyakarta: Penerbit Andi.
Safaat, N. (2012). Pemrograman Aplikasi Mobile Smatphone dan Tablet PC
berbasis Android. Bandung: Informatika.
Saputra, M. D. (2018). Sistem Informasi Spasial Berbasis Web pada Sebaran
Sarana Perumahan dan Permukiman di Kota SekayuNo Title. Jakarta: UIN
Syarif Hidayatullah Jakarta.
Sugiyono. (2010). Metode Penelitian Pendidikan Pendekaran Kuantitatif,
Kualitatif, dan R & D. Bandung: Cv. Alfa Beta.
223
Sukamto, R. A., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak.
Bandung: Informatika.
Sumarto, D. A., & Setiadi, T. (2014). Sistem Informasi Geografis Monitoring
KKN Posdaya Universitas Ahmad Dahlan. Jurnal Sarjana Teknik
Informatika, 2, 1248–1256.
Suryadi, A. A., Mubarok, H., & Gunawan, R. (2018). Implementasi Sistem
Informasi Geografis (SIG) pada Penyebaran Lokasi Kuliah Kerja Nyata
(KKN). Jurnal SIMETRIS, 9(1), 219–224.
Susanto, A. (2013). Sistem Informasi Akuntasi. Bandung: Lingga Jaya.
Tyoso, J. S. (2016). Sistem Informasi Manajemen (1st ed.). Yogyakarta:
Deepublish.
Viana, M. S., & Delgado, J. P. M. (2019). City Logistics in historic centers:
Multi-Criteria Evaluation in GIS for city of Salvador (Bahia – Brazil). Case
Studies on Transport Policy, (June), 1–9.
https://doi.org/10.1016/j.cstp.2019.08.004
Wang, B., Zhen, F., Qin, X., Zhu, S., Jiang, Y., & Cao, Y. (2018). GIS-Based
Social Spatial Behavior Studies : A Case Study in Nanjing University
Utilizing Mobile Data. In Comprehensive Geographic Information Systems.
https://doi.org/10.1016/B978-0-12-409548-9.09686-X
Weng, Q. (2009). Remote Sensing and GIS Integration: Theories, Methods, and
Applications. New York: McGraw-Hill.
Whitten, J. (2006). Metode Desain dan Analisis Sistem. Yogyakarta: Penerbit
Andi.
Whitten, J., & Bentley, L. (2008). Introduction to System Analysis and Design.
New York: McGraw-Hill.
Widodo, P. P., & Herlawati. (2011). Menggunakan UML. Bandung: Informatika.
Yakub. (2012). Pengantar Sistem Informasi. Yogyakarta: Graha Ilmu.
Yang, X., Fang, Z., Xu, Y., Yin, L., Li, J., & Lu, S. (2019). Spatial heterogeneity
in spatial interaction of human movements — Insights from large-scale
mobile positioning data. Journal of Transport Geography, 78(May), 29–40.
https://doi.org/10.1016/j.jtrangeo.2019.05.010
Yang, Y., & Hu, N. (2019). The spatial and temporal evolution of coordinated
ecological and socioeconomic development in the provinces along the Silk
Road Economic Belt in China. 47(February).
https://doi.org/10.1016/j.scs.2019.101466
224
Zambrano, Lysen I., Vasquez, W. O., Fuentes, I. C., England, J. D., Sánchez-
duque, J. A., Rodríguez-morales, A. J., … Silva, J. C. (2019). Spatial
distribution of Zika in Honduras during 2016 – 2017 using geographic
information systems ( GIS ). Travel Medicine and Infectious Disease,
31(February), 101382. https://doi.org/10.1016/j.tmaid.2019.01.017
Zambrano, Lysien I., Rodriguez, E., Espinoza-salvado, I. A., Carolina, I., Valle-
reconco, J. A., & Rodríguez-morales, A. J. (2019). Spatial distribution of
dengue in Honduras during 2016–2019 using a geographic information
systems (GIS)–Dengue epidemic implications for public health and travel
medicine. Travel Medicine and Infectious Disease, 101517.
https://doi.org/10.1016/j.tmaid.2019.101517
225
LAMPIRAN-LAMPIRAN
Lampiran 1 - Wawancara
Narasumber : Dr. Tantan Hermansyah, S.Ag., M.Si
Jabatan Narasumber : Ketua Pusat Pengabdian kepada Masyarakat
Penanya : Abdurrahman Harits
Hari, Tanggal : 23-07-2019
Tempat : Kantor Pusat Pengabdian kepada Masyarakat
Tema : Prosedur dalam pelaksanaan Kuliah Kerja Nyata
Tujuan : Mengetahui alur sistem yang berjalan dalam pelaksanaan
kegiatan KKN yang dibutuhkan dalam perancangan sistem
Hasil Wawancara
No Penanya Narasumber
1 Bagaimana profil dari
lembaga Pusat Pengabdian
kepada Masyarakat?
Pusat Pengabdian kepada Masyarakat (PPM)
merupakan salah satu dari lima bidang LP2M
yang bertugas untuk mengkoordinir dalam
pelaksanaan kegiatan dan program kerja di
bidang pengabdian masyarakat yang dilakukan
oleh mahasiswa dan dosen yang berasal dari
berbagai fakultas.
2 Apa visi dan misi serta
tujuan dari dibentuknya
Pusat Pengabdian kepada
Masyarakat?
PPM itu merupakan bagian dari thridarma
perguruan tinggi yaitu pendidikan dan
pengajaran, ada penelitian yang ditangani
puslipten, dan terakhir pengabdian kepada
masyarkat.
3 Bagaimana susunan kerja
serta struktur dari Pusat
Pengabdian kepada
Masyarakat?
Struktur PPM itu terdiri dari ketua PPM, ketua
PPM dibawah LP2M, Ketua LP2M dibawah
rektor. Di PPM terdapat 2 koordinator yang
pertama adalah PpMM (program pengabdian
masyarakat oleh mahasiswa) dan PpMD
(program pengabdian masyarakat oleh dosen).
Koordinator memiliki staff dan anggota yang
merupakan bagian dari lembaga PPM.
4 Kuliah Kerja Nyata
merupakan salah satu
program PPM, berapa
jumlah mahasiswa dan
jumlah kelompok yang
mengikuti KKN setiap
tahunnya?
Jumlah mahasiswa yang mengikuti kegiatan
KKN itu fluktuatif yang terdiri atas mahasiwa
dari berbagai jurusan, untuk beberapa tahun ini
jumlahnya telah mencapai diatas 3500 dari 9
fakultas. Untuk jumlah kelompok KKN Reguler
itu rata-rata baku yang terdiri atas 200 kelompok
yang berdasarkan atas anggaran. KKN
kebangsaan, in-campus dan lain-lain bersifat
partisipatif.
5 Apakah terdapat kuota
tertentu untuk jumlah
program kerja yang harus
dilakukan oleh kelompok
KKN?
Terdapat jumlah tertentu dari kegiatan yang
harus dihasilkan oleh kelompok KKN yang
bersifat panduan, jumlah ini berdasar dari
jumlah anggota dari sebuah kelompok KKN dan
hasil survey kelompok yang terdiri minimal 3
Lampiran 1 - Wawancara
kali yaitu yang pertama adalah perkenalan, lalu
pengambilan data, dan terakhir adalah
konfirmasi data yang digunakan untuk
pembuatan proposal. PPM tidak membatasi
jumlah kegiatan yang akan dilakukan oleh
kelompok KKN.
6 Dalam pelaksanaan
kegiatan KKN, apakah
terdapat kategori-kategori
dari kegiatan yang
dilakukan oleh kelompok
KKN?
Terdapat 5 jenis dari kegiatan yang akan
dilakukan kelompok KKN. Jenis itu yaitu adalah
kesehatan, ekonomi, lingkungan, sosial, dan
budaya.
7 Bagaimana mekanisme atau
prosedur dari pelaporan
hasil kegiatan KKN?
Setiap kelompok KKN telah dipantau sejak awal
pelaksanaan KKN. Pelaporan dilakukan dengan
2 cara yaitu laporan individu dan laporan
kelompok yang dilakukan dengan cara
mengirim email ke PPM setiap minggunya.
8 Untuk saat ini bagaimana
cara lembaga PPM untuk
mendata hasil kegiatan
KKN?
Pendataan hasil kegiatan KKN dilakukan
melalui pembuatan buku hasil kegiatan KKN
yang berisi detail-detail dari hasil kegiatan
KKN.
9 Dalam pelaksanaan
kegiatan KKN, apakah
pernah terjadi sebuah
keadaan darurat yang
membutuhkan penangaan
langsung dari PPM?
Belum ada keadaan darurat yang menimpa
kelompok KKN dikarenakan ketatnya
pendaftaran mahasiswa dan pemberitahuan
untuk menjaga keamanan selama melaksanakan
KKN.
10 Bagaimana respon atau
SOP dari PPM dalam
menghadapi sebuah
keadaan darurat?
PPM memiliki SOP dalam menanggapi
keadaaan darurat yang dimulai dengan
mengkonfirmasi dan memastikan keadaan
terlebih dahulu.
11 Apakah yang PPM
harapkan terkait dengan
perancangan sistem ini
Sistem ini online dan memiliki server yang kuat,
yang dapat bermanfaat bagi segala pihak.
Lampiran 2 – Tabel data sistem KKN-PPM
Tabel hasil kegiatan KKN
No Nama kegiatan Kelompok latitude longitude Kategori
1 PAUD 146 -6.634586 106.530926
Sosial
2 Pelatihan guru
146 -6.634526 106.531040 sosial
3 Taman baca
146 -6.633906 106.531393 budaya
4 Pembuatan gapura
Kampung Baru
146 -6.633557
106.531144 lingkungan
5 Pembuatan papan
penunjuk jalan
146 -6.633378 106.530771 lingkungan
6 Perlombaan 17 Agustus
146 -6.634830 106.530457
sosial
7 Penyuluhan cuci tangan
dan gosok gigi
146 -6.634268 106.531726 kesehatan
8 Cek Kesehatan
146 -6.634465 106.530841
kesehatan
9 Kebersihan lingkungan 146 -6.633961 106.530822 lingkungan
10 Pengadaan alat ibadah 146 -6.633052
106.529671 sosial
11 Dapur hidup 146 -6.634139
106.531176 lingkungan
13 Handicraft 146 -6.634461 106.530900
ekonomi
14 Pemberdayaan Masyarakat
Desa Melalui Digital
Marketing
147 -6.575462 106.560553 ekonomi
15 Penyuluhan Pemanfaatan
Sampah: Sampah Jadi
Uang
147 -6.575196 106.560612 ekonomi
16 Penyuluhan Penanaman
Sayur-sayuran (Green
House)
147 -6.575587 106.560317 ekonomi
17 Penyuluhan Pemisahan
Sampah Organik dan
Anorganik
147 -6.573740 106.563519 lingkungan
18 Penyuluhan Kesehatan dan
Kepedulian Lingkungan
147 -6.573660 106.563804 kesehatan
Lampiran 2 – Tabel data sistem KKN-PPM
19 Penyuluhan Anti Narkoba
oleh SATGAS GAN UIN
Syarif Hidayatullah Jakarta
147 -6.579202 106.567028 budaya
20 Rumah Asyik ( English and
Arabic Day‟s)
148 -6.571627 106.570552 Sosial
21 Mengajar Mengaji 148 -6.569711 106.572537 sosial
22 Pengadaan Mushaf al-
Qur‟an
148 -6.565991 106.577241 lingkungan
23 Nonton Film Edukasi 148 -6.564883 106.576061 Sosial
24 Konsultasi Pelajaran 148 -6.564563 106.576951 sosial
25 Seminar Parenting
(pengasuhan anak)
148 -6.569093 106.573110 kesehatan
26 Seminar Perilaku Hidup
Bersih dan Sehat
148 -6.571751 106.571148 kesehatan
27 Senam Pagi 148 -6.564561 106.576679 kesehatan
28 Operasi Semut (Kerja
Bakti)
148 -6.569368 106.572677 lingkungan
29 Pembuatan Lubang
Biopori
148 -6.568260 106.573954 lingkungan
30 Rehabilitasi Taman Baca 149 -6.678712 106.530848
budaya
31 Seminar Penyuluhan
Gadget
149 -6.674383 106.534254
budaya
32 Seminar Penyuluhan
Bahaya Narkoba
149 -6.677495 106.530869 budaya
33 Seminar Penyuluhan
Sampah
149 -6.677218 106.530746 lingkungan
34 Bimbingan Belajar
(Bimbel) Bahasa Inggris
149 -6.676387 106.531095
sosial
35 Perayaan HUT RI ke-73 149 -6.677218 106.530736 budaya
36 Bakti Sosial 149 -6.678934 106.530602 lingkungan
37 Senam Sehat 149 -6.677176 106.530350
kesehatan
38 Menonton Film Edukasi 149 -6.677229 106.530956
sosial
39 Pelatihan dan
Pemberdayaan PKK
149 -6.673819 106.533815
ekonomi
40 Taman Baca Muara 151 -6.592486 106.550103 sosial
41 Pemeriksaan dan
Sosialisasi Kesehatan
151 -6.599424 106.550424 kesehatan
42 Pengadaan Tempat
Sampah
151 -6.598999 106.551306 lingkungan
43 Pangkal Jaya Bersih 151 -6.595876 106.545797 Kesehatan
Lampiran 2 – Tabel data sistem KKN-PPM
44 Renovasi PAUD
Darussa’adah
151 -6.599576 106.551467 sosial
45 Gerakan Gigi Sehat dan
Cuci Tangan Pakai Sabun
151 -6.598766
106.550636 kesehatan
46 Bussines Preneur 151 ekonomi
47 Pengajaran di TPQ dan
PAUD
151 -6.598809 106.551693 sosial
48 Science Club 151 -6.598798 106.551130 sosial
49 Senam Bersama 151 -6.599320 106.549687 kesehatan
50 Khataman al-Qur’an 151 -6.599480 106.551312 budaya
51 Pemberantasan Buta
Aksara
152 -6.588950 106.541582
sosial
52 Bimbingan Belajar 152 -6.588673
106.541727
sosial
53 Pemutaran Film Edukasi 152 -6.588695 106.541663
sosial
54 Bimbingan Latihan
Pramuka
152 -6.586574 106.543342 sosial
55 Pelatihan Gerak Jalan PBB 152 -6.586659 106.542822
budaya
56 Renovasi Mushalla 152 -6.584677 106.544866
lingkungan
57 Pengadaan Perlengkapan
Masjid/Mushalla
152 -6.584837 106.544753
sosial
58 Pendidikan Keagamaan 152 -6.589375 106.542046 budaya
59 Pengajian Mingguan 152 -6.592604 106.541236
60 Peringatan HUT RI ke-73 152 -6.597481 106.539619
Budaya
61 Menonton film edukasi
bersama
164 -6.620051 106.508142 sosial
62 Urug Ramah Anak 164 -6.619785 106.509928 sosial
63 Mengajar Mengaji 164 -6.619902 106.509955 budaya
64 Mendonasikan buku-buku
bacaan untuk SDN
02 Kiarapandak
164 -6.612582 106.497942 sosial
65 Kegiatan operasi semut
yaitu mengumpulkan
sampah plastik untuk
diberikan kepada
pengepul sampah
164 -6.618480 106.509676
kesehatan
Lampiran 2 – Tabel data sistem KKN-PPM
66 Membuat gawang untuk
lapangan kecil di
Desa Urug
164 -6.623404 106.509917 lingkungan
67 Senam Pagi 164 -6.623351 106.509740
kesehatan
68 Memberikan 3 tong
sampah untuk
masyarakat Desa Urug
164 -6.620260 106.508533
lingkungan
69 Penataan Lahan Parkir 164 -6.621592 106.508903 lingkungan
70 Pemasangan papan nama
di tiga situs budaya
164 -6.622274 106.509059 lingkungan
Tabel laporan individu KKN
no Nama lapor Nim lapor Tgl lapor Kelompok
1 Nurul Iman 111501620000
53
26 Juli 2018 164
2 Haniatus
Sholikha
111501200000
85
26 Juli 2018 164
3 Alda Nurarian
Dhea
111501500000
66
26 Juli 2018 164
4 Minhatul
Ma’budah
111501840000
02
26 Juli 2018 164
5 Faqih Abdul
Rachman
111502600000
48
26 Juli 2018 164
6 Rizqia Nabilla
Putri Lubis
111502600000
30
26 Juli 2018 164
7 Pascal Badral
Fuad
111503400000
44
26 Juli 2018 164
8 Miftah Falih 111504400000
64
26 Juli 2018 164
9 Fatahuddin
Amin Kitabi
111504900001
21
26 Juli 2018 164
10 Ranti Novela
Putri
111509300000
27
26 Juli 2018 164
11 Nurul Iman 111501620000
53
3 Agustus 2018 164
12 Haniatus
Sholikha
111501200000
85
3 Agustus 2018 164
13 Alda Nurarian
Dhea
111501500000
66
3 Agustus 2018 164
14 Minhatul
Ma’budah
111501840000
02
3 Agustus 2018 164
15 Faqih Abdul
Rachman
111502600000
48
3 Agustus 2018 164
Lampiran 2 – Tabel data sistem KKN-PPM
16 Rizqia Nabilla
Putri Lubis
111502600000
30
3 Agustus 2018 164
17 Pascal Badral
Fuad
111503400000
44
3 Agustus 2018 164
18 Miftah Falih 111504400000
64
3 Agustus 2018 164
19 Fatahuddin
Amin Kitabi
111504900001
21
3 Agustus 2018 164
20 Ranti Novela
Putri
111509300000
27
3 Agustus 2018 164
21 Nurul Iman 111501620000
53
9 Agustus 2018 164
22 Haniatus
Sholikha
111501200000
85
9 Agustus 2018 164
23 Alda Nurarian
Dhea
111501500000
66
9 Agustus 2018 164
24 Minhatul
Ma’budah
111501840000
02
9 Agustus 2018 164
25 Faqih Abdul
Rachman
111502600000
48
9 Agustus 2018 164
26 Rizqia Nabilla
Putri Lubis
111502600000
30
9 Agustus 2018 164
27 Pascal Badral
Fuad
111503400000
44
9 Agustus 2018 164
28 Miftah Falih 111504400000
64
9 Agustus 2018 164
29 Fatahuddin
Amin Kitabi
111504900001
21
9 Agustus 2018 164
30 Ranti Novela
Putri
111509300000
27
9 Agustus 2018 164
31 Zaenudin 111501610000
05
26 Juli 2018 147
32 Widian Yusfi
Fauziyah
111501200000
56
26 Juli 2018 147
33 Ika Wahyu
Riani
111501500000
33
26 Juli 2018 147
34 Novia
Maharani Putri
111501620000
40
26 Juli 2018 147
35 Zahra Amelia 111501830000
68
26 Juli 2018 147
36 Robi Sugara 111502400000
71
26 Juli 2018 147
37 Regita Nurul
Fitriani
111502600000
12
26 Juli 2018 147
Lampiran 2 – Tabel data sistem KKN-PPM
38 M. Cahyo
Rahmat
111503400000
02
26 Juli 2018 147
39 Arga Pratama
Putra
111509300000
06
26 Juli 2018 147
40 Adinda Fitra
Rahmawanti
111509300000
02
26 Juli 2018 147
41 Zaenudin 111501610000
05
3 Agustus 2018 147
42 Widian Yusfi
Fauziyah
111501200000
56
3 Agustus 2018 147
43 Ika Wahyu
Riani
111501500000
33
3 Agustus 2018 147
44 Novia
Maharani Putri
111501620000
40
3 Agustus 2018 147
45 Zahra Amelia 111501830000
68
3 Agustus 2018 147
46 Robi Sugara 111502400000
71
3 Agustus 2018 147
47 Regita Nurul
Fitriani
111502600000
12
3 Agustus 2018 147
48 M. Cahyo
Rahmat
111503400000
02
3 Agustus 2018 147
49 Arga Pratama
Putra
111509300000
06
3 Agustus 2018 147
50 Adinda Fitra
Rahmawanti
111509300000
02
3 Agustus 2018 147
51 Zaenudin 111501610000
05
9 Agustus 2018 147
52 Widian Yusfi
Fauziyah
111501200000
56
9 Agustus 2018 147
53 Ika Wahyu
Riani
111501500000
33
9 Agustus 2018 147
54 Novia
Maharani Putri
111501620000
40
9 Agustus 2018 147
55 Zahra Amelia 111501830000
68
9 Agustus 2018 147
56 Robi Sugara 111502400000
71
9 Agustus 2018 147
57 Regita Nurul
Fitriani
111502600000
12
9 Agustus 2018 147
58 M. Cahyo
Rahmat
111503400000
02
9 Agustus 2018 147
59 Arga Pratama
Putra
111509300000
06
9 Agustus 2018 147
Lampiran 2 – Tabel data sistem KKN-PPM
60 Adinda Fitra
Rahmawanti
111509300000
02
9 Agustus 2018 147
Tabel data buku KKN
no Judul buku kelompok tahun
1 Jejak sang merpati curugbitung 146 2018
2 Jejak sepatu di hambaro 147 2018
3 Keariban desa kalongliud 148 2018
4 Potret inspiratif desa malasari 149 2018
5 Bermuara di pangkaljaya 151 2018
6 Guratan mimpi masyarakat parakan muncang 152 2018
7 Lentera subuh dalam heningnya sukaluyu 153 2018
8 Kstaria dibalik fajar cileuksa 154 2018
9 Secarik harapan untuk sukajaya 162 2018
10 Hitam putih potret urug 164 2018
11 Jahitan emas pasirtanjung 178 2018
Lampiran 3 – Source code program
Source code program KKN-PPM
Source Code Web
Home.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\User;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard. *
* @return \Illuminate\Contracts\Support\Renderable
*/
public function home () {
if (Auth::user()->r_id == "kta") {
$kategorikegiatan = [
DB::table('kegiatan')->where('kategori', 'Kesehatan')->count(),
DB::table('kegiatan')->where('kategori', 'Lingkungan')->count(),
DB::table('kegiatan')->where('kategori', 'Sosial')->count(),
DB::table('kegiatan')->where('kategori', 'Ekonomi')->count(),
DB::table('kegiatan')->where('kategori', 'Budaya')->count(),
];
$alarminfo = [
DB::table('alarm')->where('jenis_darurat', 'DARURAT')->count(),
DB::table('alarm')->where('jenis_darurat', 'KEBAKARAN')->count(),
DB::table('alarm')->where('jenis_darurat', 'RAMPOK')->count(),
Lampiran 3 – Source code program
DB::table('alarm')->where('jenis_darurat', 'RANMOR')->count(),
DB::table('alarm')->where('jenis_darurat', 'TERSESAT')->count(),
];
$tkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->distinct()
->limit(5)
->orderBy('tahun', 'asc')
->get(['tahun']);
$jkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->select(DB::raw('count(mahasiswa.tahun) as tahun'))
->groupBy('tahun')
->limit(5)
->get();
return view(
'ketua.home',
[
'kategorikegiatan' => $kategorikegiatan,
'tkegiatan' => $tkegiatan,
'jkegiatan' => $jkegiatan,
'alarminfo' => $alarminfo
]
);
}
// Home Koordinator
else if (Auth::user()->r_id == "kdr") {
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$kategorikegiatan = [
DB::table('kegiatan')->where('kategori', 'Kesehatan')->count(),
DB::table('kegiatan')->where('kategori', 'Lingkungan')->count(),
DB::table('kegiatan')->where('kategori', 'Sosial')->count(),
DB::table('kegiatan')->where('kategori', 'Ekonomi')->count(),
DB::table('kegiatan')->where('kategori', 'Budaya')->count(),
];
$alarminfo = [
DB::table('alarm')->where('jenis_darurat', 'DARURAT')->count(),
DB::table('alarm')->where('jenis_darurat', 'KEBAKARAN')->count(),
DB::table('alarm')->where('jenis_darurat', 'RAMPOK')->count(),
DB::table('alarm')->where('jenis_darurat', 'RANMOR')->count(),
Lampiran 3 – Source code program
DB::table('alarm')->where('jenis_darurat', 'TERSESAT')->count(),
];
$tkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->distinct()
->limit(5)
->orderBy('tahun', 'asc')
->get(['tahun']);
$jkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->select(DB::raw('count(mahasiswa.tahun) as tahun'))
->groupBy('tahun')
->limit(5)
->get();
return view(
'koordinator.home',
[
'alarmnos' => $alarmnos,
'kategorikegiatan' => $kategorikegiatan,
'tkegiatan' => $tkegiatan,
'jkegiatan' => $jkegiatan,
'alarminfo' => $alarminfo
]
);
} else if (Auth::user()->r_id == "skr") {
$kategorikegiatan = [
DB::table('kegiatan')->where('kategori', 'Kesehatan')->count(),
DB::table('kegiatan')->where('kategori', 'Lingkungan')->count(),
DB::table('kegiatan')->where('kategori', 'Sosial')->count(),
DB::table('kegiatan')->where('kategori', 'Ekonomi')->count(),
DB::table('kegiatan')->where('kategori', 'Budaya')->count(),
];
$alarminfo = [
DB::table('alarm')->where('jenis_darurat', 'DARURAT')->count(),
DB::table('alarm')->where('jenis_darurat', 'KEBAKARAN')->count(),
DB::table('alarm')->where('jenis_darurat', 'RAMPOK')->count(),
DB::table('alarm')->where('jenis_darurat', 'RANMOR')->count(),
DB::table('alarm')->where('jenis_darurat', 'TERSESAT')->count(),
];
Lampiran 3 – Source code program
$tkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->distinct()
->limit(5)
->orderBy('tahun', 'asc')
->get(['tahun']);
$jkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->select(DB::raw('count(mahasiswa.tahun) as tahun'))
->groupBy('tahun')
->limit(5)
->get();
return view(
'sekretaris.home',
[
'kategorikegiatan' => $kategorikegiatan,
'tkegiatan' => $tkegiatan,
'jkegiatan' => $jkegiatan,
'alarminfo' => $alarminfo
]
);
} else if (Auth::user()->r_id == "mhs") {
return view("mahasiswa.home");
} else {
return redirect("/");
}
}
public function index()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$kategorikegiatan = [
DB::table('kegiatan')->where('kategori', 'Kesehatan')->count(),
DB::table('kegiatan')->where('kategori', 'Lingkungan')->count(),
DB::table('kegiatan')->where('kategori', 'Sosial')->count(),
DB::table('kegiatan')->where('kategori', 'Ekonomi')->count(),
DB::table('kegiatan')->where('kategori', 'Budaya')->count(),
];
$alarminfo = [
DB::table('alarm')->where('jenis_darurat', 'DARURAT')->count(),
DB::table('alarm')->where('jenis_darurat', 'KEBAKARAN')->count(),
Lampiran 3 – Source code program
DB::table('alarm')->where('jenis_darurat', 'RAMPOK')->count(),
DB::table('alarm')->where('jenis_darurat', 'RANMOR')->count(),
DB::table('alarm')->where('jenis_darurat', 'TERSESAT')->count(),
];
$tmahasiswa = DB::table('mahasiswa')->distinct()->limit(5)-
>orderBy('tahun', 'asc')->get(['tahun']);
$jmahasiswa = DB::table('mahasiswa')
->select(DB::raw('count(tahun) as tahun'))
->groupBy('tahun')
->limit(5)
->get();
// dd($jmahasiswa);
return view(
'admin.home',
[
'alarmnos' => $alarmnos,
'kategorikegiatan' => $kategorikegiatan,
'tmahasiswa' => $tmahasiswa,
'jmahasiswa' => $jmahasiswa,
'alarminfo' => $alarminfo
]
);
}
public function pengaturan()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
return view('admin.pengaturan', ['alarmnos' => $alarmnos]);
}
public function updateuseremail(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->username = $request->username;
$user->email = $request->email;
$user->save();
return redirect('/pengaturan')->with(['success' => 'Berhasil Mengubah
Username atau Email']);
}
public function updatepassword(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->password = Hash::make($request->password);
Lampiran 3 – Source code program
$user->save();
return redirect('/pengaturan')->with(['success' => 'Berhasil Mengubah
Password']);
}
// Ketua
public function pengaturanKetua()
{
return view('ketua.pengaturan');
}
public function updateEmailKetua(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->username = $request->username;
$user->email = $request->email;
$user->save();
return redirect('/ketua/pengaturan')->with(['success' => 'Berhasil
Mengubah Username atau Email']);
}
public function updatePasswordKetua(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->password = Hash::make($request->password);
$user->save();
return redirect('/ketua/pengaturan')->with(['success' => 'Berhasil
Mengubah Password']);
}
// Sekretaris
public function pengaturanSekretaris()
{
return view('sekretaris.pengaturan');
}
public function updateEmailSekretaris(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->username = $request->username;
$user->email = $request->email;
Lampiran 3 – Source code program
$user->save();
return redirect('/sekretaris/pengaturan')->with(['success' => 'Berhasil
Mengubah Username atau Email']);
}
public function updatePasswordSekretaris(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->password = Hash::make($request->password);
$user->save();
return redirect('/sekretaris/pengaturan')->with(['success' => 'Berhasil
Mengubah Password']);
}
// Koordinator
public function pengaturanKoordinator()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
return view('koordinator.pengaturan' , ['alarmnos' => $alarmnos]);
}
public function updateEmailKoordinator(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->username = $request->username;
$user->email = $request->email;
$user->save();
return redirect('/koordinator/pengaturan')->with(['success' => 'Berhasil
Mengubah Username atau Email']);
}
public function updatePasswordKoordinator(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->password = Hash::make($request->password);
$user->save();
return redirect('/koordinator/pengaturan')->with(['success' => 'Berhasil
Mengubah Password']);
}
// Sekretaris
Lampiran 3 – Source code program
public function pengaturanMahasiswa()
{
return view('mahasiswa.pengaturan');
}
public function updateEmailMahasiswa(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->username = $request->username;
$user->email = $request->email;
$user->save();
return redirect('/mahasiswa/pengaturan')->with(['success' => 'Berhasil
Mengubah Username atau Email']);
}
public function updatePasswordMahasiswar(Request $request, $id)
{
$user = User::where('id', $id)->first();
$user->password = Hash::make($request->password);
$user->save();
return redirect('/mahasiswa/pengaturan')->with(['success' => 'Berhasil
Mengubah Password']);
}
}
Publik.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Buku;
class PublicController extends Controller
{
public function index()
{
$kategorikegiatan = [
DB::table('kegiatan')->where('kategori', 'Kesehatan')->count(),
DB::table('kegiatan')->where('kategori', 'Lingkungan')->count(),
DB::table('kegiatan')->where('kategori', 'Sosial')->count(),
Lampiran 3 – Source code program
DB::table('kegiatan')->where('kategori', 'Ekonomi')->count(),
DB::table('kegiatan')->where('kategori', 'Budaya')->count(),
];
$tkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->distinct()
->limit(5)
->orderBy('tahun', 'asc')
->get(['tahun']);
$jkegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->select(DB::raw('count(mahasiswa.tahun) as tahun'))
->groupBy('tahun')
->limit(5)
->get();
return view(
'public.index',
[
'kategorikegiatan' => $kategorikegiatan,
'tkegiatan' => $tkegiatan,
'jkegiatan' => $jkegiatan,
]
);
}
public function viewsBuku()
{
$buku = DB::table('buku')->get();
return view('public.buku', ['bukus' => $buku]);
}
public function detailBuku($id_buku)
{
$buku = Buku::where('id_buku', $id_buku)->first();
return view('public.detail-buku', ['buku' => $buku]);
}
}
Lampiran 3 – Source code program
Registrasi.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\Buku;
use App\Mahasiswa;
use App\User;
use App\Mail\EmailBerhasil;
use App\Mail\EmailTidakBerhasil;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MahasiswaController extends Controller
{
public function views()
{
$mahasiswa = DB::table('mahasiswa')
->where('verifikasi_m', '=', 'belum terverifikasi')
->get();
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
return view('koordinator.mahasiswa.views', ['mahasiswas' => $mahasiswa,
'alarmnos' => $alarmnos]);
}
public function archive()
{
$mahasiswa = Mahasiswa::all();
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
return view('koordinator.mahasiswa.arsip', ['mahasiswas' => $mahasiswa,
'alarmnos' => $alarmnos]);
}
public function store(Request $request)
{
Lampiran 3 – Source code program
Mahasiswa::updateOrCreate(
['device_id' => $request->input('device_id')],
[
'nama' => $request->input('nama'),
'nim' => $request->input('nim'),
'kelompok' => $request->input('kelompok'),
'tahun' => $request->input('tahun'),
'alamat' => $request->input('alamat'),
'desa' => $request->input('desa'),
'wilayah' => $request->input('wilayah'),
'hp' => $request->input('hp'),
'username' => $request->input('username'),
'password' => $request->input('password'),
'email' => $request->input('email'),
'verifikasi_m' => "belum terverifikasi",
],
);
return "ok";
}
public function show($device_id)
{
$mahasiswa = Mahasiswa::where('device_id', $device_id)->first();
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
return view('koordinator.mahasiswa.show', ['mahasiswa' => $mahasiswa,
'alarmnos' => $alarmnos]);
}
public function destroy($device_id)
{
Mahasiswa::find($device_id)->delete();
return redirect('/mahasiswa')->with(['success' => 'Data Berhasi Dihapus']);
}
public function verifikasi(Request $request, $device_id)
{
$mahasiswa = Mahasiswa::where('device_id', $device_id)->first();
$mahasiswa->verifikasi_m = $request->status;
$mahasiswa->save();
if($mahasiswa->verifikasi_m == "terverifikasi"){
Mail::to($mahasiswa->email)->send(new EmailBerhasil($mahasiswa));
Lampiran 3 – Source code program
$user = new User();
$user->r_id = "mhs";
$user->username = $mahasiswa->username ;
$user->email = $mahasiswa->email;
$user->nama_user = $mahasiswa->nama;
$user->password = Hash::make($mahasiswa->password);
$user->save();
} else {
Mail::to($mahasiswa->email)->send(new
EmailTidakBerhasil($mahasiswa));
}
return redirect('/mahasiswa')->with(['success' => 'Proses Berhasil']);
}
public function uploadViews()
{
$buku = Buku::where('id', Auth::user()->id)->first();
return view('mahasiswa.upload', ['buku' => $buku]);
}
public function upload(Request $request)
{
// $this->validate($request, [
// 'judul_buku' => 'max:30',
// 'sinopsis' => 'max:200',
// 'kelompok_b' => 'max:15',
// 'tahun_b' => 'max:15',
// 'file' => 'required|mimes:pdf'
// ]);
if($request->file('file') != null) {
$uploadedFile = $request->file('file');
$path = $uploadedFile->store('public/files');
Buku::updateOrCreate(
['id' => Auth::user()->id],
[
'judul_buku' => $request->judul_buku ?? $uploadedFile-
>getClientOriginalName(),
'sinopsis' => $request->sinopsis,
'kelompok_b' => $request->kelompok_b,
Lampiran 3 – Source code program
'tahun_b' => $request->tahun_b,
'id' => Auth::user()->id,
'directory_buku' => $path
],
);
} else {
Buku::updateOrCreate(
['id' => Auth::user()->id],
[
'judul_buku' => $request->judul_buku ?? $uploadedFile-
>getClientOriginalName(),
'sinopsis' => $request->sinopsis,
'kelompok_b' => $request->kelompok_b,
'tahun_b' => $request->tahun_b,
'id' => Auth::user()->id,
],
);
}
return redirect()
->back()
->with(['success' => 'Berhasil upload buku']);
}
}
LaporanMingguan.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\LaporanMingguan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Mahasiswa;
class LaporanMingguanController extends Controller
{
public function store(Request $request)
{
$time = strtotime($request->input('tgl_lapor'));
$newformat = date('Y-m-d', $time);
$laporanMingguan = new LaporanMingguan();
$laporanMingguan->nama_lapor = $request->input('nama_lapor');
Lampiran 3 – Source code program
$laporanMingguan->nim_lapor = $request->input('nim_lapor');
$laporanMingguan->tgl_lapor = $newformat;
$laporanMingguan->detail_lapor = $request->input('detail_lapor');
$laporanMingguan->verifikasi_a = "belum terverifikasi";
$laporanMingguan->validasi_a = "belum tervalidasi";
$laporanMingguan->device_id = $request->input('device_id');
$laporanMingguan->save();
return "ok";
}
public function index()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->get();
return view('admin.laporanmingguan.views', ['laporanMingguans' =>
$laporanMingguan, 'alarmnos' => $alarmnos]);
}
public function show($m_id)
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=',
$laporanMingguan->device_id)->first();
return view('admin.laporanmingguan.show', ['laporanMingguan' =>
$laporanMingguan, 'mahasiswa' => $mahasiswa, 'alarmnos' => $alarmnos]);
}
// Ketua
public function viewsKetua()
{
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->where('validasi_a', '=', 'belum tervalidasi')
->where('validasi_a', '!=', 'tervalidasi')
->where('validasi_a', '!=', 'tidak tervalidasi')
->get();
return view('ketua.laporan-mingguan.views', ['laporanMingguans' =>
$laporanMingguan]);
}
Lampiran 3 – Source code program
public function arsipKetua()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->get();
return view('ketua.laporan-mingguan.arsip', ['laporanMingguans' =>
$laporanMingguan, 'alarmnos' => $alarmnos]);
}
public function showKetua($m_id)
{
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=',
$laporanMingguan->device_id)->first();
return view('ketua.laporan-mingguan.show', ['laporanMingguan' =>
$laporanMingguan, 'mahasiswa' => $mahasiswa]);
}
public function validasi(Request $request, $m_id)
{
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$laporanMingguan->validasi_a = $request->status;
$laporanMingguan->save();
return redirect('/ketua/laporan-mingguan')->with(['success' => 'Proses
Berhasil']);
}
// Sekretaris
public function viewsSekretaris()
{
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->where('validasi_a', '=', 'tervalidasi')
->get();
return view('sekretaris.laporan-mingguan.views', ['laporanMingguans' =>
$laporanMingguan]);
}
public function arsipSekretaris()
{
$laporanMingguan = DB::table('laporan_mingguan')
Lampiran 3 – Source code program
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->get();
return view('sekretaris.laporan-mingguan.arsip', ['laporanMingguans' =>
$laporanMingguan]);
}
public function showSekretaris($m_id)
{
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=',
$laporanMingguan->device_id)->first();
return view('sekretaris.laporan-mingguan.show', ['laporanMingguan' =>
$laporanMingguan, 'mahasiswa' => $mahasiswa]);
}
// Koordinator
public function viewsKoordinator()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->where('verifikasi_a', '=', 'belum terverifikasi')
->get();
return view('koordinator.laporan-mingguan.views', ['laporanMingguans'
=> $laporanMingguan, 'alarmnos' => $alarmnos]);
}
public function arsipKoordinator()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->get();
return view('koordinator.laporan-mingguan.arsip', ['laporanMingguans' =>
$laporanMingguan, 'alarmnos' => $alarmnos]);
}
public function showKoordinator($m_id)
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=',
$laporanMingguan->device_id)->first();
Lampiran 3 – Source code program
return view('koordinator.laporan-mingguan.show', ['laporanMingguan' =>
$laporanMingguan, 'mahasiswa' => $mahasiswa, 'alarmnos' => $alarmnos]);
}
public function verifikasi(Request $request, $m_id)
{
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$laporanMingguan->verifikasi_a = $request->status;
$laporanMingguan->validasi_a = "belum tervalidasi";
$laporanMingguan->save();
return redirect('/koordinator/laporan-mingguan')->with(['success' =>
'Proses Berhasil']);
}
// Mahasiswa
public function viewsMahasiswa()
{
$mahasiswa = Mahasiswa::all()->where('email', '=', Auth::user()->email)-
>first();
$laporanMingguan = DB::table('laporan_mingguan')
->join('mahasiswa', 'laporan_mingguan.device_id', '=',
'mahasiswa.device_id')
->get();
return view('mahasiswa.laporan-mingguan.views', ['laporanMingguans'
=> $laporanMingguan]);
}
public function showMahasiswa($m_id)
{
$laporanMingguan = LaporanMingguan::where('m_id', $m_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=',
$laporanMingguan->device_id)->first();
return view('mahasiswa.laporan-mingguan.show', ['laporanMingguan'
=> $laporanMingguan, 'mahasiswa' => $mahasiswa]);
}
}
LaporanKegiatan.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\Kegiatan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
Lampiran 3 – Source code program
use App\Mahasiswa;
class KegiatanController extends Controller
{
// Publik
public function peta_persebaran()
{
$kegiatan = DB::table('kegiatan')->where('validasi_k', '=', 'tervalidasi')-
>get();
return view('public.peta-persebaran', ['kegiatan' => $kegiatan]);
}
public function hasil_kegiatan()
{
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->where('validasi_k', '=', 'tervalidasi')
->get();
return view('public.hasil-kegiatan-kkn', ['kegiatans' => $kegiatan]);
}
public function detail_kegiatan($k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=', $kegiatan-
>device_id)->first();
return view('public.detail-kegiatan', ['kegiatan' => $kegiatan, 'mahasiswa'
=> $mahasiswa]);
}
// Android API
public function store(Request $request)
{
$kegiatan = new Kegiatan();
$kegiatan->nama_kegiatan = $request->input('nama_kegiatan');
$kegiatan->detail_kegiatan = $request->input('detail_kegiatan');
$kegiatan->latitude = $request->input('latitude');
$kegiatan->longitude = $request->input('longitude');
$kegiatan->kategori = $request->input('kategori');
$kegiatan->image = $request->input('image');
$kegiatan->verifikasi_k = "belum terverifikasi";
$kegiatan->validasi_k = "belum tervalidasi";
Lampiran 3 – Source code program
$kegiatan->device_id = $request->input('device_id');
$kegiatan->save();
return "ok";
}
// Ketua
public function viewsKetua()
{
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->where('verifikasi_k', '=', 'terverifikasi')
->where('validasi_k', '!=', 'tervalidasi')
->where('validasi_k', '!=', 'tidak tervalidasi')
->get();
return view('ketua.laporan-kegiatan.views', ['kegiatans' => $kegiatan]);
}
public function showKetua($k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=', $kegiatan-
>device_id)->first();
return view('ketua.laporan-kegiatan.show', ['kegiatan' => $kegiatan,
'mahasiswa' => $mahasiswa]);
}
public function arsipKetua()
{
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->get();
return view('ketua.laporan-kegiatan.arsip', ['kegiatans' => $kegiatan]);
}
public function validasi(Request $request, $k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$kegiatan->validasi_k = $request->status;
$kegiatan->save();
return redirect('/ketua/laporan-kegiatan')->with(['success' => 'Proses
Berhasil']);
}
// Sekretaris
Lampiran 3 – Source code program
public function viewsSekretaris()
{
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->where('validasi_k', '=', 'tervalidasi')
->get();
return view('sekretaris.laporan-kegiatan.views', ['kegiatans' => $kegiatan]);
}
public function arsipSekretaris()
{
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->get();
return view('sekretaris.laporan-kegiatan.arsip', ['kegiatans' => $kegiatan]);
}
public function showSekretaris($k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=', $kegiatan-
>device_id)->first();
return view('sekretaris.laporan-kegiatan.show', ['kegiatan' => $kegiatan,
'mahasiswa' => $mahasiswa]);
}
// Koordinator
public function viewsKoordinator()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->where('verifikasi_k', '=', 'belum terverifikasi')
->get();
return view('koordinator.laporan-kegiatan.views', ['kegiatans' =>
$kegiatan, 'alarmnos' => $alarmnos]);
}
public function showKoordinator($k_id)
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=', $kegiatan-
>device_id)->first();
$base64code = $kegiatan->image;
Lampiran 3 – Source code program
return view('koordinator.laporan-kegiatan.show', ['kegiatan' => $kegiatan,
'mahasiswa' => $mahasiswa, 'alarmnos' => $alarmnos, 'base64code' =>
$base64code]);
}
public function verifikasi(Request $request, $k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$kegiatan->verifikasi_k = $request->status;
$kegiatan->save();
return redirect('/koordinator/laporan-kegiatan')->with(['success' => 'Proses
Berhasil']);
}
public function arsipKoordinator()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->get();
return view('koordinator.laporan-kegiatan.arsip', ['kegiatans' => $kegiatan,
'alarmnos' => $alarmnos]);
}
// Mahasiswa
public function viewsMahasiswa()
{
$mahasiswa = Mahasiswa::all()->where('email', '=', Auth::user()->email)-
>first();
$kegiatan = DB::table('kegiatan')
->join('mahasiswa', 'kegiatan.device_id', '=', 'mahasiswa.device_id')
->get();
return view('mahasiswa.laporan-kegiatan.views', ['kegiatans' => $kegiatan,
'mahasiswa' => $mahasiswa]);
}
public function showMahasiswa($k_id)
{
$kegiatan = Kegiatan::where('k_id', $k_id)->first();
$mahasiswa = Mahasiswa::all()->where('device_id', '=', $kegiatan-
>device_id)->first();
Lampiran 3 – Source code program
return view('mahasiswa.laporan-kegiatan.show', ['kegiatan' => $kegiatan,
'mahasiswa' => $mahasiswa]);
}
}
Alarm.php
<?php
namespace App\Http\Controllers;
use App\Alarm;
use App\Mahasiswa;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AlarmController extends Controller
{
public function index()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
// $alarms = DB::table('alarm')->where('status', '=', 'hidup')->get();
$alarms = DB::table('alarm')->where('status', '=', 'hidup')->get();
$alarm2 = DB::table('alarm')
->join('mahasiswa', 'alarm.device_id', '=', 'mahasiswa.device_id')
->where('status', '=', 'hidup')
->get();
return view('koordinator.alarm.index', ['alarm' => $alarms, 'alarm2' =>
$alarm2, 'alarmnos' => $alarmnos]);
}
public function views()
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$alarm = DB::table('alarm')
->join('mahasiswa', 'alarm.device_id', '=', 'mahasiswa.device_id')
->get();
return view('koordinator.alarm.views', ['alarms' => $alarm, 'alarmnos' =>
$alarmnos]);
}
public function show($id_alarm)
{
$alarmnos = DB::table('alarm')->where('status', '=', 'hidup')->get();
$alarm = Alarm::where('a_id', $id_alarm)->first();
$mahasiswa = Mahasiswa::all()->where('p_id', '=', $alarm->p_id)->first();
Lampiran 3 – Source code program
return view('koordinator.alarm.show', ['alarm' => $alarm, 'mahasiswa' =>
$mahasiswa, 'alarmnos' => $alarmnos]);
}
public function store(Request $request)
{
Alarm::updateOrCreate(
['device_id' => $request->input('device_id')],
[
'jenis_darurat' => $request->input('jenis_darurat'),
'lapor_darurat' => $request->input('lapor_darurat'),
'latitude' => $request->input('latitude'),
'longitude' => $request->input('longitude'),
'status' => $request->input('status'),
],
);
return "ok";
}
public function turnoff(Request $request, $a_id)
{
$alarm = Alarm::where('a_id', $a_id)->first();
$alarm->status = "mati";
$alarm->save();
return redirect('/alarm')->with(['success' => 'Alarm Dimatikan']);
}
}
Web.php
<?php
Route::get('/', 'PublicController@index');
Route::get('/peta-persebaran', 'KegiatanController@peta_persebaran');
Route::get('/hasil-kegiatan-kkn', 'KegiatanController@hasil_kegiatan');
Route::get('/detail-kegiatan/{id}', 'KegiatanController@detail_kegiatan');
Route::get('/buku-kkn', 'PublicController@viewsBuku');
Route::get('/detail-buku/{id_buku}', 'PublicController@detailBuku');
// Android API
Route::post('/alarm/android_api/save_profile', 'MahasiswaController@store');
Route::post('/alarm/android_api/hit_alarm', 'AlarmController@store');
Route::post('/alarm/android_api/save_kegiatan', 'KegiatanController@store');
Lampiran 3 – Source code program
Route::post('/alarm/android_api/save_laporan',
'LaporanMingguanController@store');
Route::get('/home', 'HomeController@home')->name('home');
Auth::routes();
Route::group(['middleware' => ['web', 'auth', 'roles']], function () {
// Ketua
Route::group(['roles'=>'ketua'],function(){
// Home
Route::get('/ketua/home', 'HomeController@ketua');
// Laporan Kegiatan
Route::get('/ketua/laporan-kegiatan', 'KegiatanController@viewsKetua');
Route::get('/ketua/arsip-kegiatan', 'KegiatanController@arsipKetua');
Route::get('/ketua/detail/laporan-kegiatan/{k_id}',
'KegiatanController@showKetua');
Route::put('/kegiatan/validasi/{k_id}', 'KegiatanController@validasi');
// Laporan Mingguan
Route::get('/ketua/laporan-mingguan',
'LaporanMingguanController@viewsKetua');
Route::get('/ketua/arsip-laporan-mingguan',
'LaporanMingguanController@arsipKetua');
Route::get('/ketua/detail/laporan-mingguan/{m_id}',
'LaporanMingguanController@showKetua');
Route::put('/laporan-mingguan/validasi/{m_id}',
'LaporanMingguanController@validasi');
// Pengaturan
Route::get('/ketua/pengaturan', 'HomeController@pengaturanKetua');
Route::put('/ketua/pengaturan/updateuseremail/{id}',
'HomeController@updateEmailKetua');
Route::put('/ketua/pengaturan/updatpassword/{id}',
'HomeController@updatePasswordKetua');
});
// Sekretaris
Route::group(['roles'=>'sekretaris'],function(){
// Home
Route::get('/sekretaris/home', 'HomeController@sekretaris');
Lampiran 3 – Source code program
// Laporan Kegiatan
Route::get('/sekretaris/laporan-kegiatan',
'KegiatanController@viewsSekretaris');
Route::get('/sekretaris/arsip-kegiatan',
'KegiatanController@arsipSekretaris');
Route::get('/sekretaris/detail/laporan-kegiatan/{k_id}',
'KegiatanController@showSekretaris');
// Laporan Mingguan
Route::get('/sekretaris/laporan-mingguan',
'LaporanMingguanController@viewsSekretaris');
Route::get('/sekretaris/arsip-laporan-mingguan',
'LaporanMingguanController@arsipSekretaris');
Route::get('/sekretaris/detail/laporan-mingguan/{m_id}',
'LaporanMingguanController@showSekretaris');
// Pengaturan
Route::get('/sekretaris/pengaturan',
'HomeController@pengaturanSekretaris');
Route::put('/sekretaris/pengaturan/updateuseremail/{id}',
'HomeController@updateEmailSekretaris');
Route::put('/sekretaris/pengaturan/updatpassword/{id}',
'HomeController@updatePasswordSekretaris');
});
// Koordinator
Route::group(['roles'=>'koordinator'],function(){
// Alarm
Route::get('/alarm', 'AlarmController@index');
Route::get('/log-alarm', 'AlarmController@views');
Route::get('/detail-alarm/{id}', 'AlarmController@show');
Route::get('/matikan-alarm/{id}', 'AlarmController@turnoff');
// Laporan Kegiatan
Route::get('/koordinator/laporan-kegiatan',
'KegiatanController@viewsKoordinator');
Route::get('/koordinator/arsip-kegiatan',
'KegiatanController@arsipKoordinator');
Route::get('/koordinator/detail/laporan-kegiatan/{k_id}',
'KegiatanController@showKoordinator');
Route::put('/kegiatan/verifikasi/{k_id}', 'KegiatanController@verifikasi');
// Laporan Mingguan
Lampiran 3 – Source code program
Route::get('/koordinator/laporan-mingguan',
'LaporanMingguanController@viewsKoordinator');
Route::get('/koordinator/arsip-laporan-mingguan',
'LaporanMingguanController@arsipKoordinator');
Route::get('/koordinator/detail/laporan-mingguan/{m_id}',
'LaporanMingguanController@showKoordinator');
Route::put('/laporan-mingguan/verifikasi/{m_id}',
'LaporanMingguanController@verifikasi');
// Mahasiswa
Route::get('/mahasiswa', 'MahasiswaController@views');
Route::get('/arsip-mahasiswa', 'MahasiswaController@archive');
Route::get('/detail-mahasiswa/{device_id}',
'MahasiswaController@show');
Route::delete('/mahasiswa/delete/{device_id}',
'MahasiswaController@destroy');
Route::put('/mahasiswa/verifikasi/{device_id}',
'MahasiswaController@verifikasi');
// Pengaturan
Route::get('/koordinator/pengaturan',
'HomeController@pengaturanKoordinator');
Route::put('/koordinator/pengaturan/updateuseremail/{id}',
'HomeController@updateEmailKoordinator');
Route::put('/koordinator/pengaturan/updatpassword/{id}',
'HomeController@updatePasswordKoordinator');
});
// Mahasiswa
Route::group(['roles'=>'mahasiswa'],function(){
Route::get('/upload', 'MahasiswaController@uploadViews');
Route::post('/upload/proses', 'MahasiswaController@upload');
Route::get('/mahasiswa/laporan-kegiatan',
'KegiatanController@viewsMahasiswa');
Route::get('/mahasiswa/detail/laporan-kegiatan/{k_id}',
'KegiatanController@showMahasiswa');
Route::get('/mahasiswa/laporan-mingguan',
'LaporanMingguanController@viewsMahasiswa');
Route::get('/mahasiswa/detail/laporan-mingguan/{m_id}',
'LaporanMingguanController@showMahasiswa');
// Pengaturan
Lampiran 3 – Source code program
Route::get('/mahasiswa/pengaturan',
'HomeController@pengaturanMahasiswa');
Route::put('/mahasiswa/pengaturan/updateuseremail/{id}',
'HomeController@updateEmailMahasiswa');
Route::put('/mahasiswa/pengaturan/updatpassword/{id}',
'HomeController@updatePasswordMahasiswa');
});
});
Source Code Aplikasi Android
MainActivty
package com.ombapit.alarmbutton;
import android.Manifest;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
Lampiran 3 – Source code program
import android.graphics.Color;
import android.location.Location;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatButton;
import android.support.v7.widget.Toolbar;
import android.telephony.SmsManager;
import android.telephony.TelephonyManager;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import com.google.android.gms.location.LocationRequest;
import com.ombapit.alarmbutton.utils.GlobalVar;
import com.ombapit.alarmbutton.utils.LocationManagerInterface;
import com.ombapit.alarmbutton.utils.RequestHandler;
import com.ombapit.alarmbutton.utils.SmartLocationManager;
import com.ombapit.alarmbutton.utils.Utility;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
Lampiran 3 – Source code program
import java.util.Set;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener,
LocationManagerInterface {
private String[] arraySpinner;
public static final String TAG = MainActivity.class.getSimpleName();
private String latitude, longitude = "";
EditText edLaporDarurat;
SmartLocationManager mLocationManager;
private SQLiteDatabase db;
private Cursor c;
String nama,nim, kelompok, tahun, alamat, hp, jenis_laporan, desa, wilayah,
lapor_darurat;
String state = "Off";
public static final int REQUEST_READ_PHONE_STATE = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
createDatabase();
int permissionCheck = ContextCompat.checkSelfPermission(this,
android.Manifest.permission.READ_PHONE_STATE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions((Activity) this, new
String[]{Manifest.permission.READ_PHONE_STATE},
REQUEST_READ_PHONE_STATE);
} else {
//
}
boolean
result=SmartLocationManager.checkPermission(MainActivity.this);
mLocationManager = new
SmartLocationManager(getApplicationContext(), this, this,
SmartLocationManager.ALL_PROVIDERS,
LocationRequest.PRIORITY_HIGH_ACCURACY, 10 * 1000, 1 * 1000,
Lampiran 3 – Source code program
SmartLocationManager.LOCATION_PROVIDER_RESTRICTION_NONE); //
init location manager
FloatingActionButton fab = (FloatingActionButton)
findViewById(R.id.fab);
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView)
findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
edLaporDarurat = (EditText) findViewById(R.id.etLaporDarurat);
final Spinner s = (Spinner) findViewById(R.id.cbType);
final Button btalarm = (Button) findViewById(R.id.bt_alarm);
btalarm.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
lapor_darurat = edLaporDarurat.getText().toString().trim();
//check jika data belum lengkap
c = db.rawQuery("SELECT * FROM users",null);
boolean exists = (c.getCount() > 0);
if(exists){
c.moveToFirst();
jenis_laporan = s.getSelectedItem().toString();
nama = c.getString(1);
nim = c.getString(2);
kelompok = c.getString(3);
tahun = c.getString(4);
alamat = c.getString(5);
desa = c.getString(6);
wilayah = c.getString(7);
hp = c.getString(8);
if (!c.getString(0).equals("") || !c.getString(1).equals("") ||
c.getString(2).equals("")
Lampiran 3 – Source code program
|| c.getString(3).equals("") || c.getString(4).equals("") ||
c.getString(5).equals("")
|| c.getString(6).equals("")|| c.getString(7).equals("")||
c.getString(8).equals("")) {
// Is the toggle on?
Log.d(TAG,"Jenis Laporan:" + jenis_laporan);
if (state == "On") {
Log.d("off", btalarm.getText().toString());
//matikan alarm
hitalarm("mati");
} else {
//getlatlon
if (latitude != null) {
Toast.makeText(MainActivity.this, "Latlon" + latitude + ","
+ longitude, Toast.LENGTH_SHORT).show();
//hidupkan alarm
hitalarm("hidup");
} else {
Toast.makeText(MainActivity.this, "Aplikasi tidak
mendapatkan posisi anda, mohon hidupkan terlebih dahulu GPS anda",
Toast.LENGTH_SHORT).show();
return;
}
Log.d("on", btalarm.getText().toString());
}
} else {
Toast.makeText(MainActivity.this,"Silahkan Lengkapi Profil
user anda terlebih dahulu",Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
} else {
Toast.makeText(MainActivity.this,"Silahkan Lengkapi Profil user
anda terlebih dahulu",Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
Lampiran 3 – Source code program
c.close();
}
});
arraySpinner = new String[] {
"Penyakit Keras", "Kecelakaan", "Kebakaran", "Penculikan",
"Bencana Alam"
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, arraySpinner) {
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View v = super.getView(position, convertView, parent);
v.setMinimumHeight((int)
(40*getContext().getResources().getDisplayMetrics().density));
v.setBackgroundColor(Color.rgb(222, 222, 222));
return v;
}
};
s.setAdapter(adapter);
}
private void hitalarm(final String aksi){
class HitAlarm extends AsyncTask<String,Void,String> {
ProgressDialog loading;
RequestHandler rh = new RequestHandler();
Button btalarm = (Button) findViewById(R.id.bt_alarm);
@Override
protected void onPreExecute() {
super.onPreExecute();
String text_aksi = "";
if (aksi.equals("hidup")){
text_aksi = "Hidupkan";
} else {
text_aksi = "Matikan";
}
loading = ProgressDialog.show(MainActivity.this, text_aksi+ "
Alarm", "Mohon tunggu...",true,true);
loading.setCanceledOnTouchOutside(false);
Lampiran 3 – Source code program
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
String kondisi = "";
//jika aksi gagal,balikkan ke semula
Log.d("url",s);
if (s.equals("ok")){
if (aksi.equals("hidup")) {
btalarm.setText(R.string.on);
btalarm.setBackgroundResource(R.drawable.roundedbutton_click);
state = "On";
kondisi = "dinyalakan";
} else {
btalarm.setText(R.string.off);
btalarm.setBackgroundResource(R.drawable.roundedbutton);
state = "Off";
kondisi = "dimatikan";
}
Toast.makeText(getApplicationContext(),"Alarm telah "+
kondisi,Toast.LENGTH_LONG).show();
} else {
if (aksi.equals("hidup")) {
btalarm.setText(R.string.off);
btalarm.setBackgroundResource(R.drawable.roundedbutton);
state = "Off";
} else {
btalarm.setText(R.string.on);
btalarm.setBackgroundResource(R.drawable.roundedbutton_click);
state = "On";
}
Toast.makeText(getApplicationContext(),"Server Error, silahkan
coba kembali ...",Toast.LENGTH_LONG).show();
}
}
@Override
protected String doInBackground(String... params) {
final TelephonyManager tm = (TelephonyManager)
getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
Lampiran 3 – Source code program
HashMap<String,String> data = new HashMap<>();
data.put("status", params[0]);
data.put("jenis_darurat", jenis_laporan);
data.put("lapor_darurat", lapor_darurat);
data.put("device_id", Utility.uniqDevice(MainActivity.this));
data.put("latitude", latitude);
data.put("longitude", longitude);
String uri = "http://"+ getString(R.string.api_url) +
"/android_api/hit_alarm";
String result = rh.sendPostRequest(uri,data);
return result;
}
}
HitAlarm ui = new HitAlarm();
ui.execute(aksi);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_manage) {
Lampiran 3 – Source code program
Intent intent = new Intent(this, ProfileDataActivity.class);
startActivity(intent);
} else if (id == R.id.nav_website) {
Intent intent = new Intent(this, WebsiteActivity.class);
startActivity(intent);
} else if (id == R.id.nav_laporan_mingguan) {
Intent intent = new Intent(this, LaporanActivity.class);
startActivity(intent);
}
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
protected void onStart() {
super.onStart();
mLocationManager.startLocationFetching();
}
protected void onStop() {
super.onStop();
mLocationManager.abortLocationFetching();
}
@Override
protected void onPause() {
super.onPause();
mLocationManager.pauseLocationFetching();
}
@Override
public void locationFetched(Location mLocal, Location oldLocation, String
time, String locationProvider) {
latitude = String.valueOf(mLocal.getLatitude());
longitude = String.valueOf(mLocal.getLongitude());
}
protected void createDatabase(){
db=openOrCreateDatabase("User", Context.MODE_PRIVATE, null);
// db.execSQL("DROP TABLE IF EXISTS users");
db.execSQL("CREATE TABLE IF NOT EXISTS users(id INTEGER
PRIMARY KEY AUTOINCREMENT NOT NULL, " +
"nama VARCHAR,nim VARCHAR, kelompok VARCHAR, tahun
VARCHAR, alamat VARCHAR, desa VARCHAR," +
Lampiran 3 – Source code program
"wilayah VARCHAR, hp VARCHAR, username VARCHAR,
password VARCHAR, email VARCHAR);");
}
@Override
public void onRequestPermissionsResult(int requestCode, String[]
permissions, int[] grantResults) {
switch (requestCode) {
case SmartLocationManager.PERMISSION_REQUEST_CODE:
Log.d("Codenya",String.valueOf(grantResults.length));
//Log.d("granres",String.valueOf(grantResults[0]));
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
} else {
//deny
Toast.makeText(MainActivity.this, "Anda harus allow device's
location untuk melanjutkan aplikasi ini", Toast.LENGTH_LONG).show();
this.finish();
}
break;
}
}
}
ProfileDataActivity
package com.ombapit.alarmbutton;
import android.Manifest;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
Lampiran 3 – Source code program
import android.widget.TextView;
import android.widget.Toast;
import com.facebook.AccessToken;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.GraphRequest;
import com.facebook.GraphResponse;
import com.facebook.Profile;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
import com.ombapit.alarmbutton.utils.RequestHandler;
import com.ombapit.alarmbutton.utils.Utility;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Random;
public class ProfileDataActivity extends AppCompatActivity {
private CallbackManager callbackManager;
EditText edNama, edNIM, edKelompok, edTahun, edAlamat, edDesa,
edWilayah, edHp, edUsername, edPassword, edEmail;
Button btnSimpan;
private SQLiteDatabase db;
private Cursor c;
String nama, nim, kelompok, tahun, alamat, desa, wilayah, hp, username,
password, email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_profile_data);
db=openOrCreateDatabase("User", Context.MODE_PRIVATE, null);
Lampiran 3 – Source code program
//set form
edNama = (EditText) findViewById(R.id.etNama);
edNIM = (EditText) findViewById(R.id.etNIM);
edKelompok = (EditText) findViewById(R.id.etKelompok);
edTahun = (EditText) findViewById(R.id.etTahun);
edAlamat = (EditText) findViewById(R.id.etAlamat);
edDesa = (EditText) findViewById(R.id.etDesa);
edWilayah = (EditText) findViewById(R.id.etWilayah);
edHp = (EditText) findViewById(R.id.etHP);
edUsername = (EditText) findViewById(R.id.etUsername);
edPassword = (EditText) findViewById(R.id.etPassword);
edEmail = (EditText) findViewById(R.id.etEmail);
//set form jika sudah ada data
c = db.rawQuery("SELECT * FROM users", null);
boolean exists = (c.getCount() > 0);
if(exists) {
c.moveToFirst();
edNama.setText(c.getString(1));
edNIM.setText(c.getString(2));
edKelompok.setText(c.getString(3));
edTahun.setText(c.getString(4));
edAlamat.setText(c.getString(5));
edDesa.setText(c.getString(6));
edWilayah.setText(c.getString(7));
edHp.setText(c.getString(8));
edUsername.setText(c.getString(9));
edPassword.setText(c.getString(10));
edEmail.setText(c.getString(11));
}
c.close();
//listener button simpan
btnSimpan = (Button) findViewById(R.id.btSimpanProfile);
btnSimpan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick (View v) {
insertIntoDB();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Lampiran 3 – Source code program
callbackManager.onActivityResult(requestCode, resultCode, data);
}
protected void insertIntoDB(){
nama = edNama.getText().toString().trim();
nim = edNIM.getText().toString().trim();
kelompok = edKelompok.getText().toString().trim();
tahun = edTahun.getText().toString().trim();
alamat = edAlamat.getText().toString().trim();
desa = edDesa.getText().toString().trim();
wilayah = edWilayah.getText().toString().trim();
hp = edHp.getText().toString().trim();
username = edUsername.getText().toString().trim();
password = edPassword.getText().toString().trim();
email = edEmail.getText().toString().trim();
if(nama.equals("") || nim.equals("") || tahun.equals("")||
kelompok.equals("")|| alamat.equals("")
|| desa.equals("")|| wilayah.equals("")|| hp.equals("")||
username.equals("")|| password.equals("")|| email.equals("")){
Toast.makeText(getApplicationContext(),"Mohon diisi semua field
yang tersedia", Toast.LENGTH_LONG).show();
return;
}
//check data sudah ada atau belum
c = db.rawQuery("SELECT * FROM users", null);
boolean exists = (c.getCount() > 0);
//jika belum ada,insert
if(!exists) {
saveprofile("insert","");
} else {
c.moveToFirst();
String f_id= c.getString(0);
saveprofile("update",f_id);
}
c.close();
}
private void saveprofile(final String aksi, final String f_id){
class SaveProfile extends AsyncTask<String,Void,String> {
ProgressDialog loading;
RequestHandler rh = new RequestHandler();
Lampiran 3 – Source code program
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(ProfileDataActivity.this, "User
Profil", "Data sedang disimpan, Mohon tunggu ...",true,true);
loading.setCanceledOnTouchOutside(false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
//jika aksi gagal,balikkan ke semula
Log.d("result_url",""+s);
if ("ok".equals(s)){
//masukkan ke sqlite
if (aksi == "insert") {
String query = "INSERT INTO users (nama, nim, kelompok,
tahun , alamat, desa, wilayah, hp, username, password, email) " +
"VALUES('" + nama + "', '" + nim + "', '" + kelompok + "',
'" + tahun +
"', '" + alamat + "', '" + desa + "', '" + wilayah + "', '" + hp +
"', '" + username + "'" +
", '" + password + "', '" + email + "');";
db.execSQL(query);
} else if (aksi == "update") {
String query = "UPDATE users set nama = '" + nama + "'," +
" nim = '" + nim + "'," +
" kelompok = '" + kelompok + "'," +
" tahun = '" + tahun + "'," +
" alamat = '" + alamat + "'," +
" desa = '" + desa + "'," +
" wilayah = '" + wilayah + "'," +
" hp = '" + hp + "'," +
" username = '" + username + "'," +
" password = '" + password + "'," +
" email = '" + email + "'" +
" where id =" + f_id + ";";
db.execSQL(query);
}
Toast.makeText(getApplicationContext(),"Data telah
tersimpan",Toast.LENGTH_LONG).show();
} else {
Lampiran 3 – Source code program
Toast.makeText(getApplicationContext(),getString(R.string.api_error),Toast.L
ENGTH_LONG).show();
}
}
@Override
protected String doInBackground(String... params) {
HashMap<String,String> data = new HashMap<>();
data.put("device_id", Utility.uniqDevice(ProfileDataActivity.this));
data.put("nama", nama);
data.put("nim", nim);
data.put("kelompok", kelompok);
data.put("tahun", tahun);
data.put("alamat", alamat);
data.put("desa", desa);
data.put("wilayah", wilayah);
data.put("hp", hp);
data.put("username", username);
data.put("password", password);
data.put("email", email);
String uri = "http://"+ getString(R.string.api_url) +
"/android_api/save_profile";
String result = rh.sendPostRequest(uri,data);
return result;
}
}
SaveProfile ui = new SaveProfile();
ui.execute(aksi,f_id);
}
}
LaporanActivity
package com.ombapit.alarmbutton;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
Lampiran 3 – Source code program
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.ombapit.alarmbutton.utils.RequestHandler;
import com.ombapit.alarmbutton.utils.Utility;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
public class LaporanActivity extends AppCompatActivity {
private int REQUEST_CAMERA = 0, SELECT_FILE = 1;
private Button btnUpload;
private String userChoosenTask;
EditText edNamaLapor, edNIMLapor, edTglLapor, edDetailLapor;
Lampiran 3 – Source code program
String nama,nim,kelompok,tahun, hp, namalapor, nimlapor, tgllapor,
detaillapor, alamat, desa,
date, wilayah;
private SQLiteDatabase db;
private Cursor c;
Boolean sudahUpload = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_laporan);
db=openOrCreateDatabase("User", Context.MODE_PRIVATE, null);
edNamaLapor = (EditText) findViewById(R.id.etNamaLapor);
edNIMLapor = (EditText) findViewById(R.id.etNIMLapor);
edTglLapor = (EditText) findViewById(R.id.etTglLapor);
edDetailLapor = (EditText) findViewById(R.id.etDetailLapor);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar l = Calendar.getInstance();
String date = sdf.format(l.getTime());
edTglLapor.setText(date);
btnUpload = (Button) findViewById(R.id.btnUpload);
btnUpload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
namalapor = edNamaLapor.getText().toString().trim();
nimlapor = edNIMLapor.getText().toString().trim();
tgllapor = edTglLapor.getText().toString().trim();
detaillapor = edDetailLapor.getText().toString().trim();
//check jika data belum lengkap
c = db.rawQuery("SELECT * FROM users",null);
boolean exists = (c.getCount() > 0);
if(exists) {
c.moveToFirst();
nama = c.getString(1);
nim = c.getString(2);
kelompok = c.getString(3);
tahun = c.getString(4);
Lampiran 3 – Source code program
alamat = c.getString(5);
desa = c.getString(6);
wilayah = c.getString(7);
hp = c.getString(8);
if (!c.getString(0).equals("") || !c.getString(1).equals("") ||
c.getString(2).equals("")
|| c.getString(3).equals("") || c.getString(4).equals("") ||
c.getString(5).equals("")
|| c.getString(6).equals("")|| c.getString(7).equals("")||
c.getString(8).equals("")) {
uploadKegiatan("upload");
} else {
Toast.makeText(LaporanActivity.this,"Silahkan Lengkapi Profil
user anda terlebih dahulu",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LaporanActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
} else {
Toast.makeText(LaporanActivity.this,"Silahkan Lengkapi Profil
user anda terlebih dahulu",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LaporanActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
c.close();
}
});
}
private void uploadKegiatan(String mode){
class UploadKegiatan extends AsyncTask<String,Void,String> {
ProgressDialog loading;
RequestHandler rh = new RequestHandler();
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(LaporanActivity.this, "Kirim Pesan",
"Mohon tunggu...",true,true);
loading.setCanceledOnTouchOutside(false);
}
@Override
Lampiran 3 – Source code program
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
String msg = "";
if ("ok".equals(s)) {
msg = "Pesan sukses terkirim";
} else {
msg = getString(R.string.api_error);
}
Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_LONG).show()
;
}
@Override
//send request
protected String doInBackground(String... params) {
HashMap<String,String> data = new HashMap<>();
data.put("device_id", Utility.uniqDevice(LaporanActivity.this));
data.put("nama_lapor", namalapor);
data.put("nim_lapor", nimlapor);
data.put("tgl_lapor", tgllapor);
data.put("detail_lapor", detaillapor);
String uri = "http://"+ getString(R.string.api_url) +
"/android_api/save_laporan";
String result = rh.sendPostRequest(uri,data);
return result;
}
}
UploadKegiatan ui = new UploadKegiatan();
ui.execute(mode);
}
}
WebsiteActivity
package com.ombapit.alarmbutton;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
Lampiran 3 – Source code program
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.location.Location;
import android.os.Environment;
import android.os.AsyncTask;
import android.util.Base64;
import android.util.Log;
import android.content.pm.PackageManager;
import android.app.Activity;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.Spinner;
import android.provider.MediaStore;
import java.util.HashMap;
import java.io.ByteArrayOutputStream;
import java.io.File;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.net.Uri;
import com.google.android.gms.location.LocationRequest;
import com.ombapit.alarmbutton.utils.LocationManagerInterface;
import com.ombapit.alarmbutton.utils.RequestHandler;
import com.ombapit.alarmbutton.utils.SmartLocationManager;
import com.ombapit.alarmbutton.utils.Utility;
Lampiran 3 – Source code program
public class WebsiteActivity extends AppCompatActivity implements
NavigationView.OnNavigationItemSelectedListener,
LocationManagerInterface {
private Button btnUpload;
private Button btnSelect;
private Spinner edKategori;
EditText edNamaKegiatan, edDetailKegiatan, edLatitude, edLongitude;
String nama, nim, kelompok, tahun, alamat, desa, wilayah, hp,
nama_kegiatan, detail_kegiatan, kategori;
private String latitude, longitude = "";
SmartLocationManager mLocationManager;
private ImageView ivImage;
private SQLiteDatabase db;
private Cursor c;
private String userChoosenTask;
private int REQUEST_CAMERA = 0, SELECT_FILE = 1;
String mCurrentPhotoPath;
Uri photoURI;
Boolean sudahUpload = false;
public static final String UPLOAD_KEY = "image";
public static final String TAG = "Laporan";
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_website);
db=openOrCreateDatabase("User", Context.MODE_PRIVATE, null);
ivImage = (ImageView) findViewById(R.id.ivImage);
btnSelect = (Button) findViewById(R.id.btnSelectPhoto);
btnSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Lampiran 3 – Source code program
selectImage();
}
});
boolean
result=SmartLocationManager.checkPermission(WebsiteActivity.this);
mLocationManager = new
SmartLocationManager(getApplicationContext(), this, this,
SmartLocationManager.ALL_PROVIDERS,
LocationRequest.PRIORITY_HIGH_ACCURACY, 10 * 1000, 1 * 1000,
SmartLocationManager.LOCATION_PROVIDER_RESTRICTION_NONE); //
init location manager
// Set Form
edNamaKegiatan = (EditText) findViewById(R.id.etNamaKegiatan);
edDetailKegiatan = (EditText) findViewById(R.id.etDetailKegiatan);
edKategori = (Spinner) findViewById(R.id.etKategori);
btnUpload = (Button) findViewById(R.id.btnUpload);
btnUpload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nama_kegiatan = edNamaKegiatan.getText().toString().trim();
detail_kegiatan = edDetailKegiatan.getText().toString().trim();
kategori = edKategori.getSelectedItem().toString().trim();
//check jika data belum lengkap
c = db.rawQuery("SELECT * FROM users",null);
boolean exists = (c.getCount() > 0);
if(exists) {
c.moveToFirst();
nama = c.getString(1);
nim = c.getString(2);
kelompok = c.getString(3);
tahun = c.getString(4);
alamat = c.getString(5);
desa = c.getString(6);
wilayah = c.getString(7);
hp = c.getString(8);
if (!c.getString(0).equals("") || !c.getString(1).equals("") ||
c.getString(2).equals("")
|| c.getString(3).equals("") || c.getString(4).equals("") ||
c.getString(5).equals("")
Lampiran 3 – Source code program
|| c.getString(6).equals("")|| c.getString(7).equals("")||
c.getString(8).equals("")) {
if (sudahUpload.equals(true)) {
uploadKegiatan("gambar");
} else {
uploadKegiatan("upload");
}
} else {
Toast.makeText(WebsiteActivity.this,"Silahkan Lengkapi Profil
user anda terlebih dahulu",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(WebsiteActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
} else {
Toast.makeText(WebsiteActivity.this,"Silahkan Lengkapi Profil
user anda terlebih dahulu",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(WebsiteActivity.this,
ProfileDataActivity.class);
startActivity(intent);
}
c.close();
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, String[]
permissions, int[] grantResults) {
switch (requestCode) {
case
Utility.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE:
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
if(userChoosenTask.equals("Ambil Photo"))
cameraIntent();
else if(userChoosenTask.equals("Pilih dari Library"))
galleryIntent();
} else {
//code for deny
}
break;
Lampiran 3 – Source code program
}
}
private void selectImage() {
final CharSequence[] items = { "Ambil Photo", "Pilih dari Library",
"Cancel" };
AlertDialog.Builder builder = new
AlertDialog.Builder(WebsiteActivity.this);
builder.setTitle("Tambah Photo!");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
boolean result=Utility.checkPermission(WebsiteActivity.this);
if (items[item].equals("Ambil Photo")) {
userChoosenTask ="Ambil Photo";
if(result)
cameraIntent();
} else if (items[item].equals("Pilih dari Library")) {
userChoosenTask ="Pilih dari Library";
if(result)
galleryIntent();
} else if (items[item].equals("Cancel")) {
dialog.dismiss();
}
}
});
builder.show();
}
private void galleryIntent()
{
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Pilih
File"),SELECT_FILE);
}
private void cameraIntent()
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
Lampiran 3 – Source code program
if (intent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
photoFile.delete();
} catch (IOException ex) {
// Error occurred while creating the File
Log.d("Photo",ex.toString());
}
// Continue only if the File was successfully created
if (photoFile != null) {
/*Uri photoURI = FileProvider.getUriForFile(this,
"com.ombapit.alarmbutton.fileprovider",
photoFile);*/
photoURI = Uri.fromFile(photoFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
Log.d("Photo","Simpan Photo ke extra"+photoURI);
}
startActivityForResult(intent, REQUEST_CAMERA);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_CAMERA) {
onCaptureImageResult();
}
}
}
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new
SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "AB_" + timeStamp + "_";
File storageDir =
getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
Lampiran 3 – Source code program
storageDir /* directory */
);
// Save a file: path for use with ACTION_VIEW intents
//mCurrentPhotoPath = "file:" + image.getAbsolutePath();
mCurrentPhotoPath = image.getAbsolutePath();
//mCurrentPhotoPath = image;
return image;
}
private void galleryAddPic() {
Intent mediaScanIntent = new
Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = photoURI;
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}
private void setPic() {
// Get the dimensions of the View
int targetW = ivImage.getWidth();
int targetH = ivImage.getHeight();
//Log.d("Photo","Set Pic "+mCurrentPhotoPath);
Bitmap real_bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
// Get the dimensions of the bitmap
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
int photoW = bmOptions.outWidth;
int photoH = bmOptions.outHeight;
// Determine how much to scale down the image
int scaleFactor = Math.min(photoW/targetW, photoH/targetH);
// Decode the image file into a Bitmap sized to fill the View
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true;
Bitmap bitmap_view = BitmapFactory.decodeFile(mCurrentPhotoPath,
bmOptions);
ivImage.setImageBitmap(bitmap_view);
Log.d("Photo","Tampilkan Foto "+ mCurrentPhotoPath);
//resize
Bitmap resized;
Lampiran 3 – Source code program
resized =
Bitmap.createScaledBitmap(bitmap_view,(int)(real_bitmap.getWidth()*0.4),
(int)(real_bitmap.getHeight()*0.4), true);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
resized.compress(Bitmap.CompressFormat.JPEG, 60, bytes);
bitmap = resized;
}
private void onCaptureImageResult() {
galleryAddPic();
setPic();
sudahUpload = true;
}
@SuppressWarnings("deprecation")
private void onSelectFromGalleryResult(Intent data) {
Bitmap bm=null;
if (data != null) {
try {
bm =
MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResol
ver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
}
ivImage.setImageBitmap(bm);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 60, bytes);
bitmap = bm;
sudahUpload = true;
}
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes,
Base64.DEFAULT);
return encodedImage;
}
Lampiran 3 – Source code program
private void uploadKegiatan(String mode){
class UploadKegiatan extends AsyncTask<Bitmap,Void,String> {
ProgressDialog loading;
RequestHandler rh = new RequestHandler();
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(WebsiteActivity.this, "Kirim Pesan",
"Mohon tunggu...",true,true);
loading.setCanceledOnTouchOutside(false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
String msg = "";
if ("ok".equals(s)) {
msg = "Pesan sukses terkirim";
} else {
msg = getString(R.string.api_error);
}
Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_LONG).show()
;
}
@Override
protected String doInBackground(Bitmap... params) {
HashMap<String,String> data = new HashMap<>();
if (params.length > 0) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
data.put(UPLOAD_KEY, uploadImage);
}
data.put("device_id", Utility.uniqDevice(WebsiteActivity.this));
data.put("nama_kegiatan", nama_kegiatan);
data.put("detail_kegiatan", detail_kegiatan);
data.put("kategori", kategori);
data.put("latitude", latitude);
Lampiran 3 – Source code program
data.put("longitude", longitude);
String uri = "http://"+ getString(R.string.api_url) +
"/android_api/save_kegiatan";
String result = rh.sendPostRequest(uri,data);
return result;
}
}
UploadKegiatan ui = new UploadKegiatan();
// ui.execute(mode);
if (mode.equals("gambar"))
ui.execute(bitmap);
else
ui.execute();
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_manage) {
Intent intent = new Intent(this, ProfileDataActivity.class);
startActivity(intent);
} else if (id == R.id.nav_website) {
Intent intent = new Intent(this, WebsiteActivity.class);
startActivity(intent);
} else if (id == R.id.nav_laporan_mingguan) {
Intent intent = new Intent(this, LaporanActivity.class);
startActivity(intent);
}
DrawerLayout drawer = (DrawerLayout)
findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@Override
public void locationFetched(Location mLocation, Location oldLocation,
String time, String locationProvider) {
latitude = String.valueOf(mLocation.getLatitude());
longitude = String.valueOf(mLocation.getLongitude());
}
}
Lampiran 4 – Layout sistem
Layout Sistem KKN-PPM
Web
Halaman awal website KKN-PPM
Peta Persebaran hasil kegiatan KKN
Lampiran 4 – Layout sistem
Detail hasil kegiatan KKN
List hasil kegiatan KKN
Lampiran 4 – Layout sistem
Menu Buku KKN
Halaman Login
Lampiran 4 – Layout sistem
Halaman awal Dashboard sistem
Halaman kelola akun
Lampiran 4 – Layout sistem
Halaman Upload buku
Aplikasi Android
Halaman awal dan menu alarm
Lampiran 4 – Layout sistem
Menu Registrasi
Menu Laporan
Lampiran 4 – Layout sistem
Lampiran 5 – Surat pendukung penelitian
a
Lampiran 5 – Surat pendukung penelitian
top related