repositori.unud.ac.id · bitmap berupa data kasar dan selanjutnya akan diproses pada tahapan...
Transcript of repositori.unud.ac.id · bitmap berupa data kasar dan selanjutnya akan diproses pada tahapan...
1
3.1. Tempat dan Waktu Penelitian
Penelitian mengenai Pengembangan Pola Khusus berbasis Metode Pola
Busur Terlokalisasi ini dilakukan di Bali, khususnya di Denpasar, Badung, Tabanan,
Gianyar, Klungkung dan Bangli. Waktu pengambilan data tersebut dilaksanakan
selama Bulan Juli sampai dengan Agustus 2012 melalui penelitian langsung
dilapangan dengan mengambil foto aksara dari sumber buku-buku bacaan Aksara
Bali dan Lontar. Pengembangan dan implementasi sistem dilakukan di
Laboratorium Komputasi, Jurusan Teknologi Informasi, Fakultas Teknik Uiversitas
Udayana Denpasar.
3.2. Data
3.2.1. Sumber Data
Sumber data yang dipakai sebagai sampel Aksara Bali yang digunakan untuk
melakukan pembentukan pola model dan pengujian sistem pengenalan karakter ini
adalah sebagian diambil dari data citra Aksara Bali dalam penelitian I Komang
Gede Suamba Dharmayasa (Dharmayasa, 2009). Sampel Aksara Bali yang
digunakan diperoleh dari hasil scan buku ajar Bahasa Bali yang diambil
menggunakan segmentasi per blok karakter dan juga dari internet.
Pola Model dari Pola Busur Terlokalisasi yang digunakan dalam penelitian
ini adalah pola model yang dikembangkan dari bentuk pola busur dan dipilih sesuai
dengan frekuensi kemunculan terbanyak khusus untuk citra Aksara Bali, serta pola
model pembanding pada saat pengujian unjuk kerja sistem dari Prof. Isao
Yoshimura (Yoshimura, 1993) dan AA. Kompiang Oka Sudana (Sudana, 2007).
3.2.2. Metode Pengumpulan Data
1. Metode Observasi, yaitu pengumpulan data dengan mengadakan penelitian
secara langsung pada instansi-instansi yang terkait.
2. Metode Interview, yaitu pengumpulan data dengan mengadakan wawancara
dan tanya jawab secara langsung pada pihak-pihak yang terkait.
DOKUMENTASI SISTEM
TAHAP PERANCANGAN DAN PEMBUATAN
SISTEM PENGENALAN AKSARA BALI
2
3. Metode Studi Literatur, yaitu mengumpulkan data dari buku-buku referensi,
modul-modul yang relevan dengan objek permasalahan.
3.3. Bahasa Pemrograman
Bahasa pemrograman yang digunakan pada Penelitian Pengembangan Pola
Khusus berbasis Metode Pola Busur Terlokalisasi ini adalah Borland Delphi 7.2.
Perangkat lunak lain yang diperlukan adalah program paket pengolahan citra, dan
dipergunakan pada tahapan prapemrosesan seperti Paint Shop Pro.
3.4. Metode Penyelesaian Masalah
Langkah-langkah yang dilakukan dalam penelitian ini adalah:
1. Pengumpulan literatur yang berhubungan dengan perancangan dan pembuatan
perangkat lunak pengenalan karakter.
2. Mempelajari dan memahami proses yang terjadi dalam perancangan dan
pembuatan perangkat lunak pengenalan karakter.
3. Penyusunan perangkat lunak (software).
4. Pengujian perangkat lunak (software).
5. Analisis hasil dan pengambilan kesimpulan.
3.5. Perangkat Pemodelan Sistem
3.5.1 Gambaran Umum Sistem Pengenalan Karakter Aksara Bali
Gambaran Umum Sistem yang dirancang pada sistem ini adalah seperti terlihat pada
Gambar 3.1 berikut:
3
Gambar 3.1
Gambaran Umum Sistem Pengenalan Aksara Bali
3.5.2 Pembentukan dan Pemilihan Pola Model
Pembentukan pola model baru yang didasarkan pada batasan-batasan dalam
Metode Pola Busur Terlokalisasi untuk Tulisan Jepang dan Tandatangan Latin
dengan tujuan untuk mengurangi banyaknya pola model yang digunakan, sehingga
waktu proses sistem bisa lebih singkat. Batasan utamanya yaitu lokalisasi
permasalahan pada pola model yang didefinisikan di dalam sebuah bujur sangkar
kecil berukuran 5 x 5, tetapi pemilihannya berbasis pada sampel Aksara Bali yang
dimiliki.
Laporan hasil pengenalan
Keluaran nilai ketidaksamaan terkecil dan ID
Aksara
Proses
pendaftaran
Masukan citra karakter
Aksara Bali
Masukan citra karakter
Aksara Bali
Pengembang sistem
Basisdata pola model
Basisdata acuan
Proses pembuatan
pola model
Proses Pengambilan Keputusan
Nilai threshold
Proses Pencarian Nilai
Terkecil Ketidaksamaan
Proses Pencocokan dengan Semua
Basisdata Aksara
4
3.5.3 Tahapan Pengenalan Karakter Aksara Bali
Secara umum dalam pengolahan citra, untuk mendapatkan informasi yang
terkandung di dalamnya maka biasanya dilakukan proses-proses pendahulu pada
citra tersebut. Setelah itu baru dilakukan proses-proses berikutnya yang berkenaan
dengan informasi apa yang diinginkan untuk diolah, demikian juga halnya pada
pengenalan Tulisan Bali. Adapun tahapan-tahapan yang dilakukan dalam sistem
Pengenalan Karakter Aksara Bali, khususnya Metode Pola Busur Terlokalisasi
adalah sebagai berikut:
i. Akuisisi data (data acquisition)
Akuisisi data merupakan proses pengubahan data dari data analog Aksara
Bali, menjadi citra dengan scanner. Citra yang disimpan dalam format file
bitmap berupa data kasar dan selanjutnya akan diproses pada tahapan
selanjutnya.
ii. Pra pemrosesan (preprocessing)
Tahap awal pra pemrosesan ini, jika file bitmap yang dihasilkan pada
tahap pengambilan data belum berbentuk dua warna (hitam putih) maka
terlebih dahulu dilakukan konversi menjadi data citra dua warna (proses
binerisasi), karena citra Aksara Bali yang nantinya diperlukan berupa citra
biner. Setelah itu dilakukan eliminasi terhadap data yang tidak diperlukan,
guna memastikan bahwa data yang akan diproses pada tahapan berikutnya
sudah merupakan data yang sahih.
iii. Ekstraksi ciri (feature extraction)
Setelah data tersebut diolah menjadi data jadi pada tahap pra proses,
kemudian dilakukan ekstraksi ciri dari citra biner Aksara Bali. Ciri-ciri
yang diekstraksi bergantung pada metode yang dipakai dalam proses
pembandingan nantinya, yang mana dalam penelitian ini digunakan
adalah pola model khusus untuk Aksara Bali dari Metode Pola Busur
Terlokalisasi yang mana diantara model pola-polanya terlihat pada
Gambar 2.4. Aksara Bali yang telah berbentuk citra biner akan langsung
diproses untuk mendapatkan frekuensi kemunculan masing-masing pola.
Pola yang memiliki nomor model yang sama tetapi dengan nomor urut
5
berbeda, frekuensi kemunculannya dijumlahkan untuk mendapatkan
frekuensi kemunculan dari pola model tersebut. Cara penghitungannya
adalah dengan menggerakkan setiap pola model di atas pola biner citra
Aksara Bali, sebagai patokan adalah titik yang berbentuk lingkaran penuh.
Titik ini digeser secara teratur satu grid ke arah horisontal atau vertikal,
sampai semua titik pada citra biner Aksara Bali terlewati. Setiap
pergeseran dilakukan pembandingan terhadap ruang yang dilingkupi oleh
model tersebut, apakah sama ataukah tidak. Jika sama maka frekuensi
kemunculan pola model tersebut ditambahkan. Misalkan citra Aksara Bali
dilambangkan dengan f dan terdapat 23 pola model maka citra Aksara
Bali tersebut dapat diekspresikan sebagai vektor kolom x berdimensi p,
dengan p adalah 23 yaitu sesuai dengan pola model yang ada. Dalam
matriks bentuk tersebut dapat dituliskan sebagai berikut :
.......................................(3.1)
Elemen-elemen x yaitu x1, x2,… x23 adalah frekuensi kemunculan dari
masing-masing pola model sesuai dengan nomor modelnya.
iv. Pendaftaran (enrollment)
Tahapan pendaftaran Aksara Bali acuan dilakukan dengan mengekstraksi
ciri dari beberapa Aksara Bali acuan dan hasil yang diperoleh disimpan
pada sebuah file basisdata acuan. Misalkan masing-masing Aksara Bali
ke i disebut dengan Pi digunakan sebagai Aksara Bali acuan sebanyak
m, maka dari m buah Aksara Bali ini diekstraksi ciri menggunakan
Metode Pola Busur Terlokalisasi menghasilkan m buah vektor kolom x
berdimensi p, hasil ini dijadikan satu matriks vektor berukuran p x m
dengan bentuk sebagai berikut :
23
2
1
x
x
x
x
pmpp
m
m
i
xxx
xxx
xxx
P
21
22221
11211
………………………(3.2)
6
Nilai m yang digunakan pada sistem ini adalah 3 Aksara Bali yang
diambil dari beberapa buku cetak, dengan pertimbangan bahwa 3 Aksara
Bali tersebut diharapkan mampu untuk mewakili variasi yang ada dari
sebuah karakter Aksara Bali, di samping itu sistem nantinya bekerja
dengan tidak terlalu lambat. Jadi ukuran matriks vektor acuan pada
sistem pengenalan ini adalah 23 x 3 untuk 23 pola model serta 42 x 3
untuk 42 pola model. Matriks vektor yang didapatkan disimpan pada
basisdata acuan dengan kata kunci nomor identitas Aksara Bali.
v. Pembandingan (comparison)
Tahap pembandingan merupakan inti dari keseluruhan proses pengenalan.
Pada tahap pembandingan ini, ciri citra Aksara Bali masukan akan
dibandingkan dengan ciri acuan yang ada pada basis data. Pada tahap
inilah dilakukan perhitungan-perhitungan dari frekuensi yang didapat
pada proses ekstraksi ciri. Berdasarkan proses pembandingan tersebut
didapatkan nilai ketidaksamaan (dissimilarity measure) masing-masing
acuan dengan citra input. Nilai ketidaksamaan atau nilai beda inilah yang
digunakan sebagai dasar untuk pengambilan keputusan hasil pengenalan.
Basisdata acuan dibaca satu record data acuan karakter. Acuan yang
berbentuk matriks p x m ini selanjutnya dihitung rata-rata kemunculan
setiap pola model dengan cara :
m
k
iki m
xx
1…………………………………………….(3.3)
Nilai-nilai yang dihasilkan yaitu x1/, x2/, … xp/, ditempatkan sebagai
elemen vektor kolom x/ berdimensi p, yang merupakan rata-rata acuan.
Lalu dicari matriks varians V berdimensi p x p dari acuan dengan
persamaan:
m
j
tjj mxxxxV
1
// /……………....(3.4)
Mencari frekuensi kemunculan pola model pada citra karakter yang
dibandingkan sama halnya dengan mencari frekuensi pola model acuan.
7
Misalkan Aksara Bali yang dibandingkan disebut Q maka vektor kolom
hasilnya adalah xq. Varians V, rata-rata acuan x/ dan vektor kolom xq,
digunakan menghitung nilai beda (Yoshimura I. dkk, 1994, hal.61) dengan
persamaan sebagai berikut:
p
qk q
kk
k k
kk
Q ZZZZQPiD
1
2
/
1
2
/ )()(),(
... (3.5)
Q
t
k
k
Q xlZ ………………………………………. (3.6)
// xlZ t
k
k ………………………………………...(3.7)
dengan ketentuan :
D(Pi,Q) : nilai ketidaksamaan antara acuan Pi dengan pembanding Q.
: vektor kolom yang berisi nilai eigen dengan urutan menurun
(descending order) yaitu (, , …, p)
lk : vektor eigen yang berbentuk vektor kolom terurut sesuai
dengan nilai eigen yang berhubungan.
xQ : vektor kolom yang berisi frekuensi munculnya pola model pada
citra karakter pembanding.
x/ : vektor kolom rata-rata acuan.
t : transpose.
p : dimensi vektor kolom
q : suatu integer dengan syarat 1q p. Konstanta q merupakan
nomor pemotongan dari nilai eigen.
vi. Perancangan Basis Data Acuan
Perancangan basisdata acuan adalah merupakan proses pembentukan file
basisdata yang akan dijadikan acuan pada saat proses pengenalan.
Metode yang dipakai dalam pembuatan data acuan mengacu pada
metode Leave-One-Out, yang menyarankan pembentukan basisdata dari
sampel Aksara Bali yang dimasukkan, menggunakan sebanyak 3 sampai
10 buah Aksara Bali untuk sebuah karakter. Dalam pengerjaan sistem
pengenalan ini digunakan 6 buah sampel Aksara Bali untuk masing-
masing karakter, dengan perincian : 3 Aksara Bali untuk acuan serta 3
8
Aksara Bali sisanya sebagai pembanding untuk menentukan nilai
ambang. Tahap perancangan basisdata acuan terdiri dari dua pokok
penting yaitu pendaftaran Aksara Bali acuan dan penentuan nilai ambang
batas yang akan disimpan dalam satu record dengan kata kunci nomor
identitas. Setelah dilakukan proses pendaftaran tersebut dilanjutkan
dengan membandingkan Aksara Bali yang akan dipergunakan untuk
menentukan nilai ambang. Berdasarkan hasil pembandingan tiga Aksara
Bali ini didapatkan nilai ketidaksamaannya masing-masing. Median dari
nilai ketidaksamaan inilah yang disimpan pada basisdata acuan
melengkapi frekuensi sampel sebelumnya, dan dipergunakan sebagai
nilai ambang (threshold) atau nilai kritis yang dikalikan dengan suatu
konstanta Cd. Nilai kritis dilambangkan dengan Cc. Besarnya konstanta
pengali nilai kritis untuk keseluruhan sistem ditentukan melalui proses
pengujian, yang dipengaruhi oleh prosentase terjadinya kesalahan.
vii. Pengambilan keputusan (decision making)
Tahap ini bertugas untuk memberikan keputusan dari proses
pembandingan yang telah dilakukan. Nilai-nilai ketidaksamaan yang
didapatkan pada proses sebelumnya diurutkan. Identitas acuan dengan
nilai ketidaksamaan terkecil dan memenuhi nilai ambang batas
(thereshold) diputuskan sebagai jenis karakter Aksara Bali yang sesuai
dengan citra Aksara Bali yang diinputkan. Jika nilai ketidaksamaan
terkecil yang didapatkan masih diatas nilai ambang batas, maka
disimpulkan karakter Aksara Bali masukan tersebut tidak dikenali. Nilai
ambang batas didapatkan dengan pengujian-pengujian sebelumnya.
Apabila d(Pj, Qi) didefinisikan sebagai nilai ketidaksamaan antara
Aksara Bali acuan yang dimiliki oleh sebuah karakter Aksara Bali Pj
dengan Aksara Bali yang diuji Qi, Ccj adalah nilai kritis yang telah
didapat sebelumnya dari sebuah karakter Aksara Bali Pj serta Cd adalah
konstanta pengali, maka berlaku hubungan :
Jika d(Pj, Qi) Ccj x Cd maka keputusannya ‘DIKENALI’
Selain itu keputusannya ‘TIDAK TERDAFTAR’.
9
3.6 Perancangan Sistem
Perancangan sistem merupakan tahap untuk mentransformasikan berbagai
kebutuhan ke bentuk data dan arsitektur program yang akan diimplementasikan pada
tahap pembuatan sistem nantinya. Perancangan tersebut meliputi penjelasan dalam
bentuk bagan alir proses, serta perancangan struktur data.
3.7.1 Diagram Jackson Sistem Pengenalan
Rancangan sistem pengenalan yang berupa struktur program, ditampilkan
dalam Diagram Jackson yang direpresentasikan dalam bentuk struktur diagram dan
struktur teks. Adapun struktur diagram sistem pengenalan ini adalah seperti yang
terlihat pada Gambar 3.2. Pada struktur diagram sistem pengenalan tersebut terlihat
gambaran sistem secara lebih rinci, pendefinisian kebutuhan menu-menu pokok dan
modul-modul program yang nantinya diperlukan oleh sistem pengenalan, baik
modul-modul yang dijalankan secara iterasi ataupun yang bersifat pilihan.
Sistem pengenalan dibagi menjadi dua modul utama yaitu modul
PERSIAPAN LINGKUNGAN SISTEM dan modul SISTEM UTAMA. Hal terpenting
yang perlu diperhatikan adalah persiapan lingkungan sistem berupa memasukkan
pola model ke file dan setting konstanta mutlak harus ada pada saat sistem untuk
pertama kali dijalankan sebelum melakukan pemrosesan terhadap yang lainnya,
sedangkan untuk yang kedua kali atau seterusnya file pola model dan konstanta ini
bisa diubah melalui menu-menu pada modul sistem utama.
10
Gambar 3.2
Struktur Diagram Jackson Sistem Pengenalan
PERSIAPAN LINGKUNGAN
SISTEM
o
MASUKAN POLA MODEL
KE FILE
o
SETTING KONSTANTA
SISTEM PENGENALAN
*
SISTEM UTAMA
Keterangan
* : iterasi o : pilihan
o
UBAH LINGKUNGAN SISTEM
o
MASUKAN POLA MODEL
KE FILE
o
SETTING
KONSTANTA
o
PEMBUATAN
DATA ACUAN
o
PENGENALAN
*
PROSES PENGENALAN
BUAT LAPORAN
BACA CITRA AKSARA
EKSTRAKSI CIRI
PEMBANDINGAN
PENGAMBILAN KEPUTUSAN
*
PROSES PEMBUATAN
DATA ACUAN
*
CARI FREKUENSI ACUAN
*
CARI NILAI
AMBANG
CARI MEDIAN NILAI AMBANG
TULIS KE FILE ACUAN
BACA CITRA AKSARA
MASUKAN IDENTITAS AKSARA
BACA CITRA AKSARA
EKSTRAKSI CIRI
EKSTRAKSI CIRI
PEMBANDINGAN
11
Struktur Diagram Jackson sistem pengenalan pada Gambar 3.2 selanjutnya
ditulis dalam bentuk struktur teks sebagai berikut :
SISTEM_PENGENALAN seq
PERSIAPAN_LINGKUNGAN_SISTEM
PERSIAPAN_LINGKUNGAN_SISTEM sel (MASUKAN_POLA_MODEL_KE_FILE)
MASUKAN_POLA_MODEL_KE_FILE;
PERSIAPAN_LINGKUNGAN_SISTEM alt (SETTING_KONSTANTA)
SETTING_KONSTANTA;
PERSIAPAN_LINGKUNGAN_SISTEM end;
SISTEM_UTAMA itr while (UBAH_LINGKUNGAN_SISTEM or PEMBUATAN_DATA_ACUAN or
PENGENALAN)
SISTEM_UTAMA sel (UBAH_LINGKUNGAN_SISTEM)
UBAH_LINGKUNGAN_SISTEM
UBAH_LINGKUNGAN_SISTEM sel (MASUKAN_POLA_MODEL_KE_FILE)
MASUKAN_POLA_MODEL_KE_FILE;
UBAH_LINGKUNGAN_SISTEM alt (SETTING_KONSTANTA)
SETTING_KONSTANTA;
UBAH_LINGKUNGAN_SISTEM end;
SISTEM_UTAMA sel (PEMBUATAN_DATA_ACUAN)
PEMBUATAN_DATA_ACUAN
c_aksara 1;
PROSES_PEMBUATAN_DATA_ACUAN itr while (c_aksara banyak_aksara)
MASUKAN_IDENTITAS_AKSARA;
c_acuan 1;
CARI_FREKUENSI_ACUAN itr while (c_acuan banyak_acuan)
BACA_CITRA_AKSARA;
EKSTRAKSI_CIRI;
CARI_FREKUENSI_ACUAN end;
c_banding 1;
CARI_NILAI_AMBANG itr while (c_banding banyak_banding)
BACA_CITRA_AKSARA;
EKSTRAKSI_CIRI;
PEMBANDINGAN;
CARI_NILAI_AMBANG end:
CARI_MEDIAN_NILAI_AMBANG;
TULIS_KE_FILE_ACUAN;
PROSES_PEMBUATAN_DATA_ACUAN end;
PEMBUATAN_DATA_ACUAN end;
SISTEM_UTAMA alt (PENGENALAN)
RECOGNATION seq
AKTIFKAN_DATAAKSARA;
PROSES_PENGENALAN itr while (banyak_uji_coba)
BACA_CITRA_AKSARA;
12
EKSTRAKSI_CIRI;
PEMBANDINGAN;
PENGAMBILAN_KEPUTUSAN;
PROSES_PENGENALAN end;
BUAT_LAPORAN;
PENGENALAN end;
SISTEM_UTAMA end;
SISTEM_PENGENALAN end.
Variabel pembantu dalam struktur teks di atas (c_aksara, c_acuan dan
c_banding) serta konstanta pembantu (banyak_aksara, banyak_acuan dan
banyak_banding) digunakan untuk menentukan berapa kali pengulangan proses
(iterasi) pada masing-masing modul, yang pada struktur diagram belum terlihat
secara jelas. Banyak_aksara adalah banyak aksara yang akan didaftar,
banyak_acuan adalah banyak aksara acuan, banyak_banding adalah banyak aksara
pembanding yang dicari median nilai bedanya sebagai nilai ambang.
3.7.2 Bagan Alir Proses
Bagan alir diperlukan untuk memperjelas proses-proses yang dilakukan,
terutama pada proses pengenalan dan tahap pendaftaran. Langkah-langkah yang
dilakukan sehingga bisa menghasilkan suatu keputusan yang dapat mengenali jenis
karakter yang diuji, mencakup tahap ekstraksi ciri, tahap pembandingan dan tahap
pengambilan keputusan terlihat pada Gambar 3.3 mengenai bagan alir proses
pengenalan Aksara Bali. Bagan alir ini sebagai perincian dari langkah-langkah dan
perhitungan yang terjadi pada modul Pengenalan. Sedangkan bagan alir yang
merupakan perincian dari langkah-langkah serta perhitungan pada modul
PEMBUATAN_DATA_ACUAN diperlihatkan dalam Gambar 3.4..
Proses pembandingan baik yang ada pada modul Pengenalan maupun pada
tahap pendaftaran (modul PEMBUATAN_DATA_ACUAN) adalah bagian yang
paling banyak memerlukan proses perhitungan (persamaannya ada pada Sub Bab
3.3.2). Perhitungan-perhitungan yang dilakukan diantaranya perhitungan untuk
mendapatkan frekuensi kemunculan rata-rata (mean frequency), varians, nilai eigen,
vektor eigen dan perhitungan nilai ketidaksamaan, sehingga tahap pembandingan
dapat menghasilkan laporan tentang nilai ketidaksamaan yang akan dipakai sebagai
dasar pengambilan keputusan.
13
Gambar 3.3
Gambar 3.3.
Bagan alir proses pengenalan Aksara Bali
Ya
Tidak Ya
Start
Aktifkan data acuan ke i, Pi
Hitung varians ( V )
Hitung nilai eigen (), vektor eigen (l) serta
urutannya secara menurun
Simpan di Array Nilai Ketidaksamaan Aksara uji Q
Ekstraksi ciri citra Aksara Bali uji Q
Hitung ketidaksamaan D(Pi,Q)
Uji lagi ?
Stop
D(Pi,Q) Cci x Cd
Hasil uji Q
“Tidak Terdaftar”
Hasil uji Q “Dikenali Sebagai
aksara ke-i”
Laporan
- daftar hasil - daftar D(Pi,Q)
- waktu proses
Tidak
Tidak
Ya
Masukkan Aksara Uji
Record Terakhir
?
Hitung frekuensi
rata-rata (x/)
Proses Pencarian Nilai D(Pii,Q) Terkecil
Inc(i)
14
Gambar 3.4
Bagan alir tahap pendaftaran
Tidak
Tidak Ya
Ya
Aktifkan citra Aksara Bali Acuan
Stop
Id sudah terdaftar ?
Hitung frekuensi
rata-rata (x/) dari Pid
Hitung varians ( V )
Hitung nilai eigen (), vektor eigen (l) serta
urutannya secara menurun
Mendaftarkan Aksara Bali baru lagi?
Baca citra
Ekstraksi ciri, simpan ke array Pid[m]
Masukkan Nomor Id
Masukkan nama Aksara Bali
m = 0 t = 0
Ya
m > 3 Tidak
Inc(m)
Ya
t > 3 Tidak
Inc(t)
Hitung nilai ketidaksamaan D(Pid,Qt)
Baca citra
Ekstraksi ciri Aksara Bali ke-t+3
Cari median dari D(Pid,Qt) sebagai
nilai ambang (Ccid)
Tulis Pid ke file
basis data acuan
Start
15
3.6.3. Struktur Data
Melihat rancangan sistem yang ada maka selanjutnya disiapkan struktur data
dari rancangan sistem pengenalan yang nantinya dipergunakan pada saat
implementasi ke dalam bentuk program berbasis Borland Delphi. Adapun struktur
data utama dari program sistem pengenalan ini adalah sebagai berikut :
TModelPattern = record
Nomor : byte; //nomor pola
Model : byte; //nomor model
Pattern : array[0..4,0..4] of byte;
//pola model 5x5
end;
TArrModelPattern = array [1..DimVector] of TModelPattern;
Struktur “TModelPattern” dipakai sebagai struktur record dari file
pola model dan disimpan dalam struktur array “TArrModelPattern”. Besarnya
array yang dialokasikan untuk struktur “TArrModelPattern“ adalah sebanyak
jumlah maksimum pola model yang ada, dalam hal ini diwakili oleh konstanta
“DimVector”.
THuruf = record
IdNumber : word;
Name : string[35];
Freq :array[1.. DimVector,1..6] of word;
RefFileName : string[70];
ADis : array[1..3] of real;
Critical : real;
end;
Person : THuruf;
FileReference : file of THuruf;
Struktur “THuruf” dipakai sebagai struktur record dari variabel “Huruf“
yang berisi data masing-masing karakter Aksara Bali, selanjutnya nanti juga akan
dipergunakan sebagai struktur record dari variabel file basisdata acuan. Struktur
“THuruf” ini berisi nomor identitas, nama karakter Aksara Bali, frekuensi
kemunculan pola model dari 3 Aksara Bali acuan, nama file beserta directory dari
lokasi penyimpan file citra acuan, nilai ketidaksamaan yang dihasilkan dari 3 Aksara
Bali pembanding yang dipakai untuk mencari nilai ambang, serta nilai ambang
terpilih yang dicari dari median ketiga nilai ketidaksamaan Aksara Bali tersebut.
TPosGambar = record
AwalX, AkhirX, AwalY, AkhirY : integer;
end;
16
Struktur “TPosGambar” merupakan struktur variabel dari posisi koordinat pojok
masing-masing citra Aksara Bali.
Struktur data pendukung yang diperlukan dalam proses-proses perhitungan maupun
penyimpanan data adalah sebagai berikut:
TFrequency = array[1.. DimVector] of word;
Struktur “TFrequency” merupakan struktur variabel penyimpan frekuensi
kemunculan masing-masing pola model dari hasil ekstraksi ciri Aksara Bali.
TMeanFrequency = array[1.. DimVector] of real;
Struktur “TMeanFrequency” merupakan struktur variabel penyimpan nilai rata-
rata kemunculan setiap pola model dari ekstraksi ciri beberapa Aksara Bali acuan.
TFreqMinMean = array[1.. DimVector,1..Number] of real;
Struktur “TFreqMinMean” merupakan struktur variabel penyimpan nilai frekuensi
kemunculan masing-masing pola model dari setiap Aksara Bali acuan yang telah
dikurangi dengan frekuensi rata-rata yang bersesuaian, juga merupakan struktur dari
variabel yang menyimpan perhitungan nilai eigen.
TVariance = array[1.. DimVector,1.. DimVector] of real;
Struktur “TVariance” merupakan struktur dari variabel penyimpan hasil
perhitungan varians dan vektor eigen.
TGambar = array[1..SignHeigh,1..SignWidth] of byte;
Struktur “TGambar” merupakan struktur variabel penyimpan nilai pola biner dari
setiap piksel citra Aksara Bali, yang dalam hal ini bernilai 0 untuk piksel berwarna
putih dan bernilai 1 untuk piksel berwarna hitam. Konstanta “SignHeigh” dan
“SignWidth” adalah ukuran ruang pembatas Aksara Bali, yang dalam hal ini nilai
konstanta tersebut masing-masingnya adalah 140 piksel dan 165 piksel.
TSort = array[1.. DimVector] of byte;
Struktur “TSort” merupakan struktur variabel penyimpan hasil pengurutan dari
frekuensi kemunculan pola model.
17
3.7 Pembuatan Sistem
Pembuatan sistem merupakan tahap pengembangan dan implementasi dari
rancangan sistem yang telah dibuat sebelumnya menjadi suatu sistem pengenalan
Aksara Bali dalam bentuk program komputer. Tahapan ini meliputi penentuan
kebutuhan sistem dan pemrograman yang di dalamnya.
3.7.1 Kebutuhan Sistem
Pembuatan sistem pengenalan Aksara Bali yang intinya pengembangan
rancangan sistem sebelumnya melalui pemrograman komputer, memerlukan
perangkat-perangkat pendukung berupa perangkat keras (hardware) dan perangkat
lunak (software) yang dibutuhkan agar sistem dapat bekerja dengan baik.
Kebutuhan-kebutuhan tersebut dijelaskan sebagai berikut.
3.7.1.1 Kebutuhan Perangkat Keras
Spesifikasi komputer yang digunakan untuk mengembangkan maupun
pengujian sistem pengenalan ini adalah prosesor Intel Core i5 M 450 @2.40 GHz,
dengan memori SDRAM 2 GB dan kapasitas harddisk 500 GB.
3.7.1.2 Kebutuhan Perangkat Lunak
Sistem pengenalan ini dikembangkan dalam lingkungan sistem operasi
Microsoft Windows 7 ultimate. Pemilihan sistem operasi tersebut didasarkan atas
pertimbangan bahwa sistem pengenalan Aksara Bali secara baik hanya dapat
diimplementasikan dalam modus grafik. Microsoft Windows 7 ultimate merupakan
suatu sistem operasi berbasis grafik yang banyak menjadi pilihan saat ini. Dalam
lingkungan Windows, pembuatan antar muka grafis dapat dilakukan dengan lebih
mudah. Di samping itu Windows 7 ultimate juga mendukung bahasa pemrograman
yang dipakai mengembangkan sistem ini yaitu Borland Delphi 7.0.
Perangkat lunak lain yang diperlukan adalah program paket pengolahan
citra, dan dipergunakan pada tahapan prapemrosesan. Dalam pengerjaan penelitian
ini perangkat lunak paket pengolahan citra yang dipergunakan adalah Paint Shop
Pro.
18
3.7.2 Pemrograman
Aspek pemrograman yang dibuat dalam sistem pengenalan Aksara Bali ini
meliputi implementasi struktur program yang telah dirancang ke dalam kode-kode
bahasa pemrograman. Implementasi pemrogramannya menggunakan perangkat
lunak Borland Delphi 7.0, yaitu perangkat lunak pemrograman visual yang
dijalankan di bawah sistem operasi Windows, dengan bahasa pemrograman berbasis
Pascal.
3.7.2.1 Konstanta dan Variabel Global
Konstanta-konstanta beserta nilainya yang digunakan pada keseluruhan
program dari sistem verifikasi ini adalah sebagai berikut:
MaxHuruf = 255;
DimVector23 = 23;
DimVector42 = 42;
JumModel23 = 23;
JumModel42 = 52;
Number = 3;
DefaultQi = 3;
DefaultReferName = 'R2331.Dat';
PatternName23 = 'Model23.Dat';
PatternName42 = 'Model42.Dat';
DefPartName = 'Aksara1.Dat';
DefaultCd = 3;
SignWidth = 165;
SignHeigh = 140;
Variabel global merupakan variabel yang dideklarasikan di luar
semua fungsi dan prosedur yang ada, sehingga ia dapat diakses (dibaca,
ditulisi atau diubah) oleh fungsi dan prosedur apapun yang ada dalam
program itu. Adapun variabel-variabel global yang dipakai dalam sistem
pengenalan ini adalah :
FileReference : file of THuruf;
Person : THuruf;
ArrModelPattern : TArrModelPattern;
Berubah : Boolean;
Cd : Real;
Qi : Integer;
FParticipantName, FReferName, FPatternName :
String;
FilePattern : File Of TModelPattern;
19
Error, CountPattern, CounterList, PrevCounterList :
byte;
PosGambar : Array[1..9] of TPosGambar;
awalX,awalY,akhirX,akhirY : Integer;
DefDirectory : String;
EnrollLoad : Boolean;
PrMeanFreq, PrEigenValue: TMeanFrequency;
PrVariance,PrEigenVector : TVariance;
PrSort : TSort;
JumPattern : Byte; //banyaknya keseluruhan pola
DimVector : Byte; //banyaknya model
ArrHuruf : Array[1..MaxHuruf] of THuruf;
BanyakHuruf : Byte;
Participant : TParticipant;
FileParticipant : File Of TParticipant;
3.7.2.2 Form Utama
Window Form adalah tempat di mana semua komponen visual dan
komponen non visual diletakkan untuk membentuk sebuah aplikasi. Bagian yang tak
terpisahkan dari form adalah unit yang berhubungan langsung dengan form
tersebut. Unit berisi deklarasi tipe data, fungsi dan prosedur. Rancangan form utama
dari sistem pengenalan ini diberi nama FUtama.frm adalah seperti terlihat pada
Gambar 3.5 dengan unit bernama Sign1.pas. Dalam form utama ini berisi menu
dalam bentuk tombol-tombol (push button menu) yang diperlukan oleh pengguna
dalam menjalankan sistem pengenalan serta memanggil form-form lainnya, juga
sebagai tempat berlangsungnya sebagian besar proses.
20
Gambar 3.5
Tampilan Form Utama sistem pengenalan
Selanjutnya diuraikan mengenai keterangan masing-masing nomor dan
tombol-tombol pada tampilan Gambar 3.5 beserta beberapa baris penting dari fungsi
atau prosedur pendukungnya.
Grup 1
Grup 1 merupakan panel yang digunakan untuk melakukan proses
pengenalan sebuah aksara uji serta menampilkan hasilnya, juga menampilkan citra
aksara yang sedang aktif.
1. Nomor 1a adalah panel yang digunakan untuk menampilkan nama file
citra aksara aktif.
2. Nomor 1b adalah tempat menampilkan citra aksara aktif.
Grup 1
Grup 2
Grup 3
Grup 4 1a
2b
2a
1b
1e
1d
1c
3a
2d
2c
21
3. Nomor 1c adalah tempat menampilkan hasil pengenalan, yaitu “Huruf
ke-K” untuk aksara yang dikenali atau “Tidak Terdaftar” untuk huruf
yang tidak dikenali oleh sistem.
4. Nomor 1d adalah tempat untuk menampilkan nilai beda dari hasil
pengenalan.
5. Nomor 1e adalah tempat menampilkan waktu proses.
6. Tombol Proses digunakan untuk menjalankan proses pengenalan
terhadap aksara aktif. Adapun program yang dijalankan adalah :
procedure TFUtama.SBVerifyClick(Sender: TObject);
var Beda : Real;
S : String;
WaktuMulai, WaktuSelesai : TDateTime;
JamMulai, JamSelesai, Menit, Detik, MDetik : Word;
MDetikMulai, MDetikSelesai, TotalWaktu : Double;
i : byte;
ArrayBeda : TArrBeda;
Gambar : TGambar;
Hurufke : Byte;
begin
//FVerificate.Show;
FGauge.Height := 134;
FGauge.Gauge1.Progress := 0;
FGauge.Show;
FGauge.Refresh;
WaktuMulai := Time;
Gambar := BacaHuruf;
for i := 1 to BanyakHuruf do
Begin
{Mencari Variance, EigenVektor, EigenValue dan MeanFrek}
Person := ArrHuruf[i];
PrMeanFreq := CountMeanFrequency(Person);
PrVariance := CountVariance(PrMeanFreq,Person);
EigenSort(PrVariance,PrEigenVector,PrEigenValue,PrSort;
ArrayBeda[i] := Recognice(Gambar)
End;
Hurufke := Terkecil(ArrayBeda);
WaktuSelesai := Time;
Fgauge.Close;
FGauge.Height := 238;
If ArrayBeda[Hurufke] <= Cd * ArrHuruf[Hurufke].Critical Then
Begin
ST_Status.Font.Color := clBlue;
Str(ArrayBeda[Hurufke],S);
ST_Dissimilarity.Caption := S;
Str(Hurufke,S);
ST_Status.Caption:='(' + S + ')' + ArrHuruf[Hurufke].Name;
22
End Else
Begin
ST_Status.Font.Color := clRed;
Str(ArrayBeda[Hurufke],S);
ST_Dissimilarity.Caption := S;
Str(Hurufke,S);
ST_Status.Caption := '(' + S + ')' + ' Tidak Terdaftar' ;
End;
//Hitung waktu proses
DecodeTime(WaktuMulai,JamMulai,Menit,Detik,MDetik);
MDetikMulai :=((JamMulai*60+Menit)*60 + Detik)*1000 + MDetik;
DecodeTime(WaktuSelesai,JamSelesai,Menit,Detik,MDetik);
If JamSelesai >= JamMulai Then
MDetikSelesai:=((JamSelesai*60+Menit)*60+Detik)*1000+MDetik
Else //antisipasi melewati jam 12
MDetikSelesai:=(((JamSelesai+12)*60+Menit)*60+Detik)*1000
MDetik;
TotalWaktu := MDetikSelesai - MDetikMulai;
ST_Time.Caption := ' ' + FloatToStr(TotalWaktu) + ' Milli
Second';
end;
Grup 2
Grup 2 adalah panel untuk tempat memilih Aksara Bali yang akan dikenali,
baik nama file, filter, drive, maupun directory citra Aksara.
1. Nomor 2a adalah filter combo box, yang digunakan untuk menyaring
file-file yang ditampilkan yaitu file-file citra yang penamaannya
disesuaikan khusus untuk citra Aksara Bali pada penelitian ini, filter
tersebut adalah : All Bitmap File (*.bmp), adalah filter untuk semua nama
file citra bitmap.
2. Nomor 2b adalah file list box yang digunakan untuk tempat
menampilkan nama-nama file citra yang telah disaring menurut filter
yang telah dipilih, dari nama-nama file ini dipilih Aksara Bali mana saja
yang akan dikenali.
3. Nomor 2c adalah drive combo box yang digunakan untuk memilih drive.
4. Nomor 2d adalah directory list box yang digunakan sebagai tempat
untuk memilih direktori.
5. Tombol Select digunakan untuk memilih nama file yang akan dikenali.
23
Grup 3 List of Selected Files
Grup 3 adalah panel untuk tempat menampilkan daftar Aksara bali yang
telah dipilih dan akan dikenali, beserta tombol-tombol untuk mengurangi pilihan
dan melihat hasil pengenalan.
1. Nomor 3a adalah obyek list box, yang digunakan untuk menampung
nama-nama file citra Aksara Bali terpilih yang akan dikenali.
2. Tombol Verify List digunakan untuk menjalankan proses pengenalan
terhadap file-file citra Aksara Bali yang ada dalam daftar dan selanjutnya
menampilkan hasilnya dalam form FRptGroup.frm. Adapun program
yang dijalankan adalah sebagai berikut :
procedure TFUtama.SBVerifyListClick(Sender: TObject);
var i,j,k, HurufKe : byte;
S : String;
Beda : Real;
WaktuMulai, WaktuSelesai : TDateTime;
JamMulai, JamSelesai, Menit, Detik, MDetik : Word;
MDetikMulai, MDetikSelesai, TotalWaktu : Double;
Gambar : TGambar;
ArrayBeda : TArrBeda;
begin
FGauge.Gauge1.Progress := 0;
FGauge.Gauge2.Progress := 0;
FGauge.Label4.Caption := IntToStr(CounterList);
FGauge.Show;
FGauge.Refresh;
For i := 0 To PrevCounterList-1 Do
For j := 0 To 3 Do
FRptGroup.StringGrid1.Cells[j,i] := '';
WaktuMulai := Time;
For i := 1 To CounterList Do
Begin
Image1.Picture.LoadFromFile(ListBox2.Items[i-1]);
Gambar := BacaHuruf;
for k := 1 to BanyakHuruf do
Begin
{Mencari Variance,EigenVektor,EigenValuedan MeanFrek}
Person := ArrHuruf[k];
PrMeanFreq := CountMeanFrequency(Person);
PrVariance := CountVariance(PrMeanFreq,Person);
EigenSort(PrVariance,PrEigenVector,PrEigenValue,
PrSort);
ArrayBeda[k] := Recognice(Gambar)
End;
Hurufke := Terkecil(ArrayBeda);
FRptGroup.StringGrid1.Cells[0,i-1] := IntToStr(i);
FRptGroup.StringGrid1.Cells[1,i-1] := ListBox1.Items[i-1];
Str(ArrayBeda[Hurufke],S);
FRptGroup.StringGrid1.Cells[2,i-1] := S;
24
Str(Hurufke,S);
If ArrayBeda[Hurufke]<= Cd*ArrHuruf[Hurufke].Critical Then
FRptGroup.StringGrid1.Cells[3,i-1] := '(' + S + ')' +
ArrHuruf[Hurufke].Name
Else
FRptGroup.StringGrid1.Cells[3,i-1] := '(' + S + ')' +
' Tidak Terdaftar';
FGauge.Gauge2.Progress := (i*100) div CounterList;
End;
WaktuSelesai := Time;
Fgauge.Close;
PrevCounterList := CounterList;
//Hitung waktu proses
DecodeTime(WaktuMulai,JamMulai,Menit,Detik,MDetik);
MDetikMulai :=((JamMulai*60+Menit)*60 + Detik)*1000 + MDetik;
DecodeTime(WaktuSelesai,JamSelesai,Menit,Detik,MDetik);
If JamSelesai >= JamMulai Then
MDetikSelesai := ((JamSelesai*60+Menit)*60+Detik)*1000
+MDetik
Else //antisipasi melewati jam 12
MDetikSelesai :=(((JamSelesai+12)*60+Menit)*60+ Detik)*1000
+ MDetik;
TotalWaktu := MDetikSelesai - MDetikMulai;
FRptGroup.STVer.Caption := ' ' + IntToStr(CounterList);
FRptGroup.STTime.Caption := ' ' + FloatToStr(TotalWaktu) + '
Milli Second';
SBResult.Enabled := True;
FRptGroup.Position := poScreenCenter;
FRptGroup.ShowModal;
end;
1. Tombol New List digunakan untuk mengosongkan daftar nama file
yang ada pada obyek list box nomor 3a.
2. Tombol Unselect digunakan untuk membuang nama file citra Aksara
Bali yang ditunjuk pada obyek list box nomor 3a.
3. Tombol Result digunakan untuk melihat kembali daftar hasil
pengenalan yang telah dilakukan sebelumnya dengan memanggil form
FRptGroup.frm.
Grup 4
Grup 4 merupakan panel tempat tombol-tombol perintah umum yang
digunakan dalam sistem pengenalan ini. Adapun tombol-tombolnya adalah :
1. Tombol About digunakan untuk memanggil form FSignAbout.frm yang
berisi informasi tentang sistem pengenalan.
25
2. Tombol Setting digunakan untuk memanggil form FSetEnv.frm yang
berisi tempat untuk mengubah nilai variabel lingkungan sistem.
3. Tombol Enrollment digunakan untuk memanggil form
FEnrollGroup.frm yang merupakan tempat pendaftaran aksara baru.
4. Tombol Browse digunakan untuk memanggil form FBrowse.frm yang
berisi nama-nama aksara yang telah terdaftar pada basisdata acuan.
5. Tombol New Model digunakan untuk memasukkan pola model baru ke
file referensi melalui pemanggilan form FModel.frm.
6. Tombol Show Model digunakan untuk menampilkan pola model
referensi yang telah ada melalui pemanggilan form FModel.frm.
7. Tombol Exit digunakan untuk keluar dari sistem pengenalan.
Selain fungsi dan prosedur yang telah dipaparkan di atas, juga ada beberapa
fungsi dan prosedur penting lainnya dalam unit Sign1.pas ini. Fungsi dan
prosedur tersebut diantaranya :
Rutin untuk menghitung nilai eigen serta vektor eigen
procedure ROTATE(s, tau : real; var ATemp : TVariance;
i,j,k,l : integer);
var g, h : real;
begin
g := ATemp[i,j];
h := ATemp[k,l];
ATemp[i,j] := g-s*(h+g*tau);
ATemp[k,l] := h+s*(g-h*tau);
end;
procedure Jakobi(A :TVariance;var V : TVariance;
var D:TMeanFrequency);
var B,Z : array[1..DimVector67] of real;
ip,iq, i, j : integer;
sm,tresh,theta,t,c,s,tau,g,h : double;
begin
for ip := 1 to DimVector do
begin
for iq := 1 to DimVector do V[ip,iq] := 0;
V[ip,ip] := 1;
B[ip] := A[ip,ip];
D[ip] := A[ip,ip];
Z[ip] := 0;
end;
for i := 1 to 50 do
begin
sm := 0;
for ip := 1 to DimVector-1 do
26
for iq := ip+1 to DimVector do sm := sm + abs(A[ip,iq]);
if sm = 0 then exit;
if i < 4 then tresh := 0.2*sm/(DimVector*DimVector)
else tresh := 0;
for ip := 1 to DimVector-1 do
begin
for iq := ip+1 to DimVector do
begin
g := 100 * abs(A[ip,iq]);
if ((i>4) and ((abs(d[ip])+g) = abs(d[ip]))
and ((abs(d[iq])+g) = abs(d[iq])))
then A[ip,iq] := 0
else if abs(A[ip,iq]) > tresh then
begin
h := d[iq]-d[ip];
if ((abs(h)+g) = abs(h)) then
t := A[ip,iq]/h
else begin
theta := 0.5*h/A[ip,iq];
t := 1/(abs(theta)+sqrt(1+theta*theta));
if theta < 0 then t := -t;
end;
c := 1/sqrt(1+t*t);
s := t*c;
tau := s/(1+c);
h := t*A[ip,iq];
Z[ip] := Z[ip] - h;
Z[iq] := Z[iq] + h;
D[ip] := D[ip] - h;
D[iq] := D[iq] + h;
A[ip,iq] := 0;
for j := 1 to ip-1 do ROTATE(s,tau,A,j,ip,j,iq);
for j := ip+1 to iq-1 do ROTATE(s,tau,A,ip,j,j,iq);
for j := iq+1 to DimVector do
ROTATE(s,tau,A,ip,j,iq,j);
for j := 1 to DimVector do ROTATE(s,tau,V,j,ip,j,iq);
end;
end;
end;
for ip := 1 to DimVector do
begin
b[ip] := b[ip] + z[ip];
d[ip] := b[ip];
z[ip] := 0;
end;
end;
ShowMessage('error : terlalu banyak iterasi');
end;
procedure Eigensort(A : TVariance; var V : TVariance;
var D : TMeanFrequency; var Urut : TSort);
var i,j,k,temp : integer;
pe : real;
TD : TMeanFrequency;
begin
for i:= 1 to DimVector do
begin
D[i] := 0;
Urut[i] := i;
end;
Jakobi(A,V,D);
27
TD := D;
for i := 1 to DimVector do
begin
pe := TD[i];
k := i;
for j := i+1 to DimVector do
if TD[j] >= pe then
begin
pe := TD[j];
k := j;
end;
if k <> i then
begin
TD[k] := TD[i];
TD[i] := pe;
temp := Urut[i];
Urut[i] := Urut[k];
Urut[k] := temp;
end;
end;
end;
Prosedur untuk menghitung frekuensi kemunculan pola model
procedure CountFrequency(var Freq:TFrequency;
Gambar : TGambar);
var i,j,x,y : integer;
CountPattern : byte;
cocok : boolean;
awalX_L, awalY_L,akhirX_L, akhirY_L : byte;
begin
awalX_L := 1; awalY_L := 1;
akhirX_L := SignHeigh;
akhirY_L := SignWidth;
for i := 1 to DimVector do
freq[i] := 0;
for CountPattern := 1 to JumPattern do
begin
ModelPattern := ArrMOdelPattern[CountPattern];
for x := (awalX_L-4) to (akhirX_L - 4) do
for y := (awalY_L-4) to (akhirY_L - 4) do
begin
i := 0; cocok := true;
repeat
inc(i); j := 0;
repeat
inc(j);
if ((i+x-1)<awalX_L) or ((j+y-1)<awalY_L) then
begin
if ModelPattern.Pattern[i-1,j-1] <> 0
then cocok := false;
end else
if ModelPattern.Pattern[i-1,j-1] <>
gambar[i+x-1,j+y-1] then cocok := false;
until (cocok = false) or (j = 5);
until (cocok = false) or (i = 5);
if (cocok = true) and (i=5) and (j=5)
then inc(Freq[ModelPattern.Model]);
end;
28
FGauge.Gauge1.Progress := CountPattern;
end;
end;
Rutin untuk menghitung matriks varians
function CountMeanFrequency(sampel: TPersonSign) :
TmeanFrequency;
var i : integer; bantu : word;
Mi : byte;
begin
for i := 1 to DimVector do
begin
bantu := 0;
for Mi := 1 to Number do
bantu := bantu + sampel.freq[i,Mi];
CountMeanFrequency[i] := bantu / number;
end;
end;
function CountFreqMinMean(Mean : TMeanFrequency;
Pr : TPersonSign) : TFreqMinMean;
var i,j : integer;
begin
for i := 1 to Number do
for j := 1 to DimVector do
CountFreqMinMean[j,i] := Pr.Freq[j,i];//-Mean[j];
end;
function CountVariance(Mean : TMeanFrequency;
Pr : TpersonSign): TVariance;
var Bantu : TVariance;
i,j,k : integer; temp : real;
vector : TFreqMinMean;
begin
Vector := CountFreqMinMean(Mean,Pr);
for i := 1 to DimVector do
for j := 1 to DimVector do
begin
Temp := 0;
for k := 1 to Number do
Temp := Temp + Vector[i,k]*Vector[j,k];
Bantu[i,j] := Temp/Number;
end;
CountVariance := Bantu;
end;
Rutin untuk menghitung nilai ketidaksamaan
function CountZ1(L : TVariance; k : integer; X : TFrequency;
Urut : TSort) : real;
var bantu : real; i : integer;
begin
bantu := 0;
for i := 1 to DimVector do
bantu := bantu + L[i,Urut[k]]*X[Urut[i]];
CountZ1 := bantu;
29
end;
function CountZ2(L : TVariance; k : integer;
X : TMeanFrequency; Urut : TSort) : real;
var bantu : real;
i : integer;
begin
bantu := 0;
for i := 1 to DimVector do
bantu := bantu + L[i,Urut[k]]*X[Urut[i]];
CountZ2 := bantu;
end;
function CountDissimilarity (L : TVariance; Lamda, XMean :
TMeanFrequency; X : TFrequency; Urut : TSort) : real;
var dis1, dis2 : real;
k : integer;
begin
dis1 := 0;
for k := 1 to qi do
begin
if Lamda[Urut[k]] <> 0 then
dis1 := dis1 + (SQR(CountZ1(L,k,X,Urut)-
countZ2(L,k,XMean,Urut))/Lamda[Urut[k]])
else begin
if error <> 2 then Error := 1;
exit;
end;
end;
dis2 := 0;
for k := qi+1 to DimVector do
dis2 := dis2 + (SQR(CountZ1(L,k,X,Urut)-
countZ2(L,k,XMean,Urut))/Lamda[Urut[qi]]);
CountDissimilarity := dis1 + dis2;
end;
Rutin pengenalan
Function BacaHuruf : TGambar;
var i,j : byte;
Gambar : TGambar;
Begin
for i := 1 to SignHeigh do
for j := 1 to SignWidth do
Gambar[i,j] := 0;
for i := 0 to SignHeigh-1 do
for j := 0 to SignWidth-1 do
Begin
if FUtama.Image1.Canvas.Pixels[j,i] >= (clWhite -
(clWhite div 3)) Then
Gambar[i+1,j+1] := 0
else Gambar[i+1,j+1] := 1;
End;
BacaHuruf := Gambar;
End;
Function Recognice(Gambar : TGambar) : Real;
Var FreqCounterSign : TFrequency;
30
Begin
CountFrequency(FreqCounterSign,Gambar);
Recognice := CountDissimilarity(PrEigenVector,
PrEigenValue,PrMeanFreq,FreqCounterSign,PrSort);
End;
3.7.2.3 Form Pendaftaran
Form pendaftaran diberi nama FEnrollGroup.frm (terlihat pada
Gambar 3.6) dengan unit programnya bernama UEnrollGroup.pas. Form ini
digunakan sebagai form tempat pendaftaran aksara baru yang datanya akan
dimasukkan ke dalam file basisdata acuan. Dalam sekali pemanggilannya bisa
digunakan untuk mendaftarkan lebih dari satu aksara baru. Selain itu form ini juga
digunakan untuk menampilkan citra Aksara Bali acuan tersebut
Gambar 3.6
Tampilan Form Pendaftaran
1. Nomor 1 adalah tempat untuk menampilkan nomor identitas Aksara Bali
yang akan didaftarkan.
2. Nomor 2 adalah tempat memasukkan atau menampilkan nama Aksara
Bali.
3. Nomor 3 adalah tempat untuk menampilkan waktu proses.
4. Nomor 4 adalah tempat menampilkan citra Aksara Bali acuan.
1
7 6
5
4 3
2
31
5. Nomor 5 adalah tempat menampilkan nilai beda antara aksara acuan
dengan aksara pembanding C1.
6. Nomor 6 adalah tempat menampilkan nilai beda antara aksara acuan
dengan aksara pembanding C2.
7. Nomor 7 adalah tempat menampilkan nilai beda antara aksara acuan
dengan aksara pembanding C3.
8. Tombol Close digunakan untuk keluar dari form pendaftaran.
Adapun program yang dijalankan adalah sebagai berikut :
procedure TFEnrollGroup.BBProcessClick(Sender: TObject);
var Mi,Ms : byte;
i,j, Code : integer;
TempPerson : THuruf;
Freq : TFrequency;
EGMeanFreq, EGEigenValue: TMeanFrequency;
TempFreq :Array[1..DimVector67,1..3] Of Real;
EGVariance,EGEigenVector : TVariance;
EGSort : TSort;
Temp : Array[1..3] of Real;
S : String;
IDNumber : word;
Dissimilarity, Selisih, selisih2, bantu : real;
Gambar : TGambar;
WaktuMulai, WaktuSelesai : TDateTime;
JamMulai, JamSelesai, Menit, Detik, MDetik : Word;
MDetikMulai, MDetikSelesai, TotalWaktu : Double;
k : String;
begin
BBProcess.Enabled := False;
error := 0;
FGauge.Show;
FGauge.Label4.Caption := '6';
FGauge.Refresh;
FGauge.Gauge1.Progress := 0;
FGauge.Gauge2.Progress := 0;
WaktuMulai := Time;
Val(EdIDNumber.Text,IDNumber,Code);
TempPerson.IDNumber := IDNumber;
TempPerson.Name := EdName.Text;
TempPerson.RefFileName := RefFileName;
For Mi := 1 to Number do
Begin
Image1.Picture.LoadFromFile(ListBox2.Items[Mi-1]);
AwalX := 1;//PosGambar[1].AwalX;
AkhirX := 1;//PosGambar[1].AkhirX;
AwalY := 1;//PosGambar[1].AwalY;
AkhirY := 1;//PosGambar[1].AkhirY;
for i := 1 to SignHeigh do
for j := 1 to SignWidth do
Gambar[i,j] := 0;
for i := AwalX to AkhirX do
32
for j := AwalY to AkhirY do
Begin
if Image1.Canvas.Pixels[j,i] >= (clWhite -
(clWhite div 3)) Then
Gambar[i-AwalX+1,j-AwalY+1] := 0
else Gambar[i-AwalX+1,j-AwalY+1] := 1;
End;
CountFrequency(Freq, Gambar);
for i := 1 to DimVector do
TempPerson.freq[i,Mi] := Freq[i];
FGauge.Gauge2.Progress := 10*Mi;
End;
EGMeanFreq := CountMeanFrequency(TempPerson);
EGVariance := CountVariance(EGMeanFreq, TempPerson);
EigenSort(EGVariance,EGEigenVector, EGEigenValue, EGSort);
FGauge.Gauge2.Progress := 70;
For Ms := 1 to 3 do
Begin
Image1.Picture.LoadFromFile(LstBox2.Items[Number+Ms1]);
for i := 1 to SignHeigh do
for j := 1 to SignWidth do
Gambar[i,j] := 0;
for i := AwalX to AkhirX do
for j := AwalY to AkhirY do
Begin
if Image1.Canvas.Pixels[j,i] >= (clWhite -
(clWhite div 3)) Then
Gambar[i-AwalX+1,j-AwalY+1] := 0
else Gambar[i-AwalX+1,j-AwalY+1] := 1;
End;
CountFrequency(Freq, Gambar);
Dissimilarity:=CountDissimilarity(EGEigenVector,EGEigen
Value, EGMeanFreq,Freq,EGSort);
If error = 1 Then
Begin
EdDissC1.Text := '';
EdDissC2.Text := '';
EdDissC3.Text := '';
ShowMessage('Divided by zero, next or be smaller
Qi !')
End else
Begin
TempPerson.ADis[Ms] := Dissimilarity;
Temp[Ms] := Dissimilarity;
Str(Temp[Ms], S);
Case Ms of
1 : EdDissC1.Text := S;
2 : EdDissC2.Text := S;
3 : EdDissC3.Text := S;
End;
End;
FGauge.Gauge2.Progress := 10*(Ms+7);
End;
If Error <> 1 Then
Begin
for i := 1 to 2 do
for j := i+1 to 3 do
33
if Temp[i] < Temp[j] Then
Begin
bantu := Temp[i];
Temp[i] := Temp[j];
Temp[j] := bantu;
End;
TempPerson.Critical := Temp[2];
Write(FileReference,TempPerson);
Inc(BanyakHuruf);
ArrHuruf[BanyakHuruf] := TempPerson;
FUtama.SBVerify.Enabled := True;
FUtama.SBBrowsePerson.Enabled := True;
End;
WaktuSelesai := Time;
FGauge.Close;
//Hitung waktu proses
DecodeTime(WaktuMulai,JamMulai,Menit,Detik,MDetik);
MDetikMulai := ((JamMulai*60+Menit)*60+ Detik)*1000 + MDetik;
DecodeTime(WaktuSelesai,JamSelesai,Menit,Detik,MDetik);
If JamSelesai >= JamMulai Then
MDetikSelesai :=((JamSelesai*60 + Menit)*60 + Detik)*1000 +
MDetik
Else //antisipasi melewati jam 12
MDetikSelesai := (((JamSelesai+12)*60 + Menit)*60 + Detik)
*1000 + MDetik;
TotalWaktu := MDetikSelesai - MDetikMulai;
STTime.Caption := ' ' + FloatToStr(TotalWaktu) + ' Milli
Second';
EdIDNumber.SetFocus;
//FCoba1.Show;
end;
3.7.2.4 Form-Form Pendukung
Form-form pendukung sistem adalah form-form tambahan yang digunakan
oleh sistem pengenalan untuk menampilkan informasi atau mengerjakan bagian-
bagian yang tidak bisa dikerjakan pada form utama karena keterbatasan tempat.
Adapun form-form tersebut adalah sebagai berikut :
34
Gambar 3.7
Tampilan Form Daftar Aksara Bali
Form Daftar Aksara Bali
Form daftar Aksara Bali dinamakan FBrowse.frm seperti yang terlihat pada
Gambar 3.7 dengan unit UBrowse.pas digunakan sebagai tempat untuk
menampilkan data aksara yang telah terdaftar pada file basisdata acuan. Data
tersebut diantaranya nomor identitas aksara, nama aksara, nilai ambang dan nilai
ketidaksamaan aksara acuan dengan aksara pembanding C1, C2 dan C3.
Form Lingkungan Sistem
Form lingkungan sistem dinamakan FSetEnv.frm seperti yang terlihat pada
Gambar 3.8 dengan unit USetEnv.pas digunakan sebagai tempat untuk
mengubah variabel-variabel lingkungan sistem, seperti memilih pola model yang
digunakan (memakai obyek radio button), nomor pemotongan nilai eigen (Q) dan
koefisien pengali nilai kritis (Cd). Setelah dilakukan perubahan nilai salah satu
variabel, maka sistem akan secara otomatis mengaktifkan file-file yang sesuai
dengan variabel itu, baik file basisdata acuan maupun file pola model.
35
b
Gambar 3.8
Tampilan Form Lingkungan Sistem
Form Pola Model
Form pola model dinamakan FModel.frm seperti yang terlihat pada
Gambar 3.9 dengan unit UModel.pas digunakan sebagai tempat untuk
menampilkan pola model yang sedang aktif dan memasukkan pola model baru yang
akan digunakan dalam sistem pengenalan. Form pola model akan menampilkan
sebuah pola dalam tabel berukuran 5 x 5 kotak beserta nomor urut dan nomor
modelnya. Form ini juga menyediakan fasilitas untuk menyimpan pola model
(melalui tombol Save), untuk melihat pola nomor urut sebelumnya (menggunakan
tombol Back), serta pola nomor urut sesudahnya (menggunakan tombol Next).
Form Indikator Proses
Form indikator proses dinamakan FGauge.frm seperti yang terlihat pada
Gambar 3.10 dengan unit UTtdGauge.pas digunakan sebagai tempat indikator
proses pengenalan sedang berlangsung, baik pengenalan untuk sebuah Aksara bali
maupun pengenalan Aksara Bali secara berkelompok. Indikator ini memanfaatkan
fasilitas obyek gauge.
Form Informasi Sistem
Form informasi sistem dinamakan FSignAbout.frm seperti yang terlihat
pada Gambar 3.11 dengan unit USignAbout.pas digunakan sebagai tempat
36
untuk menampilkan informasi tentang sistem pengenalan. Informasi ini berupa judul
sistem, gambar, nama pengembang sistem, serta nama instansi program pascasarjana
Gambar 3.9
Tampilan Form Pola Model
Gambar 3.10
Tampilan Form Indikator Proses
37
BAB IV. HASIL DAN PEMBAHASAN
Bab Pengujian dan Analisis Hasil ini diawali dengan pembahasan mengenai
implementasi sistem, dilanjutkan dengan pengujian sistem serta analisis dari hasil
pengujian tersebut. Sebelum itu terlebih dahulu dijelaskan faktor-faktor yang
berpengaruh terhadap proses pengujian. Kemudian dibahas mengenai hasil
pengujian beserta analisisnya. Selain itu juga dilengkapi dengan analisis terhadap
kompleksitas waktu eksekusi dan ruang penyimpanan.
4.1 Pengujian
Pembuatan sistem pengenalan Aksara Bali dalam penelitian ini memakai
pola-pola model dari Metode Pola Busur Terlokalisasi untuk mengekstraksi ciri
Aksara Bali masukan. Di samping menggunakan 52 buah pola (dikelompokkan
menjadi 42 pola model) seperti yang terlihat pada Gambar 2.4, juga akan dipakai
pola model baru yang pembuatannya tetap mengacu kepada batasan yang ada dalam
Metode Pola Busur Terlokalisasi ini, yaitu lokalisasi permasalahan pada pola model
yang didefinisikan di dalam sebuah bujur sangkar kecil berukuran 5 x 5, tetapi
pemilihannya berbasis pada sampel Aksara Bali yang dimasukkan.
4.1.1 Pembentukan Pola Model
Pola-pola yang dibentuk oleh titik karakteristik dalam bujur sangkar 5 x 5
menghasilkan 125 buah kemungkinan pola awal dan bisa dikelompokkan menjadi
103 pola model awal seperti terlihat pada Gambar 4.1(a) dan 4.1(b) berikut ini.
DOKUMENTASI SISTEM UJI COBA DAN ANALISA
HASIL APLIKASI PENGENALAN AKSARA BALI
38
Gambar 4.1 (a) Kemungkinan pola-pola dari Pola Busur Terlokalisasi untuk
Pola Bujursangkar 5X5 (nomor urut 1 sampai 63)
No.1 Model 1
No.2 Model 2
No.3 Model 3
No.4 Model 4
No.5 Model 5
No.6 Model 6
No.7 Model 7
No.8 Model 8
No.9 Model 9
No.10 Model 10
No.11 Model 11
No.12 Model 12
No.13 Model 13
No.14 Model 14
No.15 Model 15
No.16 Model 16
No.17 Model 17
No.18 Model 18
No.19 Model 19
No.20 Model 20
No.21 Model 21
No.22 Model 22
No.23 Model 23
No.24 Model 24
No.25 Model 25
No.26 Model 26
No.27 Model 27
No.28 Model 28
No.29 Model 29
No.30 Model 30
No.31 Model 31
No.32 Model 32
No.33 Model 33
No.34 Model 34
No.35 Model 35
No.36 Model 36
No.37 Model 37
No.38 Model 38
No.39 Model 39
No.40 Model 40
No.41 Model 41
No.42 Model 42
No.43 Model 43
No.44 Model 44
No.45 Model 45
No.46 Model 46
No.47 Model 47
No.48 Model 48
No.49 Model 49
No.50 Model 50
No.51 Model 51
No.52 Model 52
No.53 Model 53
No.54 Model 54
No.55 Model 55
No.56 Model 56
No.57 Model 57
No.58 Model 58
No.59 Model 59
No.60 Model 59
No.61 Model 59
No.62 Model 60
No.63 Model 61
39
Gambar 4.1(b)
Kemungkinan pola-pola dari Pola Busur Terlokalisasi untuk
Pola Bujursangkar 5X5 (nomor urut 64 sampai 125)
No.64 Model 61
No.65 Model 61
No.66 Model 62
No.67 Model 63
No.68 Model 64
No.69 Model 64
No.70 Model 64
No.71 Model 65
No.72 Model 66
No.73 Model 66
No.74 Model 66
No.75 Model 67
No.76 Model 68
No.77 Model 69
No.78 Model 69
No.79 Model 70
No.80 Model 71
No.81 Model 71
No.82 Model 72
No.83 Model 73
No.84 Model 74
No.85 Model 74
No.86 Model 75
No.87 Model 76
No.88 Model 76
No.89 Model 77
No.90 Model 78
No.91 Model 78
No.92 Model 79
No.93 Model 80
No.94 Model 81
No.95 Model 81
No.96 Model 82
No.97 Model 83
No.98 Model 84
No.99 Model 85
No.100 Model 86
No.101 Model 87
No.102 Model 88
No.103 Model 89
No.104 Model 90
No.105 Model 91
No.106 Model 92
No.107 Model 92
No.108 Model 92
No.109 Model 93
No.110 Model 94
No.111 Model 94
No.112 Model 94
No.113 Model 95
No.114 Model 96
No.115 Model 97
No.116 Model 98
No.117 Model 98
No.118 Model 98
No.119 Model 99
No.120 Model 100
No.121 Model 101
No.122 Model 101
No.123 Model 101
No.124 Model 102
No.125 Model 103
40
4.1.2 Pemilihan Pola Model
Pengurangan waktu proses dilakukan dengan pemilihan pola dari 125 pola
di atas yang memang sering muncul pada Aksara Bali. Pemilihan pola-pola itu
dilakukan dengan menggunakan bantuan program untuk menghitung keseringan
muncul masing-masing pola tersebut pada sejumlah citra biner Aksara Bali. Sampel
data yang dipergunakan untuk membentuk pola model dalam penelitian sebanyak
600 buah citra Aksara Bali yang diambil dari beberapa buku cetak dan internet.
Adapun tipe data dan potongan program (berupa fungsi dan prosedur) yang
dipergunakan adalah sebagai berikut:
SignWidth = 165;
SignHeigh = 140;
MaxModel = 1500;
PatternName125 = 'WModel125.dat';
type
TPattern = array[0..4,0..4] of byte;
TAGambar = array[1..SignHeigh,1..SignWidth] of byte;
TWModelPattern = record
Nomor : byte;
Model : byte;
Pattern : TPattern;
Freq : word;
end;
TWArrModelPattern = array [1..125] of TWModelPattern;
var
WArrModelPattern : TWArrModelPattern;
TotalSampelSign : word;
function BacaGambar : TAGambar;
var i,j : byte;
Gambar : TAGambar;
begin
for i := 1 to SignHeigh do
for j := 1 to SignWidth do
Gambar[i,j] := 0;
for i := 0 to SignHeigh-1 do
for j := 0 to SignWidth-1 do
begin
if FModelDesign.Image1.Canvas.Pixels[j,i] >=
(clWhite - (clWhite div 3)) Then
Gambar[i+1,j+1] := 0
else Gambar[i+1,j+1] := 1;
end;
BacaGambar := Gambar;
end;
41
procedure TFModelDesign.SBCount125Click(Sender: TObject);
var NSign : word;
Gambar : TAGambar;
i,j,x,y : integer;
cocok : boolean;
NM : byte
awalX_L, awalY_L,akhirX_L, akhirY_L : byte;
begin
awalX_L := 1;
akhirX_L := SignHeigh;
awalY_L := 1;
akhirY_L := SignWidth;
for NM := 1 to 125 do WArrModelPattern[NM].Freq := 0;
for NSign := 1 to TotalSampelSign do
begin
Image1.Picture.LoadFromFile(ListBox2.Items[NSign-1]);
Gambar := BacaGambar;
for NM := 1 to 125 do
begin
for x := (awalX_L-4) to (akhirX_L - 4) do
for y := (awalY_L-4) to (akhirY_L - 4) do
begin
i := 0;
cocok := true;
repeat
inc(i);
j := 0;
repeat
inc(j);
if ((i+x-1)<awalX_L) or ((j+y-1)<awalY_L) then
begin
if WArrModelPattern[NM].Pattern[i-1,j-1] <> 0
then cocok := false;
end else
if WArrModelPattern[NM].Pattern[i-1,j-1] <>
Gambar[i+x-1,j+y-1]
then cocok := false;
until (cocok = false) or (j = 5);
until (cocok = false) or (i = 5);
if (cocok = true) and (i=5) and (j=5)
then inc(WArrModelPattern[NM].Freq);
end;
end;
end;
end;
Setelah dieksekusi dengan mempergunakan 600 buah sampel citra Aksara
Bali, hasil dari potongan program di atas adalah berupa cacah keseringan muncul
masing-masing pola model yang tersimpan pada variabel freq dalam variabel
WArrModelPattern. Tabel cacah keseringan muncul dari 125 pola tersebut seperti
terlihat pada Tabel 4.1.
42
Tabel 4.1
Frekuensi kemunculan masing-masing pola pada 600 citra biner Aksara Bali
No Model Freq No Model Freq No Model Freq No Model Fr
eq No Model
Freq
1 1 36365 26 26 19 51 51 0 76 68 0 101 87 0
2 2 489 27 27 0 52 52 0 77 69 0 102 88 8
3 3 223 28 28 9 53 53 0 78 69 0 103 89 0
4 4 743 29 29 0 54 54 2 79 70 0 104 90 15
5 5 226 30 30 0 55 55 6 80 71 0 105 91 0
6 6 244 31 31 15 56 56 0 81 71 0 106 92 1
7 7 5 32 32 0 57 57 0 82 72 0 107 92 0
8 8 171 33 33 6 58 58 58154 83 73 0 108 92 0
9 9 4 34 34 1 59 59 0 84 74 0 109 93 3
10 10 23 35 35 0 60 59 0 85 74 0 110 94 0
11 11 8 36 36 1 61 59 0 86 75 0 111 94 0
12 12 49 37 37 0 62 60 0 87 76 0 112 94 0
13 13 14 38 38 0 63 61 0 88 76 0 113 95 0
14 14 68 39 39 0 64 61 0 89 77 0 114 96 0
15 15 0 40 40 0 65 61 2 90 78 5 115 97 1
16 16 0 41 41 0 66 62 0 91 78 0 116 98 0
17 17 0 42 42 0 67 63 17262 92 79 6 117 98 1
18 18 0 43 43 0 68 64 2 93 80 2 118 98 0
19 19 30 44 44 0 69 64 0 94 81 0 119 99 0
20 20 0 45 45 0 70 64 0 95 81 0 120 100 0
21 21 0 46 46 11319 71 65 0 96 82 126 121 101 0
22 22 0 47 47 10 72 66 0 97 83 539 122 101 0
23 23 0 48 48 0 73 66 0 98 84 0 123 101 3
24 24 0 49 49 8896 74 66 0 99 85 7 124 102 3
25 25 0 50 50 2 75 67 0 100 86 32 125 103 0
Hasil dari model pola yang didapat, kemudian diurutkan berdasarkan frekuensi
kemunculan terbanyak, hasilnya dapat dilihat pada Tabel 4.2.
43
Tabel 4.2
Frekuensi kemunculan masing-masing pola
pada 600 citra Aksara Bali yang sudah diurut
No Model Freq No Model Freq No Model Freq No Model Freq No Model Freq
1 58 58154 26 11 8 51 103 0 76 92 0 101 87 0
2 1 36365 27 85 7 52 98 0 77 94 0 102 69 0
3 63 17262 28 79 6 53 68 0 78 59 0 103 69 0
4 46 11319 29 33 6 54 92 0 79 103 0 104 70 0
5 49 8896 30 55 6 55 78 0 80 17 0 105 71 0
6 4 743 31 78 5 56 64 0 81 38 0 106 71 0
7 83 539 32 7 5 57 84 0 82 44 0 107 72 0
8 2 489 33 9 4 58 81 0 83 66 0 108 56 0
9 6 244 34 102 3 59 101 0 84 62 0 109 74 0
10 5 226 35 93 3 60 66 0 85 53 0 110 75 0
11 3 223 36 101 3 61 101 0 86 57 0 111 76 0
12 8 171 37 64 2 62 73 0 87 66 0 112 76 0
13 82 126 38 50 2 63 94 0 88 41 0 113 95 0
14 14 68 39 61 2 64 81 0 89 35 0 114 77 0
15 12 49 40 54 2 65 24 0 90 100 0 115 59 0
16 86 32 41 80 2 66 52 0 91 27 0 116 37 0
17 19 30 42 34 1 67 95 0 92 30 0 117 45 0
18 10 23 43 92 1 68 51 0 93 29 0 118 64 0
19 26 19 44 98 1 69 22 0 94 25 0 119 60 0
20 90 15 45 97 1 70 59 0 95 16 0 120 65 0
21 31 15 46 36 1 71 15 0 96 48 0 121 61 0
22 13 14 47 94 0 72 40 0 97 21 0 122 23 0
23 47 10 48 48 0 73 99 0 98 42 0 123 66 0
24 28 9 49 98 0 74 32 0 99 91 0 124 61 0
25 88 8 50 43 0 75 94 0 100 18 0 125 75 0
Cacah keseringan muncul dari masing-masing pola seperti yang terlihat pada
Tabel 4.2 dipergunakan sebagai bahan pertimbangan untuk memilih pola model
sistem yaitu dengan menentukan batas cacah terkecil keseringan muncul, tetapi
sebelumnya dilakukan penjumlahan frekuensi kemunculan pola-pola dengan model
yang sama. Batas terkecil yang dipakai adalah 10 kali. Hasilnya adalah
23 pola model terpilih seperti terllihat pada Tabel 4.3.
44
Tabel 4.3
Frekuensi kemunculan masing-masing pola pada 600 citra Aksara Bali yang sudah
diurut dengan batasan terkecil 10 kali
No Model Freq No Model Freq
1 58 58154 13 82 126
2 1 36365 14 14 68
3 63 17262 15 12 49
4 46 11319 16 86 32
5 49 8896 17 19 30
6 4 743 18 10 23
7 83 539 19 26 19
8 2 489 20 90 15
9 6 244 21 31 15
10 5 226 22 13 14
11 3 223 23 47 10
12 8 171
Hasil dari ke 23 pola model tersebut akan diurutkan sesuai dengan nomor modelnya,
sehingga diperoleh hasil seperti yang terlihat pada Tabel 4.4.
Tabel 4.4
Frekuensi kemunculan masing-masing pola pada 600 citra Aksara Bali yang sudah
diurut berdasarkan nomor model dengan batasan terkecil 10
No Model Freq No Model Freq
1 1 36365 13 26 19
2 2 489 14 31 15
3 3 223 15 46 11319
4 4 743 16 47 10
5 5 226 17 49 8896
6 6 244 18 58 58154
7 8 171 19 63 17262
8 10 23 20 82 126
9 12 49 21 83 539
10 13 14 22 86 32
11 14 68 23 90 15
12 19 30
45
Hasil dari model pola yang didapat dari tabel diatas dapat digambarkan pada
Gambar 4.2 dan setelah penomorannya disesuaikan maka diperoleh pola model
seperti terlihat pada Gambar 4.3. Pola-pola inilah yang dipergunakan sistem untuk
mengekstraksi ciri citra aksara.
No. 1 Model 1
No. 2 Model 2
No. 3 Model 3
No. 4 Model 4
No. 5 Model 5
No. 6 Model 6
No. 8 Model 8
No. 10 Model 10
No. 12 Model 12
No. 13 Model 13
No. 14 Model 14
.
No. 19 Model 19
No. 26 Model 26
No. 31 Model 31
No. 46 Model 46
No. 47 Model 47
No. 49 Model 49
No. 58 Model 58
No. 67 Model 63
No. 96 Model 82
No. 97 Model 83
No. 100 Model 86
No. 104 Model 90
Gambar 4.2
Pola-pola terpilih sebanyak 23 pola
46
14
21
No. 1 Model 1
No. 2 Model 2
No. 3 Model 3
No. 4 Model 4
No. 5 Model 5
No. 6 Model 6
No. 7 Model 7
No. 8 Model 8
No. 9 Model 9
No. 10 Model 10
No. 11 Model 11
.
No. 12 Model 12
No. 13 Model 13
No. 14 Model
No. 15 Model 15
No. 16 Model 16
No. 17 Model 17
No. 18 Model 18
No. 19 Model 19
No. 20 Model 20
No. 21 Model
No. 22 Model 22
No. 23 Model 23
Gambar 4.3
Pola-pola terpilih sebanyak 23 pola yang penomorannya telah disesuaikan
4.1.3 Penentuan Konstanta
Efektifitas dan unjuk kerja metode pengenalan Aksara Bali yang digunakan
dipengaruhi oleh nilai-nilai konstanta yang ditetapkan. Konstanta ini sebelum
dipergunakan oleh sistem secara permanen, harus dilakukan pengujian terlebih
dahulu dengan beberapa variasi yang disesuaikan dengan anjuran dari pustaka.
Konstanta yang mempengaruhi sistem pengenalan Aksara Bali dengan
menggunakan metode Pola Busur Terlokalisasi ada dua yakni:
i. Konstanta nomor pemotongan nilai eigen (q)
Perhitungan nilai ketidaksamaan pada Persamaan 3.7 terdapat sebuah
konstanta yang nilainya ditentukan menurut hasil pengujian. Konstanta ini
adalah konstanta nomor pemotongan nilai eigen (q), yang mana q adalah
bilangan integer positif yang kurang dari dimensi vektor kolom (p). Saat
pembuatan basis data acuan, nilai q yang dicoba adalah mulai dari 1 sampai
nantinya dihentikan pada nilai q yang memberikan pesan kesalahan bahwa
47
telah terjadi proses pembagian dengan bilangan nol. Hal ini mengingat nilai
eigen yang dihasilkan dengan urutan menurun pada nomor urut besar
cenderung menghasilkan bilangan yang sangat kecil atau bahkan nol. Hal ini
tentunya akan menyebabkan kesalahan sistem akan besar. Berdasarkan hasil
pengujian terhadap variasi nilai q dipilih satu nilai yang mengakibatkan
sistem mengalami kesalahan terkecil, dan seterusnya dipergunakan sebagai
konstanta nomor pemotongan nilai eigen dalam setiap proses pengenalan.
ii. Konstanta pengali nilai ambang (Cd)
Konstanta Cd merupakan koefisien pengali dari median nilai ketidaksamaan
yang didapat pada saat pengenalan tiga Aksara Bali pembanding dengan
Aksara Bali acuan yang didaftar (C), untuk menghasilkan nilai ambang atau
nilai kritis (Cc). Pengujian terhadap Cd dilakukan pada nilai 2,0; 3,0; 4,0 dan
5,0 . Nilai ini dipakai agar nilai ambang yang dihasilkan tidak terlalu jauh
menyimpang dari nilai C yang didapatkan. Jika Cd kurang dari 2,0 maka
batas penerimaan akan sangat sempit sehingga prosentase kesalahan tidak
dikenalinya karakter Aksara Bali tersebut akan besar. Sebaliknya jika Cd
lebih besar dari 5,0 maka batas penerimaan akan terlalu lebar sehingga
menyebabkan kesalahan mengenali karakter Aksara Bali. Nilai Cd yang
memberikan prosentase kesalahan terkecil akan ditetapkan seterusnya
sebagai konstanta pengali nilai ambang sistem pengenalan ini.
4.1.4 Tahap Pengujian
Tahap-tahap pengujian sistem dilakukan sebagai berikut:
i. Pengumpulan karakter Aksara Bali acuan
Sumber data yang dipakai sebagai sampel Aksara Bali yang digunakan untuk
melakukan pembentukan pola model dan pengujian sistem pengenalan
karakter ini adalah sebagian diambil dari data citra Aksara Bali dalam
penelitian I Komang Gede Suamba Dharmayasa (Dharmayasa, 2009).
Sampel Aksara Bali yang digunakan diperoleh dari hasil scan buku ajar
Bahasa Bali yang diambil menggunakan segmentasi per blok karakter dan
juga dari internet.
48
ii. Pengumpulan karakter Aksara Bali uji
Banyak dan variasi Aksara Bali yang diuji bervariasi sesuai dengan data
yang dimiliki.
iii. Ujicoba antarmuka sistem
Sebelum dilakukan pengujian ke tahapan berikutnya, terlebih dahulu
dilakukan dulu uji coba terhadap keseluruhan antarmuka sistem yang telah
dibuat. Tujuannya adalah untuk mengetahui kesiapan komponen-komponen
antarmuka sistem tersebut untuk mendukung pengujian sistem pengenalan
selanjutnya.
iv. Pendaftaran Aksara Bali acuan
Aksara Bali yang telah dikumpulkan sebagai Aksara acuan selanjutnya
didaftarkan melalui proses pendaftaran, yang pada intinya data Aksara Bali
ini dimasukkan ke dalam file basis data acuan, dimana setiap karakter bisa
didaftarkan lebih dari sekali sesuai dengan variasi model citra karakter yang
didapatkan. Setiap nilai konstanta pemotongan nilai eigen (q) terhubung
dengan sebuah file basis data acuan, baik yang menggunakan pola model
Aksara Bali maupun pola model tandatangan Indonesia.
v. Pengenalan Aksara Bali uji
Setelah keseluruhan file basis data acuan selesai dibuat baru dilakukan
pengenalan terhadap karakter Aksara Bali uji yang telah terkumpul.
4.1.5 Hasil Pengujian
Adapun hasil pengujian yang dilakukan terhadap sistem pengenalan karakter
Aksara Bali dalam penelitian ini, sesuai dengan tahap-tahap yang telah dipaparkan
di atas adalah sebagai berikut:
4.1.5.1 Ujicoba Antarmuka Sistem
Gambar-gambar berikut ini adalah beberapa contoh tampilan antarmuka
sistem pengenalan karakter Aksara Bali, yang mana kegunaan serta rancangannya
49
sesuai dengan apa yang telah dipaparkan sebelumnya pada bab Perancangan dan
Pembuatan Sistem Pengenalan sub bab Pemrograman.
Gambar 4.4
Tampilan awal sistem pengenalan
Gambar 4.5
Tampilan Setting Lingkungan untuk proses pendaftaran
50
Gambar 4.6
Contoh tampilan saat Aksara A diuji
Gambar 4.7
Contoh laporan hasil pengenalan
51
4.1.5.2 Pendaftaran karakter Aksara Bali Acuan
Tahap pendaftaran yang bertujuan untuk mendaftarkan masing-masing
karakter Aksara pada file basis data acuan, dari dua jenis pola model yang
digunakan yaitu pola model Aksara Bali dan pola model tandatangan Indonesia,
masing-masing memiliki file basis data acuan sendiri-sendiri untuk setiap konstanta
pemotongan nilai eigen (q) yang dicobakan. Hasil pengujian berupa waktu proses
dan nilai ambang terpilih Aksara Bali uji diperlihatkan dalam tabel-tabel berikut.
Tabel 4.5
Nilai ambang terpilih dengan menggunakan 23 pola model Aksara Bali
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
1 1 A 7,8356 x 10-3 2,6111 x 101 4,1528 x 102 4,1844 x 1014
2 2 A 3,5359 x 10-2 2,8208 x 101 4,1162 x 103 3,0881 x 1015
3 3 A 5,3718 x 10-2 2,9877 x 101 1,7439 x 1017 6,3372 x 1017
4 4 Adeg-adeg 3,4843 x 10-3 4,1283 3,4868 x 101 1,4751 x 1015
5 5 Adeg-adeg 3,5312 x 10-3 1,0355 x 101 2,9691 x 102 3,8614 x 1015
6 6 Adeg-adeg 1,8635 x 10-2 8,3574 x 101 4,8726 x 1015 8,6688 x 1016
7 7 Ba 6,1542 x 10-3 4,8289 x 101 3,2722 x 102 6,8846 x 1016
8 8 Ba 1,7686 x 10-2 5,4475 x 101 5,5792 x 102 1,3167 x 1017
9 9 Ba 3,8216 x 10-2 1,6810 x 1016 1,5766 x 1017 4,5468 x 1019
10 10 Ca 4,6162 x 10-3 6,6159 1,9444 x 102 9,8612 x 1015
11 11 Ca 2,2540 x 10-3 4,7262 x 1014 8,7554 x 1016 Error
12 12 Carik 4,9926 x 10-4 6,1385 6,1913 x 101 5,8130 x 1015
13 13 Carik 1,8823 x 10-4 4,8888 x 10-1 2,7572 x 101 1,6687 x 1014
14 14 Cecek 8,6293 x 10-4 1,7145 1,6507 x 102 5,1732 x 1014
15 15 Cecek 8,2661 x 10-3 1,4342 x 101 3,0979 x 102 5,7669 x 1015
16 16 Cecek 2,1929 x 10-2 2,1806 x 1016 4,1926 x 1019 Error
17 17 Da 1,8310 x 10-3 3,3838 1,9988 x 101 8,8574 x 1014
18 18 Da 2,6951 x 10-2 6,5725 x 101 7,0882 x 102 1,6984 x 1016
19 19 Da 5,9961 x 10-2 7,4486 x 1014 2,9995 x 1017 1,9849 x 1019
20 20 Ga 4,7171 x 10-3 3,3614 2,7621 x 102 2,0612 x 1016
21 21 Ga 8,2606 x 10-2 1,8526 x 1016 1,2328 x 1018 1,1157 x 1020
22 22 Gantungan E 3,7141 x 10-3 6,5534 1,6580 x 102 3,6772 x 1015
23 23 Gantungan E 3,7141 x 10-3 6,5534 1,6580 x 102 3,6772 x 1015
52
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
24 24 Gantungan E 2,8754 x 10-4 3,4465 x 1014 1,6950 x 1016 Error
25 25 Gantungan E 2,0424 x 10-4 2,4722 x 1012 6,2731 x 1014 2,5646 x 1017
26 26 Ha 9,5921 x 10-4 3,1541 8,1163 3,7987 x 1014
27 27 Ja 5,5808 x 10-3 5,0124 x 101 2,2521 x 102 4,6131 x 1014
28 28 Ja 2,7912 x 10-2 8,8293 x 1015 1,9779 x 1018 Error
29 29 Ja 7,0583 x 10-4 3,4664 x 1014 4,2591 x 1015 Error
30 30 Ka 5,1982 x 10-3 7,7039 3,4347 x 101 3,8597 x 1015
31 31 Ka 1,9940 x 10-2 3,9804 4,2883 x 102 4,7399 x 1015
32 32 Ka 9,6744 x 10-2 5,3690 x 1017 1,5202 x 1019 1,9046 x 1020
33 33 Ka 6,4724 x 10-3 8,6226 x 1016 3,6667 x 1018 Error
34 34 La 2,9913 x 10-3 4,1971 1,9796 x 102 1,3907 x 1016
35 35 La 3,0361 x 10-3 5,3548 x 1015 3,1782 x 1016 2,5179 x 1017
36 36 Li 1,3203 x 10-2 6,6306 x 101 6,1675 x 102 2,5259 x 1015
37 37 Li 1,6428 x 10-1 2,5296 x 1016 9,1886 x 1018 2,8250 x 1019
38 38 Ma 8,0646 x 10-3 3,1638 2,1486 x 102 1,2625 x 1016
39 39 Ma 1,9831 x 10-2 1,0118 x 1016 4,0426 x 1018 Error
40 40 Na 0 0 0 Error
41 41 Na 3,1400 x 10-3 5,8828 x 1015 5,3150 x 1017 Error
42 42 Nga 4,8930 x 10-4 1,2132 x 101 6,7628 1,5864 x 1015
43 43 Nga 6,7087 x 10-4 1,3643 x 1014 2,4135 x 1016 2,3653 x 1017
44 44 Ngi 1,1514 x 10-2 6,3709 3,0620 x 102 1,2498 x 1016
45 45 Ngi 7,0567 x 10-3 1,0909 x 101 3,2172 x 101 1,4764 x 1015
46 46 Nya 5,6901 x 10-3 3,0989 x 101 7,4286 x 101 5,1635 x 1019
47 47 Nya 1,2049 x 10-2 2,6756 x 1015 3,9365 x 1016 5,1525 x 1019
48 48 Pa 2,8619 x 10-3 1,0972 x 101 1,7268 x 102 1,3028 x 1016
49 49 Pa 1,3719 x 10-3 1,1490 x 1016 1,7841 x 1018 Error
50 50 Pa 3,2950 x 10-3 1,9820 x 1015 5,2415 x 1017 Error
51 51 Ra 9,3137 x 10-3 1,3700 x 101 4,0432 x 102 2,9042 x 1015
52 52 Ra 4,3535 x 10-2 4,6613 x 1015 1,0888 x 1018 3,2739 x 1018
53 53 Ra 2,4031 x 10-2 1,7941 x 101 5,9910 x 1020 Error
54 54 Ri 3,7696 x 10-3 2,1059 6,9325 x 101 3,6780 x 1015
55 55 Sa 6,3259 x 10-4 8,4236 x 101 5,1131 6,4470 x 1014
56 56 Sa 1,5114 x 10-3 2,2430 x 1016 3,4128 x 1018 Error
53
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
57 57 Su 1,0525 x 10-4 1,2369 x 101 3,2591 x 102 4,1940 x 1015
58 58 Su 3,6213 x 10-1 8,1935 x 1016 1,1557 x 1018 3,0126 x 1020
59 59 Ta 6,3948 x 10-4 5,5588 8,2758 5,7954 x 1014
60 60 Ta 5,9957 x 10-2 2,0063 x 1016 4,5311 x 1018 1,6572 x 1019
61 61 Ta 1,9852 x 10-4 1,2244 x 1014 1,5291 x 1016 2,7858 x 1016
62 62 Tang 9,9590 x 10-3 3,3741 x 101 1,7751 x 102 2,6635 x 1015
63 63 Tur 9,6710 x 10-3 9,9533 2,6410 x 102 2,3916 x 1014
64 64 Tya 4,9552 x 10-3 9,0300 3,2519 x 101 4,0577 x 1015
65 65 Wa 1,0622 x 10-3 2,9249 3,3657 x 101 6,1986 x 1013
66 66 Wa 2,6553 x 10-4 8,7230 x 1013 8,7916 x 1015 Error
67 67 Wa 5,4214 x 10-3 4,0310 1,8087 x 1015 1,9716 x 1018
68 68 Ya 8,3370 x 10-4 1,0470 8,3040 x 101 6,6480 x 1013
69 69 Ya 2,2893 x 10-3 2,2455 x 1014 2,0377 x 1016 5,3135 x 1023
70 70 Ya 4,1719 x 10-4 4,2141 x 1014 4,3331 x 1015 Error
Tabel 4.5 diatas menampilkan sudah terjadi kesalahan proses pembagian dengan
bilangan nol untuk Q=4 dengan nomor identitas karakter 11, sehingga pendaftaran
dengan konstanta pemotongan nilai eigen (q) yang lebih besar dari 4 tidak
dilanjutkan lagi dan nantinya pengujian hanya dilakukan sampai pada q=3.
Tabel 4.6
Nilai ambang terpilih dengan menggunakan 42 pola model tandatangan
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
1 1 A 7,8191 x 10-3 2,5942 x 101 4,1247 x 102 8,7704 x 1014
2 2 A 3,5332 x 10-2 2,8234 x 101 6,0409 x 103 1,5768 x 1017
3 3 A 5,3118 x 10-2 2,9843 x 101 1,7419 x 1017 6,3301 x 1017
4 4 Adeg-adeg 3,3834 x 10-3 4,0270 3,3742 x 101 1,2140 x 1015
5 5 Adeg-adeg 3,5312 x 10-3 1,0355 x 101 2,9691 x 102 2,5868 x 1016
6 6 Adeg-adeg 1,8635 x 10-2 8,3574 x 101 4,8726 x 1015 8,6688 x 1016
7 7 Ba 6,1247 x 10-3 4,7952 x 101 3,0434 x 102 4,1610 x 1016
8 8 Ba 1,7686 x 10-2 5,4475 x 101 5,5792 x 102 1,3174 x 1017
9 9 Ba 3,8216 x 10-2 1,6810 x 1016 1,5766 x 1017 4,5468 x 1019
10 10 Ca 4,6099 x 10-3 6,6431 1,9385 x 102 1,6435 x 1016
54
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
11 11 Ca 2,8689 x 10-3 3,4555 x 1014 2,9528 x 1016 Error
12 12 Carik 4,8413 x 10-4 6,7567 6,2582 x 101 9,2270 x 1015
13 13 Carik 1,8823 x 10-4 4,8888 x 10-1 2,7572 x 101 7,7356 x 1014
14 14 Cecek 7,9042 x 10-4 1,5769 1,7100 x 102 1,3435 x 1014
15 15 Cecek 8,1948 x 10-3 1,4219 x 101 3,0712 x 102 1,9769 x 1016
16 16 Cecek 2,1929 x 10-2 2,1806 x 1016 4,1992 x 1019 Error
17 17 Da 1,7347 x 10-3 3,2803 2,2385 x 101 3,1917 x 1014
18 18 Da 2,6951 x 10-2 6,5111 x 101 7,0867 x 102 1,6913 x 1016
19 19 Da 6,0026 x 10-2 7,4923 x 1014 3,0006 x 1017 1,6691 x 1019
20 20 Ga 4,7117 x 10-3 3,3334 3,4316 x 102 2,1261 x 1016
21 21 Ga 8,2606 x 10-2 1,8526 x 1016 1,2328 x 1018 1,1157 x 1020
22 22 Gantungan E 3,7141 x 10-3 6,5528 1,6628 x 102 4,9319 x 1015
23 23 Gantungan E 3,7141 x 10-3 6,5528 1,6628 x 102 4,9319 x 1015
24 24 Gantungan E 3,5942 x 10-4 4,1205 x 1014 2,0450 x 1016 2,4298 x 1015
25 25 Gantungan E 2,0424 x 10-4 2,4724 x 1012 5,7668 x 1014 8,8231 x 1015
26 26 Ha 9,4590 x 10-4 3,1432 8,4637 9,2776 x 1014
27 27 Ja 5,4752 x 10-3 4,9925 x 101 2,5031 x 102 9,3853 x 1014
28 28 Ja 2,7848 x 10-2 8,8293 x 1015 4,8067 x 1016 1,7227 x 1018
29 29 Ja 7,0583 x 10-4 3,5237 x 1014 4,2591 x 1015 Error
30 30 Ka 4,9808 x 10-3 7,9715 3,7108 x 101 1,6986 x 1014
31 31 Ka 1,9891 x 10-2 3,9709 5,9000 x 102 4,3264 x 1015
32 32 Ka 9,6744 x 10-2 3,7242 x 1016 8,8394 x 1017 2,2099 x 1019
33 33 Ka 6,4724 x 10-3 2,4058 x 1017 7,2964 x 1017 Error
34 34 La 2,9821 x 10-3 4,2185 2,0419 x 102 3,9402 x 1017
35 35 La 2,9729 x 10-3 2,2070 x 1015 2,3323 x 1018 Error
36 36 Li 1,3164 x 10-2 7,1286 x 101 6,9980 x 102 7,2826 x 1014
37 37 Li 1,6428 x 10-1 2,9621 x 1016 7,0529 x 1018 1,4748 x 1019
38 38 Ma 8,0541 x 10-3 3,1581 2,1370 x 102 6,8360 x 1016
39 39 Ma 1,9953 x 10-2 1,0166 x 1016 4,0516 x 1018 Error
40 40 Na 0 0 0 Error
41 41 Na 3,1400 x 10-3 5,8281 x 1015 5,3150 x 1017 Error
42 42 Nga 4,8930 x 10-4 6,2435 x 101 6,7742 1,0693 x 1014
43 43 Nga 6,7087 x 10-4 4,6754 x 1014 7,9949 x 1015 3,2531 x 1016
55
No Id Aksara Threshold
(q=1)
Threshold
(q=2)
Threshold
(q=3)
Threshold
(q=4)
44 44 Ngi 1,1492 x 10-2 6,3927 3,5960 x 102 4,1857 x 1016
45 45 Ngi 7,0019 x 10-3 1,1502 x 101 3,5266 x 101 2,9261 x 1014
46 46 Nya 5,6774 x 10-3 3,1847 x 101 7,6438 x 101 4,7632 x 1015
47 47 Nya 1,2048 x 10-2 2,6672 x 1015 3,8268 x 1016 4,5973 x 1019
48 48 Pa 2,8560 x 10-3 1,0951 x 101 2,2490 x 102 9,1179 x 1015
49 49 Pa 7,1731 x 10-2 1,9217 x 1016 4,8439 x 1018 2,1114 x 1019
50 50 Pa 4,8366 x 10-3 1,9820 x 1015 5,2415 x 1017 Error
51 51 Ra 9,3072 x 10-3 1,3734 x 101 4,4646 x 102 1,6233 x 1015
52 52 Ra 4,3788 x 10-2 8,8407 x 1015 1,0729 x 1018 2,9851 x 1018
53 53 Ra 2,4104 x 10-2 1,7995 x 101 6,0092 x 1020 Error
54 54 Ri 3,7464 x 10-3 2,0930 7,4038 x 101 4,2006 x 1015
55 55 Sa 5,5117 x 10-4 7,3527 x 101 4,6129 1,7469 x 1013
56 56 Sa 1,5117 x 10-3 2,3784 x 1016 3,3560 x 1018 Error
57 57 Su 1,0513 x 10-4 1,2842 x 101 3,5915 x 102 4,1934 x 1016
58 58 Su 3,6213 x 10-1 8,1932 x 1016 1,1547 x 1018 3,0099 x 1020
59 59 Ta 6,3392 x 10-4 5,6857 8,2600 1,3019 x 1013
60 60 Ta 5,9957 x 10-2 1,1167 x 1016 1,6819 x 1018 6,3496 x 1019
61 61 Ta 1,9852 x 10-4 6,7491 x 1013 2,8912 x 1016 Error
62 62 Tang 9,8836 x 10-3 3,4408 x 101 4,2306 x 102 4,1377 x 1015
63 63 Tur 9,6710 x 10-3 9,9567 2,5991 x 102 1,7777 x 1014
64 64 Tya 4,9112 x 10-3 8,9951 3,4263 x 101 1,8784 x 1015
65 65 Wa 1,0496 x 10-3 2,9420 3,5527 x 101 3,0626 x 1016
66 66 Wa 3,3192 x 10-4 1,0903 x 1014 1,1551 x 1016 Error
67 67 Wa 5,5000 x 10-3 4,0732 1,4505 x 1015 6,2045 x 1019
68 68 Ya 8,2779 x 10-4 1,0892 8,5665 x 101 4,9609 x 1013
69 69 Ya 2,2893 x 10-3 2,2455 x 1014 2,0377 x 1016 5,3135 x 1023
70 70 Ya 4,1719 x 10-4 4,2141 x 1014 4,3331 x 1015 Error
Pengujian aksara dengan menggunakan 42 model yang diperoleh dari Pola Model
tandatangan Indonesia, ditunjukkan pada Tabel 4.6 diatas. Pengujian tersebut
dengan variasi nilai q = 1, 2, 3 dan seterusnya. Hasil pengujian yang relative sama
juga terjadi seperti pada penggunaan 23 model Aksara Bali, yaitu sudah terjadi
kesalahan proses pembagian dengan bilangan nol untuk q=4 dengan nomor identitas
56
karakter 11, sehingga pendaftaran dengan konstanta pemotongan nilai eigen (q)
yang lebih besar dari 4 tidak dilanjutkan lagi dan nantinya pengujian hanya
dilakukan sampai pada q=3.
4.1.5.3 Pengenalan Karakter Aksara Bali Uji
Pengujian terhadap karakter Aksara Bali dilakukan dengan mengatur
variasi konstanta pengali nilai ambang (Cd) yaitu 2, 3, 4 dan 5. Pada Gambar 4.8
terlihat contoh jenis Aksara Bali yaitu Aksara A diuji dengan pengaturan lingkungan
dengan 23 pola model Aksara Bali, nilai q=3 dan Cd=3.
Gambar 4.8
Tampilan hasil pengenalan untuk satu huruf
Selengkapnya hasil pengujian yang berupa banyaknya kesalahan (error)
yang terjadi pada pengujian keseluruhan aksara uji dengan masing-masing variasi
nilai Cd serta waktu proses untuk 23 pola model Aksara Bali, terlihat dalam tabel-
tabel berikut ini:
57
Tabel 4.7
Jumlah kesalahan pada pengenalan dengan q = 1
dengan menggunakan 23 pola model Aksara Bali
No Jenis Aksara Waktu
Uji
(ms)
Jml
Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 11685 6 6 0 0 6 0 0 6 0 0 6 0 0 2 Adeg-adeg 15912 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 15600 13 10 3 0 10 3 0 10 3 0 10 3 0 4 Ca 8346 7 2 2 3 2 0 5 2 0 5 2 0 5 5 Carik 13697 11 11 0 0 11 0 0 11 0 0 11 0 0 6 Cecek 15553 12 11 0 1 11 0 1 11 0 1 11 0 1 7 Da 14133 12 11 0 1 11 0 1 11 0 1 11 0 1 8 Ga 11591 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 16692 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 6131 5 3 1 1 4 0 1 4 0 1 4 0 1 11 Ja 10530 8 8 0 0 8 0 0 8 0 0 8 0 0 12 Ka 13291 12 9 0 3 9 0 3 9 0 3 9 0 3 13 La 6303 6 6 0 0 6 0 0 6 0 0 6 0 0 14 Li 10546 7 7 0 0 7 0 0 7 0 0 7 0 0 15 Ma 8346 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 7629 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 8517 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 7894 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 8923 6 1 0 5 1 0 5 1 0 5 1 0 5 20 Nya 13541 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 9953 8 7 1 0 7 1 0 7 1 0 7 0 1 22 Ra 9812 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 8315 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 7925 7 7 0 0 7 0 0 7 0 0 7 0 0 25 Su 11512 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 10623 8 8 0 0 8 0 0 8 0 0 8 0 0 27 Tang 8736 6 6 0 0 6 0 0 6 0 0 6 0 0 28 Tur 10608 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 10811 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 8861 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 9734 8 7 0 1 7 0 1 7 0 1 7 0 1
T O T A L 24
7
22
5
7 15 22
6
4 17 22
6
4 17 22
6
3 18 2,8
% 6,1
% 1,6
% 6,9
% 1,6
% 6,9
% 1,2
% 7,3
% 91,1
% 8,9%
91,
5% 8,5%
91,
5% 8,5%
91,
5% 8,5%
58
Tabel 4.8
Jumlah kesalahan pada pengenalan dengan q = 2
dengan menggunakan 23 pola model Aksara Bali
No Jenis Aksara Waktu
Uji
(ms)
Jml Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 11715 6 3 0 3 3 0 3 3 0 3 3 0 3 2 Adeg-adeg 16115 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 15647 13 11 0 2 11 0 2 11 0 2 11 0 2 4 Ca 8533 7 2 1 4 2 0 5 2 0 5 2 0 5 5 Carik 13806 11 6 0 5 6 0 5 6 0 5 6 0 5 6 Cecek 15615 12 11 0 1 11 0 1 11 0 1 11 0 1 7 Da 14212 12 8 0 4 8 0 4 8 0 4 8 0 4 8 Ga 11653 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 16801 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 6178 5 3 0 2 3 0 2 3 0 2 3 0 2 11 Ja 10654 8 2 0 6 2 0 6 2 0 6 2 0 6 12 Ka 13323 12 9 0 3 9 0 3 9 0 3 9 0 3 13 La 6380 6 3 0 3 3 0 3 3 0 3 3 0 3 14 Li 10546 7 6 1 0 6 0 1 6 0 1 6 0 1 15 Ma 8362 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 7691 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 8518 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 7909 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 9391 6 0 0 6 0 0 6 0 0 6 0 0 6 20 Nya 14009 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 10327 8 6 0 2 6 0 2 6 0 2 6 0 2 22 Ra 10250 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 8643 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 8252 7 7 0 0 7 0 0 7 0 0 7 0 0 25 Su 11996 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 11263 8 6 0 2 6 0 2 6 0 2 6 0 2 27 Tang 9094 6 0 0 6 0 0 6 0 0 6 0 0 6 28 Tur 11044 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 11325 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 9345 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 10296 8 5 1 2 5 1 2 5 0 3 5 0 3
T O T A L 24
7
193 3 51
193 1 53
193 0 54
193 0 54
1,2
% 20,
6% 0,4
% 21,
4% 0
21,
8% 0
21,
8% 78,
2% 21,8%
78,
2% 21,8%
78,
2% 21,8%
78,
2% 21,8%
59
Tabel 4.9
Jumlah kesalahan pada pengenalan dengan q = 3
dengan menggunakan 23 pola model Aksara Bali
No Jenis Aksara Waktu
Uji
(ms)
Jml
Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 11248 6 6 0 0 6 0 0 6 0 0 6 0 0 2 Adeg-adeg 15256 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 15116 13 12 1 0 12 1 0 12 1 0 12 0 1 4 Ca 8112 7 0 3 4 0 1 6 0 0 7 0 0 7 5 Carik 13120 11 11 0 0 11 0 0 11 0 0 11 0 0 6 Cecek 15022 12 12 0 0 12 0 0 12 0 0 12 0 0 7 Da 13728 12 12 0 0 12 0 0 12 0 0 12 0 0 8 Ga 11201 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 16630 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 5912 5 5 0 0 5 0 0 5 0 0 5 0 0 11 Ja 10187 8 8 0 0 8 0 0 8 0 0 8 0 0 12 Ka 13229 12 12 0 0 12 0 0 12 0 0 12 0 0 13 La 6115 6 6 0 0 6 0 0 6 0 0 6 0 0 14 Li 10093 7 7 0 0 7 0 0 7 0 0 7 0 0 15 Ma 8081 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 7488 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 8175 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 7520 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 8923 6 6 0 0 6 0 0 6 0 0 6 0 0 20 Nya 13478 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 9906 8 8 0 0 8 0 0 8 0 0 8 0 0 22 Ra 9797 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 8252 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 7878 7 7 0 0 7 0 0 7 0 0 7 0 0 25 Su 11466 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 110624 8 8 0 0 8 0 0 8 0 0 8 0 0 27 Tang 8674 6 6 0 0 6 0 0 6 0 0 6 0 0 28 Tur 10592 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 11029 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 8783 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 9672 8 7 1 0 7 1 0 7 0 1 7 0 1
T O T A L 24
7
23
8
5 4 23
8
3 6 23
8
1 8 23
8
0 9 2,0
% 1,6
% 1,2
% 2,4
% 0,4
% 3,2
% 0%
3,6
% 92,
7% 7,3%
92,
7% 7,3%
92,
7% 7,3%
92,
7% 7,3%
60
Tabel 4.10
Jumlah kesalahan pada pengenalan dengan q = 1
dengan menggunakan 42 pola model tandatangan Indonesia
No Jenis Aksara Waktu
Uji (ms)
Jml Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 24227 6 6 0 0 6 0 0 6 0 0 6 0 0 2 Adeg-adeg 32978 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 33540 13 10 3 0 10 3 0 10 3 0 10 3 0 4 Ca 17987 7 2 2 3 2 1 4 2 0 5 2 0 5 5 Carik 28860 11 11 0 0 11 0 0 11 0 0 11 0 0 6 Cecek 32682 12 11 0 1 11 0 1 11 0 1 11 0 1 7 Da 30061 12 11 0 1 11 0 1 11 0 1 11 0 1 8 Ga 24289 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 35100 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 13057 5 3 1 1 3 1 1 4 0 1 4 0 1 11 Ja 22011 8 8 0 0 8 0 0 8 0 0 8 0 0 12 Ka 28470 12 9 0 3 9 0 3 9 0 3 9 0 3 13 La 13806 6 6 0 0 6 0 0 6 0 0 6 0 0 14 Li 21684 7 7 0 0 7 0 0 7 0 0 7 0 0 15 Ma 17581 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 16333 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 17581 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 16708 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 19297 6 2 0 4 2 0 4 2 0 4 2 0 4 20 Nya 29546 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 21699 8 8 0 0 8 0 0 8 0 0 8 0 0 22 Ra 21419 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 18018 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 17706 7 7 0 0 7 0 0 7 0 0 7 0 0 25 Su 25303 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 23072 8 8 0 0 8 0 0 8 0 0 8 0 0 27 Tang 18767 6 6 0 0 6 0 0 6 0 0 6 0 0 28 Tur 22869 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 23213 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 19047 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 21154 8 7 1 0 7 1 0 7 0 1 7 0 1
T O T A L 24
7
22
7
7 13 22
7
6 14 22
8
3 16 22
8
3 16 2,8
% 5,3
% 2,4
% 5,7
% 1,2
% 6,5
% 1,2
% 6,5
% 91,
9% 8,1%
91,
9% 8,1%
92,
3% 7,7%
92,
3% 7,7%
61
Tabel 4.11
Jumlah kesalahan pada pengenalan dengan q = 2
dengan menggunakan 42 pola model tandatangan Indonesia
No Jenis Aksara Waktu
Uji
(ms)
Jml Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 23228 6 3 0 3 3 0 3 3 0 3 3 0 3 2 Adeg-adeg 31824 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 33041 13 11 0 2 11 0 2 11 0 2 11 0 2 4 Ca 17846 7 2 2 3 2 2 3 2 1 4 2 1 4 5 Carik 29578 11 6 0 5 6 0 5 6 0 5 6 0 5 6 Cecek 33805 12 11 0 1 11 0 1 11 0 1 11 0 1 7 Da 30669 12 7 0 4 7 0 4 7 0 4 7 0 4 8 Ga 25101 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 35926 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 13401 5 3 0 2 3 0 2 3 0 2 3 0 2 11 Ja 22230
8 8 2 0 6 2 0 6 2 0 6 2 0 6
12 Ka 28688 12 9 0 3 9 0 3 9 0 3 9 0 3 13 La 13759 6 3 0 3 3 0 3 3 0 3 3 0 3 14 Li 22090 7 5 2 0 5 0 2 5 0 2 5 0 2 15 Ma 17940 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 16474 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 17722 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 16271 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 19344 6 0 0 6 0 0 6 0 0 6 0 0 6 20 Nya 29546 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 21684 8 6 0 2 6 0 2 6 0 2 6 0 2 22 Ra 21512 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 17987 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 17597 7 7 0 0 7 0 0 7 0 0 7 0 0 25 Su 24960 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 23182 8 6 0 2 6 0 2 6 0 2 6 0 2 27 Tang 18970 6 0 0 6 0 0 6 0 0 6 0 0 6 28 Tur 22901 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 23447 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 19110 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 21169 8 5 1 2 5 1 2 5 0 3 5 0 3
T O T A L 24
7
192 5 50
192 3 52
192 1 54
192 1 54
2% 20,
2% 1,2
% 21
% 0,4
% 21,
8% 0,4
% 21,
8% 77,
8% 22,2%
77,
8% 22,2%
77,
8% 22,2%
77,
8% 22,2%
62
Tabel 4.12
Jumlah kesalahan pada pengenalan dengan q = 3
dengan menggunakan 42 pola model tandatangan Indonesia
No Jenis Aksara Waktu
Uji
(ms)
Jml
Uji
Cd = 2 Cd = 3 Cd = 4 Cd = 5
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
dikenal
Tidak terdaftar
Dikenal
aksara lain
1 A 23166 6 6 0 0 6 0 0 6 0 0 6 0 0 2 Adeg-adeg 31559 9 9 0 0 9 0 0 9 0 0 9 0 0 3 Ba 33126 13 12 1 0 12 1 0 12 1 0 12 1 0 4 Ca 17722 7 0 3 4 0 2 5 0 0 7 0 0 7 5 Carik 29094 11 11 0 0 11 0 0 11 0 0 11 0 0 6 Cecek 31605 12 12 0 0 12 0 0 12 0 0 12 0 0 7 Da 29125 12 12 0 0 12 0 0 12 0 0 12 0 0 8 Ga 23884 9 9 0 0 9 0 0 9 0 0 9 0 0 9 Gantungan E 34257 13 13 0 0 13 0 0 13 0 0 13 0 0 10 Ha 12605 5 5 0 0 5 0 0 5 0 0 5 0 0 11 Ja 21372 8 6 0 2 6 0 2 6 0 2 6 0 2 12 Ka 27675 12 12 0 0 12 0 0 12 0 0 12 0 0 13 La 13260 6 6 0 0 6 0 0 6 0 0 6 0 0 14 Li 20935 7 7 0 0 7 0 0 7 0 0 7 0 0 15 Ma 17160 7 7 0 0 7 0 0 7 0 0 7 0 0 16 Na 15897 7 7 0 0 7 0 0 7 0 0 7 0 0 17 Nga 17051 6 6 0 0 6 0 0 6 0 0 6 0 0 18 Ngi 15663 5 5 0 0 5 0 0 5 0 0 5 0 0 19 Ni 19453 6 6 0 0 6 0 0 6 0 0 6 0 0 20 Nya 29734 9 9 0 0 9 0 0 9 0 0 9 0 0 21 Pa 22090 8 4 4 0 4 4 0 4 4 0 4 4 0 22 Ra 21622 8 8 0 0 8 0 0 8 0 0 8 0 0 23 Ri 18065 6 6 0 0 6 0 0 6 0 0 6 0 0 24 Sa 17644 7 6 1 0 7 0 0 7 0 0 7 0 0 25 Su 25241 7 7 0 0 7 0 0 7 0 0 7 0 0 26 Ta 22418 8 8 0 0 8 0 0 8 0 0 8 0 0 27 Tang 18174 6 2 2 2 2 2 2 2 0 4 2 0 4 28 Tur 21981 6 6 0 0 6 0 0 6 0 0 6 0 0 29 Tya 22324 6 6 0 0 6 0 0 6 0 0 6 0 0 30 Wa 18579 7 7 0 0 7 0 0 7 0 0 7 0 0 31 Ya 20639 8 7 1 0 7 1 0 7 0 1 7 0 1
T O T A L 24
7
22
7
12 8 22
8
10 9 22
8
5 14 22
8
5 14 4,9
% 3,2
% 4,0
% 3,7
% 2%
5,7
% 2%
5,7
% 91,
9% 8,1%
92,
3% 7,7%
92,
3% 7,7%
92,
3% 7,7%
63
4.2 Analisis Hasil
Analisis hasil yang dilakukan adalah terhadap hasil pengujian,
pembandingan dengan metode lain, kompleksitas waktu dan kompleksitas ruang
penyimpanan.
4.2.1 Analisis Hasil Pengujian
Hasil pengujian yang dilakukan baik dalam hal pembuatan basis data acuan
maupun pengujian pengenalan aksara uji, telah dipresentasikan dalam bentuk tabel.
Berdasarkan apa yang terlihat pada tabel-tabel hasil pengujian itulah dilakukan
analisis terhadap sistem pengenalan ini.
Besarnya masing-masing variabel lingkungan sistem yang masih efektif
digunakan pada sistem pengenalan untuk 23 pola model Aksara Bali maupun 42
pola model Tandatangan Indonesia adalah:
Konstanta pemotongan nilai eigen (q) adalah 1, 2 dan 3. Nilai q yang
kecil, akan menyebabkan hasil pengenalan menjadi tidak stabil,
karena nilai eigen pada urutan kecil belum bisa menggambarkan
karakteristik suatu matriks, sedangkan nilai q yang besar (dalam hal
ini lebih dari 3) akan cenderung menyebabkan terjadinya kesalahan
sistem yaitu adanya pembagian dengan bilangan nol, karena nilai
eigen pada urutan besar cenderung bernilai sangat kecil bahkan
terkadang mendekati nol.
Konstanta pengali nilai ambang (Cd) adalah 2,0; 3,0; 4,0 dan 5,0.
Nilai ini dipakai agar nilai ambang yang dihasilkan tidak terlalu jauh
menyimpang dari nilai C yang didapatkan.
4.2.1.1 Analisis Pengujian Pengenalan
Hasil pengenalan terhadap karakter Aksara Bali terlihat pada Tabel 4.7
sampai dengan Tabel 4.12 dengan menampilkan banyaknya kesalahan yang terjadi
pada masing-masing variasi pengujian. Total kesalahan pada masing-masing variasi
lingkungan sistem diperlihatkan kembali dalam Tabel 4.13 yang digunakan untuk
mempermudah melakukan analisis.
64
Tabel 4.13
Banyaknya kesalahan yang terjadi pada pengujian sistem pengenalan
POLA MODEL q
Cd = 2,0 Cd = 3,0 Cd = 4,0 Cd = 5,0
diken
al
Tidak
terdaf
tar
Dikenal
aksar
a lain
diken
al
Tidak
terdaf
tar
Dikenal
aksar
a lain
diken
al
Tidak
terdaf
tar
Dikenal
aksar
a lain
diken
al
Tidak
terdaf
tar
Dikenal
aksar
a lain
Aksara Bali (p=23)
1 225 7 15 226 4 17 226 4 17 226 3 18 2 193 3 51 193 1 53 193 0 54 193 0 54 3 238 5 4 238 3 6 238 1 8 238 0 9
Tandatangan
Indonesia
(p=42)
1 227 7 13 227 6 14 228 3 16 228 3 16 2 192 5 50 192 3 52 192 1 54 192 1 54 3 227 12 8 228 10 9 228 5 14 228 5 14
Angka kesalahan yang terjadi pada pengujian seperti terlihat dari Tabel 4.13
di atas kemudian dihitung prosentase kesalahannya masing-masing, yaitu kesalahan
tipe I (kesalahan dimana aksara uji dianggap tidak terdaftar padahal sudah ada),
serta kesalahan tipe II (kesalahan sistem yang terjadi akibat kesalahan mengenali
aksara uji yang berbeda). Rumusan dari perhitungan masing-masing tipe kesalahan
tersebut adalah sebagai berikut :
%100247
)1.4(%100
Uj
Uj
Uj
Error
N
ErrorITipeError
%100247
)2.4(%100
Uj
Uj
Uj
Error
N
ErrorIITipeError
)3.4(IITipeErrorITipeErrorSistemError
Hasil perhitungan dari prosentase kesalahan Tipe I dan Tipe II sistem
pengenalan menggunakan rumusan di atas, dengan dasar data yang ada pada
Tabel 4.13 diperlihatkan dalam Tabel 4.14, prosentase kesalahan rata-rata dalam
Tabel 4.15 dan prosentase keberhasilan yang digunakan sebagai tolok ukur unjuk
kerja sistem dalam Tabel 4.16 , sedangkan presentasi dalam bentuk grafik terlihat
pada Gambar 4.9, Gambar 4.10, Gambar 4.11 dan Gambar 4.12.
65
Tabel 4.14 Prosentase kesalahan tipe I dan tipe II pada pengujian sistem pengenalan
POLA MODEL q
Cd = 2,0 Cd = 3,0 Cd = 4,0 Cd = 5,0
Tipe I
(%)
Tipe II
(%)
Tipe I
(%)
Tipe II
(%)
Tipe I
(%)
Tipe II
(%)
Tipe I
(%)
Tipe II
(%)
Aksara Bali
(p=23) 1 2,8 6,1 1,6 6,9 1,6 6,9 1,2 7,3
2 1,2 20,6 0,4 21,4 0 21,8 0 21,8
3 2,0 1,6 1,2 2,4 0,4 3,2 0 3,6
Tandatangan
Indonesia
(p=42)
1 2,8 5,3 2,4 5,7 1,2 6,5 1,2 6,5
2 2 20,2 1,2 21 0,4 21,8 0,4 21,8
3 4,9 3,2 4,0 3,7 2 5,7 2 5,7
Tabel 4.15 Prosentase kesalahan rata-rata pada pengujian sistem pengenalan
POLA MODEL q Cd = 2,0
(%)
Cd = 3,0
(%)
Cd = 4,0
(%)
Cd = 5,0
(%)
Aksara Bali
(p=23) 1 8,9 8,5 8,5 8,5
2 21,8 21,8 21,8 21,8
3 7,3 7,3 7,3 7,3
Tandatangan
Indonesia
(p=42)
1 8,1 8,1 7,7 7,7
2 22,2 22,2 22,2 22,2
3 8,1 7,7 7,7 7,7
Tabel 4.16 Prosentase keberhasilan pada pengujian sistem pengenalan
POLA MODEL q Cd = 2,0
(%)
Cd = 3,0
(%)
Cd = 4,0
(%)
Cd = 5,0
(%)
Aksara Bali
(p=23) 1 91,1 91,5 91,5 91,5
2 78,2 78,2 78,2 78,2
3 92,7 92,7 92,7 92,7
Tandatangan
Indonesia
(p=42)
1 91,9 91,9 92,3 92,3
2 77,8 77,8 77,8 77,8
3 91,9 92,3 92,3 92,3
66
Gambar 4.9
Grafik prosentase kesalahan Tipe I
Gambar 4.10
Grafik prosentase kesalahan Tipe II
67
Gambar 4.11
Grafik prosentase kesalahan rata-rata
Gambar 4.12
Grafik prosentase keberhasilan unjuk kerja sistem
Grafik prosentase kesalahan Tipe I pada Gambar 4.9 menunjukkan bahwa
semakin besar konstanta pengali nilai ambang (Cd) maka prosentase kesalahan yang
68
terjadi akan semakin kecil, karena rentang penerimaan semakin besar sehingga
sistem akan semakin toleran menerima variasi aksara dengan beda yang lebih besar.
Grafik prosentase kesalahan Tipe II pada Gambar 4.10 menunjukkan bahwa
semakin besar nilai Cd maka prosentase kesalahan semakin besar pula. Hal ini
disebabkan karena aksara yang sebelumnya dianggap tidak terdaftar setelah Cdnya
diperbesar maka dikenali sebagai aksara yang berbeda. Kedua hal ini berlaku untuk
semua variasi lingkungan sistem baik variasi konstanta q maupun pola model.
Grafik pada Gambar 4.11 yang merupakan grafik prosentase kesalahan rata-
rata yang terjadi pada sistem pengenalan menunjukkan bahwa ada titik minimum
prosentase kesalahan yang didapat dari kombinasi lingkungan sistem, yaitu
menggunakan 23 pola model Aksara Bali dengan konstanta pemotongan nilai eigen
q (noktah segiempat) bernilai 3 untuk semua nilai Cd. Kombinasi lingkungan sistem
ini memberikan prosentase kesalahan terkecil yaitu sebesar 7,3%.
Grafik pada Gambar 4.12 menunjukkan prosentase keberhasilan unjuk kerja
sistem tidak terlalu dipengaruhi oleh perubahan pengali nilai ambang (Cd) kecuali
pada kasus-kasus tertentu yang mana karakter yang sebelumnya dinyatakan tidak
terdaftar setelah Cdnya diperbesar maka karakter tersebut dapat dikenali. Variasi
nilai q sangat berpengaruh terhadap unjuk kerja sistem baik pada 23 pola model
Aksara Bali maupun 42 pola model tandatangan Indonesia, kecuali pada q=2.
Hal lain yang bisa diamati dari hasil pengujian adalah waktu proses yang
diperlukan untuk melakukan pengenalan pada masing-masing lingkungan sistem
seperti terlihat dalam Tabel 4.17.
Tabel 4.17
Perbandingan waktu proses untuk 23 pola model Aksara Bali
dan 42 pola model Tandatangan Indonesia
No Jumlah Uji Pola
Model
Jumlah Basis data Acuan yang terdaftar 10 20 30 40 50 60 70
t(ms) t(ms) t(ms) t(ms) t(ms) t(ms) t(ms)
1 247 23 50825 101291 163925 189431 231442 276043 317679 2 247 42 108398 196950 292626 388721 487423 591428 695777
Grafik dari waktu proses dari Tabel 4.17 terlihat seperti pada Gambar 4.12.
Grafik tersebut menunjukkan waktu proses pengenalan untuk jumlah basis data
acuan yang semakin banyak memerlukan waktu yang lebih lama untuk masing-
masing pola model. Waktu proses pengenalan yang diperlukan jika menggunakan
69
23 pola model Aksara Bali lebih cepat dibandingkan dengan menggunakan 42 pola
model Tandatangan Indonesia. Variasi besarnya konstanta pengali nilai ambang Cd
relatif tidak berpengaruh pada waktu proses. Pada spesifikasi perangkat keras yang
sama, hal yang paling berpengaruh terhadap waktu proses adalah banyaknya
perangkat lunak atau program yang aktif secara bersamaan pada saat pengujian.
Gambar 4.13
Grafik waktu proses pengenalan sistem
Hasil pengujian dan analisis hasil di atas menjelaskan bahwa prosentase
keberhasilan unjuk kerja dalam sistem pengenalan Aksara Bali dengan
menggunakan Metode Pola Busur Terlokalisasi sudah sangat tinggi yaitu 96,4%.
Hal ini dipengaruhi oleh konstanta pemotongan nilai eigen (q), semakin besar nilai
(q) maka kesalahan pengenalan semakin kecil.
4.2.2 Analisa Perbandingan Keberhasilan Pengenalan Aksara Bali
Sistem pengenalan Aksara Bali dengan menggunakan metode Pola Busur
Terlokalisasi seperti yang dijelaskan pada sub bab diatas mendapatkan prosentase
keberhasilan sebesar 92,7%. Hasil pengenalan ini sudah lebih tinggi bila
dibandingkan dengan menggunakan pola dari tandatangan Indonesia yang sebesar
92,3 % dan apabila dibandingkan dengan hasil penelitian I Komang Gede Suamba
Dharmayasa yang menggunakan metode moment invariant dan LVQ untuk
70
pengenalan Aksara Bali yang memperoleh hasil sebesar 99,4, hasil yang diperoleh
dengan menggunakan metode Pola Busur memang relative lebih kecil. Hal ini
disebabkan pada metode LVQ, citra Aksara Bali dibagi ke dalam 3 kelompok citra
yaitu citra golongan persegi, persegi panjang dengan panjang kesamping, atau
persegi panjang dengan panjang ke bawah. Nilai setiap pola akan dicari jaraknya
dengan bobot dari kelas-kelas yang memiliki golongan sama di dalam basis data
selanjutnya kelas di basis data yang memiliki jarak terpendek dan lebih kecil dari
nilai ambang yang ditetapkan adalah merupakan hasil dari pengenalan. Hal ini akan
berbeda dengan metode Pola Busur Terlokalisasi dimana citra uji akan dicocokkan
dengan semua citra acuan yang tersimpan dalam basis data. Kelebihannya pada
penelitian ini dapat mengenali aksara dengan ukuran pixel citra yang berbeda
sedangkan pada metode LVQ menggunakan ukuran pixel citra yang sama.
Hal lain yang dapat dipergunakan untuk menambah unjuk kerja dari sistem
pengenalan dengan metode Pola Busur Terlokalisasi ini yaitu dengan membagi citra
acuan maupun citra uji ke dalam empat ruang dimana citra pada masing-masing
ruang tersebut akan diekstraksi cirinya. Kekurangannya adalah menyebabkan waktu
proses yang lama karena untuk 1 citra aksara, 23 pola model Aksara Bali akan
diproses sebanyak 4 kali untuk mengekstraksi citra dimasing-masing ruang. Ukuran
vektor untuk menyimpan ciri serta proses berikutnya juga 4 kali lebih banyak yang
berdampak pada bertambah tingginya kompleksitas waktu proses pengenalan.
4.2.3 Analisis Kompleksitas Waktu
Selain waktu proses yang bisa dicatat langsung pada saat pengujian sistem
(yang dipengaruhi oleh konfigurasi perangkat keras serta program yang aktif saat
pengujian), dapat juga dianalisis kompleksitas waktu sistem pengenalan secara
umum. Kompleksitas waktu pada suatu sistem ditentukan oleh banyaknya operasi
matematis yang terjadi terutama operasi perkalian dan pembagian, serta operasi-
operasi lain yang diperlukan selama sistem tersebut menjalankan fungsinya.
Sistem pengenalan ini kebutuhan waktu sistem ada dua bagian, yaitu:
Kebutuhan waktu yang tidak dapat dianalisis secara pasti, yaitu pada tahap
pengambilan data dan prapemrosesan. Kebutuhan waktu kedua tahapan ini
tidak termasuk dalam analisis kompleksitas waktu yang dilakukan.
71
Kebutuhan waktu yang dapat dianalisis, yaitu pada tahap ekstraksi ciri,
pembandingan dan tahap pembuatan basis data acuan.
Jika dimisalkan banyaknya pola dilambangkan dengan N dan banyaknya pola
model yang dikelompokkan dari pola tersebut dilambangkan dengan p, maka
dapat dilakukan perhitungan untuk mencari kompleksitas waktu sistem
pengenalan ini adalah sebagai berikut :
Kompleksitas waktu tahap ekstraksi ciri
Tahap ekstraksi ciri terjadi proses pembandingan pola berukuran 5 x 5 pada citra
Aksara Bali yang berukuran 140 x 165 piksel. Pola digerakkan di atas citra baik
secara horisontal maupun vertikal sehingga keseluruhan piksel citra Aksara Bali
terlingkupi. Banyaknya perbandingan maksimum setiap melakukan sekali
ekstraksi ciri adalah:
5 x 5 x 140 x 165 x N = 577500N kali perbandingan
Dalam kondisi praktis perbandingan yang terjadi biasanya jauh di bawah
577500N kali, karena pola 5 x 5 yang tidak cocok biasanya sudah diketahui
sebelum perbandingan ke-25 pada masing-masing pola.
Kompleksitas waktu tahap pembandingan.
Kompleksitas waktu pada tahap pembandingan dicari sesuai dengan prosedur
atau fungsi yang dikerjakan yaitu:
- Menghitung matriks varians
function CountMeanFrequency(sampel: TPersonSign) :
TmeanFrequency;
begin
for i := 1 to DimVector do
begin
bantu := 0;
for Mi := 1 to Number do
bantu := bantu + sampel.freq[i,Mi];
CountMeanFrequency[i] := bantu / number;
end;
end;
Operasi yang terjadi :
Penjumlahan = 3p kali.
Pembagian = p kali.
72
function CountFreqMinMean(Mean : TMeanFrequency;
Pr : TPersonSign) : TFreqMinMean;
begin
for i := 1 to Number do
for j := 1 to DimVector do
CountFreqMinMean[j,i] := Pr.Freq[j,i]-Mean[j];
end;
Operasi yang terjadi:
Pengurangan = 3p kali. function CountVariance(Mean : TMeanFrequency;
Pr : TpersonSign): TVariance;
begin
Vector := CountFreqMinMean(Mean,Pr);
for i := 1 to DimVector do
for j := 1 to DimVector do
begin
Temp := 0;
for k := 1 to Number do
Temp := Temp + Vector[i,k]*Vector[j,k];
Bantu[i,j] := Temp/Number;
end;
CountVariance := Bantu;
end;
Operasi terjadi :
Perkalian = p x p x 3 = 3p2 kali.
Pembagian = p x p = p2 kali.
Penjumlahan = p x p x 3 = 3p2 kali.
Total operasi pada perhitungan matriks varians :
Perkalian/pembagian = p + 3p2 + p2 = (4p2 + p) kali.
Penjumlahan/pengurangan = 3p + 3p + 3p2 = (6p + 3p2) kali
- Menghitung nilai eigen dan vektor eigen.
Metode Jacobi yang dipergunakan untuk mencari nilai eigen dan vektor
eigen, memerlukan maksimum sebanyak 15n3 operasi matematis perkalian
atau pembagian (n adalah orde matriks), dengan rincian : rotasi yang
dilakukan sebanyak 5n3 kali, sedangkan pada setiap rotasi terjadi 3n operasi
matematis. Oleh karena matriks varian berukuran p x p maka operasi
perkalian atau pembagian maksimum yang dilakukan pada perhitungan nilai
eigen dan vektor eigen adalah 15p3 kali operasi.
73
- Menghitung nilai ketidaksamaan.
function CountZ(L : TVariance; k : integer; X : TFrequency;
Urut : TSort) : real;
begin
bantu := 0;
for i := 1 to DimVector do
bantu := bantu + L[i,Urut[k]]*X[Urut[i]];
CountZ := bantu;
end;
Operasi terjadi :
Perkalian = p kali.
Penjumlahan = p kali.
function CountDissimilarity (L : TVariance; Lamda, XMean :
TMeanFrequency; X : TFrequency; Urut : TSort) : real;
begin
dis1 := 0;
for k := 1 to qi do
begin
if Lamda[Urut[k]] <> 0 then
dis1 := dis1 + (SQR(CountZ(L,k,X,Urut)-
countZ(L,k,XMean,Urut))/Lamda[Urut[k]])
else begin
if error <> 2 then Error := 1;
exit;
end;
end;
dis2 := 0;
for k := qi+1 to DimVector do
dis2 := dis2 + (SQR(CountZ(L,k,X,Urut)-
CountZ(L,k,XMean,Urut))/Lamda[Urut[qi]]);
CountDissimilarity := dis1 + dis2;
end;
Operasi yang terjadi :
Penjumlahan = (p + 1) kali.
Pengurangan = p kali.
Pembagian = p kali.
Perpangkatan = p kali.
Operasi mencari Z = p x 2 = 2p kali.
Total operasi perhitungan nilai ketidaksamaan:
Perkalian/pembagian = 2p + p + p = 4p kali.
Penjumlahan/pengurangan = 2p + p + 1 + p = (4p + 1) kali
74
Jadi total operasi maksimum yang terjadi pada tahap pembandingan adalah :
Perkalian/pembagian = (4p2 + p) + (15p3 ) + (4p)
= (15p3 + 4p2 + 5p) kali.
Penjumlahan/pengurangan = (6p + 3p2) + (4p + 1)
= (3p2 + 10p + 1) kali
Setiap tahap pembandingan sebelumnya pasti didahului dengan ekstraksi ciri
aksara, maka dari itu secara keseluruhan tahap pembandingan memerlukan
maksimum (15p3 + 4p2 + 5p) kali operasi perkalian atau pembagian, (3p2 + 10p + 1)
kali operasi penjumlahan atau pengurangan serta ditambah 577500N kali
perbandingan pada tahap ekstraksi ciri.
Kompleksitas waktu pembuatan basis data acuan.
Untuk setiap karakter, memerlukan 6 citra karakter sebagai acuan. Dari 6 citra
ini, 3 citra dicari frekuensi kemunculan pola modelnya yang akan disimpan
dalam file acuan, sedangkan 3 sisanya dipergunakan untuk mencari nilai
ambang. Kompleksitas waktunya adalah :
Tiga citra aksara pertama :
Ekstraksi ciri = 3 x 577500N = 1.732.500N kali perbandingan.
Perhitungan matriks varians :
Perkalian/pembagian = (4p2 + p) kali.
Penjumlahan/pengurangan = (6p + 3p2) kali
Perhitungan nilai eigen = 15p3 kali operasi perkalian .
Tiga citra aksara sisanya :
Ekstraksi ciri = 3 x 577500N = 1.732.500N kali perbandingan.
Menghitung ketidaksamaan :
Perkalian/pembagian = 3 x 4p = 12p kali.
Penjumlahan/pengurangan = 3 x (4p + 1) = (12p + 3) kali
Sorting 3 nilai ketidaksamaan = 6 kali perbandingan.
Total perbandingan = 1.732.500N + 1.732.500N + 6 = 3.465.006N kali.
75
Total operasi matematis:
Perkalian/pembagian = (15p3 + 4p2 + 5p) + 12p
= (15p3 + 4p2 + 17p) kali.
Penjumlahan/pengurangan = (12p + 6p2) + (12p + 3)
= (6p2 + 24p + 3) kali
Jadi kompleksitas waktu maksimum pembuatan basis data acuan untuk satu
aksara adalah: (15p3 + 4p2 + 17p) kali operasi perkalian atau pembagian, (6p2 + 24p
+ 3) kali operasi penjumlahan atau pengurangan, ditambah dengan 3.465.006N kali
perbandingan.
Melihat demikian tingginya kompleksitas waktu yang diperlukan sistem
pengenalan ini, maka diperlukan perangkat keras yang berupa komputer dengan
kecepatan proses yang memadai agar pengoperasian sistem tidak terlalu lambat.
4.2.4 Analisis Kompleksitas Ruang Penyimpanan
Kompleksitas ruang penyimpanan yang diperlukan oleh suatu sistem sangat
tergantung dari struktur data yang digunakan untuk mengembangkan sistem
tersebut, terutama struktur yang nantinya akan berhubungan langsung dengan
fasilitas media penyimpan. Masing-masing tipe data yang digunakan memerlukan
ruang penyimpan yang berbeda pula. Tipe-tipe data yang digunakan dalam sistem
pengenalan ini yang berhubungan dengan keperluan media penyimpan terlihat
dalam Tabel 4.18 berikut ini:
Tabel 4.18
Tipe data dan ruang penyimpan yang diperlukan
No Tipe Ruang Penyimpan
1 Byte 1 byte
2 Integer 4 byte
3 Word 4 byte
4 Real 6 byte
5 String[35] 35 byte + 1 byte
76
Mengacu pada tabel di atas dan struktur data yang telah dirancang, maka
keperluan ruang penyimpan masing-masing file pada sistem pengenalan ini dapat
dihitung sebagai berikut:
Pola model
TModelPattern = record
Nomor : byte; // 1 byte
Model : byte; // 1 byte
Pattern : array[0..4,0..4] of byte;
// 5 x 5 x 1 byte
end;
Pola model tandatangan Indonesia sebanyak 52 pola, maka keperluan ruang
penyimpannya adalah : (1 + 1 + 25) x 52 = 1.404 byte.
Pola model Aksara Bali sebanyak 23 pola, maka keperluan ruang
penyimpannya adalah : (1 + 1 + 25) x 23 = 621 byte.
Data sebuah karakter
THuruf = record
IdNumber : word; // 4 byte
Name : string[35]; // 36 byte
Freq :array[1.. DimVector,1..6] of word;
// 52 x 6 x 4 = 1248 byte
RefFileName : string[70]; //71 byte
ADis : array[1..3] of real;
// 3 x 6 = 18 byte
Critical : real;
end;
Guna menyederhanakan program, maka dalam sistem pengenalan ini
dimensi vektor yang digunakan adalah dimensi vektor terbesar, yaitu
sebanyak pola model yang dimiliki oleh Tandatangan Indonesia yaitu 42.
Dapat disimpulkan bahwa banyaknya keperluan ruang penyimpan untuk data
sebuah aksara adalah : 4 + 36 + 1248 + 71 + 18 + 6 = 1383 byte.
Jika sistem ini dimanfaatkan secara nyata, maka ada beberapa komponen
data aksara yang tidak diperlukan. Adapun struktur data yang dipakai jika
sistem dimanfaatkan secara nyata dengan menggunakan pola model Aksara
Bali adalah:
77
TPersonSign = record
IdNumber : word; // 4 byte
Name : string[35]; // 36 byte
Freq :array[1..23 ,1..6] of word;
// 23 x 6 x 4 = 1008 byte
Critical : real; // 6 byte
end;
Keperluan ruang penyimpannya adalah : (4 + 36 + 1008 + 6) = 552 byte.
Kompleksitas ruang penyimpanan pada sistem pengenalan menggunakan
metode masukan statis secara umum cukup besar, hal tersebut dipengaruhi oleh
faktor disimpan atau tidaknya aksara sampel. Pada kondisi praktis file citra aksara
acuan maupun uji tidak perlu disimpan, karena ciri-ciri yang diperlukan untuk
proses pengenalan sudah diekstraksi pada saat pembuatan basis data acuan dan
disimpan dalam sebuah file.
Sistem pengenalan dalam penelitian ini menggunakan format file citra
bitmap dua warna untuk penyimpanan citra aksara, masing-masing citra aksara
berukuran 140 x 165 piksel memerlukan ruang penyimpan sebanyak 23.100 byte.
Sehingga jika semua file citra aksara acuan maupun uji harus disimpan, maka akan
memerlukan ruang penyimpan yang cukup banyak.