Upload
vuongdiep
View
231
Download
0
Embed Size (px)
Citation preview
PENGENALAN CITRA HURUF BERDERAU DENGAN JARINGAN SYARAF TIRUAN
BERDASARKAN SIFAT-SIFAT STATISTIS
Tesis untuk memenuhi sebagian persyaratan
untuk mencapai derajat Sarjana S-2
Program Studi Teknik Elektro Jurusan Ilmu-ilmu Teknik
diajukan oleh Linggo Sumarno 8422/I-1/526/96
Kepada PROGRAM PASCA SARJANA
UNIVERSITAS GADJAH MADA 1998
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PRAKATA
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala
karunia yang telah diberikanNya hingga selesainya tesis ini, yang merupakan
salah satu syarat untuk mencapai derajat Sarjana S-2 di Program Studi Teknik
Elektro Jurusan Ilmu-ilmu Teknik Universitas Gadjah Mada.
Walaupun telah diusahakan sebaik mungkin, penulis menyadari tesis ini
masih terdapat kekurangan di sana sini. Untuk itu, saran untuk perbaikan lebih
lanjut sangat penulis harapkan.
Pada kesempatan ini, penulis ucapkan terima kasih yang sebesar-besarnya
kepada pihak-pihak yang telah sangat membantu kelancaran studi S2 hingga
selesainya tesis ini:
1. Bapak Adhi Susanto MSc. PhD., selaku pembimbing pertama yang dengan
penuh perhatian membimbing tesis ini
2. Ibu Ir. Litasari MSc., selaku pembimbing kedua yang juga dengan penuh
perhatian membimbing tesis ini.
3. Dr. M. Sastrapratedja SJ., selaku Rektor Universitas Sanata Dharma yang
telah memberikan kesempatan untuk menempuh studi S2 di UGM.
4. Yayasan Sanata Dharma dan EEDP yang telah membantu pembiayaan studi
S2.
5. Karyawan administrasi Jurusan Teknik Elektro Universitas Gadjah Mada yang
telah membantu kelancaran studi S2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
6. Pihak-pihak lain yang tidak dapat penulis sebutkan satu persatu dalam
kesempatan ini.
Yogyakarta, Nopember 1998
penulis
Linggo Sumarno
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
DAFTAR ISI
halaman
Halaman Judul …………………………………………………………… i
Halaman Pengesahan ……………………………………………………. ii
Prakata …………………………………………………………………… iii
Daftar Isi …………………………………………………………………. v
Daftar Tabel ……………………………………………………………… ix
Daftar Gambar ………………...…………………………………………. x
Intisari …………………………………………………………………… xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang …………………………………………… 1
1.1.1 Perumusan masalah ……………………………… 1
1.1.2 Keaslian penelitian …………………………………. 2
1.1.3 Faedah yang diharapkan …………………………… 3
1.2 Tujuan Penelitian ……………………………………….…. 3
BAB 2 TINJAUAN PUSTAKA
2.1 Pengantar ……………………..…………………………… 4
2.2 Landasan Teori ……………………………………………. 4
2.2.1 Jaringan syaraf tiruan …………………………… 4
2.2.2 Pengklasifikasi Bayes ……………………………… 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
2.2.3 Jendela Parzen ……………………………………. 8
2.2.4 Optimasi faktor penyekala …………………………. 11
2.3 Hipotesis …………………………………………………… 13
2.4 Langkah Penelitian ……………………………………… 14
BAB 3 CARA PENELITIAN
3.1 Bahan Penelitian …………………………………………. 15
3.2 Alat Penelitian …………………………………………… 17
3.3 Jalan Penelitian ……………………………………………. 17
3.3.1 Perancangan keseluruhan sistem ………………… 17
3.3.2 Perancangan jaringan syaraf tiruan ………………. 19
3.3.3 Pelatihan dan pengujian jaringan syaraf tiruan ……. 25
3.3.4 Implementasi keseluruhan sistem ………………… 25
3.3.5 Pengujian keseluruhan sistem ……………………... 26
3.3.6 Pengambilan data hasil pengujian …………………. 27
3.3.7 Analisis hasil pengujian …………………………… 27
3.4 Variabel yang Diamati …………………………………… 28
3.5 Kesulitan-kesulitan ……………………………………… 29
BAB 4 HASIL PENELITIAN
4.1 Hasil Penelitian …………………………………………... 30
4.1.1 Pengujian mayor terhadap citra masukan yang berderau
…..... 31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
4.1.2 Pengujian minor terhadap citra masukan yang mengalami deformasi proporsi, pergeseran, dan perputaran
…..... 32
4.1.3 Pengujian gabungan terhadap citra masukan yang berderau dan mengalami deformasi proporsi, pergeseran dan perputaran
…..... 35
4.1.4 Panjang waktu pelatihan dan pengenalan …………. 37
4.1.5 Pengujian pengaruh derau dan faktor penyekala ….. 37
4.1.6 Pengujian pengaruh derau dan bentuk huruf ………. 38
4.2 Pembahasan ……………………………………………… 39
4.2.1 Pengaruh derau terhadap tingkat pengenalan ……… 39
4.2.2 Pengaruh deformasi proporsi, pergeseran, dan perputaran terhadap tingkat pengenalan
……. 40
4.2.3 Pengaruh derau serta deformasi proporsi, pergeseran, dan perputaran terhadap tingkat pengenalan
……. 41
4.2.4 Panjang waktu pelatihan dan pengenalan …………. 42
4.2.5 Pengaruh derau dan faktor penyekala …………….. 42
4.2.6 Pengaruh derau dan bentuk huruf …………………. 43
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan ……………………………………………… 45
5.2 Saran ……………………………………………………… 47
BAB 6 RINGKASAN
6.1 Latar Belakang …………………………………………… 49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
6.2 Tinjauan Pustaka …………………………………………… 49
6.3 Landasan Teori ……………………………………………. 50
6.4 Cara Penelitian …………………………………………… 50
6.5 Hasil Penelitian ……………………………………………. 51
Daftar Pustaka …………………………………………………………. 52
LAMPIRAN
L.1 Daftar Kode Sumber ……………………………………….. 54
L.2 Listing Kode Sumber ……………………………………… 54
L.3 Contoh Hasil Eksekusi Kode Sumber ……………………... 77
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
DAFTAR TABEL
halaman
Tabel 4.1 Pengaruh deformasi proporsi terhadap tingkat pengenalan.
……… 33
Tabel 4.2 Pengaruh deformasi pergeseran terhadap tingkat
pengenalan. ……… 34
Tabel 4.3 Pengaruh deformasi perputaran terhadap tingkat
pengenalan. ……… 35
Tabel 4.4 Pengaruh derau terhadap tingkat pengenalan, pada
citra yang mengalami deformasi proporsi, pergeseran, dan perputaran.
……… 36
Tabel 4.5 Panjang waktu pelatihan dan pengenalan, pada
jaringan yang terkonstruksi atas 26 kelas pola, dengan dua sampel di setiap kelasnya.
……… 37
Tabel 4.6 Tingkat pengenalan jaringan (%) pada keadaan σ
dan derau yang beragam. ……… 37
Tabel 4.7 Rerata kerapatan probabilitas pada keadaan σ dan
derau yang beragam. ……… 37
Tabel 4.8 Tingkat pengenalan jaringan untuk citra huruf
masukan yang seragam, pada keadaan tingkat derau 40%.
……… 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
DAFTAR GAMBAR
halaman
Gambar 2.1 Model dasar neuron. ……………………………………….. 6 Gambar 2.2 Contoh jaringan umpanmaju tiga-lapis. …………………… 7 Gambar 3.1 Dua macam jenis huruf: Roman dan Arial. ………………... 16 Gambar 3.2 Sistem pengenalan citra huruf berderau. …………………… 18 Gambar 3.3 Jaringan syaraf probabilitas. ……………………………….. 20 Gambar 4.1 Contoh citra huruf berderau; (a) dan (g) citra asli; (b)
dan (h) berderau 5 %; (c) dan (i) berderau 15%; (d) dan (j) berderau 25%; (e) dan (k) berderau 30%; (f) dan (l) berderau 35%.
……. 31
Gambar 4.2 Grafik pengaruh derau terhadap tingkat pengenalan
untuk citra huruf masukan yang beragam. ……. 32
Gambar 4.3 Contoh citra yang mengalami deformasi proporsi,
dengan (a) dan (d) citra asli, (b) dan (e) kurus, (c) dan (f) gemuk.
……. 33
Gambar 4.4 Contoh citra yang mengalami deformasi pergeseran,
dengan (a) dan (d) citra asli, (b) tergeser ke kiri satu piksel, (c) tergeser ke kanan 2 piksel, (e) tergeser ke atas dua piksel dan (f) tergeser ke bawah tiga piksel.
……. 34
Gambar 4.5 Contoh citra yang mengalami deformasi perputaran,
dengan (a) dan (d) citra asli, (b) dan (e) terputar -5 o , (c) dan (f) terputar 5 o.
……. 35
Gambar 4.6 Contoh citra berderau yang mengalami deformasi
proporsi, pergeseran dan perputaran; (a) dan (d) citra asli; (b) dan (e) berderau 10 %, kurus, tergeser ke kiri satu piksel dan terputar 5 o ; (c) dan (f) berderau 10 %, gemuk, tergeser ke kanan satu piksel dan terputar -5 o.
……. 36
Gambar 4.7 Grafik pengaruh derau yang bertingkat terhadap
tingkat pengenalan untuk bentuk huruf ‘B’,’X’,’Z’,dan ‘W’.
……. 39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
INTISARI
Pengenalan citra merupakan suatu proses pengolahan citra aras-tinggi yang bertujuan untuk mengenali informasi yang terkandung dalam suatu citra. Untuk dapat melakukan proses pengenalan tersebut, penggunaan metode pengenalan yang berdasarkan pada sifat-sifat statistis merupakan metode yang telah umum digunakan. Disamping metode tersebut, dewasa ini, terdapat pula metode pengenalan lain yang sedang berkembang pesat, yang dinamakan metode jaringan syaraf tiruan.
Dengan menggunakan jaringan syaraf tiruan yang berdasarkan pada sifat-sifat statistis, maka pada penelitian ini dilakukan perancangan suatu model sistem pengenalan citra yang dapat mengenali huruf pada suatu citra berderau. Hasil pengujian jaringan syaraf tiruan yang dirancang memperlihatkan bahwa, huruf pada suatu citra berderau yang tingkat deraunya mencapai 35% dapat dikenali, dengan kesalahan tingkat pengenalan kurang dari 5%.
ABSTRACT Image recognition is a high-level image processing which is targeted to recognize information contained in the image. In performing this recognition, methods based on statistical properties are the common use. Beside those methods, nowadays, another method which utilizes the artificial neural networks has grown extensively. By using the artificial neural network which is based on some statistical properties, in this research a model of image recognition system was designed to have the ability to recognize letter from a noisy image. Test results of this model have shown that letter from a noisy image with noise level up to 35% can be recognized, with error recognition rate less than 5%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Pengenalan citra merupakan bagian bidang ilmu pengolahan citra, yang
pada dasarnya bermaksud untuk meniru kemampuan sistem penglihatan manusia
dalam menganalisis dan memahami suatu citra. Untuk mencapai maksud tersebut,
metode yang berdasarkan sifat-sifat statistis merupakan metode yang telah dipakai
secara luas. Penggunaan regresi linear, pengelompokan, korelasi, dan
pengklasifikasi Bayes merupakan standar yang telah umum dipakai.
Dewasa ini, jaringan syaraf tiruan yang pada dasarnya adalah meniru
sistem otak manusia, telah memperlihatkan sejumlah sifat yang menarik seperti
unjukkerja yang tangguh ketika menghadapi pola berderau, tolerans yang tinggi
terhadap kesalahan, laju komputasi paralel yang tinggi, serta kemampuan
generalisasi.
Berdasar pada sifat-sifat statistis dan jaringan syaraf tiruan di atas, pada
penelitian ini dirancang suatu jaringan syaraf tiruan yang mampu mengenali citra
huruf berderau.
1.1.1 Perumusan masalah
Manusia dapat mengenali dengan mudah suatu citra huruf berderau,
dengan kandungan derau hingga suatu tingkat derau tertentu. Akan tetapi, tidak
demikian halnya dengan komputer, karena komputer memerlukan adanya model-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
model pengenalan citra tertentu untuk dapat melakukan proses pengenalan citra
tersebut. Pada penelitian ini, akan dibuat suatu model pengenalan citra yang dapat
dilakukan oleh komputer. Model pengenalan citra yang akan dibuat merupakan
model dengan jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis.
1.1.2 Keaslian penelitian
Pengenalan citra huruf berderau ukuran 5x7 piksel dengan jaringan syaraf
tiruan yang berdasarkan pada perambatan galat mundur telah diusulkan oleh
Demuth dan Beale (1994). Dengan jaringan syaraf tiruan tersebut, kandungan
derau hingga 20% masih dapat ditanggulangi.
Model jaringan syaraf tiruan untuk pengenalan citra berderau ukuran 7x9
piksel, dengan berdasarkan perseptron dan pengingat heteroasosiatif, telah
diusulkan. Model yang dikenalkan oleh Fausett (1994) tersebut, mampu
mengenali citra huruf yang mempunyai kandungan derau hingga 30%.
Suatu model jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis
yang mampu mengenali citra huruf berderau ukuran 32x32 piksel, dengan
kandungan derau sekitar 20% telah dikenalkan oleh Watanabe (1996). Pemodelan
jaringan syaraf tiruan tersebut dilakukan dengan menggunakan jaringan syaraf
kompetisi probabilitas.
Penelitian yang dilakukan di sini, dimaksudkan untuk mengembangkan
dan memberikan suatu alternatif lain jaringan syarat tiruan yang berdasarkan sifat-
sifat statistis yang lain. Jaringan syaraf ini diharapkan mampu menangani citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
huruf berukuran 32x32 piksel yang mempunyai kandungan derau hingga lebih
dari 30%.
1.1.3 Faedah yang dapat diharapkan
Dengan adanya penelitian ini dapat diharapkan akan dihasilkan suatu
model alternatif pengenalan citra huruf berderau dengan jaringan syarat tiruan
yang berdasarkan sifat-sifat statistis, yang kemampuan pengenalan citranya lebih
tinggi dari yang pernah ada sebelumnya sebelumnya.
1.2 Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah tersusunnya
perangkat-lunak suatu model jaringan syaraf tiruan yang berdasarkan sifat-sifat
statistis, yang mampu mengenali citra huruf berderau. Watak dan unjukkerja
jaringan syaraf tiruan dalam melakukan pengenalan citra huruf berderau, akan
diselidiki dalam penelitian ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 2 TINJAUAN PUSTAKA
2.1 Pengantar
Jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis pertama kali
diperkenalkan oleh Donald Specht di tahun 1990-an. Jaringan yang dinamakan
Jaringan Syaraf Probabilistis ini, mendasarkan diri pada pengklasifikasi Bayes-
Parzen. Specht memperlihatkan bahwa algoritma jaringan syaraf ini dapat dipecah
ke dalam sejumlah besar pemroses-pemroses mandiri sederhana, yang dapat
beroperasi secara paralel. Adanya pemrosesan paralel inilah yang merupakan
dasar jaringan syaraf tiruan.
2.2 Landasan Teori
2.2.1 Jaringan syaraf tiruan
Jaringan syaraf tiruan yang berkembang sejak tahun 1940-an, telah
memperlihatkan kemajuan yang sangat pesat. Dewasa ini, model-model jaringan
syaraf tiruan tersebut telah secara sukses diterapkan pada sistem-sistem untuk
mengerjakan tugas-tugas seperti pengenalan pola, kendali robot, dan prediksi
runtun waktu.
Pada dasarnya, jaringan syaraf tiruan dimodelkan berdasarkan ciri
organisasi otak manusia, yang mampu melakukan pengolahan secara paralel dan
non-linear serta mampu pula mengangani informasi-informasi yang kompleks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Definisi jaringan syaraf tiruan menurut Lin dan Lee (1996).
Jaringan syaraf tiruan adalah generasi baru sistem pemrosesan informasi yang dikonstruksi dengan berdasarkan pada beberapa ciri yang ada pada otak manusia, yaitu: 1) adanya elemen-elemen pemroses (simpul-simpul) yang saling
tersambung, yang biasanya beroperasi secara paralel, dan 2) adanya kelakuan kolektif seperti kemampuan untuk belajar,
mengingat kembali dan melakukan generalisasi atas pola pelatihan atau data.
Dalam implementasinya, jaringan syaraf tiruan merupakan paduan tiga hal
dasar sebagai berikut.
1. Elemen-elemen pemroses (simpul-simpul) yang disebut sebagai neuron-
neuron.
2. Arsitektur sambungan antar elemen-elemen pemroses yang disebut sebagai
arsitektur jaringan.
3. Aturan penyimpanan informasi ke dalam jaringan yang disebut sebagai aturan
pelatihan.
Setiap neuron pada jaringan syaraf tiruan mempunyai tiga fungsi utama
sebagai berikut.
1. Mengumpulkan nilai-nilai masukan dan nilai-nilai pada sambungan yang
disebut sebagai bobot.
2. Melakukan operasi matematis tertentu yang telah ditentukan sebelumnya.
3. Mengeluarkan nilai hasil operasi matematis di atas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Secara sederhana neuron ini diperlihatkan pada Gambar 2.1 di bawah ini.
x1
g(f(x,w))wn
w1 w2
x2
y …
xn
Gambar 2.1 Model dasar neuron
Pada Gambar 2.1 di atas, keluaran neuron dirumuskan secara umum
sebagai y = g(f(x, w)), dengan x = [x1, x2, …, xn] adalah vektor nilai masukan dan
w = [w1, w2, …, wn] adalah vektor nilai bobot.
Neuron-neuron yang saling tersambung akan dapat membentuk banyak
macam arsitektur jaringan seperti diperlihatkan oleh Fausett (1994), Lin dan Lee
(1996), dan Patterson (1996). Gambar 2.2 memperlihatkan contoh arsitektur
jaringan umpanmaju tiga-lapis yang merupakan dasar arsitektur jaringan syaraf
tiruan yang digunakan dalam penelitian ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
keluaran
lapis ke-3
lapis ke-2
lapis ke-1
masukan
Gambar 2.2 Contoh jaringan umpanmaju tiga-lapis.
Bobot-bobot sambungan dalam jaringan merupakan tempat jaringan syaraf
menyimpan informasi. Terdapat banyak ragam algoritma pelatihan untuk
mengeset nilai-nilai bobot ini. Pada penelitian ini, algoritma yang dipakai adalah
algoritma pelatihan terbimbing jaringan syaraf probabilistis. Algoritma pelatihan
ini pada dasarnya adalah, pembentukan neuron pada lapis ke-1 yang merupakan
anak (turunan) neuron pada lapis ke-2, pada Gambar 2.2 di atas.
2.2.2 Pengklasifikasi Bayes
Jaringan syaraf tiruan yang dipergunakan dalam penelitian ini didasarkan
pada pengklasifikasi Bayes, yang melakukan klasifikasi dengan berdasarkan pada
sifat-sifat statistis sekelompok data (informasi). Secara sederhana, pengklasifikasi
Bayes untuk kasus klasifikasi dua-kelas diperlihatkan sebagai berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
hA cA fA (x) > hB cB fB (x) (2.1)
dengan hA , hB : probabilitas apriori kelas A dan B
cA , cB : risiko pemilihan kelas A dan B
fA (x) , fB (x) : kerapatan probabilitas kelas A dan B untuk
masukan x.
2.2.3 Jendela Parzen
Kerapatan probabilitas kelas pada pengklasifikasi Bayes di atas, biasanya
tidak diketahui. Oleh karena itu, digunakan suatu cara untuk mengestimasi
kerapatan probabilitas dengan berdasarkan pada jendela Parzen, yang dirumuskan
sebagai:
∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛=
n
i
ixxDK
nxf
1
),(1)(σ
(2.2)
dengan n : jumlah sampel
σ : faktor penyekala
⎟⎟⎠
⎞⎜⎜⎝
⎛σ
),( ixxDK : fungsi kernel dengan D(x,xi) adalah fungsi jarak
antara vektor masukan x dan sampel xi.
Fungsi kernel di atas, pada dasarnya bertujuan untuk menghitung nilai
kemiripan antara masukan dengan sampel yang ada. Nilai kemiripan ini akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
makin tinggi bila masukannya makin mirip dengan sampel yang ada dan
sebaliknya, makin rendah bila masukannya makin tidak mirip dengan sampel yang
ada.
Bentuk fungsi kernel di atas dapat beragam, namun fungsi tersebut harus
memenuhi kriteria-kriteria sebagaimana ditulis oleh Masters (1995) sebagai
berikut.
1. Fungsi kernel harus berhingga:
∞<ϕϕϕ
dK |)(|sup (2.3)
2. Fungsi kernel harus dengan cepat menuju nol bila argumennya
meningkat dalam nilai absolutnya:
∞<∫∞
∞−
ϕϕ dK )(
0)(lim =∞→
ϕϕϕ
K (2.4)
3. Fungsi kernel harus dinormalisasi, bila yang akan diestimasi adalah
fungsi kerapatan:
1)( =∫∞
∞−
ϕϕ dK (2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
4. Untuk mendapatkan kelakuan asimtotik yang tepat, jendela (faktor
penyekala) harus menyempit bila jumlah sampelnya meningkat:
0lim =∞→
nn
σ
∞=∞→
nn
nσlim (2.6)
Salah satu contoh fungsi kernel yang memenuhi empat kriteria di atas
adalah fungsi Gaussian, yang diperlihatkan pada persamaan:
2)( ϕϕ −= eK (2.7)
Dalam fungsi kernel di atas, tercakup adanya fungsi jarak. Fungsi jarak
tersebut merupakan fungsi untuk menghitung jarak antara dua buah vektor.
Terdapat banyak macam fungsi jarak yang dapat dipergunakan untuk keperluan
tersebut (Wilson et al, 1997). Salah satu macam fungsi jarak tersebut adalah
fungsi jarak Minkowsky yang diperlihatkan pada persamaan:
rn
i
r
ii yxyxD/1
1),( ⎟
⎟⎠
⎞⎜⎜⎝
⎛−= ∑
= (2.8)
dengan r adalah bilangan bulat (1,2, …), yang merupakan orde fungsi jarak
tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.2.4 Optimasi faktor penyekala
Besar nilai faktor penyekala pada persamaan (2.2), dicari dengan melalui
proses optimasi yang memperhatikan hal-hal sebagai berikut.
1. Bila masukan x diketahui merupakan sampel kelas ω, maka diharapkan nilai
f(x) yang maksimum. Nilai yang maksimum ini dapat terjadi bila keadaan
kandungan derau pada masukan x tersebut adalah 0 %.
2. Bila masukan x diketahui bukan merupakan sampel kelas ω, maka diharapkan
nilai f(x) yang minimum. Nilai yang minimum ini dapat terjadi bila keadaan
kandungan derau pada masukan x tersebut adalah 50 % 1)
Berdasarkan hal-hal di atas proses optimasi yang memaksimumkan nilai
f(x) pada kandungan derau 0 %, dapat ditulis sebagai:
( )%01 |)(maks)( == derauxfg σ (2.9)
Karena nilai f(x)|derau=0% di atas selalu lebih kecil dari 1, maka persamaan (2.9) di
atas dapat ditulis dalam bentuk minimisasi fungsi:
( )%01 |)(1min)( =−= derauxfg σ (2.10)
1) Dalam hal ini, dipilih derau 50 %, karena dengan derau setinggi itu, citra masukannya benar-
benar sangat tidak mirip dengan citra yang disimpan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Selanjutnya, proses optimasi untuk meminimumkan f(x) pada kandungan derau
50 % adalah:
( )%502 |)(min)( == derauxfg σ (2.11)
Akhirnya, proses optimasi keseluruhannya adalah minimisasi gabungan
persamaan (2.10) dan (2.11):
)()()( 21 σσσ ggg += (2.12)
( ){ }%50%0
)()(1min)(==
+−=derauderau
xfxfg σ (2.13)
Dalam penelitian ini, proses minimisasi pada fungsi g(σ) di atas dilakukan
dengan menggunakan pencarian kuadratis (Buchanan dkk., 1992), yang
algoritmanya ditulis sebagai berikut.
Algoritma 2.1 Pencarian Kuadratis
Masukan Tetapkan batas minimum σ 0 dan batas maksimum σ 2 untuk fungsi g.
Tetapkan toleransi ε
Hitung 2
201
σσσ
+= dan h = σ 1 - σ 0
Kalang Ulangi jika g(σ 0) < g(σ 1), maka (geser kiri) σ 2 = σ 1 ; σ 1 = σ 0 ; σ 0 = σ 1 - h jika g(σ 2) < g(σ 1), maka (geser kanan) σ 0 = σ 1 ; σ 1 = σ 2 ; σ 2 = σ 1 + h
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
)]()(.2)(.[2
)]()(.[
210
201
*
σσσσσ
σσggg
ggh+−
−+=
jika g(σ *) < g(σ 1), maka σ 1 = σ *
2hh = ; σ 0 = σ 1 – h ; σ 2 = σ 1 + h
hingga h < ε Keluaran Minimum fungsi g pada σ 1 dengan galat lebih kecil dari h.
2.3 Hipotesis
Model jaringan syaraf tiruan untuk pengenalan huruf yang dirancang,
mempunyai 26 macam kelas, yaitu dari A hingga Z. Setiap kelas mempunyai
sejumlah sampel dari 1 hingga n.
Masukan huruf berderau yang telah diubah menjadi vektor, selanjutnya
dihitung kerapatan probabilitasnya untuk setiap kelas, dengan menggunakan
jendela Parzen. Penghitungan dengan jendela Parzen ini pada dasarnya dilakukan
dalam dua tahap berikut.
1. Tahap pertama, penghitungan nilai kemiripan masukan setiap sampel di setiap
kelas. Penghitungan nilai kemiripan ini dilakukan dengan menggunakan
fungsi kernel yang telah ditentukan sebelumnya.
2. Tahap kedua, penjumlahan ternormalisasi nilai-nilai kemiripan yang terdapat
di setiap kelas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Dengan berdasarkan pada aturan klasifikasi Bayes, maka keluaran jaringan
syaraf tiruan adalah kelas yang mempunyai nilai kerapatan probabilitas terbesar 2).
2.4 Langkah Penelitian
Penelitian dilakukan dengan melalui tahap-tahap sebagai berikut.
1. Perancangan sistem pengenalan citra huruf berderau secara keseluruhan.
2. Perancangan model jaringan syaraf tiruan, dengan berdasarkan pada jaringan
syaraf probabilistis.
3. Pengimplementasian model jaringan syaraf tiruan dalam bentuk program,
dengan menggunakan MATLAB.
4. Pengimplementasian sistem pengenalan citra huruf berderau secara
keseluruhan dalam bentuk program, dengan menggunakan MATLAB.
5. Pengujian watak dan unjukkerja sistem pengenalan citra huruf berderau secara
keseluruhan.
6. Analisis hasil pengujian.
7. Pembuatan laporan penelitian.
2) Hal ini berlaku bila jumlah sampel dan risiko pemilihan untuk setiap kelas, sama besarnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 3 CARA PENELITIAN
Penelitian dilakukan dengan cara merancang sistem pengenalan citra huruf
berderau, yang masukan dan keluarannya berupa citra dengan format bitmap.
Implementasi sistem dituliskan dalam bentuk program dengan menggunakan
MATLAB.
3.1 Bahan Penelitian
Bahan yang dipakai untuk menjalankan penelitian ini berupa citra huruf
dengan spesifikasi sebagai berikut.
1. Format citra : Bitmap
2. Ukuran citra : 32x32 piksel
3. Huruf : A hingga Z
4. Jenis huruf : Roman dan Arial
Dalam penelitian ini, citra huruf dengan spesifikasi di atas dibuat dengan
menggunakan program PAINT yang terdapat dalam sistem operasi WINDOWS
95. Hasil pembuatan citra huruf tersebut tersebut, secara visual diperlihatkan
dalam Gambar 3.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
(a) Jenis huruf Roman
(b) Jenis huruf Arial
Gambar 3.1 Dua macam jenis huruf: Roman dan Arial.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.2 Alat Penelitian
Alat yang dipakai untuk menjalankan penelitian ini dibedakan menjadi dua
macam sebagai berikut.
1. Perangkat-keras: Komputer berbasiskan mikroprosesor AMD5X86/133MHz
dengan memori 16 MB, harddisk 850 MB, monitor VGA dan pencetak.
2. Perangkat-lunak: MATLAB versi 5.0 yang dilengkapi dengan Image
Processing Toolbox.
3.3 Jalan Penelitian
Jalannya penelitian yang dilakukan diuraikan seperti berikut.
3.3.1 Perancangan keseluruhan sistem
Keseluruhan sistem pengenalan citra huruf berderau yang dirancang
diperlihatkan secara blok pada Gambar 3.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Citra masukan
Deformasi citra
Sumber derau
Klasifikasi dengan jaringan syaraf tiruan
Citra keluaran
Asosiasi citra
Vektorisasi citra
Gambar 3.2 Sistem pengenalan citra huruf berderau.
Pada Gambar 3.2 di atas, citra masukan berupa citra huruf ukuran 32x32
piksel dengan format bitmap. Sebelum dikontaminasi dengan derau, citra huruf ini
sebelumnya dideformasi dahulu dalam hal proporsi, perputaran, dan pergeseran.
Selanjutnya, dilakukan vektorisasi citra, yaitu mengubah citra 32x32 piksel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
menjadi suatu vektor dengan 1024 elemen. Hal ini dilakukan karena komputasi
data dalam bentuk vektor lebih cepat daripada komputasi data dalam bentuk
matriks bujursangkar.
Vektor dengan 1024 elemen, merupakan informasi masukan bagi jaringan
syaraf tiruan. Dengan informasi ini, jaringan syaraf tiruan mengenali informasi
huruf yang ada dalam vektor tersebut. Hasil pengenalan jaringan syaraf tiruan
berupa informasi nomor huruf dari 1 hingga 26, yang merupakan urutan nomor
alfabet dari A hingga Z. Untuk mendapatkan keluaran sistem yang berupa citra,
selanjutnya dilakukan asosiasi citra terhadap keluaran dari jaringan syaraf tiruan.
3.3.2 Perancangan jaringan syaraf tiruan
Arsitektur jaringan syaraf yang dirancang, pada dasarnya bersumber pada
jaringan syaraf probabilistis yang dikenalkan oleh Donald Specht. Akan tetapi,
dalam penelitian ini dilakukan modifikasi dalam fungsi kernelnya, untuk
mendapatkan komputasi yang lebih cepat. Untuk lebih jelasnya, arsitektur
jaringan syaraf tiruan ini diperlihatkan dalam Gambar 3.3 sebagai berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
y
…
…
…
fA fZ
ωA1 ωAn ωZ1
wA1 1 wZn 1024
… …
maks
ωZn
Lapis maksimum
Lapis penjumlahan
Lapis pola
σ x1 x2 x1024
Gambar 3.3 Jaringan syaraf probabilistis.
Jaringan syaraf probabilistis pada Gambar 3.2 di atas, pada dasarnya
mempunyai 3 lapis, yaitu lapis pola, lapis penjumlahan, dan lapis maksimum.
Berikut ini penjelasan untuk setiap lapis jaringan syaraf tiruan di atas.
1. Lapis pola terdiri atas 26 kelas dari ωA hingga ωZ. Setiap kelas mempunyai
sampel dari 1 hingga n. Oleh karena itu dalam lapis ini akan ada 26xn elemen
pemroses. Setiap elemen pemroses berfungsi untuk mencari besar nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
kemiripan masukan terhadap sampel di setiap kelas, dengan menggunakan
fungsi kernel yang telah ditentukan sebelumnya.
2. Lapis penjumlahan terdiri atas 26 elemen pemroses. Setiap elemen pemroses
pada lapis ini berfungsi untuk melakukan penjumlahan ternormalisasi atas
nilai-nilai kemiripan di setiap kelas. Hasil penjumlahan ternormalisasi ini
adalah nilai fungsi kerapatan probabilitas kelas.
3. Lapis maksimum hanya terdiri atas satu elemen pemroses. Keluaran dari
lapis ini berupa nomor kelas yang nilai fungsi kerapatan probabilitas kelasnya
tertinggi.
3.3.2.1 Pelatihan
Pelatihan jaringan syaraf probabilistis pada dasarnya hanya terdiri atas dua
tahap pengkonstruksian lapis pola sebagai berikut.
1. Tahap pertama: pembentukan elemen pemroses dan penyimpanan bobotnya.
2. Tahap kedua: pencarian nilai faktor penyekala σ yang merupakan nilai
prasikap pada lapis pola.
Dua lapis yang lain yaitu lapis penjumlahan dan lapis maksimum tidak mengalami
perubahan. Algoritma untuk pengkonstruksian lapis pola di atas diperlihatkan di
bawah ini.
Algoritma 3.1 Pelatihan jaringan syaraf tiruan
Langkah 1. Pelatihan tahap pertama:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Untuk setiap pola masukan x(p) (p=1 … 1024) yang telah
ditentukan kelas polanya ωi, (i=A, B, C,…,Y, atau Z) lakukan
Langkah 2-3.
Langkah 2. Konstruksi kelas pola ωi
Vektor bobot masukan kelas i, untuk sampel ke j (j =1 … n) :
wij_p = x(p) (3.1)
Langkah 3. Sambungkan keluaran pemrosesan pada kelas pola ωi ke lapis
penjumlahan di fi.
Langkah 4. Pelatihan tahap kedua:
Untuk pelatihan tahap kedua ini, lakukan Langkah 5-6.
Langkah 5. Cari besar nilai faktor penyekala optimum σopt dengan melalukan
operasi minimisasi:
( )
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=∑∑= =
n
gi
n
jij
opt 26min
26
1 1σ
σ (3.2)
dengan
( )%50%0
)()(1)(==
+−=deraujideraujiij xfxfg σ (3.3)
dan
( )n
exf
n
i
xx
ji
ij
∑=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛ −−
= 1
2
σ
(3.4)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
adalah nilai kerapatan probabilitas kelas i terhadap masukan xj,
yang merupakan salah satu anggota kelas tersebut.
Gunakan Algoritma 2.1 (Algoritma pencarian kuadratis pada
halaman 12) untuk operasi minimisasi fungsi gij(σ) di atas.
Langkah 6. Sambungkan nilai σopt yang didapat, ke setiap elemen pemroses
yang terdapat pada lapis pola.
3.3.2.2 Implementasi komputasi
Implementasi komputasi jaringan syaraf tiruan adalah berupa langkah-
langkah komputasi yang dilakukan jaringan bila menerima pola masukan.
Langkah-langkah ini dijelaskan dengan algoritma sebagai berikut.
Algoritma 3.2 Implementasi komputasi jaringan syaraf tiruan
Langkah O. Inisialisasi bobot w dan faktor penyekala σ dari hasil pelatihan.
Langkah 1. Untuk setiap pola masukan yang akan diklasifikasi, kerjakan
Langkah 2-4.
Langkah 2. Lapis pola:
Untuk setiap sampel j (j=1 … n) dari kelas i (i = A … Z):
hitung masukan jaringan dengan rumus jarak Minkowsky orde-1
yang ternormalisasi (lihat persamaan (2.8)):
m
wxD
m
kkijk
ij
∑=
−
= 1_
(3.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
dengan m adalah jumlah elemen vektor x atau wij.
Karena masukan jaringan dan bobotnya berupa bilangan biner,
maka komputasi ∑=
−m
kkijk wx
1_ dalam MATLAB dapat dilakukan
lebih cepat, dengan menggunakan hal-hal sebagai berikut.
1. Tipe data 1 byte pada xk dan wij_k, sebagai pengganti tipe data
default 8 byte.
2. Operasi logika (xk xor wij_k), sebagai pengganti operasi
aritmatika kijk wx _− .
3. Operasi pencarian banyaknya elemen tidak nol pada vektor
hasil operasi (xk xor wij_k), sebagai pengganti operasi
penjumlahan elemen vektor.
Hitung keluaran lapis ini dengan fungsi kernel Gaussian:
2
⎟⎟⎠
⎞⎜⎜⎝
⎛−
= σijD
ij eK (3.6)
Langkah 3. Lapis penjumlahan:
hitung penjumlahan ternormalisasi untuk setiap kelas i (i = A… Z).
n
K
f
n
jij
i
∑== 1 (3.7)
dengan n adalah jumlah sampel di setiap kelas.
Langkah 4. Lapis maksimum:
hitung keluaran jaringan sebagai:
)max( ify = (3.8)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.3.3 Pelatihan dan pengujian jaringan syaraf tiruan
Pelatihan jaringan syaraf tiruan dilakukan dengan melatihkan pola huruf
dalam bentuk vektor. Pola huruf ini terdiri atas huruf A hingga Z, dengan dua
macam jenis huruf, yaitu Roman dan Arial untuk setiap hurufnya, sebagaimana
yang diperlihatkan pada Gambar 3.1.
Dengan adanya pelatihan, maka pada lapis pola akan terdapat sejumlah 52
elemen pemroses, yang terdiri atas 26 kelas elemen pemroses dengan 2 sampel
tiap kelasnya. Selain adanya pengkonstruksian elemen-elemen pemroses pada
lapis pola, pelatihan juga akan memberikan nilai faktor penyekala, yang
merupakan salah satu variabel elemen pemroses pada lapis pola.
Setelah pelatihan selesai, selanjutnya dilakukan pengujian pengenalan
jaringan. Untuk itu, jaringan dimasuki citra-citra huruf secara beruntun dari A
hingga Z yang terdiri atas dua jenis huruf yaitu Roman dan Arial. Bila semua citra
huruf tersebut kemudian dapat dikenali, maka berarti jaringannya telah terlatih.
3.3.4 Implementasi keseluruhan sistem
Sistem pengenalan citra huruf berderau yang telah dirancang di atas,
selanjutnya diimplementasikan dalam bentuk program MATLAB. Dalam
implementasi ini, terdapat dua macam basis implementasi program sebagai
berikut.
1. Implementasi berbasiskan teks, yang bertujuan untuk memperlihatkan unjuk-
kerja sistem dalam hal tingkat pengenalan, serta lama waktu pelatihan dan
pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
2. Implementasi berbasiskan GUI (Graphical User Interface), yang bertujuan
untuk memvisualisasikan sistem pengenalan citra berderau ini.
Dua macam basis implementasi program di atas dan contoh hasil eksekusinya,
diperlihatkan pada lampiran L2 dan L3.
3.3.5 Pengujian keseluruhan sistem
Pengujian sistem pengenalan citra huruf berderau secara keseluruhan,
dilakukan dengan melakukan pengujian-pengujian sebagai berikut.
1. Pengujian mayor, merupakan pengujian utama tingkat pengenalan jaringan,
bila citra huruf masukannya berderau.
2. Pengujian minor, merupakan pengujian tambahan tingkat pengenalan jaringan,
bila citra huruf masukannya mengalami deformasi proporsi, perputaran dan
pergeseran.
3. Pengujian gabungan, merupakan gabungan pengujian mayor dan minor di
atas, untuk menguji tingkat pengenalan jaringan bila citra huruf masukannya
selain berderau juga mengalami deformasi proporsi, pergeseran, dan
perputaran.
4. Pengujian lama waktu pelatihan dan pengenalan.
5. Pengujian pengaruh derau dan faktor penyekala.
6. Pengujian pengaruh derau dan bentuk huruf.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.3.6 Pengambilan data hasil pengujian
Pengambilan data hasil pengujian pada pengujian mayor, pengujian minor,
pengujian gabungan dan pengujian pengaruh derau dan faktor penyekala,
dilakukan dengan cara mengambil data tingkat pengenalan, terhadap jaringan
yang diberi masukan beragam 300 huruf secara sekuensial, pada keadaan tingkat
derau yang beragam. Ketigaratus huruf yang dimasukkan ini, tersusun secara acak
baik urutannya (A hingga Z) maupun jenisnya (Roman atau Arial).
Hasil pengujian pengaruh derau dan bentuk huruf diperoleh dengan
mengambil data tingkat pengenalan jaringan, bila jaringan tersebut diberi
masukan seragam 300 huruf secara sekuensial, pada keadaan tingkat derau yang
beragam. Jenis huruf Arial digunakan dalam pengujian ini.
Pada pengujian terhadap lama waktu pelatihan, pengambilan datanya
dilakukan dengan mengambil data lama waktu yang diperlukan jaringan syaraf
tiruan untuk dilatih dengan menggunakan 26 kelas pola, dengan dua sampel di
setiap kelas polanya. Sedangkan pengujian terhadap lama waktu pengujian
dilakukan dengan mengambil data lama waktu yang diperlukan oleh jaringan
syaraf tiruan, untuk mengenali setiap pola yang diberikan kepadanya.
3.3.7 Analisis hasil pengujian
Pengujian yang dilakukan di atas, pada dasarnya hendak menyelidiki
empat macam watak jaringan. Watak yang pertama adalah, tingkat pengenalan
jaringan bila citra masukannya beragam dan mempunyai tiga macam bentuk
gangguan yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
1. Tingkat derau yang beragam.
2. Tingkat deformasi proporsi, pergeseran, dan perputaran yang beragam.
3. Tingkat derau serta deformasi proporsi, pergeseran, dan perputaran yang
beragam.
Watak yang kedua adalah, lama waktu yang diperlukan jaringan untuk melakukan
eksekusi sebagai berikut:
1. Pelatihan dengan 26 kelas pola dengan 2 sampel di setiap kelasnya.
2. Pengenalan terhadap setiap citra masukan.
Watak yang ketiga adalah, tingkat pengenalan jaringan serta rerata kerapatan
probabilitas pada keadaan faktor penyekala dan derau yang beragam.
Akhirnya watak yang keempat adalah, tingkat pengenalan jaringan bila citra huruf
masukannya seragam dan mempunyai tingkat derau yang beragam.
3.4 Variabel yang diamati
Variabel yang diamati pada penelitian ini adalah sebagai berikut:
1. Tingkat pengenalan jaringan bila citra masukannya beragam dan mempunyai
tingkat derau yang beragam pula.
2. Tingkat pengenalan jaringan bila citra masukannya beragam dan mengalami
deformasi proporsi, perputaran dan pergeseran.
3. Tingkat pengenalan jaringan bila citra masukannya beragam, berderau dan
juga mengalami deformasi proporsi, pergeseran, dan perputaran.
4. Lama waktu pelatihan dan pengenalan jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
5. Tingkat pengenalan dan rerata kerapatan probabilitas, pada keadaan faktor
penyekala dan derau yang beragam.
6. Tingkat pengenalan jaringan bila citra masukannya seragam dan mempunyai
tingkat derau yang beragam.
3.5 Kesulitan-kesulitan
Kesulitan-kesulitan yang muncul selama penelitian ini terutama terjadi
pada saat pengujian keseluruhan sistem. Jaringan syaraf probabilistis yang
digunakan dalam penelitian ini mempunyai ciri beban komputasi yang tinggi,
akibat adanya pelatihan prinsipnya adalah menyimpan semua data pelatihan. Oleh
karena itu, jika tidak terdapat komputer yang berkecepatan tinggi, komputer yang
berkecepatan rendah akan memerlukan waktu pengujian yang panjang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 4 HASIL PENELITIAN
4.1 Hasil Penelitian
4.1.1 Pengujian mayor terhadap citra masukan yang berderau
Pengujian mayor jaringan syaraf tiruan yang diteliti, dilakukan terhadap
masukan citra huruf berderau. Contoh citra huruf berderau untuk pengujian
mayor ini diperlihatkan pada Gambar 4.1.
Hasil pengujian mayor jaringan syaraf tiruan untuk keadaan derau yang
bertingkat dari 0 % hingga 50 % terhadap tingkat pengenalan, diperlihatkan pada
Gambar 4.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
a b c
d e f
g h i
j k l
Gambar 4.1 Contoh citra huruf berderau; (a) dan (g) citra asli; (b) dan (h) berderau 5 %; (c) dan (i) berderau 15%; (d) dan (j) berderau 25%; (e) dan (k) berderau 30%; (f) dan (l) berderau 35%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
100 100 100 100 99.3 99 95.7
76
34.7
4.3
0102030405060708090
100
5 10 15 20 25 30 35 40 45 50
Tingkat derau (%)
Ting
kat p
enge
nala
n (%
)
Gambar 4.2 Grafik pengaruh derau terhadap tingkat pengenalan untuk citra huruf masukan yang beragam.
4.1.2 Pengujian minor terhadap citra masukan yang mengalami deformasi
proporsi, pergeseran, dan perputaran
4.1.2.1 Pengujian terhadap citra yang mengalami deformasi proporsi
Pada pengujian minor jaringan terhadap citra masukan yang mengalami
deformasi proporsi, contoh citranya diperlihatkan pada Gambar 4.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
a b c
d e f
Gambar 4.3 Contoh citra yang mengalami deformasi proporsi, dengan (a) dan (d) citra asli, (b) dan (e) kurus, (c) dan (f) gemuk.
Hasil pengujian minor terhadap citra yang mengalami deformasi proporsi
di atas, diperlihatkan pada Tabel 4.1.
Tabel 4.1. Pengaruh deformasi proporsi terhadap tingkat pengenalan.
Proporsi Kurus Normal Gemuk
Tingkat pengenalan (%) 76,7 100 85,0
4.1.2.2 Pengujian terhadap citra yang mengalami deformasi pergeseran
Contoh citra yang dipergunakan untuk pengujian minor terhadap citra
yang mengalami deformasi pergeseran diperlihatkan pada Gambar 4.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
a b c
d e f
Gambar 4.4 Contoh citra yang mengalami deformasi pergeseran, dengan (a) dan (d) citra asli, (b) tergeser ke kiri satu piksel, (c) tergeser ke kanan 2 piksel, (e) tergeser ke atas dua piksel dan (f) tergeser ke bawah tiga piksel.
Hasil pengujian minor untuk menyelidiki pengaruh deformasi pergeseran
terhadap tingkat pengenalan diperlihatkan pada Tabel 4.2.
Tabel 4.2 Pengaruh deformasi pergeseran terhadap tingkat pengenalan.
Jarak geser (piksel) 0 1 2 3
kiri 100 80,3 40,0 6,3
kanan 100 79,3 22,0 5,3
atas 100 82,0 71,0 41,4
Tingkat pengenalan pada arah geser ke … (%)
bawah 100 90,3 76,0 40,0
4.1.2.3 Pengujian terhadap citra yang mengalami deformasi perputaran
Citra masukan yang mengalami deformasi perputaran, yang dipergunakan
dalam penelitian ini diperlihatkan contohnya pada Gambar 4.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
a b c
d e f
Gambar 4.5 Contoh citra yang mengalami deformasi perputaran, dengan (a) dan (d) citra asli, (b) dan (e) terputar -5 o , (c) dan (f) terputar 5 o.
Hasil pengujian jaringan untuk pengaruh deformasi perputaran terhadap
tingkat pengenalan, diperlihatkan pada Tabel 4.3.
Tabel 4.3 Pengaruh deformasi perputaran terhadap tingkat pengenalan.
Perputaran ( … o) -15 -10 -5 0 5 10 15
Tingkat pengenalan (%)
76,7 93,0 100 100 96,7 91,3 76,0
4.1.3 Pengujian gabungan terhadap citra masukan yang berderau dan
mengalami deformasi proporsi, pergeseran dan perputaran
Pengujian gabungan, merupakan gabungan dari pengujian mayor dengan
pengujian minor. Contoh citra yang dipergunakan untuk pengujian gabungan ini
diperlihatkan pada Gambar 4.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
a b c
d e f
Gambar 4.6. Contoh citra berderau yang mengalami deformasi proporsi, pergeseran dan perputaran; (a) dan (d) citra asli; (b) dan (e) berderau 10 %, kurus, tergeser ke kiri satu piksel dan terputar 5 o ; (c) dan (f) berderau 10 %, gemuk, tergeser ke kanan satu piksel dan terputar -5 o.
Hasil pengujian pengaruh derau terhadap tingkat pengenalan jaringan,
pada citra yang mengalami deformasi proporsi, pergeseran, dan perputaran
diperlihatkan pada Tabel 4.4.
Tabel 4.4 Pengaruh derau terhadap tingkat pengenalan, pada citra yang mengalami deformasi proporsi, pergeseran, dan perputaran.
Derau (%) 0 5 10 15 20 25 30 35 40 45 50
Tingkat pengenalan pada citra huruf yang kurus, tergeser ke kiri satu piksel dan terputar 5o (%)
52,3
51,7
51,0
50,0
48,7
45,7
43,7
34,3
21,0
12,7
4,0
Tingkat pengenalan pada citra huruf yang gemuk, tergeser ke kanan satu piksel dan terputar -5o (%)
82,0
81,7
81,0
80,0
76,7
75,3
72,0
58,0
39,0
16,7
4,3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
4.1.4 Panjang waktu pelatihan dan pengenalan
Panjang waktu pelatihan dan pengenalan jaringan yang terkonstruksi atas
26 kelas pola, dengan dua sampel di setiap kelasnya, diperlihatkan pada Tabel 4.5.
Tabel 4.5 Panjang waktu pelatihan dan pengenalan, pada jaringan yang
terkonstruksi atas 26 kelas pola, dengan dua sampel di setiap kelasnya.
Panjang waktu (detik)
Tahap I 4,6 Pelatihan
Tahap II 161,4
Pengenalan/huruf 0,7
4.1.5 Pengujian pengaruh derau dan faktor penyekala
Pengaruh derau dan faktor penyekala (σ) pada jaringan syaraf tiruan
terhadap tingkat pengenalan dan kerapatan probabilitas, diperlihatkan pada Tabel
4.6 dan 4.7.
Tabel 4.6 Tingkat pengenalan jaringan (%) pada keadaan σ dan derau
yang beragam.
Derau ( % )
σ = 0,01 σ = 0,24 (optimum)
σ = 100
0 100 100 100 50 3,7 4,3 4
Tabel 4.7 Rerata kerapatan probabilitas pada keadaan σ dan derau yang beragam.
Derau ( % )
σ = 0,01 σ = 0,24
(optimum) σ = 100
0 0,502 0,933 1,000 50 0,000 0,018 0,999
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
4.1.6 Pengujian pengaruh derau dan bentuk huruf
Pengaruh derau dan bentuk huruf (‘A’, ‘B’, ‘C’, …, ‘Z‘) terhadap tingkat
pengenalan, diperlihatkan pada Tabel 4.7.
Tabel 4.7 Tingkat pengenalan jaringan untuk citra huruf masukan yang seragam, pada keadaan tingkat derau 40%.
(a) Urut huruf. (b) Urut tingkat pengenalan.
Huruf Tingkat pengenalan
(%)
Huruf Tingkat pengenalan
(%) A 88,7 B 62,0 B 62,0 D 64,7 C 65,0 C 65,0 D 64,7 U 65,3 E 73,0 N 72,0 F 84,0 E 73,0 G 76,3 T 73,7 H 86,0 X 75,7 I 86,0 G 76,3 J 87,0 Q 79,3 K 80,0 P 79,7 L 83,0 K 80,0 M 88,3 R 81,7 N 72,0 V 81,7 O 86,0 L 83,0 P 79,7 F 84,0 Q 79,3 Z 84,0 R 81,7 S 84,7 S 84,7 Y 84,7 T 73,7 H 86,0 U 65,3 I 86,0 V 81,7 O 86,0 W 96,7 J 87,0 X 75,7 M 88,3 Y 84,7 A 88,7 Z 84,0 W 96,7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Dengan mengacu pada Tabel 4.7(b), dipilih huruf-huruf ‘B’, ‘X’, ‘Z’, dan
‘W’ dengan berdasarkan pada peringkat tingkat pengenalannya, yaitu dari
peringkat terbawah hingga peringkat teratas. Pengujian lebih lanjut keempat huruf
ini diperlihatkan hasilnya pada Gambar 4.7.
0
20
40
60
80
100
Tingkat derau (%)
Ting
kat p
enge
nala
n (%
)
Huruf 'B' 100 100 100 100 99.7 98.7 91.3 62 23.7 3
Huruf 'X' 100 100 100 100 100 100 96.3 75.7 33 3
Huruf 'Z' 100 100 100 100 100 100 98 84 39.7 4.3
Huruf 'W' 100 100 100 100 100 100 100 96.7 61 9.7
5 10 15 20 25 30 35 40 45 50
Gambar 4.7. Grafik pengaruh derau yang bertingkat terhadap tingkat
pengenalan untuk bentuk huruf ‘B’,’X’,’Z’,dan ‘W’.
4.2 Pembahasan
4.2.1 Pengaruh derau terhadap tingkat pengenalan
Hasil pengujian pada Gambar 4.1 memperlihatkan bahwa pada keadaan
derau yang mencapai 20% jaringan syaraf masih dapat mengenali semua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
masukannya. Pada keadaan derau antara 20 % hingga 35 %, jaringan syaraf
mengalami kemerosotan tingkat pengenalan yang kecil, yaitu kurang dari 5 %.
Selanjutnya pada keadaan antara 35 % hingga 50 %, kemerosotan tingkat
pengenalannya menjadi sangat besar, yaitu hingga mencapai 93 %.
Berdasarkan uraian di atas, dapat dikatakan bahwa jaringan syaraf yang
diteliti tidak begitu terpengaruh (tidak sensitif) terhadap derau, pada keadaan
tingkat derau dari 0 % hingga 35 %. Hal ini diindikasikan dengan adanya
kesalahan tingkat pengenalan yang kurang dari 5 %.
4.2.2 Pengaruh deformasi proporsi, pergeseran dan perputaran terhadap
tingkat pengenalan
Pengaruh deformasi proporsi pada citra masukan diperlihatkan pada Tabel
4.2. Pada tabel tersebut diperlihatkan bahwa proporsi huruf yang kurus maupun
gemuk sangat mempengaruhi tingkat pengenalan jaringan. Proporsi huruf yang
kurus mempunyai tingkat pengenalan yang lebih rendah sekitar 10 % dari pada
yang gemuk.
Tabel 4.3 memperlihatkan pengaruh pergeseran terhadap tingkat
pengenalan jaringan. Pada tabel tersebut terlihat bahwa tingkat pengenalan
jaringan syaraf sangat terpengaruh walaupun pergeserannya hanya sejauh satu
piksel. Selain itu terlihat juga bahwa pergeseran ke bawah dan ke atas lebih bisa
diterima oleh jaringan syaraf daripada pergeseran yang ke kiri dan ke kanan.
Pengaruh perputaran terhadap tingkat pengenalan yang diperlihatkan pada
Tabel 4.4 mengindikasikan bahwa, untuk perputaran hingga sekitar +/- 5o, tingkat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
pengenalan jaringan syaraf masih tidak begitu terpengaruh, karena kesalahan
tingkat pengenalan kurang dari 5 %. Akan tetapi, jika perputarannya makin lebih
besar dari 5o, tingkat pengenalan jaringan syarafnya makin terpengaruh oleh
perputaran tersebut.
Dengan menggunakan perkataan yang lebih umum, Tabel 4.2 hingga 4.4
memperlihatkan bahwa jaringan syaraf yang diteliti sangat terpengaruh (sensitif)
terhadap proporsi, pergeseran dan perputaran yang dialami masukannya.
4.2.3 Pengaruh derau serta deformasi proporsi, pergeseran, dan perpu-
taran terhadap tingkat pengenalan
Pengujian gabungan untuk menyelidiki pengaruh derau serta deformasi
proporsi, pergeseran, dan perputaran yang diperlihatkan pada Tabel 4.5,
mengindikasikan bahwa kemerosotan tingkat pengenalan jaringan dari tingkat
derau 0 % hingga 20 % masih relatif kecil, yaitu kurang dari 5 %. Bila hal ini
dibandingkan dengan tingkat pengenalan jaringan pada citra yang tanpa
mengalami penyekalaan, pergeseran dan perputaran pada Tabel 4.1, maka
kemerosotan tingkat pengenalan jaringan yang kurang dari 5 % ini berkurang
rentangnya sebanyak 15 %.
Dari uraian di atas, dapat diindikasikan pula bahwa ketidaksensitifan
jaringan terhadap derau pada rentang tingkat derau tertentu masih nampak.
Namun, akibat pengaruh deformasi proporsi, perputaran dan pergeseran ini,
ketidaksensitifan jaringan pada rentang derau tertentu berkurang sebanyak 15 %.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
4.2.4 Panjang waktu pelatihan dan pengenalan
Panjang waktu pelatihan dan pengujian, selain ditentukan oleh konfigurasi
jaringan syaraf pada lapis pola yang menyimpan sampel-sampel pola, juga
ditentukan oleh konfigurasi komputer yang digunakan. Pada Tabel 4.5,
konfigurasi jaringan syaraf yang lapis polanya terdiri atas 26 kelas, dengan dua
sampel di setiap kelasnya, serta menggunakan komputer yang konfigurasinya
berbasiskan prosesor AMD5X86/133MHz, panjang waktu pengujian untuk setiap
citra huruf hanya 0,7 detik. Selain itu, Tabel 4.5 juga memperlihatkan bahwa
dalam hal pelatihan, panjang waktu pelatihan tahap I paling pendek, karena pada
tahap tersebut hanya berlangsung proses penyimpanan semua citra yang dilatihkan
dalam bentuk vektor pada lapis pola, sedangkan pelatihan tahap II lebih lama,
pada tahap ini berlangsung proses iterasi untuk mencari nilai faktor penyekala
yang optimum.
4.2.6 Pengaruh derau dan faktor penyekala
Derau dan faktor penyekala menurut Tabel 4.6(a), terlihat tidak
mempunyai pengaruh yang signifikan terhadap tingkat pengenalan jaringan.
Namun, pada Tabel 4.6(b), derau dan faktor penyekala ini terlihat mempunyai
pengaruh yang signifikan terhadap rerata kerapatan probabilitas. Pada keadaan
derau 0 % hingga 50 %, nilai faktor penyekala yang makin jauh dari nilaa
optimumnya, memberikan rentang rerata kerapatan probabilitas yang makin
sempit. Proses komputasi pada rentang rerata kerapatan probabilitas yang makin
sempit ini, memerlukan bilangan pecahan (floating point) yang makin panjang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Bila bilangan pecahan ini terlalu panjang sampai melebihi yang dapat ditangani
oleh komputernya, hasil penghitungan kerapatan probabilitasnya akan selalu 0
(untuk faktor penyekala yang terlalu kecil) atau selalu 1 (untuk faktor penyekala
yang terlalu besar), pada semua tingkatan derau. Ini berarti, jaringan syaraf sudah
benar-benar tidak dapat mengenali lagi masukannya.
4.2.6 Pengaruh derau dan bentuk huruf
Derau dan bentuk huruf mempunyai pengaruh terhadap tingkat pengenalan
jaringan syaraf tiruan yang diteliti, seperti diperlihatkan pada Tabel 4.7. Sebagai
contoh yang ekstrim, huruf ‘B’ mempunyai tingkat pengenalan sekitar 34% lebih
rendah daripada huruf ‘W’, pada keadaan tingkat derau 40%. Adanya kejadian ini
dikarenakan, huruf ‘B’ jarak huruf yang lebih dekat dengan huruf-huruf yang
lainnya seperti huruf ‘D’, ‘E’, dan ‘R’, pada keadaan tingkat derau 40% tersebut.
Penelitian lebih jauh terhadap pengaruh derau dan bentuk huruf, dilakukan
dengan melakukan pengujian terhadap huruf-huruf terpilih ‘B’, ‘X’, ‘Z’, dan ‘W’,
untuk keadaan derau yang beragam dari 0% hingga 50%. Sebagaimana terlihat
pada Gambar 4.7, huruf ‘B’ mempunyai titik patah (cut-off) tingkat pengenalan
yang terendah, bila dibandingkan dengan huruf-huruf ’X’, ‘Z’ dan ‘W’. Seperti
halnya pada kejadian di atas, hal ini dikarenakan karena huruf ‘B’ mempunyai
jarak huruf yang lebih dekat dengan huruf-huruf yang lainnya bila dibandingkan
dengan huruf-huruf ‘X’, ‘Z’, dan ‘W’.
Dari dua kejadian di atas, dapat dikatakan bahwa jaringan syaraf yang
diteliti sensitif terhadap bentuk huruf pada kondisi derau tinggi. Berdasarkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4.7, sifat sensitif ini mulai nampak pada tingkat derau 35%, yang
diindikasikan dengan adanya perbedaan tingkat pengenalan yang lebih dari 5%,
antara tingkat pengenalan huruf ‘B’ dengan huruf ‘W’.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil penelitian tentang pengenalan citra huruf berderau
dengan jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis, disimpulkan
hal-hal sebagai berikut.
1. Pemrosesan data yang berdasarkan sifat-sifat statistis merupakan dasar
jaringan syaraf tiruan yang diteliti. Sifat-sifat statistis yang digunakan adalah
yang berkaitan dengan distribusi kerapatan probabilitas pola masukan
terhadap pola-pola yang disimpan. Distribusi kerapatan probabilitas ini
dihitung secara non-parametris dengan menggunakan jendela Parzen.
Selanjutnya, distribusi kerapatan probabilitas ini diproses lebih lanjut dengan
berdasarkan pada pengklasifikasi Bayes untuk menghasilkan keluaran
jaringan.
2. Unjukkerja jaringan syaraf tiruan yang diteliti telah memperlihatkan hasil
yang mengagumkan dalam pengenalan citra huruf berderau. Huruf dengan
kandungan tingkat derau hingga 35 %, masih dapat ditangani oleh jaringan,
dengan tingkat kesalahan pengenalan kurang dari 5 %. Hal ini berarti, jaringan
syaraf yang diteliti tidak sensitif terhadap huruf dengan kandungan tingkat
derau hingga 35 %. Bila dibandingkan dengan kemampuan pengenalan oleh
mata manusia, maka jaringan syaraf yang diteliti ini lebih unggul, karena
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
huruf dengan kandungan tingkat derau hingga 35 % sangat sulit dikenali oleh
mata manusia.
3. Adanya deformasi huruf dalam hal proporsi, pergeseran dan perputaran,
mengakibatkan turun dengan drastisnya tingkat pengenalan jaringan. Jaringan
syaraf yang diteliti, memperlihatkan watak pengenalan yang sensitif terhadap
deformasi huruf. Bila dibandingkan dengan mata manusia, maka unjukkerja
jaringan syaraf dalam hal deformasi huruf ini lebih rendah, karena mata
manusia tidak mempunyai watak pengenalan yang sesensitif jaringan syaraf
yang diteliti terhadap deformasi huruf ini.
4. Watak pengenalan jaringan syaraf terhadap huruf berderau yang mengalami
deformasi dalam hal proporsi, pergeseran, dan perputaran masih menunjukkan
adanya ketidaksentitifan jaringan terhadap derau pada rentang tertentu. Namun
rentang ketidaksensitifan ini lebih sempit bila dibandingkan dengan
pengenalan jaringan terhadap huruf yang tidak mengalami deformasi.
5. Pelatihan jaringan syaraf yang diteliti dilakukan dengan dua tahap. Tahap
yang pertama adalah, penyimpanan semua pola pelatihan ke dalam jaringan.
Sedangkan tahap yang kedua adalah, pencarian secara iteratif nilai faktor
penyekalanya yang optimum.
6. Tingkat pengenalan jaringan syaraf tidak memperlihatkan kesensitifan
terhadap perubahan nilai faktor penyekala, yang merupakan salah satu
variabel pada fungsi kernel. Akan tetapi, nilai faktor penyekala yang terlalu
jauh dari optimumnya akan dapat menyebabkan jaringan benar-benar tidak
dapat lagi mengenali masukannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
7. Bentuk huruf (‘A’, ‘B’, ‘C’, …, atau ‘Z’) mempunyai pengaruh terhadap
tingkat pengenalan jaringan pada tingkat derau yang tinggi. Jaringan syaraf
terlihat mulai menampakkan kesensitifan terhadap bentuk huruf ini pada
keadaan tingkat derau 35%.
5.2 Saran
1. Jaringan syaraf tiruan yang digunakan dalam penelitian ini, melakukan
pemrosesan terhadap sejumlah 1024 data masukan, di setiap elemen pemroses
pada lapis pola. Adanya pemrosesan data yang jumlahnya sangat besar ini
berakibat, bila jaringan syaraf tiruan ini diberikan banyak pola pelatihan, maka
jumlah elemen pemrosesnya akan makin banyak. Ini berarti, waktu pelatihan
dan pengujian jaringan akan menjadi makin panjang. Untuk mengatasi hal ini,
penelitian ini dapat dikembangkan lebih lanjut dengan menambahkan suatu
pengolah awal yang akan mengekstraksi ciri-ciri pola, sebelum pola tersebut
masuk ke jaringan. Dengan cara ini, setiap pola dapat diwakili oleh sederetan
nilai koefisien (Chandran et al, 1997). Dengan demikian, akan terjadi
pengurangan yang sangat drastis pada ukuran pola-pola ini, yang akan
menaikkan kecepatan jaringan secara signifikan baik dalam pelatihan maupun
pengujiannya.
2. Bentuk huruf (‘A’, ‘B’, ‘C’, …, atau ‘Z’) yang digunakan dalam penelitian ini,
mempunyai jarak huruf yang beragam antara huruf yang satu dengan lainnya.
Sebagai contoh, huruf ‘B’ mempunyai jarak huruf yang lebih kecil dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
huruf-huruf yang lainnya seperti huruf ‘D’, ‘E’, dan ‘R’, daripada huruf ‘W’.
Hal ini berakibat, pada keadaan tingkat derau yang tinggi (misalnya 40%),
tingkat pengenalan jaringan terhadap huruf ‘B’ lebih rendah daripada huruf
‘W’. Oleh karena itu, tingkat pengenalan jaringan masih dapat ditingkatkan
lagi dengan menggunakan seperangkat huruf masukan yang jarak hurufnya
makin berjauhan antara suatu huruf dengan huruf-huruf lainnya.
3. Secara perangkat-lunak, kecepatan pelatihan dapat ditingkatkan lagi dengan
menggunakan algoritma minimisasi fungsi yang lebih cepat.
4. Secara perangkat-keras, kecepatan pelatihan dan juga pengenalan jaringan
dapat ditingkatkan lagi dengan cara menggunakan komputer yang mempunyai
kecepatan lebih tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB 6 RINGKASAN
Penelitian yang dilakukan dapat diringkas menjadi beberapa topik bahasan
seperti di bawah ini.
6.1 Latar Belakang
Pengenalan citra huruf berderau pernah diselidiki oleh beberapa peneliti.
Penelitian yang terakhir (Watanabe, 1996) menghasilkan suatu jaringan syaraf
tiruan yang mampu mengenali citra huruf berderau ukuran 32x32 piksel dengan
kandungan derau sekitar 20 %.
Dalam penelitian ini, penulis bermaksud untuk menghasilkan sesuatu yang
lebih dari yang pernah ada sebelumnya, yaitu suatu jaringan syaraf tiruan yang
mampu mengenali citra huruf berderau berukuran 32x32 piksel dengan kandungan
derau yang lebih dari 30 %.
6.2 Tinjauan Pustaka
Jaringan syaraf tiruan adalah suatu jaringan yang dimodelkan berdasarkan
ciri organisasi otak manusia, yang mampu melakukan pengolahan secara paralel
dan non-linear, serta mampu pula mengangani informasi-informasi yang
kompleks. Dengan berdasar pada hal tersebut, Donald Specht telah
memperkenalkan suatu jaringan syaraf tiruan yang berdasarkan sifat-sifat statistis
yang dinamakan jaringan syaraf probabilistis. Dalam penelitian ini, jaringan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
syaraf probabilistis inilah yang dikembangkan untuk dapat melakukan pengenalan
terhadap citra huruf berderau.
6.3 Landasan Teori
Jaringan syaraf tiruan yang dikembangkan dalam penelitian ini,
merupakan jaringan syaraf yang memanfaatkan sifat-sifat statistis kelas pola,
dalam melakukan proses klasifikasi. Dalam hal ini proses klasifikasinya
menggunakan pengklasifikasi Bayes. Ada suatu hal yang rumit dalam
pengklasifikasi Bayes ini yaitu, penentuan nilai fungsi kerapatan probabilitas
suatu kelas pola. Untuk mendapatkan nilai fungsi ini, maka setiap pola masukan
harus dievaluasi terhadap setiap sampel pola yang ada di setiap kelas. Ini berarti,
memerlukan suatu proses komputasi yang ekstensif.
6.4 Cara Penelitian
Penelitian ini, pada dasarnya dilakukan dengan cara memodifikasi jaringan
syaraf probabilistis yang telah ada sebelumnya. Modifikasi di sini dilakukan
terhadap fungsi kernel yang terdapat pada lapis pola pada jaringan syaraf tersebut.
Secara ringkas, modifikasi ini mencakup dua hal berikut.
1. Menggunakan fungsi jarak Minkowski orde-1 yang diimplementasikan secara
operasi logika XOR untuk pengolahan data biner, sebagai pengganti fungsi
jarak Eucledian. Dengan cara ini, proses komputasi menjadi lebih cepat.
2. Memperkenalkan pencarian nilai faktor penyekala yang umum untuk setiap
pola huruf yang dilatihkan, dengan memperhatikan sifat-sifat jaringan pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
keadaan derau 0 % dan derau 50 %. Hal ini memberikan hasil tingkat
pengenalan jaringan menjadi lebih akurat, terutama bila berhadapan dengan
citra huruf dengan kandungan derau yang tinggi.
6.5 Hasil Penelitian
Penelitian yang dilakukan telah menghasilkan suatu jaringan yang tidak
sensitif terhadap derau. Hal ini didasarkan atas hasil pengujian yang
memperlihatkan bahwa, tingkat kesalahan pengenalan yang kurang dari 5%
masih dapat diperoleh, pada keadaan tingkat derau yang mencapai 35 %.
Meskipun tidak sensitif terhadap derau, namun jaringan yang dirancang
ternyata sensitif terhadap adanya deformasi proporsi, pergeseran, dan perputaran.
Hasil pengujian memperlihatkan adanya deformasi tersebut yang relatif kecil,
telah menyebabkan turun dengan drastisnya tingkat pengenalan jaringan. Sebagai
contoh, tingkat pengenalan jaringan untuk citra dengan huruf yang kurus, tergeser
ke kiri satu piksel dan terputar 5o hanya mencapai 52,3 %.
Bentuk huruf masukan (‘A’, ‘B’, ‘C’ …, atau ‘Z’), mempunyai pengaruh
terhadap tingkat pengenalan jaringan pada keadaan tingkat derau yang tinggi.
Jaringan mulai memperlihatkan kesensitifannya terhadap bentuk huruf pada
tingkat derau 35%, yang diindikasikan dengan adanya perbedaan tingkat
pengenalan yang lebih dari 5% antara huruf ‘B’ dengan huruf ‘W’.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
DAFTAR PUSTAKA
Buchanan, James L., dan Turner, Peter R., 1994, Numerical Methods and Analysis, McGraw-Hill Inc. New York.
Chandran, Vinod, Carswell, Brett, Boashash, Boualem, dan Elgar, Steve, 1997,
"Pattern Recognition Using Invariants Defined from Higher Order Spectra: 2-D Image Inputs", IEEE Transactions on Image Processing, Vol. 6. No. 5, pp 703-712.
Demuth, Howard dan Beale, Mark, 1994, Neural Networks Toolbox: For Use
with MATLAB, The Mathworks, Inc., Massachusetts. Fausett, Laurene, 1994, Fundamentals of Neural Networks, Prentice Hall, Inc.,
New Jersey. Lin, Chin-Teng dan Lee, George C.S., 1996, Neural Fuzzy Systems, Prentice
Hall, Inc. New Jersey. Masters, Timothy, 1995, Advanced Algorithm for Neural Networks: A C++
Sourcebook, John Wiley & Sons, Inc., Toronto. Patterson, Dan W., 1996, Artificial Neural Networks, Simon & Schuster (Asia)
Pte. Ltd., Singapore. Watanabe, Sumio, 1996, "An Ultrasonic 3-D Robot Vision System Based on the
Statistical Properties of Neural Networks", Neural Networks for Robotic Control: Theory and Applications, Edited by A.M.S. Zalzala and A.S. Morris, Ellis Horwood Limited, London.
Wilson, Randall D. dan Martinez, Tony R., 1997, "Improved Heterogeneous
Distance Functions", Journal of Artificial Intelligence Research, No. 6, pp 1-34.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
L.1 Daftar Kode Sumber
Kode-kode sumber yang dirancang dalam penelitian ini diperlihatkan pada daftar sebagai berikut. 1. Kode sumber pengujian berbasiskan teks.
txtpnn.m - Pengujian PNN berbasiskan teks 2. Kode sumber pengujian berbasiskan GUI.
guipnn.m - Callback untuk pengujian PNN berbasiskan GUI guipnnfg.m - Figure untuk pengujian PNN berbasiskan GUI
3. Kode sumber pelatihan
latih.m - Pelatihan PNN
4. Kode sumber bersama yang digunakan oleh kode sumber pegujian berbasiskan teks dan GUI, serta pelatihan. simupnn.m - Simulasi PNN lhlayer.m - Simulasi lapis pola dan penjumlahan pada PNN imdc.m - Vektorisasi dan pengkontaminasian derau pada citra geser.m - Pergeseran citra
*) Keterangan: PNN (Probabilistic Neural Network) GUI (Graphical User Interface)
L.2 Listing Kode Sumber
Listing kode sumber dari daftar di atas, diperlihatkan sebagai berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: txtpnn.m
55
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
function txtpnn % TXTPNN Pengujian PNN berbasiskan teks % % (c) Linggo S. - 1998 clc tic % =================================================== % Variabel masukan dan jaringan % =================================================== JumlahUji=300; % Jumlah pengujian Derau=0; % Derau : 0,1,...,50 (persen) Proporsi='normal'; % Proporsi huruf:
% 'normal','gemuk_','kurus_' Rotasi=0; % Rotasi huruf: -15,..,0,...,15 (derajad) ArahGeser='atas_'; % Arah geser:
% ‘atas_','bawah','kanan','kiri_' JarakGeser=0; % Jarak geser: 0,1,2,... (piksel) RuntunHuruf='acak'; % Runtun huruf : 'acak','atur' load sampel % Ambil data jumlah sampel per kelas load sigma % Ambil data sigma % =================================================== % Pengujian berulang % =================================================== disp('Pengujian berulang berbasiskan teks') disp('===================================') fprintf('Persen derau : %g\n\n',Derau) fprintf('Proporsi huruf : %s\n',Proporsi) fprintf('Sudut rotasi : %g\n',Rotasi) fprintf('Arah pergeseran : %s\n',ArahGeser) fprintf('Jarak pergeseran : %g piksel\n\n',JarakGeser) fprintf('Jumlah pengujian : %g\n\n',JumlahUji) % Pembentukan runtun huruf % ---------------------------------------------------- DaftarHuruf=['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';... ‘M’;'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z']; if RuntunHuruf=='acak' % Huruf dan jenis huruf acak DaftarAngka=1+round((100*rand(JumlahUji,1))/4); JHuruf=randn(JumlahUji,1)>0; else % Huruf teratur dengan jenis huruf Arial NomorHuruf=find(DaftarHuruf==Huruf); DaftarAngka=NomorHuruf*ones(JumlahUji,1); JHuruf=ones(JumlahUji,1); end % ----------------------------------------------------
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: txtpnn.m
56
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109 110 111 112
tic salah=0; Density=zeros(JumlahUji,1); for i=1:JumlahUji HurufIn=DaftarHuruf(DaftarAngka(i)); if JHuruf(i)==0 JenisHuruf='Roman'; else JenisHuruf='Arial'; end fprintf('Pengujian ke %3.3g - Masukan : %s ',i,HurufIn) fprintf('(%s)',JenisHuruf) fprintf(' , Keluaran : ') % Konversi citra BMP ke matriks biner % ---------------------------------------------------- if JenisHuruf=='Roman' Citra0=~(imread([HurufIn 'roman'],'bmp')); else Citra0=~(imread([HurufIn 'arial'],'bmp')); end % Mode huruf % ----------------------------------------------------- switch Proporsi case 'normal' Citra=Citra0; case 'gemuk_' Citra=bwmorph(Citra0,'dilate'); case 'kurus_' Citra=bwmorph(Citra0,'thin'); end % Pergeseran citra % ----------------------------------------------------- Citra=geser(Citra,ArahGeser,JarakGeser); % Rotasi citra % ----------------------------------------------------- Citra=imrotate(Citra,Rotasi,'nearest','crop'); % Penambahan derau acak dan vektorisasi % ----------------------------------------------------- Citra=imdc(Citra,Derau); % Simulasi PNN % ----------------------------------------------------- CitraIn=repmat(Citra,1,sampel); [HurufOut,Density(i)]=simupnn(CitraIn,sigma,DaftarHuruf,sampel); % Keluaran PNN % -----------------------------------------------------
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: txtpnn.m
57
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
if HurufIn==HurufOut Out='benar'; else salah=salah+1; Out='S A L A H'; end fprintf('%s - %s\n',HurufOut,Out) end Waktu1=toc; Waktu2=Waktu1/JumlahUji; PersenTepat=((JumlahUji-salah)/JumlahUji)*100; % =================================================== % Hasil Pengujian % =================================================== % Kerapatan Probabilitas fprintf('\nRerata kerapatan probabilitas : %f\n',mean(Density)) % Meleset dan tepat fprintf('\nJumlah pengujian : %g \n',JumlahUji) fprintf('Jumlah meleset : %g \n',salah) fprintf('Persen tepat : %g \n\n',PersenTepat) % Waktu pengujian fprintf('Waktu keseluruhan pengujian : %g detik \n',Waktu1) fprintf('Waktu pengujian/huruf : %g detik \n\n',Waktu2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber : guipnn.m
58
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
function guipnn(aksi) % Definisi callback pada GUIPNNFG % ============================================================ % FUNGSI UTAMA % ============================================================ load sigma sigma=mean(mean(sigma)); load sampel blank=~uint8(zeros(32,32)); DaftarHuruf=['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';... 'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z']; global ImgHnd if nargin <1 aksi='inisialisasi'; end switch aksi case 'inisialisasi' ImgHnd=[0 0]; guipnnfg [x1,map]=imread('aroman','bmp'); axes(ImgHnd(1)); imshow(x1,map); axis('on') axes(ImgHnd(2)); imshow(x1,map); axis('on') case 'perputaran' Rot=get(gcbo,'Value'); Hnd=findobj(gcbf,'Tag','TextPerputaran'); set(Hnd,'String',sprintf('%3.1f',Rot)) case 'derau' Derau=get(gcbo,'Value'); Hnd=findobj(gcbf,'Tag','TextDerau'); set(Hnd,'String',sprintf('%3.1f',Derau)) case 'reset' Hnd=findobj(gcbf,'Tag','PopUpJenis'); set(Hnd,'Value',1) Hnd=findobj(gcbf,'Tag','PopUpProporsi'); set(Hnd,'Value',1) Hnd=findobj(gcbf,'Tag','SliderPerputaran'); set(Hnd,'Value',0) Hnd=findobj(gcbf,'Tag','PopUpArahGeser'); set(Hnd,'Value',1) Hnd=findobj(gcbf,'Tag','PopUpJarakGeser'); set(Hnd,'Value',1) Hnd=findobj(gcbf,'Tag','TextPerputaran'); set(Hnd,'String',sprintf('0.0'))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber : guipnn.m
59
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109 110 111 112
case 'eksekusi' % Ambil masukan % -------------------------------------------- Hnd=findobj(gcbf,'Tag','PopUpHuruf'); List=get(Hnd,'UserData'); HurufIn=List(get(Hnd,'Value')); Hnd=findobj(gcbf,'Tag','SliderDerau'); Derau=get(Hnd,'Value'); Hnd=findobj(gcbf,'Tag','PopUpJenis'); List=get(Hnd,'UserData'); Jenis=List(get(Hnd,'Value'),:); Hnd=findobj(gcbf,'Tag','PopUpProporsi'); List=get(Hnd,'UserData'); Proporsi=List(get(Hnd,'Value'),:); Hnd=findobj(gcbf,'Tag','SliderPerputaran'); Perputaran=get(Hnd,'Value'); Hnd=findobj(gcbf,'Tag','PopUpArahGeser'); List=get(Hnd,'UserData'); ArahGeser=List(get(Hnd,'Value'),:); Hnd=findobj(gcbf,'Tag','PopUpJarakGeser'); List=get(Hnd,'UserData'); JarakGeser=List(get(Hnd,'Value')); % Konversi citra BMP ke matriks biner % -------------------------------------------- switch Jenis case 'roman' img0=~(imread([HurufIn 'roman'],'bmp')); case 'arial' img0=~(imread([HurufIn 'arial'],'bmp')); end % Proporsi % -------------------------------------------- switch Proporsi case 'normal' img=img0; case 'gemuk_' img=bwmorph(img0,'dilate'); case 'kurus_' img=bwmorph(img0,'thin'); end % Pergeseran % -------------------------------------------- img=geser(img,ArahGeser,JarakGeser); % Perputaran % --------------------------------------------
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber : guipnn.m
60
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
img=imrotate(img,Perputaran,'nearest','crop'); % Penambahan derau acak dan vektorisasi % -------------------------------------------- img=imdc(img,Derau); % Tampilan masukan % -------------------------------------------- axes(ImgHnd(1));imshow(~kol2kot(img),2);axis('on') % Hapus citra keluaran % -------------------------------------------- axes(ImgHnd(2)); imshow(blank,2); axis('on'); drawnow % Simulasi PNN % -------------------------------------------- img_in=repmat(img,1,sampel); HurufOut=simupnn(img_in,sigma,DaftarHuruf,sampel); % Tampilan keluaran % -------------------------------------------- [Hrf,Map]=imread([HurufOut 'roman'],'bmp'); axes(ImgHnd(2));imshow(Hrf,Map);axis('on') end % ============================================================ % ============================================================ % SUB FUNGSI % ============================================================ % ============================================================ function kotak=kol2kot(kolom) % KOL2KOT Fungsi untuk mengubah matriks kolom (1024 x 1) % menjadi matriks kotak (32 x 32) % % (c) Linggo S. - 1998 kotak=uint8(zeros(32,32)); j=1; for i=1:32 kotak(1:32,i)=kolom(j:i*32); j=j+32; end % ============================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
61
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
function guipnnfg() % This is the machine-generated representation of a MATLAB object % and its children. Note that handle values may change when these % objects are re-created. This may cause problems with some callbacks. % The command syntax may be supported in the future, but is currently % incomplete and subject to change. % % To re-open this system, just type the name of the m-file at the MATLAB % prompt. The M-file and its associtated MAT-file must be on your path. global ImgHnd load guipnnfg a = figure('Units','normalized', ... 'Color',[0.8 0.8 0.8], ... 'Colormap',mat0, ... 'DithermapMode','auto', ... 'Name','Uji Coba PNN berbasiskan GUI', ... 'NumberTitle','off', ... 'PointerShapeCData',mat1, ... 'Position',[0.059375 0.0958333 0.875 0.779167], ... 'Renderer','zbuffer', ... 'RendererMode','manual', ... 'Tag','Fig1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'Callback','guipnn eksekusi', ... 'FontSize',16, ... 'FontWeight','bold', ... 'Position',[0.4 0.7 0.2 0.1], ... 'String','PNN', ... 'Tag','Pushbutton1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.098 0.392 0.8 0.109], ... 'Style','frame', ... 'Tag','Frame1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.098 0.005 0.8 0.306], ... 'Style','frame', ... 'Tag','Frame2'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[1 1 1], ... 'Position',[0.225 0.414 0.14 0.06], ... 'String',mat2, ... 'Style','popupmenu', ... 'Tag','PopUpHuruf', ... 'UserData',mat3, ... 'Value',1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
62
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109 110 111 112
b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[1 1 1], ... 'Position',[0.225 0.216 0.14 0.06], ... 'String',['Roman';'Arial'], ... 'Style','popupmenu', ... 'Tag','PopUpJenis', ... 'UserData',['roman';'arial'], ... 'Value',1); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[1 1 1], ... 'Position',[0.225 0.133 0.14 0.06], ... 'String',['Normal';'Gemuk ';'Kurus '], ... 'Style','popupmenu', ... 'Tag','PopUpProporsi', ... 'UserData',['normal';'gemuk_';'kurus_'], ... 'Value',1); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.753 0.753 0.753], ... 'Callback','guipnn derau', ... 'Max',50, ... 'Position',[0.596 0.415 0.14 0.06], ... 'String','Derau', ... 'Style','slider', ... 'Tag','SliderDerau'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.753 0.753 0.753], ... 'Callback','guipnn perputaran', ... 'Max',15, ... 'Min',-15, ... 'Position',[0.225 0.05 0.14 0.06], ... 'String','Perputaran', ... 'Style','slider', ... 'Tag','SliderPerputaran'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[1 1 1], ... 'Position',[0.596 0.216 0.14 0.06], ... 'String',['Kanan';'Kiri ';'Atas ';'Bawah'], ... 'Style','popupmenu', ... 'Tag','PopUpArahGeser', ... 'UserData',['kanan';'kiri_';'atas_';'bawah'], ... 'Value',1); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[1 1 1], ... 'Position',[0.596 0.133 0.14 0.06], ... 'String',['0 piksel';'1 piksel';'2 piksel';'3 piksel'], ... 'Style','popupmenu', ... 'Tag','PopUpJarakGeser', ... 'UserData',mat4, ... 'Value',1); b = uicontrol('Parent',a, ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
63
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
'Units','normalized', ... 'Callback','guipnn reset', ... 'Position',[0.755 0.029 0.123 0.064], ... 'String','Reset', ... 'Tag','Pushbutton2'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'Position',[0.148 0.899 0.109 0.053], ... 'String','Masukan', ... 'Style','text', ... 'Tag','StaticText1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'Position',[0.445 0.899 0.109 0.053], ... 'String','Eksekusi', ... 'Style','text', ... 'Tag','StaticText1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'Position',[0.736 0.899 0.109 0.053], ... 'String','Keluaran', ... 'Style','text', ... 'Tag','StaticText1'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.098 0.501 0.25 0.053], ... 'String','Pengaturan Masukan', ... 'Style','text', ... 'Tag','StaticText4'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.098 0.312 0.21 0.053], ... 'String','Deformasi Huruf', ... 'Style','text', ... 'Tag','StaticText5'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.125 0.429 0.066 0.0373], ... 'String','Huruf', ... 'Style','text', ... 'Tag','StaticText6'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.123214 0.221333 0.0642857 0.0426667], ... 'String','Jenis', ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
64
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
'Style','text', ... 'Tag','StaticText7'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.121429 0.144 0.0714286 0.04], ... 'String','Proporsi', ... 'Style','text', ... 'Tag','StaticText8'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.121429 0.0506667 0.0985714 0.0506667], ... 'String','Perputaran', ... 'Style','text', ... 'Tag','StaticText9'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.471429 0.426667 0.110714 0.04], ... 'String','Derau acak', ... 'Style','text', ... 'Tag','StaticText10'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.476786 0.226667 0.101786 0.04], ... 'String','Arah geser', ... 'Style','text', ... 'Tag','StaticText11'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.476786 0.146667 0.108929 0.04], ... 'String','Jarak geser', ... 'Style','text', ... 'Tag','StaticText12'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.746429 0.426667 0.05 0.04], ... 'String','0.0', ... 'Style','text', ... 'Tag','TextDerau'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.382143 0.0666667 0.0464286 0.0346667], ... 'String','0.0', ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
65
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
'Style','text', ... 'Tag','TextPerputaran'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.808929 0.418667 0.0339286 0.0453333], ... 'String','%', ... 'Style','text', ... 'Tag','StaticText13'); b = uicontrol('Parent',a, ... 'Units','normalized', ... 'BackgroundColor',[0.8 0.8 0.8], ... 'HorizontalAlignment','left', ... 'Position',[0.435714 0.0586667 0.0803571 0.0426667], ... 'String','derajad', ... 'Style','text', ... 'Tag','StaticText14'); b_in = axes('Parent',a, ... 'Box','on', ... 'CameraUpVector',[0 1 0], ... 'Color',[1 1 1], ... 'ColorOrder',mat5, ... 'DataAspectRatioMode','manual', ... 'Layer','top', ... 'Position',[0.1 0.6 0.2 0.3], ... 'Tag','Axes1', ... 'WarpToFill','off', ... 'XColor',[0 0 0], ... 'XLim',[0.5 32.5], ... 'XLimMode','manual', ... 'XTickMode','manual', ... 'YColor',[0 0 0], ... 'YDir','reverse', ... 'YLim',[0.5 32.5], ... 'YLimMode','manual', ... 'YTickMode','manual', ... 'ZColor',[0 0 0]); c = image('Parent',b_in, ... 'CData',mat6, ... 'Tag','Image1', ... 'XData',[1 32], ... 'YData',[1 32]); c = text('Parent',b_in, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','center', ... 'Position',[16.5 34.3739 0], ... 'Tag','Text1', ... 'VerticalAlignment','cap'); set(get(c,'Parent'),'XLabel',c); c = text('Parent',b_in, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','center', ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
66
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
'Position',[-1.37387 16.2117 0], ... 'Rotation',90, ... 'Tag','Text2', ... 'VerticalAlignment','baseline'); set(get(c,'Parent'),'YLabel',c); c = text('Parent',b_in, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','right', ... 'Position',[-15.7883 -10.3108 0], ... 'Tag','Text3'); set(get(c,'Parent'),'ZLabel',c); c = text('Parent',b_in, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','center', ... 'Position',[16.5 -1.95045 0], ... 'Tag','Text4', ... 'VerticalAlignment','bottom'); set(get(c,'Parent'),'Title',c); b_out = axes('Parent',a, ... 'Box','on', ... 'CameraUpVector',[0 1 0], ... 'Color',[1 1 1], ... 'ColorOrder',mat7, ... 'DataAspectRatioMode','manual', ... 'Layer','top', ... 'Position',[0.7 0.6 0.2 0.3], ... 'Tag','Axes2', ... 'WarpToFill','off', ... 'XColor',[0 0 0], ... 'XLim',[0.5 32.5], ... 'XLimMode','manual', ... 'XTickMode','manual', ... 'YColor',[0 0 0], ... 'YDir','reverse', ... 'YLim',[0.5 32.5], ... 'YLimMode','manual', ... 'YTickMode','manual', ... 'ZColor',[0 0 0]); c = image('Parent',b_out, ... 'CData',mat8, ... 'Tag','Image2', ... 'XData',[1 32], ... 'YData',[1 32]); c = text('Parent',b_out, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','center', ... 'Position',[16.5 34.3739 0], ... 'Tag','Text5', ... 'VerticalAlignment','cap'); set(get(c,'Parent'),'XLabel',c); c = text('Parent',b_out, ... 'Color',[0 0 0], ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: guipnnfg.m
67
337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360
'HandleVisibility','callback', ... 'HorizontalAlignment','center', ... 'Position',[-1.37387 16.2117 0], ... 'Rotation',90, ... 'Tag','Text6', ... 'VerticalAlignment','baseline'); set(get(c,'Parent'),'YLabel',c); c = text('Parent',b_out, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','right', ... 'Position',[-112.653 -10.3108 0], ... 'Tag','Text7'); set(get(c,'Parent'),'ZLabel',c); c = text('Parent',b_out, ... 'Color',[0 0 0], ... 'HandleVisibility','callback', ... 'HorizontalAlignment','center', ... 'Position',[16.5 -1.95045 0], ... 'Tag','Text8', ... 'VerticalAlignment','bottom'); set(get(c,'Parent'),'Title',c); ImgHnd=[b_in b_out];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: latih.m
68
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
function latih % LATIH Pelatihan PNN % % (c) Linggo S. - 1998 % ============================================================ % ============================================================ % FUNGSI UTAMA % ============================================================ % ============================================================ % Pelatihan Tahap I % Pengkonstruksian lapis pola tic sampel=2; % Jumlah sampel per huruf fprintf('=================\n') fprintf('Pelatihan Tahap I\n') fprintf('=================\n') fprintf('Pengkonstruksian lapis pola\n') fprintf('Jumlah sampel per kelas : %g\n',sampel); fprintf('Pemrosesan ') imgc=simpanc('A'); save imgc_a imgc ; fprintf('.') imgc=simpanc('B'); save imgc_b imgc ; fprintf('.') imgc=simpanc('C'); save imgc_c imgc ; fprintf('.') imgc=simpanc('D'); save imgc_d imgc ; fprintf('.') imgc=simpanc('E'); save imgc_e imgc ; fprintf('.') imgc=simpanc('F'); save imgc_f imgc ; fprintf('.') imgc=simpanc('G'); save imgc_g imgc ; fprintf('.') imgc=simpanc('H'); save imgc_h imgc ; fprintf('.') imgc=simpanc('I');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: latih.m
69
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109 110 111 112
save imgc_i imgc ; fprintf('.') imgc=simpanc('J'); save imgc_j imgc ; fprintf('.') imgc=simpanc('K'); save imgc_k imgc ; fprintf('.') imgc=simpanc('L'); save imgc_l imgc ; fprintf('.') imgc=simpanc('M'); save imgc_m imgc ; fprintf('.') imgc=simpanc('N'); save imgc_n imgc ; fprintf('.') imgc=simpanc('O'); save imgc_o imgc ; fprintf('.') imgc=simpanc('P'); save imgc_p imgc ; fprintf('.') imgc=simpanc('Q'); save imgc_q imgc ; fprintf('.') imgc=simpanc('R'); save imgc_r imgc ; fprintf('.') imgc=simpanc('S'); save imgc_s imgc ; fprintf('.') imgc=simpanc('T'); save imgc_t imgc ; fprintf('.') imgc=simpanc('U'); save imgc_u imgc ; fprintf('.') imgc=simpanc('V'); save imgc_v imgc ; fprintf('.') imgc=simpanc('W');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: latih.m
70
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
save imgc_w imgc ; fprintf('.') imgc=simpanc('X'); save imgc_x imgc ; fprintf('.') imgc=simpanc('Y'); save imgc_y imgc ; fprintf('.') imgc=simpanc('Z'); save imgc_z imgc ; fprintf('.\n\n') save sampel sampel % simpan sampel dalam lapis pola waktu=toc; fprintf('Pelatihan tahap I selesai...\n\n') fprintf('Waktu pelatihan : %g detik\n\n',waktu) % ============================================================ % Pelatihan Tahap II % Mencari sigma optimum dengan pencarian kuadratis fprintf('==================\n') fprintf('Pelatihan Tahap II \n') fprintf('==================\n') fprintf('Pencarian sigma optimum pada lapis pola\n') tic load sampel % % Pencarian kuadratis % % Interval awal x(1)=0.1; % Batas bawah x(3)=0.4; % Batas atas x(2)=(x(1)+x(3))/2; h=x(2)-x(1); % Toleransi tol=0.000001; i=1; while h>tol fx1=pdftotal(sampel,x(1)); fprintf('.') fx2=pdftotal(sampel,x(2)); fprintf('.') fx3=pdftotal(sampel,x(3)); fprintf('.')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: latih.m
71
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
if fx1==fx2 | fx1==fx3 break end if fx1<fx2 % Geser kiri x3=x(2); x2=x(1); x1=x(2)-h; x=[x1 x2 x3]; end if fx3<fx2 % Geser kanan x1=x(2); x2=x(3); x3=x(2)+h; x=[x1 x2 x3]; end xd=x(2)+(h*(fx1-fx3))/(2*(fx1-2*fx2+fx3)); fxd=pdftotal(sampel,xd); fprintf('.') if fxd<fx2 x(2)=xd; end h=h/2; x(1)=x(2)-h; x(3)=x(2)+h; end % Sigma optimum sigma=x(2); % simpan nilai sigma save sigma sigma waktu=toc; fprintf('\nPelatihan tahap II selesai...\n\n') fprintf('Waktu pelatihan : %g detik\n\n ',waktu) % ============================================================ % ============================================================ % SUB FUNGSI % ============================================================ % ============================================================ function [imc]=simpanc(huruf) % SIMPANC Pembentukan citra pelatihan tervektor % % (c) Linggo S. - 1998 % Pembentukan citra tervektor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: latih.m
72
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272
imc1=~(imread([huruf 'roman'],'bmp')); imc1=imc1(:); imc2=~(imread([huruf 'arial'],'bmp')); imc2=imc2(:); % Keluaran imc=[imc1 imc2] ; % ============================================================= function pdft=pdftotal(sampel,sigma) % PDFTOTAL Menghitung pdf keseluruhan % DaftarHuruf=['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';... 'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z']; pdfk=zeros(26,sampel); for i=1:26 hrf=DaftarHuruf(i); load (['imgc_' hrf]); pdfk(i,:)=pdfkelas(imgc,sampel,sigma); end pdft=sum(sum(pdfk)); % ============================================================= function pdfk=pdfkelas(imgc,sampel,sigma) % PDFKELAS Pencarian nilai-nilai pdf untuk suatu kelas % for i=1:sampel % Derau 0% img0=imgc(:,i); img0=repmat(img0,1,sampel); % Derau 50% img50=imdc(imgc(:,i),50); img50=repmat(img50,1,sampel); % Nilai pdf pdf0(i)=lhlayer(imgc,img0,sigma,sampel); pdf50(i)=lhlayer(imgc,img50,sigma,sampel); pdfk(i)=(1-pdf0(i))+pdf50(i); end % =============================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: simupnn.m
73
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
function [huruf,density]=simupnn(img,sigma,DaftarHuruf,sampel) % SIMUPNN Simulasi PNN % % (c) Linggo S. - 1998 % ============================================================ % Lapis pola dan lapis penjumlahan pdfcond=zeros(26,1); for i=1:26 hrf=DaftarHuruf(i); load (['imgc_' hrf]); pdfcond(i)=lhlayer(imgc,img,sigma,sampel); end % ============================================================ % Lapis maksimum density=max(pdfcond); % ============================================================ % Keluaran jaringan NomorKelas=find(pdfcond==density); % ============================================================ % NomorKelas ke huruf huruf=DaftarHuruf(NomorKelas);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: lhlayer.m
74
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
function [cpdr]=lhlayer(ctrf,ctri,sig,sampel) % LHLAYER Simulasi lapis pola dan penjumlahan pada PNN % % (c) Linggo S. - 1998 % Lapis pola beda=xor(ctri,ctrf); for i=1:sampel jarak(i)=length(find(beda(:,i)))/1024; end cpd=exp(-(jarak/sig).^2); % Lapis penjumlahan cpdr=mean(cpd);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: imdc.m
75
1 2 3 4 5 6 7 8 9
10 11 12 13 14
function img=imdc(citra,pderau) % IMDC Vektorisasi dan pengkontaminasian derau pada citra % % (c) Linggo S. - 1998 img=citra(:); kderau=pderau/50; % kerapatan derau = persen derau / 50 x=rand(1024,1); % total piksel = 1024 d=find(x < kderau/2); img(d)=0; d=find(x >= kderau/2 & x < kderau); img(d)=1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kode sumber: geser.m
76
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
function gcitra=geser(citra,arah,jarak) % GESER Pergeseran citra % % (c) Linggo S. - 1998 if jarak==0 gcitra=citra; else switch arah case 'kanan' tambah=uint8(zeros(32,jarak)); citra=citra(:,1:(32-jarak)); gcitra=[tambah citra]; case 'kiri_' tambah=uint8(zeros(32,jarak)); citra=citra(:,(jarak+1):32); gcitra=[citra tambah]; case 'atas_' tambah=uint8(zeros(jarak,32)); citra=citra((jarak+1):32,:); gcitra=[citra;tambah]; case 'bawah' tambah=uint8(zeros(jarak,32)); citra=citra(1:(32-jarak),:); gcitra=[tambah;citra]; end end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
L.3 Contoh Hasil Eksekusi Kode Sumber
1.) Tampilan berbasiskan GUI (kode sumber guipnn.m)_
2) Tampilan berbasiskan teks (kode sumber txtpnn.m) Pengujian berulang berbasiskan teks =================================== Persen derau : 10 Proporsi huruf : normal Sudut rotasi : 0 Arah pergeseran : atas_ Jarak pergeseran : 0 piksel Jumlah pengujian : 30 Pengujian ke 1 - Masukan : M (Roman) , Keluaran : M - benar Pengujian ke 2 - Masukan : B (Roman) , Keluaran : B - benar Pengujian ke 3 - Masukan : G (Arial) , Keluaran : G - benar Pengujian ke 4 - Masukan : I (Arial) , Keluaran : I - benar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Pengujian ke 5 - Masukan : W (Roman) , Keluaran : W - benar Pengujian ke 6 - Masukan : I (Arial) , Keluaran : I - benar Pengujian ke 7 - Masukan : G (Arial) , Keluaran : G - benar Pengujian ke 8 - Masukan : L (Roman) , Keluaran : L - benar Pengujian ke 9 - Masukan : V (Arial) , Keluaran : V - benar Pengujian ke 10 - Masukan : F (Arial) , Keluaran : F - benar Pengujian ke 11 - Masukan : N (Roman) , Keluaran : N - benar Pengujian ke 12 - Masukan : L (Arial) , Keluaran : L - benar Pengujian ke 13 - Masukan : I (Roman) , Keluaran : I - benar Pengujian ke 14 - Masukan : K (Arial) , Keluaran : K - benar Pengujian ke 15 - Masukan : W (Roman) , Keluaran : W - benar Pengujian ke 16 - Masukan : T (Arial) , Keluaran : T - benar Pengujian ke 17 - Masukan : W (Arial) , Keluaran : W - benar Pengujian ke 18 - Masukan : L (Arial) , Keluaran : L - benar Pengujian ke 19 - Masukan : U (Roman) , Keluaran : U - benar Pengujian ke 20 - Masukan : D (Roman) , Keluaran : D - benar Pengujian ke 21 - Masukan : C (Arial) , Keluaran : C - benar Pengujian ke 22 - Masukan : J (Roman) , Keluaran : J - benar Pengujian ke 23 - Masukan : J (Arial) , Keluaran : J - benar Pengujian ke 24 - Masukan : M (Arial) , Keluaran : M - benar Pengujian ke 25 - Masukan : Y (Roman) , Keluaran : Y - benar Pengujian ke 26 - Masukan : J (Arial) , Keluaran : J - benar Pengujian ke 27 - Masukan : G (Arial) , Keluaran : G - benar Pengujian ke 28 - Masukan : P (Roman) , Keluaran : P - benar Pengujian ke 29 - Masukan : N (Roman) , Keluaran : N - benar Pengujian ke 30 - Masukan : E (Arial) , Keluaran : E - benar Rerata kerapatan probabilitas : 0.732289 Jumlah pengujian : 30 Jumlah meleset : 0 Persen tepat : 100 Waktu keseluruhan pengujian : 21.48 detik Waktu pengujian/huruf : 0.716 detik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI