klasifikasi warga yang layak mendapatkan bantuan sosial …
Post on 15-Oct-2021
1 Views
Preview:
TRANSCRIPT
KLASIFIKASI WARGA YANG LAYAK MENDAPATKAN
BANTUAN SOSIAL DENGAN MENGIMPLEMENTASIKAN
ALGORITMA K-NEAREST NEIGHBOR
(Studi Kasus: RW 13 Kelurahan Palmerah Jakarta Barat)
Skripsi
Oleh:
DESY RAHMAWATI
NIM. 11140910000118
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
2020 M / 1441 H
KLASIFIKASI WARGA YANG LAYAK MENDAPATKAN
BANTUAN SOSIAL DENGAN MENGIMPLEMENTASIKAN
ALGORITMA K-NEAREST NEIGHBOR
(Studi Kasus: RW 13 Kelurahan Palmerah Jakarta Barat)
Skripsi
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana
Oleh:
DESY RAHMAWATI
NIM. 11140910000118
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
2020 M / 1441 H
i
LEMBAR PENGESAHAN PEMBIMBING
KLASIFIKASI WARGA YANG LAYAK MENDAPATKAN BANTUAN
SOSIAL DENGAN MENGIMPLEMENTASIKAN ALGORITMA K-
NEAREST NEIGHBOR
(STUDI KASUS: RW 13 KELURAHAN PALMERAH JAKARTA BARAT)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Oleh:
Desy Rahmawati
11140910000118
Menyetujui,
Pembimbing I
Victor Amrizal, M.Kom
NIP. 19740624 200710 1 001
Pembimbing II
Siti Ummi Masruroh, M.Sc
NIP. 19820823 201101 2 013
Mengetahui,
Ketua Program Studi Teknik Informatika
Dr. Imam Marzuki Shofi,M.T
NIP. 19720205 200801 1 010
ii
PENGESAHAN UJIAN
iii
PERNYATAAN ORISINALITAS
iv
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Puji dan syukur penulis panjatkan kepada Allah SWT yang telah
melimpahkan rahmat serta karunia-Nya sehingga penulis dapat menyelesaikan
skripsi ini dengan baik. Shalawat serta salam tak lupa penulis sanjungkan kepada
Nabi Muhammad SAW.
Skripsi ini berjudul “Klasifikasi Warga Yang Layak Mendapatkan
Bantuan Sosial Dengan Mengimplementasikan Algoritma K-Nearest
Neighbor”. Penyusun skripsi ini bertujuan untuk memenuhi salah satu syarat dalam
menyelesaikan Pendidikan S1 Program Studi Teknik Informatika di Universitas
Islam Negeri Syarif Hidayatullah Jakarta.
Pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-
besarnya kepada pihak-pihak yang telah membantu dalam menyelesaikan skripsi
ini, yaitu:
1. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud., selaku Dekan Fakultas Sains
dan Teknologi.
2. Bapak Dr. Imam Marzuki Shofi, M.T., selaku ketua Program Studi Teknik
Informatika, serta Bapak Andrew Fiade, M.Kom, selaku sekretaris Program
Studi Teknik Informatika.
3. Bapak Victor Amrizal, M.Kom., selaku Dosen Pembimbing I dan Ibu Siti
Ummi Masruroh, M.Sc., selaku Dosen Pembimbing II yang telah memberikan
bimbingan, motivasi, dan arahan kepada penulis sehingga skripsi ini bisa selesai
dengan baik.
4. Seluruh Dosen, Staf Karyawan Fakultas Sains dan Teknologi, khususnya
Program Studi Teknik Informatika yang telah memberikan bantuan dan
kerjasama dari awal perkuliahan.
5. Kepada Bapak Muhamad Zen, S.E selaku Ketua RW.13 yang telah memberikan
waktu dan kesempatannya serta mengizinkan penulis untuk
v
vi
ABSTRAKSI
Desy Rahmawati – Teknik Informatika, Klasifikasi Warga Yang Layak
Mendapatkan Bantuan Sosial Dengan Mengimplementasikan Algoritma K-Nearest
Neighbor. Dibimbing oleh Victor Amrizal, M.Kom dan Siti Ummi Masruroh,
M.Sc
Secara Nasional, Persentase penduduk miskin DKI Jakarta pada Maret 2019 adalah
3,47 persen atau sejumlah 365,55 ribu orang. Persoalan kemiskinan bukan hanya
sekedar jumlah dan persentase penduduk miskin, selain harus mampu memperkecil
jumlah penduduk miskin, kebijakan penanggulangan kemiskinan juga sekaligus
harus dapat mengurangi tingkat kedalaman dan keparahan kemiskinan. RW 13
Jakarta Barat merupakan RW yang sudah menerapkan sistem penerimaan Bantuan
Sosial dengan mempertimbangkan kondisi ekonomi warga atau kriteria yang telah
ditetapkan. seleksi penerimaan bantuan sosial merupakan tipe masalah semi
terstruktur yaitu agenda yang diadakan pada waktu tertentu. Di dalam pemilihan
bantuan sosial pada RW 13 Jakarta Barat masih menggunakan sistem manual,
dimana dalam menentukan calon penerima bantuan sosial, Staff RW 13 harus
mengumpulan berkas data seleksi calon penerima bantuan sosial meliputi data
warga yang berasal dari keluarga sederhana sampai kurang mampu. sehingga
membutuhkan waktu yang relatif lama, serta ketelitian yang tinggi dalam
mengambil keputusan. Metode K-Nearest Neighbor dipilih oleh penulis untuk
mempercepat dalam pemilihan calon penerima bantuan sosial. Membangun sistem
untuk memudahkan kinerja Staff RW13 serta mengimplementasikan metode KNN
kedalam aplikasi, dimana ada beberapa kriteria yang diolah sehingga diperoleh
suatu nilai dan nilai tersebut akan di bandingkan dengan data training, sehingga
menghasilkan klasifikasi data warga yang layak mendapatkan bantuan sosial dan
yang tidak mendapatkan bantuan sosial. Penelitian ini menghasilkan suatu aplikasi
klasifikasi penentuan warga yang layak mendapatkan bantuan sosial. Aplikasi ini
dapat membantu Staff RW 13 untuk mempercepat kinerja dalam penentuan
klasifikasi bantuan sosial, sehingga dapat menghindari kesalahan yang terjadi serta
hasil yang lebih akurat.
Kata kunci : Klasifikasi, K-Nearest Neighbor, Bantuan Sosial.
Daftar Pustaka : 12 (2017-2020)
Jumlah Halaman : VI BAB + xii Halaman + 109 Halaman + 34 Gambar + 18
Tabel
vii
ABSTRACT
Desy Rahmawati – Teknik Informatika, Klasifikasi Warga Yang Layak
Mendapatkan Bantuan Sosial Dengan Mengimplementasikan Algoritma K-Nearest
Neighbor. Dibimbing oleh Victor Amrizal, M.Kom dan Siti Ummi Masruroh,
M.Sc
Nationally, the percentage of poor population of DKI Jakarta in March 2019 was
3.47 percent or 365.55 thousand people. The problem of poverty is not just the
number and percentage of poor people, in addition to being able to reduce the
number of poor people, poverty alleviation policies must also be able to reduce the
depth and severity of poverty. RW 13 West Jakarta is a RW that has implemented
a Social Assistance acceptance system by considering the economic conditions of
the residents or the criteria that have been set. social assistance acceptance selection
is a type of semi-structured problem that is the agenda held at a certain time. In the
selection of social assistance in RW 13, West Jakarta, it still uses a manual system,
where in determining the prospective recipients of social assistance, Staff RW 13
must collect data files for selection of prospective social assistance recipients
including data from residents from simple to disadvantaged families. so it requires
a relatively long time, and high accuracy in making decisions. The K-Nearest
Neighbor method was chosen by the author to speed up the selection of potential
recipients of social assistance. Build a system to facilitate the performance of RW13
Staff and implement the KNN method into the application, where there are several
criteria that are processed in order to obtain a value and these values will be
compared with training data, so as to produce a data classification of citizens who
are eligible for social assistance and who do not get social assistance . This research
resulted in an application classification of determining citizens who deserve social
assistance. This application can help Staff RW 13 to accelerate performance in
determining the classification of social assistance, so as to avoid mistakes that occur
as well as more accurate results.
Keywords : Classification, K-Nearest Neighbor, Social Assistance.
Bibliography : 12 (2017-2020)
Number of Pages : VI BAB + xii Pages + 109 Pages + 34 Pictures + 18 Tables
viii
DAFTAR ISI
LEMBAR PENGESAHAN PEMBIMBING.................................................................... i
PENGESAHAN UJIAN ................................................................................................. ii
PERNYATAAN ORISINALITAS ................................................................................ iii
KATA PENGANTAR................................................................................................... iv
ABSTRAKSI ................................................................................................................ vi
DAFTAR ISI ............................................................................................................. viii
DAFTAR TABEL ........................................................................................................ xii
DAFTAR GAMBAR .................................................................................................. xiii
BAB I PENDAHULUAN ...............................................................................................1
1.1. Latar Belakang.................................................................................................1
1.2. Tujuan Penelitian .............................................................................................4
1.3. Manfaat Penelitian ...........................................................................................4
1.4. Rumusan Masalah ............................................................................................5
1.5. Batasan Masalah ..............................................................................................5
1.6. Metodologi Penelitian ......................................................................................5
1.7. Sistematika Penulisan ......................................................................................6
BAB II LANDASAN TEORI ..........................................................................................8
2.1 Bantuan Sosial .................................................................................................8
2.2 Data Mining.....................................................................................................9
2.2.1 Pekerjaan Dalam Data Mining ................................................................ 11
2.3 Klasifikasi ..................................................................................................... 13
2.4 Algoritma ...................................................................................................... 14
2.4.1 Dasar Penyusunan Algortima ................................................................. 15
2.4.2 Struktur Dasar Algoritma ....................................................................... 16
2.5 Algoritma K-Nearest Neighbor ...................................................................... 17
2.6 Metode Rapid Application Development ........................................................ 19
2.7 Unified Modeling Language (UML) .............................................................. 20
2.7.1 Flowchart ............................................................................................... 20
2.7.2 Use Case .............................................................................................. 232
2.7.3 Activity Diagram ................................................................................... 23
2.8 Bahasa Pemrograman PHP ............................................................................. 25
2.9 Basis Data...................................................................................................... 26
ix
2.9.1 Database Management System (DBMS) ................................................. 26
2.9.2 MySql .................................................................................................... 27
2.10 Perangkat Lunak Pendukung ........................................................................ 298
2.10.1 Xampp ................................................................................................. 298
2.10.2 Ionic ...................................................................................................... 29
2.10.3 Javascript ............................................................................................... 30
2.10.4 CSS (Cascanding Style Sheet) ................................................................ 30
2.10.5 Visual Studio Code ................................................................................ 31
2.11 Studi Pustaka ................................................................................................. 32
2.12 Observasi ..................................................................................................... 321
2.13 Wawancara .................................................................................................... 32
2.14 Metode Pengujian Sistem ............................................................................... 32
2.14.1 Pengujian Black Box .............................................................................. 32
BAB III METODOLOGI PENELITIAN ....................................................................... 34
3.1 Metode Pengumpulan Data ............................................................................ 34
3.1.1 Observasi ............................................................................................... 34
3.1.2 Wawancara ............................................................................................ 34
3.1.3 Studi Pustaka ......................................................................................... 34
3.1.4 Studi Literatur Sejenis ............................................................................ 34
3.2 Metode Pengembangan Sistem ....................................................................... 39
3.2.1 Fase Perencanaan Sistem ........................................................................ 40
3.2.2 Fase Perancangan Design ....................................................................... 40
3.2.3 Fase Implementasi.................................................................................. 41
3.3 Alasan Menggunakan Rapid Application Development (RAD) ...................... 41
3.4 Kerangka Penelitian ....................................................................................... 41
BAB IV ANALISIS DAN PERANCANGAN SISTEM ................................................ 43
4.1 Fase Perencanaan ........................................................................................... 43
4.1.1 Analisa Sistem ....................................................................................... 43
4.1.2 Tujuan Informasi .................................................................................... 40
4.1.3 Analisa Kebutuhan ................................................................................. 41
4.2 Fase Perancangan Design ............................................................................... 41
4.2.1 Perancangan Prosedur ............................................................................ 41
4.2.2 Perancangan Antarmuka Pengguna ......................................................... 51
BAB V HASIL DAN PEMBAHASAN ......................................................................... 59
x
5.1 Fase Implementasi ......................................................................................... 59
5.1.1 Implementasi Antarmuka (Interface) ...................................................... 59
5.1.2 Tampilan Antarmuka Sistem .................................................................. 60
5.1.3 Implementasi Algoritma KNN ................................................................ 67
5.1.4 Confussion Matrix .................................................................................. 72
5.2 Pengujian Sistem ........................................................................................... 73
BAB VI PENUTUP .................................................................................................... 825
6.1 Kesimpulan.................................................................................................. 825
6.2 Saran ........................................................................................................... 825
DAFTAR PUSTAKA ................................................................................................. 827
LAMPIRAN I HASIL WAWANCARA ...................................................................... 828
LAMPIRAN II IMPLEMENTASI CODE ..................................................................... 80
xi
DAFTAR TABEL
Tabel 2.1 Daftar Tabel Flowchart..................................................................... 21
Tabel 2.2 Daftar Tabel Diagram Use Case ....................................................... 23
Tabel 2.3 Simbol Diagram Activity.................................................................. 24
Tabel 3.1 Perbandingan Studi Literatur Sejenis .. Error! Bookmark not defined.
Tabel 4.1 Kebutuhan Perangkat keras dan Perangkat lunak .............................. 41
Tabel 5.1 Impelementasi Antarmuka Sistem .................................................... 59
Tabel 5.2 Pembobotan Atribut ....................................................................... 698
Tabel 5.3 Pekerjaan ...................................................................................... 718
Tabel 5.4 Tanggungan .................................................................................... 72
Tabel 5.5 Penghasilan ................................................................................... 729
Tabel 5.6 Pekerjaan (a) .................................................................................. 719
Tabel 5.7 Tanggungan (c) .............................................................................. 729
Tabel 5.8 Penghasilan Orangtua (e)................................................................ 729
Tabel 5.9 Sample Data Training ....................................................................... 70
Tabel 5.10 Sample Data Testing ........................................................................ 70
Tabel 5.11 Hasil Klasifikasi Data Testing .......................................................... 72
Tabel 5.12 Pengujian Confussion Matrix............................................................ 73
Tabel 5.13 Sample Data Testing ........................................................................ 74
xii
DAFTAR GAMBAR
Gambar 2.1 Langkah data mining dalam proses pencarian pengetahuan ........... 11
Gambar 2.2 Langkah-langkah Struktur Sekuensial ........................................... 16
Gambar 2.3 Alur Struktur Seleksi .................................................................... 17
Gambar 2.4 Langkah Struktur Pengulangan ..................................................... 17
Gambar 3.1 Siklus Pengembangan Sistem Model RAD ................................... 40
Gambar 3.2 Alur Kerangka Penelitian .............................................................. 42
Gambar 4.1 Proses Mengambilan Keputusan Untuk Warga Yang Menerima
Bantuan 40
Gambar 4.2 Alur Aplikasi KNN ....................................................................... 42
Gambar 4.3 Use Case Diagram Steganografi Audio ......................................... 43
Gambar 4.4 Activity Diagram Menu Login ...................................................... 46
Gambar 4.5 Activity Diagram Bobot ................................................................ 46
Gambar 4.6 Activity Diagram Atribut .............................................................. 47
Gambar 4.7 Activity Diagram Data Training .................................................... 48
Gambar 4.8 Activity Diagram Data Testing ...................................................... 49
Gambar 4.9 Activity Diagram Report ............................................................... 50
Gambar 4.10 Activity Diagram User ............................................................... 51
Gambar 4.11 Rancangan Antarmuka Menu Login .......................................... 52
Gambar 4.12 Rancangan Antarmuka Menu Bobot .......................................... 53
Gambar 4.13 Rancangan Antarmuka atribut ................................................... 54
Gambar 4.14 Rancangan Antarmuka Data Training ........................................ 55
Gambar 4.15 Rancangan Antarmuka Data Testing ......................................... 55
Gambar 4.1 Rancangan Antarmuka Data Testing ............................................. 56
Gambar 4.2 Rancangan Antarmuka Report ...................................................... 57
Gambar 4.1 Rancangan Antarmuka Report Warga Mampu .............................. 57
Gambar 4.1 Rancangan Antarmuka Report Warga Tidak Mampu .................... 58
Gambar 4.2 Rancangan Antarmuka User.......................................................... 58
Gambar 5.1 Tampilan Menu Login .................................................................. 61
Gambar 5.2 Tampilan Menu Bobot .................................................................. 61
Gambar 5.3 Tampilan Menu Atribut ................................................................ 63
xiii
Gambar 5.4 Tampilan Menu Data Training ...................................................... 64
Gambar 5.5 Tampilan Menu Data Testing ........................................................ 65
Gambar 5.6 Tampilan Menu Data Testing ........................................................ 65
Gambar 5.7 Tampilan Menu Report ................................................................. 66
Gambar 5.8 Tampilan Menu User .................................................................... 67
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Secara Nasional, tingkat kemiskinan DKI Jakarta adalah yang
terendah diantara 34 provinsi di Indonesia. Persentase penduduk miskin
DKI Jakarta pada Maret 2019 adalah 3,47 persen atau sejumlah 365,55 ribu
orang. Dibandingkan dengan September 2018 (3,55% atau 372,26 ribu
orang), jumlah penduduk miskin berkurang 6,71 ribu orang atau turun 0,08
poin. Dan dibandingkan dengan periode Maret 2018 (3,57% atau 373,12
ribu orang), persentase penduduk miskin turun 0,10 poin atau berkurang
7,57 ribu orang.
Gambar 1.1 Tabel 1 Garis Kemiskinan, Jumlah dan Persentase Penduduk Miskin di DKI
Jakarta Maret 2018 – September 2018 – Maret 2019
(Sumber: https://jakarta.bps.go.id/pressrelease/2019/07/15/358/persentase-penduduk-miskin-dki-jakarta-maret-2019-sebesar-3-47-persen.html)
Gambar 1.2 Perkembangan Persentase Penduduk Miskin di DKI Jakarta, Maret 2014 – Maret 2019
(Sumber: https://jakarta.bps.go.id/pressrelease/2019/07/15/358/persentase-penduduk-
miskin-dki-jakarta-maret-2019-sebesar-3-47-persen.html)
2
Gambar 1.3 Profil Kemiskinan Di Indonesia
(Sumber: https://jakarta.bps.go.id/pressrelease/2019/07/15/358/persentase-penduduk-miskin-
dki-jakarta-maret-2019-sebesar-3-47-persen.html)
Persoalan kemiskinan bukan hanya sekedar jumlah dan persentase
penduduk miskin, dimensi lain yang perlu diperhatikan adalah tingkat
kedalaman dan keparahan kemiskinan. Selain harus mampu memperkecil
jumlah penduduk miskin, kebijakan penanggulangan kemiskinan juga
sekaligus harus dapat mengurangi tingkat kedalaman dan keparahan
kemiskinan.
Berdasarkan hasil observasi oleh penulis di Wilayah RW.13
Kelurahan Palmerah Kecamatan Palmerah Jakarta Barat yaitu, tingkat
kemiskinan di wilayah rw.13 masih sangat tinggi. Serta di wilayah rw.13
3
sudah mulai menerapkan sistem bantuan sosial kepada warga miskin atau
tidak mampu untuk mengurangi jumlah tingkat kemiskinan yakni dengan
mempertimbangkan kondisi ekonomi warga atau memiliki beberapa
kategori yaitu berdasarkan Pekerjaan, Tanggungan, dan Penghasilan.
Namun ternyata pemilihan Bantuan Sosial di Wilayah RW.13
Kelurahan Palmerah Kecamatan Palmerah Jakarta Barat masih
menggunakan sistem manual, dimana dalam menentukan calon penerima
Bantuan Sosial, para Staff RW.13 harus mengumpulkan berkas data seleksi
calon penerima Bantuan Sosial warga yang berada di Wilayah RW.13
berasal dari keluarga sederhana sampai kurang mampu. Sehingga
membutuhkan waktu yang relatif lama, serta ketelitian yang tinggi dalam
mengambil keputusan.
Metode K-Nearest Neighbor dipilih oleh penulis untuk
mempercepat dalam pemilihan calon penerima bantuan sosial. Membangun
sistem untuk memudahkan kinerja Staff RW13 serta mengimplementasikan
metode KNN kedalam aplikasi, dimana ada beberapa kriteria yang diolah
sehingga diperoleh suatu nilai dan nilai tersebut akan di bandingkan dengan
data training, sehingga menghasilkan klasifikasi data warga yang layak
mendapatkan bantuan sosial dan yang tidak mendapatkan bantuan sosial.
Penelitian ini menghasilkan suatu aplikasi klasifikasi penentuan
warga yang layak mendapatkan bantuan sosial. Aplikasi ini dapat
membantu Staff RW 13 untuk mempercepat kinerja dalam penentuan
klasifikasi bantuan sosial, sehingga dapat menghindari kesalahan yang
terjadi serta hasil yang lebih akurat. Sehingga penulis menggunakan judul
“KLASIFIKASI WARGA YANG LAYAK MENDAPATKAN
BANTUAN SOSIAL DENGAN MENGIMPLEMENTASIKAN
ALGORITMA K-NEAREST NEIGHBOR”.
4
1.2. Tujuan Penelitian
Berdasarkan rumusan masalah di atas maka tujuan dari dibangunnya
sistem ini adalah Mengimplementasikan penggunaan Algoritma K-Nearest
Neighbor dalam mengklasifikasi warga yang layak atau tidak layak
mendapatkan bantuan sosial.
1.3. Manfaat Penelitian
Manfaat yang didapatkan dari penelitian ini adalah:
1. Bagi Penulis
a. Mengimplementasikan ilmu-ilmu yang didapatkan pada waktu
perkuliahan.
b. Membandingkan teori yang didapat saat perkuliahan dengan
masalah yang sebenarnya.
2. Bagi Universitas
a. Mengetahui kemampuan mahasiswa menguasai materi yang
diperoleh selama perkuliahan
b. Mengetahui kemampuan mahasiswa dalam mengimplementasikan
ilmunya dan sebagai bahan evaluasi selanjutnya.
3. Bagi Pembaca
a. Menambah wawasan pembaca mengenai bagaimana kinerja
algoritma K-Nearest Neighbor dalam melakukan klasifikasi data,
sehingga dapat memilih algoritma dengan kinerja terbaik
berdasarkan hasil analisa data.
b. Membantu pembaca untuk memahami bagaimana penggunaan
Algoritma K-Nearest Neighbor dalam aplikasi klasifikasi warga
yang layak mendapatkan bantuan sosial.
4. Bagi User
a. Membantu User (Staff Rw 13) dalam menginput data warga yang
berada di Wilayah Rw.13 serta dengan mudah menambah wawasan
pembaca mengenai bagaimana kinerja algoritma K-Nearest
5
Neighbor dalam melakukan klasifikasi data, sehingga dapat memilih
algoritma dengan kinerja terbaik berdasarkan hasil analisa data.
b. Membantu pembaca untuk memahami bagaimana penggunaan
Algoritma K-Nearest Neighbor dalam aplikasi klasifikasi warga
yang layak mendapatkan bantuan sosial.
1.4. Rumusan Masalah
Berdasarkan latar belakang yang sudah dikemukakan, maka
perumusan masalah yang akan dibahas dalam penelitian ini adalah
bagaimana mengimplementasikan Algoritma K-Nearest Neighbor kedalam
aplikasi untuk melakukan klasifikasi data warga yang layak dan tidak layak
mendapatkan bantuan sosial.
1.5. Batasan Masalah
Batasan masalah pada skripsi ini yaitu sebagai berikut:
1. Menggunakan Algoritma K-Nearest Neighbor untuk melakukan
klasifikasi warga di RW 13 Kelurahan Palmerah Kecamatan Palmerah
Jakarta Barat.
2. Menggunakan MySQL untuk penyimpanan data.
3. Cara perhitungan Data di Aplikasi K- Nearest Neighbor dilakukan per
satu orang untuk menentukan warga yang layak dan tidak layak
mendapatkan bantuan sosial.
4. Menggunakan RAD sebagai metode penelitian.
1.6. Metodologi Penelitian
Penulis menggunakan beberapa metode penelitian pada saat
pengumpulan data dan informasi yang dibutuhkan sebagai bahan penyusun
penelitian. Metode yang digunakan diantaranya:
1.6.1 Studi Pustaka
Yaitu pengumpulan data melalui studi literature seperti buku, jurnal,
skripsi, artikel, e-book dan situs internet yang berkaitan dengan pembahasan
skripsi.
6
1.6.2 Observasi
Yaitu metode pengumpulan data dengan melakukan observasi di
wilayah RW.13 Kelurahan Palmerah Kecamatan Palmerah Jakarta Barat.
1.6.3 Wawancara
Wawancara adalah teknik pengumpulan data yang dilakukan
melalui tatap muka dan Tanya jawab langsung antara penulis dengan Pak
RW.13 Kelurahan Palmerah Kecamatan Palmerah Jakarta Barat.
1.7. Sistematika Penulisan
Dalam penulisan skripsi ini, penulis menjabarkan menjadi enam bab
dengan beberapa sub pokok pembahasan. Adapun sistematika dari
penelitian ini adalah sebagai berikut:
BAB I PENDAHULUAN
Dalam bab ini akan diuraikan latar belakang, rumusan
masalah, tujuan penelitian, batasan masalah, manfaat
penelitian, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Dalam bab ini penulis mengemukakan seputar teori-teori
tentang konsep aplikasi, metode pengembangan sistem,
definisi tools yang akan digunakan dalam pengembangan
aplikasi.
BAB III METODOLOGI PENELITIAN
Dalam bab ini akan menjelaskan metode yang digunakan
penelitian seperti metode pengumpulan data maupun metode
pengembangan sistem.
BAB IV ANALISIS DAN PERANCANGAN SISTEM
Dalam bab ini akan membahas perencanaan sistem dan
perancangan menggunakan UML (Unified Modelling
Language) yang berkaitan proses klasifikasi warga.
BAB V HASIL DAN PEMBAHASAN
7
Dalam bab ini akan dibahas hasil tampilan aplikasi
klasifikasi warga yang layak atau tidak layak mendapatkan
bantuan sosial.
BAB VI PENUTUP
Pada bab ini akan diuraikan kesimpulan dari pembahasan
penulisan secara keseluruhan dan saran untuk
pengembangan perangkat lunak lebih jauh.
8
BAB II
LANDASAN TEORI
2.1 Bantuan Sosial
Menurut Kementerian Sosial (2011:15) bantuan sosial
adalah bantuan yang sifatnya sementara yang diberikan kepada
masyarakat miskin, dengan maksud agar mereka dapat
meningkatkan kehidupannya secara wajar. Program bantuan sosial
merupakan salah satu komponen program jaminan sosial yang
menjadi bentuk realisasi tanggung jawab pemerintah atau
pemerintah daerah yang sangat peduli terhadap kondisi masyarakat
yang miskin dan terlantar di tingkat bawah.
Program ini merupakan implementasi Undang-Undang
Dasar 1945 Pasal 34 ayat 1 (2010:79) yang menyatakan bahwa fakir
miskin dan anak-anak terlantar dipelihara oleh negara. Selain itu
pada Undang-Undang Dasar 1945 Pasal 34 ayat 2 (2010:79)
menyebutkan bahwa negara mengembangkan sistem jaminan sosial
bagi seluruh rakyat dan memberdayakan masyarakat yang lemah
dan tidak mampu sesuai dengan martabat kemanusiaan.
Dengan perkembangan sosial ekonomi suatu negara,
program bantuan sosial yang semula hanya berbentuk hibah saja
berubah orientasinya menjadi program yang lebih memberikan
manfaat berkelanjutan melalui bantuan pemberdayaan atau stimulan
agar sasaran program bantuan bisa menjadi mandiri kecuali bagi
sasaran program yang memang sudah tidak potensial sama sekali
seperti lanjut usia yang jompo, miskin terlantar dan lain-lain.
Salah satu program pemerintah dalam mengentaskan
kemiskinan yaitu dengan pemberian bantuan sosial kepada kepala
keluarga miskin dengan membentuk kelompok kerja yang
bergabung ke dalam Kelompok Usaha Bersama (KUBE),
9
diharapkan dengan model bantuan tersebut dapat terentaskan
kemiskinan. Kelompok Usaha Bersama (KUBE) merupakan salah
satu media pemberdayaan yang diciptakan untuk membangun
kemampuan warga masyarakat atau keluarga miskin dalam
memecahkan masalah, memenuhi kebutuhan dan mengembangkan
potensi guna meningkatkan kesejahteraan sosialnya (Kementrian
Sosial, 2011:9).
Berdasarkan uraian tersebut, maka bantuan sosial yang
digulirkan di Desa Totokaton Kecamatan Punggur Kabupaten
Lampung Tengah yaitu 28 ekor anak sapi, yang dibagikan kepada
tujuh Kelompok Usaha Bersama (Hasil wawancara pada tanggal 20
Desember 2011). Sehingga setiap kelompok yang terdiri dari 10
orang anggota mendapatkan bagian empat ekor sapi yang akhirnya
dikembangkan untuk meningkatkan pendapatan.
2.2 Data Mining
Data mining sebagai Interdisciplinary Subject, dapat
didefinisikan dengan berbagai cara. Untuk merujuk pada
penambangan emas dari batuan atau pasir, kita mengatakan
penambangan emas bukan penambangan batu atau pasir. Secara
analog, data mining seharusnya lebih tepat disebut "Knowledge
Mining From Data," yang sayangnya terlalu panjang. Namun, dalam
istilah yang lebih pendek, Knowlede Mining terkesan mencerminkan
penekanan pada pertambangan dari sejumlah besar data. Meskipun
demikian, mining adalah istilah yang jelas yang mencirikan proses
yang menemukan seperangkat nuggets berharga dari banyak bahan
mentah. Dengan demikian, keliru yang membawa "data" dan
"mining" ini menjadi pilihan populer.
Selain itu, banyak istilah lain yang memiliki arti yang mirip
dengan data mining misalnya, menggali pengetahuan dari data,
10
ekstraksi pengetahuan, analisis data/pola, arkeologi data, dan
pengerukan data. Banyak orang memperlakukan data mining
sebagai sinonim untuk istilah populer lainnya, penemuan
pengetahuan dari data, atau KDD, sementara yang lain melihat data
mining hanya sebagai langkah penting dalam proses penemuan
pengetahuan. Proses penemuan pengetahuan ditunjukkan pada
Gambar 2.1 sebagai urutan iteratif dari langkah-langkah berikut:
1. Data Cleaning
Untuk membuang data noise dan data yang tidak konsisten.
2. Data Integration
Data yang berasal dari berbagai sumber dikombinasikan atau
diintegrasikan
3. Data Selection
Pemilihan data yang berkaitan dengan tujuan untuk analisis diambil
dari database
4. Data Transformation
Data ditransformasi dan digabung menjadi bentuk yang sesuai untuk
proses mining dengan melakukan operasi ringkasan atau agregasi.
5. Data Mining
Proses penting dimana metode intelligent digunakan untuk menggali
pola data
6. Pattern Evaluation
Mengidentifikasi pola yang benar-benar menarik yang memberikan
pengetahuan atau informasi berdasarkan perhitungan yang menarik.
7. Knowledge Presentation
Teknik visualisasi dan representasi dari pengetahuan digunakan untuk
mempresentasikan informasi yang didapatkan dari hasil pengolahan
data kepada user.
11
Gambar 2.1 Langkah data mining dalam proses pencarian pengetahuan
2.2.1 Pekerjaan Dalam Data Mining
Data mining dapat digunakan untuk melakukan beberapa
pekerjaan. Eko Prasetyo menjelaskan bahwa terdapat empat
kelompok pekerjaan yang berkaitan dengan data mining, yaitu
model prediksi (prediction modelling), analisis kelompok (cluster
analysis), analisis asosiasi (association analysis), dan detekni
anomali (anomali detection). Berikut penjelasan dari empat
kelompok yang telah disebutkan (Prasetyo E. 2012):
1. Model Prediksi berkaitan dengan pembuatan sebuah model yang
dapat melakukan pemetaan dari setiap himpunan variabel ke
setiap targetnya. Kemudian model tersebut digunakan untuk
memberikan nilai target pada himpunan baru yang didapat.
Terdapat dua jenis model prediksi yaitu, klasifikasi dan regresi.
Klasifikasi digunakan untuk variabel target diskret, misalnya
ingin mendeteksi jenis penyakit pasien berdasarkan sejumlah
nilai parameter penyakit yang diderita. Kasus ini merupakan
termasuk dalam jenis klasifikasi karena target yang diharapkan
adalah jenis penyakit pasien yang merupakan variabel target
diskret. Hanya beberapa jenis kemungkinan nilai target yang
didapatkan, tidak ada nilai deret waktu (time series) yang harus
12
didapatkan untuk mendapat target nilai akhir. Sedangkan regresi
untuk variabel target kontinu. Misalnya ingin prediksi jumlah
penjualan yang didapatkan pada tiga bulan ke depan termasuk
regresi karena untuk mendapatkan nilai penjualan bulan ketiga,
nilai penjualan bulan kedua harus didapatkan dan untuk
mendpatkan nilai penjualan bulan kedua, nilai penjualan bulan
pertama harus didapatkan. Terdapat nilai deret waktu yang harus
dihitung untuk sampai pada target akhir yang diinginkan, ada
nilai kontinu yang harus dihitung untuk mendapatkan nilai target
akhir yang diinginkan. Terdapat pendapat lain mengenai
perbedaan klasifikasi dan regresi, yaitu klasifikasi merupakan
melakukan prediksi suatu kasusuntuk mengetahui terdapat pada
kategori atau class apakah kasus tersebut. Sedangkan regresi
merupakan prediksi untuk mengetahui nilai yang dimiliki suatu
variabel, apabila variabel memiliki deret waktu, maka disebut
time serires prediction (Imandoust & Bolandraftar, 2013).
2. Analisis Kelompok
Analisis kelompok (Cluster Analysis) melakukan
pengelompokan data-data ke dalam sejumlah kelompok
berdasarkan kesamaan karakteristik masing-masing data pada
kelompokkelompok yang ada. Misalnya, bagaimana cara untuk
mengetahui pola pembelian barang oleh para konsumen pada
waktu-waktu tertentu. Dengan mengetaui pola kelompok
pembelian tersebut, perusahaan/pengecer dapat menentukan
jadwal promosi yang dapat diberikan sehingga omzet penjualan
dapat ditingkatkan.
3. Analisis Asosiasi
Analisis Asosiasi (Association Analysis) digunakan untuk
menemukan pola yang menggambarkan kekuatan hubungan fitur
dalam data. Pola yang ditemukan biasanya mempresentasikan
bentuk aturan implikasi atau subset fitur. Contoh, pembeli adalah
13
ibu rumah tangga yang akan membeli barang di supermarket.
Jika ibu tersebut membeli beras, besar kemungkinan bahwa ibu
tersebut akan membeli baranglain, seperti minyak, telur, dan
tidak mungkin atau jarang membeli barang lain seperti topi atau
buku.
4. Deteksi Anomali
Deteksi anomali (Anomali Detection) berkaitan dengan
pengamatan sebuah data dari sejumlah data yang secara
signifikan mempunyai karakteristik yang berbeda dari sisa data
yang lain. Data-data yang karakteristiknya menyimpang atau
berbeda dari data yang lain disebut outlier. Algoritma deteksi
anomal yang baik harus mempunyai laju deteksi yang tinggi dan
laju error yang rendah. Contoh, perilaku kondisi cuasa yang
mengalami anomali dapat dideteksi dengan algoritma ini.
2.3 Klasifikasi
Masalah klasifikasi bertujuan untuk mengidentifikasi
karakteristik yang menunjukkan kelompok tempat masing-masing
kasus berada. Pola ini dapat digunakan baik untuk memahami data
yang sudah ada maupun untuk memprediksi kasus baru. Data mining
menciptakan model klasifikasi dengan memeriksa data yang sudah
diklasifikasikan (kasus) dan secara induktif menemukan pola
prediktif.
Kasus-kasus yang ada dapat berasal dari historical database,
seperti orang-orang yang telah menjalani perawatan medis tertentu
atau pindah ke layanan jarak jauh yang baru. Hasil tersebut dapat
berasal dari percobaan dengan sampel seluruh database diuji di
dunia nyata dan hasilnya digunakan untuk membuat klasifikasi
(Imandoust & Bolandraftar, 2013).
Dalam klasifikasi, terdapat variabel kategorisasi target,
seperti kelompok pendapatan. Misalnya kelompok pendapatan dapat
14
dipartisi menjadi tiga kelas atau kategori: pendapatan tinggi,
pendapatan menengah, dan pendapatan rendah. Model data mining
memeriksa sejumlah besar catatan (records), setiap record berisi
informasi tentang variabel target serta seperangkat variabel input
atau prediktor. Misalkan peneliti ingin dapat mengklasifikasikan
jenis pendapatan seseorang yang belum tercatat di database
berdasarkan karakteristik yang berhubungan seperti umur, jenis
kelamin, dan pekerjaan. Pekerjaan ini merupakan pekerjaan
klasifikasi, sangat sesuai dengan metode dan teknik data mining
(Larose, 2005).
Pada proses klasifikasi, data latih yang digunakan sudah
memiliki class label sebelumnya, sehingga proses ini juga diketahui
sebagai supervised learning, yaitu untuk mengatahui class label dari
data yang ingin diprediksi. Berbeda dengan unsupervised learning
(atau clustering), class label dari data latih tidak diketahui dan
jumlah kelompok yang akan dipelajari belum diketahui sebelumnya
(Han, Kamber, & Pei, General Approach to Classification, 2012)
2.4 Algoritma
Menurut (Rinaldi Munir, 2011) algoritma merupakan
prosedur komputasi yang terdefinisi dengan baik, yang
menggunakan beberapa nilai sebagai masukan dan menghasilkan
beberapa nilai yang disebut keluaran.
Algoritma merupakan prosedur yang berisi langkah-langkah
penyelesaian suatu masalah. Algoritma merupaka suatu alur pikiran
dalam menyelesaikan pekerjaan, yang dituangkan dalam bentuk
tertulis yang dapat dimengerti oleh orang lain. Suatu pekerjaan dapat
diselesaikan dengan berbagai macam cara, akan tetepi harus
tersususn secara logis agar pekerjaan dapat diselesaikan dengan
benar (Sjukani, 2010).
15
Algoritma adalah jantung ilmu komputer atau informatika.
Banyak cabang dari ilmu komputer yang diacu dalam terminologi
algoritma, misalnya algoritma perutean (routing) pesan di dalam
jaringan komputer, algoritma brensenham untuk menggambar garis
lurus, algoritma KMP untuk mencari suatu pola di dalam teks, dan
sebagainya (Rinaldi Munir, 2011).
2.4.1 Dasar Penyusunan Algortima
Ada beberapa hal yang perlu diperhatikan dalam menyusun
suatu algoritma. Ada lima ciri penting yang harus dimiliki sebuah
algoritma, yaitu berupa Finiteness, Definiteness, masukan, keluaran,
dan efektivitas.
1. Finiteness. menyatakan bahwa suatu algoritma harus berakhir
untuk semua kondisi setelah memproses sejumlah langkah.
2. Definiteness. menyatakan bahwa setiap langkah harus
dinyatakan dengan jelas (tidak rancu atau mendua-arti).
3. Masukan. Setiap algoritma bisa tidak memiliki masukan atau
mempunyai satu atau beberapa masukan. Masukan merupakan
suatu besaran yang diberikan di awal sebelum algoritma
diproses.
4. Keluaran. Setiap algoritma memiliki keluaran, entah hanya
sebuah keluaran atau banyak keluaran. Keluaran merupakan
besaran yang mempunyai kaitan atau hubungan dengan
masukan.
5. Efektifitas. Setiap algoritma diharapkan bersifat efektif, dalam
arti semua operasi yang dilaksanakan oleh algoritma haruslah
sederhana dan dapat dikerjakan dalam waktu yang terbatas.
Secara prinsip, setiap intruksi dalam algoritma dapat dikerjakan
oleh orang dengan hanya menggunakan kertas dan pensil.
Sebuah algoritma dikatakan benar, untuk berbagai ragam
masukan, jika algoritma berakhir dengan keluaran yang benar. Pada
16
keadaan seperti ini, algoritma menyelesaikan masalah komputasi
yang diberikan.
2.4.2 Struktur Dasar Algoritma
Pada dasarnya terdapat tiga buah struktur dasar yang
menyusun suatu algoritma. Ketiga struktur dasar tersebut, yaitu
(Kadir, 2012):
1. Struktur Sekuensial
Pada struktur sekuensial, langkah-langkah yang dilakukan dalam
algoritma diproses secara berurutan (Kadir, 2012), sebagaimana
diperlihatkan pada gambar berikut ini:
Gambar 2.2 Langkah-langkah Struktur Sekuensial
2. Struktur Seleksi
Struktur seleksi menyatakan pemilihan langkah yang didasarkan
oleh suatu kondisi (pengambilan keputusan) (Kadir, 2012).
Gambar 2.2 memperlihatkan diagram alur struktur seleksi yang
melibatkan dua alternatif. Dalam hal ini, simbol belah ketupat
digunakan untuk mewakili langkah pengambilan keputusan.
17
Gambar 2.3 Alur Struktur Seleksi
3. Struktur Pengulangan
Pengulangan menyatakan suatu tindakan atau langkah yang
dijalankan beberapa kali. Struktur pengulangan menyatakan
perwujudan keadaan seperti itu (Kadir, 2012).
Gambar 2.4 Langkah Struktur Pengulangan
2.5 Algoritma K-Nearest Neighbor
k-NN adalah algoritma untuk mengklasifikasi objek baru
berdasarkan atribut dan training samples (data latih). Dimana hasil
dari sampel uji yang baru diklasifikasikan berdasarkan mayoritas
dari kategori pada k-NN. Algoritma k-NN menggunakan klasifikasi
18
ketetanggaan sebagai nilai prediksi dari sampel uji yang baru
(Krisandi, dkk. 2013). KNN termasuk algoritma supervised
learning, dimana hasil dari query instance yang baru,
diklasifikasikan berdasarkan mayoritas dari kategori pada KNN.
Kelas yang paling banyak muncul yang akan menjadi kelas hasil
klasifikasi. Data latih akan dibangun dengan memperhatikan
keseimbangan dokumen satu sama lain.
Contoh kasus, misal diinginkan untuk mencari solusi
terhadap masalah seorang pasien baru dengan menggunakan solusi
dari pasien lama. Dalam mencari solusi dari pasien baru tersebut
digunakan kedekatan dengan kasus pasien lama, solusi dari kasus
lama yang memiliki kedekatan dengan kasus baru.
Adapun rumus untuk melakukan perhitungan kedekatan
antara dua kasus adalah sebagai berikut:
Similarity (T, S) = ∑ 𝑓(𝑇𝑖 ,𝑆𝑖 ) ∗ 𝑊𝑖
𝑛𝑖=1
𝑊𝑖
Keterangan :
T : Kasus Baru
S : Kasus yang ada dalam penyimpanan
n : jumlah atribut dalam setiap kasus
i : atribut individu antara 1 s.d.n
f : fungsi similarityatribut I antara kasus T dan kasus S
w : bobot yang diberikan pada atribut ke-i
kedekatan biasanya berada pada nilai antara 0 s.d 1. Nilai 0 artinya
kedua kasus mutlak tidak mirip, sebaliknya untuk nilai 1 kasus mirip
dengan mutlak (Kusrini,2009).
Adapun algortima k-NN dapat dijelaskan (Kurniawan, 2012)
dengan keterangan berikut:
19
a. Hitung jarak antara data sampel (data uji) dengan data latih yang
telah dibangun. Salah satu persamaan dalam menghitung jarak
kedekatan dapat menggunakan persamaan Cosine Similirity.
b. Menentukan parameter nilai k = jumlah tetanggaan terdekat.
c. Mengurutkan jarak terkecil dari data sample
d. Pasangkan kategori sesuai dengan kesesuaian
e. Cari jumlah terbanyak dari tetanggaan terdekat. Kemudian
tetapkan kategori.
f. Jarak yang digunakan dalam penelitian ini adalah Cosine
Similarity.
2.6 Metode Rapid Application Development
McLeod dan Schell (2007) berpendapat bahwa RAD
merupakan metode yang memfokuskan pada kecepatan dalam
pengembangan sistem untuk memenuhi kebutuhan pengguna atau
pemilik sistem seperti prototipe namum mempunyai cakupan yang
lebih luas, nama RAD dikenalkan oleh James Martin pada tahun
1991, yang mengacu pada life cycle pengembangan sistem
(Mulyani, 2016: 31).
Fase – fase Rapid Application Devlopment (Musyawarman,
2011: 2):
1. Fase perencanaan Kebutuhan (Requirements Planning)
Menentukan tujuan dibentuknya aplikasi dan kebutuhannya.
Menurut Mcleod fan shell pada fase ini dijelaskan mengenai
cakupan sistem yang akan dikembangkan, definisi masalah yang
berhubungan dengan sistem, dan identifikasi tujuan yang
diharapkan nantinya.
2. Fase Proses Desain (Workshop Design)
Data yang mengalir dalam sistem dipresentasikan dalam suatu
diagram aliran data. Diagram tersebut terdiri dari diagram level
0 (diagram konteks), level 1 dan level 2. Perancangan antarmuka
20
sistem contohnya dilakukan sesuai dengan warna pada logo
perusahaan.
3. Fase Implementasi (Implementation System)
Dilakukannya pengujian terhadap sistem, mengubah atau
menginstak sistem tahap inin juga menjelaskan proses
penyelesaian sistem dan menyerahkan kepada pengguna.
2.7 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah bahasa
spesifikasi standar untuk mendokumentasikan, menspesifikasikan,
dan membangun sistem perangkat lunak. Unified Modeling
Language (UML) adalah himpunan struktur dan teknik untuk
pemodelan desain program berorientasi obyek (OOP) serta
aplikasinya. UML mulai diperkenalkan oleh Object Management
Group, sebuah organisasi yang telah mengembangkan model,
teknologi, dan standar OOP sejak tahun 1980-an. (David M.
Kroenke, 2005)
UML dikembangkan sebagai suatu alat untuk analisis dan
desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan
Ivar Jacobson. Namun demikian UML dapat digunakan untuk
memahami dan mendokumentasikan setiap sistem informasi.
Penggunaan UML dalam industri terus meningkat. Ini merupakan
standar terbuka yang menjadikannya sebagai bahasa pemodelan
yang umum dalam industri peranti lunak dan pengembangan sistem.
2.7.1 Flowchart
Menurut Al-Bahra (2010), dalam buku yang berjudul
Analisis dan Desain Sistem Informasi, menyebutkan bahwa:
flowchart adalah bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu masalah.
21
Sedangkan menurut Jogiyanto (2008) dalam bukunya yang
berjudul Analisis dan Desain Sistem Informasi:
Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis,
Flowchart merupakan bagan (chart) yang menunjukkan alir (flow)
didalam program atau prosedur sistem secara logika.
Secara garis besar berdasarkan dua pengertian diatas
flowchart adalah cara penulisan algoritma dengan menggunakan
notasi grafis yang memperlihatkan urutan atau langkah dari suatu
program dan hubungan antar proses beserta pernyataannya.
Pada dasarnya terdapat berbagai macam flowchart,
diantaranya yaitu Flowchart Sistem (System Flowchart), Flowchart
Paperwork / Flowchart Dokumen (Document Flowchart),
Flowchart Skematik (Schematic Flowchart), Flowchart Program
(Program Flowchart), Flowchart Proses (Process Flowchart).
Untuk keperluan pembuatan program maka digunakan Flowchart
Program. Berikut adalah daftar simbol-simbol yang digunakan
dalam flowchart.
Tabel 2.1 Daftar Tabel FLowchart
Nama Simbol Deskripsi
Terminator
Simbol mulai dan selesai
Flow line/ arah
aliran
Simbol arah aliran / penghubung
Proses
Simbol perhitungan atau proses
Input/output data
Mempresentasikan pembacaan data (read)
/ penulisan (write)
22
Decision
Simbol pernyataan pilihan, berisi suatu
kondisi yang selalu menghasilkan 2 nilai
keluaran yaitu benar atau salah
Preparation
Inisialisasi /pemberian nilai awal
Subprogram
Proses menjalankan sub program / fungsi /
Prosedur
Dokumen
Dokumen merupakan tampilan data secara
fisik yang dapat dibaca oleh manusia. Data
ini biasanya merupakan hasil pemecahan
masalah (informasi) yang telah dicetak
(print out)
Stored data
Simbol yang menyatakan input yang
berasal dari disk atau disimpan ke disk
Keluaran
Simbol untuk menyatakan peralatan output
yang digunakan yaitu layar, plotter, printer
dan sebagainya.
On page
connector
Penghubung Flow chart pada satu halaman
Off page
connector
Penghubung Flow chart pada halaman
berbeda
23
2.7.2 Use Case
Diagram use case mendefinisikan manfaat sistem jika dilihat
menurut pandangan orang yang berada diluar sistem diagram ini
menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana
sistem berinteraksi dengan dunia luar. Hal pertama yang dilakukan
seorang pengembang aplikasi yaitu mengenali aktor untuk sistem
atau aplikasi yang dikembangkan (Adi Nugroho, 2009). Use case
diagram adalah gabungan dari beberapa actor, use case, dan
komunikasi antara actor dan use case. (Yulianti, 2012).
Tabel 2.2 Daftar Tabel Diagram Use Case
(Sumber: Yulianti, 2012)
Simbol Nama Keterangan
Use Case Menggambarkan bagaimana
Seseorang menggunakan sistem
Actor
Aktor adalah seseorang atau
sesuatu diluar sistem yang harus
berinteraksi dengan sistem
Association
Relationships
Relationships menggambarkan
hubungan antara dua atau lebih
aktor dan use case dan antara dua
atau lebih use case
Dependency
Hubungan semantik antara dua
benda yang mana benda berubah
akibat benda satunya akan
berubah pula.
2.7.3 Activity Diagram
Activity diagram menggambarkan hubungan dari use case
dan responsibilities dari class. Activity diagram fokus pada behavior
dari operation dan menunjukkan aliran control untuk menyelesaikan
proses tertentu, seperti aktivitas untuk menerima pembayaran. Aliran
24
control tersebut dimulai dari state awal atau initial state dan diakhiri
oleh state yang lain yang disebut dengan end state. (Yulianti, 2012)
Tabel 2.3 Simbol Diagram Activity
(Sumber: Yulianti, 2012)
Simbol Nama Keterangan
Activity
Activity menggambarkan
sebuah pekerjaan atau tugas
dalam workflow
Start state
Start state dengan tegas
menunjukkan dimulainya
suatu workflow pada sebuah
activity diagram. Start state
digambarkan dengan symbol
lingkaran yang solid
End state
End state menggambarkan
akhir atau terminal dari pada
sebuah activity diagram. Bisa
terdapat lebih dari satu end
state pada sebuah activity
diagram.
Sate transition
State transition menunjukkan
kegiatan apa berikutnya
setelah suatu keiatan
sebelumnya.
25
Decision
Decision adalah suatu titik
atau point pada activity
diagram yang
mengindikasikan suatu kondisi
dimana ada kemungkinan
perbedaantransisi.
Swimlane
Swimlane digunakan untuk
membagi partisi diagram
aktivitas untuk membantu user
lebih mengerti siapa atau apa
yang sedang melakukan
aktivitas.
2.8 Bahasa Pemrograman PHP
PHP adalah salah satu Bahasa pemograman skrip yang
dirancang untuk membangun aplikasi web. Ketika dipanggil dari
web browser, program yang ditulis dengan PHP akan di-parsing di
dalam web server oleh interpreter PHP dan diterjemahkan ke dalam
dokumen HTML, yang selanjutnya akan ditampilkan kembali ke
web browser. Karena pemprosesan program PHP dilakukan di
lingkungan web server, PHP dikatakan sebagai Bahasa sisi server
(server-side). Oleh sebab itu, seperti yang telah dikemukakan
sebelumnya, kode PHP tidak akan terlihat pada saat user memilih
perintah “view source” pada web browser yang yang mereka
gunakan. Meskipun PHP 5 dapat digunakan untuk membuat aplikasi
CLI (command Line Interface) dan juga aplikasi desktop (seperti
Perl, Phyton dan Ruby), namun pada umumnya orang menggunakan
PHP untuk tujuan pembuatan aplikasi web (Raharjo, 2014).
26
2.9 Basis Data
Basis data (database) menurut Yakub (2012) diartikan
sebagai markas atau gedung, tempat bersarang atau berkumpul.
Prinsip utama basis data adalah pengaturan data dengan tujuan
utama fleksibilitas dan kecepatan dalam pengambilan data kembali.
Adapun tujuan basis data diantaranya sebagai efisiensi yang
meliputi speed, space, dan accurancy, menangani data dalam jumlah
besar, kebersamaan pemakaian, dan meniadakan duplikasi.
Menurut Connolly dan Begg (2010), basis data adalah
sebuah kumpulan data yang secara logis terkait dan dirancang untuk
memenuhi suatu kebutuhan informasi dari sebuah organisasi.
Sedangkan menurut Indrajani (2015), basis data adalah kumpulan
data yang saling berhubungan secara logis dan didesain untuk
mendapatkan data yang dibutuhkan oleh suatu organisasi.
2.9.1 Database Management System (DBMS)
DBMS adalah sebuah sistem perangkat lunak yang
mengizinkan pengguna untuk mendefinisikan, membuat,
memelihara, dan mengontrol akses ke dalam basis data (Connoly
dan Begg, 2010). Fasilitas yang disediakan DBMS antara lain:
1. Mengizinkan pengguna untuk mendfinisikan basis data, dengan
melalui Data Definition Language (DDL). DDL mengizinkan
pengguna untuk menentukan tipe, struktur, serta kendala data
yang nantinya akan disimpan ke dalam basis data.
2. Mengizinkan pengguna untuk melakukan menambah,
mengubah, menghapus dan mengambil data dari basis data
tersebut, dengan menggunakan Data Manipulation Language
(DML). Standard bahasa dari DBMS ialah Structured Query
Language (SQL).
3. Menyediakan akses kontrol ke dalam basis data, seperti sistem
keamanan, yang dapat mencegah pengguna yang tidak diberi
kuasa untuk mengakses basis data. Sistem integritas, yang dapat
27
menjaga konsistensi dari data yang tersimpan. Sistem kontrol
konkurensi, yang mengizinkan berbagi akses dengan basis data.
Sistem kontrol pemulihan, jika terjadi kegagalan perangkat keras
atau perangkat lunak maka sistem kontrol pemulihan ini dapat
mengembalikan basis data ke keadaan yang konsisten dari yang
sebelumnya.
Sistem manajemen database DBMS (Database Management
System) merupakan kumpulan kode program untuk menciptakan dan
memelihara sebuah database yang dilakukan oleh pengguna (user).
DBMS merupakan sistem perangkat lunak (software) yang memiliki
fasilitas proses mendefinisikan (define), membangun (construct) dan
memelihara (manipulate) database pada perangkat aplikasi yang
bervariasi (Bagir, 2012).
2.9.2 MySql
MySQL adalah sebuah perangkat lunak sistem manajemen
basis data SQL (bahasa inggris: databae management system) atau
DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi
di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai
perangkat lunak gratis di bawah lisensi GNU General Public
License (GPL), tetapi mereka juga menjual dibawah lisensi
komersial untuk kasus-kasus dimana penggunaannya tidak cocok
dengan penggunaan GPL (Solichin, 2010).
Tidak seperti PHP atau Apache yang merupakan software
yang dikembangkan oleh komunitas umum, dan hak cipta untuk
kode sumber dimiliki oleh penulisnya masing-masing. MySQL
dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia
yaitu MySQL AB. MySQL AB memegang penuh hak cipta hamper
atas semua kode sumbernya. Kedua orang Swedia dan satu orang
Finlandia yang mendirikan MySQL AB adalah: David Axmark,
Allan Larsson, dan Michael “Monty” Widenius (Solichin, 2010).
Fitur-fitur MySQL antara lain:
28
a. Relational Database System. Seperti halnya software database
lain yang ada di pasaran, MySQL termasuk RDBMS.
b. Arsitektur Client-Server. MySQL memiliki arsitektur client-
server dimana server database MySQL terinstal di server. Client
MySQL dapat berada di komputer yang sama dengan server, dan
dapat juga di komputer lain yang berkomunikasi dengan server
melalui jaringan bahkan internet.
c. Mengenal perintah SQL standar. SQL (Structured Query
Language) merupakan suatu bahasa standar yang berlaku di
hamper semua software database. MySQL mendukung SQL
versi SQL: 2003.
d. Mendukung Sub Select. Mulai versi 4.1 MySQL telah
mendukung select dalam select (sub select).
e. Mendukung Views. MySQL mendukung views sejak versi 5.0
f. Mendukung Stored Procedured (SP). MySQL mendukung SP
sejak versi 5.0
g. Mendukung Triggers. MySQL mendukung trigger pada versi
5.0 namun masih terbatas. Pengembang MySQL berjanji akan
meningkatkan kemampuan trigger pada versi 5.1
h. Mendukung replication
i. Mendukung transaksi.
j. Mendukung foreign key.
k. Tersedia fungsi GIS.
l. Free (bebas didownload).
m. Stabil dan tangguh.
n. Fleksibel dengan berbagai pemrograman.
o. Security yang baik.
p. Dukungan dari banyak komunitas.
Lisensi MySQL terbagi menjadi dua, yaitu dapat
menggunakan MySQL sebagai produk opensource di bawah
29
General Public License (GNU) secara gratis atau dapat membeli
lisensi dari versi komersialnya. MySQL komersial tentu memiliki
nilai lebih atau kemampuan yang tidak disertakan pada versi gratis.
Pada kenyataannya, untuk keperluan industri menengah ke bawah,
versi gratis dapat digunakan dengan baik (Budi Raharjo, 2011).
2.10 Perangkat Lunak Pendukung
2.10.1 Xampp
XAMPP adalah paket Web Server sumber terbuka yang
berfungsi pada berbagai platform. Ini sebenarnya adalah singkatan
dengan X yang berarti “lintas” platform, A untuk server HTTP
Apache, M untuk MySQL, P untuk PHP, dan P untuk Perl.
XAMPP dirancang untuk membantu pengembang halaman
web, programer, dan perancang memeriksa dan meninjau pekerjaan
mereka menggunakan komputer mereka bahkan tanpa koneksi ke
web atau internet. Jadi, pada dasarnya XAMPP dapat digunakan
untuk berdiri sebagai halaman untuk internet bahkan tanpa koneksi
ke sana.
Itu juga dapat digunakan untuk membuat dan
mengkonfigurasi dengan database yang ditulis
dalam MySQL atau SQLite. Karena XAMPP dirancang sebagai
paket server lintas platform, ia tersedia untuk berbagai sistem
operasi dan platform seperti Microsoft Windows, Mac OS X, Linux,
dan Solaris.
2.10.2 Ionic
Ionic adalah sebuah framewok aplikasi mobile berbasis
HTML5 yang dapat digunakan untuk mengembangkan
apikasi mobile dengan teknologi web seperti HTML, CSS, dan
Javascript. Dengan menggunakan Ionic, para developer web bisa
membuat aplikasi lintas platform seperti untuk Android dan iOS.
30
Dengan menggunakan Ionic, para developer web tidak perlu
belajar bahasa pemrograman Java, Objective C, atau C# untuk
membuat aplikasi mobile karena mereka cukup menggunakan ilmu
mereka di bahasa pemrograman web.
Ionic mempunyai kelebihan diantaranya bersifat open
source dan juga menggunakan teknologi web terbaru. Ionic juga
menggunakan Angular JS untuk implementasi logic-nya. Kabarnya,
dengan menggunakan Angular JS aplikasi yang dibuat
menggunakan Ionic akan dapat berjalan sangat cepat seperti halnya
aplikasi native.
Untuk desain tampilan antarmuka aplikasi, ini dimudahkan
di Ionic dengan bantuan ID-nya yang bernama Ionic Lab. Ini
berbeda dengan framewok lain seperti jQuery Mobile di mana kita
harus koding manual untuk membuat tampilan antarmuka
aplikasinya.
Dikarenakan Ionic hanyalah sebuah framework, untuk
merubah kodingan kita menjadi aplikasi Android atau iOS perlu
menggunakan tool tambahan seperti Cordova / Phonegap.
2.10.3 Javascript
Javascript menurut (Sunyoto,2007:17) adalah bahasa
scripting yang popular di internet dan dapat bekerja di sebagian
besar browser popoler seperti Internet Explorer (IE), Mozilla
Firefox, Netscape dan Opera. Kode Javascript dapat disisipkan
dalam halaman web menggunakan tag SCRIPT. Beberapa hal
tentang Javascript:
1. Javascript didesain untuk menambah interaktif suatu web
2. Javascript merupakan sebuah bahasa scripting.
3. Bahasa scripting merupakan bahasa pemograman yang ringan.
31
4. Javascript berisi baris kode yang dijalankan di komputer (web
browser).
5. Javascript biasanya disisipkan (embedded) dalam halaman
HTML.
6. Javascript adalah bahasa interpreter (yang berarti skrip
dieksekusi tanpa proses kompilasi).
7. Setiap orang dapat menggunakan Javascript tanpa membayar
lisensi.
2.10.4 CSS (Cascanding Style Sheet)
Menurut Bunafit Nugroho (2014:1), Cascanding Style Sheet
adalah bahasa stye sheet yang digunakan untuk mengatur tampilan
suatu dokumen yang ditulis dalam bahasa markup. CSS bekerja
sebagai pelengkap pada elemen HTML yang kesemuanya itu dapat
dikendalikan dengan menggunakan dengan menggunakan sebuah
bahasa script CSS. Penggunaan CSS dilakukan untuk memperluas
kemampuan HTML dalam memformat dokumen web atau untuk
memperindah tampilan web. Penulisan kode CSS disisipkan pada
tag HTML. Kode CSS ditulis dengan tag <style> dan </style>
dengan mendefinisikan suatu style baru yang kemudian dapat
digunakan berulang kali.
2.10.5 Visual Studio Code
Visual Studio Code (VSCode) merupakan editor teks cross-
platform yang tersedia bagi sistem operasi Windows, Linux,
maupun OS X. Editor ini dikembangkan oleh Microsoft dan dengan
cepat mengambil hati para developer yang menggunakan Sublime
Text untuk pindah menggunakan VSCode.
Seperti Sublime Text, VSCode memiliki sebuah fitur plugin
bernama extentions. Extension bisa kita tambahkan langsung dari
dalam VSCode itu sendiri. Extension yang tersedia di Marketplace
juga bisa langsung dicari dari menu Extension.
32
2.11 Studi Pustaka
Studi pustaka merupakan salah satu metode pengumpulan
data yang dilakukan dengan mencari, mengumpulkan dan membaca
dokumen sebagai refrensi seperti buku, artikel, jurnal dan literatur
sejenis dengan sistem pakar menggunakan metode forward chaining
dan best first search. (Lisna Zahrotun, 2015)
2.12 Observasi
Pengertian Metode Observasi Definisi Menurut Para Ahli
Dalam Penelitian - Pengertian Observasi merupakan teknik
pengumpulan data, dimana peneliti melakukan pengamatan secara
langsung ke objek penelitian untuk melihat dari dekat kegiatan yang
dilakukan (Riduwan, 2004 : 104).
2.13 Wawancara
Lexy J. Moleong (1991:135) Mendefinisikan bahwa
wawancara dengan tujuan percakapan tertentu. Dalam metode ini
peneliti dan responden secara langsung (tatap muka) untuk
memperoleh informasi secara lisan dengan mendapatkan data tujuan
yang bisa menjelaskan masalah penelitian.
2.14 Metode Pengujian Sistem
Pengujian sistem menyajikan anomali yang menarik bagi
rekayasa perangkat lunak pada proses perangkat lunak, perekayasa
berusaha membangun perangkat lunak dari konsep abstrak ke
implementasi yang dapat dilihat, baru kemudian dilakukan
pengujian.
2.14.1 Pengujian Black Box
Dalam pengujian perangkat lunak ada dua yaitu white box
testing dan black box testing. Dari kedua metode itu, penulis
memilih menggunakan black box testing karena dianggap lebih tepat
dibanding white box testing. Perangkat lunak memerlukan tes untuk
33
pencarian kesalahan fungsi-fungsi dalam aplikasi sehingga dalam
hal ini black box testing lebih sesuai. Pengujian ini digunakan untuk
mengetahui apakah fungsi-fungsi dalam perangkat lunak sudah
sesuai dengan yang diharapkan.
34
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Pada penilitian ini penulis mengumpulkan data dan informasi
menggunakan observasi, wawancara dan studi pustaka.
3.1.1 Observasi
Penulis melakukan observasi langsung dengan mengambil
data warga miskin yang berada di wilayah RW.13 Kelurahan
Palmerah Kecamatan Palmerah Jakarta Barat.
3.1.2 Wawancara
Penulis melakukan wawancara langsung dengan Ketua RW.
13 Kelurahan Palmerah Kecamatan Palmerah Jakarta Barat untuk
memperoleh informasi yang dibutuhkan untuk menunjang
kebutuhan penelitian.
3.1.3 Studi Pustaka
Metode studi pustaka merupakan sumber data sekunder dalam
penelitian. Metode studi pustakan dilakukan dengan mengumpulkan
teori, metode, serta teknik penelitian yang berkaitan dengan
penulisan dan menganalisis data dalam penelitian sebagai bahan
untuk melengkapi penelitian ini. Sumber teori berasal dari buku
referensi; hasil penelitian sebelumnya seperti jurnal, skripsi; dan
artikel oleh peneliti terdahulu sehingga memperoleh orientasi yang
lebih luas dalam permasalahan yang dipilih dan diangkat.
3.1.4 Studi Literatur Sejenis
Penelitian ini menggunakan beberapa jurnal dan skripsi dari
beberapa penulis terkait dengan menentukan metode apa yang tepat
untuk menentukan warga yang layak mendapatkan bantuan sosial
sebagai referensi.
35
Tabel 3.1 Perbandingan Studi Literatur Sejenis
No Penulis Judul Tahun
Metode
yang
digunakan
Kesimpulan Kekurangan Kelebihan
1. Haditsah
Annur
Klasifikasi
Masyarakat
Miskin
Menggunakan
Metode Naïve
Bayes
2018 Naïve Bayes
• Sistem Klasifikasi
masyarakat miskin
berjalan lancar
dengan adanya
pengujian whitebox
dan blackbox.
• Hasil pengujian
sistem diperoleh
tingkat keakurasian
sebesar 73% yaitu
“Baik” sehingga
sistem dapat
• Tingkat keakurasian
sistem dalam
menentukan
masyarakat miskin di
wilayah tersebut masih
bisa dikembangkan
kembali agar menjadi
Sangat Baik karena
masih belum akurat dari
hasil penelitian saat ini.
• Penjelasan yang
cukup jelas
dipaparkan oleh
peneliti, sehingga
mudah dipahami oleh
pembaca saat meneliti
jurnal tersebut.
36
digunakan untuk
bahan pengambilan
keputusan.
2. Dwi
Rahayu
Utami
Aplikasi
Monitoring
Keluarga
Miskin
Menggunakan
Metode K-
Means
Berbasis
Mobile GIS
2018 K-Means Sistem Aplikasi
berbasis mobile
berjalan dengan lancar
dan sangat baik
sehingga menghasilkan
tingkat keakurasian
92.8% yang termasuk
ke dalam tingkat
Excellent
Classification.
Tidak ada fitur pencarian
nilai k yang terkait dari
Algoritma Klasterisasi K-
Means.
Skripsi yang disediakan
oleh peneliti sangat
lengkap materinya
sehingga sangat mudah
dimengerti, serta lengkap
dengan grafik dan
sumbernya dicantumkan.
3. Muhammad
Jabal
Tursina
Sentimen
Analisis
Sistem Zonasi
Sekolah Pada
2019 Metode K-
Nearest
Neighbor &
Hasil dari Analisis
Tingkat Keakurasian
dari 2 Perbandingan
Algoritma K-Nearest
Sangat diharapkan untuk
penelitian selanjutnya
yaitu:
Analisa yang telah
dilakukan oleh penulis
sudah sangat jelas dan
akurat dalam pembuktian
37
Media Sosial
Youtube
Menggunakan
Metode K-
Nearest
Neighbor
Dengan
Algoritma
Levenshtein
Distance
Levenshtein
Distance
Neighbor dengan
Levenshtein Distance
sebesar 65.625%
tingkat akurasi rendah
karena adanya
perbaikan kata-kata
yang tidak sesuai atau
typo menjadi kata-kata
yang sesuai dengan
KBBI.
• Meningkatkan jumlah
data latih yang
digunakan dalam
proses
pengklasifikasian.
• Menggunakan Cross
Validation untuk
mencari nilai optimal
dan akurasi.
di skripsinya
menggunakan metode K-
Nearest Neighbor dengan
Algoritma Levensthein
Distance.
4. Haditsah
Annur, &
Moh.
Efendi
Lasulika
Klasifikasi
Nasabah
Kredit
Koperasi
Menggunakan
Algoritma K-
2019 Metode K-
Nearest
Neighbor
Data uji untuk
mendapatkan akurasi
dari algoritma K-NN
memperoleh hasil
akurasi sebesar 77.78
%. Maka dari itu
algoritma KNN baik
Tidak ada tampilan
aplikasi di dalam jurnal
sehingga pembaca tidak
mengetahui apakah
pengujian tingkat
keakurasian data sudah
38
Nearest
Neighbor
digunakan dalam
klasifikasi nasabah
kredit koperasi,
sehingga Koperasi
dapat mencegah resiko
kredit nasabah mereka.
sesuai dengan aplikasi dan
hitungan manual.
39
Berdasarkan Tabel 3.1, maka dapat disimpulkan bahwa penelitian ini
memiliki perbedaan dari penelitian terdahulu. Aplikasi yang dirancang oleh
Haditsah Annur menggunakan Naïve Bayes untuk menentukan Klasifikasi namun
penelitian ini menggunakan K-Nearest Neighbor yaitu Klasifikasi. Sementara
aplikasi yang dirancang oleh Dwi Rahayu Utami menggunakan K-Means
sedangkan penilitian ini menggunakan K-Nearest Neighbor yaitu Klasifikasi.
Aplikasi yang dirancang oleh Muhamad Jabal Tursina menggunakan metode KNN
& Levenshtein Distance untuk Analisis. Dan Jurnal yang diteliti oleh Haditsah
Annur dan Moh Efendi Lasulika menggunakan KNN untuk klasifikasi. Dari semua
studi literatur, maka penulis menentukan metode KNN dengan Klasifikasi Data
serta dengan aplikasi yang sudah dibuat dan ditentukan keakurasiannya.
3.2 Metode Pengembangan Sistem
Pengembangan sistem dalam penelitian ini penulis menggunakan model
RAD (Rapid Aplication Development), yaitu fase perencanaan syarat, fase
perancangan, dan fase implementasi. Model RAD digunakan penulis karena sesuai
kebutuhan dan sudah memiliki batasan penelitian. Medel RAD merupakan
pendekatan berorientasi objek dalam suatu metode pengembangan perangkat lunak.
Tujuan dari model RAD yaitu menghasilkan proses secara cepat dan tepat, dan
mempersingkat waktu pengerjaan. Model RAD diilustrasikan seperti gambar 3.1:
(Kendall, 2003)
40
Gambar 3.1 Siklus Pengembangan Sistem Mode
Gambar 3.2 l RAD
(Sumber : Nurhayati dan Syukri Sayyid Ahmad, 2016)
3.2.1 Fase Perencanaan Sistem
Pada tahapan ini, penulis melakukan analisis kebutuhan, menentukan
fungsi yang tersedia dalam fitur, serta menentukan syarat software dan hardware.
Hal tersebut penulis uraikan sebagai analisa sistem yang berjalan dan sistem yang
diterapkan.
3.2.2 Fase Perancangan Design
Pada tahapan ini, penulis melakukan perancangan proses, flowchart, serta
perancangan antar muka (interface). Perancangan proses merupakan suatu
perancangan saat proses klasifikasi data yang dilakukan sistem untuk mencari
kemiripan nilai dari suatu data yang dibandingkan dari data lama dengan data baru.
Perancangan flowchart merupakan suatu perancangan yang terdapat didalam
aplikasi. Perancangan antar muka pengguna (user interface) merupakan suatu
41
perancangan antar muka pengguna untuk berkomunikasi antara pengguna dan
sistem.
3.2.3 Fase Implementasi
Pada tahapan ini, penulis melakukan pengujian dan analisa terhadap
aplikasi. Pengujian dilakukan dengan membandingkan data lama dengan data baru
sesuai data yang sudah ada di dalam data training. Selain itu, tahapan ini melakukan
pengenalan terhadap sistem ke pengguna.
3.3 Alasan Menggunakan Rapid Application Development
(RAD)
Penulis menggunakan metode pengembangan sistem berupa Rapid
Application (RAD) dalam penelitian ini. Alasan menggunakan model RAD sebagai
berikut:
1. Aplikasi dalam penelitian ini merupakan aplikasi sederhana dan
memerlukan waktu yang singkat. Sehingga sangat tepat menerapkan
model RAD.
2. Jika kebutuhan dapat dipahami dengan baik, maka model RAD akan
mencapai suatu sistem fungsional yang utuh dalam periode waktu yang
singkat.
3. Aplikasi ini menggunakan konsep Object Oriented Programming.
4. Aplikasi dalam penelitian ini memiliki batasan agar tidak mengalami
perubahan.
3.4 Kerangka Penelitian
Penulis menggambarkan alur diagram untuk menjelaskan proses
berjalannya sebuah penelitian. Kerangka berfikir dalam penelitan ini diilustrasikan
pada gambar 3.2
42
Gambar 3.3 Alur Kerangka Penelitian
Wawancara Studi Pustaka
43
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan membahas dan mendeskripsikan mengenai pembuatan
sistem yang akan mengaplikasikan dengan menerapkan metode yang sudah dibahas
pada bab sebelumnya. Dalam bab sebelumnya telas dibahas bahwa metode
pengembangan sistem yang digunakan dalam pengembangan sistem kali ini adalah
Rapid Aplication Development (RAD). Tahap perancangan menjadi tahapan
kegiatan yang akan menentukan sistem yang akan dibuat. Sementara tahap
implementasi pada bab ini yaitu tahapan kegitan dalam penentuan tindakan atau
keputusan yang akan menentukan rancangan sistem.
4.1 Fase Perencanaan
4.1.1 Analisa Sistem
Analisa Sistem terdapat 5 proses utama yaitu Login, Perhitungan Data
Training, Perhitungan Data Testing, Proses Batasan, dan Laporan. Peran utama
dalam aplikasi KNN untuk mengklasifikasi warga yang layak mendapatkan bantuan
sosial yaitu seorang Admin yang dapat menginputkan Data Training warga
penerima bantuan sosial serta menginputkan Data Testing dan inputan Batasan
warga penerima bantuan sosial.
Data Testing yang telah diinputkan oleh admin masuk ke dalam proses
perhitungan data testing yang mengambil bobot dari database bobot, kemudian hasil
perhitungan dibandingkan dengan data training. Hasil perbandingan dimasukkan
dalam database data testing. Proses perhitungan data testing langsung masuk ke
proses Batasan, kemudian admin dapat menginputkan banyaknya warga yang
menerima bantuan sosial dan nantinya akan masuk proses Batasan, hasilnya
disimpan dalam database hasil dan menghasilkan laporan yang dapat diakses oleh
admin.
40
Gambar 4.1 Proses Mengambilan Keputusan Untuk Warga Yang Menerima Bantuan
4.1.2 Tujuan Informasi
Pada tahap tujuan informasi ini merupakan tahapan untuk
mengidentifikasi tujuan sistem dengan menganalisis permasalahan yang terjadi
dalam menentukan warga yang layak atau tidak mendapatkan bantuan sosial.
Identifikasi ini bertujuan untuk mengetahui sasaran dibentuknya sistem. Penulis
melakukan penelitian untuk mengumpulkan data dan informasi sebagai dasar acuan
41
dalam pengaplikasian sistem. Tujuannnya adalah untuk mengetahui penerapan
algoritma KNN yang dapat membantu sistem untuk menentukan warga yang benar-
benar layak atau tidak layak mendapatkan bantuan sosial berdasarkan bobot yang
sudah ditentukan di Data Training.
4.1.3 Analisa Kebutuhan
Analisa kebutuhan merupakan analisis penggunaan perangkat keras dan
perangkat lunak yang dibutuhkan pada Aplikasi KNN yang akan mendukung
penginputan Data Training hingga pengujian Data Testing. Adapun perangkat keras
yang dibutuhkan yaitu dengan spesifikasi seperti yang terlampir dalam Tabel 4.1
Tabel 4.1 Kebutuhan Perangkat keras dan Perangkat lunak
Perangkat Keras Perangkat Lunak
Processor : AMD Dual Core E1-
7010
Sistem
Operasi : Windows 10 Pro
Hard Disk
Drive : 500 GB
Bahasa
Pemrograman : PHP
Memory : 2 GB Aplikasi
Permodelan
: VSCode,
Ms. Office 2010
VGA Card : Minimum Aplikasi
pengolah kata : Ms. Word 2010
4.2 Fase Perancangan Design
Perancangan sistem bertujuan untuk memberikan gambaran secara umum
kepada pengguna mengenai perancangan sistem secara umum juga sudah dapat
mengenal komponen sistem yang akan di desain. Penentuan persyaratan sistem
dilakukan agar arah perancangan sistem dapat terarah pada sasaran, oleh sebab itu
sistem yang dirancang harus memenuhi batasan sistem.
4.2.1 Perancangan Prosedur
Pada tahapan ini dilakukan permodelan dengan menggunakan Unified
Modeling Language (UML). Rancangan sistem keamanan pesan ini dapat dilihat
berdasarkan use case diagram, activity diagram, Sequence Diagram.
42
1. Flow Chart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses secara mendetail dan hubungan antara
suatu proses (instruksi) dengan proses lainnya dalam suatu program.
Start
Login
Masukkan Username dan
Password
Login
Validasi
Data Testing
Masukkan NIP, Nama, Tempat Lahir, Penghasilan, Tanggal Lahir, Jumlah Tanggungan, Jenis Kelamin, Pekerjaan
Hitung
Data Warga Mampu / Tidak
Simpan
Report
Cetak
Selesai
Emai
l & P
assw
ord
Sala
h
Email & Password Benar
Gambar 4.2 Alur Aplikasi KNN
43
2. Use Case Diagram
Use case diagram adalah diagram yang menunjukkan fungsionalitas
suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi
dengan dunia luar dan menjelaskan sistem secara fungsional yang
terlihat oleh pengguna.
Gambar 4.3 Use Case Diagram Steganografi Audio
3. Skenario Use Case
Use case scenario adalah sebuah dokumentasi terhadap kebutuhan
fungsional dari sebuah sistem. Berikut penjelasan dari masing-masing
Use Case dalam steganografi pada file audio ini.
a. Use Case Menu Login
Nama Use Case : Login
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang
langkah awal dimana proses ini admin harus memasukkan username
dan password terlebih dahulu untuk bisa mengakses seluruh menu
yang ada di aplikasi KNN.
44
b. Use Case Bobot
Nama Use Case : Bobot
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang suatu
nilai yang sudah ditentukan untuk membandingkan data training
dengan data testing yang ada di aplikasi KNN.
c. Use Case Atribut
Nama Use Case : Atribut
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang suatu
bahan acuan data yang sudah ditentukan berdasarkan nama bobot,
data baru, data lama, serta nilai bobot yang akan digunakan untuk
mengklasifikasikan data warga yang layak mendapatkan bantuan
sosial dengan kategori “mampu” dan “tidak mampu”.
d. Use Case Menu Data Training
Nama Use Case : Data Training
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang data
yang sudah diinputkan oleh admin, meliputi NIP, Nama,
Penghasilan, Tanggungan, Pekerjaan, dan Status warga yang layak
atau tidak layak mendapatkan bantuan yang nantinya akan
digunakan untuk membandingkan data baru.
e. Use Case Menu Data Testing
Nama Use Case : Data Testing
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang
penginputan data meliputi NIP, Nama, Penghasilan, Tanggungan,
Pekerjaan, Tempat Lahir, Tanggal Lahir, dan Jenis Kelamin.
45
Kemudian data diproses untuk menampilkan daftar warga apakah
berkategori mampu atau tidak mampu.
f. Use Case Menu Report
Nama Use Case : Report
Aktor : Admin
Deskripsi : Use Case ini menggambarkan tentang hasil
dari proses keputusan dalam menentukan warga yang layak dan tidak
layak mendapatkan bantuan social. Hasil tersebut bias langsung
dicetak ke printer atau bisa disimpan berupa format pdf berdasarkan
kategori mampu dan tidak mampu.
g. Use Case Menu User
Nama Use Case : User
Aktor : Admin
Deskripsi : Use Case ini bertujuan untuk menampilkan
username dan password yang hanya bias dilihat dan ditambahkan
oleh admin.
4. Activity Diagram
Activity diagram memodelkan aliran kerja atau workflow dari urutan
aktifitas dalam suatu proses yang mengacu pada use case diagram
yang ada. Activity diagram pada sistem steganografi pesan ini terdiri
dari activity diagram menu utama, activity diagram Embedding,
activity diagram ekstraksi pesan, activity diagram petunjuk aplikasi,
activity diagram tentang aplikasi. Berikut ini penjelasan dengan
activity diagram pada sistem steganografi pesan
a. Activity Diagram Menu Login
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.3.
46
Gambar 4.4 Activity Diagram Menu Login
b. Activity Diagram Bobot
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.4.
Gambar 4.5 Activity Diagram Bobot
47
c. Activity Diagram Atribut
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.5.
Gambar 4.6 Activity Diagram Atribut
48
d. Activity Diagram Data Training
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.6.
Gambar 4.7 Activity Diagram Data Training
49
e. Activity Diagram Data Testing
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.7.
Gambar 4.8 Activity Diagram Data Testing
50
f. Activity Diagram Report
Interaksi antara admin dengan use case penyisipan dijelaskan
dalam activity diagram pada gambar 4.8.
Gambar 4.9 Activity Diagram Report
51
g. Activity Diagram User
Interaksi antara admin dengan use case penyisipan
dijelaskan dalam activity diagram pada gambar 4.9.
Gambar 4.10 Activity Diagram User
4.2.2 Perancangan Antarmuka Pengguna
Antarmuka pengguna merupakan mekanisme komunikasi antara pengguna
dengan sistem. Perancangan tampilan antarmuka diperlukan untuk mengetahui
bentuk tampilan yang akan digunakan pada aplikasi. Tampilan yang menarik dan
user friendly akan memberikan nilai tambah pada aplikasi.
1. Tampilan Menu Login
Menu login merupakan tampilan utama dari aplikasi KNN. Ketika pengguna
mengakses aplikasi KNN, halaman pertama yang muncul adalah menu login.
Pada menu login terdapat beberapa komponen, diantaranya:
52
a. Input Username : berfungsi untuk menginput username yang sudah di
sediakan atau ditambahkan oleh admin.
b. Input Password : berfungsi untuk menginput password yang sudah
disediakan atau ditambahkan oleh admin.
c. Tombol Login : berfungsi untuk menjalankan proses masuk ke
aplikasi KNN berdasarkan username dan password yang sudah tersedia.
Gambar 4.11 Rancangan Antarmuka Menu Login
2. Tampilan Menu Bobot
Menu bobot berfungsi untuk menampilkan data bobot yang sudah ditentukan
berdasarkan kategori dan kebutuhan yang dijadikan perbandingan data di data
training. Pada menu bobot terdapat beberapa komponen, diantaranya:
a. Tombol Tambah : Berfungsi untuk menambahkan Nama dan Nilai
Bobot terbaru.
b. Tombol Ubah : Berfungsi untuk mengubah Nama dan Nilai Bobot
yang akan dirubah.
c. Tombol Hapus : Berfungsi untuk menghapus Nama dan Nilai Bobot
yang ingin dihapus.
53
Gambar 4.12 Rancangan Antarmuka Menu Bobot
3. Tampilan Menu Atribut
Menu atribut berfungsi untuk menampilkan banyaknya nilai atribut yang akan
digunakan sebagai perbandingan data lama dengan data baru yaitu sebagai
perhitungan data testing. Pada menu atribut terdapat beberapa komponen,
diantaranya:
a. Tombol Tambah : Berfungsi untuk menambahkan ID Bobot, Nama
Bobot, Data Baru, Data Lama, dan Nilai Bobot.
b. Tombol Ubah : Berfungsi untuk mengubah ID Bobot, Nama Bobot,
Data Baru, Data Lama, dan Nilai Bobot yang akan dirubah.
c. Tombol Hapus : Berfungsi untuk menghapus ID Bobot, Nama
Bobot, Data Baru, Data Lama, dan Nilai Bobot yang ingin dihapus.
54
Gambar 4.13 Rancangan Antarmuka atribut
4. Tampilan Menu Data Training
Menu data training berfungsi untuk menampilkan 6 data traning yang sudah
ditentukan dan dijadikan perbandingan dalam perhitungan data baru dan data
lama untuk menentukan warga mampu dan tidak mampu yang layak
mendapatkan bantuan sosial. Pada menu data training terdapat beberapa
komponen, diantaranya:
a. Tombol Tambah : Berfungsi untuk menambahkan NIP, Nama,
Penghasilan, Tanggungan, Pekerjaan, dan Status.
b. Tombol Ubah : Berfungsi untuk mengubah NIP, Nama,
Penghasilan, Tanggungan, Pekerjaan, dan Status.
c. Tombol Hapus : Berfungsi untuk menghapus NIP, Nama,
Penghasilan, Tanggungan, Pekerjaan, dan Status.
55
Gambar 4.14 Rancangan Antarmuka Data Training
5. Tampilan Menu Data Testing
Menu data testing berfungsi untuk menginput data warga sesuai kolom yang
sudah disediakan, setelah di input kemudian dihitung dan dibandingkan untuk
mencari 3 data tertinggi yang lebih mirip dari data training dan di simpan. Pada
menu data testing terdapat beberapa komponen, diantaranya:
a. Tombol Hitung : Berfungsi untuk menghitung data testing warga
berdasarkan perbandingan nilai bobot, data baru dan data lama sesuai
yang sudah di input di data training.
b. Tombol Simpan : Berfungsi setelah data testing warga dihitung,
kemudian disort berdasarkan 3 angka tertinggi. Maka selanjutnya diklik
tombol Simpan. Dan akan disimpan ke menu report dan ke database.
Gambar 4.15 Rancangan Antarmuka Data Testing
56
Gambar 4.1 Rancangan Antarmuka Data Testing
6. Tampilan Menu Report
Menu report berfungsi untuk menampilkan hasil data warga yang sudah di
input di data testing secara keseluruhan dan ada 2 pilihan untuk menampilkan
warga yang mampu dan tidak mampu, serta di menu report dapat menjalankan
untuk proses menyimpan data berupa pdf dan bisa dicetak langsung. Pada
menu report terdapat beberapa komponen, diantaranya:
a. Tombol Print : Berfungsi untuk menjalankan proses cetak
berdasarkan status yang dipilih “mampu” dan “tidak mampu”.
b. Tombol Simpan : Berfungsi untuk menjalankan proses menyimpan
data warga berdasarkan kategori terdapat 2 pilihan, simpan sebagai Pdf,
atau cetak dengan printer yang sudah terhubung di PC.
c. Tombol Batal : Berfungsi untuk mebatalkan perintah cetak atau
simpan berkas ke dalam pdf.
57
Gambar 4.2 Rancangan Antarmuka Report
Gambar 4.1 Rancangan Antarmuka Report Warga Mampu
58
Gambar 4.1 Rancangan Antarmuka Report Warga Tidak Mampu
7. Tampilan Menu User
Menu user berfungsi untuk menampilkan data user yang hanya bisa dinput,
ubah, dan hapus oleh admin. Pada menu user terdapat beberapa komponen,
diantaranya:
a. Tombol Tambah : Berfungsi untuk menambahkan data user yaitu
username dan password.
b. Tombol Ubah : Berfungsi untuk menghapus data user yaitu
username dan password.
c. Tombol Hapus : Berfungsi untuk menghapus data user yaitu
username dan password.
Gambar 4.2 Rancangan Antarmuka User
59
BAB V
HASIL DAN PEMBAHASAN
5.1 Fase Implementasi
Implementasi merupakan tahap menerjemahkan perancangan berdasarkan
hasil analisa yang telah dilakukan sebelumnya. Adapun tujuan implementasi adalah
untuk mengkonfirmasikan modul program perancangan pada para pelaku sistem
sehingga user dapat memberi masukan kepada pengembang sistem.
5.1.1 Implementasi Antarmuka (Interface)
Antarmuka adalah komponen sistem operasi yang bersentuhan langsung
dengan pengguna. Implementasi antarmuka sistem merupakan realisasi desain
tampilan antarmuka dari setiap menu yang telah dirancang sebelumnya.Berikut ini
adalah implementasi antarmuka steganografi pada file audio.
Tabel 5.1 Impelementasi Antarmuka Sistem
Nama Menu Deskripsi
Login Langkah awal dimana proses ini admin harus
memasukkan username dan password terlebih dahulu
untuk bisa mengakses seluruh menu yang ada di aplikasi
KNN.
Bobot Merupakan suatu nilai bobot yang sudah ditentukan untuk
membandingkan data training dengan data testing yang
ada di aplikasi KNN.
Atribut Merupakan suatu nilai atribut yang sudah ditentukan
untuk membandingkan data baru dan data lama untuk
mendapatkan hasil data warga yang berkategori mampu
dan tidak mampu.
60
Data Training Merupakan suatu data yang menampilkan 6 nilai data traning
yang sudah ditentukan dan dijadikan perbandingan dalam
perhitungan data baru dan data lama untuk menentukan warga
mampu dan tidak mampu yang layak mendapatkan bantuan
sosial.
Data Testing Merupakan suatu data yang berfungsi untuk menginput data
warga sesuai kolom yang sudah disediakan, setelah di input
kemudian dihitung dan dibandingkan untuk mencari 3 data
tertinggi yang lebih mirip dari data training dan di simpan.
Report Merupakan menu yang dapat menampilkan hasil data warga
yang sudah di input di data testing secara keseluruhan dan ada
2 pilihan untuk menampilkan warga yang mampu dan tidak
mampu, serta di menu report dapat menjalankan untuk proses
menyimpan data berupa pdf dan bisa dicetak langsung.
User Menu user berfungsi untuk menampilkan data user yang hanya
bisa dinput, ubah, dan hapus oleh admin.
5.1.2 Tampilan Antarmuka Sistem
1. Tampilan Menu Login
Implementasi antar muka pada menu login dapat dilihat pada gambar 5.1
61
Gambar 5.1 Tampilan Menu Login
Berdasarkan gambar 5.1, dapat dijelaskan bahwa menu login adalah Langkah
awal dimana proses ini admin harus memasukkan username dan password terlebih
dahulu untuk bisa mengakses seluruh menu yang ada di aplikasi KNN.
2. Tampilan Menu Bobot
Implementasi antar muka pada menu bobot dapat dilihat pada gambar 5.2.
Gambar 5.2 Tampilan Menu Bobot
Berdasarkan gambar 5.2, dapat dijelaskan bahwa menu bobot adalah menu yang
dapat menampilkan nilai bobot yang sudah ditentukan untuk membandingkan data
training dengan data testing yang ada di aplikasi KNN.
62
63
3. Tampilan Menu Atribut
Implementasi antar muka pada menu atribut dapat dilihat pada gambar 5.3.
Gambar 5.3 Tampilan Menu Atribut
Berdasarkan gambar 5.3, dapat dijelaskan bahwa menu atribut merupakan suatu
nilai atribut yang sudah ditentukan untuk membandingkan data baru dan data lama
untuk mendapatkan hasil data warga yang berkategori mampu dan tidak mampu.
64
4. Tampilan Menu Data Training
Implementasi antar muka pada menu data training dapat dilihat pada gambar 5.4.
Gambar 5.4 Tampilan Menu Data Training
Berdasarkan gambar 5.4, dapat dijelaskan bahwa menu data training merupakan
suatu data yang menampilkan 6 nilai data traning yang sudah ditentukan dan
dijadikan perbandingan dalam perhitungan data baru dan data lama untuk
menentukan warga mampu dan tidak mampu yang layak mendapatkan bantuan
sosial.
65
5. Tampilan Menu Data Testing
Implementasi antar muka pada menu data testing dapat dilihat pada gambar 5.5
dan gambar 5.6.
Gambar 5.5 Tampilan Menu Data Testing
Gambar 5.6 Tampilan Menu Data Testing
66
Berdasarkan gambar 5.5 dan gambar 5.6, dapat dijelaskan bahwa menu data
testing merupakan suatu data yang berfungsi untuk menginput data warga sesuai
kolom yang sudah disediakan, setelah di input kemudian dihitung dan dibandingkan
untuk mencari 3 data tertinggi yang lebih mirip dari data training dan di simpan.
6. Tampilan Menu Report
Implementasi antar muka pada menu login dapat dilihat pada gambar 5.7.
Gambar 5.7 Tampilan Menu Report
Berdasarkan gambar 5.7, dapat dijelaskan bahwa menu report merupakan menu
yang dapat menampilkan hasil data warga yang sudah di input di data testing secara
keseluruhan dan ada 2 pilihan untuk menampilkan warga yang mampu dan tidak
mampu, serta di menu report dapat menjalankan untuk proses menyimpan data
berupa pdf dan bisa dicetak langsung.
67
7. Tampilan Menu User
Implementasi antar muka pada menu user dapat dilihat pada gambar 5.8.
Gambar 5.8 Tampilan Menu User
Berdasarkan gambar 5.8, dapat dijelaskan bahwa menu user berfungsi untuk
menampilkan data user yang hanya bisa dinput, ubah, dan hapus oleh admin.
5.1.3 Implementasi Algoritma KNN
Proses pengumpulan data dilakukan dengan cara mengunjungi Wilayah
RW 13 untuk melakukan penelitian dan pengumpulan data yang dilakukan dengan
cara observasi dan wawancara. Berdasarkan hasil observasi dan wawancara
tersebut dilakukan analisa system untuk mengetahui keterbaharuan pada penelitian
ini.
Analisis Sistem Berdasarkan proses observasi dan wawancara diperoleh
data bahwa dalam proses seleksi penerima Bantuan Sosial yang diterapkan di
Wilayah RW 13 masih terdapat banyak kekurangan, dimana proses seleksi masih
di lakukan manual yaitu dengan cara menilai calon penerima Bantuan Sosial dengan
68
beberapa kriteria diantaranya adalah Pekerjaan Orang Tua, Penghasilan Orang Tua,
dan Tanggungan Orang Tua.
Sehingga dari banyaknya kriteria penilian maka membutuhkan tingkat
ketelitian dan waktu yang relatif lama dalam proses perhitungan. Selain itu, dengan
menerapkan proses tersebut tidak jarang jika setiap seleksi penerima Bantuan Sosial
di Wilayah RW 13 tidak tepat sasaran, dikarenakan tidak adanya bantuan sistem
yang lebih akurat didalam melakukan proses seleksi penerima Bantuan Sosial di
Wilayah RW 13.
Dari hasil tersebut diperlukan sebuah sistem klasifikasi data yang akan
memudahkan staff rw 13 dalam menyeleksi penerimaan Bantuan Sosial di Wilayah
RW 13, serta perlunya aplikasi khusus untuk pengimputan semua data, penilaian,
pembobotan serta laporan yang terjamin kevalidannya. Berdasarkan hasil dari
observasi, wawancara dan studi literatur dapat dihasilkan beberapa parameter
penilaian yang dijadikan acuan dalam proses seleksi dalam penentuan penerima
Bantuan Sosial di Wilayah RW 13.
Algoritma K-Nearest Neighbor adalah pendekatan untuk mencari kasus
dengan menghitung kedekatan antara data baru dengan data lama, yaitu
berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada. Misalkan
diinginkan untuk mencari solusi terhadap seorang pasien baru dengan
menggunakan solusi dari pasien terdahulu. Untuk mencari kasus pasien mana
yang akan digunakan, maka dihitung kedekatan kasus pasien baru dengan kasus
pasien lama. Kasus pasien lama dengan kedekatan terbesarlah yang akan diambil
solusinya untuk digunakan pada kasus pasien baru.
Adapun rumus untuk melakukan perhitungan kedekatan antara dua kasus
adalah sebagai berikut:
Similarity (T, S) = ∑ 𝑓(𝑇𝑖 ,𝑆𝑖 ) ∗ 𝑊𝑖
𝑛𝑖=1
𝑊𝑖
69
Keterangan:
T : Data Baru
S : Data Lama
n : Jumlah Atribut Dalam Setiap Kasus
i : Atribut Individu Antara 1 s.d.n
f : Fungsi Similarity Atribut I Antara Kasus T Dan Kasus S
w : Bobot Yang Diberikan Pada Atribut Ke-I
Kedekatan biasanya berada pada nilai antara 0 s.d 1. Nilai 0 artinya kedua
kasus mutlak tidak mirip, sebaliknya untuk nilai 1 kasus mirip dengan mutlak
(Kusrini,2009).
Setiap atribut memiliki bobot nilai, seperti terlihat pada table dibawah ini
(Syaifuddin, Mohammad. 2017):
Tabel 5.2 Pembobotan Atribut
No. Atribut Bobot
1 Pekerjaan (b) 1
2 Tanggungan (d) 0,75
3 Penghasilan (f) 0,5
Berdasarkan Tabel 5.2 di atas penulis mengutip Atribut serta Bobot dari
Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa Atribut Pekerjaan
memperoleh Bobot 1 atau sangat mempengaruhi proses klasifikasi penerima
bantuan sosial, untuk Atribut Tanggungan memperoleh Bobot 0,75 yang berarti
penting atau berpengaruh dalam proses klasifikasi penerima bantuan sosial,
sedangkan Atribut Penghasilan memperoleh Bobot 0,5 yang berarti kurang
mempengaruhi dalam proses klasifikasi penerima bantuan sosial.
70
Setiap pekerjaan memiliki bobot nilai, seperti terlihat pada table dibawah
ini (Syaifuddin, Mohammad. 2017):
Tabel 5.3 Pekerjaan
Pekerjaan (a)
PNS 1
KARYAWAN SWASTA 0,6
WIRASWASTA 0,4
BURUH 0
Berdasarkan Tabel 5.3 di atas penulis mengutip Pekerjaan serta Bobot dari
Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa Atribut Pekerjaan sangat
mempengaruhi proses klasifikasi, kemudian diurutkan dari bobot terbesar yaitu
PNS memiliki bobot 1 yang berarti sangat mempengaruhi proses klasifikasi
penerima bantuan sosial, kemudian Karyawan Swasta memiliki bobot 0,6 dan
Wiraswasta memiliki bobot 0,4 yang berarti penting atau berpengaruh dalam proses
klasifikasi penerima bantuan sosial, sedangkan Buruh memiliki Bobot 0 yang
berarti kurang mempengaruhi dalam proses klasifikasi penerima bantuan sosial.
Setiap tanggungan memiliki bobot nilai, seperti terlihat pada table dibawah
ini (Syaifuddin, Mohammad. 2017):
Tabel 5.4 Tanggungan
Tanggungan (c)
1 Orang 1
2 Orang 0,6
3 Orang 0,2
>3 Orang 0
Berdasarkan Tabel 5.4 di atas penulis mengutip Tanggungan serta Bobot
dari Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa Atribut Tanggungan
memiliki 4 kriteria dalam mengklasifikasi data yaitu tanggungan 1 orang, memiliki
bobot nilai 1, tanggungan 2 orang memiliki bobot nilai 0,6, tanggungan 3 orang
memiliki bobot nilai 0,2 serta jika tanggungan lebih dari 3 orang maka bobot nilai
71
yang diperoleh adalah 0 yang berarti sangat tidak berpengaruh dalam proses
klasifikasi data warga yang mendapatkan bantuan sosial.
Setiap penghasilan memiliki bobot nilai, seperti terlihat pada table
dibawah ini (Syaifuddin, Mohammad. 2017):
Tabel 5.5 Penghasilan
Penghasilan (e)
< 750000 1
< 1500000 0,6
< 2500000 0,2
>2500000 0
Berdasarkan Tabel 5.5 di atas penulis mengutip Tanggungan serta Bobot
dari Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa Atribut Penghasilan
memiliki 4 kriteria dalam mengklasifikasi data yaitu Penghasilan kurang dari
750.000 memiliki bobot nilai 1, penghasilan kurang dari 1.500.000 memiliki
bobot nilai 0.6, penghasilan kurang dari 2.500.000 memiliki bobot nilai 0,2 serta
jika penghasilan lebih dari 2.500.000 maka bobot nilai yang diperoleh adalah 0
yang berarti sangat tidak berpengaruh dalam proses klasifikasi data warga yang
mendapatkan bantuan sosial.
Setelah dijelaskan Bobot dan Atribut di dalam tabel masing-masing, maka
tahap selanjutnya yaitu dilakukan pendekatan untuk mencari kasus dengan
menghitung kedekatan antara data baru dengan data lama, yaitu berdasarkan pada
pencocokan bobot dari sejumlah atribut yang ada seperti terlihat pada table
dibawah ini:
Tabel 5.6 Pekerjaan (a)
Data Lama
PNS Buruh Wiraswasta
Karyawan
Swasta
PNS 1 0 0,4 0,6
BURUH 0 1 0,2 0
WIRASWASTA 0,4 0,2 1 0,2
KARYAWAN SWASTA 0,6 0 0,2 1 D
ata
Bar
u
72
Berdasarkan Tabel 5.6 di atas penulis mengutip Tabel Pekerjaan dari
Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa di dalam tabel pekerjaan
terdapat 2 kategori yaitu Data Lama dengan Data Baru yang digunakan sebagai
perbandingan untuk menghasilkan nilai dari data training dengan data testing yang
akan dihitung saat proses klasifikasi. Contohnya data baru yang bernama Vino
memiliki pekerjaan PNS, kemudian data baru akan dibandingkan dengan data
training atau data lama yang bisa di lihat pada Tabel 5.9 Budi memiliki pekerjaan
PNS sehingga nilai perbandingan yang diperoleh dari data lama dengan data baru
adalah 1 yang berarti sangat mempunyai kemiripan.
Tabel 5.7 Tanggungan (c)
Data Lama
1 2 3 >3
1 1 0,6 0,2 0
2 0,6 1 0,6 0,2
3 0,2 0,6 1 0,6
>3 0 0,2 0,6 1
Berdasarkan Tabel 5.7 di atas penulis mengutip Tabel Tanggungan dari
Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa di dalam tabel tanggungan
terdapat 2 kategori yaitu Data Lama dengan Data Baru yang digunakan sebagai
perbandingan untuk menghasilkan nilai dari data training dengan data testing yang
akan dihitung saat proses klasifikasi. Contohnya data baru yang bernama Vino
memiliki tanggungan 3, kemudian data baru akan dibandingkan dengan data
training atau data lama yang bisa di lihat pada Tabel 5.9 Budi memiliki tanggungan
1 sehingga nilai perbandingan yang diperoleh dari data lama dengan data baru
adalah 0,2 yang berarti belum mempunyai kemiripan.
Tabel 5.8 Penghasilan Orangtua (e)
Data Lama
<750000 <1500000 <2500000 >2500000
<750000 1 0,6 0,2 0
<1500000 0,6 1 0,4 0,2
<2500000 0,2 0,4 1 0,6
>2500000 0 0,2 0,6 1
Dat
a B
aru
Dat
a B
aru
73
Berdasarkan Tabel 5.8 di atas penulis mengutip Tabel Penghasilan
Orangtua dari Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa di dalam tabel
penghasilan terdapat 2 kategori yaitu Data Lama dengan Data Baru yang digunakan
sebagai perbandingan untuk menghasilkan nilai dari data training dengan data
testing yang akan dihitung saat proses klasifikasi. Contohnya data baru yang
bernama Vino memiliki penghasilan 3.000.000 atau leih dari 2.500.000, kemudian
data baru akan dibandingkan dengan data training atau data lama yang bisa di lihat
pada Tabel 5.9 Budi memiliki penghasilan lebih dari 2.500.000 sehingga nilai
perbandingan yang diperoleh dari data lama dengan data baru adalah 1 yang berarti
sangat mempunyai kemiripan.
Tabel 5.9 Sample Data Training
Nama Pekerjaan Tanggungan Penghasilan Status
Budi PNS 1 >2500000 Mampu
Ika Swasta 2 <750000 Kurang Mampu
Dinda Buruh 1 <2500000 Mampu
Tomy Buruh 2 <1500000 Kurang Mampu
Tasya Swasta 1 <1500000 Mampu
Sarah PNS 3 >2500000 Kurang Mampu
Berdasarkan Tabel 5.9 di atas penulis mengutip Tabel Sample Data Training
dari Jurnal Mohammad Syaifuddin, dapat dijelaskan bahwa tabel data training
digunakan sebagai acuan perbandingan dengan data baru. Misalkan ada kasus baru
pada data testing dengan nilai atribut seperti pada tabel 5.10. Kasus baru tersebut
akan dihitung kedekatannya dengan kasus lama yang terdapat pada data training
tabel 5.9 dan hasil yang diperoleh dari tingkat kemiripan data baru dengan data lama
bisa dilihat pada tabel 5.11.
Tabel 5.10 Sample Data Testing
Siswa Pekerjaan Tanggungan Penghasilan Status
Vino PNS 3 3000000
74
Berdasarkan tabel 5.10 di atas, dapat dijelaskan bahwa Sample data testing
diperoleh dari salah satu data hasil observasi di Wilayah RW 13 yang akan
digunakan untuk perbandingan dengan data lama atau data training. Kemudian
proses klasfikasi data lama dengan data baru dapat dijelaskan dibawah ini:
Jarak Budi
1. Budi = (axb) + (cxd) + (exf)
b+d+f
= (1x1) + (0,2x0,75) + (1x0,5)
1 + 0.75 + 0.5
= 1.65
2.25
= 0,73333333
Jarak Ika
2. Ika = (axb) + (cxd) + (exf)
b+d+f
= (0,6x1) + (0,6x0,75) + (0x0,5)
1 + 0.75 + 0.5
= 1.05
2.25
= 0,46666667
Jarak Dinda
3. Dinda = (axb) + (cxd) + (exf)
b+d+f
= (0x1) + (0,2x0,75) + (0,6x0,5)
1 + 0.75 + 0.5
= 0.45
2.25
= 0,2
Jarak Tomy
4. Tomy = (axb) + (cxd) + (exf)
b+d+f
= (0x1) + (0,6x0,75) + (0,2x0,5)
1 + 0.75 + 0.5
= 0.55
2.25
= 0,24444
75
Jarak Tasya
5. Tasya = (axb) + (cxd) + (exf)
b+d+f
= (0,6x1) + (0,2x0,75) + (0,2x0,5)
1 + 0.75 + 0.5
= 0.85
2.25
= 0,3777
Jarak Sarah
6. Sarah = (axb) + (cxd) + (exf)
b+d+f
= (1x1) + (1x0,75) + (1x0,5)
1 + 0.75 + 0.5
= 2.25
2.25
= 1
Dari ke 6 (enam) data diatas merupakan contoh perhitungan manual
kedekatan antara data baru dengan data lama. Jadi, kesimpulannya dari 1 contoh
sample data testing warga yang bernama Vino, masuk ke dalam klasifikasi data
berstatus Tidak Mampu. Dari ke-6 data training, Vino mempunyai kemiripan
dengan 3 data yang paling tertinggi atau paling mirip yaitu Budi berstatus (Mampu),
Ika berstatus (Tidak Mampu), dan Sarah berstatus (Tidak Mampu).
5.1.4 Confusion Matrix
Confusion Matrix merupakan salah satu cara untuk menganalisis kinerja
model klasifikasi.
Tabel 5.11 Hasil Klasifikasi Data Testing
No. NIK NAMA PENGHASI
LAN
TANGGU
NGAN PEKERJAAN
Actual
Class
Predict
Class
1 3173071707650000 Ir. C. Y.
Satyagraha >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
2 3173070704670000 Erlis Nirza >2.500.000 2 Wiraswasta Tidak
Mampu
Tidak
Mampu
3 3173072207780000 Dinar Agung
Setyono >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
76
4 3173071108800000 Yadi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
5 3173071509700000 Ilham >2.500.000 2 Swasta Mampu Mampu
6 3173075111660000 Hamimah <1.500.000 2 Buruh Tidak
Mampu
Tidak
Mampu
7 3173070110670000 Prasetiyo
Indroharto >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
8 3173071403750000 Bayu
Parikesit >2.500.000 2 Swasta Mampu
Tidak
Mampu
9 3173070707760000 Widodo >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
10 3173072203780000 Basuki Pujiyanto
<2.500.000 3 Wiraswasta Mampu Tidak
Mampu
11 3173071902800000 Endang
Suherman >2.500.000 2 Swasta Mampu
Tidak
Mampu
12 3173075204830000 Afrianti <1.500.000 3 Buruh Tidak
Mampu
Tidak
Mampu
13 3173073112650010 Budiman <2.500.000 3 Wiraswasta Mampu Tidak
Mampu
14 3174051004920000 Zaenaldi
Prima >2.500.000 2 Swasta Mampu
Tidak
Mampu
15 3173070703810010 Kudih >2.500.000 2 Wiraswasta Tidak
Mampu
Tidak
Mampu
16 3171042904910000 Bias Arthony >2.500.000 2 Swasta Mampu Tidak
Mampu
17 3674040202900000 Ken
Bramantyo >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
18 3173072206720000 Rudy
Hartono >2.500.000 3 Wiraswasta
Tidak
Mampu
Tidak
Mampu
19 3173070411760000 Darmawan >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
20 3316063008750000 Slamet >2.500.000 2 Swasta Mampu Tidak
Mampu
21 3175090606750010 Muidin >2.500.000 2 Swasta Mampu Tidak
Mampu
22 3173071912480000 Muhamad
Sidik <1.500.000 2 Buruh
Tidak
Mampu
Tidak
Mampu
23 3203120105740000 Burhanudin <2.500.000 3 Wiraswasta Mampu Tidak
Mampu
24 3173071911670000 Amirudin >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
25 3173081409790000 Hilmi
Rachmatulloh >2.500.000 2 Swasta Mampu
Tidak
Mampu
26 3173076202720000 Purtiningsih <1.500.000 3 Buruh Tidak
Mampu
Tidak
Mampu
27 3173072212700000 Joko
Mulyono >2.500.000 2 Swasta Mampu
Tidak
Mampu
28 3173050603910010
Devito
Aditya
Warisman
>2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
29 3171032509760000 Imam Slamet
Riyadi >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
30 3173054305850010 Dina
Mayilina <750.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
77
31 3173051408860000 A Siswanto >2.500.000 2 Swasta Mampu Tidak
Mampu
32 3174031507650000 Hambali >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
33 3173072512680000 Fauzi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
34 3173071704640000 Andreas
Parjan >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
35 3173071208720010 Adji Agus
Salim >2.500.000 2 Swasta Mampu
Tidak
Mampu
36 3173075201430000 Suparmi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
37 3173071705610000 Sudibyo >2.500.000 2 Swasta Mampu Tidak
Mampu
38 3173072803710000 Burhanuddin >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
39 3173070207730010 Marsono >2.500.000 1 Swasta Mampu Mampu
40 3173070301510000 Djoko
Laksono >2.500.000 3 PNS
Tidak
Mampu
Tidak
Mampu
41 3174105502830000 Saodah >2.500.000 2 Swasta Mampu Tidak
Mampu
42 3173072901930000 Luthfi
Pradityo >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
43 3202130605980000 Dasep
Indrawan >2.500.000 1 Swasta Mampu Mampu
44 3173051002710000 Sadiman <2.500.000 2 Wiraswasta Mampu Mampu
45 3173072512820010 Irpan >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
46 3173072106760000 Buhori >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
47 3173077112720020 Masuroh <750.000 3 Buruh Tidak
Mampu
Tidak
Mampu
48 3173072507640000 Murodi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
49 3173071907620000 Usman <1.500.000 2 Buruh Tidak
Mampu
Tidak
Mampu
50 3173070301740000 Sarmili >2.500.000 2 Swasta Mampu Mampu
51 3173072303780000 Anton
Sumarlin >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
52 3173071111740010 Abdul Rosid >2.500.000 3 Swasta Tidak
Mampu Tidak
Mampu
53 3173051312640000 Rusli >2.500.000 3 PNS Tidak
Mampu
Tidak
Mampu
54 3322101902700000 Fx. Mardi
Hartono >2.500.000 2 Swasta Mampu Mampu
55 3173085908880000 Sri Rizkiyah >2.500.000 2 Swasta Mampu Mampu
56 3174052805910000 Amirudin >2.500.000 1 Swasta Mampu Mampu
57 3173072704680000 A Tarmizi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
58 3173051410850010 Darullah >2.500.000 1 Swasta Mampu Mampu
59 3173077112491000 Sawiyah <750.000 3 Buruh Tidak
Mampu
Tidak
Mampu
78
60 3173073003750000 Ahmad Rivai >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
61 3173070109760000 Rinto Virgo
Ginting >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
62 3173071608740000 Agus Susanto >2.500.000 2 Swasta Mampu Mampu
63 3173074707790000 Devi
Ernawati <750.000 2 Buruh
Tidak
Mampu
Tidak
Mampu
64 3173076002460000 Jublina A.Pah
Mooy <750.000 2 Buruh
Tidak
Mampu
Tidak
Mampu
65 3173021708780020 M. Bayu
Romadon <2.500.000 3 Wiraswasta Mampu
Tidak
Mampu
66 3173070807750000 Ferry Saputra >2.500.000 3 Swasta Tidak
Mampu Tidak
Mampu
67 3173076506770000 Melawati <750.000 2 Buruh Tidak
Mampu
Tidak
Mampu
68 3173071202740000 Semuel
Onmani >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
69 3173070707750010 Kasmuri <1.500.000 3 Buruh Tidak
Mampu
Tidak
Mampu
70 3173072005700010 Syahrizal
Lubis >2.500.000 1 Swasta Mampu Mampu
71 3173072606720000 Suyono >2.500.000 2 Swasta Mampu Mampu
72 3173071710740000 Mistar
Iriyanto <750.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
73 3173072412630000 Dirun <2.500.000 3 Swasta Tidak
Mampu Tidak
Mampu
74 3173070606761000 Tiswan >2.500.000 2 Swasta Mampu Mampu
75 3173070109660000 Budi
Sjafrudin >2.500.000 2 Swasta Mampu Mampu
76 3173030504760000 Idris >2.500.000 2 Swasta Mampu Mampu
77 3173071510580000 Sudiyanto >2.500.000 3 Buruh Tidak
Mampu Tidak
Mampu
78 3173070806700010 Asep
Suherman >2.500.000 1 Swasta Mampu Mampu
79 3173070212700000
Tohom
Parasian
Situmea
>2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
80 3173070704760000 Ujang
Lukman >2.500.000 2 Swasta Mampu Mampu
81 3204120305780010 Wahyudi <2.500.000 2 Wiraswasta Mampu Mampu
82 3173070409640000 Makmun >2.500.000 3 Pns Tidak
Mampu
Tidak
Mampu
83 3173071607480000 Ramli Ahmad <2.500.000 2 Wiraswasta Mampu Mampu
84 3173075911510000 Tatty Pudji
Haryati <1.500.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
85 3173051507820010 Mohamad
Ilham >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
86 3518091702780000 Ali Thohir >2.500.000 1 Wiraswasta Mampu Mampu
87 3173070506790000 Joni Anto >2.500.000 2 Swasta Mampu Mampu
88 3173073010740000 Omer
Heranova >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
79
89 3173071809580000 Umar <1.500.000 2 Buruh Tidak
Mampu
Tidak
Mampu
90 317070708460002 Sudrajat >2.500.000 2 Wiraswasta Tidak
Mampu Mampu
91 3173072210650000 Abdul Latip <1.500.000 3 Buruh Tidak
Mampu
Tidak
Mampu
92 3173070308730000 Muhadi >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
93 3173070905790000 Mat Nuh >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
94 3173074209750000
Vanda
Bahruddin
Putri
>2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
95 3173072607640000 Taufik, Sh >2.500.000 3 Wiraswasta Tidak
Mampu
Tidak
Mampu
96 3173072007770010 Syarifulloh >2.500.000 3 Wiraswasta Tidak
Mampu
Tidak
Mampu
97 3173077011310000 Maisyaroh <1.500.000 1 Buruh Mampu Mampu
98 3173070902650000 Fachrudin >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
99 3171073007800000 Muhammad
Irfan Fatony >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
100 3173070307710000 Lili Gozali
Siregar >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
101 3173074106670000 Yuniar
Siregar <1.500.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
102 3173071203510000 Muhamad
Ropi Effendi <1.500.000 3 PNS
Tidak
Mampu
Tidak
Mampu
103 3173076112501000 Hj. Hilmiyah <1.500.000 1 Buruh Mampu Tidak
Mampu
104 3173072106610000 Mohammad
Nur <1.500.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
105 3173071506760010 Sugiharto >2.500.000 3 Wiraswasta Tidak
Mampu Tidak
Mampu
106 3173072705570000 M. Zen >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
107 3173070201420000 Rahman
Arifin >2.500.000 3 PNS
Tidak
Mampu
Tidak
Mampu
108 3173076407790000 Titah
Anggraeni <1.500.000 2 Buruh
Tidak
Mampu
Tidak
Mampu
109 3173070308590000 Husin >2.500.000 2 Wiraswasta Tidak
Mampu Mampu
110 360328201880005 Muhammad
Hafiz Thobar >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
111 3173072106880000 Abdul Ajis >2.500.000 3 Swasta Tidak
Mampu
Tidak
Mampu
112 3173071208691000 Karsa Wijaya >2.500.000 3 Wiraswasta Tidak
Mampu
Tidak
Mampu
113 3173077112610000 Saniah <1.500.000 1 Buruh Mampu Tidak
Mampu
114 3173075204680000 Muanah <1.500.000 3 Buruh Tidak
Mampu
Tidak
Mampu
115 3173074704380000 Ny. Kartini
Tamba Sh <1.500.000 1 Buruh Mampu
Tidak
Mampu
80
116 3173020606400000 Drs. Peter Vc
Renjut <1.500.000 2 PNS
Tidak
Mampu
Tidak
Mampu
117 3173072208410000 Drs. M. Jamil
Usman <1.500.000 2 PNS
Tidak
Mampu
Tidak
Mampu
118 3174056203590000 Nasilah <1.500.000 1 Buruh Mampu Tidak
Mampu
119 3173076003680000 Tri Vetriyati
Halim <1.500.000 3 Buruh
Tidak
Mampu
Tidak
Mampu
120 3173070702640000 Abdul
Rahman >2.500.000 3 Swasta
Tidak
Mampu
Tidak
Mampu
Dari hasil 120 Data Proses Klasifikasi yang disajikan pada tabel diatas maka
dapat dikonversi kedalam bentuk tabel confussion matrix seperti dibawah:
Tabel 5.12 Pengujian Confusion Matrix
Record: 25 Data
Predicted:
Mampu
Predicted:
Tidak Mampu Total
Actual: Mampu TP = 22 FN = 20 P = 42
Actual: Tidak Mampu FP = 2 TN = 76 N = 78
Total P = 24 N = 96 P+N = 120
Berdasarkan tabel conffussion matrix diatas maka kinerja dari penggunaan
metode klasifikasi K-Nearest Neighbor dapat diukur dengan menghitung nilai
Sensitivity, Specificity, Precission dan Accuracy.
Sensitivity : 𝑇𝑃
𝑃=
22
24= 0,9166
Specificity : 𝑇𝑁
𝑁=
76
96= 0,7916
Precision : 𝑇𝑃
𝑇𝑃+𝐹𝑃=
22
22+2=
22
24= 0,9166
Accuracy : 𝑇𝑃+𝑇𝑁
𝑃+𝑁𝑥 100% =
22+76
120𝑥 100% =
98
120𝑥 100% = 81,66%
Berdasarkan perhitungan di atas, maka diperoleh jumlah True Negative
sebanyak 76, dan False Positive sebanyak 2. Hasil True Positive sebanyak 22, dan
False Negative sebanyak 20. Maka tingkat akurasi yang diperoleh menggunakan
Algoritma K-Nearest Neighbor untuk Klasifikasi Warga sebesar 81,66%.
81
5.2 Pengujian Sistem
Pada tahapan ini akan dilakukan pengujian sistem untuk memeriksa
apakah suatu perangkat lunak yang dihasilkan sudah dapat dijalankan sesuai dengan
standar tertentu. Pengujian sistem merupakan hal terpenting yang bertujuan untuk
menemukan kesalahan-kesalahan atau kekurangan-kekurangan pada perangkat
lunak yang diuji.
Tabel 5.13 Black Box
No. Input Event Fungsi Hasil Sistem Hasil Uji
1. Klik Menu Login Langkah awal untuk
mengakses ke Form
Data Testing
Ditampilkan Form
Data Testing
Sesuai
2. Klik Menu Bobot Untuk menampilkan
Form Bobot
Ditampilkan Form
Bobot
Sesuai
3. Klik Menu
Attribute
Untuk menampilkan
Form Menu Attribute
Ditampilkan Form
Attribute
Sesuai
4. Klik Menu Data
Training
Untuk menampilkan
Form Data Training
Ditampilkan Form
Data Training
Sesuai
5. Klik Menu Data
Testing
Untuk menampilkan
Form Data Testing
Ditampilkan Form
Data Testing
Sesuai
6. Klik Menu Report Untuk menampilkan
Form Report
Ditampilkan Form
Report
Sesuai
7. Klik Menu User Untuk menampilkan
Form User
Ditampilkan Form
User
Sesuai
82
BAB VI
PENUTUP
6.1 Kesimpulan
Berdasarkan penelitian yang telah dilakukan oleh penulis mengenai
Implementasi Algoritma K-Nearest Neighbor Untuk Mengklasifikasi Warga Yang
Layak Mendapatkan Bantuan Sosial, maka dapat diambil kesimpulan sebagai
berikut:
1. Dengan adanya aplikasi klasifikasi penerima Bantuan Sosial ini untuk
kedepannya para Staff menjadi lebih cepat dalam input data, serta
memproses pemilihan warga yang berhak mendapatkan Bantuan
Sosial.
2. Menggunakan metode K-Nearest Neighbor dalam aplikasi penerima
Bantuan Sosial ini untuk menghindari terjadinya kesalahan dalam
menentukan warga yang dapat menerima Bantuan Sosial.
3. Dari hasil test Confusion Matrix, maka diperoleh jumlah True
Negative sebanyak 5, dan False Positive sebanyak 5. Hasil True
Positive sebanyak 10, dan False Negative sebanyak 5. Maka tingkat
akurasi yang diperoleh menggunakan Algoritma K-Nearest Neighbor
sebesar 60%.
4. Adanya Aplikasi KNN ini, Para Staff bisa dapat menyimpan laporan
data warga dengan terstruktur baik soft copy maupun hard copy.
5. Dan aplikasi KNN ini bisa digunakan di berbagai platform manapun
sehingga memudahkan Staff untuk menginput data,bisa digunakan
pada browser di Hp, Laptop dan nanti akan ada instruksi untuk
menginstal di android atau di desktop yang akan digunakan.
6.2 Saran
Penulis menyadari penelitian klasifikasi Algoritma K Nearest
Neighbor yang telah dibuat masih memiliki banyak kekurangan. Oleh
83
karena itu, ada beberapa hal yang dapat dipertimbangkan untuk
mengembangkan penelitian ini agar lebih baik yaitu:
1. Untuk penelitian selanjutnya menggunakan metode selain K-Nearest
Neighbor, atau dapat membandingkan antara dua metode dalam satu
studi kasus. Contohnya bisa menggunakan Metode K-Nearest
Neighbor dan Learning Vector Quantization
2. Proses klasifikasi Perhitungan Data yang dilakukan oleh penulis saat
ini masih 1 per satu data, maka dari itu diharapkan untuk penelitian
selanjutnya untuk melakukan perhitungan data secara bersamaan
sesuai banyaknya data yang diperoleh dari hasil observasi.
3. Diharapkan untuk penelitian selanjutnya agar ditingkat kan lagi
banyaknya data saat proses pengujian data yang akan digunakan.
Karena semakin banyak data yang digunakan, akan semakin akurat
hasilnya.
84
DAFTAR PUSAKA
Julisman, Agung. 2014. Aplikasi Travel dengan AngularJS & Codeigniter. Penerbit
Lokomedia. Yogyakarta 2014
Suntoro, Joko. 2019. Data Mining: Algoritma dan Implementasi dengan
Pemrograman PHP. Penerbit PT Elex Media Komputindo. Jakarta 2019
Abdulloh, Rohi. 2018. Mudah Membuat Aplikasi Android dengan Ionic 3. Penerbit
PT Elex Media Komputindo. Jakarta 2018
Badan Pusat Statistik Provinsi DKI Jakarta (BPS-Statistics of DKI Jakarta
Province) https://jakarta.bps.go.id/pressrelease/2019/07/15/358/persentase
penduduk-miskin-dki-jakarta-maret-2019-sebesar-3-47-persen.html Diakses
Pada: Desember 2019
Riswan Abidin. 2015 https://teknojurnal.com/ionic-framework-tool-untuk-
membuat-aplikasi-mobile-lintas-platform/ Diakses pada: 26 Januari 2020
Rifqi Mulyawan, 2019 https://rifqimulyawan.com/blog/pengertian-xampp/ Diakses
pada: 26 Januari 2020
Mughnifar Ilham, 2019 https://materibelajar.co.id/pengertian-wawancara-menurut-
para-ahli/ Diakses pada: 26 Januari 2020
Riduan, 2004 http://www.sarjanaku.com/2013/04/pengertian-metode-observasi-
definisi.html Diakses pada: 26 Januari 2020
Takagi Fujimaru, 2018 https://www.codepolitan.com/10-plugin-visual-studio-
code-untuk-buat-kodingmu-lebih-menyenangkan-5ac1ee2fd97c9 Diakses
pada: 27 Januari 2020
Inna Alvi Nikmatun dan Indra Waspada. 2019 Diakses Pada: 27 Januari 2020
https://jurnal.umk.ac.id/index.php/simet/article/view/2882/1855
http://penapersada.com/humanika/index.php/humanika/article/view/38
85
Haditsah Annur 2018 ILKOM Jurnal Ilmiah Volume 10 Nomor 2 Agustus 2018 p-
ISSN 2087-1716 e-ISSN 2548-7779
Dwi Rahayu Utami. 2018. Aplikasi Monitoring Keluarga Miskin Menggunakan
Metode K Means Clustering Berbasis Mobile GIS
Muhamad Jabal Tursina. 2019. Sentimen Analisis Sistem Zonasi Sekolah Pada
Media Sosial Youtube Menggunakan Metode K-Nearest Neighbor Dengan
Algoritma Levensthein Distance
Haditsah Annur dan Moh. Efendi Lasulika. 2019. JURNAL INFORMATIKA
UPGRIS Vol. 5, No. 2 Desember 2019 P/E-ISSN: 2460-4801/2447-6645
Fatkur Rhohman, M.Pd. dan Patmi Kasih, M.Kom. 2017. Sistem Bantu Pemilihan
Penerima Bantuan Siswa Miskin Menggunakan KNN (K-NEAREST
NEIGHBOR.
86
LAMPIRAN I
HASIL WAWANCARA
Hari, Tanggal : Jum’at, 29 November 2019
Waktu : 19.30 WIB
Tempat : Kediaman Ketua RW 13 Kelurahan Palmerah Kecamatan
Palmerah Jakarta Barat
Narasumber : Bapak Muhamad Zen, S.E Selaku Ketua RW 13
1. Apakah di Wilayah RW 13 Kelurahan Palmerah Kecamatan Palmerah Jakarta
Barat sudah ada Program untuk menyalurkan Bantuan Sosial? Apabila ada,
apakah sudah tersedia aplikasi Untuk Porgam Bantuan Sosial?
Jawab : Program Bantuan Sosial di Wilayah RW 13 sudah ada sejak 2017,
namun untuk pengurusan dokumen masih manual yaitu dalam pencatatan
dokumen, penyimpanan dokumen, serta pemilihan warga yang layak
mendapatkan bantuan sosial.
2. Sejak kapan Program Bantuan Sosial di Wilayah RW 13 berjalan?
Jawab : Program Bantuan Sosial di Wilayah RW 13 sudah berjalan
terhitung sejak tahun 2017 hingga saat ini dan program Bantuan Sosial
diadakan rutin setiap tahun nya.
3. Dimana sajakah lokasi / tempat yang dituju untuk menyalurkan Bantuan
Sosial?
Jawab : Wilayah RW 13 memiliki 8 RT yaitu RT 001 – 008, dan saat ini
Program Bantuan Sosial hanya 8 RT saja yang dijadikan tempat untuk
penerima Bantuan Sosial.
87
4. Siapa sajakah yang ikut berpartisipasi dalam Program Bantuan Sosial? Dan
siapa sajakah yang berhak mendapatkan Bantuan Sosial?
Jawab : Selain Staff RT 001 -008, Ibu-ibu Kader pun juga ikut
berpartisipasi dalam Program Bantuan Sosial ini, dan Banyaknya Donatur dari
dalam wilayah RW 13 juga yang ikut berpartisipasi.
Warga yang berhak mendapatkan Bantuan Sosial apabila dilihat dari
Identitasnya, apabila warga tersebut bukan warga wilayah RT 001-008 maka
tidak berhak mendapatkan bantuan sosial ini, dan semua dipertimbangkan
mulai dari penghasilan orang tua, tanggungan orang tua dan yang paling utama
adalah pekerjaan orang tua.
5. Mengapa warga tersebut bisa mendapatkan Bantuan Sosial?
Jawab : Karena setiap tahun meningkatnya jumlah kemiskinan di wilayah
RW 13 sehingga, Staff Rt 001-008, Ibu-ibu kader dan Pak RW 13 membentuk
Program Bantuan Sosial ini untuk meringangkan beban sekaligus membantu
ekonomi warga di Wialayah RW 13 agar tercukupi.
6. Bagaimana cara untuk mengurangi tingkat kemiskinan di Wilayah RW 13 ini
selain menjalankan Program Bantuan Sosial? Dan Bagaimana harapan untuk
kedepannya?
Jawab : Selain mengadakan Program Bantuan Sosial rutin setiap tahunnya,
Para Staff RW 13 mengadakan program untuk anak Yatim Piatu yang masih
sekolah dari tingkat SD – SMA. Program ini berupa penyaluran Uang Saku/
Uang SPP untuk membantu biaya Sekolah / Pendidikan bagi anak yatim piatu
tersebut.
Besar harapan Bapak Muhamad Zen, selaku ketua RW 13 untuk Program
Bantuan Sosial ini agar diciptakan aplikasi yang digunakan untuk
mempermudah dalam penginputan data, menyimpan data agar tidak tercecer
banyaknya data.
88
LAMPIRAN II
IMPLMENTASI CODE
1. Data_training.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Data_training extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('Data_training_model');
$this->load->library('form_validation');
}
/**
* ini untuk menampilkan data training dan nilai bobot dan attrib
ute
*/
public function index()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data_training = $this->db-
>query("SELECT * FROM data_training")->result();
$nilai_atribut = $this->db-
>query("SELECT na.*,b.nilaibobot FROM nilai_attribut na Inner Join B
obot b On na.idbobot=b.idbobot")->result();
$bobot = $this->db->query("SELECT * FROM bobot")-
>result();
echo json_encode(array('Status'=>200,'Data_training'=>$d
ata_training,'Nilai_atribut'=>$nilai_atribut,'Bobot'=>$bobot), JSON_
PRETTY_PRINT);
}
function comparator($a, $b) {
return $a->hasilsetelah < $b->hasilsetelah;
}
/**
89
* ini untuk mengkalkukasi perhitungan dari data testing dan dat
a training
*/
public function hitung()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input"));
$list = array();
foreach($data as $m)
{
$m->penghasilan = $m->resultpenghasilan-
>nilaibobot * $m->resultpenghasilan->nilai;
$m->kerjaan = $m->resultpekerjaan-
>nilaibobot * $m->resultpekerjaan->nilai;
$m->tanggungan = $m->resulttanggungan-
>nilaibobot * $m->resulttanggungan->nilai;
$m->totalbobot = $m->resultpenghasilan->nilaibobot+$m-
>resultpekerjaan->nilaibobot+$m->resulttanggungan->nilaibobot;
$m->hasilsebelumbobot = $m->kerjaan+$m->tanggungan+$m-
>penghasilan;
$m->hasilsetelah = $m->hasilsebelumbobot / $m-
>totalbobot;
array_push($list,$m);
}
usort($list,array($this, "comparator"));
echo json_encode(array('Status'=>200,'Data'=>$list), JSON_PR
ETTY_PRINT);
}
/**
* ini untuk menyimpan data testing yang sudah diinput
*/
public function Simpan()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input"));
$this->db->trans_begin();
$this->db-
>query("INSERT INTO data_testing(nip,nama,tempat_lahir,tgl_lahir,jen
is_kelamin,tanggungan,pekerjaan,penghasilan,status) VALUES ('$data-
>nip','$data->nama','$data->tempat_lahir','$data->tgl_lahir','$data-
90
>jenis_kelamin','$data->tanggungan','$data->pekerjaan','$data-
>penghasilan','$data->nilai')");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'Input
failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'Input
success'), JSON_PRETTY_PRINT);
}
}
/**
* ini memunculkan data testing kedalam halaman report
*/
public function GetDataTesting()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data_testing = $this->db-
>query("SELECT * FROM `data_testing`")->result();
echo json_encode(array('Status'=>200,'Data_testing'=>$da
ta_testing), JSON_PRETTY_PRINT);
}
}
/* End of file Data_training.php */
/* Location: ./application/controllers/Data_training.php */
/* Please DO NOT modify this information : */
/* Generated by Harviacode Codeigniter CRUD Generator 2019-09-
12 18:38:09 */
/* http://harviacode.com */
91
2. Master.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Master extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('Master_data_model');
$this->load->library('form_validation');
}
/**
* ini memunculkan data bobot kehalaman bobot /get atau lis
t
*/
public function index()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data = $this->db-
>query("SELECT * FROM bobot order by idbobot asc")->result();
echo json_encode(array('Status'=>200,'Data'=>$data),
JSON_PRETTY_PRINT);
}
/**
* ini untuk menyimpan data bobot
*/
public function Simpan()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("INSERT INTO bobot(idbobot,namabobot,nilaibobot) VALUES ('$da
ta->idbobot','$data->namabobot','$data->nilaibobot')");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
92
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk mengubah data bobot
*/
public function Ubah()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db->query("UPDATE bobot SET namabobot='$data-
>namabobot',nilaibobot='$data->nilaibobot' WHERE idbobot='$data-
>idbobot'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'U
pdate failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'U
pdate success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menghapus data bobot
*/
public function Hapus()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
93
$this->db->trans_begin();
$this->db-
>query("Delete FROM bobot WHERE idbobot='$data->idbobot'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'D
elete failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'D
elete success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menampilkan data training dihalaman data trai
ning
*/
public function GetdataTraining()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data = $this->db-
>query("SELECT * FROM data_training")->result();
echo json_encode(array('Status'=>200,'Data'=>$data),
JSON_PRETTY_PRINT);
}
/**
* ini untuk menyimpan data training
*/
public function SimpantdataTraining()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("INSERT INTO data_training(nip,nama,tempat_lahir,tgl_lahir,je
nis_kelamin,tanggungan,pekerjaan,penghasilan,status) VALUES ('$data-
>nip','$data->nama','$data->tempat_lahir','$data->tgl_lahir','$data-
94
>jenis_kelamin','$data->tanggungan','$data->pekerjaan','$data-
>penghasilan','$data->status')");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk merubah data training
*/
public function UbahdataTraining()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("UPDATE data_training SET nip='$data->nip',nama='$data-
>nama',tempat_lahir='$data->tempat_lahir',tgl_lahir='$data-
>tgl_lahir',jenis_kelamin='$data->jenis_kelamin',tanggungan='$data-
>tanggungan',pekerjaan='$data->pekerjaan',penghasilan='$data-
>penghasilan',status='$data->status' WHERE id_data_training='$data-
>id_data_training'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'U
pdate failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'U
pdate success'), JSON_PRETTY_PRINT);
}
}
95
/**
* ini untuk menghapus data training
*/
public function HapusdataTraining()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("Delete FROM data_training WHERE id_data_training='$data-
>id_data_training'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'D
elete failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'D
elete success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menampilkan data attribute kehalaman attribute
*/
public function GetNilaiAttribute()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data = $this->db-
>query("SELECT * FROM nilai_attribut ORDER BY no DESC")->result();
echo json_encode(array('Status'=>200,'Data'=>$data),
JSON_PRETTY_PRINT);
}
/**
* ini untuk menyimpan attribute
*/
public function SimpantAttribute()
{
96
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("INSERT INTO nilai_attribut(idbobot,namabobot,data_baru,data_
lama,nilai) VALUES ('$data->idbobot','$data->namabobot','$data-
>data_baru','$data->data_lama','$data->nilai')");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk merubah attribute
*/
public function UpdateAttribute()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("UPDATE nilai_attribut SET idbobot='$data-
>idbobot',namabobot='$data->namabobot',data_baru='$data-
>data_baru',data_lama='$data->data_lama',nilai='$data-
>nilai' WHERE no='$data->no'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
97
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menghapus attribute
*/
public function DeleteAttribute()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("Delete FROM nilai_attribut WHERE no='$data->no'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menampilkan data user
*/
public function GetdataUser()
{
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
$data = $this->db->query("SELECT * FROM user")-
>result();
echo json_encode(array('Status'=>200,'Data'=>$data),
JSON_PRETTY_PRINT);
}
/**
* ini untuk menyimpan user
98
*/
public function SimpantUser()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("INSERT INTO user(username,password) VALUES ('$data-
>username','$data->password')");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk merubah data user
*/
public function UpdateUser()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db->query("UPDATE user SET username='$data-
>username',password='$data->password' WHERE iduser='$data-
>iduser'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
99
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk menghapus data user
*/
public function DeleteUser()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input")
);
$this->db->trans_begin();
$this->db-
>query("Delete FROM user WHERE iduser='$data->iduser'");
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
echo json_encode(array('Status'=>500,'Data'=>'I
nput failed'), JSON_PRETTY_PRINT);
}
else
{
$this->db->trans_commit();
echo json_encode(array('Status'=>200,'Data'=>'I
nput success'), JSON_PRETTY_PRINT);
}
}
/**
* ini untuk validasi
*/
public function Login()
{
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input"))
;
$this->db->trans_begin();
$cek = $this->db-
>query("SELECT * FROM user WHERE username='$data-
>username' AND password='$data->password'")->row();
if ($cek == null)
{
100
echo json_encode(array('Status'=>500,'Data'=>nu
ll), JSON_PRETTY_PRINT);
}
else
{
echo json_encode(array('Status'=>200,'Data'=>$c
ek), JSON_PRETTY_PRINT);
}
}
}
top related