SEKOLAH TINGGI TEKNIK - PLN
SISTEM DETEKSI OBJEK PADA KARTU TANDA
PENDUDUK (KTP) UNTUK MENDUKUNG LAYANAN
PASANG BARU DAN TAMBAH DAYA PT. PLN (AREA)
SINGKAWANG
SKRIPSI
DISUSUN OLEH:
PUJI FITRIANA
2014-31-022
PROGRAM STUDI SARJANA
TEKNIK INFORMATIKA
JAKARTA, 2018
PERNYATAAN KEASLIAN PROYEK SKRIPSI
Nama : PUJI FITRIANA
NIM : 201431022
Jurusan : Teknik Informatika
Judul Skripsi : Sistem Deteksi Objek Pada Kartu Tanda Penduduk (KTP)
Untuk Mendukung Layanan Pasang Baru Dan Tambah Daya
Pada PT. PLN (Area) Singkawang.
Dengan ini saya menyatakan bahwa dalam Skripsi ini tidak terdapat karya
yang pernah diajukan untuk memperoleh gelar Sarjana baik di lingkungan STT-
PLN maupun di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga
tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh
orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan
dalam daftar pustaka. Pernyataan ini dibuat dengan penuh kesadaran dan rasa
tanggung jawab serta bersedia memikul segala resiko jika ternyata pernyataan
ini tidak benar.
Jakarta, Agustus 2018
Puji Fitriana
NIM : 2014-31-022
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
TUGAS AKHIR UNTUK KEPENTINGAN AKADEMIK
Sebagai sivitas akademika Sekolah Tinggi Teknik – PLN, saya yang bertanda
tangan dibawah ini :
Nama : Puji Fitriana
NIM : 2014-31-022
Program Studi : Teknik Informatika
Jurusan : S1 Teknik Informatika
Jenis karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Sekolah Tinggi Teknik – PLN Hak Bebas Royalti Non eksklusif (Non-exclusive
Royalty Free Right) atas karya ilmiah saya yang berjudul : SISTEM DETEKSI
OBJEK PADA KARTU TANDA PENDUDUK (KTP) UNTUK MENDUKUNG
LAYANAN PASANG BARU DAN TAMBAH DAYA PADA PT. PLN (AREA)
SINGKAWANG.
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non
eksklusif ini Sekolah Tinggi Teknik PLN berhak menyimpan, mengalih
media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat
dan mempublikasikan Tugas Akhir saya selama tetap mencantumkan nama saya
sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jakarta
Pada tanggal : Agustus 2018
Yang menyatakan
(Puji Fitriana)
KATA PENGANTAR
Assalamu’alaikum warahmatullahi wabarakatuh
Puji syukur penulis haturkan kehadirat Allah SWT karena atas limpahan rahmat
dan karunianya penulis dapat menyelesaikan sebuah skripsi yang berjudul “
SISTEM DETEKSI OBJEK PADA KARTU TANDA PENDUDUK (KTP) UNTUK
MENDUKUNG LAYANAN PASANG BARU DAN TAMBAH DAYA PADA PT.
PLN (AREA) SINGKAWANG.”. Penulisan skripsi ini merupakan salah satu
syarat untuk menyelesasikan jenjang studi Strata 1 (S1) Teknik Informatika di
Sekolah Tinggi Teknik – PLN Jakarta.
Dalam penyusunannya, penulis banyak mendapat bimbingan, motivasi
dan bantuan baik moril maupun materi dari berbagai pihak. Oleh karena itu,
melalui kesempatan ini penulis ingin menyampaikan ucapan terima kasih
kepada:
1. Keluarga, terutama untuk bapak H.Sartiman dan ibu Hj.Sulastri, serta
saudara Nanang Wardani S.E, terima kasih atas bantuan, dukungan,
perhatian dan do’a sehingga memotivasi penulis dalam menyelesaikan
penulisan skripsi ini.
2. Bapak Dr. Ir. Supriadi Legino, selaku Ketua Sekolah Tinggi Teknik – PLN.
3. Ibu Meilia Nur Indah Susanti, ST, M. Kom, selaku Ketua Jurusan Teknik
Informatika STT-PLN dan Bapak Abdurrasyid, S. Kom, MMSI selaku
Sekretaris Jurusan Teknik Informatika STT-PLN.
4. Abdul Haris, S.Kom., M.Kom dan Rizqia Cahyaningtyas, S.E., MMSI
selaku pembimbing skripsi yang telah meluangkan waktunya untuk
memberikan nasihat, arahan serta bantuan dalam memecahkan berbagai
permasalahan yang dihadapi penulis dalam penyusunan skripsi ini.
5. Semua dosen STT-PLN, terutama dosen Informatika STT-PLN yang telah
memberikan ilmu yang bermanfaat selama penulis menimba ilmu di
kampus ini.
6. Saudara Supriono, S.T dan saudara Dino Arla selaku mentor yang telah
membantu dalam menyelesaikan skripsi ini
7. Dan semua pihak yang tidak dapat penulis sebutkan satu persatu yang
telah memberikan dukungan sehingga laporan ini selesai tepat pada
waktunya.
Semoga Allah SWT memberikan berkah dan rahmat-Nya kepada semua
pihak atas segala jasa dan bantuannya kepada penulis selama ini. Penulis
menyadari sepenuhnya bahwa di dalam penulisan skripsi ini masih banyak
kekurangannya dan masih jauh dari sempurna, oleh karena itu dengan segala
kerendahan hati penulis berharap saran dan kritik demi perbaikan-perbaikan
lebih lanjut.
Terima kasih, dan semoga skripsi ini dapat memberikan manfaat bagi siapa
saja yang membacanya dan memberikan sumbangsih positif bagi kita semua.
Jakarta, Agustus 2018
Penulis
UCAPAN TERIMA KASIH
Dengan ini saya menyampaikan penghargaan dan ucapan terima kasih yang
sebesar-besarnya kepada yang terhormat:
Abdul Haris, S.Kom., M.Kom Selaku Pembimbing I
Rizqia Cahyaningtyas, S.E., MMSI Selaku Pembimbing II
Yang telah memberikan petunjuk, saran-saran serta bimbingannya sehingga
skripsi ini dapat diselesaikan.
Terima kasih yang sama, saya sampaikan kepada :
1. Meilia Nur Indah Susanti, ST., M.KOM selaku Ketua Jurusan Teknik
Informatika
2. Abdul Rasyid, S.Kom., MMSI selaku Sekretaris Jurusan Teknik
Informatika
3. Rizky Aprianto selaku Supervisor Transaksi Energi Listrik PT. PLN (Area)
Singkawang.
Yang telah mengijinkan dan membantu melakukan penelitian di PT. PLN (Area)
Singkawang.
Jakarta, Agustus 2018
Puji Fitriana
NIM: 2014-31-022
SISTEM DETEKSI OBJEK PADA KARTU TANDA
PENDUDUK (KTP) UNTUK MENDUKUNG LAYANAN
PASANG BARU DAN TAMBAH DAYA PT.PLN (AREA)
SINGKAWANG
Puji Fitriana, 2014-31-022
Dibawah bimbingan Abdul Haris, S.Kom., M.Kom dan Rizqia Cahyaningtyas,
ST, M.Kom
ABSTRAK
PT. PLN (Area) Singkawang merupakan pusat layanan Area PT PLN yang mendukung kebutuhan listrik masyarakat Singkawang. Untuk mempermudah petugas dalam melakukan pendaftaran permohonan untuk layanan pasang baru maupun tambah daya, kemudahan didalam melakukan pengisian data permohonan sesuai dengan data KTP pada laman PLN. Maka diperlukan sistem yang mampu membaca informasi pada NIK KTP secara cepat dan tepat. Dengan menggunakan platform Google Mobile Vision yang didalamnya telah tertanam algoritma metode Optical Character Recognition (OCR) digunakan untuk mengubah data citra ke dalam teks, kemudian memindahkannya pada sebuah database. Image pre-processing dilakukan dengan grayscale, filtering, kemudian dilakukan pengenalan gambar menggunakan pencocokan template. Hasil pengujian didapatkan tingkat akurasi 78 % dan tingkat akurasi sistem untuk jarak 8 cm dan 12 cm adalah 90%. Kata kunci : deteksi objek, pengenalan KTP, image processing, OCR, platform Google Mobile Vision
OBJECT DETECTION SYSTEM ON ID CARD TO
SUPPORT NEW PLUG SERVICES AND ADD POWER ON
PT.PLN (AREA) SINGKAWANG
Puji Fitriana, 201431022
Under the Guidance of Abdul Haris, S.Kom., M.Kom and Rizqia Cahyaningtyas,
ST, M.Kom
ABSTRACT
PT. PLN (Area) Singkawang is a PT PLN Area service center that supports the electricity needs of the Singkawang community. To make it easier for officers to register applications for new plug services or add power, it is easy to fill in application data in accordance with id card on PLN's website. So a system that is able to read information on the id card quickly and accurately. By using the Google Mobile Vision platform in which the Optical Character Recognition (OCR) method algorithm has been embedded is used to convert image data into text, and then the text will be mapped into the database. Image pre-processing done by grayscale, filtering, and then perform image recognition using template matching. From the method applied, the result shown 78% accuracy and the testing accuracy of the system that was taken from 8 cm and 12 cm are 90 %.
Keywords: object detection,ID Card recognition, image processing, OCR, Google
Mobile Vision platform
xi
DAFTAR ISI
Lembar Persetujuan .......................................................................................... i
Lembar Pengesahan ......................................................................................... ii
Lembar Pengesahan Tim Penguji ..................................................................... iii
Lembar Pernyataan Keaslian Tugas Akhir ........................................................ iv
Lembar Pernyataan Publikasi ........................................................................... v
Kata Pengantar ................................................................................................. vi
Ucapan Terima Kasih ....................................................................................... viii
Abstrak .............................................................................................................. ix
Abstract ............................................................................................................. x
Daftar isi ............................................................................................................ xi
Daftar Tabel ...................................................................................................... xiii
Daftar Gambar.................................................................................................. xiv
Daftar Lampiran................................................................................................ xv
BAB I PENDAHULUAN
1.1 Latar Belakang ....................................................................................... 1
1.2 Permasalahan Penelitian........................................................................ 2
1.2.1 Identifikasi Masalah ..................................................................... 2
1.2.2 Ruang Lingkup Masalah .............................................................. 3
1.2.3 Rumusan Masalah ....................................................................... 3
1.3 Tujuan dan Manfaat Penelitian ............................................................... 3
1.3.1 Tujuan Penelitian ......................................................................... 3
1.3.2 Manfaat penelitian ....................................................................... 3
1.4 Sistematika Penulisan ............................................................................ 4
BAB II TINJAUAN PUSTAKA
2.1 Tinjauan Pustaka .................................................................................... 5
2.2 Landasan Teori ....................................................................................... 6
2.2.1 Nomor Induk Kependudukan (NIK) ............................................... 6
2.2.2 Citra ............................................................................................... 7
2.2.3 Computer Vision ............................................................................ 8
xii
2.2.4 Pengolahan Citra Digital ................................................................ 9
2.2.5 Grayscale ...................................................................................... 10
2.2.6 Thresholding .................................................................................. 10
2.2.7 Closing Operation ......................................................................... 11
2.2.8 Smoothing ..................................................................................... 12
2.2.9 Image Denoising ........................................................................... 13
2.2.10 Non Local Means Denoising ....................................................... 14
2.2.11 Erosion Operation........................................................................ 14
2.2.12 Sharpening ................................................................................. 15
2.2.13 Template Matching ...................................................................... 16
2.2.14 Optical Character Recognition ..................................................... 16
2.2.15 Google Mobile Vision API ........................................................... 18
2.2.16 Text Recognition API ................................................................... 19
2.3 Kerangka Pemikiran ............................................................................... 20
BAB III METODE PENELITIAN
3.1 Analisa Permasalahan ............................................................................ 23
3.2 Teknik Penyelesaian Masalah ................................................................ 24
3.3 Perancangan Sistem .............................................................................. 31
3.3.1 Analisa Sistem Kebutuhan ............................................................ 31
3.3.1.1 Analisa Kebutuhan Perangkat Keras ................................. 31
3.3.1.2 Analisa Kebutuhan Perangkat Lunak ................................. 32
3.3.1.3 Alur Kerja Sistem ............................................................... 32
3.3.2 Diagram Alir (Flowchart) ................................................................ 34
3.3.3 Perancangan Basis Data ............................................................... 37
3.3.3.1 Relasi Tabel ....................................................................... 37
3.3.3.2 Struktur File ........................................................................ 38
3.3.4 Perancangan Tampilan ................................................................. 39
3.3.4.1 Perancangan Tampilan Halaman Utama (Android) ........... 39
3.3.4.2 Perancangan Tampilan Menu Pengaturan ......................... 41
3.3.4.3 perancangan Halaman Antarmuka Desktop ...................... 42
3.3.5 Perancangan Website Layanan PLN............................................. 43
3.3.5.1 Penanganan Sertifikat SSL Versi Lama ............................. 44
xiii
3.3.5.2 Penentuan ID Komponen Pada Website............................ 44
3.4 Teknik Analisis ....................................................................................... 46
3.4.1 Pengujian UAT .............................................................................. 46
BAB IV HASIL DAN PEMBAHASAN
4.1 Hasil ........................................................................................................ 47
4.1.1 Antarmuka Halaman Proses .......................................................... 47
4.1.2 Antar muka Halaman Aplikasi Desktop ......................................... 48
4.2 Pembahasan ........................................................................................... 48
4.2.1 Pengujian Sistem Android ............................................................. 48
4.2.2 Pengujian Aplikasi Desktop ........................................................... 56
4.2.3 Pengujian User Acceptance Test .................................................. 57
BAB V PENUTUP
5.1 Kesimpulan ............................................................................................. 61
5.2 Saran ...................................................................................................... 61
Daftar Pustaka .................................................................................................. 63
Daftar Riwayat Hidup ........................................................................................ 66
xiv
DAFTAR TABEL
Tabel 3.1 Jumlah Pelanggan ............................................................................ 23
Tabel 3.2 Kebutuhan Perangkat Lunak ............................................................. 32
Tabel 3.3 Struktur file tabel pelanggan ............................................................. 38
Tabel 3.4 Struktur file tabel pasang baru .......................................................... 38
Tabel 3.5 Struktur file tabel tambah daya ......................................................... 39
Tabel 3.6 Struktur file tabel petugas ................................................................. 39
Tabel 3.7 Pertanyaan Kuisioner ........................................................................ 46
Tabel 4.1 Hasil Pengujian Sistem ke-1 ............................................................. 49
Tabel 4.2 Hasil Pengujian Sistem ke-2 ............................................................. 51
Tabel 4.3 Hasil Pengujian Sistem ke-3 ............................................................. 53
Tabel 4.4 Hasil Pengujian ................................................................................. 54
Tabel 4.5 Hasil Pengujian Instalasi ................................................................... 56
Tabel 4.6 Pilihan Jawaban UAT ........................................................................ 57
Tabel 4.7 Bobot Nilai Jawaban ......................................................................... 57
Tabel 4.8 Penghitungan Nilai Fi ........................................................................ 58
Tabel 4.9 Kategori Penilaian ............................................................................. 60
Tabel 4.10 Hasil Pengujian ............................................................................... 60
xv
DAFTAR GAMBAR
Gambar 2.1 Nomor Induk Kependudukan (NIK) ............................................... 7
Gambar 2.2 urutan tahap-tahap image processing ........................................... 9
Gambar 2.3 perubahan citra warna menjadi keabuan ...................................... 10
Gambar 2.4 Operator closing ............................................................................ 12
Gambar 2.5 Citra sesudah mengalami dan sebelum erosi ............................... 15
Gambar 2.6 Proses OCR secara umum ........................................................... 17
Gambar 2.7 Pemisahan Teks oleh Text Recognition ........................................ 19
Gambar 2.8 Kerangka Pemikiran ...................................................................... 20
Gambar 3.1 Alur Kerja Sistem .......................................................................... 24
Gambar 3.2 Hasil Operasi Grayscale ............................................................... 25
Gambar 3.3 Proses Otsu Thresholding ............................................................. 26
Gambar 3.4 Hasil Operasi Grayscale ............................................................... 27
Gambar 3.5 Proses Mencari NIK ...................................................................... 28
Gambar 3.6 Proses Validasi NIK ...................................................................... 29
Gambar 3.7 Proses Validasi Kode NIK ............................................................. 29
Gambar 3.8 Alur Kerja Sistem .......................................................................... 33
Gambar 3.9 Flowchart Pada Sistem Android .................................................... 34
Gambar 3.10 Flowchart Pada Sistem Laptop ................................................... 36
Gambar 3.11 Relasi Tabel ................................................................................ 37
Gambar 3.12 Perancangan Tampilan Halaman Utama .................................... 40
Gambar 3.13 Perancangan Tampilan Menu Pengaturan .................................. 41
Gambar 3.14 Perancangan Halaman Antarmuka Desktop .............................. 42
Gambar 3.15 Tampilan Google Chrome Develop ............................................. 45
Gambar 4.1 Tampilan Aplikasi Android ............................................................. 47
Gambar 4.2 Tampilan Aplikasi Desktop ............................................................ 48
Gambar 4.3 Analisi Kondisi Pencahayaan Terhadap Akurasi Sistem ............... 55
Gambar 4.4 Analisi Kondisi Kualitas Terhadap Akurasi Sistem ........................ 45
xvi
DAFTAR LAMPIRAN
Lampiran Bimbingan Proyek Akhir
Rangkuman Daftar Perbaikan Skripsi
Daftar Perbaikan Skripsi Ketua Penguji
Daftar Perbaikan Skripsi Sekretaris Penguji
Daftar Perbaikan Skripsi Anggota Penguji
Hasil Wawancara
Lampiran Kuisioner
Lampiran Kode Program
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
PT. PLN (Area) Singkawang merupakan pusat layanan Area PT PLN yang
mendukung kebutuhan listrik masyarakat Singkawang, dari Aplikasi
Pelayanan Pelanggan Terpusat (AP2T), terjadi peningkatan jumlah pelanggan
PLN (Area) Singkawang menjadi 23.278 pelanggan pada tahun 2017,
peningkatan yang paling banyak dari permohonan layanan pasang baru. Saat
ini PLN telah memiliki laman yang memudahkan para pemohon dalam
melakukan permohonan pengajuan pasang baru dan tambah daya secara
online, yakni cukup membuka laman http://www.pln.co.id/. Permohonan
pasang baru atau perubahan daya secara online lebih praktis akan tetapi jalur
ini tidak banyak dimanfaatkan oleh masyarakat mengingat minimnya sumber
daya masyarakat akan internet, maka oleh sebab itu pendaftaran secara
offline paling banyak ditangani oleh loket-loket PLN (Area) Singkawang, efek
samping dari banyaknya pemohonan secara offline sehingga petugas harus
melakukan pendaftaran secara terus menerus dan berulang-ulang, dari survey
dan observasi yang dilakukan oleh penulis kepada para petugas loket PLN
memiliki beberapa kendala, seperti proses penginputan data yang masih
manual, terjadinya human error dalam penginputan data pelanggan (Maimun,
2011). Serta waktu yang dibutuhkan cukup lama untuk memproses data
pelanggan dengan waktu rata-rata 8 menit per pelanggan, laman pengajuan
pada pln.co.id akan kembali ke tampilan semula jika terjadi internet putus
sesaat sehingga petugas harus mengisi data dari awal (olga,2018)
Untuk mengatasi permasalahan tersebut, maka diperlukan suatu sistem
yang dapat mempermudah petugas dalam melakukan pendaftaran
permohonan untuk layanan pasang baru maupun tambah daya, kemudahan
didalam melakukan pengisian data permohonan sesuai dengan data KTP
pada laman PLN. Sistem yang diperlukan adalah sistem yang mampu
membaca informasi pada NIK KTP secara cepat dan tepat, mengingat
2
informasi NIK pada KTP adalah kombinasi angka unik dari setiap orang yang
angkanya tidak akan pernah sama. Informasi NIK pada KTP juga menjadi
informasi dasar pada sistem permohonan pasang baru dan perubahan daya.
Oleh karena itu, dibutuhkan suatu aplikasi yang dapat mendeteksi objek
berupa NIK pada KTP dengan bantuan image processing untuk
menterjemahkan objek tersebut menjadi citra. Kemudian hasilnya akan diolah
sebagai unit masukan, hal ini dilakukan untuk mengurangi aktifitas pengetikan
para petugas loket permohonan. Metode yang digunakan untuk mengatasi
masalah ini adalah menggunakan platform Google Mobile Vision yang
didalamnya telah tertanam algoritma metode Optical Character Recognition
(OCR).
Berdasarkan latar belakang diatas, maka perlu adanya aplikasi untuk
mempermudah dalam mendeteksi objek pada KTP terhadap layanan pasang
baru dan tambah daya pada PT. PLN (Area) Singkawang menggunakan
platform google mobile vision. Sehingga dapat membantu dalam mendeteksi
objek NIK pada KTP untuk mengurangi penginputan data dalam proses
layanan pasang baru dan perubahan daya bagi petugas loket.
1.2 Permasalahan Penelitian
Berkaitan dengan uraian latar belakang, maka penulis dapat menentukan
pokok permasalahan yang akan dibahas. Adapun permasalahan yang akan
dibahas adalah sebagai berikut :
1.2.1 Identifikasi Masalah
Berdasarkan latar belakang maka didapatkan identifikasi masalah
sebagai berikut :
1. Proses input data dalam permohonan layanan pasang baru maupun
perubahan daya yang masih manual pada loket pelayanan
2. Penggunaan KTP khususnya NIK tidak dimanfaatkan secara maksimal
didalam sistem pengajuan permohonan layanan baik pasang baru
maupun perubahan daya.
3
1.2.2 Ruang Lingkup Masalah
Adapun ruang lingkup masalah sebagai berikut:
1. Bagaimana penerapan data KTP khususnya NIK dapat dimanfaatkan
secara maksimal untuk proses input data secara otomatis dan cepat
pada layanan pasang baru maupun perubahan daya ?
2. Bagaimana penerapan image processing dalam mencari informasi NIK
pada KTP ?
1.2.3 Rumusan Masalah
Berdasarkan latar belakang maka masalah yang dirumuskan yaitu:
1. Bagaimana merancang sistem aplikasi yang dapat melakukan proses
input data pelanggan secara otomatis dan cepat pada layanan pasang
baru maupun perubahan daya ?
2. Apakah penerapan image processing dengan platform Google Mobile
Vision dalam mencari informasi NIK pada KTP dapat memaksimalkan
proses pengajuan permohonan pasang baru maupun tambah daya
pada loket PLN ?
1.3 Tujuan dan Manfaat Penelitian
Adapun tujuan dan manfaat penelitian dalam perancangan aplikasi ini
dapat diuraikan sebagai berikut:
1.3.1 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah menghasilkan suatu aplikasi
yang dapat mempermudah dalam mendeteksi objek berupa NIK pada KTP
sehingga dapat meningkatkan pelayanan pasang baru maupun tambah
daya pada PLN menjadi lebih cepat dan otomatis.
1.3.2 Manfaat Penelitian
Adapun manfaat dari penelitian ini adalah mempermudah dalam
mendeteksi objek berupa NIK pada KTP untuk memenuhi kebutuhan
pasang baru dan tambah daya bagi masyarakat Singkawang.
4
1.4 Sistematika Penulisan
Sistematika penulisan dibuat untuk mempermudah dalam penyusunan
tugas akhir ini. Sistematika penulisannya adalah sebagai berikut :
BAB I PENDAHULUAN
Bab awal ini membahas mengenai latar belakang penelitian, identifikasi
masalah, ruang lingkup masalah, rumusan masalah, tujuan dan manfaat
penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab kedua ini membahasan tentang teori-teori yang berasal dari literature-
literatur yang mendukung penyusunan tugas akhir ini. Adapun teori yang
akan dipaparkan adalah seperti pembahasan mengenai teori-teori
pendukung, teori antarmuka dan alur antarmuka.
BAB III METODE PENELITIAN
Dalam bab ini akan dibahas tentang penjelasan langkah-langkah
penelitian dalam membangun aplikasi.
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini penulis akan membahas mengenai hasil analisis
permasalahan dan rancangan aplikasi yang akan dibuat untuk analisis
masalah yang dihadapi dengan metode yang dipilih dan penerapannya
dalam bahasa program.
BAB V PENUTUP
Bab terakhir ini berisi kesimpulan terhadap aplikasi yang telah dibuat dan
berisi saran-saran membangun untuk pengembangan aplikasi yang lebih
baik.
5
BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
Beberapa penelitian yang telah dilakukan oleh penelitian sebelumnya
menyatakan bahwa, PT.PLN (Persero) mewujudkan bentuk pelayanannya
melalui unsur kemudahan bagi para pelanggannya. Kemudahan tersebut
terwujud setelah adanya pelayanan prima yang menjadikan semua
persyaratan menjadi lebih mudah bagi para pelanggannya untuk melengkapi
berkas permohonan yang diajukan. Pelayanan pasang baru dan tambah
daya dapat dinilai dari beberapa unsur teori yaitu kepastian waktu,
kemudahan akses, akurasi, keramahan, kenyamanan, dan kejelasan (Rizky,
2015). Untuk pengambilan data objek pada KTP dapat dilakukan dengan
menggunakan sistem aplikasi komputer, sehingga akan menghemat waktu
bila dibandingkan dengan melakukannya secara manual (Pratama, 2011).
Disamping itu suatu aplikasi deteksi juga diperlukan untuk dapat mengambil
data objek pada KTP dengan menggunakan kamera atau scanner bisa
mendeteksi objek serta melakukan deteksi objek secara realtime
(Mulyawan, Samsono, & setiawardhana, 2011). Selanjutnya kajian dari
penelitian yang dilakukan oleh Millatul Mizayah dan Andy Noortjahja
menyatakan bahwa hasil pengujian pada sistem deteksi objek menunjukan
keberhasilan sistem dalam mendeteksi dan mengenali objek dengan tingkat
akurasi 81,67% dengan syarat aspek pencahayaan pada saat pengambilan
objek dengan kamera atau scanner tidak berubah-ubah sehingga didapatkan
hasil yang cukup baik (Maziyah & Noortjahja, 2007). Dari hasil pengujian
pada sistem deteksi juga didapatkan bahwa ada beberapa faktor yang
mempengaruhi keakuratan yaitu cahaya, jarak, kejelasan angka pada objek
(Kusmawati & Cahyadi, 2017). Dengan menggunakan sistem deteksi maka
pendeteksian objek hanya menggunakan waktu rata-rata 15 detik untuk
seluruh sampel yang diuji (Putro, Adji, & Winduratna, 2012). Selanjutnya
kajian dari hasil penelitian tentang deteksi metode Optical Character
Recognition (OCR) dalam mengenali karakter. Penelitian ini menunjukan
6
penggunaan metode Optical Character Recognition (OCR) dalam
mendeteksi 8 gambar dari 10 gambar yang diuji dengan jumlah eror rata-rata
2 karakter yang tidak dapat dikenali. Sehingga metode Optical Character
Recognition (OCR) berhasil mendeteksi pengenalan karakter dengan
persentasi ketepatan yang cukup baik, yaitu rata-rata mencapai 87,5%
dengan persentasi terendah yaitu 75% dan persentasi tertinggi yaitu 96,25%
(Sahrizal, 2013). Metode Optical Character Recognition (OCR)
memanfaatkan data yang masih berbentuk citra yang telah diambil
menggunakan kamera atau scanner untuk mengambil informasi yang tertulis
dan memindahkannya pada sebuah database. Apabila informasi yang
terdapat dalam sebuah KTP telah masuk ke dalam database, maka komputer
akan dapat melakukan proses selanjutnya pada sebuah sistem (Widodo,
2014). Metode Optical Character Recognition (OCR) dilakukan untuk
masalah pengenalan sebuah citra. Dimana prosesnya dilakukan secara
offline setelah proses penulisan selesai dilakukan. Proses Optical Character
Recognition (OCR) dapat digunakan baik pada tulisan yang ditulis
menggunakan tangan (hand printed) ataupun tulisan hasil cetak (printed)
(Eikvil, 1993). Pada penelitian yang akan dilakukan peneliti, skripsi ini akan
di prioritaskan untuk membuat aplikasi untuk mempermudah dalam
mendeteksi objek pada KTP terhadap layanan pasang baru dan tambah
daya pada PT.PLN (Area) Singkawang. Dengan kata lain aplikasi ini mampu
memenuhi kebutuhan pasang baru dan tambah daya bagi masyarakat
Singkawang.
2.2 Landasan Teori
Landasan teori membahas teori-teori yang berkaitan atau berhubungan
dengan penelitian yang penulis lakukan. Berikut dijelaskan landasan teori
pada penulisan ini:
2.2.1. Nomor Induk Kependudukan (NIK)
Nomor Induk Kependudukan (NIK) adalah nomor identitas Penduduk
yang bersifat unik atau khas, tunggal dan melekat pada seseorang yang
7
terdaftar sebagai Penduduk Indonesia. NIK berlaku seumur hidup dan
selamanya, yang diberikan oleh Pemerintah dan diterbitkan oleh Instansi
Pelaksana kepada setiap penduduk setelah dilakukan pencatatan biodata.
NIK pertama kali diperkenalkan oleh Direktorat Jenderal Administrasi
Kependudukan ketika Institusi Pemerintah ini menerapkan sistem KTP
nasional yang terkomputerisasi.
Gambar 2.1 Nomor Induk Kependudukan (NIK)
NIK terdiri dari 16 digit. Kode penyusun NIK terdiri dari 2 digit awal
merupakan kode provinsi, 2 digit setelahnya merupakan kode
kota/kabupaten, 2 digit sesudahnya kode kecamatan, 6 digit selanjutnya
merupakan tanggal lahir dalam format hhbbtt (untuk laki-laki tanggal lahir 1-
31, sedangkan untuk wanita tanggal ditambah 40), lalu 4 digit terakhir
merupakan nomor urut yang dimulai dari 0001. NIK dicantumkan dalam
setiap Dokumen Kependudukan dan dijadikan dasar penerbitan KTP,
paspor, surat izin mengemudi, nomor pokok wajib pajak, polis asuransi,
sertifikat hak atas tanah, dan penerbitan dokumen identitas lainnya.
2.2.2. Citra
Citra didefinisikan sebagai fungsi intensitas cahaya dua-dimensi
f(x,y) dimana x dan y menunjukan koordinat spasial, dan nilai f pada suatu
titik (x,y) sebanding dengan tingkat kecerahan (gray level) dari citra di titik
tersebut. Citra digital adalah citra dengan f(x,y) yang nilainya di
digitalisasikan (dibuat diskrit) baik dalam koordinat spasialnya maupun
gray levelnya. Digitalisasi dari koordinat spasial citra disebut dengan
image sampling, sedangkan digitalisasi dari gray level citra disebut
dengan gray level quantization.
Citra biner merupakan citra yang memiliki 2 warna yaitu hitam dan
putih saja. Citra biner diperoleh melalui proses bileveling dilakukan
8
dengan merubah citra digital menjadi abu-abu (grayscale), lalu ditentukan
nilai ambang batas (threshold) warna. Selanjutnya setiap pixel citra dibaca
untuk memperoleh warna dengan format rgb. Jika warna pixel di bawah
ambang batas maka pixel warna tersebut dirubah menjadi hitam,
sebaliknya jika warna pixel di atas ambang batas maka pixel warna
dirubah menjadi warna putih (Jaroji, Kurniati, & Agustiawan, 2017).
2.2.3. Computer Vision
Computer vision adalah salah satu bidang ilmu pengetahuan yang
bertujuan membuat keputusan yang berguna dari sebuah citra mengenai
objek fisik nyata dan keadaan (Shapiro & Stockman, 2001). Pada computer
vision, kebalikan (invers) dicoba untuk dilakukan, yaitu untuk menggmbarkan
dunia yang terlihat dalam satu atau lebih gambar dan merekonstruksi sifat-
sifatnya, seperti bentuk, pencahayaan, dan distribusi warna.
Saat ini, banyak aplikasi real-world yang melibatkan computer vision,
antara lain:
a. Optical Character Recognition (OCR) : membaca kode post yang
ditulis tangan dan membaca nomor polisi kendaraan secara
otomatis.
b. Machine inspection : pemeriksaan jaminan kualitas secara cepat
menggunakan visi stereo dengan pencahayaan khusus untuk
mengukur toleransi sayap pesawat atau bagian auto body.
c. Retail : pengenalan objek untuk jalur checkout otomatis.
d. Medical imaging : mencatat citra pre-operasi dan intra-operasi atau
melakukan studi jangka panjang pada morfologo otak manusia
dengan bertambahnya usia mereka.
e. Automative safety : mendeteksi hambatan yang tidak diduga
seperti pejalan kaki dijalan, dengan keadaan dimana radarnya
tidak berfungsi dengan baik.
f. Surveillance : memantau pangacau atau memantau jalur lalu
lintas.
9
Computer vision berhubungan dengan banyak bidang lain seperti
image processing dan image understanding. Image processing lebih fokus
untuk membuat keputusan dari citra dan membuat gambaran keadaan yang
perlu dilakukan secara eksplisit (Shapiro & Stockman, 2001).
2.2.4. Pengolahan Citra Digital (Digital Image Processing)
Digital image processing merupakan proses pengolahan citra digital
menggunakan computer. Citra digital sendiri didefinisikan sebagai
sekumpulan elemen, seperti picture elements, image elements, pels, dan
pixel, yang memiliki lokasi dan nilainya masing-masing (Gonzalez &
Woods, 2002).
Awalnya citra akan didigitalisasi, lalu disimpan dalam bentuk matriks
bilangan biner pada memori computer. Citra tersebut kemudian akan di
proses dan ditampilkan. Proses komunikasi dan kendali proses
digitalisasi, penyimpanan, pemrosesan dan display menggunakan
computer mini atau makro. Program dimasukan ke computer melalui
sebuah terminal, dan hasilnya akan tersedia di terminal, monitor, atau
printer (Jain, 1989). Urutan tahap-tahap image processing pada
umumnya dapat dilihat sebagai berikut:
Gambar 2.2 urutan tahap-tahap image processing
Pada penelitian ini, proses image processing yang dilakukan dimulai
dari tahap preprocessing untuk memperbaiki kualitas citra hingga proses
pengenalan teks.
10
2.2.5. Grayscaling
Grayscaling merupakan proses pengubahan citra warna (RGB)
menjadi citra keabuan. Model citra RGB yang memiliki 3 layer matriks,
yaitu layer matriks red, green, dan blue menjadi 1 layer matriks
disederhanakan dengan proses ini. nilai dari red, green, dan blue dikalikan
dengan konstanta yang jumlahnya 1.
Persamaan berikut untuk melakukan transformasi citra RGB menjadi
citra keabuan sebagai berikut.
Dimana : Y = nilai grayscale yang dihasilkan
R = nilai red dari sebuah piksel
G = nilai green dari sebuah piksel
B = nilai blue dari sebuah piksel
Perubahan citra warna ke citra keabuan dapat dilihat pada gambar
berikut ini.
Gambar 2.3 perubahan citra warna menjadi keabuan
2.2.6. Thresholding
Thresholding digunakan untuk mengatur jumlah derajat keabuan
pada image. Thresholding sebagai operator yang digunakan untuk
menemukan objek pada citra jika level kecerahan objek tersebut diketahui.
11
Operator ini bekerja dengan memilih piksel yang memiliki nilai tertentu,
atau yang berada dalam range yang spesifik. Citra keabuan yang diproses
menggunakan operator thresholding akan menghasilkan citra biner
(Shapiro & Stockman, 2001)
Thresholding memiliki 2 bentuk utama, yaitu global thresholding dan
adaptive thresholding. Pada global thresholding, untuk semua piksel citra
dikenakan nilai threshold yang sama. Sedangkan pada adaptive
thresholding, nilai threshold yang diterapkan berbeda-beda pada area lokal
yang berbeda pula (Thillou, 2004).
Gonzalez & Woods (2002) mendefinisikan fungsi thresholding sebagai
berikut :
Dimana : g(𝑥,𝑦) = piksel citra yang sudah dibinerisasi
f(𝑥,𝑦) = piksel citra masukan yang di-threshold
T = nilai matriks threshold
2.2.7. Closing Operation
Closing merupakan operator yang dapat menggabungkan objek
yang rusak dan mengisi lubang yang tidak diinginkan pada suatu objek.
Pada gambar 2.4a terdapat dua objek yang harusnya bersatu untuk
membuat sebuah garis. Selanjutnya terlihat operator closing
menghilangkan kekosongan pada garis tersebut. Sedangkan pada
gambar 2.4b terlihat operator closing mengisi lubang yang tidak diinginkan
pada objek (Phillips, 2000).
12
Gambar 2.4 : (a) Operator closing menyatukan garis yang terpisah.
(b) Operator closing mengisi lubang yang kosong
Closing terdiri dari dua tahapan, yaitu proses dilasi dan kemudian
diikuti dengan proses erosi dengan menggunakan structure element yang
sama. Gonzalez & Woods (2002) mendefinisikan closing seperti
persamaan:
A• B=(A⊕ B)⊝ B
Dimana: A = citra biner
B = structuring element
Closing terhadap citra A oleh structure element B dilakukan
melakukan dilasi A oleh B atau (𝐴⊕𝐵), lalu dilanjutkan dengan erosi oleh
B juga atau (𝐴⊕𝐵)⊝𝐵.
2.2.8. Smoothing
Smoothing merupakan filter yang digunakan untuk mengaburkan
(blurring) dan mengurangi noise pada citra. Pada tahap pra-pengolahan,
blurring dapat digunakan untuk menghilangkan detail kecil pada citra
sebelum ekstraksi objek dan menjembatani celah kecil pada garis atau
13
kurva. Pengurangan noise dapat dilakukan melalui blurring dengan filter
linear dan juga filter non-linear (Gonzalez & Woods, 2002).
Terdapat beberapa filter yang digunakan untuk proses smoothing,
diantaranya:
Box Filter : merupakan operasi sederhana dari smoothing yang tidak
hanya mampu menghilangkan “objek asing”, tetapi juga mengurangi
kontras dari citra secara signifikan.
Median Operator : merupakan operator yang mampu menghilangkan
“objek asing” hanya dengan perubahan tidak terlalu signifikan pada
kontras citra.
Gauss Filter : merupakan konvolusional lokal dengan sebuah filter kernel
yang didefinisikan oleh sampel fungsi 2D Gauss.
2.2.9. Image Denoising
Image denoising merupakan proses pengolahan citra berfungsi
untuk menghilangkan berbagai macam noise dari suatu citra dengan tetap
mempertahankan fitur-fitur pentingnya. Noise yang dimaksud dapat
berasal dari proses pengambilan citra maupun dari proses transmisi.
Proses ini merupakan proses penting sebelum lanjut ke proses analisis
(Alisha & Gnana, 2016).
Teknik denoising diklasifikasikan menjadi tiga secara mendasar,
yaitu Spatial Filtering, Transform Domain Filtering, dan Wavelet
Thresholding (Rajni & Anutam, 2014). Adapun tujuannya antara lain:
Untuk menekan noise secara efektif pada daerah yang seragam.
Untuk mempertahankan tepi dan karakteristik citra lainnya yang
sama.
Untuk memberikan tampilan visual yang natural.
Spatial filtering merupakan metode denoising yang digunakan ketika
jenis noise-nya adalah additive noise. Spatial filtering dapat dikategorikan
menjadi filter linear dan filter non linear.
14
Transform domain filtering dapat dibagi menjadi dua berdasarkan
fungsi dasarnya, yaitu spatial frequency filtering dan wavelet domain
filtering. Spatial frequency filtering menggunakan filter Fast Fourier
Transform (FFT), sedangkan wavelet domain filtering menggunakan
Discrete Wavelet Transform (DWT).
Wavelet based thresholding menggunakan kemampuan dari wavelet
transform untuk melakukan denoising. Cara kerja teknik ini untuk
menghilangkan noise adalah dengan menghilangkan koefisien yang tidak
relevan dengan nilai suatu threshold secara sederhana dan efektif.
2.2.10. Non Local Means Denoising
Non Local Means Denoising sebagai metode denoising yang
memiliki prinsip mengganti warna dari suatu piksel dengan warna rata-rata
dari piksel-piksel di sekitarnya (Buades, 2011).
Denoising dilakukan dengan mengkomputasi warna rata-rata dari
kumpulan piksel yang paling mirip. Seluruh window di sekitar piksel, tidak
hanya warna, akan dibandingkan untuk mengevaluasi kemiripannya.
Metode ini dapat didefiniskan dengan persamaan :
Dimana 𝑑(𝐵(𝑝),𝐵(𝑞)) merupakan jarak Euclidean antara gambar
yang terletak di tengah masing-masing p dan q, f merupakan decreasing
function, dan C(p) adalah normalizing factor.
2.2.11. Erosion Operation
Erosion sebagai salah satu operator morfologi yang mampu
memperkecil objek pada citra dengan cara menghapus lapisan luar dari
objek pada citra (Parker, 2011).
Secara umum proses erosi terhadap citra A oleh structuring element
B seperti pada persamaan:
15
Gambar 2.5 Citra sesudah mengalami dan sebelum erosi
Dengan kata lain, kumpulan dari semua piksel c sedemikian rupa
sehingga strucuring element B yang diterjemahkan oleh c sesuai dengan
sekumpulan piksel hitam dari A. Hasil dari proses erosi adalah sebuah
subset dari citra asli yang terlihat lebih jelas, sementara piksel yang tidak
sesuai dengan piksel hitam pada structuring element tidak akan menjadi
bagian dari hasil erosi.
2.2.12. Sharpening
Sharpening (penajaman) adalah proses yang bertujuan untuk
memperjelas detail pada citra atau meningkatkan ketajaman detail yang
telah kabur, baik dalam kesalahan atau efek alami dari metode tertentu
saat pengambilan citra.
Salah satu metode yang digunakan pada proses sharpening adalah
unsharp mask. Unsharp mask adalah proses penajaman citra dengan cara
mengurangi versi kabur citra dari citra terhadap citra itu sendiri (Gonzalez
& Woods, 2002). Persamaan untuk proses ini dapat dilihat pada
persamaan
Dimana : 𝑓(𝑥,𝑦) = citra original
𝑓𝑠(𝑥,𝑦) = citra yang dipertajam dengan unsharp masking
𝑓̅(𝑥,𝑦) = citra versi kabur dari 𝑓(𝑥,𝑦)
16
2.2.13. Template Matching
Template matching adalah salah satu metode yang efektif untuk
melakukan pengenalan pada input memiliki kesamaan bentuk. Cara kerja
dari template matching adalah mengukur tingkat kesamaan antara input
dengan contoh karakter yang tersimpan. Kemudian mengambil nilai
kesamaan tertinggi sebagai karakter yang benar. Cara ini akan mengambil
karakter sesuai dengan bentuk karakter dan menggunakan prinsip
penyamaan bentuk. Cara ini dilakukan dengan lebih cepat. Karakter input
digambarkan sebagai fungsi f(x,y) dan karakter pencocok digambarkan
sebagai fungsi F(x,y). sedangkan hasil penyamaan sebagai output adalah
fungsi T(x,y).
2.2.14. Optical Character Recognition (OCR)
Optical Character Recognition (OCR) adalah sebuah aplikasi
komputer yang digunakan untuk mengidentifikasi citra huruf maupun
angka untuk dikonversi ke dalam bentuk file tulisan. OCR biasa digunakan
untuk bidang penelitian dalam pengenalan pola, kecerdasan buatan, dan
computer vision (Berchmans & kumar, 2014).
Sistem OCR memerlukan kalibrasi untuk membaca font yang
spesifik, versi awal harus diprogram dengan gambar karakter masing-
masing, dan bekerja pada satu font pada suatu waktu. Sistem cerdas
dengan tingkat akurasi yang tinggi pengakuan untuk font yang paling
sekarang umum. Beberapa sistem mampu mereproduksi output diformat
yang erat mendekati halaman yang dipindai asli termasuk gambar, kolom
dan non-tekstual komponen.
17
Gambar 2.6 Proses OCR secara umum.
Secara umum proses OCR sebagai berikut :
1. File Input
File input berupa file citra digital dengan format *.bmp atau *.jpg atau
*.TIFF
2. Pre-processing
Pre-processing merupakan suatu proses untuk menghilangkan
bagian-bagian yang tidak diperlukan pada gambar input untuk proses
selanjutnya.
3. Segmentasi
Segmentasi adalah proses yang bertujuan untuk memisahkan area
pengamatan (region) pada tiap karakter yang dideteksi. Dengan
demikian citra yang besar terdiri dari objek karakter dapat
disegmentasi menjadi masing-masing karakter.
4. Normalisasi
Normalisasi adalah proses merubah dimensi region tiap karakter dan
ketebalan karakter. Pada normalisasi terdapat beberapa proses yaitu:
a. Proses Scalling
18
Proses scalling adalah fungsi untuk mengubah ukuran suatu
gambar dimana scalling merupakan istilah yang cenderung
memperbesar gambar, dan shrink untuk memperkecil gambar.
b. Thinning
Thinning digunakan untuk menghapus piksel foreground yang
terpilih dari gambar biner, biasanya digunakan untuk proses
mencari tulang dari sebuah objek.
5. Ekstraksi ciri
Ekstraksi ciri adalah proses untuk mengambil ciri-ciri tertentu dari
karakter yang diamati.
6. Recognition
Pada tahap ini penulis akan menjelaskan mengenai proses dalam
mengenali karakter yang diamati dengan cara membandingkan ciri-ciri
karakter yang ada didalam basis data.
Optical character recognition dibedakan menjadi dua jenis
berdasarkan perangkat masukannya, yaitu on-line dan off-line recognition.
Online Recognition menggunakan perangkat elektronik seperti tablet
digital untuk proses pengambilan data dan proses pengenalan dilakukan
saat pengguna menulis teks pada perangkat tersebut. Sementara off-line
recognition proses pengambilan datanya dilakukan melalui perangkat
statis seperti scanner atau kamera. Pada proses off-line juga dibutuhkan
banyak metode untuk mempersiapkan citra sebelum masuk ke tahapan
pengenalan, yang mana termasuk pembuangan noise dan perbaikan citra
masukan untuk menghilangkan kerusakan yang disebabkan oleh proses
pengambilan citra.
2.2.15. Google Mobile Vision API
Mobile Vision API menyediakan framework yang dapat menemukan
objek pada foto dan video. Terdapat detector pada framework tersebut
yang digunakan untuk menemukan dan mendeskripsikan objek pada
gambar serta menemukan posisi objek tersebut pada video (Creative
19
Commons Attribution 3.1 license 2016, 2016)
(https://developers.google.com, 2016).
Saat ini yang termasuk dalam Mobile Vision API antara lain
pendeteksi wajah, kode bar, dan teks, yang mana dapat diterapkan secara
bersamaan atau terpisah.
2.2.16. Text Recognition API
API ini mampu mendeteksi keberadaan teks pada sebuah gambar
atau video dan mengenali teks yang terkandung di dalamnya. Teks
awalnya dikenali sebagai sebuah blok dan kemudian dipisah menjadi baris
dan kata. API ini mampu mendeteksi teks secara real-time pada perangkat
mobile, namun terbatas hanya pada tulisan Latin.
Adapun kode yang digunakan untuk memanggil detektor teks adalah
“com.google.android.gms.vision.text”.
Text Recognizer memisahkan teks menjadi blok, baris, dan kata.
Pemisahan ini dapat terlihat pada gambar 2.7.
Gambar 2.7 Pemisahan Teks oleh Text Recognition
(https://developers.google.com, 2016)
Berdasarkan gambar diatas, terlihat bahwa pada bagian yang diberi
kotak berwarna cyan adalah blok. Blok adalah kumpulan dari beberapa baris,
seperti paragraph. Teks yang berada di kotak berwarna biru merupakan
20
contoh baris. Dan yang terakhir teks yang berada di kotak hitam adalah
contoh kata.
2.2 Kerangka Pemikiran
Berdasarkan pemikiran penulis dalam menyelesaikan sebuah
permasalahan input data secara manual di laman pengajuan PLN dapat
diatasi dengan menggunakan image processing yang dapat membaca NIK
pada KTP untuk di inputkan secara otomatis ke laman Pengajuan PLN,
maka oleh sebab itu kerangka pemikiran tersebut dapat digambarkan
sebagai berikut :
Gambar 2.8 Kerangka Pemikiran
Keterangan gambar 2.8
1. Problem : Permasalahan yang dihadapi saat ini yakni input data pada
laman pengajuan pln masih manual.
2. Approach : Pendekatan yang dapat digunakan untuk menyelesaikan
permasalah tersebut, disini penulis mengunakan image processing
dengan pemanfaatan platform Google Mobile Visio dalam mendeteksi
data NIK pada KTP. Kemudian untuk mengatasi permasalah tersebut
diperlukan aplikasi mobile dan dekstop. Aplikasi mobile berfungsi
21
untuk pengambilan gambar lebih praktis serta pengolan citra digital
sedangkan aplikasi desktop sebagai aplikasi inject informasi pada
laman layanan PLN.
3. Opportunity : Pendukung dalam pengambilan pendekatan yang
dilakukan, disini penulis melihat bahwa setiap data pengajuan
terdapat data NIK KTP sehingga data tersebut dapat sebagai objek
acuan pencarian jenis ajuan layanan pada loket PLN.
4. Software Development : Tahapan dalam proses pembuatan aplikasi,
berdasarkan dari pendekatan untuk menyelesaikan masalah terdapat
2 buah aplikasi pendukung yang bekerja pada mobile dan desktop
maka oleh sebab itu pengembangan aplikasi menggunakan aplikasi
kompiler B4A (mobile) dan B4J (desktop), sedangkan untuk software
testing penulis mengunakan User Acceptance Test (UAT).
5. Software Implementation : Tahapan pengujian dari aplikasi yang
telah di buat
Aplikasi android di uji dengan menggunakan sample KTP
secara random
Aplikasi android di uji dengan berbagai macam versi android
maupun handphone yang berbeda, mengingat setiap jenis
smartphone android memiliki spesifikasi kamera yang berbeda-
beda.
Aplikasi desktop di uji dengan berbagai macam operating
sistem komputer, untuk melihat kompetibilitas dari aplikasi
desktop tersebut.
Aplikasi android di uji kinerjanya dalam proses pengambilan
gambar untuk menentukan jarak efektif dan ideal aplikasi dapat
bekerja secara baik.
Bagian software implementation ini menjadi kegiatan untuk
mencari error atau bug aplikasi sebanyak mungkin agar ketika di final
aplikasi sudah tidak terdapat error atau bug lagi. Temuan-temuan
error atau bug akan dikembalikan pada tahapan software
development.
22
6. Software Measurement : Tahapan didalam menganalisis
karakteristik dari aplikasi dengan menyajikan data-data pengujian
serta mengukur seberapa jauh aplikasi dapat bekerja.
7. Result : Hasil dari aplikasi yang dibuat baik dari aplikasi mobile
maupun aplikasi desktop serta menyimpulkan seluruh proses
penelitian.
8. Report : Tahapan dimana hasil dari penelitian untuk di bukukan
sehingga dapat di jurnalkan.
23
BAB III
METODE PENELITIAN
3.1 Analisa Permasalahan
Peningkatan jumlah pelanggan setiap tahunnya disebabkan banyaknya
pelanggan yang mengajukan permohonan untuk layanan pasang baru dan
tambah daya. Berdasarkan data dari Aplikasi Pelayanan Pelanggan Terpusat
(AP2T), selama periode tahun 2013-2015 total jumlah pelanggan pasang
baru dan tambah daya mengalami fluktuasi. Meskipun demikian selama
periode tersebut jumlah pelanggan secara konsisten terus meningkat. Pada
tahun 2015 jumlah pelanggan PT PLN (Persero) Area Singkawang mencapai
19.156 pelanggan. Kemudian pada tahun 2016 meningkat menjadi 19.960
pelanggan. Hingga pada tahun 2017 jumlah pelanggan terus meningkat
menjadi 23.278 pelanggan. Meningkatnya jumlah pelanggan yang terjadi
membuat petugas berusaha untuk terus meningkatkan pelayanan pasang
baru dan tambah daya agar dapat memenuhi kebutuhan masyarakat.
Tabel 3.1 Jumlah Pelanggan
Penggunaan KTP digunakan sebagai salah satu syarat dalam
mengajukan permohonan layanan pasang baru dan tambah daya.
Kebutuhan akan data dari KTP merupakan hal yang penting sebagai
pelengkap informasi lainnya pada sebuah sistem aplikasi komputer. Akan
tetapi hingga saat ini pemanfaatan data dari KTP tersebut masih belum dapat
dilaksanakan, baik oleh instansi pemerintah, maupun instansi swasta.
Sehingga untuk beberapa kepentingan digunakan copy dari KTP yang
sebenarnya tidak disarankan oleh pemerintah. Permasalahan yang terjadi
adalah sulitnya mengidentifikasi data objek pada KTP pelanggan. Sering
No. Tahun Jumlah Pelanggan
1. 2015 19.156 pelanggan
2. 2016 19.960 pelanggan
3. 2017 23.278 pelanggan
24
sekali terjadi kesalahan pada data NIK yang tidak sesuai dengan struktur NIK
yang sebenarnya. Seperti pada data tanggal lahir yang berbeda dengan NIK
pada KTP. Sehingga kesalahan tersebut dapat menyebabkan NIK akan
bermasalah saat diakses. Dengan adanya hal tersebut, aplikasi tambahan
berupa pendeteksi objek dibutuhkan agar dapat mempermudah dalam
mendeteksi objek sehingga didapatkan data sesuai dengan KTP pelanggan
sehingga dapat membantu dalam proses pasang baru dan tambah daya.
3.2 Teknik Penyelesaian Masalah
Berdasarkan permasalahan yang sudah dijabarkan diatas, teknik
penyelesaian masalah yang akan digunakan adalah penerapan image
processing dalam menentukan informasi NIK pada KTP dengan
menggunakan Optical Character Recognition pada Google Mobile Vision
sebagai input dalam aplikasi otomatisasi layanan pasang baru dan
perubahan daya pada loket PLN.
Image To Grayscale
Pre-Prosesing
Otsu Thresholding
Feature Extraction and Indentification
Google Mobile Vision
Deteksi Blok, lines Dan Text
Post Prosesing
Memilih Data NIK 16
Digit
Verifikasi Validasi Data
NIK
OutputKTP
NIK
Provinsi
Kota
Kecamatan
ANDROID PROSES
DEKSTOP PROSES
NIK Compare
Cari Data NIK Pada Database
Inject Data
Store data to textbox
Wifi Komunikasi
Buka Laman Layanan PLN
Inject data Textbox ke
Laman Layanan PLN
APLIKASI DEKSTOP
Penentuan Jenis Layanan PLN
Gambar 3.1 Alur Kerja Sistem
25
Metode tersebut terdiri dari beberapa langkah penyelesaian yaitu :
1. File Input ( picture)
File Input adalah citra digital dari KTP yang merupakan sebagai
File input yang akan di oleh oleh sistem nantinya. Didalam proses ini
gambar di ambil menggunakan kamera internal handphone kemudian
di simpan dengan nama file vision.jpg pada memory handphone, data
gambar kemudian tampilkan pada imageview pada aplikasi android.
2. Image to Grayscale
Grayscale Conversion merupakan langkah untuk derajat setiap
pixel pada gambar. Proses grayscale menggunakan persamaan
Y=0.2126R + 0.7152G + 0.0722B
Ini artinya setiap pixel pada gambar yang akan di olah di ambil nilai
red, green, dan blue kemudian di tentukan nilai derajat grayscale nya
menggunakan persamaan untuk membuat gambar baru.
Gambar 3.2 Hasil Operasi Grayscale
(a) Gambar asli (b) gambar grayscale
Penerapan kode program untuk mengatur warna pada pixel gambar.
grey1 = (rd*0.2126 + gn*0.7152 + bl*0.0722)
Jpg1.SetBmpPixel(row, column, Colors.ARGB(alpha,_
Bit.And(grey1,255),_Bit.And(grey1,255),Bit.And(grey1,255)))
26
3. Otsu Tresholding.
Data gambar yang telah di grayscale membutuhkan penanganan
threshold, didalam melakukan pengerjaan threshold menggunakan
metode Otsu untuk segmentasi berdasarkan histogram citra dengan
hasil lebih baik. Penerapan kode program untuk mengubah gambar
menggunakan otsu threshold.
Menentukan nilai threshold pada keseluruhan pixel gambar.
Gambar 3.3 Proses Otsu Thresholding.
Jadi apabila nilai keabuan (grayscale) dibawah nilai threshold maka
pixel tersebut akan di ganti menjadi warna hitam, sedangkan jika
sebaliknya maka pixel akan di ubah manjadi warna putih. Sehingga
akan menghasilkan gambar seperti berikut ini.
27
Gambar 3.4 Hasil Operasi Threshold
(a) Gambar grayscale (b) gambar otsu threshold
Proses mengubah data gambar dari grayscale ke data gambar
threshold berfungsi untuk membantu google mobile vision dalam
menentukan karakter pada gambar.
4. Feature Extraction and Indentification
Citra gambar yang telah di olah akan menjadi input bagi proses
selanjutnya yakni feature extraction dan indetification, pada proses ini
gambar atau citra di proses menggunakan platform google mobile
vision yang didalamnya terdapat teknologi Optical Character
Recognition (OCR), google mobile vision merupakan platform yang di
kembangkan oleh google untuk para pengembang aplikasi android
dalam mengkonversi gambar barcode, qrcode, face detector maupun
pdf/tiff to text serta image to text.
Untuk menggunakan layanan reposity dari google mobile vision
dapat dengan memanggil fitur tersebut pada manifesto editor yakni
dengan :
1. com.google.android.gms.version
(value=="@integer/google_play_services_version)
2. com.google.android.gms.vision.DEPENDENCIES
(value=ocr)
3. com.google.android.gms.samples.vision.ocrreader
( value=Read Text)
28
5. Post Prosessing
Bagian ini adalah sebuah algoritma dalam menentukan informasi
NIK pada hasil konversi dari google mobile vision, perlu di ketahui hasil
result dari konversi citra ke text berupa info, block, lines dan word akan
tetapi data yang akan di olah adalah data linesnya saja, karena proses
pengolahan data line lebih mudah (data dalam bentuk array), pada
dasarnya blok, line dan word memiliki informasi yang sama, untuk line
data tersajikan dalam bentuk list atau array dengan asumsi array(0)
adalah data pembacaan line pertama dan seterusnya. Untuk mencari
informasi pada kumpulan data tersebut dengan melihat pajang data
text, panjang data NIK sebanyak 16 angkat.
Gambar 3.5 Proses mencari informasi NIK
Hasil result dari google mobile vision biasanya terjadi beberapa
kekeliruan seperti mendeteksi angka 6 menjadi huruf b, mendeteksi 0
29
menjadi c,o atau O, ini disebabkan data citra awal yang tidak sempurna
(huruf pada NIK sebagian terhapus).
Proses verifikasi atau validasi data NIK dilakukan dengan
mengecek apakah 16 angka pada informasi tersebut telah valid atau
tidak. Berikut proses validasi NIK:
Gambar 3.6 Proses validasi NIK
Langkah pertama ambil 2 digit awal NIK kemudian bandingkan data
angka tersebut pada database lokasi berdasarkan dari Kemendagri,
jika sesuai maka masuk ke tahapan berikutnya cek 2 digit berikutnya
untuk menentukan informasi kabupaten/kota, hingga seterusnya.
Gambar 3.7 Proses validasi kode NIK
.
30
6. Output Text
Output Text adalah hasil dari final dari pengolahan citra KTP yang
berisikan informasi NIK, provinsi, kabupaten atau kota serta
kecamatan, data-data ini kemudian di kirim ke aplikasi desktop dengan
alamat IP yang telah di tentukan sebelumnya dengan jalur wifi.
7. NIK Compare
Penentuan jenis layanan pada sebuah NIK ditentukan dengan
melakukan pencarian data NIK konsumen tersebut. Jika NIK hasil
pengolah citra dari perangkat tidak terdapat pada database pelangan
maka jenis layanan yang dipilih adalah pasang baru, dengan informasi
pendukung seperti provinsi, kab/kota maupun data kecamatan di ambil
dari data android, sedangkan jika kode nik terdapat didalam database
maka jenis layanan yang akan tampil adalah tambah daya, khusus
data tambah daya sistem akan mengambil data informasi ID pelangan
untuk di tampilkan pada textbox informasi data pelangan.
8. Inject Data
Langkah akhir dari proses aplikasi desktop adalah menampilkan
laman jenis layanan sesuai dengan hasil NIK compare. Laman layanan
PLN akan di tampilkan pada webview aplikasi, sedangkan untuk
proses input data ke laman tersebut diperlukan proses inject data
dengan mengunakan javascript. Perintah inject nilai pada id laman
website:
Dim joWV As JavaObject = WebView1
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(document.getElementById('x-auto-19-input').value =
'PUPUT'"))
31
3.3 Perancangan Sistem
Perancangan sistem sangat penting dalam membangun sebuah
aplikasi karena proses ini menggambarkan bagaimana suatu sistem
dibentuk mulai dari penggambaran perencanaan sampai pada tahapan
pembuatan fungsi yang berguna bagi jalannya sebuah aplikasi.
Perancangan sistem bertujuan untuk mengetahui apakah sistem yang
akan dibangun dapat memenuhi kebutuhan pengguna.
3.3.1 Analisa Sistem Kebutuhan
Analisa kebutuhan sistem menggambar kebutuhan luar sistem yang
diperlukan untuk menjalankan aplikasi yang akan dibangun. Adapun
kebutuhan sistem pada aplikasi ini meliputi kebutuhan perangkat keras
dan kebutuhan perangkat lunak.
3.3.1.1 Analisa Kebutuhan Perangkat Keras
Analisa kebutuhan perangkat keras atau hardware merupakan
salah satu hal yang penting karena tanpa hardware yang memenuhi
syarat, aplikasi yang akan dibuat tidak akan dapat berjalan. Berikut
Perangkat keras yang dapat dibutuhkan untuk membangun aplikasi
deteksi objek ini ialah :
a. Laptop Acer Aspire 4752 sebagai media melakukan percobaan
aplikasi. Dengan spesifikasi : processor core i3 2330M,
penyimpanan 500GB HDD, RAM 2GB
b. Handphone (Hp) android minimal versi 4 yaitu android ice cream
sandwich digunakan untuk mengambil objek menggunakan
c. Router untuk menghubungkan laptop dan Hp agar terkoneksi
dengan internet
32
3.3.1.2 Analisa Kebutuhan Perangkat Lunak
Analisa kebutuhan perangkat lunak atau software merupakan hal
yang terpenting dalam mendukung kinerja sebuah sistem. Perangkat
lunak digunakan dalam sebuah sistem merupakan perintah-perintah
yang diberikan kepada perangkat keras agar dapat saling berinteraksi
diantara keduanya. Perangkat lunak yang dapat dibutuhkan untuk
membangun aplikasi deteksi objek ini adalah sebagai berikut :
Tabel 3.2 Kebutuhan Perangkat Lunak
No Perangkat Lunak Keterangan
1. Windows Sistem Operasi
2. Ms. Excel 2013 Database Server
3. B4A Pembuatan Sistem Untuk Android
4. B4J Pembuatan Sistem Untuk Laptop
5. Google Vision Perangkat Pengembang Aplikasi
3.3.1.3 Alur Kerja Sistem
Salah satu tahapan analisa sistem yaitu tahapan yang memberi
gambaran tentang sistem yang sedang berjalan saat ini. Analisa ini
bertujuan untuk memberikan gambaran bagaimana cara kerja dari sistem
yang sedang berjalan. Prosedur yang sedang berjalan saat ini adalah
sebagai berikut :
33
Gambar 3.8 Alur Kerja Sistem
Pada Gambar 3.6 menunjukan alur kerja dari sistem yang sedang
berjalan saat ini, dimana pemohon harus membawa fotocopy KTP dan
rekening listrik tetangga terdekat untuk permohonan pasang baru
sedangkan rekening listrik terakhir untuk permohonan tambah daya
sebagai syarat permohonan pasang baru dan tambah daya. Kemudian
petugas akan memeriksa kelengkapan data pemohon, apabila belum
lengkap data tersebut maka fotocopy KTP dan rekening listrik dikembalikan
lagi pada pemohon. Apabila data sudah lengkap maka petugas akan
membuatkan formulir permintaan penyambungan baru dengan
menginputkan data pemohon tersebut. Setelah data yang diinputkan sudah
benar maka data pemohon disimpan dalam database data induk langganan
PLN.
ya
tidak
fotocopy KTP dan rekening listrik
Memeriksa
kelengkapan data
Mulai
ya
tidak
Simpan data pemohon
Pengecekan
data
Menginputkan data permintaan penyambungan
selesai
34
3.3.2 Diagram Alir (Flowchart)
Diagram alir (flowchart) merupakan perancangan yang berfungsi
untuk menggambarkan alur dalam aplikasi deteksi. Diagram alir
(flowchart) pengembangan sistem deteksi objek yang akan dibangun
adalah sebagai berikut :
Gambar 3.9 Flowchart Pada Sistem Android
ya
tidak
Siapkan KTP
Simpan gambar
Ambil
gambar?
Mulai
Ubah citra menjadi grayscale dan Otsu Threshold
selesai
Ambil tulisan dari gambar dengan Google Mobile Vision
Ambil data NIK pada data text hasil dari konversi
Kirim Ke Komputer
Format NIK sesuai ?
ya
tidak
35
Pada gambar diatas dimana petugas menggunakan aplikasi B4A
untuk mengkoneksikan dengan telepon genggam. Petugas menggunakan
kamera dari telepon genggam untuk mengambil gambar dari ktp. Setelah
gambar tersimpan, maka gambar tersebut akan diubah menjadi grayscale
dan threshold yang kemudian tulisan dari gambar tersebut akan diolah
dengan platform google mobile vison. Proses selanjutnya adalah
mengirimkan data text gambar tersebut ke aplikasi laptop menggunakan
B4J yang sudah terkoneksi dengan menggunakan alamat ip yang sudah
ditentukan. Dapat digambarkan sebagai berikut :
36
Gambar 3.10 Flowchart Pada Aplikasi Laptop
Proses selanjutnya adalah membandingkan data tersebut dengan data
rekap pelanggan yang ada pada aplikasi laptop. Jika data NIK ditemukan pada
database maka akan membuka website untuk tambah daya. Tetapi, jika data NIK
tidak ditemukan maka akan membuka website untuk pasang baru. Setelah
masuk ke website yang dibuka, maka proses selanjutnya adalah menginputkan
data pada textbox website tersebut maka proses telah selesai.
Buka link browser untuk tambah daya:
https://layanan.pln.co.id/PD
Mohon.html
NIK ditemukan pada database?
tidak ya
Buka link browser untuk pasang baru:
https://layanan.pln.co.id/PB
Mohon.html
Input data pada textbox
website yang telah dibuka
Selesai
Baca database pelanggan
mulai
ya
Data input dari Hp?
tidak
Data dibandingkan dengan data rekap pelanggan yang tersimpan di database pln
37
3.3.3 Perancangan Basis Data (Database)
Dalam tahap awal pembuatan aplikasi hal terpenting yang harus
dilakukan adalah perancangan basis data, perancangan basis data
berfungsi untuk memudahkan dalam pembuatan tabel-tabel pada
database.
3.3.3.1 Relasi Tabel
Relasi tabel dalam basis data merupakan hubungan yang terjadi
pada suatu tabel dengan tabel lainnya yang berfungsi untuk mengatur
operasi suatu database. Hubungan antar tabel yang terjadi pada
sistem yang dirancang yaitu dapat dilihat pada gambar berikut :
Gambar 3.11 Relasi tabel
38
3.3.3.2 Struktur File
Struktur file berisi spesifikasi dari file-file yang terdapat pada
database, antara lain nama file, primary key yang terdapat pada file
tersebut, jumlah field yang terdapat pada file dan struktur data dari
data-data yang terdapat pada file. Dan struktur file dari perancangan
basis data yang dilakukan adalah sebagai berikut :
Tabel 3.3 Struktur file tabel pelanggan
Nama Tabel : tb_pelanggan
Nama Field Type Panjang Keterangan
No_registrasi varchar 20 Primary key
id_pelanggan varchar 20 Foreign key
nama_pelanggan varchar 30
alamat_pelanggan text
notelp_pelanggan varchar 15
asal_mohon varchar 20
nama_upi varchar 30
nama_up varchar 20
nama_ap varchar 20
unit_tujuan varchar 10
Tabel 3.4 Struktur file tabel pasang baru
nama tabel : tb_pasangbaru
nama field type panjang keterangan
nik varchar 20 primary key
no_agenda varchar 20
no_registrasi varchar 15
tarif varchar 5
daya int 5
jenis_transaksi varchar 20
paket_sar varchar 40
total_biaya int 10
tgl_bayar date
durasi_hari_kerja int 15
durasi_hari_kalender int 15
status_permohonan varchar 15
tgl_update_permohonan date
tgl_pk date
id_petugas varchar 15 Foreign key
tgl_mohon date
39
Tabel 3.5 Struktur file tabel tambah daya
nama tabel : tb_tambahdaya
nama field type panjang keterangan
id_pelanggan varchar 20 primary key
id_petugas varchar 15 Foreign key
tariff_lama varchar 5
daya_lama int 10
tarif varchar 5
daya int 5
jenis_transaksi varchar 20
total_biaya int 10
tgl_bayar date
status_permohonan varchar 15
tgl_update_permohonan date
tgl_pk date
tgl_mohon date
Tabel 3.6 Struktur file tabel petugas
Nama Tabel : tb_pelanggan
Nama Field Type Panjang Keterangan
id_ petugas varchar 15 Primary key
nama_ petugas varchar 30
3.3.4 Perancangan Tampilan (Interface)
Interface merupakan tampilan yang dibuat agar memudahkan
komunikasi antara pengguna dan sistem aplikasi. Perancangan
tampilannya sendiri dibuat se-sederhana mungkin guna memberikan
kemudahan untuk pengguna dalam mengakses suatu menu atau
menerima informasi sehingga dapat mengurangi tingkat kebingungan
pengguna dalam menggunakan aplikasi.
3.3.4.1 Perancangan Tampilan Halaman Utama (Android)
Proses pembuatan aplikasi android mengunakan kompiler B4A
dengan Reposity Android 26. Pada perancangan halaman utama
terdapat beberapa pilihan menu diantaranya ambil foto, pengaturan,
dan menu kirim. Tampilan halaman utama dapat dilihat pada gambar
3.7.
40
Gambar 3.12 Perancangan Tampilan Halaman Utama
Keterangan:
a. Tombol “Ambil Foto” untuk mengambil gambar objek.
b. Tombol “Ambil Kirim” untuk mengirim hasil data dari gambar
objek yang telah diolah ke alamat IP yang telah di tentukan
sebelumnya
c. Tombol “Pengaturan” berisi pengaturan alamat IP komputer
yang akan di tuju
d. Label “Hasil Data “ berisikan informasi hasil konversi gambar ke
text dengan menggunakan platform google mobile vision serta
menampilkan data-data yang telah sesuai dengan kaidah
nomor NIK
e. Label “Nama Aplikasi” berisikan informasi nama aplikasi
android yang dibuat
f. Image View “Gambar/Foto” merupakan jendela hasil gambar
kamera secara real time saat itu, berisikan bingkai pemandu
pengguna dalam proses pengambilan gambar KTP
41
3.3.4.2 Perancangan Tampilan Menu Pengaturan
Pada menu pengaturan terdapat menu untuk memasukan IP
komputer. Dimana IP komputer akan digunakan untuk
mengkoneksikan perangkat handphone dan perangkat komputer yang
digunakan. Jika perangkat tersebut sudah terkoneksi sehingga dapat
memudahkan pengiriman data dengan menggunakan IP tersebut.
Gambar 3.13 Perancangan Tampilan Menu Pengaturan
Data IP harus sama dengan IP pada komputer yang tertera pada
aplikasi. Data IP akan tersimpan jika tidak terjadi perubahan
pengaturan baru.
42
3.3.4.3 Perancangan Halaman Antarmuka Desktop
Perancangan halaman antarmuka desktop akan menampilkan
layanan untuk pasang baru dan tambah daya. Halaman antarmuka ini
berisi data pelanggan yang sudah dikirim dari handphone namun
masih dapat dikelola oleh petugas. Selain itu untuk layanan tambah
baru data tersebut akan diisi dari data yang sudah disimpan dalam
database. Adapun data yang tersimpan dan ditampilkan pada
halaman ini adalah : NIK, nama, provinsi, kabupaten/kota, kecamtan,
kelurahan, no.telp dan npwp. Selain itu terdapat pula status layanan,
alamat ip komputer, dan juga terdapat beberapa tombol seperti tombol
“cari” yang digunakan untuk mencari database pelanggan, tombol
“load data to web” digunakan untuk mengambil data dari database,
dan tombol “clear data” digunakan untuk membersihkan data yang
sudah terisi pada textbox.
Gambar 3.14 Perancangan halaman antarmuka desktop
Keterangan :
1. Webview : adalah bagian pada aplikasi yang akan menampilkan
laman dari pelayanan PLN
43
2. Text Box: berisikan informasi-informasi dari NIK yang dikirim dari
handphone, data NIK akan di olah dan dibandingkan dengan
database pelangan.
3. Button Cari : berfungsi untuk mencari file database dari pelangan
PLN.
4. Button Load : berfungsi untuk menginputkan atau mengisi data pada
textbox ke dalam laman layanan pasang baru atau tambah daya PLN
5. Button Clear : berfungsi untuk menghapus data pada textbox.
Proses pembuatan aplikasi desktop mengunakan kompiler B4J (Basic
For Java) hal ini sejalan dengan kompiler android, bahasa yang digunakan
adalah bahasa basic dengan kombinasi Java, aplikasi tersebut
membutuhkan Java JDK dengan versi minimum 1.18.
3.3.5 Perancangan Website Layanan PLN.
Website PLN dengan alamat link http://www.pln.co.id, tidak terdapat
API atau bentuk antar muka akses website secara back door untuk
mengakses layanan pasang baru maupun perubahan daya, hal ini sedikit
menyulitkan dalam proses pengembangan aplikasi desktop yang nantinya
akan bertugas mengakses data lama layanan PLN tersebut. Hal lain yang
menjadi bahan acuan dalam proses pembuatan aplikasi dekstop adalah
leaflet.css pada laman tersebut dibuat dengan versi yang rendah,
penomoran id pada setiap komponen tidak tertata rapi, dan imbas dari
leaflet.css yang menggunakan versi lama maka laman membutuhkan
sertfikat SSL untuk mengakses lama tersebut.
Dari ketiga acuan tersebut maka diperlukan beberapa proses penangan
agar aplikasi dekstop dapat berjalan dengan baik.
44
3.3.5.1 Penanganan Sertifikat SSL Versi Lama
Setiap browser saat ini sudah memiliki algoritma penanganan
sertifikat SSL pada setiap alamat URL yang di tujunya. Sedangkan
untuk komponen webview tidak terdapat fitur tersebut maka oleh
sebab itu agar website layanan PLN dapat di akses melalui webview
pada dekstop maka diperlukan kode program javastript mematikan
sertifikat SSL.
Sub load_web(URL As String)
Private doc,we,temp As JavaObject
we.InitializeNewInstance("javafx.scene.web.WebEngine",Null)
doc.InitializeStatic("org.w3c.dom.Document")
temp = WebView1:me = temp.RunMethod("getEngine",Null)
Dim jo As JavaObject = Me:jo.RunMethod("disableSSLTest", Null)
we.RunMethod("load",Array As Object(URL))
End Sub
Dimana untuk membuka laman dengan mengulikan sebagai berikut:
Load_web(“https://layanan.pln.co.id/PBMohon.html”)
3.3.5.2 Penentuan ID Komponen Pada Website
Dikarenakan website layanan PLN
(https://layanan.pln.co.id/PBMohon.html) tidak terdapat interface API
maka diperlukan trik mengunakan javascript objek getengine untuk
mengisi data pada setiap id komponen pada laman. Proses penentuan
ID komponen pada lama tersebut mengunakan tools google chrome
develop. Perhatikan gambar berikut ini.
45
Gambar 3.15 Tampilan Google Chrome Develop
Kolom nama pada isian form pengajuan pasang baru miliki nama lain (id
komponen) “x-auto-19-input”, sehingga jika kita ingin mengisi atau mengakses
kolom tersebut maka id yang di tujua adalah x-auto-9-input, dengan sintak
javascript seperti berikut ini:
Dim joWV As JavaObject = WebView1
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(document.getElementById('x-auto-19-input').value = 'PUPUT'"))
kode program diatas berfungsi untuk mengisi kolom nama pada laman website
dengan nama PUPUT
46
3.4 Teknik Analisa
Langkah selanjutnya adalah melakukan pengujian pada sistem, hal
ini bertujuan agar hasil akhir sistem yang diimplementasikan sesuai
dengan yang dibutuhkan. Pengujian aplikasi ini, penulis menggunakan
pengujian UAT (User Acceptance Test).
3.4.1 Pengujian UAT (User Accnce Test)
Pengujian UAT adalah suatu proses pengujian oleh pengguna yang
dimaksud untuk menghasilkan dokumen yang dijadikan bukti bahwa sistem
yang kembangkan dapat diterima atau tidaknya oleh pengguna, apabila hasil
pengujian sudah bisa dianggap memenuhi kebutuhan dari pengguna maka
aplikasi dapat diterapkan. Berikut ini butir-butir pertanyaan yang terdapat
pada pengujian dengan UAT.
Tabel 3.7 Pertanyaan Kuisioner
No Pertanyaan
Data communications
1. Apakah proses pengambilan gambar KTP sudah berjalan dengan baik?
2. Apakah proses pengolahan data pada aplikasi deteksi objek sudah berjalan dengan baik?
End User Efficiency
3. Apakah pembuatan aplikasi deteksi objek sudah sesuai dengan yang direncanakan?
4. Apakah fitur-fitur yang terdapat pada aplikasi telah berjalan sebagaimana mestinya?
5. Apakah aplikasi ini dapat memudahkan dalam melakukan deteksi NIK pada KTP?
Operasional Ease
6. Apakah penggunaan metode OCR dapat mudah dipahami?
7. Apakah penggunaan metode OCR dapat mudah dipelajari?
Reusability
8. Apakah antarmuka pada aplikasi sudah menarik?
9. Apakah penggunaan kotak deteksi pada aplikasi sesuai dan mempermudah ketika digunakan?
10. Apakah fitur menampilkan gambar dan hasil data telah berfungsi dengan baik?
47
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil
Pada tahap ini akan disajikan hasil kinerja sistem deteksi objek pada
ktp, serta keberhasilan dalam menampilkan identitas pemilik KTP.
4.1.1 Antar muka Halaman Android
Halaman ini merupakan halaman proses untuk membaca NIK KTP dan
menyimpan hasil ke database. Saat tombol “Foto” ditekan, maka akan
mengambil gambar citra KTP. Kemudian hasil pengambilan gambar akan
tertampil pada image view, dan data yang terbaca akan ditampilkan pada
kotak data asli dan data valid.
(a) (b)
Gambar 4.1 (a) tampilan atas aplikasi android (b) tampilan bawah
aplikasi android yang berisikan data asli dan data valid
48
4.1.2 Antar muka Halaman Aplikasi Dekstop
Halaman ini merupakan tampilan dari aplikasi desktop yang telah dibuat,
aplikasi ini yang nantinya akan berfungsi untuk mengisi data-data
pelangan sesuai dengan hasil pembacaan dari handphone. User atau
pengguna juga dapat menggunakan aplikasi ini secara manual.
Gambar 4.2 Tampilan Aplikasi Desktop
4.2 Pembahasan
Pada tahap ini akan membahas tentang pengujian sistem dalam
melakukan proses pengenalan karakter pada citra KTP sesuai dengan
analisis dan perancangan yang telah dibahas pada Bab 3.
4.2.1 Pengujian Sistem Android
Pada pengujian sistem dilakukan proses pengenalan angka dengan
menggunakan citra NIK sebagai input yang diambil menggunakan kamera
handphone. Jumlah Masing-masing KTP diambil sebanyak 10 kali,
sehingga jumlah citra uji adalah 90 citra. Pengujian dilakukan dengan
jarak yang berbeda dan menggunakan jenis handphone yang berbeda.
Jarak pengambilan citra yang dilakukan adalah 8 cm, 12 cm, 15 cm.
49
Hasil pengujian sistem dengan menggunakan metode Optical
Character Recognition (OCR) dapat dilihat sebagai berikut :
a. Pengujian 1
Jenis Handphone : Xiaomi Redmi 4X
Versi Android : 7.1.2
Resolusi Kamera : 8 Mp
Tabel 4.1 Hasil Pengujian Sistem ke-1
No Citra Uji Hasil Pengujian Jarak ke - Keterangan
8 cm 12 cm 15 cm 8cm 12 cm
15 cm
1. 2.
3.
4.
5.
6. 7. 8. 9.
10. Total Terdeteksi 80% 90% 60%
Berdasarkan Tabel 4.1. menunjukan bahwa hasil pengujian sistem
yang dilakukan terhadap citra NIK menggunakan jenis handphone Xiaomi
yang diambil dengan jarak 8 cm berhasil mendeteksi 8 gambar dari 10
gambar citra uji dan 12 cm berhasil mendeteksi 9 gambar dari 10 gambar
citra uji. Sedangkan pada jarak 15 cm hanya dapat mendeteksi 6 gambar
dari 10 gambar citra uji. Dengan persentase tingkat akurasi sebagai
berikut :
50
Tingkat akurasi pada jarak 8 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 8
10 x100% = 80%
Tingkat akurasi pada jarak 12 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 9
10 x100% = 90%
Tingkat akurasi pada jarak 15 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 6
10 x100% = 60%
Selanjutnya dilakukan pengujian terhadap citra masukan dengan jenis
handphone ke-2. Hasil pengujian dapat diliat pada Tabel 4.2.
51
b. Pengujian 2
Jenis Handphone : Asus 2
Versi Android : 6.0.1
Resolusi Kamera : 8 Mp
Tabel 4.2 Hasil Pengujian Sistem ke-2
No Citra Uji Hasil Pengujian Jarak ke - Keterangan
8 cm 12 cm 15 cm 8cm 12 cm
15 cm
1. 2.
3.
4.
5.
6. 7. 8. 9.
10.
Total Terdeteksi 90% 90%
70%
Berdasarkan Tabel 4.2. menunjukan bahwa hasil pengujian sistem
yang dilakukan terhadap citra NIK menggunakan jenis handphone Asus 2
yang diambil dengan jarak 8 cm berhasil mendeteksi 9 gambar dari 10
gambar citra uji dan 12 cm berhasil mendeteksi 9 gambar dari 10 gambar
citra uji. Sedangkan pada jarak 15 cm hanya dapat mendeteksi 7 gambar
dari 10 gambar citra uji. Dengan persentase tingkat akurasi sebagai
berikut :
52
Tingkat akurasi pada jarak 8 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 9
10 x100% = 90%
Tingkat akurasi pada jarak 12 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 9
10 x100% = 90%
Tingkat akurasi pada jarak 15 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 7
10 x100% = 70%
Selanjutnya dilakukan pengujian terhadap citra masukan dengan jenis
handphone ke-3. Hasil pengujian dapat diliat pada Tabel 4.3.
53
c. Pengujian 3
Jenis Handphone : Oppo A51W
Versi Android : 5.1.1
Resolusi Kamera : 6 Mp
Tabel 4.3 Hasil Pengujian Sistem ke-3
No Citra Uji Hasil Pengujian Jarak ke - Keterangan
8 cm 12 cm 15 cm 8c
m 12 cm
15 cm
1. 2.
3.
4.
5.
6.
7. 8. 9.
10. Total Terdeteksi 80
% 80%
60%
Berdasarkan Tabel 4.3. menunjukan bahwa hasil pengujian sistem
yang dilakukan terhadap citra NIK menggunakan jenis handphone A51W
yang diambil dengan jarak 8 cm berhasil mendeteksi 8 gambar dari 10
gambar citra uji.dan 12 cm berhasil mendeteksi 8 gambar dari 10 gambar
citra uji. Sedangkan pada jarak 15 cm hanya dapat mendeteksi 6 gambar
dari 10 gambar citra uji. Dengan persentase tingkat akurasi sebagai
berikut :
54
Tingkat akurasi pada jarak 8 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 8
10 x100% = 80%
Tingkat akurasi pada jarak 12 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 8
10 x100% = 80%
Tingkat akurasi pada jarak 15 cm
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 6
10 x100% = 60%
Tabel 4.4 Hasil Pengujian
Pengujian Jarak
8 cm 12 cm 15 cm
Pengujian 1 80 % 90 % 60 %
Pengujian 2 90 % 90 % 70 %
Pengujian 3 80 % 80 % 60 %
Tingkat akurasi 83 % 87 % 63,3 %
Berdasarkan data diatas didapatkan hasil jarak paling ideal dalam
pengambilan gambar yaitu pada jarak 12 cm dengan tingkat akurasi 87 %.
Apabila mengambil gambar dengan jarak 8 cm maka tingkat akurasi
keberhasilan sistem dalam memca NIK pada KTP sebesar 83 %.
Gambar 4.3 menunjukan adanya pengaruh kondisi pencahayaan
terhadap akurasi sistem. Contohnya pada citra uji 1 (kiri), 2 (tengah) dan
3 (kanan). Citra uji 1 dan 2 dengan kondisi cahaya yang cukup dapat
menghasilkan akurasi yang lebih baik dibandingkan citra uji 3.
55
Gambar 4.3 Analisi Kondisi Pencahayaan Terhadap Akurasi Sistem
Selain itu kondisi kertas dan teks pada KTP juga mempengaruhi akurasi
sistem. Terlihat pada gambar 4.4 perbedaan kualitas KTP yang diuji. Citra
uji 1 (kiri) memiliki kualitas citra yang baik
Gambar 4.4 Analisi Kondisi Kualitas KTP Terhadap Akurasi Sistem
Berdasarkan hasil uji coba pada Tabel 4.1 dan 4.2, dapat dilihat bahwa
rata-rata akurasi sistem menurun apabila jarak pengambilan citra lebih
jauh. Jarak pengambilan yang menghasilkan akurasi tertinggi adalah jarak
8 cm sampai 12 cm dengan tingkat akurasi sebesar 70%. Nilai akurasi
tersebut dipengaruhi oleh beberapa faktor, antara lain jarak pengambilan
citra, kualitas tulisan pada KTP, kondisi pencahayaan, dan posisi
pengambilan.
Dari data hasil pengujian tersebut, di dapatkan tingkat akurasi
keseluruhan sistem sebagai berikut :
Akurasi = total terdeteksi
𝑡𝑜𝑡𝑎𝑙 𝑐𝑖𝑡𝑟𝑎 𝑢𝑗𝑖 x100%
Akurasi = 70
90 x100% = 78%
56
Nilai akurasi pada penelitian ini lebih rendah dibandingkan dengan nilai
akurasi pada penelitian terdahulu. Hal ini dikarenakan citra uji pada
penelitian ini tidak semuanya memiliki kualitas citra yang baik, dari 10 KTP
yang digunakan, 4 KTP memiliki kualitas yang kurang baik. Sedangkan
citra uji yang digunakan pada penelitian sebelumnya memiliki kualitas
yang baik dan terlihat jelas sehingga dapat menghasilkan nilai akurasi
yang lebih tinggi. Selain itu Google Mobile Vision yang digunakan tidak
dapat dilakukan pelatihan sehingga sistem tidak dilatih untuk mengenali
karakter dengan kondisi yang kurang baik, contohnya karakter angka yang
kurang jelas atau sedikit terpotong.
4.2.2 Pengujian Aplikasi Desktop
Untuk melakukan pengujian aplikasi desktop dilakukan dengan proses
instalasi pada beberapa jenis operasi sistem berikut :
Tabel 4.5 Hasil Pengujian Instalasi.
No Operating
Sistem Tampilan Kinerja Instal Keterangan
1 Windows XP SP3
sesuai Bekerja Berhasil Membutuhkan Instalsi Java JDKs V8
2 Windows 7 64bit
Sesuai Bekerja Berhasil Membutuhkan instalasi Java JDK V8
3. Windows 10 64bit
Sesuai Bekerja Berhasil Membutuhkan instalsi Java JDK V8
4 Linux Ubuntu 17.10
Sesuai Bekerja Berhasil Tidak membutuhkan Java JDK
5 raspberry Pi
Sesuai Bekerja Berhasil Tidak Membutuhkan Java JDK
57
Dari data tabel pengujian diatas maka dapat di katakan bahwa aplikasi
dekstop dapat bekerja dengan baik dengan tampilan, kinerja maupun
proses instalasi berhasil dengan beberapa operating sistem. Untuk
operating sistem linux maupun raspberry pi tidak membutuhkan aplikasi
tambahan java JDK karena basis dari kompiler B4J (basic for Java) yang
digunakan menggunakan reposity java dengan ektensi file aplikasi .jar.
sendangkan untuk platform operating sistem windows extensi aplikasi
.exe maka oleh sebab itu agar aplikasi dekstop dapat terinstal dengan baik
maka diperlukan aplikasi tambahan yakni java JDK dengan versi minimum
V8.
4.2.3 Pengujian User Acceptance Test (UAT)
Pengujian yang penulis gunakan untuk aplikasi ini adalah pengujian
berdasarkan pengujian User Acceptance Test. Setelah kuisioner diberikan
kepada pengguna (user), kemudian data kuisioner tersebut diolah untuk
mendapatkan hasil penelitian user acceptance test sehingga dapat dilakukan
evaluasi sistem tersebut berdasarkan aspek Data communications, End User
Efficiency, Operasional Ease, dan Reusability terhadap Aplikasi Sistem
Deteksi Objek. Adapun hasil penelitian user acceptance test sebagai berikut:
Tabel 4.6 Pilihan Jawaban UAT
Nilai Kategori Jawaban
A Sangat : Sesuai/Mudah/Bagus/Jelas
B Sesuai /Mudah/Bagus/Jelas
C Netral
D Cukup : Sulit/Bagus/Sesuai/Jelas
E Sangat :Sulit/Jelek/Tidak Sesuai/Tidak Jelas
Tabel 4.7 Bobot Nilai Jawaban
Nilai Kategori Jawaban Bobot
A Sangat : Sesuai/Mudah/Bagus/Jelas 5
B Sesuai /Mudah/Bagus/Jelas 4
C Netral 3
D Cukup : Sulit/Bagus/Sesuai/Jelas 2
E Sangat :Sulit/Jelek/Tidak Sesuai/Tidak Jelas 1
58
Tabel 4.8 Penghitungan Nilai Fi
No Pertanyaan Jumlah Jawaban/org
Nilai Jml
A B C D E Ax5 Bx4 Cx3 Dx2 Ex1
Data communications
1. Apakah proses pengambilan gambar KTP sudah berjalan dengan baik?
0 2 1 0 0 0 8 3 0 0 11
2. Apakah proses pengolahan data pada aplikasi deteksi objek sudah berjalan dengan baik?
0 2 1 0 0 0 8 3 0 0 11
Total 22
Nilai rata-rata = (Total / jml responden) / 5 1,46
Fi = nilai rata-rata / jml pertanyaan x100% 73%
End User Efficiency
3. Apakah pembuatan aplikasi deteksi objek sudah sesuai dengan yang direncanakan?
2 1 0 0 0 10 4 0 0 0 14
4. Apakah fitur-fitur yang terdapat pada aplikasi telah berjalan sebagaimana mestinya?
1 2 0 0 0 5 8 0 0 0 13
5. Apakah aplikasi ini dapat memudahkan dalam melakukan deteksi NIK pada KTP?
2 1 0 0 0 10 4 0 0 0 14
Total 41
Nilai rata-rata = (Total / jml responden) / 5 2,73
Fi = nilai rata-rata / jml pertanyaan x100% 91%
Operasional Ease
6. Apakah penggunaan metode google mobile vision dapat mudah dipahami?
1 2 0 0 0 5 8 0 0 0 13
7. Apakah penggunaan metode google mobile vision dapat mudah dipelajari?
1 2 0 0 0 5 8 0 0 0 13
Total 26
Nilai rata-rata = (Total / jml responden) / 5 1,73
Fi = nilai rata-rata / jml pertanyaan x100% 86%
59
Reusability
8. Apakah antarmuka pada aplikasi sudah menarik?
2 1 0 0 0 10 4 0 0 0 14
9. Apakah penggunaan kotak deteksi pada aplikasi sesuai dan mempermudah ketika digunakan?
3 0 0 0 0 15 0 0 0 0 15
10 Apakah fitur menampilkan gambar dan hasil data telah berfungsi dengan baik?
3 0 0 0 0 15 0 0 0 0 15
Total 44
Nilai rata-rata = (Total / jml responden) / 5 2,93
Fi = nilai rata-rata / jml pertanyaan x100% 98%
Data yang didapat diatas diolah dengan cara mengalikan setiap
poin jawaban dengan bobot yang sudah ditentukan sesuai dengan tabel
bobot nilai jawaban.
a. Analisa pertanyaan Data communications
Dari tabel di atas dapat dilihat bahwa jumlah nilai dari 3
responden untuk pertanyaan pertama adalah 22. Nilai rata-ratanya
adalah (22/3) / 5= 1,46. Persentase nilai Fi adalah 1,46/2 x 100 =
73%.
b. Analisa pertanyaan End User Efficiency
Dari tabel di atas dapat dilihat bahwa jumlah nilai dari 3
responden untuk pertanyaan kedua adalah 41. Nilai rata-ratanya
adalah (41/3) / 5= 2,73. Persentase nilai Fi adalah 2,73/3 x 100 =
91%.
60
c. Analisa pertanyaan Operasional Ease
Dari tabel di atas dapat dilihat bahwa jumlah nilai dari 3
responden untuk pertanyaan ketiga adalah 26. Nilai rata-ratanya
adalah (26/3) / 5= 1,73. Persentase nilai Fi adalah 1,73/2 x 100 =
86%.
d. Analisa pertanyaan Reusability
Dari tabel di atas dapat dilihat bahwa jumlah nilai dari 3
responden untuk pertanyaan ke-empat adalah 44. Nilai rata-
ratanya adalah (44/3) / 5= 2,93. Persentase nilai Fi adalah 2,93/3 x
100 = 98%.
Tabel 4.9 Kategori Penilaian
Nilai Kategori
0 sd < 25 Sangat Kurang
25 sd < 50 Kurang
50 sd < 75 Baik
75 sd < 100 Sangat Baik
Tabel 4.10 Hasil Analisa
No. Analisa Pertanyaan Persentase Nilai Fi
1. Data communications 73%
2. End User Efficiency 91%
3. Operasional Ease 86%
4. Reusability 98%
Total Fi 348%
Rata-rata Fi 87%
Dari data diatas dapat disimpulkan bahwa aplikasi deteksi objek
tersebut memiliki proses pengambilan gambar KTP sudah berjalan
dengan sangat baik yaitu rata-rata dari hasil analisa sebesar 87% ,
proses pengolahan data pada aplikasi deteksi objek sudah berjalan
dengan baik, pembuatan aplikasi deteksi objek sudah sesuai dengan
yang direncanakan, fitur-fitur pada aplikasi telah berjalan sebagaimana
mestinya, dapat memudahkan dalam melakukan deteksi NIK pada
KTP, metode google mobile vision dapat mudah dipahami dan
dipelajari, antarmuka pada aplikasi sudah menarik, kotak deteksi pada
aplikasi sesuai dan mempermudah ketika digunakan, fitur menampilkan
gambar dan hasil data telah berfungsi dengan baik.
61
BAB V
PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil berdasarkan penelitian terhadap
deteksi objek pada KTP dengan menggunakan optical character
recognition (ocr) adalah sebagai berikut :
1. Image prosesing dengan platform Google Mobile Vision dalam
mencari informasi NIK pada KTP
2. Akurasi yang tercapai pada penelitian ini mencapai 90% untuk
pengambilan gambar dengan jarak 8 cm dan 12 cm.
3. Aplikasi desktop dapat bekerja dengan baik pada operating system
windows xp sp3, windows 7 64 bit, windows 10 64 bit, linux, dan
raspberry pi. Sementara untuk operating system windows
membutuhkan aplikasi tambahan java JDK.
4. Dari 90 citra uji ( 30 citra uji pada pengujian 1, 30 citra uji pada
pengujian 2, dan 30 citra uji pada pengujian 3), didapatkan
keakuratan sistem sebesar 78% .
5. Dari pengujian dengan User Acceptance Test (UAT) didapatkan
bahwa aplikasi deteksi objek NIK pada KTP sudah berjalan dengan
baik.
6. Sistem aplikasi mobile android “NIK reader” dan aplikasi desktop
“Online PB dan PD” dapat melakukan proses input data pelangan
secara otomatis dan cepat pada layanan pasang baru maupun
perubahan daya.
5.2 Saran
Berikut ini beberapa saran dari penulis berikan untuk pengembangan
pada penelitian selanjutnya adalah sebagai berikut :
1. KTP yang digunakan sebaiknya memiliki kondisi yang baik.
62
2. Database dapat dilengkapi dengan data informasi mengenai kode
provinsi, kode kabupaten / kota, dan kode kecamatan seluruh
Indonesia.
3. Aplikasi deteksi NIK pada KTP dapat dikembangkan dengan
mendeteksi objek yang lain.
4. Aplikasi deteksi NIK pada KTP dapat digunakan untuk keperluan
yang lain.
5. Faktor lain yang mempengaruhi nilai akurasi pembacaan NIK,
antara lain kualitas tulisan pada KTP, kondisi pencahayaan, dan
posisi pengambilan.
63
DAFTAR PUSTAKA
(2016). Retrieved from https://developers.google.com.
Alisha, & Gnana. (2016). Image Denoising. Jurnal Ilmu Komunikasi dan
Teknologi Informasi, 15.
Berchmans, & kumar. (2014). Optical character recognition (OCR). jurnal ilmu
komputer dan teknologi komunikasi, 17.
Buades. (2011). Pendefinisian Non Local Means Denoising. Jurnal Ilmu
Komunikasi dan Teknologi Informasi, 15.
Creative Commons Attribution 3.1 license 2016. (2016).
Eikvil, L. (1993). OCR Optical Character Recognition. Line Eikvil.
Fajar, M. (2015). PERANCANGAN APLIKASI PENELURUSAN INFORMASI
PERSURATAN BERBASIS OPTICAL CHARACTER RECOGNITION
(OCR). Jurnal Teknik Informatika, 1-114.
Gonzalez, & Woods. (2002). Fungsi Threshold. Jurnal Ilmu Komunikasi dan
Teknologi Informasi, 11-17.
Haloho, N. E. (2017). SISTEM PENGENALAN TEKS PADA STRUK DENGAN
PLATFORM ANDROID. Jurnal ilmu komputer dan teknologi informasi, 1-
60.
Jain. (1989). pengolahan citra digital. jurnal ilmu komputer dan teknologi
informasi, 9.
Jaroji, Kurniati, r., & Agustiawan. (2017). Image Processing dan Artificial Neural
Network Untuk Mengenali Nomor Induk Kependudukan Pada KTP
Sebagai Pendukung Layanan Mandiri di Kantor Desa. Jurnal Teknologi
Informasi & komunikasi Digital Zone , 81-90.
Kusmawati, K., & Cahyadi, D. W. (2017). Penerapan Teknologi Optical Character
Recognition (OCR) Untuk Mendeteksi Plat Nomor Kendaraan . Jurnal
Sistem Informasi, 12-20.
Kusumadewi, S. (2003). Artificial Intelligence Teknik Dan Aplikasinya.
Yogyakarta: Graha Ilmu.
64
Maimun. (2011). Penggunaan Sistem Pengolahan Data Pembayaran Biaya
Pasang Baru Dan Tambah Daya Di PT.PLN (persero) Merduata Banda
Aceh. Banda Aceh: Maimun.
Maziyah, M., & Noortjahja, A. (2007). Implementasi VB 6.0 Pada Face Detection
Berbasis Image Processing untuk Sistem Identifikasi. Jurnal Fisika &
Aplikasinya volume 3, nomor 2, 1-9.
Mulyawan, H., Samsono, M. H., & setiawardhana. (2011). IDENTIFIKASI DAN
TRACKING OBJEK BERBASIS IMAGE PROCESSING SECARA REAL
TIME. Surabaya: Hendy Mulyawan.
Olga. (2018, maret kamis). Pelayanan Pasang Baru dan Tambah Daya PLN Area
Singkawang. (puji, Interviewer)
Parker. (2011). Pendefinisian Erosion Operator. Jurnal Ilmu Komunikasi dan
Teknologi Informasi, 16.
Phillips. (2000). Operator Closing. Jurnal Ilmu Komunikasi dan Teknologi
Informasi, 12.
Pratama, H. K. (2011). Analisis Perbandingan Pengenalan Tanda Tangan
Dengan Menggunakan Metode Perceptron Dan Backpropagation. Jurnal
Sains & Teknologi, 1-93.
Putro, M. D., Adji, T. B., & Winduratna, B. (2012). Sistem Deteksi Wajah dengan
Menggunakan Viola Jones. Jurnal Sains & Komputer, 71-75.
Rajni, & Anutam. (2014). teknik denoising. jurnal ilmu komputer dan teknologi
informasi, 15.
Rizky, N. (2015). Pelayanan Penyambungan Listrikbaru pada PT. PLN (Persero)
Rayon Sukoharjo. Surakarta: Nanda Rizky.
Sahrizal, O. F. (2013). Aplikasi Pengenalan Plat Nomor Kendaraan Dengan
Metode Optical Character Recognition (OCR). Jurnal Elektro, 1-11.
Sapoetra, A. N. (2016, Januari Sabtu).
http://naufansapoetra.blogspot.com/2016/01/cara-memahami-pengujian-
uat.html. Retrieved from http://naufansapoetra.blogspot.com:
http://naufansapoetra.blogspot.com/2016/01/cara-memahami-pengujian-
uat.html
65
Shapiro, & Stockman. (2001). computer vision. jurnal Ilmu komputer dan
teknologi informasi, 8.
Silaen, R. A. (2015). Sistem Pengenalan Karakter Pada Plat Kendaraan
Bermotor Menggunakan Profile Projection dan Algoritma Korelasi. Jurnal
Politeknik Caltex Riau, 109-119.
Thillou. (2004). Bentuk Thresholding. Jurnal Ilmu Komputer dan Teknologi
Informasi, 11.
Wahono, R. S. (2012, Agustus Selasa). romisatriowahono.net/2012/08/07/kiat-
menyusun-kerangka-pemikiran-penelitian/. Retrieved from
romisatriowahono.net: romisatriowahono.net/2012/08/07/kiat-menyusun-
kerangka-pemikiran-penelitian/
Widodo, S. (2014). Optical Character Recognition for Indonesia Electronic ID-
Card Image. Jurnal teknologi informasi & komputer, 225-232.
DAFTAR RIWAYAT HIDUP
Data Personal
NIM : 2014-31-022
Nama : Puji Fitriana
Tempat/Tanggal lahir : Singkawang, 19 Juni 1996
Jenis Kelamin : Perempuan
Agama : Islam
Status Perkawinan : Belum kawin
Program Studi : S1 Teknik Informatika
Alamat Rumah : Jalan Veteran Gang Masjid No.88
RT.36/RW.05, Singkawang,
Kalimantan Barat, 79122
No. Hp : 08972975256
E-mail : [email protected]
Pendidikan
Jenjang Nama Lembaga Jurusan Tahun Lulus
SD SDN 13 Singkawang Tengah - 2008
SMP SMPN 3 Singkawang Tengah - 2011
SMA SMAN 3 Singkawang Tengah IPA 2014
Demikian daftar riwayat hidup ini dibuat dengan sebenarnya
Jakarta, Agustus 2018
Mahasiswa Ybs,
(Puji Fitriana)
Lampiran Hasil Wawancara
Pewawancara : Puji Fitriana
Narasumber : Olga
Waktu : 12 Maret 2018
Pukul : 9:46 WIB
Studi Kasus : Layanan Pasang Baru dan Tambah Daya PT.PLN (Area)
Singkawang
Hasil Wawancara :
Pewawancara : Selamat pagi bu, saya mahasiswi magang dari STT-PLN.
Boleh minta waktunya sebentar untuk wawancara
mengenai layanan pasang baru dan tambah daya di PLN
Singkawang?
Narasumber : Selamat Pagi. Ada yang bisa dibantu?
Pewawancara : Bagaimana proses layanan pasang baru dan tambah daya
di PLN Singkawang?
Narasumber : Untuk layanan pasang baru dan tambah daya di PLN
Singkawang menggunakan online pada website PLN dan
menggunakan aplikasi AP2T
Pewawancara : Apa itu aplikasi AP2T?
Narasumber : Aplikasi Pelayanan Pelanggan Terpusat
Pewawancara : Mengapa masyarakat masih banyak yang memilih untuk
datang ke kantor untuk mengajukan permohonan? Padahal
sudah dipermudah dengan adanya website yang bisa
diakses secara online
Narasumber : karena masih banyak masyarakat yang tidak tau akan
teknologi, tidak terhubung dengan internet, dan banyak
masyarakat yang berpikir dengan menggunakan sistem
loket dengan datang ke kantor maka akan layanan akan
segera di proses dan tidak ribet.
Pewawancara : Kapan menggunakan aplikasi AP2T?
Narasumber : Aplikasi Ap2T digunakan ketika jaringan internet yang
digunakan gangguan sehingga tidak bisa melakukan
pendaftaran untuk pasang baru maupun migrasi maupun
tambah daya sehingga menggunakan aplikasi AP2T untuk
melakukan pendaftaran permohonan pelanggan. Dan
penggunaan website online hanya digunakan untuk
pelanggan yang menggunakan daya kecil seperti untuk
keperluan perumahan, sedangkan untuk aplikasi digunakan
untuk pelanggan yang mengajukan daya besar seperti
untuk usaha-usaha, hotel.
Pewawancara : Apakah AP2T menggunakan jaringan juga?
Narasumber : AP2T itu sistem kantor jadi menggunakan user kantor
Pewawancara : Bagaimana proses layanan pasang baru dan tambah daya
dengan menggunakan web PLN?
Narasumber : untuk layanan tambah daya, masukan ID pelanggan untuk
melakukan pencarian data pelanggan. Setelah data
ditemukan maka akan tertampil data pelanggan dengan ID
pelanggan tersebut. Sedangkan untuk layanan pasang
baru, masukan data pemohon sesuai dengan KTP
pemohon, setelah data benar maka data akan disimpan
dan disesuaikan keperluannya pemohon.
Pewawancara : kekurangan dari sistem yang sedang berjalan?
Narasumber : butuh waktu yang lama maksimal 15 menit untuk
menginputkan data pemohon, karna data pelanggan di
lakukan pengetikan maka bisa terjadi salah penginputan
data
Pewawancara : baik bu terimakasih atas informasi dan waku yang telah
ibu berikan
Narasumber : jika masih ada yang ditanyakan silahkan hubungi saya
nanti
Lampiran Kode Program
#Region Project Attributes
#MainFormWidth: 990
#MainFormHeight: 550
#End Region
#if JAVA
import java.net.MalformedURLException;
import java.net.URL;
import java.security.GeneralSecurityException;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
public static void disableSSLTest() {
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (GeneralSecurityException e) {
}
try {
URL url = new URL("https://hostname/index.html");
} catch (MalformedURLException e) {
}
}
#end if
Sub Process_Globals
Dim k As Int
Private fx As JFX
Private MainForm As Form
Dim web_pilih As String
'Private wv1 As WebView
' Private navBar As TextField
Private WEB_Pasang_Baru As String =
"https://layanan.pln.co.id/PBMohon.html"
Private WEB_tambah_Daya As String =
"https://layanan.pln.co.id/PDMohon.html"
Private WEB_PLN As String = "https://layanan.pln.co.id"
Dim cx As Int
Dim load_count As Int
Dim status_akhir As String
' Private combo1 As ComboBox
Private WebView1 As WebView
Private Label1 As Label
Dim server As ServerSocket
Private astream As AsyncStreams
Dim bc As ByteConverter
Dim dt_in(6) As String
Dim counter As Int
Private Label_IP As Label
Private Label_status_soket As Label
Private Label_status_nik As Label
Private Text_NIK As TextField
Private Text_provinsi As TextField
Private Text_kota As TextField
Private Text_Kecamatan As TextField
Private Text_Nama As TextField
Dim flag As Int
Private Button3 As Button
Private ProgressIndicator1 As ProgressIndicator
Private Text_kelurahan As TextField
Private Button1 As Button
Private Button4 As Button
Dim timer1 As Timer
Dim timer2 As Timer
Dim timer3 As Timer
Dim timer4 As Timer
Dim timer5 As Timer
Dim timer_clip As Timer
' Private ComboBox1 As ComboBox
Private Go As Button
Private Label_2 As Label
Private Label_1 As Label
Private Label_3 As Label
Private Label_4 As Label
Private Label_5 As Label
Private Label_6 As Label
Private Label_db As Label
Dim db_filename As String
Dim fullPath As String
Dim filename As String
Dim filePath As String
Dim list_NIK As List
Private Label_status As Label
Dim timer6 As Timer
Private Check_setuju As CheckBox
Private ProgressIndicator2 As ProgressIndicator
Dim timer7 As Timer
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("2")
MainForm.Resizable=False
WebView1.Visible=False
ProgressIndicator1.Visible=True
ProgressIndicator1.Progress=-1
load_web(WEB_PLN)
MainForm.Show
server.Initialize(1234, "server")
server.Listen
Label_IP.Text = server.GetMyIP
timer_clip.Initialize("timer_clip",350)
timer1.Initialize("timer1",500)
timer2.Initialize("timer2",3000)
timer3.Initialize("timer3",100)
timer4.Initialize("timer4",2000)
timer5.Initialize("timer5",500)
timer6.Initialize("timer6",2000)
timer7.Initialize("timer7",500)
ProgressIndicator2.Progress=-1
Dim list2 As List:list2.Initialize
'Log(File.DirData("WEBengine"))
'File.Writestring(File.DirData("WEBengine"),"db.txt","oke")
If File.Exists(File.DirData("WEBengine"), "db.txt")=False Then
Log("file tidak ada")
fx.Msgbox2(MainForm, "Alamat Database Pelangan Belum di Atur",
"Pengaturan Awal", "Atur Sekarang", "", "", fx.MSGBOX_ERROR)
Dim fc As FileChooser
fc.Initialize
fullPath = fc.ShowOpen(MainForm)
If fullPath = "" Then
Log("nama file tidak ada")
fx.Msgbox(MainForm, "Alamat Database tidak Di set aplikasi
Akan di matikan", "Pengaturan Gagal")
ExitApplication
Else
filename=File.GetName(fullPath)
filePath=File.GetFileParent(fullPath)
Label_db.Text=fullPath
db_filename=filename
list2.Add(filename):list2.Add(filePath):list2.Add(fullPath)
File.WriteList(File.DirData("WEBengine"),"db.txt",list2)
web_pilih=WEB_PLN
End If
Else
list2=File.ReadList(File.DirData("WEBengine"), "db.txt")
filename=list2.Get(0):filePath=list2.Get(1):fullPath=list2.Get(2)
Label_db.Text=fullPath
End If
buffer_nik(filePath,filename)
WebView1.Enabled=True
End Sub
Sub buffer_nik(file_path As String,file_name As String)
Dim i,u As Int=0
list_NIK.Initialize
Dim wb As PoiWorkbook
wb.InitializeExisting(file_path,file_name,"")
Dim sheet1 As PoiSheet=wb.GetSheet(0)
For Each r As PoiRow In sheet1.Rows
i=0
For Each c As PoiCell In r.Cells
i=i+1
If i=5 And c.Value<>"" Then
list_NIK.Add(c.Value)
Log(c.Value)
End If
Next
u=u+1
Next
End Sub
Sub load_DB_Click
Dim fc As FileChooser
Dim list1 As List
fc.Initialize
list1.Initialize
fullPath = fc.ShowOpen(MainForm)
If fullPath = "" Then:Log("nama file tidak ada")
Else
filename=File.GetName(fullPath)
filePath=File.GetFileParent(fullPath)
db_filename=filename
list1.Add(filename)
list1.Add(filePath)
list1.Add(fullPath)
Label_db.Text=fullPath
File.WriteList(File.DirData("WEBengine"),"db.txt",list1)
End If
End Sub
Sub load_web(URL As String)
Private doc,we,temp As JavaObject
we.InitializeNewInstance("javafx.scene.web.WebEngine",Null)
doc.InitializeStatic("org.w3c.dom.Document")
temp = WebView1
we = temp.RunMethod("getEngine",Null)
Dim jo As JavaObject = Me
jo.RunMethod("disableSSLTest", Null)
we.RunMethod("load",Array As Object(URL))
End Sub
Sub WebView1_PageFinished (Url As String)
'WebView1.Enabled=True
WebView1.Visible=True
ProgressIndicator1.Visible=False
ProgressIndicator1.Progress=-1
timer5.Enabled=True
End Sub
Sub ambil_dt_db(value As String,file_path As String,file_name As String)
Dim i As Boolean=False
Dim wb As PoiWorkbook:wb.InitializeExisting(file_path,file_name,"")
Dim o As Int
For o=1 To list_NIK.Size-1
Log(value& "-"& list_NIK.Get(o))
If value=list_NIK.Get(o) Then:
i=True:
Exit:
End If
Next
If i=False Then:
load_tampilan_pasang_baru
status_akhir="pasang baru"
Label_status.Text="Pasang Baru"
Label_status.TextColor=fx.Colors.Red
timer_clip.Enabled=True
ProgressIndicator1.Visible=True
ProgressIndicator1.Progress=-1
WebView1.Visible=False
k=0
load_web(WEB_Pasang_Baru)
else if i=True Then 'found text
Dim sheet1 As PoiSheet=wb.GetSheet(0)
Dim rowcells As List:rowcells.Initialize
For Each c As PoiCell In sheet1.GetRow(o).Cells:
Log(c.Value)
rowcells.Add(c.Value):
Next
load_tampilan_tambah_daya
'Text_Nama.Text=rowcells.Get(5)
Text_NIK.Text=rowcells.Get(3)
Text_NIK.Text=Text_NIK.Text.Replace(" ","")
Text_provinsi.Text=rowcells.Get(4)
status_akhir="tambah daya"
Label_status.TextColor=fx.Colors.blue
Label_status.Text="Perubahan Daya"
timer_clip.Enabled=True
ProgressIndicator1.Visible=True
ProgressIndicator1.Progress=-1
WebView1.Visible=False
k=0
load_web(WEB_tambah_Daya)
End If
End Sub
Sub timer5_Tick
Dim joWV As JavaObject = WebView1
Dim i As String
Dim i_nama As String
'WebView1.RequestFocus
i=joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array("document.getElementsByTagName('html')[0].innerHTML"))
If i.Contains("x-auto-5")=True And k=0 Then :K=1
i_nama ="document.getElementById('x-auto-5').click()"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array
As String(i_nama))
Else If k=1 And i.Contains("x-auto-184")=True Then :k=2
i_nama="document.getElementById('x-auto-184').click()"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(i_nama))
else if k=2 And i.Contains("x-auto-197")=True Then :k=3
i_nama="document.getElementById('x-auto-197').click()"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(i_nama))
Else if i.Contains("x-auto-19-input")=True Or i.Contains("x-auto-17-
input")=True Then
Log(joWV.RunMethodJO("getEngine",
Null).RunMethod("executeScript", Array As String("document.body.scrollTop;")))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String("window.scrollTo(1, 1);"))
timer5.Enabled=False
If status_akhir="tambah daya" Then
timer7.Enabled=True
Else if status_akhir="pasang baru" Then
isi_data_pasang_baru
End If
End If
getWebPageTitle(WebView1)
End Sub
Sub timer7_Tick
timer7.Enabled=False
cari_data_pel(Text_NIK.Text)
End Sub
Sub cari_data_pel(IDPEL2 As String)
'WebView1.RequestFocus
Dim joWV As JavaObject = WebView1
Dim IDPEL As String="document.getElementById('x-auto-17-input').value =
'"&IDPEL2&"'"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(IDPEL))
Dim i,i_nama As String
i=joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array("document.getElementsByTagName('html')[0].innerHTML"))
'Log(i.Contains("x-auto-18"))
If i.Contains("x-auto-18")=True Then
i_nama ="document.getElementById('x-auto-18').click()"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(i_nama))
Log("timer 6 run")
timer6.Enabled=True
End If
End Sub
Sub timer6_Tick
WebView1.RequestFocus
Dim x_nama As String="document.getElementById('x-auto-58-input').value =
'"&Text_provinsi.Text&"'"
Dim jo2 As JavaObject = WebView1
jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(x_nama))
timer6.Enabled=False
End Sub
Sub getWebPageTitle(wv As WebView) As String
Dim result As String = " "
Try
Dim joWV As JavaObject = wv
Dim joWE As JavaObject = joWV.RunMethod("getEngine", Null)
result = joWE.RunMethod("getTitle", Null)
Catch
result = LastException.Message
End Try
Return result
End Sub
Sub server_NewConnection (Successful As Boolean, NewSocket As Socket)
If Successful Then
If astream.IsInitialized Then astream.Close
astream.Initialize(NewSocket.InputStream,NewSocket.OutputStream,
"astream")
Label_status_soket.Text="Connected"
ProgressIndicator2.Visible=True
Else
Log(LastException)
End If
server.Listen
End Sub
Sub astream_NewData (Buffer() As Byte)
Dim raw As String=bc.StringFromBytes(Buffer,"UTF8")
Dim i As Int=raw.Length
Dim kk As String
Dim a,b,c,d As Int
Dim w,x,y,z As Int
Dim j(5) As Int
For a=0 To i-1
kk=raw.SubString2(a,a+1)
If kk="|" Then
b=b+1
j(b)=a
End If
Next
If raw.SubString2(i-1,i)="&" Then
kk=raw.Replace("&","")
i=kk.Length
Text_NIK.Text=kk.SubString2(j(1)+1,j(2))
Text_provinsi.Text=kk.SubString2(j(2)+1,j(3))
Text_kota.Text=kk.SubString2(j(3)+1,j(4))
Text_Kecamatan.Text=kk.SubString(j(4)+1)
timer3.Enabled=True
End If
astream.Close:
End Sub
Sub timer3_Tick
ambil_dt_db(Text_NIK.Text,filePath,filename)
timer3.Enabled=False
End Sub
Sub astream_Error
Log("Error: " & LastException)
astream.Close:astream_Terminated
ProgressIndicator2.Visible=False
End Sub
Sub astream_Terminated
Log("terminated")
ProgressIndicator2.Visible=False
Label_status_soket.Text="Disconnected"
End Sub
Sub timer_clip_Tick
If Label_status.Visible=True Then :Label_status.Visible=False
Else :Label_status.Visible=True
End If
End Sub
Sub isi_data_pasang_baru()
WebView1.RequestFocus
Dim joWV As JavaObject = WebView1
Dim i_nama As String="document.getElementById('x-auto-19-input').value =
'"&Text_Nama.Text&"'"
Dim i_provinsi As String="document.getElementById('x-auto-20-input').value =
'"&Text_provinsi.Text&"'"
Dim i_kota As String="document.getElementById('x-auto-23-input').value =
'"&Text_kota.Text&"'"
Dim i_Kecamatan As String="document.getElementById('x-auto-26-
input').value = '"&Text_Kecamatan.Text&"'"
Dim i_Kelurahan As String="document.getElementById('x-auto-29-
input').value = '"&Text_kelurahan.Text&"'"
Dim i_nik As String="document.getElementById('x-auto-65-input').value =
'"&Text_NIK.Text&"'"
Dim i_nama As String="document.getElementById('x-auto-19-input').value =
'"&Text_Nama.Text&"'"
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_nama))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_provinsi))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_kota))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_Kecamatan))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_Kelurahan))
joWV.RunMethodJO("getEngine", Null).RunMethod("executeScript", Array As
String(i_nik))
End Sub
Sub load_tampilan_pasang_baru
Label_1.Text="Nama"
Label_2.Text="NIK"
Label_3.Text="Provinsi"
Label_4.Text="Kab/Kota"
Label_5.Text="Kecamatan"
Label_6.Text="Kelurahan"
End Sub
Sub load_tampilan_tambah_daya
Label_1.Text="Nama"
Label_2.Text="IDPEL"
Label_3.Text="NIK"
Label_4.Text="Kab/Kota"
Label_5.Text="Kecamatan"
Label_6.Text="Kelurahan"
End Sub
Sub Go_Click
ProgressIndicator1.Visible=True
ProgressIndicator1.Progress=-1
WebView1.Visible=False
k=0
Check_setuju.Checked=False
If Label_status.Text="Perubahan Daya" Then
load_web(WEB_tambah_Daya)
Else if Label_status.Text="Pasang Baru" Then
load_web(WEB_Pasang_Baru)
Else
load_web(WEB_PLN)
End If
End Sub
Sub Button2_Click
Text_Nama.Text="TAI KIM MOY"
Text_NIK.Text="6172014709640002" '6172014709640001"
Text_provinsi.Text="KALIMANTAN BARAT"
Text_kota.Text="KOTA SINGKAWANG"
Text_Kecamatan.Text="SINGKAWANG TENGAH"
Text_kelurahan.Text="ROBAN"
ambil_dt_db(Text_NIK.Text,filePath,filename)
End Sub
Sub Check_setuju_CheckedChange(Checked As Boolean)
' WebView1.RequestFocus
Dim x_nama,i As String
Dim jo2 As JavaObject = WebView1
i=jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array("document.getElementsByTagName('html')[0].innerHTML"))
If Label_status.Text="Perubahan Daya" Then
If Checked=True And i.Contains("x-auto-182")=True Then
x_nama="document.getElementById('x-auto-182').click()"
jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(x_nama))
Else If Checked=False And i.Contains("x-auto-182")=True Then
x_nama="document.getElementById('x-auto-182').click()"
jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(x_nama))
End If
else if Label_status.Text="Pasang Baru" Then
If Checked=True And i.Contains("x-auto-169")=True Then
x_nama="document.getElementById('x-auto-169').click()"
jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(x_nama))
Else If Checked=False And i.Contains("x-auto-169")=True Then
x_nama="document.getElementById('x-auto-169').click()"
jo2.RunMethodJO("getEngine", Null).RunMethod("executeScript",
Array As String(x_nama))
End If End If
End Sub
Top Related