skipsi
TRANSCRIPT
-
PENINGKATAN NILAI FITUR JARINGAN PROPAGASI BALIK PADA
PENGENALAN ANGKA TULISAN TANGAN MENGGUNAKAN
METODE ZONING DAN DIAGONAL BASED
FEATURE EXTRACTION
SKRIPSI
NANDA PUTRA
081402030
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
-
PENINGKATAN NILAI FITUR JARINGAN PROPAGASI BALIK PADA
PENGENALAN ANGKA TULISAN TANGAN MENGGUNAKAN
METODE ZONING DAN DIAGONAL BASED
FEATURE EXTRACTION
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana
Teknologi Informasi
NANDA PUTRA
081402030
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
-
ii
PERSETUJUAN
Judul : PENINGKATAN NILAI FITUR JARINGAN
PROPAGASI BALIK PADA PENGENALAN
ANGKA TULISAN TANGAN MENGGUNAKAN
METODE ZONING DAN DIAGONAL BASED
FEATURE EXTRACTION
Kategori : SKRIPSI
Nama : NANDA PUTRA
Nomor Induk Mahasiswa : 081402030
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOMTI) UNIVERSITAS
SUMATERA UTARA
Diluluskan di
Medan, November 2012
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Sajadin Sembiring, S.Si, M.Sc Drs. Suyanto, M.Kom
NIP NIP 195908131986011002
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Prof. Dr. Opim Salim Sitompul, M.Sc.
NIP 196108171987011001
-
iii
PERNYATAAN
PENINGKATAN NILAI FITUR JARINGAN PROPAGASI BALIK PADA
PENGENALAN ANGKA TULISAN TANGAN MENGGUNAKAN
METODE ZONING DAN DIAGONAL BASED
FEATURE EXTRACTION
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan
dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, November 2012
Nanda Putra
081402030
-
iv
PENGHARGAAN
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan
rahmat dan hidayah-Nya sehingga penuli dapat menyelesaikan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom.
selaku pembimbing satu dan Bapak Sajadin Sembiring, S.Si, M.Sc. selaku
pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi
dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan
kepada Bapak M. Fadly Syahputra, B.Sc., M.Sc. dan Bapak Dedy Arisandi, S.T.,
M.Kom. yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga
ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr.
Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu
Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara,
semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.
Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga
penulis yang telah memberikan dukungan dan motivasi, ayahanda Sudirman dan
ibunda Eni Hidayati yang selalu sabar dalam mendidik penulis. Untuk kakak penulis
Prima Octari dan adik penulis Sudrial Fajri yang selalu memberikan dorongan kepada
penulis. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan
dukungan, Kak Rani, Kak Andre, Bang Asril, Hasnul, Dika, Ical, Billy, Fran, Reyhan,
teman-teman lantai 3, serta teman-teman mahasiswa Teknologi Informasi lainnya
yang tidak dapat penulis sebutkan satu persatu. Semoga Allah SWT membalas
kebaikan kalian.
-
v
ABSTRAK
Pada penelitian ini, kombinasi metode zoning dan diagonal based feature extraction
digunakan pada jaringan propagasi balik untuk pengenalan angka tulisan tangan.
Kedua metode ini sama-sama membagi data sampel menjadi NxM zona dan
menghitung nilai fitur dari setiap zona tersebut. Pada penelitian ini data sampel dibagi
menjadi 6x9 zona, yaitu 54 zona dengan ukuran masing-masing zona adalah 10x10
piksel. Metode zoning menghitung jumlah piksel aktif (hitam) setiap zona dan
melakukan perbandingan terhadap zona yang memiliki jumlah piksel aktif paling
banyak. Metode diagonal based feature extraction menghitung nilai rata-rata
histogram diagonal setiap zona. Selain itu juga dihitung rata-rata nilai zona setiap
baris dan kolom. Dari ekstraksi fitur tersebut didapatkan 123 nilai fitur, yaitu 54 dari
metode zoning dan 69 dari metode diagonal based feature extraction. Nilai fitur
tersebut dijadikan masukan untuk klasifikasi menggunakan jaringan propagasi balik.
260 data sampel digunakan untuk pelatihan dan 100 data sampel berbeda digunakan
untuk uji tingkat pengenalan. Dari pengujian yang dilakukan didapatkan tingkat
pengenalan menggunakan kombinasi dua metode fitur ekstraksi ini adalah 87%.
Kata kunci : angka tulisan tangan, diagonal based feature extraction, propagasi balik
zoning.
-
vi
FEATURE VECTOR IMPROVEMENT OF BACKPROPAGATION
NETWORK FOR HANDWRITTEN DIGIT RECOGNITION
USING ZONING AND DIAGONAL BASED
FEATURE EXTRACTION
ABSTRACT
In this paper, combination of zoning and diagonal based feature extraction method is
used by backpropagation network for handwritten digit recognition. Both method
divide sample to NxM grid zones and compute feature vector from each zone. In this
paper, sample is divided into 6x9 grid zone, total 54 zones where each zone is 10x10
pixel. Zoning method summing every active (black) pixel from each zone and divide
value from each zone by a zone with most active pixel. Diagonal based feature
extraction method compute average of diagonal histogram from each zone. Also
compute average value from all zone row-wise and column-wise. 123 features vector
formed from these feature extraction, which is 54 features obtained from zoning
method and 69 features obtained from diagonal based feature extraction. These feature
vector used as input data for backpropagation classifier. 260 samples are used for
training and another 100 samples are used for recognition rate testing. After testing
phase done, recognition rate using combination of these feature extraction is 87%.
Keywords : backpropagation, diagonal based feature extraction, handwritten digit,
zoning.
-
vii
DAFTAR ISI
Halaman
PERSETUJUAN ii PERNYATAAN iii PENGHARGAAN iv
ABSTRAK v ABSTRACT vi DAFTAR ISI vii
DAFTAR TABEL ix DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4 1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
BAB 2 LANDASAN TEORI 7 2.1 Citra 7
2.2 Pengolahan Citra 8 2.2.1 Pemotongan Citra (Crop) 8 2.2.2 Pengurangan Derau (Noise Reduction) 8
2.2.3 Normalisasi 9 2.2.4 Thinning 9
2.3 Ekstraksi Fitur 11
2.3.1 Zoning 12 2.3.2 Diagonal Based Feature Extraction 12
2.4 Jaringan Saraf Tiruan 14 2.4.1 Komponen Jaringan Saraf Tiruan 15
2.5 Algoritma Propagasi Balik 15
2.5.1 Fungsi Aktivasi 19 2.5.1.1 Fungsi Sigmoid Biner 19
2.5.2 Inisialisasi Bobot dan Bias 20 2.5.2.1 Inisialisasi Acak 20
2.5.2.2 Inisialisasi Nguyen Widrow 20 2.5.3 Pengupdate Bobot dengan Momentum 21
BAB 3 ANALISIS DAN PERANCANGAN 23 3.1 Tahap Sebelum Ekstraksi Fitur 25
3.1.1 Akuisisi Data 25 3.1.2 Prapengolahan Citra 26
3.1.2.1 Pembentukan Citra Keabuan (Grayscaling) 27
-
viii
3.1.2.2 Pengurangan Derau (Noise Reduction) 28
3.1.2.3 Pembentukan Citra Biner (Thresholding) 28 3.1.2.4 Pengisian Piksel Putih (Filling) 30 3.1.2.5 Pemotongan Citra (Cropping) 32 3.1.2.6 Normalisasi Resolusi Citra (Normalization) 35 3.1.2.7 Pengurusan Objek Citra (Thinning) 35
3.2 Tahap Ekstraksi Fitur 36 3.2.1 Metode Ekstraksi Zoning 38 3.2.2 Metode Ekstraksi Diagonal Based Feature Extraction 41 3.2.3 Penggabungan nilai fitur 44
3.3 Tahap Setelah Ekstraksi Fitur 44
3.3.1 Perancangan Jaringan Propagasi Balik 45
3.3.2 Proses Pelatihan 47 3.3.3 Proses Pengujian 48
BAB 4 IMPLEMENTASI DAN PENGUJIAN 49 4.1 Implementasi 49 4.2 Pengujian 51
4.2.1 Persiapan Jaringan 51 4.2.2 Hasil Pengujian 52
BAB 5 KESIMPULAN DAN SARAN 61 5.1 Kesimpulan 61
5.2 Saran 61
DAFTAR PUSTAKA 62 LAMPIRAN A : LISTING PROGRAM 65
LAMPIRAN B : DATA SAMPEL 93
-
ix
DAFTAR TABEL
Halaman
Tabel 2.1 Ekstraksi fitur pada representasi citra yang berbeda 11 Tabel 3.1 Nilai keluaran dan target keluaran jaringan 45 Tabel 4.1 Fungsi-fungsi CImg yang digunakan 50
Tabel 4.2 Arsitektur tiga jaringan yang diujikan 52 Tabel 4.3 Hasil pengenalan data uji jaringan I(Zoning) 52 Tabel 4.4 Hasil pengenalan data uji jaringan II(Diagonal Based Feature Extraction) 55
Tabel 4.5 Hasil pengenalan data uji jaringan III (Zoning dan Diagonal Based Feature
Extraction) 57 Tabel 4.6 Kemampuan generalisasi tiga jaringan yang diujikan 60
-
x
DAFTAR GAMBAR
Halaman
Gambar 2.1 Piksel P1 dengan 8 tetangga 10 Gambar 2.2 Pembagian zona pada citra biner 12 Gambar 2.3 Karakter ukuran 60x90 piksel 13
Gambar 2.4 Pembagian zona ekstraksi fitur 13 Gambar 2.5 Diagonal histogram setiap zona 14 Gambar 2.6 Jaringan propagasi balik dengan satu buah lapisan tersembunyi 16
Gambar 2.7 Fungsi sigmoid biner dengan rentang 20 Gambar 3.1 Skema Dasar Pengenalan Angka Tulisan Tangan 24 Gambar 3.2 Tulisan menggunakan tinta cair (kiri) dan tinta biasa (kanan) 25 Gambar 3.3 Tahapan Prapengolahan Citra 26
Gambar 3.4 Flowchart proses grayscaling 27 Gambar 3.5 Citra hasil grayscaling 28 Gambar 3.6 Citra hasil noise reduction 28 Gambar 3.7 Flowchart proses thresholding 29
Gambar 3.8 Citra hasil thresholding 30 Gambar 3.9 Flowchart proses filling 31
Gambar 3.10 Citra hasil filling 32 Gambar 3.11 Flowchart proses cropping 33
Gambar 3.12 Citra hasil croping 34 Gambar 3.13 Citra hasil normalisasi 35
Gambar 3.14 Citra hasil thinning 36 Gambar 3.15 Matrik penyimpanan nilai fitur 36 Gambar 3.16 Pembagian zona menjadi 6 kolom dan 9 baris 37
Gambar 3.17 Diagram ekstraksi fitur 38 Gambar 3.18 Flowchart ekstraksi fitur zoning 40 Gambar 3.19 Histogram diagonal zona 41
Gambar 3.20 Flowchart ekstraksi diagonal based feature extraction 43 Gambar 3.21 Matrik penyimpanan nilai fitur 44
Gambar 3.22 Arsitektur jaringan saraf tiruan 46
-
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Pengolahan citra digital dewasa ini tidak hanya terbatas pada pengeditan citra digital,
namun juga meliputi teknik pengenalan karakter seperti karakter alfanumerik, tulisan
tangan, dan lain-lain (Emanual dan Hartono, 2008). Teknik ini disebut juga Optical
Character Recognition (OCR). OCR untuk pengenalan tulisan tangan telah menjadi
salah satu area penelitian yang paling menarik dan menantang dari bidang pengolahan
citra dan pengenalan pola pada beberapa tahun terakhir (Althaf dan Begum, 2012).
Secara umum, pengenalan tulisan tangan terbagi menjadi dua jenis, yaitu
metode online dan offline. Metode offline melakukan konversi secara otomatis tulisan
pada sebuah citra menjadi karakter yang dapat diolah oleh computer dan aplikasi
pemrosesan teks. Pada metode online, koordinat dua dimensi dari poin-poin penulisan
direpresentasikan sebagai fungsi waktu dan urutan setiap garis yang dituliskan juga
disimpan secara realtime untuk mengenali karakter yang dituliskan (Arica dan
Yarman-Vural, 2001).
Tahapan awal untuk pengenalan tulisan tangan adalah prapengolahan citra dan
ekstraksi fitur. Pemilihan metode ektraksi fitur yang baik merupakan salah satu faktor
penting untuk mencapai tingkat pengenalan yang tinggi (Jain dan Taxt, 1996).
Beberapa metode ekstraksi yang dapat digunakan adalah model deformable, profil
kontur, zoning, momen zernike, dekriptor fourier dan gabor.
Proses ekstraksi fitur dilakukan untuk mendapatkan nilai fitur yang dibutuhkan
untuk tahap pengklasifikasian. Berbagai metode ekstraksi fitur telah banyak
-
2
digunakan untuk mendapatkan nilai fitur sebagai masukan untuk pengenalan tulisan
tangan. Sheth et. al (2011) menggunakan kode rantai dan koefisien korelasi dan
mendapatkan tingkat pengenalan 80%. Handayani, 2008, menggunakan model
deformable mendapatkan tingkat kesalahan sebesar 4,05% dan tingkat penolakan
sebesar 9,88%. Lauer et.al, 2007, mengembangkan trainable feature extractor dan
mendapatkan tingkat pengenalan antara 98,45% sampai 99,32%.
Meskipun penelitian tentang berbagai metode ekstraksi fitur untuk pengenalan
tulisan tangan telah banyak dilakukan, tetapi penggunaan satu metode saja belum
mampu menghasilkan nilai fitur yang mampu mencapai tingkat pengenalan 100%.
Oleh karena itu masih dibutuhkan penelitian lebih lanjut tentang kombinasi beberapa
metode ekstraksi fitur untuk mendapatkan nilai fitur yang mampu menambah tingkat
pengenalan tulisan tangan.
Penelitian tentang kombinasi dua atau lebih metode ekstraksi fitur juga telah
dilakukan. Murty dan Hanmandlu (2011) menambahkan lokasi piksel sebagai fitur
tambahan untuk metode zoning. Siddrath et. al (2011) menggabungkan zonal density
dengan background directional distribution untuk mengenali tulisan gumurkhi dengan
tingkat pengenalan 88.9%. Ayyaz et. al (2012) mengkombinasikan berbagai metode
ekstraksi fitur seperti proyeksi, profil, momen invarian, titik ujung dan titik
perpotongan dan fitur korelasi dengan tingkat pengenalan 96%.
Pada penelitian ini metode ekstraksi zoning dan diagonal based feature
extraction akan dikombinasikan untuk mendapatkan nilai fitur yang akan digunakan
untuk pengklasifikasian. Untuk setiap data sampel yang telah melalui proses
prapengolahan citra akan dilakukan ekstraksi fitur. Ekstraksi pertama dilakukan
menggunakan metode zoning dan selanjutnya untuk citra yang sama akan diekstraksi
lagi menggunakan metode diagonal based feature extraction. Hasil ekstraksi dari
kedua metode tersebut akan digabungkan untuk mendapatkan nilai fitur untuk proses
pengklasifikasian.
Metode ekstraksi zoning dan diagonal based feature extraction masing-masing
telah digunakan untuk pengenalan tulisan tangan oleh Khairunnisa (2012) dan Pradeep
-
3
et. al (2011). Khairunnisa (2012) mendapatkan tingkat pengenalan 83,85%
menggunakan metode zoning dan Pradeep et. al (2011) mendapatkan tingkat
pengenalan 98,5% menggunakan metode diagonal based feature extraction.
Kemampuan kombinasi metode zoning dan diagonal based feature extraction
diuji untuk mengenali angka tulisan tangan secara offline menggunakan jaringan saraf
tiruan propagasi balik. Penggunaan kombinasi metode zoning dan diagonal based
feature extraction diharapkan dapat menambah tingkat pengenalan angka tulisan
tangan daripada menggunakan metode zoning saja dan metode diagonal based feature
extraction saja.
1.2 Rumusan Masalah
Dari latar belakang di atas, penggunaan satu metode ekstraksi saja belum mampu
menghasilkan nilai fitur yang mampu mencapai tingkat pengenalan 100%. Oleh
karena itu rumusan masalah pada penelitian ini adalah bagaimana memperbaiki nilai
fitur untuk masukan jaringan propagasi balik pada pengenalan angka tulisan tangan
dengan mengkombinasikan metode zoning dan diagonal based feature extraction.
1.3 Batasan Masalah
Batasan masalah pada penelitian ini adalah:
1. Ukuran citra untuk diekstrak adalah 60x90 piksel dan dibagi menjadi 6 kolom dan
9 baris zona dengan ukuran setiap zona adalah 10x10 piksel (Pradeep et. al,
2011).
2. Arsitektur dan parameter jaringan dibangun berdasarkan jaringan yang digunakan
oleh Khairunnisa (2012).
3. Penulisan angka dilakukan menggunakan alat tulis dengan tinta cair warna hitam.
4. Angka tulisan tangan diasumsikan tegak, tidak ditulis miring.
5. Angka yang dikenali adalah angka Latin (0-9).
-
4
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah menambah tingkat pengenalan angka tulisan tangan
pada jaringan propagasi balik dengan memperbaiki nilai fitur untuk lapis masukan
jaringan menggunakan kombinasi metode zoning dan diagonal based feature
extraction.
1.5 Manfaat Penelitian
Manfaat yang dapat diperoleh dari penelitian ini adalah:
1. Mengetahui kemampuan kombinasi metode zoning dan diagonal based feature
extraction pada jaringan propagasi balik untuk pengenalan angka tulisan tangan.
2. Menambah pemahaman penulis tentang penggunaan metode zoning dan diagonal
based feature extraction pada jaringan propagasi balik untuk pengenalan angka
tulisan tangan.
3. Sebagai referensi untuk penelitian lain yang membahas metode ekstraksi zoning
dan diagonal based feature extraction.
1.6 Metodologi Penelitian
Metodologi penelitian yang digunakan pada penelitian ini adalah:
a. Studi Literatur
Pada tahap ini dilakukan studi kepustakaan yaitu proses pengumpulan bahan-
bahan referensi yang berkaitan dengan ekstraksi fitur, metode zoning, metode
diagonal based feature extraction, jaringan saraf tiruan propagasi balik dan
pengenalan angka tulisan tangan dari buku, artikel, paper, jurnal, makalah dan
sumber lainnya.
b. Analisis
Pada tahap ini dilakukan analisis penggunaan metode zoning dan diagonal based
feature extraction pada jaringan propagasi balik untuk pengenalan angka tulisan
tangan.
-
5
c. Perancangan
Pada tahap ini dilakukan perancangan proses pengenalan angka tulisan tangan,
seperti arsitektur jaringan dan flowchart.
d. Implementasi
Pada tahap ini dilakukan implementasi analisis yang telah dilakukan ke dalam
kode program.
e. Pengujian
Pada tahap ini dilakukan pengujian kemampuan kombinasi metode zoning dan
diagonal based feature extraction pada jaringan propagasi balik untuk pengenalan
angka tulisan tangan.
f. Penyusunan Laporan
Pada tahap ini dilakukan penulisan laporan mengenai seluruh penelitian yang
telah dilakukan.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
BAB 2: LANDASAN TEORI
Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas
pada penelitian ini. Pada bab ini dijelaskan tentang ekstraksi fitur, metode zoning
metode diagonal based feature extraction, jaringan saraf tiruan, algoritma propagasi
balik, dan pengolahan citra digital.
BAB 3: ANALISIS DAN PERANCANGAN
Bab ini berisi analisis dan penerapan metode zoning, diagonal based feature
extraction pada jaringan propagasi balik untuk pengenalan angka tulisan tangan, serta
perancangan seperti pemodelan dan flowchart.
-
6
BAB 4: IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan yang
disusun pada Bab 3 dan pengujian apakah hasil yang didapatkan sesuai dengan yang
diharapkan.
BAB 5: KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran-
saran yang diajukan untuk pengembangan selanjutnya.
-
BAB 2
LANDASAN TEORI
2.1 Citra
Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi).
Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue)
dari intensitas cahaya pada bidang dwimatra (Munir, 2004). Sumber cahaya
menerangi objek, objek kembali memantulkan kembali sebagian dari berkas cahaya
tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada
manusia, kamera, pemindai (scanner) dan sebagainya, sehingga bayangan objek yang
disebut citra tersebut terekam.
Citra digital adalah representasi visual dari suatu objek setelah mengalami
berbagai transformasi data dari beragai bentuk rangkaian numerik. Citra digital dapat
diklasifikasikan menjadi beberapa jenis:
1. Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat
keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel latar
belakang bernilai 0. Pada waktu menampilkan citra, 0 adalah warna putih dan 1
adalah warna hitam.
Untuk mengubah citra grayscale menjadi citra biner, ,proses yang dilakukan
adalah mengubah kuantisasi citra dengan cara pengambangan secara global
(global image thresholding). Setiap piksel di dalam citra dipetakan ke dalam dua
nilai, 1 atau 0. Dengan fungsi pengambangan:
( ) { ( )
-
8
2. Citra Keabuan (Grayscale)
Citra keabuan adalah citra yang setiap pikselnya mengandung satu layer di mana
nilai intensitasnya berada pada interval 0(hitam) - 255(putih). Untuk menghitung
citra grayscale (keabuan) digunakan rumus:
( )
dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan
mengatur warna R (merah), G (hijau), B (biru) yang ditunjukkan oleh nilai
parameter , dan . Secara umum nilai , dan adalah 0.33. Nilai yang lain
juga dapat diberikan untuk ketiga parameter tersbut asalkan total keseluruhannya
adalah 1 (Putra, 2009).
3. Citra Warna
Citra warna adalah citra digital yang memiliki informasi warna pada setiap
pikselnya. Sistem pewarnaan citra warna ada beberapa macam seperti RGB,
CMYK, HSV, dll.
2.2 Pengolahan Citra
Pengolahan citra adalah pemrosesan atau usaha untuk melakukan transformasi suatu
citra/gambar menjadi citra lain dengan menggunakan teknik tertentu.
2.2.1 Pemotongan Citra (Crop)
Proses pemotongan adalah memotong citra sesuai batasan objek, yaitu batas atas,
batas bawah, batas kanan dan batas kiri. Proses ini menghilangkat area latar belakang
yang berada di luar batasan objek citra.
2.2.2 Pengurangan Derau (Noise Reduction)
Proses pengurangan derau adalah mengurangi derau yang dapat mengganggu dan
mengurangi kualitas hasil proses prapengolahan citra. Pada penelitian ini teknik
-
9
pengurangan derau yang digunakan adalah median filter. Median filter adalah filter
tipe low-pass. Teknik ini memroses area dari citra dengan ukuran (3x3, 5x5, 7x7, dll),
memeriksa nilai piksel pada area tersebut dan menggantinya dengan nilai mediannya
(Phillips, 2000). Algoritma pengurangan derau menggunakan median filter adalah
sebagai berikut :
1. Input gambar (m x n) pixel.
2. Alokasikan sebuah matriks dengan ukuran (m+2 x n+2) dengan nilai 0
disekelilingnya.
3. Salin matriks input ke matriks pra-alokasi.
4. Bentuk mariks window (3 x 3) dengan element dari matriks input
5. Salin matriks window (3 x 3) ke dalam array dan urutkan.
6. Cari median dari elemen array tersebut. (Total dari elemen array adalah 9 jadi
median adalah elemen ke 5).
7. Letakkan element ke 5 ke matriks output.
8. Ulangi prosedur untuk seleuruh matriks input.
2.2.3 Normalisasi
Normalisasi adalah proses mengubah ukuran citra, baik menambah atau mengurangi,
menjadi ukuran yang ditentukan tanpa menghilangkan informasi penting dari citra
tersebut (Sharma et. al, 2012). Dengan adanya proses normalisasi maka ukuran semua
citra yang akan diproses menjadi seragam.
2.2.4 Thinning
Thinning adalah proses pengurangan data yang mengikis (erode) sebuah objek hingga
menjadi ukuran 1 piksel dan menghasilkan kerangka (skeleton) dari objek tersebut.
Objek seperti huruf atau silhouettes dapat lebih mudah dikenali dengan melihat
kepada kerangkanya saja (Phillips, 2000). Pada penelitian ini digunakan algoritma
thinning Zhang-Suen.
-
10
Algoritma ini adalah algoritma untuk citra biner, dimana piksel background
citra bernilai 0, dan piksel foreground (region) bernilai 1. Algoritma ini cocok
digunakan untuk bentuk yang diperpanjang (elongated) dan dalam aplikasi OCR
(Optical Character Recognition). Algoritma ini terdiri dari beberapa penelusuran,
dimana setiap penelusurannya terdiri dari 2 langkah dasar yang diaplikasikan terhadap
titik yang pikselnya bernilai 1, dan memiliki paling sedikit 1 piksel dari 8-tetangganya
yang bernilai 0.
Gambar 2.1 mengilustrasikan titik objek P1 dan 8-tetangganya:
Gambar 2.1 Piksel P1 dengan 8 tetangga
Langkah pertama dari sebuah penelusuran adalah menandai semua titik objek
untuk dihapus, jika titik objek tersebut memenuhi syarat-syarat berikut:
a. 2 N (P1) 6
b. S(P1) = 1
c. P2 * P4 * P6 = 0
d. P4 * P6 * P8 = 0
Keterangan :
1. Jumlah dari tetangga titik objek P1, yang pikselnya bernilai 1, yaitu:
N(P1) = P2 + P3 + P4 + + P9
2. S(P1) adalah jumlah perpindahan nilai nilai dari 0 (nol) ke 1 (satu) mulai dari P2,
P3, , P8, P9.
3. P2 * P4 * P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 (nol).
Dan pada langkah kedua, kondisi (a) dan (b) sama dengan langkah pertama,
sedangkan kondisi (c) dan (d) diubah menjadi:
-
11
(c) P2 * P4 * P8 = 0
(d) P2 * P6 * P8 = 0
2.3 Ekstraksi Fitur
Ekstraksi fitur adalah proses pengukuran terhadap data yang telah dinormalisasi untuk
membentuk sebuah nilai fitur. Nilai fitur digunakan oleh pengklasifikasi untuk
mengenali unit masukan dengan unit target keluaran dan memudahkan
pengklasifikasian karena nilai ini mudah untuk dibedakan (Pradeep et. al, 2011).
Secara luas, fitur adalah semua hasil pengukuran yang bisa diperoleh. Fitur
juga bisa menggambarkan karakteristik objek yang dipantau (Putra, 2009). Contoh
dari fitur level rendah adalah intensitas sinyal. Fitur bisa berupa simbol, numerik atau
keduanya. Contoh dari fitur simbol adalah warna. Contoh dari fitur numerik adalah
berat. Fitur bisa diperoleh dengan mengaplikasikan algoritma pencari fitur pada data
masukan. Fitur dapat dinyatakan dengan variabel kontinu, diskret atau diskret-biner.
Fitur biner dapat digunakan untuk menyatakan ada tidaknya suatu fitur tertentu.
Fitur yang baik memiliki syarat berikut, yaitu mudah dalam komputasi,
memiliki tingkat keberhasilan yang tinggi dan besarnya data dapat diperkecil tanpa
menghilangkan informasi penting (Putra, 2009).
Ekstraksi fitur dapat dilakukan pada berbagai representasi citra seperti pada
tabel 2.1.
Tabel 2.1 Ekstraksi fitur pada representasi citra yang berbeda (Jain dan Taxt,
1996)
Grayscale subimage Binary
Vector (Skeleton) Solid character Outer countour
Template matching Template matching - Template matching
Deformable templates - - Deformable templates
Unitary transforms Unitary transforms - Graph decription
-
12
- Projection histograms Countour Profile Discrete features
Zoning Zoning Zoning Zoning
Geometric moments Geometric moments Spline curve -
Zernike moments Zernike moments Fourier decriptors Fourier decriptors
2.3.1 Zoning
Zoning adalah salah satu ekstraksi fitur yang paling popular dan sederhana untuk
diimplementasikan (Sharma et. al, 2012). Sistem optical character recognition (OCR)
komersil yang dikembangkan oleh CALERA menggunakan metode zoning pada citra
biner (Bosker, 1992). Setiap citra dibagi menjadi NxM zona dan dari setiap zona
tersebut dihitung nilai fitur sehingga didapatkan fitur dengan panjang NxM. Salah satu
cara menghitung nilai fitur setiap zona adalah dengan menghitung jumlah piksel hitam
setiap zona dan membaginya dengan jumlah piksel hitam terbanyak pada yang
terdapat pada salah satu zona. Contoh pembagian zona pada citra biner dapat dilihat
pada gambar 2.2.
Gambar 2.2 Pembagian zona pada citra biner (Jain dan Taxt, 1996)
2.3.2 Diagonal Based Feature Extraction
Pradeep et. al (2011) menggunakan diagonal based feature extraction untuk
mendapatkan input untuk pengenalan karakter tulisan tangan. Cara kerja ekstraksi
fitur tersebut adalah sebagai berikut :
1. Setiap karakter image dengan ukuran 90x60 piksel (Gambar 2.3) dibagi menjadi
54 zona, setiap zona berukuran 10x10 piksel (Gambar 2.4).
2. Untuk setiap zona :
-
13
a. Hitung histogram secara diagonal untuk mendapatkan 19 subfitur (Gambar
2.5).
b. Hitung rata-rata dari 19 subfitur tersebut dan nilai tersebut digunakan untuk
mewakili setiap zona.
3. Dari nilai setiap zona, hitung rata-rata masing-masing baris dan masing-masing
kolom. Sehingga didapatkan 9 nilai baris dan 6 nilai kolom.
4. 54 fitur + 15 fitur menjadi nilai masukan untuk jaringan saraf tiruan.
Gambar 2.3 Karakter ukuran 60x90 piksel (Pradeep et. al, 2011)
Gambar 2.4 Pembagian zona ekstraksi fitur (Pradeep et. al, 2011)
-
14
Gambar 2.5 Diagonal histogram setiap zona (Pradeep et. al, 2011)
2.4 Jaringan Saraf Tiruan
Jaringan Saraf Tiruan adalah jaringan komputasional yang mensimulasikan jaringan
sel saraf (neuron) dari pusat sistem saraf makhluk hidup (manusia atau hewan)
(Graupe, 2007). Jaringan saraf tiruan pertama kali didesain oleh Warren Mc-Culloh
dan Walter Pitts pada tahun 1943. Mc Cullah-Pitts menemukan bahwa dengan
mengkombinasikan banyak neuron sederhana sehingga menjadi sebuah sistem saraf
merupakan peningkatan tenaga komputasional.
Jaringan saraf tiruan disusun dengan asumsi yang sama seperti jaringan saraf
biologi (Puspitaningrum, 2006):
1. Pengolahan informasi terjadi pada elemen-elemen pemrosesan (neuron).
2. Sinyal antara dua buah neuron diteruskan melalui link-link koneksi.
3. Setiap link koneksi memiliki bobot terasosiasi.
4. Setiap neuron menerapkan sebuah fungsi aktivasi terhadap input jaringan (jumlah
sinyal input berbobot). Tujuannya adalah untuk menentukan sinyal output.
-
15
2.4.1 Komponen Jaringan Saraf Tiruan
Jaringan saraf tiruan terdiri dari banyak neuron yang menyusun jaringan tersebut.
Neuron-neuron tersebut dikelompokkan ke dalam beberapa lapisan (layer) dan
lapisan-lapisan tersebut memiliki hubungan satu sama lain.
Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi 3, yaitu:
1. Lapisan input
Pada lapisan ini neuron-neuron akan menerima input yang selanjutnya diproses
untuk dikirimkan ke lapisan selanjutnya.
2. Lapisan tersembunyi
Lapisan ini berada di antara lapisan input dan lapisan output. Pada lapisan ini
bobot yang diterima dari lapisan input diproses untuk selanjutnya diproses untuk
dikirimkan ke lapisan selanjutnya. Output dari lapisan ini tidak secara langsung
dapat diamati.
3. Lapisan output
Lapisan ini merupakan lapisan akhir dimana nilai output dihasilkan. Pada lapisan
ini ditetapkan nilai output aktual untuk dibandingkan dengan nilai output target
untuk mengetahui apakah jaringan sudah sesuai dengan hasil yang diinginkan.
2.5 Algoritma Propagasi Balik
Algoritma propagasi balik (Back Propagation) pertama dikembangkan pada tahun
1986 oleh Rumelhart, Hinton dan Williams untuk menentukan bobot dan digunakan
untuk pelatihan perceptron multi lapis (Graupe, 2007). Metode propagasi balik
merupakan metode yang sangat baik dalam menangani masalah pengelanan pola-pola
kompleks. Metode ini merupakan metode jaringan saraf tiruan yang populeer.
Beberapa contoh aplikasi yang melibatkan metode ini adalah pengompresian data,
pendeteksian virus komputer, pengidentifikasian objek, sintesis suara dari teks, dan
lain lain (Puspitaningrum, 2006).
-
16
Istilah propagasi balik diambil dari cara kerja jaringan ini, yaitu bahwa
gradient error unit-unit tersembunyi diturunkan dari penyiaran kembali error-error
yang diasosiasikan dengan unit-unit output. Hal ini karena nilai target untuk unit-unti
tersembunyi tidak diberikan (Puspitaningrum, 2006). Propagasi balik adalah metode
pembelajaran terawasi (supervised learning). Metode ini membutuhkan nilai yang
sudah ditentukan sebelumnya untuk mendapatkan output yang diinginkan pada proses
pembelajaran. Contoh jaringan propagasi balik dengan satu buah lapisan tersembunyi
dapat dilihat pada gambar 2.6.
Gambar 2.6 Jaringan propagasi balik dengan satu buah lapisan tersembunyi
(Puspitaningrum, 2006)
Algoritma propagasi balik dapat dibagi ke dalam 2 bagian (Puspitaningrum,
2006):
1. Algoritma pelatihan
Terdiri dari 3 tahap: tahap umpan maju pola pelatihan input, tahap pemropagasian
error, dan tahap pengaturan bobot.
2. Algoritma aplikasi
Yang digunakan hanyalah tahap umpan maju saja.
-
17
Algoritma Pelatihan
1. Inisialisasi bobot-bobot.
Tentukan angka pembelajaran ().
Tentukan pula nilai toleransi error atau nilai ambang (bila menggunakan nilai
ambang sebagai kondisi berhenti); atau set maksimal epoch (bila menggunakan
banyaknya epoch sebagai kondisi berhenti).
2. While kondisi berhenti tidak terpenuhi do langkah ke-2 sampai langkah ke-9.
3. Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3 sampai langkah ke-8.
Tahap Umpan Maju
4. Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input)
mengirimkan sinyal input ke smua unit yang ada di lapisan atasnya (ke lapisan
tersembunyi)
5. Pada setiap unit di lapisan tersembunyi zj (dari unit ke-1 sampai unit ke-p;
i=i,,n; j=1,...,p) sinyal output lapisan tersembunyinya dihitung dengan
menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot xi:
(
)
kemudian dikirim ke semua unit di lapisan atasnya.
6. Setiap unit di lapisan output yk (dari unit ke-1 sampai unit ke-m; i=1,...,n;
k=1,,m) dihitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap
penjumlahan sinyal-sinyal input berbobot zj bagi lapisan ini:
(
)
Tahap Pemropagasibalikan Error
7. Setiap unit output yk (dari unit ke-1 sampai unit ke-m; i=1,,p; k=1,.,m)
menerima pol target tk lalu informasi kesalahan lapisan output (k) dihitung. k
dikirim ke lapisan di bawahnya dan digunakan untuk mengitung besar koreksi
bobot dan bias (wjk dan w0k) antara lapisan tersembunyi dengan lapisan output:
( ) (
)
-
18
wjk = k zj
w0k = k
8. Pada setiap unit di lapisan tersembunyi (dari unit ke-1 sampai unit ke-p; i=1,,n;
j=1,,p; k=1,,m) dilakukan perhitungan informasi kesalahan lapisan
tersembunyi (j). j kemudian digunakan untuk menghitung besar koreksi bobot
dan bias (wjk dan w0k) antara lapisan input dan lapisan tersembunyi.
( )
) (
)
vij = j xi
v0j = j
Tahap Peng-update-an Bobot dan Bias
9. Pada setiap unit output yk (dari unit ke-1 sampai unit ke-m) dilakukan peng-
update-an bias dan bobot (j=0,,p; k=1,,m) sehingga bias dan bobot baru
menjadi:
wjk (baru) = wjk (lama) + wjk
Dari unit ke-1 sampai unit ke-p di lapisan tersembunyi juga dilakukan peng-
update-an pada bias dan bobotnya (i=0,,n; j=1,,p):
vij (baru) = vij (lama) + vij
10. Tes kondisi berhenti.
Algoritma Aplikasi
0. Inisialisasi bobot. Bobot ini diambil dari bobot-bobot terakhir yang diperoleh dari
algoritma pelatihan.
1. Untuk seitap vektor input, lakukanlah langkah ke-2 sampai ke-4.
2. Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input; i=1,,n)
menerima sinyal input pengujian xi dan menyiarkan sinyal xi ke semua unikt pada
lapisan di atasnya (unit-unit tersembunyi).
3. Setiap unit di lapisaan tersembunyi zj (dari unit ke-1 sampai unit ke-p; i=1,,n;
j=1,.,p) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi
terhadap penjumlahan sinyal-sinyal input xi. Sinyal output dari lapisan
tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya:
-
19
(
)
4. Setiap unit output yk (dari unit ke-1 sampai unit ke-m; j=1,,p; k=1,,m)
menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap
penjumlahan sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input zj dari
lapisan tersembunyi:
(
)
2.5.1 Fungsi Aktivasi
Pilihan fungsi aktivasi yang dapat digunakan pada metode propagasi balik yaitu fungsi
sigmoid biner, sigmoid bipolar dan tangent hiperbolik. Karakteristiki yang harus
imiliki fungsi aktivasi tersebut adalah kontinu, diferensiabel dan tidak menurun secara
monoton. Fungsi aktivasi diharapkan jenuh (mendekati nilai-nilai maksimum dan
minimum secara asimtot) (Puspitaningrum, 2006).
2.5.1.1 Fungsi Sigmoid Biner
Fungsi ini merupakan fungsi yang umum digunakan. Rentang-nya adalah (0,1) dan
didefenisikan sebagai :
( )
dengan turunan :
( ) ( )( ( ))
Fungsi sigmoid biner diilustrasikan pada gambar 2.7.
-
20
Gambar 2.7 Fungsi sigmoid biner dengan rentang (0,1)
2.5.2 Inisialisasi Bobot dan Bias
Cepat atau tidaknya pembelajaran pada pelatihan jaringan propagasi balik salah
satunya dipengaruhi oleh nilai bobot antar neuron dan nilai bias. Semakin baik
inisialisasi bobot dan bias semakin cepat pula pembelajaran jaringan propagasi balik.
Bobot dan bias pada jaringan propagasi balik dapat dinisialisasi dengan berbagai cara
seperti inisialisasi acak, nguyen-widrow dan lain-lain.
2.5.2.1 Inisialisasi Acak
Prosedur yang umum dilakukan adalah menginisialisasi bias dan bobot, baik dari unit
input ke unit tersembunyi maupun dari unit tersembunyi ke unit output secara acak
dalam sebuah interval tertentu (- dan ), misalnya antara -0.4 sampai 0.4, -0.5 sampai
0.5, dan -1 sampai 1 (Puspitaningrum, 2006).
2.5.2.2 Inisialisasi Nguyen Widrow
Waktu pembelajaran jaringan propagasi balik yang bobot dan biasnya diinisalisasi
dengan inisialisasi Nguyen-Widrow lebih cepat dibandingkan bila diinisialisasi
dengan inisialisasi acak. Pada inisialisasi Nguyen-Widrow, inisialisasi acak tetap
terpakai tetapi digunakan untuk menginisialisasi bias dan bobot dari unit tersembunyi
-
21
ke unit output saja. Untuk bias dan bobot dari unit-unit input ke unit-unit tersembuyi
digunakan bias dan bobot yang khusus diskala agar jatuh pada range tertentu. Dengan
penskalaan maka diharapkan kemampuan belajar dari unit-unit tersembunyi dapat
meningkat.
Faktor skala Nguyen-Widrow () didefenisikan sebagai :
( )
di mana :
n = banyak unit input
p = banyak unit tersembunyi
= faktor skala
Prosedur inisialisasi Nguyen-Widrow
Untuk setiap unit tersembunyi dari unit ke-1 sampai unit ke-p :
1. Inisialisasi vektor bobot dari unit-unit input ke unit-unit tersembunyi (j = 1, , p)
dengan cara :
a. Menentukan bobot-bobot antara unit input ke unit tersembunyi (vij) :
vij(lama) = bilangan acak antara - dan
di mana i = 1, , n.
b. Menghitung || vij ||.
c. Menginisialisasi kembali vij :
( )
2. Menentukan bias antara unit input ke unit tersembuni (j = 1, , p). voj diset
dengan bilangan acak yang terletak pada skala antara - dan .
2.5.3 Pengupdate Bobot dengan Momentum
Penambahan parameter momentum dalam mengupdate bobot seringkali bisa
mempercepat proses pelatihan. Ini disebabkan karena momentum memkasa proses
perubahan bobot terus bergerak sehingga tidak terperangkap dalam minimum-
minimum lokal. Pengupdatean bobot pada proses pelatihan jaringan yang biasa adalah
sebagai berikut :
-
22
wjk = k zj
vij = jxi
Jika error tidak terjadi (output actual telah sama dengan output target) maka k
menjadi nol dan hal ini akan menyebabkan koreksi bobot wjk = 0, atau dengan kata
lain pengupdatean bobot berlanjut dalam arah yang sama seperti sebelumnya.
Jika parameter momentum digunakan maka persamaan-persamaan
pengupdatean bobot dengan langkah pelatihan t, dan t+1 untuk langkah pelatihan
selajutnya, mengalami modifikasi sebagai berikut :
wjk(t + 1) = k zj + wjk(t)
vij(t + 1) = j xi + vij(t)
dengan adalah parameter momentum dalam range antara 0 sampai 1.
-
BAB 3
ANALISIS DAN PERANCANGAN
Ekstraksi fitur adalah salah satu tahap penting pada optical character recognition
(OCR). Ekstraksi fitur dilakukan untuk mendapatkan nilai fitur yang mewakili
karakter yang akan dikenali. Satu metode ekstraksi fitur dapat digunakan untuk
mendapatkan nilai fitur, tetapi pada penelitian ini dua metode ekstraksi fitur, yaitu
metode zoning dan diagonal based feature extraction, dikombinasikan untuk
mendapatkan nilai fitur yang diharapkan dapat mewakili karakter dengan lebih baik
dan meningkatkan tingkat pengenalan daripada menggunakan salah satu metode saja.
Pada penelitian ini, kombinasi kedua metode tersebut diujikan pada pengenalan angka
tulisan tangan menggunakan jaringan propagasi balik. Secara umum skema dasar
tahap-tahap pengenalan angka tulisan tangan yang dibangun dapat dilihat pada gambar
3.1.
-
24
Akuisisi Citra
Prapengolahan
Citra
Klasifikasi JST
Keluaran
Ekstraksi Fitur
DBFE
Ekstraksi Fitur
Zoning
Nilai FiturEkstr
aksi fitu
r
Gambar 3.1 Skema Dasar Pengenalan Angka Tulisan Tangan
Tahap pertama adalah akuisisi data, yaitu membaca citra angka tulisan tangan
yang telah dikumpulkan dan dipindai. Pada setiap citra angka tulisan tangan dilakukan
tahap prapengolahan citra. Pada tahap ini citra angka tulisan tangan akan diolah
menjadi citra yang seragam dan sesuai untuk tahap selanjutnya. Tahap selanjutnya
adalah ekstraksi fitur dari setiap citra. Pada penelitian ini digunakan kombinasi dua
metode ekstraksi fitur, yaitu metode zoning dan diagonal based feature extraction.
Nilai fitur yang didapatkan dari kedua metode tersebut kemudian digabungkan dan
digunakan sebagai masukan jaringan propagasi balik. Tahap selanjutnya adalah tahap
klasifikasi menggunakan jaringan propagasi balik. Tahap ini terdiri dari proses
pelatihan dan proses pengujian. Setelah itu akan didapatkan keluaran dari proses
klasifikasi, baik itu hasil pelatihan atau hasil pengujian.
Tahap-tahap pengenalan angka tulisan tangan tersebut akan dijelaskan pada
bab selanjutnya menjadi tiga bagian, yaitu sebelum eksraksi fitur, ekstraksi fitur dan
setelah ekstraksi fitur.
-
25
3.1 Tahap Sebelum Ekstraksi Fitur
Tahap sebelum ekstraksi fitur terdiri dari akuisisi data dan prapengolahan citra. Pada
tahap ini dilakukan persiapan data sampel agar dapat digunakan untuk ekstraksi fitur.
Ekstraksi fitur tidak dapat dilakukan sebelum tahap ini diselesaikan.
3.1.1 Akuisisi Data
Data sampel yang digunakan adalah angka tulisan tangan yang dibubuhkan pada
kertas putih menggunakan pena tinta cair warna hitam. Data sampel dikumpulkan dari
36 mahasiswa Teknologi Informasi USU. Masing-masing menuliskan angka dari 0
sampai 9. Angka yang dituliskan diasumsikan tegak, yaitu memiliki perbedaan derajat
rotasi penulisan yang hampir sama. Hal ini dilakukan karena pada penelitian ini tidak
dibahas prapengolahan citra untuk objek yang mengalami rotasi atau miring.
Penggunaan pena dengan tinta cair dilakukan supaya angka yang dituliskan memiliki
ketebalan warna yang baik. Perbedaan penulisan menggunakan pena tinta cair dengan
tinta biasa dapat dilihat pada gambar 3.2.
Gambar 3.2 Tulisan menggunakan tinta cair (kiri) dan tinta biasa (kanan)
Setelah data sampel dikumpulkan, kemudian dipindai menggunakan scanner.
Citra hasil pemindaian disimpan dengan format bitmap (.bmp). Setiap angka tulisan
tangan disimpan pada file citra yang berbeda. Ukuran setiap citra yang disimpan tidak
ditentukan, karena akan diolah pada tahap prapengolahan.
-
26
Total seluruh data sampel adalah 360 angka tulisan tangan. Dari total data
tersebut, dibagi penggunaannya untuk data pelatihan dan data pengujian. Banyaknya
data pelatihan adalah 260 angka tulisan tangan (26 pola), dan banyaknya data
pengujian adalah 100 angka tulisan tangan (10 pola) baru yang tidak dilatihkan. Data
sampel yang digunakan pada penelitian ini dapat dilihat pada lampiran B.
3.1.2 Prapengolahan Citra
Tahapan proses pengolahan citra dapat dilihat pada gambar 3.3.
Grayscaling
Thresholding
Cropping
Normalization
Thinning
Noise Reduction
Filling
Gambar 3.3 Tahapan Prapengolahan Citra
Pengolahan citra dimulai dengan mengubah citra warna (RGB) menjadi citra
grayscale, kemudian dilakukan pengurangan derau pada citra tersebut, selanjutnya
dilakukan proses thresholding untuk mendapatkan citra biner. Tahap selanjutnya
adalah proses filling untuk mengubah piksel putih yang dikelilingi oleh beberapa
piksel hitam menjadi hitam dan kemudian akan dipotong dan dinormalisasi menjadi
ukuran 60x90 piksel. Citra yang sudah dinormalisasi kemudian dithinning untuk
-
27
mendapatkan kerangka dari objek angka. Citra hasil thinning ini adalah citra yang
dapat digunakan pada tahap ekstraksi fitur. Tahap-tahap prapengolahan citra
dijelaskan pada bab selanjutnya.
3.1.2.1 Pembentukan Citra Keabuan (Grayscaling)
Tahap pemrosesan citra dimulai dengan mengubah citra warna (RGB) menjadi citra
keabuan. Nilai R (merah), G (hijau) dan B (biru) dari setiap piksel dijumlahkan dan
dihitung rata-ratanya. Nilai dari proses ini adalah nilai keabuan (grayscale) 8 bit
dengan rentang 0 (hitam) - 254 (putih). Flowchart proses grayscaling dapat dilihat
pada gambar 3.4.
Start
y 0
x 0
img(x, y) (R + G + B)/3
x x + 1
y y + 1 EndNoy < tinggi
Yes
x < lebar
Yes
No
Inisialisasi
img(RGB)
tinggi img(height)lebar img(width)
x, y
Gambar 3.4 Flowchart proses grayscaling
-
28
Contoh citra RGB yang diubah menjadi citra keabuan dapat dilihat pada
gambar 3.5.
Gambar 3.5 Citra hasil grayscaling
3.1.2.2 Pengurangan Derau (Noise Reduction)
Pada citra keabuan yang didapatkan dari proses grayscale kemudian dilakukan proses
pengurangan derau. Proses ini akan menghilangkan derau yang terdapat di sekitar
objek angka tulisan tangan. Teknik penghilangan derau yang digunakan pada
penelitian ini adalah median filter. Tahapan dari proses ini dapat dilihat pada sub bab
2.2.2 mengenai noise reduction. Contoh citra hasil pengurangan derau dapat dilihat
pada gambar 3.6.
Gambar 3.6 Citra hasil noise reduction
3.1.2.3 Pembentukan Citra Biner (Thresholding)
Citra keabuan yang telah melalui proses penghilangan derau kemudian akan diubah
menjadi citra biner, yaitu citra yang hanya memiliki dua nilai warna, yaitu 0 (hitam)
dan 254 (putih). Pada tahap ini ditentukan nilai threshold yang akan menjadi batasan.
Nilai threshold dimasukkan oleh pengguna sebelum proses dimulai. Pada penelitian
ini nilai threshold yang digunakan adalah 190. Nilai yang lebih kecil dari threshold
-
29
diubah menjadi 0 dan nilai yang lebih besar dari threshold diubah menjadi 254.
Flowchart proses thresholding dapat dilihat pada gambar 3.7.
Start
y 0
x 0
x x + 1
y y + 1 No
EndNo
img(x, y) > threshold
img(x, y) 255 img(x, y) 0
Yes No
Inisialisasi
img (hasil Noise reduction)
tinggi img(height)lebar img(width)
threshold, x, y
y < tinggi
Yes
x < lebar
Yes
Gambar 3.7 Flowchart proses thresholding
Contoh citra keabuan yang diubah menjadi citra biner dapat dilihat pada
gambar 3.8.
-
30
Gambar 3.8 Citra hasil thresholding
3.1.2.4 Pengisian Piksel Putih (Filling)
Pemrosesan citra selanjutnya adalah pengisian piksel putih (filling). Pada citra hasil
threshold ada kemungkinan terdapat piksel putih yang dikelilingi oleh beberapa piksel
hitam. Pada penelitian ini, piksel putih yang dikelilingi oleh 5, 6, 7 atau 8 piksel hitam
diubah menjadi warna hitam. Hal ini dilakukan agar setelah proses thinning tidak
terjadi tulang yang bercabang yang bertemu kembali, yang membentuk seperti
lingkaran sehingga tidak terbentuk tulang objek yang seharusnya. Flowchart proses
filling dapat dilihat pada gambar 3.9.
-
31
Start
y 1
img (hasil Thresholding)
tinggi img(height)lebar img(width)
tetangga
x, y
y < tinggi
x 1
Yes
x < lebar
End No
tetangga 0
Yes
img(x, y) = 255
img(x-1, y) = 0
img(x-1, y-1) = 0
img(x, y-1) = 0
img(x+1, y-1) = 0
img(x+1, y) = 0
img(x+1, y+1) = 0
img(x, y+1) = 0
img(x-1, y+1) = 0
tetangga tetangga + 1Yes
tetangga tetangga + 1Yes
No
No
No
No
No
No
tetangga tetangga + 1Yes
tetangga tetangga + 1Yes
tetangga tetangga + 1Yes
tetangga tetangga + 1Yes
tetangga tetangga + 1Yes
No
tetangga tetangga + 1Yes
Yes
tetangga > 4
img(x, y) 0
No
Yes
No
x x + 1
y y + 1No
No
Gambar 3.9 Flowchart proses filling
Contoh citra hasil filling dapat dilihat pada gambar 3.10.
-
32
Gambar 3.10 Citra hasil filling
3.1.2.5 Pemotongan Citra (Cropping)
Pemrosesan citra selanjutnya adalah pemotongan citra (crop), yaitu menghilangkan
area putih yang tidak berisi objek angka. Citra hasil filling dipotong sesuai dengan
batasan objek angka tulisan tangan, yaitu batas atas, batas bawah, batas kanan dan
batas kiri. Dari batasan tersebut disisakan 1 piksel putih mengelilingi objek angka
tulisan tangan. Hal ini dilakukan untuk membantu proses pengurusan objek (thinning).
Flowchart proses cropping dapat dilihat pada gambar 3.11.
-
33
Start
Inisialisasi
img (hasil Filling)
tinggi img(height)lebar img(width)
img_temp, tinggi_temp 0,lebar_temp 0a10, a20, b10, b20hist_hor[img(height)] 0hist_ver[img(width)] 0
x, y, i
y 0
x 0
y < tinggi
Yes
No
x < lebaryy+1 No
img(x, y) = 0
Yes
hist_hor[y] hist_hor[y] + 1
Yes
xx+1No
x 0
y 0
x < lebar
Yes
No
y < tinggixx+1 No
img(x, y) = 0
Yes
hist_ver[x] hist_ver[x] + 1
Yes
yy+1No
i 0
hist_hor[i] = 0
AND
hist_hor[i+1] > 0
a1 i
Yes
i i + 1
No
Yes
i tinggi - 1i < tinggi No
hist_hor[i] = 0
AND
hist_hor[i-1] > 0
a2 i
Yes
i i - 1
No
Yes
i 0i >= 0 No
hist_ver[i] = 0
AND
hist_ver[i+1] > 0
b1 i
Yes
i i + 1
No
i lebar - 1i < tinggi No
hist_ver[i] = 0
AND
hist_ver[i-1] > 0
b2 i
Yes
i i - 1
No
Yes
tinggi_temp b2-b1+1lebar_temp a2-a1+1
i >= 0 No
Yes
34
Gambar 3.11 Flowchart proses cropping
-
34
33
y a1
y
-
35
3.1.2.6 Normalisasi Resolusi Citra (Normalization)
Citra hasil pemotongan (crop) memiliki resolusi yang berbeda-beda sehingga belum
dapat digunakan sebagai masukan standar untuk diekstrak. Citra tersebut harus
dinormalisasi, yaitu mengubah resolusi citra menjadi resolusi yang sesuai untuk
diekstrak yaitu 60x90 piksel. Contoh citra hasil pemotongan yang dinormalisasi dapat
dilihat pada gambar 3.13.
Gambar 3.13 Citra hasil normalisasi
3.1.2.7 Pengurusan Objek Citra (Thinning)
Proses selanjutnya adalah pengurusan objek citra, yaitu objek angka tulisan tangan
yang terdapat pada citra akan dikuruskan (thinning) hingga ketebalannya hanya 1
piksel tetapi tidak merubah informasi dan karakteristik penting dari objek tersebut.
Melalui proses pengurusan ini akan didapatkan kerangka dari objek angka tulisan
tangan. Pengenalan objek seperti huruf atau silhouette akan lebih mudah dengan
memperhatikan kerangkanya (Phillips, 2000). Aloritma thinning ada banyak yang
tersedia, pada penelitian ini akan digunakan algoritma thinning Zhang-Suen.
Algoritma Zhang-Suen menggunakan metode paralel dimana nilai baru bagi tiap-tiap
piksel dihasilkan dari nilai piksel pada iterasi sebelumnya. Tahapan dari proses ini
dapat dilihat pada sub bab 2.2.4 mengenai thinning. Contoh citra hasil thinning dapat
dilihat pada gambar 3.14.
-
36
Gambar 3.14 Citra hasil thinning
Citra hasil thinning ini adalah hasil akhir dari seluruh tahap prapengolahan
citra. Citra ini dapat digunakan pada tahap ekstraksi fitur.
3.2 Tahap Ekstraksi Fitur
Pada penelitian ini ekstraksi fitur dilakukan menggunakan kombinasi metode zoning
dan diagonal based feature extraction. Kedua metode tersebut akan dilakukan secara
berurutan, pertama zoning dan kedua diagonal based feature extraction (DBFE). Nilai
fitur yang didapatkan dari kedua metode tersebut akan digabungkan, yaitu
menyambung nilai fitur yang didapatkan dari metode zoning dengan diagonal based
feature extraction. Nilai fitur dari kedua metode tersebut disimpan pada satu matrik
yang sama. Nilai fitur yang didapatkan dari metode zoning disimpan dari indeks 0
sampai indeks n dan nilai fitur yang didapatkan dari metode diagonal based feature
extraction disimpan dari index n+1 sampai indeks m. Matrik nilai fitur dapat dilihat
pada gambar 3.15.
0 n n+1 m.. ..
Zoning Diagonal based feature extraction
Gambar 3.15 Matrik penyimpanan nilai fitur
-
37
Setelah dilakukan tahap prapengolahan citra didapatkan data sampel yang
seragam. Ukuran data sampel hasil prapengolahan citra adalah 60x90 piksel. Ukuran
ini mengikuti ukuran yang digunakan oleh Pradeep et. al (2011). Pada penelitian yang
mereka lakukan, setiap data sampel dibagi menjadi zona-zona dengan ukuran 10x10
piksel. Dari pembagian zona tersebut didapatkan 6 kolom dan 9 baris zona. Jumlah
zona adalah sebanyak 54 zona seperti pada gambar 3.16.
Gambar 3.16 Pembagian zona menjadi 6 kolom dan 9 baris
Dari setiap zona tersebut akan diproses untuk mendapatkan nilai fitur.
Pembagian zona yang sama juga dilakukan pada penelitian ini terhadap kombinasi
metode ekstraksi yang digunakan.
Proses ekstraksi fitur menggunakan kombinasi metode zoning dan diagonal
based feature extraction dapat dijelaskan melalui diagram pada gambar 3.17.
-
38
Hitung jumlah piksel
hitam setiap zona
Nilai fitur setiap zona
= jumlah piksel zona /
jumlah piksel hitam
tertinggi
Nilai fitur = nilai zona, rata-rata histogram zona, rata-rata zona per baris, rata-rata zona per kolom
Bagi citra menjadi
6 kolom dan 9 baris zona
dengan ukuran setiap zona
10x10 piksel
Hitung histogram
diagonal setiap zona
Hitung rata-rata zona
per baris
Hitung rata-rata zona
per kolom
Cari jumlah piksel
hitam tertinggi
Hitung rata-rata
histogram diagonal
setiap zona
Gambar 3.17 Diagram ekstraksi fitur
Dari diagram di atas, proses sebelah kiri adalah metode zoning dan proses
sebelah kanan adalah metode diagonal based feature extraction. Kedua metode
ekstraksi tersebut dijelaskan pada bab berikut.
3.2.1 Metode Ekstraksi Zoning
Metode zoning terdiri dari tiga proses, yaitu :
1. Hitung jumlah piksel hitam setiap zona dari Z1 sampai Z54.
Misalkan, Z1 = 5, Z10 = 10 dan Z15 = 3.
2. Tentukan zona yang memiliki jumlah piksel hitam paling tinggi.
Misalkan dari contoh tahap 1, zona yang memiliki jumlah piksel paling tinggi
adalah Z10, yaitu 10 piksel.
3. Hitung nilai fitur setiap zona dari Z1 sampai Z54.
Yaitu menggunakan rumus :
-
39
Nilai fitur Zn = Zn / Ztertinggi
dimana 1 n 54
Nilai fitur didapatkan dengan melakukan perbandingan jumlah piksel hitam dari
satu zona dengan zona yang didapatkan dari proses no 2.
Contoh :
Nilai fitur Z1 = Z1/Z10 = 5/10 = 0.5
Nilai fitur Z10 = Z10/Z10 = 10/10 = 1
Nilai fitur Z15 = Z15/Z10 = 3/10 = 0.3
Dari ekstraksi zoning didapatkan 54 nilai fitur yang mewakili setiap zona.
Flowchart dari proses ekstraksi zoning dapat dilihat pada gambar 3.18.
-
40
Start
y 0
k y
l x
img(l, k) = 0
piksel_zona[y/10][x/10] piksel_zona[y/10][x/10] + 1
Yes
y < tinggi
x 0
x < lebar
Yes
y 0
No
y y + 10
x x + 10
Yes
k < y + 10k k + 1
Yes
l < x + 10 l l + 1
Yes
No
No
piksel_zona[y/10][x/10]
>
piksel_zona_max
No
piksel_zona_max piksel_zona[y/10][x/10]
Yes
No
No
y < ZONA_T
x 0
x < ZONA_L
Yes
piksel_zona[y][x] piksel_zona[y][x] /
piksel_zona_max
Yes
x x + 1
y y + 1
No
EndNo
Inisialisasi
ZONA_L 6, ZONA_T 9img (hasil Thinning)
tinggi img(height), lebar img(width)piksel_zona[ZONA_T][ZONA_L] 0.0
piksel_zona_max 0.0x, y, k, l
Gambar 3.18 Flowchart ekstraksi fitur zoning
-
41
3.2.2 Metode Ekstraksi Diagonal Based Feature Extraction
Metode ini terdiri dari 4 proses, yaitu :
1. Hitung histogram diagonal setiap zona.
Histogram diagonal adalah banyaknya piksel hitam setiap diagonal. Penghitungan
histogram diagonal setiap zona dilakukan seperti pada gambar 3.19.
Gambar 3.19 Histogram diagonal zona
Banyaknya histogram diagonal sebuah zona adalah :
Banyak histogram diagonal = Panjang zona + Tinggi zona - 1
Banyak histogram diagonal = 10 + 10 - 1 = 19
2. Hitung rata-rata histogram setiap zona.
Rata-rata histogram setiap zona dihitung dengan rumus :
Nilai fitur Zn = Rata-rata histogram = (Hist1 + .. + Hist19) / 19
dimana 1 n 54
3. Hitung rata-rata zona setiap baris.
Rata-rata zona setiap baris dihitung dengan rumus :
Baris 1 = (Z1+Z2+Z3+Z4+Z5+Z6) / 6
Baris 2 = (Z7+Z8+Z9+Z10+Z11+Z12) / 6
Baris 3 = (Z13+Z14+Z15+Z16+Z17+Z18) / 6
Baris 4 = (Z19+Z20+Z21+Z22+Z23+Z24) / 6
Baris 5 = (Z25+Z26+Z27+Z28+Z29+Z30) / 6
-
42
Baris 6 = (Z31+Z32+Z33+Z34+Z35+Z36) / 6
Baris 7 = (Z37+Z38+Z39+Z40+Z41+Z42) / 6
Baris 8 = (Z43+Z44+Z45+Z46+Z47+Z48) / 6
Baris 9 = (Z49+Z50+Z51+Z52+Z53+Z54) / 6
4. Hitung rata-rata zona setiap kolom.
Rata-rata zona setiap kolom dihitung dengan rumus :
Kolom 1 = (Z1+Z7+Z13+Z19+Z25+Z31+Z37+43+49) / 9
Kolom 2 = (Z2+Z8+Z14+Z20+Z26+Z32+Z38+Z44+Z50) / 9
Kolom 3 = (Z3+Z9+Z15+Z21+Z27+Z33+Z39+Z45+Z51) / 9
Kolom 4 = (Z4+Z10+Z16+Z22+Z28+Z34+Z40+Z46+Z52) / 9
Kolom 5 = (Z5+Z11+Z17+Z23+Z29+Z35+Z41+Z47+Z53) / 9
Kolom 6 = (Z6+Z12+Z18+Z24+Z30+Z36+Z42+Z48+Z54) / 9
Dari metode diagonal based feature extraction didapatkan 54 nilai fitur rata-
rata histogram diagonal setiap zona, 9 nilai fitur rata-rata zona setiap baris dan 6 nilai
fitur rata-rata zona setiap kolom kolom. Total nilai fitur yang didapatkan dari metode
ini adalah 69 nilai fitur. Flowchart proses ekstraksi diagonal based feature extraction
dapat dilihat pada gambar 3.20.
-
43
Start
ZONA_L 6, ZONA_T 9 img (hasil Thinning)
tinggi img(height), lebar img(width)jml_piksel_zona 0
jml_hor 0.0, jml_ver 0.0rata_rata_zona[ZONA_T][ZONA_L] 0.0
rata_rata_hor[ZONA_T] 0.0rata_rata_ver[ZONA_L] 0.0
int x, y, k, l
y 0
y < tinggi
x 0
Yes
x < lebar x x + 10
y y + 10
No
jml_piksel_zona 0
Yes
k y
k < y + 10
l x
l < x + 10
Yes
l l + 1
k k + 1
No
No
img(l, k) = 0
Jml_piksel_zona jml_piksel_zona + 1
Yes
Yes
No
rata_rata_zona[y/10][x/10] jml_piksel_zona / 19
y 0
y < ZONA_T
x 0
Yes
x < ZONA_L
y y + 1
NoNo
x x + 1
jml_hor jml_hor + rata_rata_zona[y][x]
Yes
rata_rata_hor[y] jml_hor / ZONA_L
jml_hor 0
x 0
x < ZONA_L
y 0
Yes
y < ZONA_T
x x + 1 No
No
y y + 1
jml_ver jml_ver + rata_rata_zona[x][y]
Yes
rata_rata_ver[x] jml_hor / ZONA_T
jml_ver 0
End
Gambar 3.20 Flowchart ekstraksi diagonal based feature extraction
-
44
3.2.3 Penggabungan nilai fitur
54 nilai fitur yang didapatkan dari metode zoning digabungkan dengan 69 fitur yang
didapatkan dari metode diagonal based feature extraction untuk mendapatkan 123
nilai fitur. 123 nilai fitur tersebut disimpan pada matrik dengan ukuran 1x123 seperti
pada gambar 3.21.
0 53 54 122.. ..
Zoning Diagonal based feature extraction
Gambar 3.21 Matrik penyimpanan nilai fitur
Nilai fitur yang didapatkan dari proses ekstraksi fitur ini digunakan sebagai
masukan terhadap jaringan propagasi balik.
3.3 Tahap Setelah Ekstraksi Fitur
Setelah dilakukan tahap ekstraksi fitur maka dapat dilakukan tahap selanjutnya yaitu
klasifikasi menggunakan jaringan propagasi balik. Pada tahap ini, nilai fitur yang
didapatkan dari tahap ekstraksi fitur digunakan sebagai masukan bagi lapis masukan
jaringan propagasi balik. Tahap klasifikasi terdiri dari dua proses, yaitu proses
pelatihan dan proses pengujian. Pada tahap pelatihan dilakukan pelatihan jaringan
menggunakan nilai fitur yang didapatkan dari data latihan. Jaringan harus dilatih
terlebih dahulu agar dapat kemudian digunakan. Setelah tahap pelatihan, jaringan
propagasi balik dapat digunakan untuk tahap pengujian menggunakan nilai fitur yang
didapatkan dari data uji. Sebelum dapat dilakukan pelatihan dan pengujian, jaringan
harus dirancang terlebih dahulu.
-
45
3.3.1 Perancangan Jaringan Propagasi Balik
Berdasarkan jumlah nilai fitur yang didapatkan dari tahap ekstraksi fitur, yaitu 123,
maka jumlah neuron pada lapis masukan jaringan propagasi balik adalah 123 neuron.
Jumlah neuron pada lapis keluaran adalah 10 karena pada penelitian ini akan
dilakukan klasifikasi 10 karakter angka, yaitu angka 0 sampai 9. Setiap angka
direpresentasikan oleh 10 nilai keluaran dari setiap neuron pada lapisan keluaran.
Nilai keluaran setiap angka dapat dilihat pada tabel 3.1.
Tabel 3.1 Nilai keluaran dan target keluaran jaringan
Nilai Keluaran Angka
0000000001 0
0000000010 1
0000000100 2
0000001000 3
0000010000 4
0000100000 5
0001000000 6
0010000000 7
0100000000 8
1000000000 9
Jumlah neuron lapisan tersembunyi dan parameter jaringan dirancang
berdasarkan jaringan yang digunakan oleh Khairunnisa (2012). Meskipun penelitian
yang dilakukan oleh Khairunnisa adalah pengenalan huruf bersambung bukan
pengenalan angka, tetapi sama-sama meneliti pengenalan tulisan tangan yang
memiliki tingkat variasi yang tinggi. Dan juga membantu menguji arsitektur dan
parameter jaringan yang digunakannya untuk kasus pengenalan angka tulisan tangan.
Dari penelitian yang telah dilakukan oleh Khairunnisa, berikut adalah spesifikasi
jaringan yang memberikan tingkat generalisasi paling tinggi :
-
46
- Satu lapisan tersembunyi yang terdiri dari 96 neuron.
- Fungsi aktivasi sigmoid biner
- Inisialisasi Nguyen-Widrow
- Laju pembelajaran 0.1
- Momentum 0.5
- Toleransi error (MSE) 0.01
- Maksimum epoch 10000
Berdasarkan perancangan di atas jaringan saraf tiruan yang dibangun pada
penelitian ini dapat dilihat pada gambar 3.22.
x1
x2
x3
x123
z1
z2
z3
z96
y1
y2
y3
y10
b1 b2v0,1
v0,2
v03
V0,100
w0,1
w0,2
w0,3
w1,0
v1,1
v1,2
v1,3v1,100
v2,1
v2,2
v2,3
v2,100
v3,1v3,2
v3,3
v3,100
v69,1
v69,2
v69,3
v69,100
w1,1
w1,2
w1,3w1,10
w2,1
w2,2
w2,3
w2,10
w3,1w3,2
w3,3
w3,10
w100,1
w100,2
w100,3
w100,10
Gambar 3.22 Arsitektur jaringan saraf tiruan
-
47
Berdasarkan gambar 3.22, rincian rancangan arsitektur jaringan saraf tiruan
yang digunakan adalah :
1. 1 lapisan input. Lapisan input terdiri dari unit-unit input mulai dari unit input 1
sampai unit input i, dimana i = 123.
2. 1 lapisan tersembunyi. Lapisan tersembunyi terdiri dari unit-unit tersembunyi
mulai dari unit tersembunyi 1 sampai unit tersembunyi j, dimana j = 96.
3. 1 lapisan output. Lapisan output terdiri dari unit-unit output mulai dari unit output
1 sampai unit output k, dimana k = 10.
4. x1 sampai x123 merupakan unit-unit lapisan input, y1 sampai y10 merupakan unit-
unit lapisan output dan z1 sampai z96 merupakan unit-unit lapisan tersembunyi.
5. b1 merupakan bias ke lapisan tersembunyi dan b2 merupakan bias ke lapisan
keluaran.
6. v0j dan w0k masing-masing adalah bobot bias untuk unit tersembunyi ke-j dan unit
output ke-k. vij adalah bobot koneksi antara unit ke-i lapisan input dengan unit ke-j
lapisan tersembunyi, sedangkan wjk adalah bobot koneksi antara unit ke-j lapisan
tersembunyi dengan unit ke-k lapisan output.
Setelah jaringan dibangun, maka dapat dilakukan proses pelatihan dan
pengujian jaringan.
3.3.2 Proses Pelatihan
Proses pelatihan dilakukan untuk melatih jaringan agar dapat mengenali angka tulisan
tangan, baik yang dilatihkan maupun tidak dilatihkan. Setiap pelatihan dilakukan
menggunakan parameter-parameter yang telah ditentukan. Pelatihan jaringan
propagasi balik terdiri dari tiga tahap, yaitu umpan maju, pemropagasian error, dan
perbaikan nilai bobot. Ketiga tahapan tersebut terus dilakukan sampai error keluaran
jaringan lebih kecil dari toleransi error atau dicapai maksimal epoch. Bobot terakhir
yang didapatkan dari proses pelatihan digunakan pada proses pengujian. Tahapan
proses pelatihan jaringan dapat dilihat pada bab 2.5 mengenai algoritma propagasi
balik.
-
48
3.3.3 Proses Pengujian
Proses pengujian adalah menguji jaringan yang telah dilatihkan untuk mengenali data
uji yang tidak digunakan pada tahap pelatihan jaringan. Menggunakan bobot yang
didapatkan setelah proses pelatihan, jaringan diharapkan mampu mengenali angka
yang terdapat pada data uji. Tahap pengujian hanya menggunakan tahap umpan maju
yang dipakai untuk mencari nilai keluaran lapisan tersembunyi dan lapisan keluaran.
Tahapan proses pengujian dapat dilihat pada bab 2.5 mengenai algoritma propagasi
balik.
-
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Analisis dan pemodelan pengenalan angka tulisan tangan yang telah dilakukan pada
bab sebelumnya harus diimplementasikan ke dalam kode program agar dapat
dilakukan pengujian untuk mengetahui kemampuan kombinasi metode zoning dan
diagonal based faeature extraction.
Pengkodean dibagi menjadi lima modul utama, yaitu :
1. Modul prapengolahan citra
Merupakan modul untuk melaksakan semua proses prapengolahan citra dan
melaksanakan proses ekstraksi fitur.
2. Modul inisialisasi
Merupakan modl untuk melaksanakan inisialisasi bobot awal.
3. Modul pelatihan jaringan
Merupakan modul untuk melaksanakan proses pelatihan jaringan propagasi balik.
4. Modul pengujian jaringan
Merupakan modul untuk melaksanakan proses pengujian jaringan propagasi balik
yang telah dilatihkan.
5. Modul program utama
Merupakan modul untuk menjalankan modul prapengolahan citra, pelatihan
jaringan dan pengujian jaringan.
Pada penelitian ini, pengkodean dilakukan menggunakan bahasa pemrograman
C++. Compiler yang digunakan adalah GNU GCC 4.2.1 yang digunakan melalui IDE
Codeblocks 8.02. Karena bahasa C++ tidak memiliki modul untuk melakukan
-
50
pengolahan citra, maka pada penelitian ini digunakan modul tambahan untuk proses
pengolahan citra, yaitu modul CImg. Modul ini dapat diunduh dari situs resminya
http://cimg.sourceforge.net. Fungsi-fungsi dari modul CImg yang digunakan dapat
dilihat pada tabel 4.1.
Tabel 4.1 Fungsi-fungsi CImg yang digunakan
Fungsi Deskripsi Fungsi
CImg
img(filename)
Fungsi untuk membuat objek dengan nama img dari kelas
CImg dengan tipe template pixel float. Filename (string)
adalah nama file yang akan dijadikan objek.
Contoh : CImg img(Lena.bmp);
CImg img(x,
y, z, channel,
color)
Fungsi untuk membuat objek dengan nama img dari kelas
CImg dengan tipe template pixel float. Objek yang dibuat
berdasarkan parameter yang dimasukkan. X adalah lebar
citra, y adalah tinggi citra, z adalah kedalaman citra (2d atau
3d), channel adalah banyaknya channel warna (3 untuk warna
RGB), color adalah warna untuk citra tersebut. Nilai 0 adalh
warna hitam dan nilai 255 adalah warna putih.
Contoh : CImg img(640, 480, 1, 3, 0);
img.save(filename) Fungsi untuk menyimpan objek CImg dengan nama img ke
file citra dengan nama filename (string). Pada filename
dituliskan juga format citra yang akan disimpan.
Contoh : img.save(Lena 2.bmp);
img(x, y, 0) Fungsi untuk mendapatkan nilai warna dari objek CImg
dengan nama img pada koordinat piksel (x, y) dan channel
pertama, yaitu 0.
Contoh : img(10, 20, 0);
Selain itu, untuk mengubah nilai piksel pada koordinat dan
channel tertentu juga menggunakan fungsi ini.
Contoh : img(10, 20, 0) = 254;
img.width() Fungsi untuk mendapatkan nilai lebar dari objek CImg
dengan nama img.
-
51
Tabel 4.1 Fungsi-fungsi CImg yang digunakan (lanjutan)
Fungsi Deskripsi Fungsi
img.height() Fungsi untuk mendapatkan nilai tinggi dari objek CImg
dengan nama img.
img.resize(x, y) Fungsi untuk mengubah resolusi dari objek CImg dengan
nama img menjadi ukuran sesuai dengan parameter x (lebar)
dan y (tinggi).
Contoh : img.resize(600, 400);
Seluruh kode program yang telah dibuat dapat dilihat pada lampiran A.
4.2 Pengujian
Setelah dilakukan tahap implementasi dilakukan pengujian kemampuan kombinasi
metode zoning dan diagonal based feature extraction pada jaringan propagasi balik
untuk pengenalan angka tulisan tangan. Untuk mengetahui penambahan tingkat
pengenalan yang didapatkan dengan menggunakan kombinasi metode tersebut,
dibangun dua jaringan lain dengan arsitektur dan parameter yang sama tetapi masing-
masing menggunakan satu metode ekstraksi saja, yaitu zoning atau diagonal based
feature extraction. Jaringan yang menggunakan kombinasi metode zoning dan
diagonal based feature extraction menggunakan 123 nilai fitur, jaringan yang
menggunakan metode zoning menggunakan 54 nilai fitur dan jaringan yang
menggunakan metode diagonal based feature extraction menggunakan 69 nilai fitur
sebagai masukan.
4.2.1 Persiapan Jaringan
Ketiga jaringan tersebut memiliki lapis tersembunyi dan lapis keluaran yang sama,
yaitu 96 neuron lapis tersembunyi dan 10 neuron lapis keluaran. Lapis masukan
dibangun sesuai dengan metode ekstraksi yang digunakan, yaitu zoning (54 neuron
-
52
masukan), diagonal based feature extraction (69 neuron masukan) dan kombinasinya
(123 neuron masukan). Arsitektur ketiga jaringan tersebut dapat dilihat pada tabel 4.2.
Tabel 4.2 Arsitektur tiga jaringan yang diujikan
Jaringan Metode Ekstraksi Lapis
Masukan
Lapis
Tersembunyi
Lapis
Keluaran
I Zoning 54 96 10
II Diagonal Based Feature
Extraction 69 96 10
III Zoning dan Diagonal
Based Feature Extraction 123 96 10
Sebelum diuji, ketiga jaringan tersebut dilatih menggunakan data latihan
dengan parameter pelatihan, yaitu laju pembelajaran 0.1, momentum 0.5 dan batas
error 0.01. Ketiga jaringan tersebut dilatih hingga nilai error (MSE) yang dicapai lebih
kecil dari 0.01. Data latihan dapat dilihat pada lampiran B.
4.2.2 Hasil Pengujian
Setelah ketiga jaringan tersebut dilatih, dilakukan pengujian tingkat pengenalan dari
ketiga jaringan tersebut. Tingkat pengenalan diuji menggunakan diuji menggunakan
data uji, yaitu data baru yang tidak digunakan pada tahap pelatihan. Data yang
digunakan untuk pengujian adalah 100 pola angka (Lampiran B). Hasil pengenalan
data uji dari ketiga jaringan yang diujikan dapat dilihat pada tabel 4.3, tabel 4.4 dan
tabel 4.5 untuk jaringan I, II dan III.
Tabel 4.3 Hasil pengenalan data uji jaringan I (Zoning)
Jaringan Pola Target Matrik Output Output
I 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 0 0 0 1 0
3 0 0 0 0 0 0 0 0 0 0 1 0
4 0 0 0 0 0 0 0 0 0 0 1 0
5 0 0 0 0 0 0 0 0 0 0 1 0
-
53
Tabel 4.3 Hasil pengenalan data uji jaringan I (Zoning) (lanjutan)
Jaringan Pola Target Matrik Output Output
I 6 0 0 0 0 0 0 0 0 0 0 1 0
7 0 0 0 0 0 0 0 0 0 0 1 0
8 0 0 0 0 0 0 0 0 0 0 1 0
9 0 0 0 0 0 0 0 0 0 0 1 0
10 1 0 0 0 0 0 0 0 0 1 0 1
11 1 0 0 0 0 0 0 0 0 1 0 1
12 1 0 0 0 0 0 0 0 0 1 0 1
13 1 0 0 0 0 0 0 0 0 1 0 1
14 1 0 0 0 0 0 0 0 0 1 0 1
15 1 0 0 0 0 0 0 0 0 1 0 1
16 1 0 0 0 0 0 0 0 0 1 0 1
17 1 0 0 0 0 0 0 0 0 1 0 1
18 1 0 0 0 0 0 0 0 0 1 0 1
19 1 0 0 0 0 0 0 0 0 1 0 1
20 2 0 0 0 1 0 0 0 0 0 0 6
21 2 0 0 0 0 0 0 0 1 0 0 2
22 2 0 0 0 0 0 0 0 1 0 0 2
23 2 0 0 0 0 0 0 0 1 0 0 2
24 2 0 0 0 0 0 0 0 1 0 0 2
25 2 0 0 0 0 0 0 0 1 0 0 2
26 2 0 0 1 0 0 0 0 0 0 0 7
27 2 0 0 0 0 0 0 0 1 0 0 2
28 2 0 0 0 0 0 0 0 1 0 0 2
29 2 0 0 0 0 0 0 0 1 0 0 2
30 3 0 0 0 0 0 0 1 0 0 0 3
31 3 0 0 0 0 0 0 1 0 0 0 3
32 3 0 0 0 0 0 0 0 0 0 0 -
33 3 1 0 1 0 0 0 0 0 0 0 -
34 3 0 0 0 0 0 0 1 0 0 0 3
35 3 0 0 0 0 0 0 0 0 0 0 -
36 3 1 0 0 0 0 0 1 0 0 0 -
37 3 0 0 0 0 0 0 1 0 0 0 3
38 3 0 0 0 0 0 0 1 0 0 0 3
39 3 0 0 0 0 0 0 0 0 0 0 -
40 4 0 0 0 0 0 1 0 0 0 0 4
41 4 0 0 0 0 0 1 0 0 0 0 4
42 4 0 0 0 0 0 1 0 0 0 0 4
43 4 0 0 0 0 0 1 0 0 0 0 4
44 4 0 0 0 1 0 0 0 0 0 0 6
45 4 0 0 0 0 0 1 0 0 0 0 4
46 4 0 0 0 0 0 1 0 0 0 0 4
47 4 0 0 0 0 0 1 0 0 0 0 4
48 4 0 1 0 0 0 1 0 0 0 0 -
49 4 0 0 0 0 0 1 0 0 0 0 4
-
54
Tabel 4.3 Hasil pengenalan data uji jaringan I (Zoning) (lanjutan)
Jaringan Pola Target Matrik Output Output
I 50 5 0 0 0 0 1 0 0 0 0 0 5
51 5 0 0 0 0 1 0 0 0 0 0 5
52 5 0 0 0 0 1 0 1 0 0 0 -
53 5 0 0 0 0 1 0 0 0 0 0 5
54 5 0 0 0 0 1 0 0 0 0 0 5
55 5 0 0 0 0 1 0 0 0 0 0 5
56 5 0 0 0 0 1 0 0 0 0 0 5
57 5 0 0 0 0 0 0 0 0 0 0 -
58 5 0 0 0 0 1 0 0 0 0 0 5
59 5 0 0 0 0 1 0 0 0 0 0 5
60 5 0 0 0 1 0 0 0 0 0 0 6
61 6 0 0 0 1 0 0 0 0 0 0 6
62 6 0 0 0 0 0 0 0 0 0 0 -
63 6 0 0 0 1 0 0 0 0 0 0 6
64 6 0 0 0 1 0 0 0 0 0 0 6
65 6 0 0 0 1 0 0 0 0 0 0 6
66 6 0 0 0 1 0 0 0 0 0 0 6
67 6 0 0 0 1 0 0 0 0 0 0 6
68 6 0 0 0 1 0 0 0 0 0 0 6
69 6 0 1 0 1 0 0 0 0 0 0 -
70 7 0 0 1 0 0 0 0 0 0 0 7
71 7 0 0 1 0 0 0 0 0 0 0 7
72 7 0 0 1 0 0 0 0 0 0 0 7
73 7 0 0 1 0 0 0 0 0 0 0 7
74 7 0 0 1 0 0 0 0 0 0 0 7
75 7 0 0 1 0 0 0 0 0 0 0 7
76 7 0 0 1 0 0 0 0 0 0 0 7
77 7 0 0 1 0 0 0 0 0 0 0 7
78 7 0 0 1 0 0 0 0 0 0 0 7
79 7 0 0 1 0 0 0 0 0 0 0 7
80 8 1 1 0 0 0 0 0 0 0 0 -
81 8 0 0 0 0 0 0 0 1 0 0 2
82 8 0 0 0 0 0 0 0 0 0 0 -
83 8 0 1 0 0 0 0 0 0 0 0 8
84 8 0 1 0 0 0 0 0 0 0 0 8
85 8 0 1 0 0 0 0 0 0 0 0 8
86 8 0 1 0 0 0 0 0 0 0 0 8
87 8 0 1 0 0 0 0 0 0 0 0 8
88 8 0 0 0 0 0 0 0 0 0 0 -
89 8 0 1 0 0 0 0 0 0 0 0 8
90 9 1 1 0 0 0 0 0 0 0 0 -
91 9 0 0 0 0 0 0 0 0 0 0 -
92 9 0 0 0 0 0 0 0 0 0 0 -
93 9 1 0 0 0 0 0 0 0 0 0 9
-
55
Tabel 4.3 Hasil pengenalan data uji jaringan I (Zoning) (lanjutan)
Jaringan Pola Target Matrik Output Output
I 94 9 1 0 0 0 0 0 0 0 0 0 9
95 9 1 0 0 0 0 0 0 0 0 0 9
96 9 1 0 0 0 0 0 0 0 0 0 9
97 9 1 0 0 0 0 0 0 0 0 0 9
98 9 1 0 0 0 0 0 0 0 0 0 9
99 9 1 0 0 0 0 0 0 0 0 0 9
Tabel 4.4 Hasil pengenalan data uji jaringan II (Diagonal Based Feature
Extraction)
Jaringan Pola Target Matrik Output Output
II 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 0 0 0 1 0
3 0 0 0 0 0 0 0 0 0 0 1 0
4 0 0 0 0 0 0 0 0 0 0 1 0
5 0 0 0 0 0 0 0 0 0 0 1 0
6 0 0 0 0 0 0 0 0 0 0 1 0
7 0 0 0 0 0 0 0 0 0 0 1 0
8 0 0 0 0 0 0 0 0 0 0 1 0
9 0 0 0 0 0 0 0 0 0 0 1 0
10 1 0 0 0 0 0 0 0 0 1 0 1
11 1 0 0 0 0 0 0 0 0 1 0 1
12 1 0 0 0 0 0 0 0 0 1 0 1
13 1 0 0 0 0 0 0 0 0 1 0 1
14 1 0 0 0 0 0 0 0 0 1 0 1
15 1 0 0 0 0 0 0 0 0 1 0 1
16 1 0 0 0 0 0 0 0 0 1 0 1
17 1 0 0 0 0 0 0 0 0 1 0 1
18 1 0 0 0 0 0 0 0 0 1 0 1
19 1 0 0 0 0 0 0 0 0 1 0 1
20 2 0 0 0 1 0 0 0 0 0 0 6
21 2 0 0 0 0 0 0 0 1 0 0 2
22 2 0 0 0 0 0 0 0 1 0 0 2
23 2 0 0 0 0 0 0 0 1 0 0 2
24 2 0 0 0 0 0 0 0 1 0 0 2
25 2 0 0 0 0 0 0 0 1 0 0 2
26 2 0 0 1 0 0 0 0 1 0 0 -
27 2 0 0 0 0 0 0 0 1 0 0 2
28 2 0 0 0 0 0 0 0 1 0 0 2
29 2 0 0 0 0 0 0 0 1 0 0 2
30 3 0 0 0 0 0 0 1 0 0 0 3
31 3 0 0 0 0 0 0 1 0 0 0 3
-
56
Tabel 4.4 Hasil pengenalan data uji jaringan II (Diagonal Based
Feature Extraction) (lanjutan)
Jaringan Pola Target Matrik Output Output
II 32 3 0 0 0 0 0 0 1 0 0 0 3
33 3 1 0 1 0 0 0 0 0 0 0 -
34 3 0 0 0 0 0 0 1 0 0 0 3
35 3 0 0 0 0 0 0 1 0 0 0 3
36 3 0 0 0 0 0 0 1 0 0 0 3
37 3 0 0 0 0 0 0 1 0 0 0 3
38 3 0 0 0 0 0 0 1 0 0 0 3
39 3 1 0 0 0 0 0 1 0 0 0 -
40 4 0 0 0 0 0 1 0 0 0 0 4
41 4 0 0 0 0 0 1 0 0 0 0 4
42 4 0 0 0 0 0 1 0 0 0 0 4
43 4 0 0 0 0 0 1 0 0 0 0 4
44 4 0 0 0 1 0 0 0 0 0 0 6
45 4 0 0 0 0 0 1 0 0 0 0 4
46 4 0 0 0 0 0 1 0 0 0 0 4
47 4 0 0 0 0 0 1 0 0 0 0 4
48 4 0 1 0 0 0 1 0 0 0 0 -
49 4 0 0 0 0 0 1 0 0 0 0 4
50 5 0 0 0 0 1 0 0 0 0 0 5
51 5 0 0 0 0 1 0 0 0 0 0 5
52 5 0 0 0 0 1 0 1 0 0 0 -
53 5 0 0 0 0 1 0 0 0 0 0 5
54 5 0 0 0 0 1 0 0 0 0 0 5
55 5 0 0 0 0 1 0 0 0 1 0 -
56 5 0 0 0 0 1 0 0 0 0 0 5
57 5 0 0 0 0 0 0 0 0 0 0 -
58 5 0 0 0 0 1 0 0 0 0 0 5
59 5 0 0 0 0 1 0 0 0 0 0 5
60 5 0 0 0 1 0 0 0 0 0 0 6
61 6 0 0 0 1 0 0 0 0 0 0 6
62 6 0 0 0 0 0 0 0 0 0 1 0
63 6 0 0 0 1 0 0 0 0 0 0 6
64 6 0 0 0 1 0 0 0 0 0 0 6
65 6 0 0 0 1 0 0 0 0 0 0 6
66 6 0 0 0 1 0 0 0 0 0 0 6
67 6 0 0 0 1 0 0 0 0 0 0 6
68 6 0 0 0 1 0 0 0 0 0 1 -
69 6 0 0 0 1 0 0 0 0 0 0 6
70 7 0 0 0 0 0 0 0 0 0 0 -
71 7 0 0 1 0 0 0 0 0 0 0 7
72 7 0 0 1 0 0 0 0 0 0 0 7
73 7 0 0 1 0 0 0 0 0 0 0 7
74 7 0 0 1 0 0 0 0 0 0 0 7
75 7 0 0 1 0 0 0 0 0 0 0 7
-
57
Tabel 4.4 Hasil pengenalan data uji jaringan II (Diagonal Based
Feature Extraction) (lanjutan)
Jaringan Pola Target Matrik Output Output
II 76 7 0 0 1 0 0 0 0 0 0 0 7
77 7 0 0 1 0 0 0 0 0 0 0 7
78 7 0 0 1 0 0 0 0 0 0 0 7
79 7 0 0 1 0 0 0 0 0 0 0 7
80 8 0 1 0 0 0 0 0 0 0 0 8
81 8 0 0 0 0 0 0 0 1 0 0 2
82 8 1 0 0 0 0 0 0 0 0 0 9
83 8 0 1 0 0 0 0 0 0 0 0 8
84 8 0 1 0 0 0 0 0 0 0 0 8
85 8 0 1 0 0 0 0 0 0 0 0 8
86 8 0 1 0 0 0 0 0 0 0 0 8
87 8 0 1 0 0 0 0 0 0 0 0 8
88 8 0 1 0 0 0 0 0 0 0 0 8
89 8 0 1 0 0 0 0 0 0 0 0 8
90 9 1 0 0 0 0 0 0 0 0 0 9
91 9 1 1 0 0 0 0 0 0 0 0 -
92 9 0 0 0 0 0 0 0 0 0 0 -
93 9 1 0 0 0 0 0 0 0 0 0 9
94 9 1 0 0 0 0 0 0 0 0 0 9
95 9 1 0 0 0 0 0 0 0 0 0 9
96 9 1 0 0 0 0 0 0 0 0 0 9
97 9 1 0 0 0 0 0 0 0 0 0 9
98 9 1 0 0 0 0 0 0 0 0 0 9
99 9 1 0 0 0 0 0 0 0 0 0 9
Tabel 4.5 Hasil pengenalan data uji jaringan III (Zoning dan Diagonal Based
Feature Extraction)
Jaringan Pola Target Matrik Output Output
III 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 0 0 0 1 0
3 0 0 0 0 0 0 0 0 0 0 1 0
4 0 0 0 0 0 0 0 0 0 0 1 0
5 0 0 0 0 0 0 0 0 0 0 1 0
6 0 0 0 0 0 0 0 0 0 0 1 0
7 0 0 0 0 0 0 0 0 0 0 1 0
8 0 0 0 0 0 0 0 0 0 0 1 0
9 0 0 0 0 0 0 0 0 0 0 1 0
10 1 0 0 0 0 0 0 0 0 1 0 1
11 1 0 0 0 0 0 0 0 0 1 0 1
12 1 0 0 0 0 0 0 0 0 1 0 1
-
58
Tabel 4.5 Hasil pengenalan data uji jaringan III (Zoning dan Diagonal
Based Feature Extraction) (lanjutan)
Jaringan Pola Target Matrik Output Output
III 13 1 0 0 0 0 0 0 0 0 1 0 1
14 1 0 0 0 0 0 0 0 0 1 0 1
15 1 0 0 0 0 0 0 0 0 1 0 1
16 1 0 0 0 0 0 0 0 0 1 0 1
17 1 0 0 0 0 0 0 0 0 1 0 1
18 1 0 0 0 0 0 0 0 0 1 0 1
19 1 0 0 0 0 0 0 0 0 1 0 1
20 2 0 0 0 1 0 0 0 0 0 0 6
21 2 0 0 0 0 0 0 0 1 0 0 2
22 2 0 0 0 0 0 0 0 1 0 0 2
23 2 0 0 0 0 0 0 0 1 0 0 2
24 2 0 0 0 0 0 0 0 1 0 0 2
25 2 0 0 0 0 0 0 0 1 0 0 2
26 2 0 0 0 0 0 0 0 1 0 0 2
27 2 0 0 0 0 0 0 0 1 0 0 2
28 2 0 0 0 0 0 0 0 1 0 0 2
29 2 0 0 0 0 0 0 0 1 0 0 2
30 3 0 0 0 0 0 0 1 0 0 0 3
31 3 0 0 0 0 0 0 1 0 0 0 3
32 3 0 0 0 0 0 0 1 0 0 0 3
33 3 1 0 0 0 0 0 0 0 0 0 9
34 3 0 0 0 0 0 0 1 0 0 0 3
35 3 0 0 0 0 0 0 0 0 0 0 -
36 3 0 0 0 0 0 0 1 0 0 0 3
37 3 0 0 0 0 0 0 1 0 0 0 3
38 3 0 0 0 0 0 0 1 0 0 0 3
39 3 1 0 0 0 0 0 1 0 0 0 -
40 4 0 0 0 0 0 1 0 0 0 0 4
41 4 0 0 0 0 0 1 0 0 0 0 4
42 4 0 0 0 0 0 1 0 0 0 0 4
43 4 0 0 0 0 0 1 0 0 0 0 4
44 4 0 0 0 1 0 0 0 0 0 0 6
45 4 0 0 0 0 0 1 0 0 0 0 4
46 4 0 0 0 0 0 1 0 0 0 0 4
47 4 0 0 0 0 0 1 0 0 0 0 4
48 4 0 0 0 0 0 1 0 0 0 0 4
49 4 0 0 0 0 0 1 0 0 0 0 4
50 5 0 0 0 0 1 0 0 0 0 0 5
51 5 0 0 0 0 1 0 0 0 0 0 5
52 5 0 0 0 0 1 0 1 0 0 0 -
53 5 0 0 0 0 1 0 0 0 0 0 5
54 5 0 0 0 0 1 0 0 0 0 0 5
55 5 0 0 0 0 1 0 0 0 0 0 5
-
59
Tabel 4.5 Hasil pengenalan data uji jaringan III (Zoning dan Diagonal
Based Feature Extraction) (lanjutan)
Jaringan Pola Target Matrik Output Output
56 5 0 0 0 0 1 0 0 0 0 0 5
57 5 0 0 0 0 0 0 0 0 0 0 -
58 5 0 0 0 0 1 0 0 0 0 0 5
59 5 0 0 0 0 1 0 0 0 0 0 5
60 5 0 0 0 1 0 0 0 0 0 0 6
61 6 0 0 0 1 0 0 0 0 0 0 6
62 6 0 0 0 0 0 0 0 0 0 1 0
63 6 0 0 0 1 0 0 0 0 0 0 6
64 6 0 0 0 1 0 0 0 0 0 0 6
65 6 0 0 0 1 0 0 0 0 0 0 6
66 6 0 0 0 1 0 0 0 0 0 0 6
67 6 0 0 0 1 0 0 0 0 0 0 6
68 6 0 0 0 1 0 0 0 0 0 1 -
69 6 0 0 0 1 0 0 0 0 0 0 6
70 7 0 0 1 0 0 0 0 0 0 0 7
71 7 0 0 1 0 0 0 0 0 0 0 7
72 7 0 0 1 0 0 0 0 0 0 0 7
73 7 0 0 1 0 0 0 0 0 0 0 7
74 7 0 0 1 0 0 0 0 0 0 0 7
75 7 0 0 1 0 0 0 0 0 0 0 7
76 7 0 0 1 0 0 0 0 0 0 0 7
77 7 0 0 1 0 0 0 0 0 0 0 7
78 7 0 0 1 0 0 0 0 0 0 0 7
79 7 0 0 1 0 0 0 0 0 0 0 7
80 8 0 1 0 0 0 0 0 0 0 0 8
81 8 0 0 0 0 0 0 0 1 0 0 2
82 8 1 0 0 0 0 0 0 0 0 0 9
83 8 0 1 0 0 0 0 0 0 0 0 8
84 8 0 1 0 0 0 0 0 0 0 0 8
85 8 0 1 0 0 0 0 0 0 0 0 8
86 8 0 1 0 0 0 0 0 0 0 0 8
87 8 0 1 0 0 0 0 0 0 0 0 8
88 8 0 1 0 0 0 0 0 0 0 0 8
89 8 0 1 0 0 0 0 0 0 0 0 8
90 9 1 0 0 0 0 0 0 0 0 0 9
91 9 1 1 0 0 0 0 0 0 0 0 -
92 9 0 0 0 0 0 0 0 0 0 0 -
93 9 1 0 0 0 0 0 0 0 0 0 9
94 9 1 0 0 0 0 0 0 0 0 0 9
95 9 1 0 0 0 0 0 0 0 0 0 9
96 9 1 0 0 0 0 0 0 0 0 0 9
97 9 1 0 0 0 0 0 0 0 0 0 9
98 9 1 0 0 0 0 0 0 0 0 0 9
99 9 1 0 0 0 0 0 0 0 0 0 9
-
60
Dari tabel 4.3, tabel 4.4 dan tabel 4.5 diketahui tingkat pengelan dari ketiga
jaringan tersebut seperti pada tabel 4.6.
Tabel 4.6 Tingkat pengenalan tiga jaringan yang diujikan
Jaringan Metode Ekstraksi Pengenalan
(/100)
Tingkat
Pengenalan (%)
I Zoning 80 80
II Diagonal Based Feature
Extraction