• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN ANALISA

4.1. Implementasi Pelatihan Data

4.1.2. Preprocesing

Proses preprocessing merupakan tahap yang dilakukan sebelum proses utama dari pengenalan karakter angka pada E-KTP. Tahap

preprocessing yang dilakukan antara lain adalah resizing, grayscaling,

binarisasi, dan segmentasi. Tahap grayscaling, binarisasi, dan resizing dilakukan dengan menggunakan toolbox yang sudah ada pada Matlab. Sedangkan untuk proses segmentasi dilakukan dengan menggunakan metode profil proyeksi.

4.1.2.1. Resizing

Proses Pertama yang dilakukan yaitu mengubah ukuran citra sehingga semua citra memiliki ukuran yang sama dan memiliki ukuran yang lebih kecil . Setiap KTP memiliki ukuran yang cukup besar yaitu 2448 x 3264. Setelah dilakukan percobaan, untuk melakukan sebuah running data dengan menggunakan ukuran citra yang cukup besar membutuhkan waktu yang lebih lama. Oleh sebab itu dilakukan proses resizing untuk mempercepat proses komputasi. Proses resizing menggunakan ukuran 300 x 500, ukuran tersebut dianggap ideal karena masih menghasilkan citra yang baik. Proses resizing menggunakan fungsi dari Matlab yaitu imresize().

b =imread

a=imresize(b,[300 500]);

Gambar 4.1.2 Citra RGB Resize

Gambar 4.1.2 merupakan contoh hasil dari proses resize dari data testing fold ke 3. Pada hasil citra yang sudah di resize memang memiliki bentuk yang sedikit berbeda namun masih memiliki kualitas yang baik. Proses resize sudah berhasil dilakukan dapat dilihat dari nilai variabel a dan b. Variabel b merupakan citra asli yang memiliki ukuran 2448 x 3264 dan variabel a merupakan hasil citra yang sudah dilakukan resize memiliki ukuran sebesar 300 x 500.

4.1.2.2. Grayscaling

Proses kedua dari preprocesing adalah mengubah citra RGB menjadi citra grayscale. Hasil E-KTP yang sudah difoto dengan background warna putih akan dilakukan proses resize kemudian dilakukan proses mengubah citra RGB menjadi citra grayscale. Langkah yang dilakukan untuk mengubah citra RGB menjadi citra grayscale dengan menggunakan fungsi rgb2gray() dari Matlab.

Gambar 4.1.3 Citra Grayscale

Gambar 4.1.3 merupakan contoh dari hasil citra RGB yang diubah menjadi citra grayscale. Pada list program tertulis bahwa citra yang akan diubah menjadi grayscale adalah citra a. Pada variabel a tertulis bahwa 300 x 500 x 3 uint8 yang menggambarkan citra RGB. Variabel gray memiliki value yang berbeda yaitu 300 x 500 uint8. Pada variabel gray sudah tidak ada x 3 yang mengartikan bahwa citra tersebut hhanya memiliki satu keping warna. Hal itu membuktikan bahwa proses grayscaling sudah berhasil.

4.1.2.3. Binarisasi

Proses ketiga dari preprocessing adalah binarisasi, proses ini merupakan proses lanjutan dari proses grayscaling. Proses binarisasi dilakukan untuk mengubah citra grayscale menjadi citra biner. Prosees binarisasi dilakukan untuk mengubah nilai piksel citra menjadi 0 dan 1. Proses binarisasi dilakukan dengan mengunakan fungsi imbinarize(). Proses binarisasi pada matlab akan mengubah background menjadi piksel 1 atau putih dan

foreground menjadi piksel 0 atau hitam. Setelah proses binarisasi

dilakukan menggunakan fungsi Matlab kemudian dilakukan proses inverse untuk mengubah nilai piksel 1 menjadi 0 dan nilai

piksel 0 menjadi 1. Hasil binarisasi dilakukan inverse karena untuk mempermudah proses segmentasi. Proses segementasi akan mengenali objek sebagai piksel 1.

Proses konversi citra dari grayscale menjadi citra biner dilakukan dengan menggunakan fungsi Matlab. Penggunaan fungsi Matlab imbinarize() menggunakan aspek adaptive

