SISTEM DETEKSI OBJEK PADA KARTU TANDA PENDUDUK (KTP ...

105
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

Transcript of SISTEM DETEKSI OBJEK PADA KARTU TANDA PENDUDUK (KTP ...

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