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.
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.
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
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
iv
6. Pihak-pihak lain yang tidak dapat penulis sebutkan satu persatu dalam
kesempatan ini.
Yogyakarta, Nopember 1998
penulis
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
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
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
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
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%.
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
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.
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
model-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
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
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
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.
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
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
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:
σ : faktor penyekala
⎟⎟
K : 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
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:
∞ <
ϕ ϕ
ϕ |K( )|d
sup (2.3)
2. Fungsi kernel harus dengan cepat menuju nol bila argumennya
meningkat dalam nilai absolutnya:
∫
<∞∞ ∞ −
ϕ ϕ d K( )
0 ) (
lim =
∞
→ ϕ ϕ
ϕ K (2.4)
3. Fungsi kernel harus dinormalisasi, bila yang akan diestimasi adalah
fungsi kerapatan:
1 )
( =
∫
∞ ∞ −
ϕ ϕ d
4. Untuk mendapatkan kelakuan asimtotik yang tepat, jendela (faktor
penyekala) harus menyempit bila jumlah sampelnya meningkat:
lim =0
Salah satu contoh fungsi kernel yang memenuhi empat kriteria di atas
adalah fungsi Gaussian, yang diperlihatkan pada persamaan:
2 ) (ϕ =e−ϕ
K (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:
r
dengan r adalah bilangan bulat (1,2, …), yang merupakan orde fungsi jarak
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:
(
0%)
1( )=maks f(x)|derau=
g σ (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:
(
0%)
1( )=min1− f(x)|derau=
g σ (2.10)
1)
Selanjutnya, proses optimasi untuk meminimumkan f(x) pada kandungan derau
50 % adalah:
(
50%)
2( )=min f(x)|derau=
g σ (2.11)
Akhirnya, proses optimasi keseluruhannya adalah minimisasi gabungan
persamaan (2.10) dan (2.11):
) ( ) ( )
(σ g1 σ g2 σ
g = + (2.12)
(
)
{
1 ( ) 0% ( ) 50%}
min)
( = − f x derau= + f x derau= g σ
(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 2 0 1
σ σ
σ = + 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)
)]
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
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)
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
(a) Jenis huruf Roman
(b) Jenis huruf Arial
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
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.
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
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
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.
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:
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 w x
D
m
k
k ij k
ij
∑
= − = 1
_
dengan m adalah jumlah elemen vektor x atau wij.
Karena masukan jaringan dan bobotnya berupa bilangan biner,
maka komputasi
∑
_ 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 xk −wij_k .
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
Langkah 3. Lapis penjumlahan:
hitung penjumlahan ternormalisasi untuk setiap kelas i (i = A… Z).
n
dengan n adalah jumlah sampel di setiap kelas.
Langkah 4. Lapis maksimum:
hitung keluaran jaringan sebagai:
) max(fi
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
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.
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
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.
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
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
a b c
d e f
g h i
j k l
100 100 100 100 99.3 99 95.7
76
34.7
4.3
0 10 20 30 40 50 60 70 80 90 100
5 10 15 20 25 30 35 40 45 50
Tingkat derau (%)
Tingkat pengenalan (%
)
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
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
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
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
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 (%)
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
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
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 (%)
Tingkat pengenalan (%
)
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
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
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,
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
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
Gambar 4.7, sifat sensitif ini mulai nampak pada tingkat derau 35%, yang
diindikasikan dengan adanya perbedaan tingkat pengenalan yang lebih dari 5%,
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
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
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.
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
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
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
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
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.
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
1
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
57
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
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);
113
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
1
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)
57
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
img=bwmorph(img0,'dilate');
case 'kurus_'
img=bwmorph(img0,'thin'); end
% Pergeseran
% ---
img=geser(img,ArahGeser,JarakGeser);
% Perputaran