thresholding. Penggunaan fungsi tersebut harus disesuaikan

dengan karakteristik data E-KTP yang dimiliki. Oleh sebab itu diperlukan uji coba untuk menentukan nilai ambang yang sesuai dengan karakteristiknya. Uji coba dilakukan sebanyak 3 kali dengan nilai ambang 0,1; 0,3 dan 0,5.

bw=imbinarize(gray,'adaptive','ForegroundPo

larity','dark','Sensitivity',0.1);

inbw = ~bw;

Gambar 4.1.4 Uji Coba 1 Konversi Citra Biner

Percobaan pertama dilakukan dengan nilai ambang sebesar 0.1, setelah dilakukan proses konversi hasilnya dapat dilihat pada gambar 4.1.4. Pada gambar 4.1.4 dengan menggunakan nilai ambang 0.1 menyebabkan beberapa piksel hilang sehingga ada beberapa karakter yang menjadi tidak jelas ataupun terhapus.

bw=imbinarize(gray,'adaptive','ForegroundPo

larity','dark','Sensitivity',0.3);

inbw = ~bw;

Gambar 4.1.5 Uji Coba 2 Konversi Citra Biner

Percobaan kedua dilakukan dengan menggunakan nilai ambang sebesar 0.3, setelah proses konversi dilakukan hasilnya seperti pada gambar 4.1.5. Pada gambar tersebut setiap karakter terlihat jelas dan tidak membuat karakter terhapus. Jika dibandingkan dengan uji coba 1 maka hasil untuk uji coba 2 lebih baik.

bw=imbinarize(gray,'adaptive','ForegroundPo

larity','dark','Sensitivity',0.5);

inbw = ~bw;

Percobaan ketiga dilakukan dengan nilai ambang yang lebih besar dari sebelumnya, hasil konversi dapat dilihat pada gambar 4.1.6. Pada gambar 4.1.6 menghasilkan gambar yang sangat jelas sehingga nilai piksel yang besar akan semakin terlihat putih. Nilai ambang yang terlalu besar kurang cocok untuk data E-KTP karena background semakin terlihat.

Jika diambil kesimpulan dari hasil percobaan nilai ambang yang dilakukan dengan melihat semua gambar maka nilai ambang terbaik yaitu dengan menggunakan 0.3. Nilai ambang tersebut merupakan nilai ambang yang cocok untuk citra E-KTP. Nilai tersebut memisahkan background dan foreground dengan baik.

4.1.2.4. Segmentasi

Proses segmentasi merupakan proses yang penting sebelum suatu karakter dapat dikenali. Proses identifikasi nomor NIK pada E-KTP harus bisa mendapatkan letak NIK pada suatu objek. Segmentasi berfungsi untuk mendapatkan nomor NIK secara otomatis. Segmentasi awalnya akan memisahkan objek setiap barisnya, setelah dilakukan proses segmentasi baris maka akan dilanjutkan untuk segmentasi karakter. Hasil segmentasi sangat berpengaruh pada kesuksesan ekstraksi ciri, apabila hasil segmentasi tidak baik maka akan memiliki pengaruh buruk untuk tahap selanjutnya.

Proses segmentasi dilakukan dengan menggunakan metode profil proyeksi. Metode profil proyeksi memiliki dua jenis yaitu vertikal proyeksi dan horizontal proyeksi. Vertikal proyeksi digunakan untuk melakukan segmentasi baris, jadi nantinya masing – masing baris akan terpisah. Horizontal proyeksi digunakan untuk melakukan segmentasi karakter, jadi nantinya akan terpisah masing – masing karakter dengan memanfaatkan jarak yang ada pada setiap karakter.

Persentase keberhasilan sangat dipengaruhi oleh tahapan ini, oleh karena itu diperlukan percobaan untuk mengetahui bagaimana algoritma yang baik untuk melakukan segmentasi. Pada penelitian ini dilakukan percobaan untuk segmentasi sebanyak dua kali. Percobaan tersebut memiliki algoritma yang berbeda. Pada percobaan pertama menggunakan metode profil proyeksi dengan tahapan segmentasinya adalah vertikal proyeksi dan horizontal proyeksi. Tahap untuk menghapus foto sangat berguna untuk mempermudah proses vertikal proyeksi.

Gambar 4.1.7 Contoh Citra Hapus Foto

Jika dibandingkan gambar 4.1.7 dan 4.1.8 maka akan jelas perbedaannya karena pada gambar 4.1.7 foto pada E-KTP sudah tidak ada karena sudah melalu proses hapus foto. Pada gambar 4.1.8 terlihat hasil binarisasi dengan foto yang masih utuh. Apabila proses vertikal proyeksi maka pada gambar 4.1.7 akan lebih mudah karena masing – masing baris akan tersegmentasi dengan baik, sedangkan pada gambar 4.1.8 pada proses vertikal proyeksi hanya kan terbagi menjadi tiga bagian, bagian pertama yaitu provinsi, bagian kedua kabupaten dan bagian ketiga yaitu dari NIK sampai bagian paling bawah. Hal ini disebabkan foto bada bagian kanan citra menyatukan semua barisnya. Oleh sebab itu pada percobaan pertama dilakukan hapus foto untuk mengatasi kegagalan segmentasi baris.

Pada percobaan pertama akan mengahasilkan output untuk segmentasi baris dan hasil segmentasi karakternya.

Gambar 4.1.9 Hasil Vertikal Proyeksi

Gambar 4.1.9 merupakan contoh hasil segmentasi menggunakan vertikal proyeksi yang mendapatkan baris NIK. Pada uji coba data tersebut menggunakan percobaan pertama dengan menghapus bagian foto. Uji coba data tersebut sukses mendapatkan baris NIK dibantu dengan menghapus foto terlebih dahulu.

Gambar 4.2.1 Hasil Horizontal Proyeksi

Gambar 4.2.1 merupakan hasil dari proses segmentasi karakter menggunakan horizontal proyeksi. Horizontal proyeksi yang dilakukan menggunakan input data dari hasil segmentasi baris. Apabila hasil segmentasi baris dilakukan dengan baik maka peluang untuk segmentasi karakter berhasil akan lebih baik. Jika dilihat pada gambar 4.1.9 menunjukan bahwa hasil segmentasi vertikal berhasil dan gambar 4.2.1 merupakan hasil segmentasi horizontal berhasil.

Gambar 4.2.2 Contoh Hasil Segmentasi Tidak Sukses

Pada gambar 4.2.2 merupakan contoh untuk penerapan percobaan pertama jika tidak dilakukan proses hapus foto terlebih dahulu. Terbukti bahwa segmentasi baris akan gagal karena NIK sampai status perkawinan akan dideteksi sebagai baris yang sama.

Hal itu disebabkan karena foto yang membuat tidak ada jarak antar barisnya.

Percobaan kedua masih sama menggunakan metode profil proyeksi namun tahapan yang dilakukan sedikit berbeda dengan percobaan pertama. Pada percobaan pertama dilakukan proses hapus foto untuk mempermudah proses segmentasi, namun pada percobaan kedua ini tidak ada proses untuk menghapus foto. Percobaan kedua memiliki 4 tahapan yang harus dilakukan. Tahapan yang dilakukan antara lain vertikal proyeksi 1 untuk memperoleh baris yang memuat NIK, tahap selanjutnya horizontal proyeksi 1 untuk mengetahui letak teks selain foto, tahap ketiga yaitu vertikal proyeksi 2 untuk mendapatkan baris NIK saja, tahap terakhir yaitu horizontal proyeksi 2 untuk melakukan segmentasi karakter.

Gambar 4.2.3 Hasil Vertikal Proyeksi 1

Pada gambar 4.2.3 merupakan hasil vertikal proyeksi dengan menggunakan algoritma kedua. Hasil vertikal proyeksi ini sukses kena objek NIK tetap didapatkan.

Pada gambar 4.2.4 merupakan hasil dari horizontal proyeksi 1 menggunakan algoritma kedua. Tahap horizontal proyeksi 1 ini dikatakan gagal karena masih ada objek foto yang masih tersisa. Seharusnya pada tahap ini foto sudah tidak ada lagi.

Gambar 4.2.5 Hasil Vertikal Proyeksi 2

Pada gambar 4.2.5 merupakan hasil vertikal proyeksi 2 yang tidak sukses karena pada tahap ini seharusnya hanya tersisa nomor NIK saja. Namun pada kenyataannya data ini tidak tersegmentasi dengan baik sehingga gagal dilakukan segmentasi baris.

Gambar 4.2.6 Hasil Vertikal Proyeksi 1

Gambar 4.2.6 merupakan hasil dari implementasi segmentasi vertikal yang dikatakan sukses. Pada tahap ini dikatakan sukses karena nomor NIK berhasil didapatkan.

Gambar 4.2.7 Hasil Horizontal Proyeksi 1

Tahap kedua yang dilakukan dari percobaan kedua adalah horizontal proyeksi. Pada gambar 4.2.7 merupakan hasil dari uji

coba data yang berhasil. Hasil segmentasi dikatakan berhasil karena bagian foto dapa E-KTP sudah tidak ada.

Gambar 4.2.8 Hasil Vertikal Proyeksi 2

Gambar 4.2.8 merupakan hasil dari segmentasi baris yang kedua. Proses vertikal proyeksi kedua ini mengolah data dari hasil horizontal proyeksi 1. Hasil seementasi tersebut berhasil karena sudah mendapatkan objek yang diinginkan.

Gambar 4.2.9 Hasil Horizontal Proyeksi 2

Tahap terakhir yang dilakukan untuk proses segmentasi adalah segmentasi menggunakan horizontal proyeksi yang kedua. Horizontal proyeksi yang kedua mendapatkan input data dari hasil vertikal proyeksi yang kedua. Tahap segmentasi terakhir ini akan memisahkan setiap karakter angka. Pada gambar 4.2.9 merupakan contoh uji coba dengan tingkat keberhasilan 100%.

Setelah dilakukan percobaan dari 54 data menggunakan 2 algoritma untuk segmentasi dengan menggunakan metode profil proyeksi hasilnya adalah algoritma pertama dengan menghapus

foto memiliki hasil yang lebih baik karena lebih sedikit kesalahan untuk segmentasi. Pada percobaan kedua masih kurang baik karena ada beberapa KTP yang masih gagal pada tahap segmentasi baris. Berdasarkan hasil percobaan dari 54 data akurasi yang didapatkan untuk percobaan pertama yaitu 81,48% dan percobaan kedua yaitu 70,37%. Selain itu waktu yang diperlukan untuk proses segmentasi dengan percobaan pertama dan kedua memiliki waktu yang berbeda. Percobaan pertama membutuhkan waktu 2,849669 detik ,sedangkan percobaan kedua membutuhkan waktu 3,178683 detik. Dari hasil akurasi memiliki perbedaan yang lumayan jauh dan proses waktu yang dilakukan lebih cepat, oleh karena itu pada penelitian ini akan menggunakan percobaan pertama.

Penggunaan algoritma pertama untuk segmentasi akan digunakan untuk data training dan data testing. Semua data sejumlah 70 data akan melalui proses segmentasi. Data citra E-KTP memiliki kualitas yang berbeda – beda sehingga membutuhkan tahap preprocessing untuk mengatasi perbedaan masing – masing karakteristiknya. Pada data citra E-KTP yang memiliki kualitas yang cukup baik nomor NIK terletak pada baris ketiga. Pada kenyataannya citra yang didapat tidak memiliki kualitas yang sama sehingga terdapat beberapa E-KTP yaang nomor NIK tidak terletak pada baris ketiga. Hal ini disebabkan karena pada bagian baris diatas NIK memiliki banyak noise. Pada pecobaan- percobaan awal hanya menggunakan nilai pasti 3 untuk mendapatkan baris NIK, namun dengan menggunakan nilai tersebut kurang maksimal dan tidak bisa mengatasi data – data E-KTP yang memiliki kualitas yang kurang baik. Sehingga setelah melakukan beberapa percobaan, penelitian ini menggunakan nilai pasti letak NIK antara baris 1 sampai baris 6. Angka tersebut

merupakan rentang yang sudah cukup baik untuk mendeteksi sebuah NIK.

Pada tahap vertikal proyeksi dilakukan terdapat proses yang ditambahkan setelah berhasil melakukan proses deteksi baris. Proses yang dilakukan adalah proses dilasi, proses ini dilakukan karena dari beberapa data yang diteliti banyak karakter yang tidak saling terhubung. Sehingga diperlukan proses dilasi untuk menghubungkan karakter yang saling terputus.

Tahap segmentasi membutuhkan 2 tahapan yaitu vertikal proyeksi dan horizontal proyeksi. Setelah vertikal proyeksi berhasil dilakukan maka proses selanjutnya adalah horizontal proyeksi. Horizontal proyeksi mendapat masukan dari hasil vertikal proyeksi. Horizontal proyeksi akan menghasilkan potongan – potongan karakter. Proses horizontal proyeksi memiliki beberapa nilai pasti untuk melakukan segmentasi. Angka pasti yang digunakan untuk menentukan letak karakter NIK. Angka pertama pada NIK pada umumnya akan dimulai pada karakter ke 5, setiap E-KTP memiliki 16 angka sehingga karakter mulai dari 5 sampai 21. Namun tidak semua E-KTP memiliki letaak yang sama, sehingga pada implementasinya diberi rentang yang cukup untuk mengatasi data yang menyimpang dari batas wajar. Ketika implementasi diberi rentang dari karakter ke 5 sampai ke 23, rentang tersebut dianggap cukup untuk mendeteksi seluruh karakter angka.

Setelah proses cropping setiap karakter telah selesai, tahap terakhir dari segmentasi adalah menyaamakan ukuran setiap karakter. Setiap karakter akan disamakan ukurannya dengan menggunakan fungsi Matlab yaitu imresize(), dengan ukuran 16 x 10. Ukuran tersebut dianggap paling pas, karena dari hasil percobaan pada ukuran tersebut tidak menghilangkan karakteristik angka.

Setiap E-KTP memiliki tingkat keberhasilan segmentasi yang berbeda – beda. Hal tersebut dipengaruhi oleh kualitas gambar, citra E-KTP yang memiliki kualiatas kurang baik ataupun sudah rusak, ataupun pencahayaan. Tingkat keberhasilan segmentasi setiap E-KTP dilihat dari hasil keseluruhasn segmentasi karakter.

Tabel 4.1 Contoh Hasil Akurasi Segmentasi

No Data Akurasi (%) 1 '1.5.jpg' 100 2 '10.5.jpg' 100 3 '11.2.jpg' 100 4 '12.6.jpg' 100 5 '2.3.jpg' 100

Tabel 4.1 merupakan contoh hasil proses segmentasi yang sudah dilengkapi dengan akurasi segmentasi. Kelima data tersebut sukses melalui tahap segmentasi dengan akurasi 100%. Tabel 4.1 merupakan contoh 5 data, untuk lebih lengkapnya hasil segmentasi terdapat di lampiran pada tabel uji coba segmentasi.

Setelah dilakukan percobaan segmentasi untuk seluruh data sejumlah 70 data dapat dihitung nilai akurasi untuk proses segmentasi. Perhitungan akurasi akan masih dihitung secara manual, dengan menghitung jumlah data yang berhasil pada tahap segmentasi kemudian dibagi dengan jumlah data secara total. Akurasi yang didapat dari hasil percobaan sebagai berikut :

𝐽𝑢𝑚𝑙𝑎ℎ 𝐷𝑎𝑡𝑎 𝐵𝑒𝑛𝑎𝑟

𝐽𝑢𝑚𝑙𝑎ℎ 𝐷𝑎𝑡𝑎 𝑇𝑜𝑡𝑎𝑙 𝑥 100% = 69

70 𝑥 100% = 98,57% Jika dilihat dari hasil perhitungan akurasi segmentasi terdapat 1 data yang mengalami kegagalan segmentasi. Dari hasil analisa, data tersebut gagal karena karakter pertama tidak terletak pada

karakter ke 5. Hal ini disebabkan karena pencahayaan yang terlalu terang pada sisi kiri E-KTP sehingga huruf N pada citra terhapus.

Dokumen terkait