pengenalan citra dokumen sastra jawa konsep … · universitas gadjah mada yogyakarta ibu...
TRANSCRIPT
PENGENALAN CITRA DOKUMEN SASTRA JAWA
KONSEP DAN IMPLEMENTASINYA
Tesis
Untuk memenuhi sebagian persyaratan
mencapai derajat Sarjana S-2
Program Studi Ilmu Komputer
Kelompok Bidang Ilmu Matematika dan Pengetahuan Alam
Diajukan oleh:
Anastasia Rita Widiarti
21189/I-4/1669/04
Kepada
PROGRAM PASCASARJANA
UNIVERSITAS GADJAH MADA 2006
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PERNYATAAN
Dengan ini saya menyatakan bahwa dalam tesis ini tidak terdapat karya yang pernah
diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang
pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau
diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam makalah ini dan
disebutkan dalam daftar pustaka.
Yogyakarta, 15 Desember 2005
Anastasia Rita Widiarti
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
LEMBAR PERSEMBAHAN
Tesis ini dipersembahkan kepada:
Universitas Sanata Dharma Yogyakarta
Universitas Gadjah Mada Yogyakarta
Ibu (almarhum). Semoga Tuhan membalas semua
kebaikan Ibu dengan memberi kedamaian abadi di
surga
Keluarga besarku, utamanya HiKaNaYa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
KATA PENGANTAR
Syukur yang teramat dalam penulis sampaikan kepada Tuhan Yang Maha
Pengasih, sehingga pembuatan tesis yang berjudul: “Pengenalan Citra Dokumen Sastra
Jawa: Konsep dan Implementasinya” ini bisa selesai. Hanya atas perkenanNya maka
tesis ini dapat terwujud.
Tesis ini disusun untuk memenuhi sebagian persyaratan mencapai derajat Sarjana
S-2 pada Program Studi Ilmu Komputer, Jurusan Ilmu-Ilmu Matematika dan
Pengetahuan Alam, Program Pascasarjana, Universitas Gadjah Mada.
Pada kesempatan ini penulis juga ingin menyampaikan rasa terima kasih kepada
semua pihak yang telah memberikan bantuan materi, pikiran, semangat dan doa, yaitu:
1. Bapak Drs. Retantyo Wardoyo, M.Sc., Ph.D., selaku pengelola program S-2 Ilmu
Komputer, terima kasih atas bimbingan yang telah diberikan selama menempuh
kuliah.
2. Bapak Drs. Agus Harjoko, M.Sc., Ph.D., selaku dosen pembimbing, terima kasih
atas kesabarannya dalam membimbing penyelesaian tesis penulis.
3. Seluruh jajaran Yayasan Sanata Dharma dan Rektorat Universitas Sanata Dharma,
terimakasih atas kesempatan yang sangat berharga untuk mengikuti studi lanjut ini.
4. Seluruh staff FMIPA USD, baik teman-teman dosen maupun karyawan, yang telah
memberi semangat dan kesempatan untuk studi kepada penulis.
5. Mas Widodo (perpustakaan Artati USD), atas bantuannya menterjemahkan tulisan
Jawa, serta semua teman karyawan di perpustakaan USD,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
6. Mas Sugeng, Mbak Rini, dan Mas Endro, atas pelayanan yang telah penulis terima
selama menempuh kuliah,
7. Seluruh keluarga besar penulis yang senantiasa mendorong penulis tanpa mengenal
putus asa, Mas Antok, semua bulik dan Om, Simbah dan Eyang, serta Tika, Dena
dan Alya.
8. Semua teman seperjuangan di S2 Ilkom UGM serta semua teman yang tidak dapat
penulis sebut satu persatu yang selalu membawa kasih dan sukacita.
Semoga kebaikan semua pihak menjadi berkat tidak hanya bagi penulis pribadi,
namun juga bagi semua yang telah menyalurkan berkat tersebut untuk penulis. Dan
semoga tesis ini berguna juga bagi perkembangan ilmu komputer, khususnya bidang
pengolahan citra dan budaya jawa.
Penulis senantiasa menyadari bahwa penulisan tesis ini masih belum sempurna,
untuk itu segala saran dan kritik yang sifatnya membangun sangat penulis harapkan.
Yogyakarta, 16 Desember 2005
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
DAFTAR ISI
KATA PENGANTAR ……………………………………………………...
DAFTAR ISI ………………………………………………………………..
DAFTAR TABEL …………………………………………………………..
DAFTAR GAMBAR ……………………………………………………….
DAFTAR LAMPIRAN ……………………………………………………..
INTISARI …………………………………………………………………...
ABSTRACT ………………………………………………………………...
BAB 1 PENDAHULUAN ………………………………………………
1.1 Latar Belakang Masalah ……………………………………
1.2 Perumusan Masalah ……………………………………….
1.3 Batasan Masalah …………………………………………...
1.4 Keaslian Penelitian …………………………………………
1.5 Tujuan Penelitian…………………………………………...
1.6 Faedah Penelitian …………………………………………..
1.7 Metodologi Penelitian ……………………………………...
1.8 Tinjauan Pustaka …………………………………………...
1.9 Sistematika Penulisan ……………………………………...
BAB 2 LANDASAN TEORI ……………………………………………
2.1 Pengenalan Pola ……………………………………………
2.2 Analisis Citra Dokumen ………..…………………………..
2.2.1 Data Capture ………………………………………..
2.2.2 Pengolahan Tingkat Piksel ………………………….
2.2.3 Analisis Tingkat Fitur ………………………………
2.2.4 Analisis Teks ………………..……………………..
2.3 Normalisasi Terhadap Orientasi ……………………………
2.4 Binarisasi …………………………………………………..
2.4.1 Metode Otsu ………………………………………..
2.5 Pengurangan Noise ………………………………………..
v
vii
x
x
xii
xiii
xiv
1
1
2
2
3
3
3
4
6
7
8
9
9
11
12
13
13
14
15
17
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
2.5.1 Titik-Titik Tetangga ………………………………...
2.6 Perangkaan …………………………………………………
2.6.1 Algoritma Hilditch …………………………….……
2.7 Segmentasi …………………………………………………
2.7.1 Histogram Citra …………………………………….
2.7.2 Profil Proyeksi ………………………………………
2.8 Pengenalan Karakter ……………………………………….
2.8.1 Ekstraksi Ciri ……………………………………….
2.8.2 Langkah Klasifikasi ………………………………..
BAB 3 PERANCANGAN SISTEM ……………………………………
3.1 Spesifikasi Sistem ……………………………………….…
3.1.1. Spesifikasi Sistem Pembuat Basis Data …………….
3.1.2. Spesifikasi Sistem Pengenalan Citra Dokumen ……..
3.1.3 Proses Pengenalan Citra Karakter Dalam Citra
Dokumen …………………….
3.2 Desain Sistem ……………………………………………...
3.2.1 Desain Struktur Data ………………………………...
3.2.1 Diagram Aliran Data ………………………………...
3.2.1.1 Diagram Aliran Data Sistem Pembuat Basis
Data (SPBD) ………………………………..
3.2.1.2 Diagram Aliran Data Sistem Pengenalan
Citra Dokumen (SPCD) …………………….
3.2.2 Struktur Program …………………………………..
3.2.3 Desain Antar Muka ………………………………..
BAB 4 IMPLEMENTASI SISTEM…………………. …………………
4.1 Antar Muka Pemakai Sistem ……………………………..
4.1.1 Antar Muka Pemakai Sistem Pembuat Database ….
4.1.2 Antar Muka Pemakai Sistem Pengenal Citra
Dokumen …………………………………………..
4.2 Implementasi ……………………………………………..
4.2.1 Modul-Modul Utama Sistem Pembuat Basis Data ...
20
21
21
24
25
25
26
27
28
31
31
32
32
33
33
34
35
35
38
45
47
49
49
49
51
53
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
4.2.2 Modul-modul Utama Sistem Pengenalan Citra
Dokumen ……………………………………………
BAB 5 HASIL DAN PEMBAHASAN …………………………………
5.1 Data Masukan ……………………………………………...
5.2 Eksekusi Modul-Modul …………………………………….
5.3 Analisis Output Pengenalan Karakter ……………………...
BAB 6 KESIMPULAN DAN SARAN …………………………………
6.1 Kesimpulan ………………………………………………...
6.2 Saran ………………………………………………………..
DAFTAR PUSTAKA ………………………………………………………
Lampiran 1. Antar Muka Pemakai Sistem Pengenal Citra Dokumen ……...
Lampiran 2. Implementasi Prosedur Dalam Desain Sistem ………..……..
Lampiran 3. Data Dokumen Panji Sekar …………………………..……...
57
72
72
72
83
92
92
93
94
96
98
122
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
DAFTAR TABEL
Tabel 5.1. Karakteristik File Masukan ……………………………………..
Tabel 5.2. Hasil Proses Pengenalan Karakter Dokumen Menak Sorangan I
Halaman 3 ..................................................................................…....
Tabel 5.3. Contoh Sebagian karakter dalam database karakter Jawa ……....
Tabel 5.4. Hasil Proses Pembentukan Kata .................................................
Tabel 5.5. Tabel Karakter Dikenali Dokumen Menak Sorangan I
Halaman 3 .........................................................................................
Tabel 5.6. Tabel Karakter Dikenali Dokumen Menak Sorangan I
Halaman 4 .........................................................................................
Tabel 5.7. Analisis Output Pengenalan Citra Dokumen Menak Sorangan I
Hal. 3..................................................................................................
Tabel 5.8. Analisis Output Pengenalan Citra Dokumen Menak Sorangan I
Hal. 4..................................................................................................
Tabel 5.9. Rangkuman Hasil Analisis Output Program ..............................
72
78
79
82
85
86
88
89
91
DAFTAR GAMBAR
Gambar 1.1 Bagan Proses Analisis Citra Dokumen “Menak Sorangan” ..
Gambar 2.1 Hirarki Pemrosesan Dokumen. ...............................................
Gambar 2.2 Langkah-langkah Proses Analisis Dokumen ..........................
Gambar 2.3. Perputaran citra dengan sudut θ .............................................
4
10
11
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Gambar 2.4. Ilustrasi dari karakter na dengan salt-and-pepper noise ........
Gambar 2.5. Ilustrasi piksel yang mempunyai 8 titik tetangga ..................
Gambar 2.6. Contoh citra karakter pra sebelum dan sesudah dikenai thin-
ning .........................................................................................
Gambar 2.7. Bagian dari sebuah citra .........................................................
Gambar 2.8. Contoh piksel dengan B(PI)<2 dan B(PI)>6 .........................
Gambar 2.9. Contoh piksel dengan A(PI) ≠ 1 ............................................
Gambar 2.10. Contoh piksel dengan P2=P4=P8=1 atau 0 dan A(P2) = 1
atau ≠ 1 .................................................................................
Gambar 2.11. Contoh piksel dengan P2 = P4 = P8 ≠ 0 atau 0 dan A(P4) = 1
atau ≠ 1 .................................................................................
Gambar 2.12. Profil proyeksi horisontal dan vertikal .................................
Gambar 2.13. Ilustrasi perhitungan ciri karakter jawa: Tarung ..................
Gambar 3.1 Gambaran Umum Tujuan Sistem ............................................
Gambar 3.2. Sistem Pengenalan Citra Dokumen ........................................
Gambar 3.3 DAD Level 0 Sistem Pembuat Basis Data ..............................
Gambar 3.4. DAD Level 1 Sistem Pembuat Basis Data .............................
Gambar 3.5. DAD Level 2 Proses Olah Data ............................................
Gambar 3.6. DAD Level 0 Sistem Pengenalan Citra Dokumen .................
Gambar 3.7. DAD Level 1 Sistem Pengenalan Citra Dokumen .................
Gambar 3.8. DAD Level 2 Proses Binarisasi .............................................
Gambar 3.9. DAD Level 2 Proses Normalisasi Orientasi ..........................
Gambar 3.10. DAD Level 2 Proses Filling .................................................
19
20
21
22
23
23
24
24
26
28
31
34
36
36
37
38
39
41
42
42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
Gambar 3.11. DAD Level 2 Proses Segmentasi ........................................
Gambar 3.12. DAD Level 2 Proses Pengenalan Karakter ..........................
Gambar 3.13. Struktur Program Sistem Pembuat Basis Data .....................
Gambar 3.14. Struktur Program Sistem Pengenalan Citra Dokumen .........
Gambar 3.15. Disain Layar Sistem Pembuat Basis Data ...........................
Gambar 3.16. Disain Layar Sistem Pengenalan Citra Dokumen ...............
Gambar 4.1. Tampilan Antar Muka Pemakai Sistem Pembuat Basis Data
Gambar 4.2. Tampilan Antar Muka Pemakai Sistem Pengenal Citra
Dokumen ...............................................................................
Gambar 5.1. Contoh Citra Dokumen Menak Sorangan halaman 3
(data ke 1) ............................................................................
Gambar 5.2. Contoh Tampilan Citra Hasil Proses Binarisasi .....................
Gambar 5.3. Contoh Tampilan Citra Hasil Normalisasi Orientasi .............
Gambar 5.4. Contoh Tampilan Hasil Proses Thinning ...............................
Gambar 5.5. Cuplikan histogram hasil proses profil proyeksi vertikal ......
Gambar 5.6. Cuplikan histogram hasil proses profil proyeksi horisontal ...
Gambar 5.7. Contoh citra karakter hasil akhir proses segmentasi ..............
Gambar 5.8. Isi Citra dokumen Menak Sorangan I Halaman 4 ..................
43
44
45
47
48
48
50
52
73
74
75
76
76
77
77
84
DAFTAR LAMPIRAN Lampiran 1. Antar Muka Pemakai Sistem Pengenal Citra Dokumen .............. 96
Lampiran 2. Implementasi Prosedur Dalam Desain Sistem ............................ 98
Lampiran 3. Data Dokumen Panji Sekar .......................................................... 122
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
PENGENALAN CITRA DOKUMEN SASTRA JAWA:
KONSEP DAN IMPLEMENTASINYA
Anastasia Rita Widiarti
INTISARI
Di Yogyakarta masih banyak dapat ditemukan naskah-naskah kuno yang merupakan warisan budaya yang tak ternilai harganya. Maka Apabila naskah-naskah tersebut dapat dikonversikan ke dalam format digital, akan banyak manfaat yang bisa diraih.
Penelitian ini mencoba untuk membuat sebuah prototipe sistem pengenalan citra dokumen sastra Jawa. Data masukan untuk sistem diperoleh dari hasil pembacaan dokumen sastra Jawa dengan alat optis, yang kemudian disimpan sebagai file gambar dengan format *.jpg. Selanjutnya dengan mempergunakan berbagai metode untuk pengolahan citra, diperoleh citra karakter Jawa pembentuk citra dokumen masukan. Dengan mempergunakan histogram untuk piksel yang berwarna hitam diperoleh ciri untuk setiap karakter. Ciri ini kemudian disimpan dalam basis data karakter Jawa, untuk kemudian ciri ini dipakai dalam pencocokan ciri apabila terdapat masukan karakter Jawa. Dengan mempergunakan jarak Euclidean akan diperoleh nama-nama Latin setiap karakter Jawa pembentuk citra dokumen.
Dari hasil penelitian menunjukkan bahwa untuk mengenal citra dokumen sastra Jawa, dalam hal ini dokumen “Menak Sorangan I, Bab I, Halaman 3 dan 4” diperoleh prosentase keberhasilan pengenalan sebesar 86.53%. Maka dapat disimpulkan bahwa pemilihan metode-metode yang dipergunakan dalam tahap pengenalan citra dokumen pada penelitian ini relatif sudah baik.
Keyword: Citra dokumen, normalisasi orientasi, binarisasi, noise, perangkaan, seg-
mentasi, pengenalan karakter, ekstraksi ciri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DOCUMENT IMAGE RECOGNITION OF JAVANESE LITERATURE:
CONCEPTS AND IMPLEMENTATION
by: Anastasia Rita Widiarti
ABSTRACT
In Yogyakarta still often could be found the old texts that were the cultural inheritance that was not appraised him. Then if these texts could be converted in the digital format, would many benefits that could be gained.
This research tried to make a prototype of the document image recognition system to the Javanese literature. The input data was for the system received from results of Javanese reading of the literature document with the implement optic, that afterwards was kept as file the picture with the format *. Jpg. Further by utilizing various methods for the processing of the image, was received by the Javanese character image the framer of the image of the input document. By counting the number pixel the object in each unit from a character image was received by the characteristics of this image. These characteristics were afterwards kept in the Javanese character database, during afterwards these characteristics were used in the verification of the characteristics if being gotten by Javanese character input. By utilizing the modification of the Euclidean distance will be received by the Latin names of each Javanese character the framer of the document image.
From results of the research showed that to know the Javanese image of the literature document, in this case the Menak Sorangan I document and the Panji Sekar document the Map in the page 3 and 4, was received by the percentage of the success of the introduction as big as 86.53%. Then could be concluded that the election of methods that was utilized in the introductory stage to the document image in this research was relative has been good.
Key Word: document image recognition, image processing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Salah satu persoalan dalam bidang komputer yang banyak menjadi perhatian
adalah analisis citra dokumen (document image analysis). Analisis citra dokumen
merupakan ilmu yang membahas tentang algoritma-algoritma dan teknik-teknik yang
diterapkan pada citra atau dokumen untuk menghasilkan deskripsi yang dapat
dikenali oleh komputer. Analisis citra dokumen muncul karena kebutuhan efisiensi
dalam menganalisis sebuah dokumen kertas yang sudah ada. Contoh kasus yang
membutuhkan analisis citra dokumen misalnya untuk membaca dokumen tercetak
atau dokumen tulisan tangan dan mengubahnya menjadi dokumen digital sehingga
kualitasnya dapat diperbaiki atau keberadaannya (umur dokumen) dapat
diperpanjang.
Perkembangan ilmu analisis citra dokumen membuka peluang besar untuk
dimanfaatkan bagi penyelamatan naskah-naskah kuno yang banyak ditemukan di
Yogyakarta dan merupakan warisan budaya yang tak ternilai harganya. Apabila
naskah-naskah tersebut dapat dikonversikan ke dalam format digital, akan banyak
manfaat yang bisa diraih.
Persoalan muncul karena naskah kuno di Yogyakarta kebanyakan ditulis
dengan menggunakan karakter Jawa, sementara komputer umumnya hanya mengenal
dan merepresentasikan karakter Latin. Oleh karena itu, diperlukan suatu perangkat
lunak yang mampu mengenali dokumen berkarakter Jawa tersebut dan selanjutnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
merepresentasikannya dalam komputer. Mengingat tidak semua orang mengenal
karakter Jawa, maka akan lebih bermanfaat lagi apabila kemudian naskah berkarakter
Jawa tersebut dapat direpresentasikan pula dengan karakter Latin tanpa kehilangan
maknanya.
1.2 Perumusan Masalah
Berdasarkan latar belakang di atas, maka permasalahan yang dapat
dirumuskan adalah:
a. Bagaimana membaca dan mengubah data masukan berupa hasil scan menjadi
sebuah bentuk tertentu yang siap diolah?
b. Bagaimana mengimplementasikan algoritma-algoritma yang berkait dengan
analisis citra dokumen teks untuk membuat prototipe perangkat lunak yang dapat
mengenali masukan sebuah citra dokumen teks yang ditulis dengan
mempergunakan karakter Jawa?
c. Bagaimana merepresentasikan citra dokumen teks yang memakai model tulisan
karakter Jawa yang sudah dikenal tersebut ke dalam dokumen teks yang memakai
karakter Latin?
1.3 Batasan Masalah
Dalam penelitian ini ada beberapa pembatasan masalah yang dilakukan,
yaitu:
a. Proses yang akan dilakukan adalah analisis citra dokumen teks saja
b. Citra dokumen ditulis dengan mempergunakan karakter Jawa yang monokrom
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
c. Citra dokumen diambil dari buku cetakan dengan ketentuan terdapat jarak antar
baris
d. Masukan hanya berupa satu citra dokumen teks per satu saat.
1.4 Keaslian Penelitian
Sejauh yang penulis ketahui, penelitian yang membahas tentang analisis
citra dokumen telah banyak dilakukan, namun implementasinya pada citra
dokumen teks yang ditulis dengan mempergunakan karakter Jawa belum ada
sebelumnya.
Penelitian ini pada dasarnya meneruskan kerja dari Suprihatin (2003).
Bedanya, input program bukan diperoleh dari komputer melainkan dari hasil scan
sebuah citra dokumen teks.
1.5 Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah merancang dan
membuat sebuah perangkat lunak yang mampu melakukan analisis citra dokumen
teks, sehingga dapat digunakan untuk mengolah sebuah citra dokumen teks yang
ditulis dengan mempergunakan karakter Jawa.
1.6 Faedah Penelitian
Manfaat yang diharapkan dari penelitian ini adalah dapat melakukan konversi
naskah dari buku sastra jawa ke dalam format teks karakter Latin secara otomatis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.7 Metodologi Penelitian
Penelitian ini dilakukan dengan mempergunakan tahapan proses analisis citra
dokumen yang skemanya dapat digambarkan sebagai berikut:
DataCapture Binarisasi Filling
DokumenMenak
SoranganThinning Segmentasi
PengenalanKarakter
PembentukanKata
Deretan KataDalam Huruf Latin
Gambar 1.1 Bagan Proses Analisis Citra Dokumen “Menak Sorangan”
a. Data Capture
Tahap awal dari proses analisis citra dokumen adalah digitalisasi data
dokumen dengan mempergunakan alat bantu scan. Hasil digitalisasi disimpan
dalam file *.jpg. Selanjutnya dilakukan langkah normalisasi orientasi
terhadap file tersebut.
b. Binarisasi
Setelah data dalam format digital diperoleh, maka langkah selanjutnya adalah
mengubah citra dari citra yang non hitam putih ke dalam citra hitam putih. Di
mana warna hitam adalah untuk citranya, dan warna putih adalah warna latar
belakang.
c. Filling
Hasil dari proses binarisasi sangat mungkin terdapat beberapa noise,
contohnya adalah adanya salt and pepper. Agar proses selanjutnya berhasil
dengan baik, maka harus dilakukan proses untuk mengurangi noise ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
d. Thinning
Setelah diperoleh citra yang bebas dari noise, maka selanjutnya dilakukan
proses untuk mengurangi komponen citra yang tidak mempunyai arti atau
tidak membedakan.
e. Segmentasi
Segmentasi adalah proses untuk memisahkan komponen setiap teks yang
nantinya akan dipergunakan dalam tahap pengenalan karakter.
f. Pengenalan Karakter
Tahap pengenalan karakter bertujuan untuk mengenali setiap karakter yang
telah diperoleh sebagai hasil dari segmentasi.
g. Pembentukan Kata
Pembentukan kata menjadi tahap terakhir dari keseluruhan proses analisis.
Sebagai keluaran dari tahap ini akan diperoleh deretan kata yang dibentuk
dari hasil pengenalan karakter.
Langkah penelitian:
a. Merancang dan membuat program aplikasi Sistem Pengenalan Citra Dokumen
Teks Sastra Jawa
b. Menguji coba program aplikasi yang telah dibuat.
c. Melakukan analisis terhadap hasil pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
1.8 Tinjauan Pustaka
Penelitian dan tulisan tentang analisis citra dokumen telah banyak dilakukan
oleh banyak peneliti. Gonzales (Gonzales, 1992), menyodorkan sebuah rumusan
global tentang bagaimana memisahkan citra utama dengan citra latar belakang.
Namun rumusan ini mempunyai kelemahan, yaitu tidak secara eksplisit menyatakan
berapa nilai ambang yang dipakai untuk memisahkan citra tersebut. Pembaca harus
melihat kasus per kasus dalam menentukan harga ambang yang cocok.
Haralick (Haralick, dkk., 1987), memberikan metode morfologi dalam proses
pengurangan noise, Fletcher dan Kasturi (Fletcher dan Kasturi, 1988) menyodorkan
algoritma Robust yang dapat dipakai untuk proses segmentasi, dan kemudian Arcelli,
dan Sanniti (Arcelli dan Sanniti, 1985) memberikan contoh pemakaian fast thinning
algorithm untuk mengurangi komponen citra yang tidak penting. Kesemua penelitian
di atas adalah penelitian yang berkait dengan proses pengolahan tingkat piksel,
setelah citra dibaca dengan mesin scanner, namun kesemuanya dipakai untuk
dokumen citra yang ditulis dengan mempergunakan karakter latin.
Setelah tahap pengolahan tingkat piksel, maka tahap selanjutnya adalah tahap
pengenalan karakter dan analysis layout halaman. Brown (Brown, 2000),secara detil
memberikan contoh implementasi algoritma feature point extraction untuk
pengenalan karakter latin. Kavallieratou (Kavallieratou, dkk., 2000) mengaplikasikan
distribusi kelas Cohen untuk memperbaiki kemiringan karena ketidaksempurnaan
dalam proses pembacaan dokumen. O’Gorman (O’Gorman, 1993), secara garis besar
memberikan contoh analisis layout halaman dokumen khususnya untuk dokumen
dari jurnal ilmiah IEEE Transactions On Pattern Analysis and Machine Intelligence.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Suprihatin (Suprihatin, 2003), dalam tesisnya telah berhasil
mengalihaksarakan tulisan karakter jawa ke tulisan karakter latin, namun masukan
untuk program alihaksara diperoleh dari keyboard dengan mempergunakan program
sofy untuk mendapatkan jenis font karakter jawa.
1.9 Sistematika Penulisan
Tesis ini ditulis dengan sistematika sebagai berikut:
Bab pertama menguraikan tentang latar belakang masalah, rumusan masalah,
batasan masalah tujuan penelitian. manfaat penelitian, metode penelitian, tinjauan
pustaka, dan sistematika penulisan.
Bab kedua Landasan Teori membahas teori analisis citra dokumen teks, dan
pengolahan citra.
Bab ketiga Perancangan Sistem berisi disain dari sistem yang meliputi
spesifikasi sistem, diagram aliran data, struktur dari program, disain antarmuka, dan
disain struktur menu dari sistem.
Bab keempat Implementasi Sistem menguraikan implementasi dari proses-
proses dalam diagram aliran data yang berupa keterangan tentang sub-sub modul
yang dipergunakan oleh sistem.
Bab kelima Hasil dan Pembahasan menguraikan hasil pengujian sistem dan
analisis dari hasil pengujian sistem tersebut.
Bab keenam Kesimpulan dan Saran menguraikan kesimpulan dari penelitian
dan saran-saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
BAB II
LANDASAN TEORI
Kata citra berasal dari kata image dalam bahasa Inggris. (Gonzales dan
Woods, 1992) mendefinisikan citra sebagai suatu fungsi kontinu dari intensitas
dalam bidang dua dimensi (2-D), di mana setiap titik pada citra dapat dinyatakan
secara matematis sebagai:
0 < f ( x, y ) < ∞
dengan f ( x, y ) menyatakan intensitas cahaya pada lokasi (x,y).
Citra digital didefinisikan sebagai citra f(x,y) yang nilainya didigitalisasikan
atau dibuat diskrit baik dalam koordinat bidang maupun dalam intensitas cahayanya
(Gonzales dan Woods, 1992). Citra digital dapat digambarkan sebagai suatu matriks
yang terdiri dari baris dan kolom, di mana setiap pasangan indeks baris dan kolom
menyatakan suatu titik pada citra, dan nilai elemen matriksnya menyatakan nilai
tingkat kecerahan di titik tersebut. Elemen-elemen matriks tersebut kemudian
dinamakan sebagai elemen citra, atau elemen gambar atau piksel (Gonzales dan
Woods, 1992). Selanjutnya dalam tesis ini yang dimaksud dengan citra adalah citra
digital.
Citra dokumen adalah representasi visual dokumen kertas seperti jurnal, hasil
faksimili, surat-surat kantor, lembar isian, dan lain-lain. Pengenalan citra dokumen
adalah suatu upaya untuk menjadikan citra dokumen menjadi suatu representasi
semantik (Srihari, S.N., dkk, 1986).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.1 Pengenalan Pola
Pengenalan pola (pattern recognition) merupakan salah satu komponen
penting dalam sistem pengenalam citra dokumen. Tujuan utama dari pengenalan pola
adalah mengklasifikasikan obyek yang diberikan sebagai input ke dalam salah satu
dari kelas-kelas yang sudah ditentukan sebelumnya.
Proses pengenalan pola terdiri dari tiga fase utama, yaitu segmentasi citra,
ekstraksi ciri, dan klasifikasi. Fase segmentasi citra adalah suatu fase yang bertujuan
memisahkan citra yang menjadi pusat perhatian dari bagian citra lainnya. Fase
ekstraksi ciri adalah fase dilakukannya pengukuran terhadap citra. Pengukuran
dimaksudkan untuk memperoleh suatu nilai properti dari suatu obyek. Ciri adalah
fungsi dari satau atau beberapa nilai properti yang dapat dipergunakan untuk
menyatakan suatu karakter tertentu dari obyek. Fase ekstraksi ciri akan menghasilkan
beberapa ciri yang diwujudkan dalam bentuk suatu vektor ciri. Vektor ciri hasil
ekstraksi ciri ini dipergunakan oleh fase klasifikasi. Output dari fase klasifikasi
adalah suatu keputusan termasuk kelas apakah suatu obyek itu. Dalam proses
klasifikasi setiap obyek digolongkan ke dalam salah satu dari kelas-kelas yang sudah
ditetapkan sebelumnya.
2.2 Analisis Citra Dokumen
Banyak dokumen yang memiliki format karakter yang berbeda dengan format
karakter karakter latin, misal dokumen yang ditulis dalam format karakter Cina,
India, Thailand, Jawa dan sebagainya. Akibatnya dokumen tersebut hanya dapat
dibaca oleh orang yang memahami format karakter tersebut. Untuk kepentingan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
tersebut, dibutuhkan sistem analisis citra dokumen untuk menerjemahkan dokumen
dengan bentuk karakter tertentu agar menghasilkan sebuah deskripsi yang dapat
dipahami oleh pembaca. Sistem analisis citra dokumen juga dapat digunakan untuk
kepentingan lain, misal untuk membaca karakter dalam amplop surat sehingga surat
dapat dipilah-pilah, atau untuk mengubah koleksi buku di perpustakaan tradisional ke
dalam format digital.
Tujuan utama dari kegiatan analisis citra dokumen adalah untuk mengenali
komponen-komponen teks ataupun gambar di dalam suatu dokumen. Analisis citra
dokumen secara garis besar dibagi menjadi dua kategori analisis, yaitu analisis untuk
teks dan gambar, seperti terlihat dalam Gambar 2.1 (O’Gorman dan Kasturi, 1997).
PengenalanKarakter
AnalisisLayout
Halaman
PengolahanGaris
PengolahanSimbol dan
WilayahGambar
Pengolahan Teks Pengolahan Gambar
Pengolahan Dokumen
Teks Kecondongan,baris, alinea,
paragraf
Garis lurus,sudut, kurva
DaerahGambar
Gambar 2.1 Hirarki Pemrosesan Dokumen.
Pengolahan teks berkait dengan bagian teks dari citra dokumen. Beberapa
tugas yang terkait dengan pengolahan teks adalah menentukan kecondongan teks,
menemukan kolom-kolom, paragraf-paragraf, baris-baris teks, dan kata, dan akhirnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
mengenali teks beserta atributnya, misalnya ukuran dan font dari teks seperti yang
dapat dilakukan oleh mesin pengenal karakter (OCR). Sementara pengolahan grafik
berkait dengan komponen garis dan simbol-simbol yang membentuk diagram, logo,
dan lain sebagainya. Dan lebih lanjut O’Gorman dan Kasturi memberikan tahapan-
tahapan proses analisis citra dokumen seperti terlihat dalam Gambar 2.2.
Gambar 2.2 Langkah-langkah Proses Analisis Dokumen
2.2.1 Data Capture
Pada tahap data capture, data dari dokumen kertas akan dibaca dengan alat
scan optis dan hasilnya disimpan sebagai file dalam bentuk piksel. Terdapat tiga
kemungkinan nilai piksel, yaitu berupa nilai ON(1) atau OFF (0) untuk citra biner,
Lembar Dokumen
Data Capture
Pengolahan Tingkat Piksel
Analisis Tingkat Fitur
Pengenalan dan Analisis Teks
Pengenalan dan Analisis Grafis
Dokumen Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
atau suatu bilangan bulat antara 0-255 untuk citra grayscale, atau tiap piksel terdiri
atas 3 komponen bilangan bulat antara 0-255 untuk komponen wana merah,
komponen warna hijau, dan komponen warna biru untuk citra berwarna. Barisan nilai
piksel yang diperoleh pada tahap ini, kemudian akan diproses lebih lanjut untuk
mendapatkan suatu informasi seperti yang diinginkan.
2.2.2 Pengolahan Tingkat Piksel
Tahap pengolahan tingkat piksel adalah suatu tahap yang bertujuan untuk
menyiapkan dokumen citra, serta membuat fitur perantara untuk membantu
mengenali citra. Langkah- langkah yang dilakukan adalah :
a. Proses binarisasi: memisahkan citra utama dari citra latar belakang yang tidak
dibutuhkan.
b. Pengurangan noise: menghilangkan piksel-piksel yang tidak penting untuk
mengurangi kesalahan pengenalan obyek.
c. Segmentasi: memisahkan komponen teks dan grafis dari sebuah dokumen. Pada
komponen teks segmentasi dilakukan dengan memisahkan kolom, paragraf, kata
dan karakter. Pada komponen grafis, segmentasi akan memisahkan simbol dan
garis.
d. Thinning dan deteksi area: Thinning merupakan proses untuk mengurangi
komponen citra yang tidak penting agar proses analisis dan pengenalan dapat
dilakukan dengan lebih efisien. Thinning dikenakan terhadap kurva tebal yang
akan ditipiskan. Deteksi area dikenakan pada obyek yang diblok dengan warna
sedangkan yang diperlukan hanya batas area tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
e. Chain coding dan vektorisasi: mengubah data kerangka dan kontur yang ada
menjadi piksel On yang saling berantai (terkait) sehingga penyimpanan obyek
menjadi lebih efisien.
2.2.3 Analisis Tingkat Fitur
Analisis tingkat fitur akan menghasilkan informasi yang lebih dapat dipahami
manusia. Langkah- langkah yang dilakukan adalah :
a. Pengelompokan garis dan kurva: menentukan garis dan kurva yang saling
berhubungan serta memisahkan garis dan kurva yang tidak sekelompok.
b. Poligonisasi: mengolah kurva dan garis lurus yang ada sehingga akan mendekati
aslinya dan dapat disimpan dengan data yang lebih ringkas.
c. Deteksi titik kritis. mengenali suatu bentuk kurva berdasarkan titik kritis yang
ditentukan.
2.2.4 Analisis Teks
Terdapat dua tipe analisis yang dapat diberlakukan terhadap teks pada
dokumen. Yang pertama adalah pengenalan karakter (character recognition) untuk
mengenali karakter dan kata dari citra berbasis bit. Yang kedua adalah analisis layout
halaman untuk menentukan format teks dan menentukan arti, yang berhubungan
dengan posisi dan fungsi dari teks.
Dalam analisis layout halaman yang dilakukan adalah :
a. Perkiraan kemiringan: mengelola karakter yang memiliki sudut kemiringan
tertentu sehingga nantinya akan dapat diolah untuk dikenali.
b. Analisis layout: memilah karakter dalam dokumen untuk dikelompokkan dalam
paragraf, judul, atau daftar isi dan yang lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.3. Normalisasi terhadap Orientasi
Normalisasi terhadap orientasi dilakukan untuk mengurangi pengaruh
kesalahan orientasi saat pembacaan data citra dokumen dengan scanner. Tidak dapat
dijamin bahwa pengguna akan selalu menempatkan dokumen tegak lurus dengan
sumbu utama. Oleh karena itu, perlu dilakukan perputaran atau rotasi sebesar sudut
penyimpangan (θ) sebagai langkah koreksi terhadap penyimpangan orientasi.
Rotasi suatu citra dengan sudut sebesar θ yang berlawanan arah dengan arah
jarum jam, (lihat gambar 2.3) dapat dilakukan dengan mempergunakan rumus (2.1).
x’ = x cos(θ) – y sin(θ) (2.1)
y’ = x sin(θ) + y cos(θ)
θ
( x', y')
( x, y)
Gambar 2.3. Perputaran citra dengan sudut θ
Untuk mengetahui seberapa besar penyimpangan orientasi suatu obyek
dengan sumbu utama, dapat dilakukan dengan mempergunakan orientasi momen.
Nilai θ dapat ditentukan dengan rumus (2.2).
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−= −
2,00,2
1,11 2tan
21
µµµ
θ (2.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
dengan
qp
m nqp nnmm )()(, −−=∑∑µ (2.3)
merupakan momen pusat ordo (p,q), dengan m , n merupakan titik pusat momen
yang didefinisikan sebagai berikut:
∑∑=m n
mN
m 1 , ∑∑=m n
nN
n ,1 (2.4)
N menyatakan jumlah piksel pada citra, m dan n menyatakan koordinat obyek dari
citra. Rumus (2.4) hanya berlaku untuk citra biner.
2.4. Binarisasi
Binarisasi adalah tahapan pertama di dalam pengolahan tingkat piksel setelah
dilakukan data capture, yaitu proses untuk memisahkan obyek dari latar belakang
yang tidak dibutuhkan (O’Gorman dan Kasturi, 1997). Tujuan utama dari proses ini
adalah secara otomatis menentukan nilai ambang threshold yang akan berfungsi
untuk membagi citra menjadi dua bagian atau dua kelompok, yaitu kelompok obyek
dan kelompok latar. Berdasarkan tujuan tersebut, maka dalam banyak sumber lain,
proses binarisasi ini akan disebut sebagai proses thresholding.
Proses pemilihan threshold seringkali akan menjadi proses yang sulit ketika:
a. Perbedaan antara piksel obyek dan latar sangat tipis. Contohnya bila terdapat teks
yang dicetak pada bagian yang diberi latar abu-abu.
b. Ketika proses data capture dilakukan, pencahayaan untuk proses scanning
kurang.
c. Ketika teks dicetak sangat tipis baik dengan cara dipukulkan atau disemprot.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Beberapa keuntungan yang akan diperoleh apabila proses binarisasi berhasil
dengan baik adalah:
a. Mengurangi kompleksitas komputasi untuk proses selanjutnya, karena ragam
data yang dipergunakan sederhana (Sauvola, J., dkk., 1997).
b. Mengurangi penggunaan memori karena data yang tersimpan hanya akan berupa
deretan data biner (Kasturi, R., dkk., 2002).
c. Memungkinkan pemakaian metode analisis yang sederhana ketimbang
dipergunakan data citra yang gray level atau berwarna (Sauvola, J., dkk., 1997).
Threshold suatu citra g(x,y), di mana f(x,y) menyatakan gray-level dari suatu
poin (x,y), dan T menyatakan suatu nilai ambang threshold, didefinisikan sebagai
berikut (Gonzales dan Woods, 1992):
⎭⎬⎫
⎩⎨⎧
≤>
=TyxfjikaTyxfjika
yxg),(0),(1
),( (2.5)
di mana 1 menyatakan latar dan 0 menyatakan obyeknya.
Indikasi keberhasilan proses binarisasi adalah seberapa baik threshold yang
dipilih dapat mempartisi obyek dan latar. Akan terdapat tiga kemungkinan yang
muncul saat pemilihan suatu nilai threshold (Antonacopoulos, A., 1995) yaitu :
a. Threshold yang dipilih terlalu tinggi, sebagai akibatnya akan muncul
kemungkinan bahwa citra yang seharusnya terpisah menjadi bergabung, atau
b. Threshold yang dipilih terlalu rendah, sebagai akibatnya akan muncul
kemungkinan bahwa sebuah citra terpotong menjadi beberapa bagian, atau
c. Threshold yang dipilih sesuai atau baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Disinilah letak persoalan utama dari proses binarisasi, yaitu memilih harga
threshold yang baik. Kasturi, dkk., (Kasturi, R., dkk., 2002) menyatakan bahwa
proses seleksi untuk menentukan threshold yang baik akan selalu berupa proses yang
bersifat trial and error. Dalam hal ini berarti bahwa pada saat implementasi, hasil
dari proses binarisasi harus dicermati apakah obyek sudah terpisah dengan baik dari
latar belakangnya.
2.4.1 Metode Otsu
Pendekatan yang dilakukan oleh metode otsu (Otsu, 2005) adalah dengan
melakukan analisis diskriminan yaitu menentukan suatu variabel yang dapat
membedakan antara dua atau lebih kelompok yang muncul secara alami. Analisis
diskriminan akan memaksimumkan variabel tersebut agar dapat memisahkan obyek
dengan latar belakang. Untuk selanjutnya variabel tersebut akan disebut dengan
ambang.
Misalkan citra yang akan dicari nilai ambangnya mempunyai N buah piksel,
dengan derajat keabuan sebesar 256. Maka probabilitas kemunculan piksel dengan
tingkat keabuan i dinyatakan dengan:
(2.6) dengan ni menyatakan jumlah piksel dengan tingkat keabuan i.
Seandainya nilai ambang yang akan dicari dari suatu citra hitam putih
dinyatakan dengan k. Untuk citra graylevel, maka nilai k nantinya akan berkisar
antara 0 sampai dengan L, dimana L = 255 menyatakan tingkat keabuan warna
yang terbesar.
Nnp ii /=
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Nilai ambang k dapat ditemukan dengan memaksimumkan persamaan:
(2.7)
dengan:
(2.8)
Nilai µT adalah jumlahan nilai dari perkalian i dengan pi. Nilai µ(k) disebut
momen kumulatif ke-nol pada intensitas warna ke-k, dan nilai ω(k) menyatakan
nilai momen kumulatif ke-satu pada intensitas warna ke-k.
(2.9)
(2.10)
(2.11)
2.5 Pengurangan Noise
Tahap selanjutnya dalam pengolahan piksel adalah tahap untuk mengurangi
noise atau disebut juga tahap filling. Salt-and-pepper noise adalah contoh noise yang
umumnya muncul sebagai akibat dari kualitas citra dokumen yang tidak baik,
misalnya karena hasil fotokopi dokumen citra tersebut tidak baik. Bentuk noise
tersebut misalnya adalah adanya piksel yang letaknya terasing dari piksel yang lain,
atau adanya piksel ON di daerah OFF atau sebaliknya, seperti diperlihatkan dalam
gambar 2.4.
∑=
=k
iipk
1)(ω
∑=
⋅=k
iipik
1)(µ
∑=
⋅=L
iiT pi
1µ
)(max*)( 2
1
2 kk BLkB σσ<≤
=
)](1)[()]()([)(
22
kkkkk T
B ωωµωµσ
−−
=
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tujuan utama dari filling adalah mengurangi sebanyak mungkin noise namun
tetap diperoleh citra yang baik. Dua metode yang biasa dipergunakan dalam filling
adalah metode morfologi dan pengolahan cellular. Dasar dari kedua metode tersebut
adalah apa yang disebut dengan erosi dan dilatasi. Erosi adalah pengurangan ukuran
dari daerah ON, yaitu sebagai akibat adanya piksel-piksel ON yang berada di daerah
OFF atau terasing dari piksel ON yang lain. Dilatasi adalah proses sebaliknya dari
erosi, yaitu menambahkan piksel ON untuk menutup daerah ON. Biasanya kedua
proses erosi dan dilatasi dijalankan secara iterasi, serta menggunakan kombinasi dua
proses tersebut. Jika yang terjadi adalah proses iterasi erosi dilanjutkan dengan iterasi
dilatasi, prosesnya biasa disebut dengan proses terbuka atau opening. Sebaliknya jika
proses yang terjadi adalah iterasi dilatasi dilanjutkan dengan iterasi erosi, prosesnya
disebut dengan proses tertutup atau closing. Dengan opening dan closing diharapkan
batas-batas citra menjadi halus, daerah-daerah yang terpisah digabungkan dan noise
yang sedikit menjadi hilang
Gambar 2.4. Ilustrasi dari karakter na dengan salt-and-pepper noise
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2.5.1. Titik-Titik Tetangga
Suatu piksel p pada koordinat (x,y) mempunyai 4 buah tetangga horisontal
dan vertikal, di koordinat:
(x + 1, y), ( x -1, y), (x , y + 1), (x ,y - 1).
Kumpulan dari piksel-piksel pada koordinat di atas disebut dengan 4 tetangga dari
piksel p, yang dinotasikan dengan N4(p). Setiap piksel mempunyai jarak satu
kesatuan dari koordinat (x,y), dan beberapa tetangga dari p terdapat di luar citra jika
(x,y) adalah batas dari citra.
Empat buah tetangga diagonal dari p mempunyai koordinat:
(x + 1, y + 1), (x + 1, y - 1), (x - 1, y + 1), (x - 1, y - 1).
yang diberi notasi Nd(p).
Gabungan antara N4(p) dan Nd(p) selanjutnya biasa disebut dengan 8 titik
tetangga dengan notasi N8(p). Beberapa poin di dalam Nd(p) dan N8(p) berada
di luar citra jika (x,y) adalah koordinat dari batas-batas citra.
Berikut ini adalah gambaran bentuk ketetanggaan 8, di mana piksel P1
mempunyai 8 piksel tetangga, yaitu mulai dari piksel P2 sampai dengan piksel P9.
P9 P2 P3 P8 P1 P4 P7 P6 P5
Gambar 2.5 Ilustrasi piksel P1 yang mempunyai 8 titik tetangga
Dalam banyak proses pengolahan citra, seringkali terjadi proses pengolahan citra
mendasarkan pada titik-titik tetangga dari suatu piksel, misal proses erosi, dan
dilatasi seperti dijelaskan pada subbab 2.5 di atas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
2.6 Perangkaan
Perangkaan atau thinning atau istilah lainnya medial-axis adalah suatu proses
pengurangan komponen-komponen citra dengan tujuan untuk mendapatkan
informasi yang paling mendasar tentang pembentuk citra atau untuk mendapatkan
kerangka suatu citra. Karena itu thinning bisa disebut juga sebagai operasi
perangkaan. Sebagai contoh, seseorang yang menggambar garis dengan
mempergunakan pena yang berbeda akan memperoleh ketebalan garis yang berbeda-
beda, tetapi informasi yang ditampilkan sama yaitu suatu garis saja. Gambar 2.6 di
bawah ini memberikan contoh lain citra yang belum dikenai thinning dan hasil dari
thinning.
Gambar 2.6 Contoh citra karakter pra sebelum dan sesudah dikenai thinning
Algoritma Hilditch, algoritma Rosenfeld adalah algoritma-algoritma yang
dapat dipergunakan untuk mendapatkan kerangka suatu citra.
2.6.1. Algoritma Hilditch
Algoritma Hilditch adalah salah satu algoritma yang dapat dipergunakan utuk
operasi perangkaan. Misal diketahui delapan piksel tetangga yaitu P2, P3, .., P9 dari
sebuah piksel P1:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Untuk memutuskan apakah menghapus piksel p1 atau menyimpannya sebagai bagian
dari kerangka, maka diatur ke-8 tetangga tersebut di atas, serta dibutuhkan dua buah
fungsi sebagai berikut:
a. B(P1), yang menyatakan banyaknya tetangga dari piksel P1 yang merupakan
titik obyek.
b. A(P1), yang menyatakan banyaknya pola 0,1 untuk urutan P2-P3-P4-P5-P6-
P7-P8-P9-P2
Sebagai contoh, apabila diketahui bagian dari citra di bawah ini
(a) (b)
Gambar 2.7 Bagian dari sebuah citra
maka untuk gambar 2.6.a mempunyai B(P1) = 2, dan A(P1)=1, sedangkan gambar
2.6.b. mempunyai B(P1) = 2, dan A(P1) = 2.
Pada algoritma yang merupakan operasi terhubung-8 ini dilakukan beberapa
kali iterasi pengikisan pada suatu obyek, di mana pada setiap pengikisan dilakukan
pemeriksaan pada semua titik dalam citra dan melakukan pengubahan sebuah titik
obyek menjadi titik latar apabila memenuhi keempat kondisi berikut ini:
a. 2 ≤ B(Pl) ≤ 6
Kondisi ini menggabungkan dua sub-kondisi, yaitu sub-kondisi jumlah
tetangga yang merupakan obyek lebih besar atau sama dengan 2, dan kurang
dari atau sama dengan 6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Sub-kondisi pertama menjamin bahwa tidak ada titik terisolasi B(P1) = 0,
ataupun titik ujung B(P1) = 1 yang terkikis
Sub-kondisi kedua menjamin batas piksel juga tidak terkikis untuk mencegah
pengecilan kerangka. Untuk lebih jelasnya perhatikan gambar 2.8.
B (p1) =1 B (P1) =0 B (P1) =7
Gambar 2.8 Contoh piksel dengan B(PI)<2 dan B(PI)>6
Jika B (P1) =1, maka P1 adalah titik ujung sehingga tidak dihilangkan.
Jika B (p1) =0, maka P1 adalah titik terisolasi dan juga sebaiknya disimpan
(kalaupun merupakan noise, proses untuk menghilangkan noise tidak
dikerjakan dalam proses perangkaan ini.
Jika B (P1) =7, P1 tidak lagi di batas pola, sehingga sebaiknya tidak dikikis.
b. A(Pl) = 1
Kondisi ini menunjukkan sifat konektivitas, di mana jika kita menghilangkan
suatu titik yang mempunyai nilai A lebih dari 1, seperti ditunjukkan pada
gambar 2.9, maka pola atau kerangka akan menjadi terputus. Maka titik P1
pada contoh-contoh tersebut tidak boleh dihapus.
A(P1) = 2 A(P1) = 2 A(P1) = 3
Gambar 2.9 Contoh piksel dengan A(PI) ≠ 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
c. P2, P4, atau P8 ada yang merupakan titik latar, atau A(P2) ≠ 1
Kondisi ini digunakan untuk menghindarkan terhapusnya garis horizontal
dengan lebar 2 titik terhapus.
A(P2) ≠1 P2=P4=P8=0 P2=P4=P8=1 dan A(P2) = 1
Gambar 2.10 Contoh piksel dengan P2=P4=P8=1 atau 0 dan A(P2) = 1 atau ≠ 1
d. P2, P4, atau P6 ada yang merupakan titik latar, atau A(P4) ≠ 1
Kondisi ini digunakan untuk menghindarkan terhapusnya garis horizontal
dengan lebar 2 titik terhapus.
A(P4) ≠ 1 P2=P4=P6=0 P2=P4=P6 ≠ 0 dan A(P4) =1
Gambar 2.11 Contoh piksel dengan P2=P4=P8 ≠ 0 atau 0 dan A(P4) = 1 atau ≠ 1
Maka P1 harus dikikis.
Algoritma dihentikan apabila pada suatu iterasi tidak ada lagi titik yang diubah.
2.7 Segmentasi
Segmentasi adalah proses pemecahan citra ke dalam obyek-obyek yang
terkandung di dalamnya. Dalam analisis citra dokumen, segmentasi ini dibagi
menjadi dua tahap, pertama adalah pemisahan teks dan gambar, dan tahap kedua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
adalah melakukan proses pemisahan selanjutnya dari hasil tahap pertama. Sebagai
contoh untuk teks, maka proses selanjutnya adalah menurunkan teks tersebut menjadi
komponen-komponen teks, yaitu menemukan kolom-kolom, paragraf-paragraf, kata-
kata, sampai akhirnya adalah menemukan karakter-karakter penyusun kata.
Proses segmentasi pada citra dokumen dapat dilakukan dengan
mempergunakan histogram citra serta profil proyeksi dari citra tersebut.
2.7.1. Histogram Citra
Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai
intensitas piksel dari suatu citra atau bagian tertentu di dalam citra. Dari histogram
dapat diketahui frekuensi kemunculan dari intensitas pada citra tersebut.
Misalkan diketahui sebuah citra digital memiliki L derajat keabuan, yaitu
dari nilai 0 sampai L-1 (misalnya pada citra dengan kuantisasi derajat keabuan 8-bit,
nilai derajat keabuan dari 0 sampai 255). Secara matematis histogram citra dihitung
dengan rumus:
1,...,1,0, −== Linn
h ii (2.12)
di mana ni menyatakan jumlah piksel yang memiliki derajat keabuan i, dan n
menyatakan jumlah seluruh piksel di dalam citra.
2.7.2. Profil Proyeksi
Ekstraksi ciri dari suatu teks kalimat dapat diperoleh dari profil proyeksinya
(Zramdini, A., dkk., 1993). Misalnya terdapat sebuah citra biner S dengan banyaknya
baris M dan banyaknya kolom N seperti ditunjukkan pada gambar 2.12. Profil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
proyeksi vertikal (Pv) dari citra S adalah banyaknya piksel hitam yang tegak lurus
sumbu y, yaitu:
∑=
=M
jv jiSiP
1],[][ (2.13)
Sedangkan profil proyeksi horisontal (Ph) dari citra S adalah banyaknya piksel hitam
yang tegak lurus sumbu x, yaitu:
∑=
=N
jh jiSiP
1
],[][ (2.14)
Gambar 2.12 Profil proyeksi horisontal dan vertical
2.8 Pengenalan Karakter
Pengenalan karakter bertujuan untuk menerjemahkan sederetan karakter yang
memiliki berbagai macam bentuk dan ukuran. Mengembangkan algoritma untuk
mengidentifikasi karakter merupakan prinsip utama yang akan dikerjakan dalam
pengenalan karakter. Pengenalan karakter dapat menjadi kompleks dengan
bertambahnya bentuk karakter, ukuran, kemiringan dan lainnya.
Algoritma pengenalan karakter terdiri dari dua bagian utama, yaitu ekstraksi
ciri-ciri dan klasifikasi. Proses pengenalan karakter mencoba untuk mencari karakter
dari suatu kelas dengan mempergunakan algoritma klasifikasi tertentu yang
didasarkan pada ciri yang diambil pada proses ekstraksi ciri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
2.8.1. Ekstraksi Ciri
Tujuan dari proses ekstraksi ciri adalah mendefinisikan sifat dari setiap
karakter (feature) yang tidak jelas karena pengukuran yang tidak sempurna. Yang
dibutuhkan adalah kelas karakter yang berupa prototipe atau himpunan contoh yang
sudah ada. Proses mengekstrak ciri berarti mencari sifat pola atribut dari setiap
kelas. Contoh ciri gobal berupa jumlah lubang dalam karakter, jumlah lekukan pada
bagian luar, dan jumlah tonjolan. Sedangkan contoh ciri lokal adalah posisi relatif
dari posisi akhir garis, perpotongan garis dan sudut-sudut.
Ciri-ciri yang bagus memiliki karakteristik antara lain:
a. Membedakan (discrimination), yaitu ciri tersebut harus mampu membedakan
suatu obyek dengan obyek dari kelas yang berbeda.
b. Dapat dipercaya (Reliability), yaitu ciri harus dapat dipercaya untuk semua obyek
dalam kelompok yang sama.
c. Tidak Terikat (Independent), yaitu setiap komponen ciri tidak memiliki korelasi
yang tinggi dengan komponen ciri lainnya.
d. Jumlah ciri sedikit (small number), karena apabila ciri yang dipakai banyak
dimungkinkan akan terjadi adanya korelasi yang tinggi antar ciri yang akan
mengakibatkan penurunan unjuk kerja sistem secara keseluruhan.
Terdapat banyak cara untuk memperoleh sifat dari suatu karakter. Salah satu
cara yang dapat dipakai adalah dengan mencari sifat dari sekelompok bagian
karakter, selanjutnya disebut dengan unit, berdasarkan pada informasi yang
tersimpan dalam unit tersebut. Sifat ini ditandai dengan sebuah angka. Secara garis
besar salah satu cara yang dapat dilakukan untuk mengekstrak fitur adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
a. Sebuah citra karakter dibagi menjadi 3 x 3 bagian sehingga menjadi 9 bagian
yang disebut dengan unit.
b. Setiap unit dalam keseluruhan citra akan dicari banyaknya piksel obyek.
Gambar 2.13 Ilustrasi perhitungan ciri karakter Jawa: tarung
2.8.2. Langkah Klasifikasi
Klasifikasi merupakan tahap pengenalan terhadap suatu obyek. Pada tahap ini
obyek dikelompokkan ke dalam suatu kelas tertentu berdasarkan ciri-cirinya.
Pengelompokkan dikatakan berhasil apabila obyek sama dikelompokkan pada kelas
yang sama, dan obyek berbeda dikelompokkan pada kelas yang berbeda. Klasifikasi
dapat dilakukan dengan pendekatan statistik, pendekatan alamiah atau pendekatan
struktural.
Pendekatan statistik dilakukan dengan mendefinisikan setiap komponen dari
feature space berupa nilai feature atau ukuran yang berupa variabel random yang
menggambarkan sifat variabilitas dalam kelas dan antara kelas. Sebuah classifier
akan membagi feature space ke dalam daerah-daerah yang berhubungan dalam setiap
kelas. Contoh klasifikasi yang menggunakan pendekatan statistik adalah dengan
jarak tangen dan model Bayesian.
Pendekatan alamiah yang biasa digunakan adalah pencocokan template.
Piksel secara individu diperlakukan sebagai feature. Kesamaan pola dinyatakan
dengan mendefinisikan ukuran jarak. Kelas template yang memiliki jumlah
11 5 61 6 47 7 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
kesesuaian maksimum kemudian dipilih sebagai kelas dari pola tes. Pendekatan ini
disebut dengan pendekatan korelasi maksimum. Di samping itu terdapat pendekatan
minimum kesalahan yang akan memilih kelas template yang memiliki jumlah
minimum ketidaksesuaian sebagai kelas dari pola tes. Aturan K-nearest neighbour
adalah aturan yang biasa digunakan untuk mencari kedekatan pola. Pencocokan
template akan efektif jika variasi dalam kelas hanya memuat sedikit noise dan pola
tes sudah bebas dari noise. Contoh klasifikasi dengan pencocokan template adalah
feature point extraction (Brown, 2000).
Pendekatan struktural menyatakan pola karakter dengan cara yang sederhana
dengan menyatakan hubungan antara struktur yang ada. Misal untuk menyatakan
karakter A maka dikatakan terdiri dari dua garis lurus yang bertemu pada titik akhir
di atas, serta garis ketiga berada di tengah-tengah dan membuat lubang. Contoh
klasifikasi dengan pendekatan struktural adalah pendekatan neural network dengan
binary tree.
Salah satu metode untuk melakukan klasifikasi dengan pendekatan alamiah
dilakukan dengan cara sebagai berikut:
a. Nilai setiap unit pada lokasi yang bersesuaian dari karakter yang akan dikenali
dibandingkan dengan nilai setiap unit karakter yang terdapat dalam basis data.
Perbandingan ini dilakukan dengan menggunakan modifikasi dari jarak Euclide.
Jarak Euclide De(p,q)dari dua piksel p,q, dengan koordinat masing-masing di
titik (x,y),dan (s,t), didefinisikan sebagai berikut:
De(p,q) = ( (x-s)2 + (y-t)2 )½ (2.15)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
i j
Dari rumus 2.15 di atas kemudian dilakukan modifikasi rumus untuk
mendapatkan jarak antara dua buah fitur karakter yang dibagi dalam 8 unit
karakter. Apabila terdapat dua buah fitur karakter a,b dengan banyak unit
sembilan (9), maka jarak Df(a,b)antara dua buah fitur tersebut dapat
didefinisikan sebagai berikut:
Df(a,b) = Σ Σ |aij – bij| (2.16)
di mana i, j berjalan dari 1 sampai dengan 3.
b. Dicari jarak yang paling minimum dari nilai-nilai hasil perbandingan pada
langkah satu. Jarak yang paling minimum dan masih di bawah batas atas nilai
jarak yang diperbolehkan akan dipilih sebagai karakter yang paling mendekati
karakter yang akan dikenali tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
BAB III
PERANCANGAN SISTEM
Seperti yang telah dijelaskan pada bab pendahuluan sebelumnya, maka tujuan
dari penelitian adalah untuk merancang dan membangun suatu aplikasi perangkat
lunak yang mampu melakukan pengenalan citra dokumen buku sastra jawa ke dalam
format teks Latin secara otomatis. Ilustrasi tujuan umum dari sistem ini dapat dilihat
pada gambar 3.1.
Gambar 3.1 Gambaran Umum Tujuan Sistem
3.1 Spesifikasi Sistem
Sistem untuk melakukan konversi dari citra dokumen ke dalam teks
dibedakan menjadi dua bagian, yaitu: Sistem Pembuat Basis Data (SPBD) dan
Sistem Pengenalan Citra Dokumen (SPCD). Sistem pembuat basis data dipergunakan
Proses
Input: Output:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
untuk membuat basis data citra karakter Jawa dan terjemahan karakter tersebut dalam
bahasa Latin. Sedangkan Sistem Pengenalan Citra Dokumen berfungsi untuk
melakukan pengenalan citra dokumen ke dalam teks Latin. Spesifikasi sistem atau
kemampuan-kemampuan yang dimiliki oleh masing-masing sistem tersebut akan
diuraikan seperti berikut ini.
3.1.1 Spesifikasi Sistem Pembuat Basis Data
Adapun kemampuan-kemampuan yang dimiliki oleh sistem ini yaitu:
a. Sistem dapat menghitung ciri-ciri karakter jawa dan menyimpan ciri-ciri tersebut
ke dalam basis data ciri tiap karakter Jawa.
b. Sistem dapat menentukan terjemahan Latin dari setiap karakter Jawa.
3.1.2 Spesifikasi Sistem Pengenalan Citra Dokumen
Spesifikasi atau kemampuan-kemampuan dari sistem ini adalah:
a. Sistem mampu melakukan proses normalisasi orientasi citra secara otomatis.
b. Sistem mampu melakukan proses binarisasi citra secara otomatis.
c. Sistem mampu melakukan proses filling citra secara otomatis.
d. Sistem mampu melakukan proses thinning citra secara otomatis.
e. Sistem mampu melakukan proses segmentasi citra secara otomatis.
f. Sistem mampu melakukan proses pengenalan karakter Jawa secara otomatis.
g. Sistem mampu melakukan proses pembentukan kata dari karakter-karakter Jawa
secara otomatis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
3.1.3 Proses Pengenalan Citra Karakter Dalam Citra Dokumen
Proses pengenalan suatu citra karakter dilakukan dengan mencocokkan ciri
citra karakter tersebut dengan ciri karakter yang terdapat dalam basis data ciri
karakter. Suatu citra karakter query mula-mula dihitung cirinya, kemudian dilakukan
pencocokan ciri citra query dengan ciri citra dalam basis data ciri karakter. Apabila
dari hasil pencocokan terdapat ciri dalam basis data yang bedanya dengan ciri citra
karakter query di bawah nilai threshold tertentu, maka citra karakter query tersebut
akan dikenali. Suatu citra karakter dikatakan dikenali apabila kemudian muncul
informasi nama latin dan citra karakter Jawa yang bersesuaian dengan ciri citra
karakter query dari basis data ciri karakter.
Apabila dari hasil pencocokan tidak ada ciri yang bedanya di bawah nilai
threshold tertentu, maka citra karakter query tersebut akan direkomendasikan sebagai
citra karakter Jawa yang baru, dan akan memasuki proses penambahan data dalam
basis data citra karakter Jawa.
3.2 Desain Sistem
Secara garis besar sistem pengenalan citra dokumen yang dibangun di sini
dibagi menjadi dua bagian:
a. Bagian Pembuat Basis Data, dipergunakan untuk membuat basis data karakter
Jawa yaitu berupa karakter-karakter Jawa pembentuk kata beserta nama Latin
dari karakter Jawa yang bersesuaian.
b. Bagian Pengenalan Citra Dokumen, dipergunakan untuk mengenali citra
dokumen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.2. berikut ini menunjukkan struktur hubungan antara bagian pembuat basis
data dan bagian pengenal citra dokumen.
Citra KarakterPembuat
Basis Data
Nama Latin dan Ciri setiap
Karakter
Pengenal
Citra DokumenHasil Pengenalan,Citra Karakter BaruCitra Dokumen
Gambar 3.2. Struktur Hubungan Antara Bagian Pembuat Basis Data
dan Bagian Pengenal Citra Dokumen
3.2.1 Desain Struktur Data
Data yang dipakai dalam Sistem Pembuat Basis Data terdiri dari data citra
karakter Jawa yang akan disimpan dalam basis data, dan basis datanya sendiri. Basis
data yang akan dibuat oleh Sistem Pembuat Basis Data adalah basis data ciri karakter
Jawa yang terdiri dari citra karakter, ciri karakter, dan nama latin dari karakter Jawa
yang bersesuaian.
Struktur data dari basis data ciri citra karakter Jawa bertipe cell array dua
dimensi berukuran n x 3, di mana dalam bahasa pemrograman Matlab bentuknya
adalah:
ciri = cell(1,3);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
dengan keterangan setiap selnya adalah sebagai berikut
1. cell kolom ke 1 bertipe char array dipergunakan untuk menyimpan nama
latin dari karakter Jawa
2. cell kolom ke 2 bertipe double array, dipergunakan untuk menyimpan ciri
karakter Jawa
3. cell kolom ke 3 bertipe uint8 array (logical), dipergunakan untuk menyimpan
citra biner karakter Jawa.
3.2.2 Diagram Aliran Data
Diagram aliran data dari sistem untuk pengenalan citra dokumen ini terdiri
dari dua bagian, yaitu Sistem Pembuat Basis Data (SPBD) dan Sistem Pengenalan
Citra Dokumen (SPCD). SPDC berfungsi untuk mengolah citra dokumen sehingga
dihasilkan deretan karakter pembentuk dokumen beserta ciri dari setiap karakter
yang diperoleh. SPBD berfungsi untuk membuat basis data yang berisi ciri karakter
Jawa dan terjemahan karakter Jawa tersebut ke dalam karakter Latinnya. Ciri yang
dimasukkan dalam SPBD dihasilkan oleh SPCD pada saat mengenal citra dokumen.
Basis data yang dihasilkan oleh SPBD selanjutnya akan dipergunakan oleh SPCD
untuk mengenal nama-nama Latin dari setiap karakter Jawa yang ditemukan
berdasarkan ciri yang dipunyai oleh karakter tersebut.
3.2.2.1 Diagram Aliran Data Sistem Pembuat Basis Data (SPBD)
Diagram aliran data dari SPBD terdiri dari beberapa level, yaitu dimulai dari
level 0 sampai level 2. DFD level 0 dari SPBD (gambar 3.3) terdiri dari 2 komponen,
yaitu satu proses dan satu entitas luar yaitu pengembang (developer) yang
memberikan input kepada sistem dan yang menerima output dari sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Input yang diberikan developer kepada sistem adalah berupa citra karakter
Jawa, dan nama Latin yang bersesuaian dengan karakter Jawa tersebut. Sedangkan
outputnya adalah citra karakter, ciri karakter, dan nama latin dari karakter.
DeveloperSistem
PembuatBasis Data
citra karakter, nama latincitra karakter, ciri karakter, nama latin
Gambar 3.3 DAD Level 0 Sistem Pembuat Basis Data
Informasi lebih rinci dari proses SPBD diperlihatkan dalam DFD level 1
(gambar 3.4). Dalam DFD level 1 SPBD ini terdapat dua buah proses, yaitu proses
Olah Data, dan proses Cari Nama. Proses Olah Data berfungsi untuk mengelola citra
karakter. Proses Cari Nama berfungsi untuk menemukan ciri dan citra dari nama latin
karakter yang diberikan oleh developer.
1Olah Data
2cari nama
citra ka
rakter, n
ama latin
nama latin
citra ka
rakter, n
ama latin,
ciri ka
rakter
File PustakaKarakter Jawa
citra karakter, nama latin,
ciri karakter
citra ka
rakter, n
ama latin,
ciri ka
rakter
citra karakter, nama latin,
ciri karakter
Developer
Gambar 3.4 DAD Level 1 Sistem Pembuat Basis Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
citra karaktercitra karakter
citra karakter ciri karakter
citra karakter ciri karakter
ciri karakternama latin
citra karakter, nama latin
citra karakter, nama latin, ciri karakter
citra karakter, nama latin, ciri karakter citra karakter, nama latin, ciri karakter
Gambar 3.5. DAD Level 2 Proses Olah Data
Proses Olah Data dijabarkan secara lebih rinci dalam DAD level 2 (gambar
3.5 di atas). Proses Buka File berfungsi untuk membuka file citra karakter Jawa dari
direktori data, dan menyimpan file tersebut dengan nama KarJawa.mat pada direktori
program. Kemudian developer dapat melanjutkan proses untuk mencari ciri dari
karakter Jawa masukan dengan mempergunakan proses Ekstraksi Ciri. Ciri dari
karakter yang dihasilkan akan disimpan dalam file cirikar.mat. Proses Cari Ciri
berfungsi untuk mencari citra karakter dan nama latin dari ciri karakter, dan
kemudian memberikan keluaran berupa data ciri karakter Jawa dari citra karakter
yang bersesuaian. Apabila citra dengan ciri karakter masukan sudah terdapat dalam
1.1 Buka File
1.4 Tambah
Data
1.3 Cari Ciri
1.2 Ekstraksi
Ciri
File Citra Karakter Jawa
File Ciri Karakter Jawa
File Pustaka Karakter Jawa
Developer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
database, maka proses juga akan menampilkan nama latin dari karakter Jawa tersebut
kepada Developer. Apabila data citra karakter dengan ciri tertentu belum ada dalam
database, maka proses Tambah Data akan memasukkan data citra karakter Jawa
tersebut ke dalam basis data Pustaka Karakter Jawa.
3.2.2.2 Diagram Aliran Data Sistem Pengenalan Citra Dokumen (SPCD)
Diagram aliran data dari SPCD terdiri dari beberapa level, yaitu dimulai dari
level 0 seperti terlihat dalam gambar 3.6., sampai level 2. Entitas luar yaitu user
memberikan masukan kepada sistem berupa citra dokumen yang akan dikonversi.
Selain itu sistem juga akan mengambil informasi dari basis data Pustaka Karakter
Jawa, di mana basis data tersebut dihasilkan oleh Sistem Pembuat Basis Data. Sistem
kemudian akan memproses citra dokumen yang diperoleh dari user untuk
menghasilkan keluaran berupa teks dokumen dari citra dokumen yang bersangkutan,
dan kemudian memberikan hasil tersebut kepada user.
User
SistemPengenalan
CitraDokumen(SPCD)
citra dokumen
teks dokumen
File PustakaKarakter Jawa
ciri karakter Jawa,Nama Latin
Developer
citra ka
rakter
Gambar 3.6 DAD Level 0 Sistem Pengenalan Citra Dokumen
Informasi lebih rinci dari proses SPCD diperlihatkan dalam DAD level 1
SPCD seperti terlihat dalam gambar 3.7. Terdapat tujuh buah proses dalam sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
SPCD ini. Sedangkan masukan untuk sistem diperoleh dari user maupun dari Sistem
Pembuat Basis Data.
User
citra biner
3Filling
4Thinning
5Segmen
6Pengenalan
Karakter
7Pembentukan
Kata
Filecitra biner
citra terotasi
citra terotasi
Filecitra filling
citra filling
citra filling
File citrakerangka dokumen
citra kerangka dokumen
citra kerangka dokumen
Filecitra-citra karakter citra-citra karakter
citra-citra karakter
8TampilData
File PustakaKarakter Jawa
ciri karakter jawa, nama latin
FileNama-nama latin
nama-nama latin
nama-nama latin
File Teks deretan kata
deretan kata
CItr
aD
okum
en
citra biner
2Normalisasi
Orientasi
1Binarisasi
Filecitra terotasi
tasi
citra-citra baris File citra-citra baris
ciri karakter jawa, nama latin, citra karakter
Developer
Teks
Dok
umen
citra karakter baru
Gambar 3.7 DAD Level 1 Sistem Pengenalan Citra Dokumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Setelah user memberikan masukan berupa citra dokumen, kemudian sistem
akan melakukan proses binarisasi. Proses binarisasi ini berfungsi untuk memisahkan
citra utama dengan citra latar belakang. Sebagai hasil dari proses ini akan diperoleh
data citra biner yang mempunyai nilai 1 jika piksel dari citra adalah bagian dari latar
belakang, atau 0 jika piksel dari citra adalah bagian dari citra utama.
Proses selanjutnya adalah proses normalisasi orientasi. Proses normalisasi
orientasi bertujuan untuk mengetahui seberapa besar sudut penyimpangan proses
scanning, dan kemudian apabila ditemukan sudut dengan besar tertentu, maka citra
masukan kemudian dirotasi sebesar sudut penyimpangannya.
Setelah dihasilkan citra biner yang normal, maka data citra biner normal akan
disimpan dan diproses ke tahap berikutnya, yaitu proses Filtering. Dalam proses
filtering citra tadi akan dikurangi sebanyak mungkin noisenya. Hasil dari proses
filtering adalah berupa citra biner yang relatif sudah bebas dari noise, seperti tidak
ada lagi piksel yang terasing, atau adanya lubang di dalam kerumunan piksel.
Tahap selanjutnya adalah proses thinning, yaitu proses yang berfungsi untuk
menghasilkan kerangka dari setiap bentuk citra karakter Jawa. Sebagai hasil dari
proses ini akan diperoleh citra dokumen yang setiap karakter dalam dokumen
tersebut sudah berupa kerangka pokoknya saja.
Hasil dari proses thinning ini kemudian akan diolah lagi dalam proses
segmentasi. Proses segmentasi berfungsi untuk memisahkan setiap karakter dari
karakter yang lain. Keluaran dari proses ini adalah deretan citra karakter Jawa yang
menyusun citra dokumen yang dimasukkan oleh user.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Proses pengolahan tingkat piksel berakhir di proses segmentasi. Langkah
berikutnya adalah proses pengenalan karakter. Dalam proses ini setiap karakter Jawa
yang diperoleh akan dicoba untuk dikenali dengan nama Latinnya. Sehingga sebagai
hasil dari proses ini akan berupa deretan nama-nama Latin penyusun citra dokumen
di awal.
Setelah deretan nama-nama Latin diperoleh maka nama-nama Latin itu akan
dipakai sebagai masukan untuk proses pembentukan kata. Proses pembentukan kata
ini akan menyusun kata-kata berdasarkan nama-nama Latin yang diperoleh. Jika
semua nama sudah selesai diproses menunjukkan bahwa proses pembentukan kata
juga selesai. Proses selanjutnya tinggal menampilkan hasil akhir dari keseluruhan
proses konversi kepada user, yaitu berupa sebuah teks dokumen.
1.1Cari
Ambang
citra dokumen ambang 1.2UbahBiner
citra biner Filecitra biner
User
citra dokumen
Gambar 3.8 DAD Level 2 Proses Binarisasi
Penjabaran lebih rinci dari proses-proses binarisasi, normalisasi orientasi,
filling, segmentasi, dan pengenalan karakter dinyatakan dalam DAD level 2. DAD
level 2 proses Binarisasi (gambar 3.8 di atas) dijabarkan menjadi proses Cari
Ambang, dan Ubah Biner. Proses Cari Ambang akan mencari nilai ambang threshold
yang menjadi acuan pemisahan obyek dari latar. Nilai ambang threshold ini
kemudian dikirim ke proses Ubah Biner. Proses Ubah Biner akan mengubah nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
elemen dari matriks citra inputan menjadi hanya bernilai 0 atau 1, di mana nilai 0
menyatakan obyek sementara nilai 1 menyatakan latar belakang obyek.
DAD level 2 proses Normalisasi Orientasi dijabarkan menjadi proses Cari
Teta dan Rotasi (gambar 3.9). Proses Cari Teta akan mencari besar sudut kemiringan
teta (θ) hasil proses scanning citra. Kemudian nilai teta ini akan dikirim ke proses
Putar Citra yang akan memutar citra biner sebesar sebagai teta apabila nilai teta tidak
sama dengan nol.
2.1Cari Teta
citra biner teta 2.2PutarCitra
citra biner
citra terotasi Filecitra terotasi
Gambar 3.9 DAD Level 2 Proses Normalisasi Orientasi
Proses Filling dijabarkan lebih lanjut dalam DAD level 2 seperti ditunjukkan
dalam gambar 3.10, yaitu terdiri dari proses Erosi dan Dilatasi. Proses Erosi akan
mengubah nilai piksel dari obyek menjadi latar apabila ditemukan adanya piksel-
piksel obyek yang terasing dalam piksel latar pada citra masukan. Citra baru hasil
proses Erosi kemudian dipakai sebagai masukan dalam proses Dilatasi. Dalam proses
Erosi piksel-piksel latar yang terasing dalam kelompok piksel obyek akan diubah
menjadi piksel obyek.
3.1Erosi
citra terotasi citra ubah1 3.2Dilatasi
citra filling Filecitra filling
Gambar 3.10 DAD Level 2 Proses Filling
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
5.1Proyeksivertikal
citra kerangka dokumen histogram vertikal 5.2Cari indek
baris
citra kerangka dokumen
indek baris Fileindek baris
indek baris
5.3Potongbaris
citra-citra baris
Filecitra-citra baris
5.4Proyeksihorisontal
citra-citra baris
5.5Cari indek
kolom
citra-citra baris
indek kolom Fileindek kolom
indek kolom
5.6Potongkarakter
citra-citra baris
citra-citra karakterFilecitra-citra karakter
Gambar 3.11 DAD Level 2 Proses Segmentasi
DAD level 2 proses Segmentasi (gambar 3.11 di atas) dijabarkan menjadi
proses Proyeksi Vertikal, Cari Indek Baris, Potong Baris, Proyeksi Horisontal, Cari
Indek Kolom, dan proses Potong Karakter. Proses Proyeksi Vertikal akan
menghitung banyaknya piksel hitam yang tegak lurus sumbu y sesuai dengan rumus
2.13. Nilai proyeksi vertikal kemudian dipergunakan dalam proses Cari Indek Baris
untuk menemukan indek-indek baris yang akan menjadi acuan untuk membagi citra
masukan menjadi baris-baris karakter citra pada proses Potong Baris. Sehingga dari
proses Potong Baris akan diperoleh baris-baris citra karakter yang akan disimpan
dalam suatu file, serta akan dikirim ke proses Proyeksi Horisontal. Pada Proses
Proyeksi Horisontal akan dihitung banyaknya piksel hitam yang tegak lurus sumbu x
dengan mempergunakan rumus 2.14. Nilai proyeksi horisontal kemudian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
dipergunakan dalam proses Cari Indek Kolom untuk menemukan indek-indek kolom
setiap baris data yang akan menjadi acuan untuk membagi citra masukan menjadi
citra-citra karakter pada proses Potong Karakter. Sehingga hasil akhir dari
keseluruhan proses segmentasi adalah citra-citra karakter penyusun citra masukan,
yang akan disimpan dalam sebuah file .
Penjabaran lebih rinci proses Pengenalan Karakter digambarkan dalam
gambar 3.12. Terdapat dua buah proses utama dalam DAD tersebut, yaitu proses
Ekstraksi Ciri dan proses Cari Ciri. Proses Ekstraksi Ciri berfungsi untuk
menghitung ciri dari citra karakter masukan. Ciri hasil proses Ekstraksi Ciri ini
kemudian akan dipergunakan sebagai masukan dalam proses Cari Ciri, untuk
menemukan nama latin dari citra karakter masukan.
6.1Ekstraksi
ciri
citra-citra karakter 6.2Cari
karakter
ciri-ciri karakter
nama-n
ama l
atin
Filenama-nama latin
ciri ka
rakter ja
wa, nama latincitra-citra karakter
File PustakaKarakter Jawa
citra karakter baru
Developer
Gambar 3.12 DAD Level 2 Proses Pengenalan Karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
3.2.3 Struktur Program
Struktur suatu program adalah hasil pemetaan dari desain diagram aliran data.
Tujuan dari pembuatan struktur program ini adalah agar sistem yang nanti dihasilkan
akan lebih mudah untuk ditesting, diubah, dan dirawat. Struktur program dari sistem
untuk konversi citra dokumen ke teks tediri dari dua bagian, yaitu struktur program
Sistem Pembuat Basis Data dan struktur program Sistem Pengenalan Citra Dokumen.
Struktur program Sistem Pembuat Basis Data secara garis besar dibagi
menjadi tiga modul, seperti ditunjukkan dalam gambar 3.13. Modul baca citra
berfungsi untuk membuka file citra karakter Jawa. Modul hitung ciri citra
dipergunakan untuk menghitung ciri-ciri citra karakter Jawa, dan kemudian
menyimpan ciri dari citra tersebut ke dalam basis data ciri citra karakter. Kemudian
modul pasang nama berfungsi untuk memasangkan bunyi pembacaan karakter Jawa
yang bersangkutan dalam huruf Latinnya. Sebagai contoh, karakter akan
dipasangkan dengan kata pra.
Gambar 3.13 Struktur Program Sistem Pembuat Basis Data
Sistem Pembuat Basis Data
Olah Data Cari Nama
Tambah Data
Cari Ciri Ekstraksi Ciri
Buka File
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Struktur program Sistem Pembuat Basis Data, seperti ditunjukkan dalam
gambar 3.13, secara garis besar dibagi menjadi 2 modul. Modul Olah Data berfungsi
untuk mengelola citra karakter Jawa, dan modul Cari Nama berfungsi untuk
membantu developer menemukan citra-citra karakter beserta cirinya dengan panduan
nama latin dari Karakter Jawa. Modul Olah Data kemudian dibagi lagi menjadi sub
modul Buka File, Ekstraksi Ciri, Cari Ciri, dan Tambah Data. Submodul Buka File
berfungsi untuk membuka file citra karakter. Submodul Ekstraksi Ciri berfungsi
untuk menghitung ciri citra karakter. Submodul Cari Ciri berfungsi untuk mencari
citra karakter dalam basis data pustaka berdasarkan ciri dari karakternya. Submodul
Tambah Data berfungsi untuk menambahkan data citra ke dalam basis data pustaka.
Struktur program Sistem Pengenalan Citra Dokumen, seperti ditunjukkan
dalam gambar 3.14, secara garis besar dibagi menjadi delapan modul. Modul
normalisasi orientasi berfungsi untuk merotasi citra dokumen sebesar sudut
kemiringan hasil scanning. Modul binarisasi berfungsi untuk membuat citra asli
menjadi citra biner. Citra biner tersebut akan berwujud sebagai matriks yang semua
elemennya berupa nilai 0 atau 1. Modul filtering berfungsi untuk mengurangi
sebanyak mungkin noise. Modul thinning akan berfungsi untuk menghasilkan
kerangka dari setiap bentuk citra karakter Jawa. Hasil dari proses thinning ini
kemudian akan dipakai untuk proses segmentasi, yang akan dijalankan oleh modul
segmentasi. Modul segmentasi ini berfungsi untuk memisahkan setiap karakter dari
karakter yang lain. Dalam modul pengenalan karakter, tiap karakter Jawa yang
diperoleh dari modul segmentasi akan dikenali dengan nama Latinnya. Kemudian
modul pembentukan kata semua nama-nama Latin yang diperoleh dari modul
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
pengenalan karakter akan dibentuk sebagai kata-kata dalam bahasa Latin juga. Dan
terakhir modul tampil hasil akan memberikan user hasil konversi citra dokumen yang
diproses.
filtering
Sistem KonversiCitra ke Teks
pengenalankaraktersegmentasibinarisasi thinning tampil datapembentukan
katanormalisasi
orientasi
Gambar 3.14. Struktur Program Sistem Pengenalan Citra Dokumen
3.2.4 Desain Antar Muka
a. Fitur yang disediakan oleh sistem Pembuat Basis Data adalah:
i. Buka File
ii. Ekstraksi Ciri
iii. Cari Ciri
iv. Tambah Data
v. Cari Nama
b. Fitur yang disediakan oleh sistem Pengenal Citra Dokumen adalah:
vi. Normalisasi Orientasi
vii. Binarisasi
viii. Filling
ix. Thinning
x. Segmentasi
xi. Pengenalan Karakter
xii. Pembentukan Kata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
c. Desain layar
Gambar 3.15 Desain Layar Sistem Pembuat Basis Data
filtering
Sistem Pengenalan Citra Dokumen
pengenalankaraktersegmentasithinning Buat
BasisDatapembentukan
kata
INPUT: OUTPUT:
Gambar citramasukan Gambar citra
keluaran
normalisasiorientasi
binarisasi
Gambar 3.16 Disain Layar Sistem Pengenalan Citra Dokumen
Buka File KeluarEkstraksi Ciri Cari Ciri Tambah Data Cari Nama
Sistem Pembuat Basis Data
Karakter Jawa: pra
Gambar Karakter Ciri Karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
BAB IV
IMPLEMENTASI SISTEM
Implementasi proses-proses dalam diagram aliran data atau modul-modul
dalam struktur program dalam tahap perancangan sistem dinyatakan dengan
menggunakan bahasa pemrograman Matlab versi 5.0.
Secara garis besar implementasi proses dibagi menjadi dua bagian, yaitu
bagian untuk membuat basis data karakter Jawa, dan bagian untuk pengenalan citra
dokumen. Namun kedua bagian tersebut tidak dapat berdiri sendiri-sendiri, karena
bagian untuk mengenal citra dokumen mempergunakan basis data karakter Jawa,
sedangkan bagian pembuatan basis data mempergunakan sebagian modul dari bagian
pengenalan citra dokumen.
4.1. Antar Muka Pemakai Sistem
Antar Muka Pemakai merupakan sarana untuk menghubungkan antara
pemakai dengan sistem.
4.1.1 Antar Muka Pemakai Sistem Pembuat Basis Data (SPBD)
Tampilan antar muka dari Sistem Pembuat Basis Data (SPBD) digambarkan
dalam gambar 4.1. Menu yang terdapat dalam SPBD adalah Buka File, Ekstraksi
Ciri, Cari Ciri, Tambah Data, Cari Dengan Nama, Info, dan Keluar.
a. Menu Buka File
Menu Buka File berfungsi untuk membaca file citra karakter dari direktori data,
kemudian menyimpannya ke file KarJawa.mat pada direktori program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
b. Menu Ektraksi Ciri
Menu Ekstraksi Ciri berfungsi untuk menghitung ciri citra karakter, dan
kemudian menyimpannya dalam file.
Gambar 4.1 Tampilan antar muka pemakai Sistem Pembuat Basis Data
c. Menu Cari Data
Menu Cari Data berguna untuk membantu mencari data citra berdasarkan ciri
dari citra.
d. Menu Cari Dengan Nama
Menu Cari Dengan Nama berguna untuk membantu mencari data citra
berdasarkan nama latin dari citra karakter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
e. Menu Tambah Data
Menu Tambah Data berfungsi untuk menambahkan data citra ke dalam basis data
pustaka karakter Jawa.
f. Menu Info
Menu Info berfungsi untuk memberikan beberapa informasi mengenai SPBD.
g. Menu Keluar
Menu Keluar berfungsi untuk keluar dari program.
4.1.2 Antar Muka Pemakai Sistem Pengenal Citra Dokumen(SPCD)
Tampilan antar muka dari Sistem Pengenal Citra Dokumen (SPCD)
digambarkan dalam gambar 4.2. Menu yang terdapat dalam SPCD adalah Binarisasi,
Normalisasi Orientasi, Filling, Thinning, Segmentasi, Pengenalan Karakter, Bentuk
Kata, Info, dan Keluar.
a. Menu Binarisasi
Menu Binarisasi berfungsi untuk mengubah citra dokumen masukan menjadi
citra dokumen biner.
b. Menu Normalisasi Orientasi
Menu Normalisasi Orientasi berfungsi untuk menghitung sudut kemiringan citra
dokumen karena proses scanning yang menghasilkan citra yang tidak tegak lurus
sumbu vertikal. Kemudian setelah diperoleh besar sudut kemiringan, program
akan memutar citra dokumen sebesar sudut kemiringan tersebut.
c. Menu Filling
Menu Filling berguna untuk memperbaiki citra masukan dari noise.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 4.2 Tampilan antar muka pemakai Sistem Pengenal Citra Dokumen
d. Menu Thinning
Menu Thinning berguna untuk membentuk kerangka citra dokumen masukan.
e. Menu Segmentasi.
Menu Segmentasi berfungsi untuk memisahkan citra dokumen menjadi baris-
baris citra, dan kemudian baris-baris citra menjadi citra-citra karakter.
f. Menu Pengenalan Karakter
Menu Pengenalan Karakter berguna untuk mengenali setiap citra karakter dari
citra dokumen. Hasil pengenalan akan berupa deretan nama-nama latin yang
sesuai dengan citra-citra karakter Jawa pembentuk citra dokumen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
g. Menu Bentuk Kata
Menu Bentuk Kata berguna untuk membentuk kata dari deretan nama-nama latin
yang dihasilkan oleh proses Pengenalan Citra.
h. Menu Info
Menu Info berfungsi untuk memberikan beberapa informasi mengenai SPCD.
i. Menu Keluar
Menu Keluar berfungsi untuk keluar dari program.
4.2. Implementasi
Gambaran dari garis besar modul-modul yang dipergunakan dalam
implementasi sistem dapat dilihat kembali di setiap diagram aliran data dalam bab
sebelumnya. Berikut ini akan dijabarkan algoritma-algoritma yang dipergunakan
dalam sistem pengenalan citra dokumen.
4.2.1 Modul-Modul Utama Sistem Pembuat Basis Data
Modul-modul dalam sistem pembuat basis data berfungsi untuk mengelola
basis data pustaka karakter Jawa.. Modul-modul dalam sistem ini secara garis besar
terbagi dalam dua buah modul sebagai berikut:
a. Modul Olah Data
Modul untuk proses olah data terdiri dari 4 buah submodul. Submodul yang
pertama adalah submodul BukaFile yang dipergunakan membuka file citra karakter
masukan. Submodul kedua adalah EkstraksiCiri yang berfungsi untuk menghitung
ciri dari citra karakter masukan. Submodul ketiga CariCiri berfungsi untuk mencari
data citra karakter berdasarkan ciri citra karakter. Submodul keempat TambahData
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
dipergunakan untuk menambahkan data citra karakter ke dalam basis data apabila
data citra karakter tersebut belum ada.
1. Submodul BukaFile
• Fungsi: membuka dan menyimpan file citra masukan
• Input: citra karakter pada direktori data yang dihasilkan oleh SPCD
• Output: file KarJawa.mat yang berisi citra karakter masukan
• Algoritma:
1. Baca nama file dan direktori citra masukan
2. Buka file citra masukan
3. Simpan citra masukan dalam file KarJawa.mat
2. Submodul EkstraksiCiri
• Fungsi: menghitung ciri citra karakter masukan
• Input: citra karakter yang disimpan dalam file KarJawa.mat
• Output: file cirikar.mat yang berisi ciri citra karakter masukan
• Algoritma:
1. Buka file KarJawa.mat
2. Set tinggi = size(KarJawa,1)
3. Set lebar = size(KarJawa,2)
4. Bagi KarJawa menjadi 9 bagian (lihat gambar 2.13).
5. Cari jumlahan piksel yang bernilai 1 di setiap bagian karakter hasil
langkah 2.
6. Simpan ciri tersebut menjadi ciri dari karakter yang bersangkutan ke
dalam file cirikar.mat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
3. Submodul CariCiri
• Fungsi: mencari citra karakter berdasarkan ciri karakter
• Input: nilai threshold, ciri karakter yang disimpan dalam file cirikar.mat,
serta file basis data karakter Jawa yang disimpan dalam file ciri.mat.
• Output: nama latin dan gambar dari citra karakter yang bersangkutan
• Algoritma:
1. Buka file cirikar.mat
2. Buka file ciri.mat
3. Set JumKar = size(ciri,1), i = 1, terus = 1, ketemu = 0, threshold = 20
4. Masukkan nilai threshold yang baru (jika dikehendaki)
5. Selama i ≤ JumKar dan terus = 1
6. Dengan mempergunakan rumus modifikasi jarak Euclidean, dihitung
jarak antara cirikar dengan ciri[i] = jarak
7. Jika jarak ≤ threshold, maka tampilkan nama latin dan gambar dari
citra karakter yang bersangkutan
8. Set terus = 0, dan ketemu = i
9. Jika jarak > threshold, tambahkan i dengan 1.
10. Jika i > JumKar, dan ketemu = 0, tampilkan pesan karakter belum ada
dalam basis data
4. Submodul TambahData
• Fungsi: menambahkan data citra karakter baru ke basis data pustaka
karakter Jawa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
• Input: citra karakter yang disimpan dalam file KarJawa.mat, ciri karakter
yang disimpan dalam file cirikar.mat, dan nama latin dari karakter Jawa
yang bersangkutan.
• Output: data citra karakter Jawa
• Algoritma:
1. Buka file KarJawa.mat
2. Buka file cirikar.mat
3. Buka file ciri.mat
4. Set JumKar = size(ciri,1)
5. Jika JumKar = 1, set i = 1
6. Jika JumKar > 1, set i = JumKar + 1
7. Pada posisi ke i tambahkan data KarJawa, cirikar, dan nama latin yang
dimasukkan lewat keyboard
8. Update file ciri.mat
b. Modul Cari Nama
• Fungsi: mencari citra karakter berdasarkan nama latin yang dimasukkan
oleh developer
• Input: file basis data karakter Jawa yang disimpan dalam file ciri.mat,
dan nama latin.
• Output: gambar dan ciri dari dari citra karakter yang sesuai dengan nama
yang dimasukkan oleh developer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
• Algoritma:
1. Buka file ciri.mat
2. Tampilkan pesan agar developer memasukkan nama latin dari
karakter yang akan dicari = nama
3. Set JumKar = size(ciri,1)
4. Set i = 1, terus = 1, ketemu = 0
5. Selama i ≤ JumKar dan terus = 1
6. Jika ciri[i,1] = nama, maka tampilkan gambar dan ciri dari citra
karakter yang bersangkutan. Set terus = 0, dan ketemu = i
7. Jika tidak, tambahkan i dengan 1
8. Jika i > JumKar, dan ketemu = 0, tampilkan pesan karakter dengan
nama latin yang dimasukkan developer belum ada dalam basis data
4.2.2 Modul-Modul Utama Sistem Pengenalan Citra Dokumen
Modul-modul dalam sistem pengenalan citra dokumen berfungsi untuk
mengolah citra dokumen sehingga dihasilkan deretan karakter pembentuk dokumen
beserta ciri dari setiap karakter yang diperoleh. Modul-modul dalam sistem ini secara
garis besar terbagi dalam delapan buah modul sebagai berikut:
a. Modul Proses Normalisasi Orientasi
Modul untuk proses normalisasi orientasi terdiri dari 2 buah submodul.
Submodul yang pertama adalah submodul CariTeta, yang dipergunakan untuk
mencari besar sudut kemiringan (θ) hasil proses scanning citra. Submodul yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
kedua adalah submodul PutarCitra, yang dipergunakan untuk merotasi sudut
sebesar (θ) yang dihasilkan oleh submodul CariTeta.
1. Submodul: CariTeta
• Fungsi: menentukan kemiringan hasil scanning citra
• Input: citra biner hasil proses binarisasi
• Output: besar sudut penyimpangan (θ)
• Algoritma:
1. Baca file citra masukan
2. Baca tinggi dan lebar dari file input
3. Cari titik tengah dari citra, yaitu m= ½tinggi dan n = ½lebar
4. Dengan mempergunakan rumus 2.4 dihitung besar m dan n
5. Dengan mempergunakan rumus 2.3 dihitung besar setiap momen
qp,µ , di mana p = 0,1 dan q = 0,1
3. Dengan mempergunakan rumus 2.2 dihitung besar (θ)
2. Submodul PutarCitra
• Fungsi: memutar citra dokumen sebesar θ
• Input: citra biner hasil proses binarisasi, dan besar sudut θ
• Output: matriks dari citra dokumen yang telah dirotasi sebesar θ
• Algoritma:
1. Baca file citra masukan
2. Baca tinggi (t) dan lebar (lb) dari file input
3. Set i = 1 dan j = 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
4. Selama i ≤ t dan j ≤ lb
5. Dengan mempergunakan rumus 2.1 rotasikan semua piksel
6. Naikkan i dan j satu-satu
7. Ulangi langkah 5 sampai i = t dan j = lb
b. Modul Proses Binarisasi
Modul untuk proses binarisasi juga terdiri dari 2 buah submodul. Submodul
yang pertama adalah submodul CariAmbang, yang dipergunakan untuk mencari
besar nilai ambang yang akan membagi citra menjadi dua bagian, yaitu apakah
bagian dari citra utama atau citra latar belakang. Submodul yang kedua adalah
submodul UbahBiner, yang dipergunakan untuk menjalankan proses pengubahan
nilai intensitas piksel di setiap titik dengan mempergunakan nilai ambang hasil dari
proses CariAmbang.
1. Submodul CariAmbang
• Fungsi: menentukan nilai ambang threshold yang akan berfungsi untuk
memisahkan citra utama dengan citra latar belakang
• Input: citra dokumen (*.jpg)
• Output: nilai ambang
• Algoritma:
1. Buka data input
2. Hitung probabilitas semua piksel dengan mempergunakan rumus 2.6
3. Hitung nilai rata-rata momen dengan mempergunakan rumus 2.9
4. Set i=1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
5. Hitung momen kumulatif ke nol dari 1 sampai i dengan
mempergunakan rumus 2.7
6. Hitung momen kumulatif ke satu dari 1 sampai i dengan
mempergunakan rumus 2.8
7. Hitung nilai ambang k dari 1 sampai i dengan mempergunakan rumus
2.11
8. Tambahkan i dengan 1
9. Ulangi langkah 5 sampai dengan 7, sampai i = 256
10. Hitung nilai maksimum ambang dengan mempergunakan rumus 2.10
2. Submodul UbahBiner
• Fungsi: Membuat matriks biner dari citra dokumen dimana nilai 0
menyatakan citra utama, dan 1 menyatakan citra latar belakang
• Input: citra dokumen (*.jpg) hasil proses scanning, dan nilai ambang
threshold
• Output: matriks biner
• Algoritma:
1. Mulai dari i=1 sampai dengan tinggi matriks input
2. Mulai dari j=1 sampai dengan lebar matriks input.
3. Dengan mempergunakan rumus 2.5 graylevel pada titik i,j diganti
dengan nilai 0 atau 1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
c. Modul Proses Filling
Modul untuk proses filling terdiri dari 2 buah submodul. Submodul yang
pertama adalah submodul Erosi yang dipergunakan untuk mengurangi ukuran dari
daerah obyek, yaitu sebagai akibat adanya piksel-piksel obyek yang berada di daerah
latar atau terasing dari piksel obyek yang lain. Submodul yang kedua adalah
submodul Dilatasi, yang dipergunakan untuk menambahkan piksel obyek untuk
menutup daerah obyek.
1. Submodul Erosi
• Fungsi: mengurangi ukuran dari daerah obyek
• Input: matriks hasil proses normalisasi orientasi
• Output: matriks yang bebas dari piksel-piksel obyek yang terasing
• Algoritma:
1. Set latar = 1
2. Set obyek = 0
3. Mulai dari i=1 sampai dengan tinggi matriks input
4. Mulai dari j=1 sampai dengan lebar matriks input.
5. Apabila i = 1, maka P1 berada di batas kolom paling kanan dari
citra, hitung nilai tetangga dari P1
P2 P3 P1 P4 P6 P5
Apabila nilai tetangga = 5, dan piksel P1 adalah obyek, maka
piksel P1 diubah menjadi latar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
6. Apabila i = tinggi, maka P1 berada di kolom baris paling kanan
dari citra,hitung nilai tetangga dari P1
P5 P6 P4 P1 P3 P2
Apabila nilai tetangga = 5, dan piksel P1 adalah obyek, maka
piksel P1 diubah menjadi latar.
7. Apabila j = 1, maka P1 berada di batas baris paling atas dari citra,
hitung nilai tetangga dari P1,
P6 P1 P2 P5 P4 P3
Apabila nilai tetangga = 5, dan piksel P1 adalah obyek, maka
piksel P1 diubah menjadi latar.
8. Apabila j = lebar, maka P1 berada di batas baris paling bawah dari
citra, hitung nilai tetangga dari P1,
P6 P2 P3 P5 P1 P4
Apabila nilai tetangga = 5, dan piksel P1 adalah obyek, maka
piksel P1 diubah menjadi latar.
9. Apabila i ≠ 1 dan i ≠ tinggi, dan apabila j ≠ 1 dan j ≠ lebar, hitung
nilai tetangga dari P1,
P9 P2 P3 P8 P1 P4 P7 P6 P5
Apabila nilai tetangga = 8, dan piksel P1 adalah obyek, maka
piksel P1 diubah menjadi latar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
1. Submodul Dilatasi
• Fungsi: mengurangi ukuran dari daerah latar
• Input: matriks hasil proses erosi
• Output: matriks yang bebas dari piksel-piksel latar yang terasing
• Algoritma:
1. Set latar = 1
2. Set obyek = 0
3. Mulai dari i=1 sampai dengan tinggi matriks input
4. Mulai dari j=1 sampai dengan lebar matriks input.
5. Apabila i = 1, maka P1 berada di batas kolom paling kanan dari
citra, hitung nilai tetangga dari P1
P2 P3 P1 P4 P6 P5
Apabila nilai tetangga = 0, dan piksel P1 adalah latar, maka piksel
P1 diubah menjadi obyek.
6. Apabila i = tinggi, maka P1 berada di kolom baris paling kanan
dari citra,hitung nilai tetangga dari P1
P5 P6 P4 P1 P3 P2
Apabila nilai tetangga = 0, dan piksel P1 adalah latar, maka piksel
P1 diubah menjadi obyek.
7. Apabila j = 1, maka P1 berada di batas baris paling atas dari citra,
hitung nilai tetangga dari P1,
P6 P1 P2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
P5 P4 P3
Apabila nilai tetangga = 0, dan piksel P1 adalah latar, maka piksel
P1 diubah menjadi obyek.
8. Apabila j = lebar, maka P1 berada di batas baris paling bawah dari
citra, hitung nilai tetangga dari P1,
P6 P2 P3 P5 P1 P4
Apabila nilai tetangga = 5, dan piksel P1 adalah latar, maka piksel
P1 diubah menjadi obyek.
9. Apabila i ≠ 1 dan i ≠ tinggi, dan apabila j ≠ 1 dan j ≠ lebar, hitung
nilai tetangga dari P1,
P9 P2 P3 P8 P1 P4 P7 P6 P5
Apabila nilai tetangga = 8, dan piksel P1 adalah latar, maka piksel
P1 diubah menjadi obyek.
d. Modul Proses Thinning
Modul untuk untuk proses thinning dipergunakan untuk menemukan
kerangka dari setiap citra karakter di dalam citra dokumen. Keterangan modul
Thinning selengkapnya adalah sebagai berikut:
• Fungsi: Membuat matriks kerangka untuk setiap karakter dalam citra
dokumen
• Input: matriks yang sudah menjalani proses penghilangan noise
• Output: matriks kerangka dari citra dokumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
• Algoritma:
1. Mulai dari i=1 sampai dengan tinggi matriks input
2. Mulai dari j=1 sampai dengan lebar matriks input.
3. Dengan mempergunakan algoritma Hilditch, periksa apakah titik
dalam citra yang ditemukan memenuhi keempat kondisi hilditch. Jika
ya maka titik tersebut harus diubah menjadi titik latar.
4. Ulangi langkah 4 sampai semua titik sudah diperiksa.
e. Modul Proses Segmentasi
Modul untuk proses segmentasi binarisasi terdiri dari enam buah submodul.
Submodul yang pertama adalah submodul ProyeksiVertikal, yang dipergunakan
untuk mencari histogram baris dari citra dokumen. Histogram baris ini kemudian
akan dipakai untuk proses pencarian indek baris dari setiap baris kalimat dari citra
dokumen, seperti tertuang dalam submodul CariIndekBaris. Indek baris ini berisi
keterangan awal dan akhir indek setiap baris kalimat. Indeks baris tersebut kemudian
dipergunakan oleh submodul PotongBaris untuk mendapatkan baris-baris citra
pembentuk citra dokumen. Kemudian dengan mempergunakan submodul
ProyeksiHorisonal dicari histogram kolom dari setiap baris citra yang ditemukan.
Setelah histogram kolom untuk setiap baris kalimat diperoleh, maka kemudian dicari
indek kolom untuk setiap baris citra seperti tertuang dalam submodul
CariIndekKolom. Proses pemisahan karakter dari karakter yang lain kemudian
dilakukan dalam submodul PotongKarakter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
1. Submodul ProyeksiVertikal
• Fungsi: Membuat profil proyeksi vertikal dari citra
• Input: matriks yang sudah menjalani proses pengerangkaan
• Output: matriks histogram vertikal
• Algoritma:
1. Set k = tinggi matriks output = i
2. Inisialisasi matriks output hisver dengan [0]
3. Mulai dari i=1 sampai dengan tinggi matriks input
4. Mulai dari j=1 sampai dengan lebar matriks input.
5. Cari jumlahan piksel yang bernilai 1 pada setiap i
2. Submodul CariIndekBaris
• Fungsi: mencari indek baris-baris citra teks
• Input: histogram baris hasil proses profil proyeksi vertikal (hisver)
• Output: indeks koordinat batas atas dan batas bawah dari setiap baris
kalimat dari citra dokumen
• Algoritma:
1. Set t=tinggi matriks input, j = 0
2. Mulai dari i=1 sampai dengan t
3. Set indeks = [0 0]
4. Jika his(i) ≠ 0, maka naikkan j dengan 1, dan catat i sebagai indeks
(j,1)
5. Tambahkan i dengan 1
6. Selama his(i) ≠ 0, naikkan i dengan 1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
7. Jika his(i) = 0, catat i-1 dalam indeks (j,2)
8. Tambahkan i dengan 1
9. Ulangi langkah (3) – (7) sampai i = t
3. Submodul PotongBaris
• Fungsi: membagi citra dokumen ke dalam baris-baris teks
• Input: file indek baris yang disimpan dalam file indekbaris, dan file hasil
proses thinning thin.mat
• Output: baris-baris citra dokumen yang disimpan dalam file baris.mat
• Algoritma:
1. Buka file indekbaris
2. Buka file thin.mat
3. Set t=tinggi matriks indekbaris
4. Mulai dari i = 1 sampai dengan t
5. Ambil thin(indekbaris[ i , 1 ]: indekbaris[i , 2], )
6. Simpan dalam file baris.mat
4. Submodul ProyeksiHorisontal
• Fungsi: Membuat profil proyeksi horisontal dari citra baris-baris teks
• Input: indeks hasil proses Baris (indeks), dan matriks hasil
pengerangkaan (thin)
• Output: matriks histogram horizontal (hishor)
• Algoritma:
1. Set k = tinggi matriks indeks, dan u = 0
2. Inisialisasi matriks output dengan hishor = [0]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
3. Mulai dari i=1 sampai dengan k
4. Set baris[i] =thin[indeks[i,1]:indeks[i,2],:]
5. Mulai dari j=1 sampai dengan lebar matriks baris[i]
6. Mulai dari z=1 sampai dengan tinggi matriks baris[i]
7. Cari jumlahan piksel yang bernilai 1 pada setiap baris[i] di posisi
lebar tinggi z = jumpik. Naikkan u dengan 1. Catat jumpik di
hishor[u]
8. Ulangi langkah 12 sampai j = lebar matriks baris[i]
9. Ulangi langkah 9 sampai dengan 13 sampai i = k
5. Submodul CariIndekKolom
• Fungsi: mencari indek kolom-kolom citra teks
• Input: histogram baris hasil proses profil proyeksi horisontal (hishor)
• Output: indeks koordinat batas kiri dan batas kanan dari setiap citra
karakter dari setiap baris citra
• Algoritma:
1. Set t=tinggi matriks input, j = 0
2. Mulai dari i=1 sampai dengan t
3. Set indeks = [0 0]
4. Jika his(i) ≠ 0, maka naikkan j dengan 1, dan catat i sebagai indeks
(j,1)
5. Tambahkan i dengan 1
6. Selama his(i) ≠ 0, naikkan i dengan 1.
7. Jika his(i) = 0, catat i-1 dalam indeks (j,2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
8. Tambahkan i dengan 1
9. Ulangi langkah (3) – (7) sampai i = t
6. Submodul PotongKarakter
• Fungsi: membuat batas-batas citra karakter
• Input: indek kolom hasil proses submodul CariIndekKolom, dan baris-
baris citra karakter yang tersimpan dalam file baris.mat.
• Output: citra-citra karakter yang kemudian disimpan dalam file
dokumen.mat
• Algoritma:
1. Buka file indek kolom
2. Set t=tinggi matriks indek kolom
3. Buka file baris
4. Mulai dari i = 1 sampai dengan t
5. Ambil citrakarakter = baris( : , indekkolom[ i , 1 ]: indekkolom[i , 2] )
dan kemudian simpan dalam file dokumen.mat
6. Tambahkan i dengan 1
f. Modul Proses Pengenalan Karakter
Modul untuk proses pengenalan karakter terdiri dari 2 buah submodul.
Submodul yang pertama adalah submodul untuk melakukan ekstraksi ciri, yaitu
submodul EkstraksiCiri. Submodul ini akan menghitung ciri dari karakter yang
akan dikenali, di mana keterangan selengkapnya dapat dilihat pada submodul
EkstraksiCiri pada Sistem Pembuat Basis Data. Setelah ciri dari karakter ditemukan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
maka langkah berikutnya adalah mencocokkan ciri tersebut dengan setiap ciri yang
terdapat dalam basis data karakter Jawa (karakter template). Modul untuk proses
pencarian karakter ini tertuang dalam modul CariKarakter.
1. Submodul CariKarakter
• Fungsi: mencari nama dari karakter yang dimasukkan
• Input: matriks citra karakter (kar), database karakter (template)
• Output: nama latin dari karakter masukan atau pesan bahwa karakter
tidak ada
• Algoritma:
1. Masukkan karakter yang akan dicari namanya = kar
2. Cari ciri dari karakter kar dengan mempergunakan modul cariciri,
simpan dalam cirikar
3. Set i = 1
4. Hitung beda antara cirikar dengan ciri dalam template (ciritemp),
yaitu jumlahan harga mutlak dari selisih cirikar dengan ciritemp[i].
5. Jika beda <= 20, tampilkan nama latin dari database, dan proses
selesai
6. Jika beda > 20, tambah i dengan 1.
7. Lanjutkan langkah 4 - 6 sampai i = tinggi matrisk database karakter
8. Jika sampai langkah 7 tidak ditemukan karakter yang sesuai,
tampilkan pesan bahwa tidak ada karakter tersebut dalam database.
Sarankan untuk menyimpan karakter tersebut ke dalam database.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
g. Modul Pembentukan Kata
Modul untuk untuk proses pembentukan kata dipergunakan untuk menyusun
setiap nama latin yang diperoleh dari proses pengenalan karakter. Keterangan modul
PembentukanKata.m selengkapnya adalah sebagai berikut:.
• Fungsi: Membuat matriks deretan nama latin
• Input: matriks nama-nama latin
• Output: matriks kata
• Algoritma:
1. Mulai dari i=1 sampai dengan tinggi matriks input
2. Mulai dari j=1 sampai dengan lebar matriks input.
3. Sambungkan j karakter yang ada
4. Ulangi langkah 2-3 sampai i = tinggi matriks input.
h. Modul Tampil Data
Modul untuk proses tampil data dipergunakan untuk menampilkan hasil
output pengenalan citra dokumen kepada user. Keterangan modul TampilData.m
selengkapnya adalah sebagai berikut:.
• Fungsi: menampilkan hasil akhir proses pengenalan citra dokumen
• Input: matriks kata
• Output: matriks kata
• Algoritma:
1. Mulai dari i=1 sampai dengan tinggi matriks input
2. Tampilkan isi matriks kata[i]
3. Ulangi langkah 2 sampai i = tinggi matriks input.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
BAB V
HASIL DAN PEMBAHASAN
5.1. Data Masukan
Data masukan untuk pengujian diambil dari buku sastra jawa “Menak
Sorangan I” dan “Panji Sekar”, pada halaman 3, dan 4. Alasan dipilihnya buku-buku
tersebut karena ketebalan buku relatif tipis sehingga memudahkan untuk proses
mengambilan data dengan scanner. Alasan lain adalah buku tersebut walaupun relatif
kuno, yaitu cetakan pada tahun 1933 dan 1936, tetapi relatif masih baik kualitas
kertasnya. Karakteristik data masukan selengkapnya dapat dilihat dalam tabel 5.1,
dan contoh gambar dari citra dokumen masukan dapat dilihat pada gambar 5.1.
Tabel 5.1. Karakteristik File Masukan
No Nama Dokumen Ukuran Citra baris dan kolom Besar File (byte)
1 Menak Sorangan hal. 3 2208 vs 1502 493056
2 Menak Sorangan hal. 4 2312 vs 1520 3514240
3 Panji Sekar hal. 3 2323 vs 1496 3475208
4 Panji Sekar hal. 4 2307 vs 1505 3472035
5.2. Eksekusi Modul-Modul
Setelah data masukan diperoleh maka selanjutnya dilakukan berbagai proses
pengolahan tingkat piksel atau biasa disebut preprocessing, dengan tujuan untuk
mendapatkan citra-citra karakter yang menyusun citra dokumen.
Tahap pengolahan tingkat piksel yang pertama adalah proses binarisasi. Dari
hasil eksekusi untuk data ke 1 diperoleh nilai ambang sebesar 143. Artinya semua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
piksel dengan intensitas warna kurang dari atau sama dengan 143 diganti dengan
nilai 0 dan sebaliknya diganti dengan nilai 1 (lihat gambar 5.2).
Gambar 5.3. menampilkan hasil proses normalisasi orientasi untuk data ke 1.
Dalam proses ini diperoleh besar sudut kemiringan θ sebesar 0.537815, sehingga
citra hasil proses binarisasi harus dirotasi dulu sebesar 0.537815.
Gambar 5.1. Contoh Citra Dokumen Menak Sorangan halaman 3 (data ke 1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 5.2. Contoh Tampilan Citra Hasil Proses Binarisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Gambar 5.3. Contoh Tampilan Citra Hasil Normalisasi Orientasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Gambar 5.4 menggambarkan cuplikan hasil eksekusi proses thinning. Pada
gambar 5.4 terlihat bahwa hasil thinning menunjukkan tingkat pembuatan kerangka
huruf yang bisa dikatakan baik.
Gambar 5.4. Contoh Tampilan Hasil Proses Thinning
Proses segmentasi dimulai dengan membuat histogram baris dengan tujuan
untuk mendapatkan batas-batas indek pemotongan baris-baris teks. Gambar 5.5.
menggambarkan contoh histogram dengan batas indek untuk pemotongan pada suatu
cuplikan citra dokumen.
Gambar 5.5. Cuplikan histogram hasil proses profil proyeksi vertikal
Batas-batas indeks baris
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Setelah setiap baris teks dapat dipisahkan, proses segmentasi dilanjutkan
dengan membuat histogram kolom untuk setiap baris teks. Terlihat dalam contoh
gambar 5.6. bahwa hasil histogram menunjukkan kemudahan untuk proses
pemisahan karakter, yaitu dengan mengambil titik-titik dalam histogram yang tidak
bernilai 0, sementara nilai 0 dipergunakan untuk nilai pemisah antar karakter.
Gambar 5.6. Cuplikan histogram hasil proses profil proyeksi horisontal
Setelah proses profil proyeksi horisontal selesai, maka proses selanjutnya
mempergunakan hasil proses tersebut untuk memperoleh citra setiap karakter dari
citra dokumennya. Gambar 5.7 memperlihatkan sebagian citra karakter yang
dihasilkan proses segmentasi.
Gambar 5.7. Contoh citra karakter hasil akhir proses segmentasi
Batas indeks karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Setelah citra setiap karakter dalam citra dokumen diperoleh, maka kemudian
dapat dilakukan baik proses pembuatan basis data karakter Jawa maupun proses
pengenalan karakter. Tabel 5.2 di bawah ini merupakan hasil akhir proses
pengenalan karakter untuk data ke 1 dari karakter-karakter yang dihasilkan oleh
proses segmentasi. Dalam tabel tersebut diperlihatkan deretan nama latin yang
menjadi nama dari setiap karakter yang ditemukan.
Tabel 5.2. Hasil Proses Pengenalan Karakter Dokumen Menak Sorangan I halaman 3
1 : adeg2 adeg2 pra ju ri t ka la taling ka tarung dra t ca ma pu h ka li ya na pra ju ri t ku par ma n PadaLingsa PadaMadya Dur ma PadaMadya ra ja sa la sa la ha nga ta ga1 ga2 pra ju ri t ti ra PadaLingsa ra tu ing Ta m bang ti mi s si ra ra ja ya l ya l mang sa h ni ti h taling mang tarung pe tha k mang la ga si ke taling p pe bin di PadaLingsa prap ta pa yu dan su sum bar ngu su h tan ding PadaLungsi PadaMadya me taling ta tarung n na na pa taling ya pra ju ri t ku par mban sa par sa ha nge ma sa si PadaLingsa hi ki PadaLingsa sa sa g gen na PadaLingsa han de la ing Ka la taling ka PadaLingsa dra t pa yu tan be ta h mi yar si PadaLingsa ya mit ma nem bah PadaLingsa sang ra ja ja Ba la sa hir PadaLungsi PadaMadya wu sa i ngi taling da na ing gus ti Ta sang su l nga la m mang sah pa ha na taling ha s thi PadaLingsa pa si ke p pan ga da PadaLingsa pra p ta ha yu na ha yun na n sa sa : ha ran mu pra juri t kang me tu ing pra PadaLingsa sun raja ja Ba lasa hir PadaLungsi PadaMadya ing mi Na ba n ku tha ning su n kang mi taling nang tarung ka PadaLingsa han de la ing Bu ru da ngi n ba li ka sira sa sa PadaLingsa pra ju rit Ka la taling ka tarung dra t ing su n ra tu Tam bang hi mi s sun ra ja ma l ya la1 la2 taling ha h pa taling ya ja Ba
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
la1 tarung sa hir PadaLungsi PadaMadya ha ku dhung nga sa ri sa sa n mu taling ba tarung n ba ba ma tarung taling dan yit na ing sun bin di PadaLingsa sang ra ja mi Na ha n ku dhung pa ri taling sa sa sa ja PadaLingsa ra ja ya1 da l yal mu ter bin di PadaLingsa su rak gu me rah PadaLingsa tu me ma1 ma2 puh pu nang bin di PadaLungsi PadaMadya kad ya ge la1 ma2 p tu me ma puh ingpa ri s waja PadaLingsa has ta ni ra ta taling na ha tarung si k sa ra taling jang mi Na adeg2 adeg2 te te dha k a na sa king bu ku se ra t tan ta nga na ing kang taling mi ma pe taling n wa n te na ing L ma2 i d tarung : h ma2 sa ma2PadaLingsa v na : tarung PadaLingsa t na i tarung h PadaLingsa b i o t h na tarung k PadaLungsi
Nama-nama latin yang muncul dalam proses pengenalan karakter sebelumnya
telah terdapat dalam database karakter Jawa yang dibangun oleh sistem pembuat
basis data. Jika sistem menemukan karakter baru yaitu karakter yang belum terdapat
dalam basis data karakter Jawa, maka sistem akan menyimpan karakter baru tersebut
untuk kemudian diproses oleh developer.
Selain nama latin, dalam basis data karakter Jawa juga disimpan ciri dari
setiap karakter dan matriks citra dari setiap karakternya. Tabel 5.3. memperlihatkan
contoh sebagian karakter yang disimpan dalam database karakter Jawa.
Tabel 5.3. Contoh sebagian karakter dalam database karakter Jawa
No.Urut Nama Latin Matriks Ciri Gambar Karakter
1 1 21 23 24 16 8 8 13 5 7
2 : 4 6 4 5 0 0 8 6 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
No.Urut Nama Latin Matriks Ciri Gambar Karakter
3 4 13 14 19 4 12 15 15 0
4 pra 36 23 40 27 23 28 32 24 35
5 'ju 52 52 41 0 0 50 0 24 24
6 'ri' 5 22 16 19 30 26 0 19 17
7 't ka' 48 51 25 34 27 18 31 30 40
8 'la' 17 14 17 19 8 14 9 15 16
9 'taling' 22 23 23 2 1 19 0 9 7
10 'tarung' 11 5 5 2 7 3 7 7 5
11 'dra' 40 49 34 24 5 27 29 24 35
12 't ca' 61 56 27 20 34 10 26 27 48
13 'ma' 17 14 19 12 16 14 11 16 13
14 'pu' 16 20 49 0 0 51 0 24 26
15 'h ' 12 13 16 10 11 0 4 14 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
No.Urut Nama Latin Matriks Ciri Gambar Karakter
16 'ka' 18 19 30 25 11 17 7 6 8
17 'li' 0 23 22 15 25 22 29 26 39
18 'ya' 18 18 18 15 17 18 23 18 16
19 'na' 20 9 22 21 19 9 4 0 7
20 'pra' 30 26 48 24 0 26 24 24 32
21 'ju' 61 58 35 0 7 47 0 30 18
22 'ri' 9 20 18 24 36 22 0 12 18
23 't ku' 62 56 30 50 56 54 0 17 36
24 'par' 0 9 18 17 0 18 34 24 14
25 'ma' 19 15 21 15 12 18 10 18 10
26 'n' 67 40 39 8 2 36
19 27 26
27 '.' 6 3 0 0 7 3 0 0 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Seperti telah diuraikan dalam bab sebelumnya, proses di dalam sistem
pembuat basis data mempergunakan modul-modul yang terdapat dalam sistem
pengenalan karakter. Modul utama yang dipergunakan adalah modul untuk ekstraksi
ciri dan pencarian karakter. Dan masukan dalam sistem ini adalah ciri dari karakter
beserta karakter itu sendiri. Maka rekod-rekod penyusun database karakter Jawa
sangat tergantung pada proses pengenalan karakter.
Pada tabel 5.2 terlihat bahwa proses pengenalan karakter akan menghasilkan
nama-nama latin untuk setiap citra karakter dalam citra dokumen. Nama yang
diberikan adalah benar-benar nama latin yang sesuai dengan kaidah karakter Jawa,
dan belum diproses sesuai aturan pembacaan karakter Jawa. Sebagai contoh deretan
citra karakter yang sesuai dengan akan dikenali dengan nama
taling ka tarung. Sistem pengenalan citra dokumen yang dibangun dalam penelitian
ini mencoba untuk membuat proses pembentukan kata, walaupun masih sebatas
menghilangkan tanda-tanda baca seperti taling dan tarung. Sebagai contoh apabila
ditemukan string taling ka tarung, maka string itu akan diubah menjadi ko. Tabel
5.4 di bawah ini memperlihatkan hasil dari proses pembentukan kata dari nama-nama
latin yang terdapat dalam tabel 5.2 di atas.
Tabel 5.4. Hasil Proses Pembentukan Kata
1 : pra ju ri t ka la ka dra t ca ma pu h ka li ya na pra ju ri t ku par ma n , Dur ma ra ja sa la sa la ha nga ta ga pra ju ri t ti ra , ra tu ing Ta m bang ti mi s si ra ra ja ya l ya l mang sa h ni ti h mong pe tha k mang la ga si ke taling p pe bin di ,prap ta pa yu dan su sum bar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
ngu su h tan ding . me to n na na pa ye pra ju ri t ku par mban sa par sa ha nge ma sa si , hi ki , sa sa g gen na , han de la ing Ka la ke , dra t pa yu tan be ta h mi yar si , ya mit ma nem bah , sang ra ja ja Ba la sa hir . wu sa i ngi de na ing gus ti Ta sang su l nga la m mang sah pa ha na e s thi , pa si ke p pan ga da , pra p ta ha yu na ha yun na n sa sa : ha ran mu pra juri t kang me tu ing pra , sun raja ja Ba lasa hir . ing mi Na ba n ku tha ning su n kang mi nong ka , han de la ing Bu ru da ngi n ba li ka sira sa sa , pra ju rit Ka la ko dra t ing su n ra tu Tam bang hi mi s sun ra ja ma l ya la1 la2 e h pa ye ja Ba la1 tarung sa hir . ha ku dhung nga sa ri sa sa n mu bon ba ba ma tarung de n yit na ing sun bin di , sang ra ja mi Na ha n ku dhung pa ri se sa sa ja ,ra ja ya1 da l yal mu ter bin di , su rak gu me rah , tu me ma1 ma2 puh pu nang bin di . kad ya ge la1 ma2 p tu me ma puh ing pa ri s wa ja , has ta ni ra ta n o si k sa ra jeng mi Na te te dha k a na sa king bu ku se ra t tan ta nga na ing kang taling mi ma pe taling n wa n te na ing L ma2 i d tarung : h ma2 sa ma2. v na : tarung . t na i tarung h . b i o t h na tarung k .
5.3. Analisis Output Pengenalan Karakter
Dari data citra dokumen ke 1 seperti terlihat pada gambar 5.1, dan data citra
dokumen ke 2 pada gambar 5.8 diperoleh hasil output pengenalan karakter seperti
terlihat dalam tabel 5.2 untuk data ke 1, memperlihatkan bahwa tidak semua karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Gambar 5.8 Isi citra dokumen Menak Sorangan I Halaman 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
dari citra dokumen dikenali secara benar. Tabel 5.5. menuliskan kembali tabel 5.2
namun disertai tanda di mana saja karakter yang dikenali secara salah. Tabel 5.6
memperlihatkan hasil pengenalan karakter data ke 2 yang disertai tanda di mana saja
karakter yang dikenali secara salah.
Tabel 5.5 Tabel Karakter Dikenali Dokumen Menak Sorangan I Halaman 3
Baris Karakter Dikenali 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 : adeg2 adeg2 pra ju ri t ka la taling ka tarung dra t ca ma pu h ka li ya na pra ju ri t ku par ma n PadaLingsa PadaMadya Dur ma PadaMadya ra ja sa la sa la ha nga ta ga1 ga2 pra ju ri t ti ra PadaLingsa ra tu ing Ta m bang ti mi s si ra ra ja ya l ya l mang sa h ni ti h taling mang tarung pe tha k mang la ga si ke taling p pe bin di PadaLingsa prap ta pa yu dan su sum bar ngu su h tan ding PadaLungsi PadaMadya me taling ta tarung n na na pa taling ya pra ju ri t ku par man sa par sa ha nge ma sa si PadaLingsa hi ki sa sa g gen na PadaLingsa han de la ing Ka la taling ka PadaLingsa dra t pa yu tan be ta h mi yar si PadaLingsa ya mit ma nem bah PadaLingsa sang ra ja ja Ba la sa hir PadaLungsi PadaMadya wu sa i ngi taling da na ing gus ti Ta sang su l nga la m mang sah pa ha na taling ha s thi PadaLingsa pa si ke p pan ga da PadaLingsa pra p ta ha yu na ha yun na n sa sa : ha ran mu pra juri t kang me tu ing pra PadaLingsa sun raja ja Ba lasa hir PadaLungsi PadaMadya ing mi Na ba n ku tha ning su n kang mi taling nang tarung ka PadaLingsa han de la ing Bu ru da ngi n ba li ka sira sa sa PadaLingsa pra ju rit Ka la taling ka tarung dra t ing su n ra tu Tam bang hi mi s sun ra ja ma l ya la1 la2 taling ha h pa taling ya ja Ba la1 tarung sa hir PadaLungsi PadaMadya ha
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
15 16 17 18 19 20
ku dhung nga sa ri sa sa n mu taling ba tarung n ba ba ma tarung taling dan yit na ing sun bin di PadaLingsa sang ra ja mi Na ha n ku dhung pa ri taling sa sa sa ja ,ra ja ya1 da l yal mu ter bin di PadaLingsa su rak gu me rah PadaLingsa tu me ma1 ma2 puh pu nang bin di PadaLungsi PadaMadya kad ya ge la1 ma2 p tu me ma puh ingpa ri s waja PadaLungsi has ta ni ra ta taling na ha tarung si k sa ra taling jang mi Na adeg2 adeg2 te te dha k a na sa king bu ku se ra t tan ta nga na ing kang taling mi ma pe taling n wa n te na ing L ma2 i d tarung : h ma2 sa ma2. v na : tarung . t na i tarung h . b i o t h na tarung k PadaLungsi
Tabel 5.6 Tabel Karakter Dikenali Dokumen Menak Sorangan I Halaman 4
Baris Karakter Dikenali 1 4
2 ban ra ja Sa lasal ta tannya PadaLingsa taling hah Bakti yar sa pa hi bi PadaLingsa si gra
3 tur semba PadaLingsa PadaLingsa pra ju ri talingtta nar pa1 pa2 ti PadaLingsa PadaMadya ba la1 la2 ni su na Sang pra bu
4 Ta sang wul nga lam na ma pun ja Ba la sa hir err ki tha tha err na mi Na tan err
5 tarung tu hande la pu ni ka err ta tha ta ha ngu wi sa si ka1 ka2r di PadaLingsa pa gu kang ha
6 prang err ra taling ma bindi bi nindi PadaLungsi PadaMadya ka ga1 ra ga2 pa err ttan ka ha1 ha tarung taling ra tarung
7 ggan ra ja yalyal n err err na da wanti santi err nga ta na hi ngang taling ga1 ga2 : sapn err
8 lumrah pra ju ritti tarung err si na taling tang rum Bu ru da ngin la ngu na ha yu da err
9 taling yan was bindi ti da errndi PadaLingsa PadaMadya ngu :lya mi ga1ndha tarung ga da taling na ka1 tarungdya ki err tir
10 ran ti ta taling na ga da si ji PadaLingsa pa sa na err sa nap sat ga1 ka talingthar par
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
11 ra ja n palyal ku wur bi ngung ing sa nang bis ku pat tur bi sa PadaLingsa sang pra
12 bu ja Ba la Sa hir : PadaLungsi PadaMadya san kapple sa yap ri sa sa talingnna ra jayalyal
13 si rah taling ta tarung ke2 na bindi PadaLingsa ku satting par ha2 da PadaLingsa na pa2 pan ma sa talingnna pe ja PadaLingsa PadaLingsa
14 su ra talingkka gu mu ruh err ya tri err bang taling ka taling na malyal ta taling mar tarung si ma
15 la na Si ti PadaLingsa PadaMadya sa mi taling ta ra ma pra ju ri ta ing ka ya1 PadaLingsa : taling ka tarung
16 Prangt pa ya1 hu2 ke li pat runtik prapta sa ti : ka ga1 err par gi : ta
17 yu err ma2 err ha yunnan sa sa ta ranmu pra ju rit sa taling tanni ga1 dalyal
18 sun ra ja ma2 ja2 Ba la Sa tarung ya PadaLingsa PadaMadya si ra sa sa su ma hur su napa ti : ka
19 l Ka err : ga2 err err ha da taling na ha ling ma Ba la sa hir PadaLingsa hi ga1 ma2 ma2 ta sa : ya1 ha2 na PadaLingsa ing ti
20 pang ga da ning mar err pa rak ti ti : hanni taling ra ki err pe taling ra tarungdki ne tab
21 te sa puh tindi ti nindi PadaLingsa PadaMadya ga ja PadaLingsa kang geggapyu ka pi ne taling ra err
22 da err hing2 wa rak ga ha1 PadaLingsa 1 dhing taling nga err manyjing err sa sa lang1 ma2 nging pa rak su ru
23 manyjing tarung ha2ndhemman kang ni tih tindi bi nindi PadaLingsa kang ti ni ti err tan
Dari hasil pengenalan karakter tabel 5.5 untuk data ke 1 diperoleh tabel data
analisis output pengenalan citra karakter sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Tabel 5.7 Analisis Output Pengenalan Citra Dokumen Menak Sorangan I Hal. 3
No Jumlah Karakter Citra Dokumen Tambahan Karakter Keterangan
Baris Karakter Dikenali Benar Salah Beda spasi Karakter lain
1 18 18 18 0 0
2 11 12 11 0 1 1 Bertambah 1 spasi dibelakang
3 22 23 22 0 1 1 Ada 1 karakter dikenali sebagai 2 karakter
4 25 25 25 0 0 1 Bertambah 1 spasi dibelakang
5 26 27 25 1 1 1 Ada 1 karakter dikenali sebagai 2 karakter
6 24 24 23 1 0 1 Bertambah 1 spasi dibelakang
7 23 27 20 3 4 2 2
Bertambah 2 spasi dibelakang dan ada 1 karakter dikenali sebagai 2 karakter sebanyak 2
8 25 25 24 1 0 9 26 26 25 1 0
10 23 24 21 2 1 1 Ada 1 karakter dikenali sebagai 2 karakter
11 21 21 20 1 0
12 24 30 24 0 6 6 Bertambah 6 spasi dibelakang
13 23 27 21 2 4 1 Bertambah 1 spasi dibelakang
14 23 25 20 3 2 2Ada 1 karakter dikenali sebagai 2 karakter sebanyak 2
15 26 28 22 4 2 2 Bertambah 2 spasi dibelakang
16 24 25 21 3 1 1 Ada 1 karakter dikenali sebagai 2 karakter
17 24 26 23 1 2 2Ada 1 karakter dikenali sebagai 2 karakter sebanyak 2
18 26 27 25 1 1 1 Ada 1 karakter dikenali sebagai 2 karakter
19 26 26 20 6 0 Karakter salah besar karena ada 5 karakter latin
20 25 26 11 14 1 1
Bertambah 1 spasi dibelakang. Karakter salah besar karena semua karakter latin
Total 465 492 421 44 27 1 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
Dari hasil analisis dalam tabel 5.7, maka diperoleh bahwa dari 465 karakter
dalam citra dokumen, dengan sistem pengenalan citra dokumen diperoleh 421
karakter yang dikenali secara benar. Sehingga dari hasil tersebut dapat dihitung
prosentase derajat keberhasilan pengenalan citra yaitu sebesar (421 / 465) x 100%,
yang akan bernilai 90.54%.
Dari hasil pengenalan karakter tabel 5.6 untuk data ke 2 diperoleh tabel data
analisis output pengenalan citra karakter sebagai berikut:
Tabel 5.8 Analisis Output Pengenalan Citra Dokumen Menak Sorangan I Hal. 4
No Jumlah Karakter Citra Dokumen Tambahan Karakter Keterangan
Baris Karakter Dikenali Benar Salah Beda spasi Karakter lain
1 1 1 1 0 0 2 24 24 23 1 0 3 23 23 22 1 0
4 23 25 21 2 2 2Ada 2 karakter masing-masing dikenali sebagai 2 karakter
5 24 25 21 3 1 1 Ada 1 karakter dikenali sebagai 2 karakter
6 26 26 21 5 0
7 25 27 20 5 2 2Ada 2 karakter masing-masing dikenali sebagai 2 karakter
8 25 27 23 2 2 1 1
Bertambah 1 spasi dibelakang dan ada 1 karakter dikenali sebagai 2 karakter
9 24 29 21 3 5 2 2
Bertambah 2 spasi dan ada 2 karakter dikenali masing-masing dikenali sebagai 2 karakter
10 24 25 18 6 1 1 Ada 1 karakter dikenali sebagai 2 karakter
11 22 23 17 5 1 1 Ada 1 karakter dikenali sebagai 2 karakter
12 24 25 21 3 1 1 Ada 1 karakter dikenali sebagai 2 karakter
13 27 30 18 9 3 2 1
Bertambah 2 spasi dibelakang dan ada 1 karakter dikenali sebagai 2 karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
No Jumlah Karakter Citra Dokumen Tambahan Karakter Keterangan
Baris Karakter Dikenali Benar Salah Beda spasi Karakter lain
14 25 27 20 5 2 2Ada 2 karakter masing-masing dikenali sebagai 2 karakter
15 22 23 20 2 1 1 Bertambah 1 spasi dibelakang
16 22 23 14 8 1 1 Bertambah 1 spasi dibelakang
17 22 25 17 5 3 2 1
Bertambah 1 spasi dibelakang dan ada 1 karakter dikenali sebagai 2 karakter
18 23 24 20 3 1 1 Bertambah 1 spasi dibelakang
19 24 31 16 8 5 3 2
Bertambah 2 spasi, dan Ada 2 karakter dikenali masing-masing sebagai 2 karakter
20 25 26 22 4 1 1 Bertambah 1 spasi dibelakang
21 24 24 19 5 0
22 24 27 19 5 3 1 2
Bertambah 1 spasi dibelakang dan ada 2 karakter masing-masing dikenali sebagai 2 karakter
23 23 24 20 3 1 1 Bertambah 1 spasi dibelakang
Total 526 562 434 92 36 1 11
Dari hasil analisis tabel 5.7 diperoleh data bahwa dari 526 karakter dalam
data masukan ke 2 terdapat 434 karakter yang dikenali secara benar. Sehingga dari
hasil tersebut dapat dihitung prosentase derajat keberhasilan pengenalan citra
dokumen yaitu sebesar (434 / 526) x 100%, yang akan bernilai 82.51%.
Cara-cara analisis pada hasil output dari pengenalan citra dokumen buku
sastra Jawa Menak Sorangan I tadi kemudian diterapkan pada analisis hasil output
citra dokumen dari buku sastra Jawa Panji Sekar (lihat lampiran 3). Sehingga secara
keseluruhan dapat diperoleh rangkuman hasil analisis output program untuk
pengenalan citra dokumen sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Tabel 5.9. Rangkuman Hasil Analisis Output Program
Jumlah Karakter Nama Dokumen
Citra Dikenali Benar
Prosentase
Keberhasilan
Menak Sorangan I Halaman 3 465 492 421 90.54
Menak Sorangan I Halaman 4 526 562 434 82.51
Panji Sekar Halaman 3 477 509 345 72.33
Panji Sekar Halaman 4 538 577 429 79.74
Rata-rata Prosentase Keberhasilan 81.28
Maka dari hasil analisis data dapat diperoleh rata-rata keberhasilan proses
pengenalan citra dokumen pada buku sastra Jawa Menak Sorangan I dan Panji Sekar
sebesar 81.28%. Nilai prosentase derajat keberhasilan ini menggambarkan bahwa
pemilihan metode-metode dalam proses pengenalan citra dokumen yang digunakan
dalam penelitian ini untuk mengenali citra dokumen dari buku sastra Jawa Menak
Sorangan I dan Panji Sekar pada halaman 3 dan 4 relatif baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Dari penelitian ini maka dapat diambil beberapa kesimpulan sebagai berikut:
1. Sistem Pengenalan Citra Dokumen yang telah dibuat dapat mengenali citra-citra
karakter Jawa penyusun citra dokumen berdasarkan pencocokan ciri citra-citra
karakter antara citra karakter query yang terdapat dalam suatu citra dokumen dan
citra karakter dalam basis data.
2. Untuk data-data citra yang digunakan dalam penelitian ini, yaitu dari citra
dokumen Menak Sorangan I halaman 3 dan halaman 4, maka sistem dapat
mengenali citra-citra karakter penyusun dokumen tersebut dengan rata-rata
prosentase keberhasilan sebesar 86.53% untuk threshold jarak ciri citra karakter
sebesar 20.
3. Ciri citra karakter Jawa berupa jumlah piksel obyek dalam suatu unit citra
karakter dapat dipakai untuk menentukan kemiripan bentuk citra karakter Jawa.
Semakin dekat jarak ciri citra query dengan ciri citra dalam basis data, maka
semakin mirip citra karakter tersebut.
4. Ciri citra karakter disimpan dalam basis data, sehingga data citra karakter baru
dapat ditambahkan untuk mempresentasikan lebih banyak variasi citra karakter
Jawa. Semakin banyak variasi citra karakter dari citra dalam basis data, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
semakin besar kemungkinan untuk menemukan citra karakter yang mirip dengan
citra karakter query dari suatu citra dokumen.
5. Prosentase keberhasilan pengenalan citra dokumen selain tergantung pada variasi
citra karakter yang tersimpan dalam basis data, juga sangat tergantung dari proses
pengolahan citra dokumen.
6. Keberhasilan proses pengolahan citra dokumen sangat dipengaruhi oleh kualitas
kertas, kualitas cetakan, dan kerumitan karakter cetakan dari dokumen yang akan
diolah. Semakin baik kualitas kertas dan kualitas cetakan, semakin besar
kemungkinan untuk menghasilkan hasil olahan citra-citra karakter yang baik.
Semakin rumit bentuk-bentuk karakter cetakan dalam dokumen, semakin sulit
proses pengolahan citra dokumennya.
6.2. Saran
Dari hasil penelitian ini dapat disarankan beberapa hal sebagai berikut:
1. Perlu dicoba metode-metode lain untuk proses pengolahan tingkat piksel dan
proses pengenalan karakter sehingga diperoleh hasil pengolahan yang lebih
optimal.
2. Perlu dicoba citra dokumen lain yang dipergunakan sebagai data masukan,
utamanya jika citra tersebut dicetak dengan jarak antar baris yang tidak harus
jelas, dan ditulis dengan mempergunakan tulisan tangan.
3. Penelitian ini masih harus dikembangkan lagi untuk sampai pada tahap
pengolahan teks seperti word processor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
DAFTAR PUSTAKA Antonacopoulos, A., 1995, “Introduction to Document Image Analysis”, http://www.
css.liv.ac.uk/~aa/Courses/COMP390/DIA-Introduction.pdf, diakses tanggal 16 April 2005.
Arcelli, C., dan Sanniti di Baja, G., 1985, “A width-independent fast thinning
algorithm”, IEEE Trans. Pattern Anal. Machine Intell, Volume 7: 463-474. Azar, Danielle., 1997, “Hilditch's Algorithm for Skeletonization”, http://jeff.cs.
mcgill.ca/~godfried/teaching/projects97/azar/skeleton.html#algorithm, diakses tang-gal 20 September 2005.
Brown, Eric W., 2000, "Character Recognition by Feature Point Extraction”, www.
ccs. neu.edu/home/feneric/papers/charrec.pdf, diakses tanggal 20 Juni 2005. Darusuprapta, dkk., 1996, “Pedoman Penulisan Aksara Jawa”, Yayasan Pustaka
Nusantara, Yogyakarta. Duda, Richard O., Hart, Peter E., dan Stork, David G., 2000, “Pattern
Classification”, Wiley Interscience, USA. Fletcher, A., dan Kasturi, R., 1988, “A robust algorithm for text string separation
from mixed text/graphics images”, IEEE Trans. Pattern Anal. Machine Intel., Volume 10: 910-918.
Gonzalez, R.C., dan Woods, R.E., 1992, “Digital Image Processing”, Addison-
Wesley Publishing Company, Inc., USA.. Hanzelman, Duane, dan Littlefield, Bruce, 2000, “Matlab Bahasa Komputasi
Teknis”, Andi, Yogyakarta. Kasturi, R., O’Gorman, L., dan Govindaraju, V., 2002, “Document image analysis:
A primer”, Sadhana, Volume 27: 3-22. Kavallieratou, E., Fakotakis, N., dan Kokkinakis, G., 2005, “Skew angle estimation
in document processing using cohen’s class distributions”, http://slt.wcl.ee.upatras.gr /papers/kavallieratou2.pdf, diakses tanggal 16 April 2005.
Munir, Rinaldi., 2004, “Pengolahan Citra Digital dengan Pendekatan Algoritmik”,
Informatika, Bandung. O’Gorman, 1993, “The document spectrum for structural page layout analysis”,
IEEE Trans. Pattern Anal. Machine Intelli., Volume 15: 62-73.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
O’Gorman, L., dan Kasturi, R., 1997, “Executive briefing: documen image analysis”, IEEE Computer Society Press., USA.
Otsu, Nobuyuki., 2003, “A Threshold Selection Method from Gray-Level
Histograms”, http://www-users.itlabs.umn.edu/classes/Spring-2003/csci8980 /presen tations/AThresholdSelectionMethodfromGray-Level.ppt, diakses tanggal: 20 September 2005.
Pakubuwono IV., 1933, “Panji Sekar”, Balepoestaka, Batawisentrem. Parker, J.R., 1997, “Algorithms For Image Processing And Computer Vision”,
Wiley Computer Publishing, New York. Pressman, R.S., 2001, “Software Engineering: A Practitior’s Approach, 5th
Edition”, John Wiley & Sons, Inc., New York. Sauvola, J., Seppänen, T., Haapakoski, S., dan Pietikäinen, M., 1997, “Adaptive
Document Binarization”, http://www.mediateam.oulu.fi/publications/pdf/ 42.pdf, diakses tanggal 4 Mei 2005.
Sayoga, Budi., 2004, “Panduan Pemakaian Hanacaraka Font Untuk Pengetikan
Aksara Jawa Pada Perangkat Lunak Komputer Berbasis Sistem Operasi Windows”, http://hanacaraka.fateback.com, diakses tanggal 2 September 2005.
Srihari, S.N., Lam, S.W., Govindaraju, V., Srihari, R.K., Hull, J.J., 1986, “Document
Image Understanding”, CEDAR, New York.. Suprihatin, 2003, “Penerapan Finite Automata Dalam Mengalihaksarakan Tulisan
Aksara Jawa ke Tulisan Huruf Latin. Tesis S2 Ilmu Komputer”, Universitas Gadjah Mada, Yogyakarta.
Thompson, C.M., Shure, L., 1993, “Image Processing ToolBox For Use with
Matlab”, The Math Works Inc., USA. Yasadipura I, R.Ng., 1936, “Menak Sorangan I”, Balepoestaka, Batawisentrem. Zramdini, Abdelwahab., dan Ingold, Rolf., 1993, “Optical font recognition from
projection profiles”, Electronic Publishing, Volume 6(3): 249-260.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
Lampiran 1. Antar muka pemakai Sistem Pengenal Citra Dokumen
a. SubMenu Binarisasi
b. SubMenu Normalisasi Orientasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
c. SubMenu Pengenalan Karakter
d. SubMenu BentukKata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Lampiran 2. Implementasi Modul Dalam Desain Sistem
1. Implementasi SubModul BukaFile
function dirdata=bukafilekar(f,program); [fname,pname]=uigetfile('karakter.mat','Buka file citra karakter',10,30); dirdata=pname; cd(dirdata); data=load(fname); karJawa=data.karakter; cd(program); save('karJawa.mat','karJawa'); info_s1={'Gambar Karakter Jawa:'}; Judul_b1=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .7 0.5 .05],... 'string',info_s1,'fontsize',[16],'fontname','verdana'); subplot('position',[0.1 0.2 0.3 0.4]); imshow(karJawa);
2. Implementasi SubModul EkstraksiCiri function fitur = ekstrakciri(kar,program,dirdata); % ciri histogram horisontal data=kar; cd(dirdata); tinggi=size(data,1); lebar=size(data,2); hiskar=zeros(tinggi,1); for i=1:tinggi for j=1:lebar if (data(i,j)==0) hiskar(i)=hiskar(i)+1; end end end ulang=size(hiskar,1); i=1; awal=1; while (i<ulang) if (hiskar(i)==0) i=i+1; awal=i; else i=ulang; end end i=ulang; akhir=ulang; while (i>1) if (hiskar(i)==0) i=i-1; akhir=i;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
else i=0; end end hiskarbrs=hiskar(awal:akhir,1); %histogram kolom huruf hiskarklm=zeros(lebar,1); for i=1:lebar for j=1:tinggi if (data(j,i)==0) hiskarklm(i)=hiskarklm(i)+1; end end end ulang=size(hiskarklm,1); i=1; awal2=1; while (i<ulang) if (hiskarklm(i)==0) i=i+1; awal2=i; else i=ulang; end end i=ulang; akhir2=ulang; while (i>1) if (hiskarklm(i)==0) i=i-1; akhir2=i; else i=0; end end hiskarklm=hiskarklm(awal2:akhir2,1); gbr=data(awal:akhir,awal2:akhir2); x=gbr; b=ceil(size(x,1)/3); k=ceil(size(x,2)/3); ulb=size(x,1); ulc=size(x,2); jumtitik=zeros(3,3); for i=1:3 ak_i=i*b; if (i*b>ulb) ak_i=ulb; end for j=1:3 ak_j=j*k; if (ak_j>ulc) ak_j=ulc;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
end datagbr=x((i-1)*b+1:ak_i,(j-1)*k+1:ak_j); jum=0; for w=1:size(datagbr,1) for u=1:size(datagbr,2) if (datagbr(w,u)==0) jum=jum+1; end end end jumtitik(i,j)=jum; end end fitur = jumtitik; cd(program);
3. Implementasi SubModul CariCiri
function carikar(f,program); load cirikar; load ciri; database=ciri; ulang=size(database,1); i=2; while (i<=ulang) temu=0; b=abs(cirikar-database{i,2}); c=sum(b); beda=sum(c); if (beda<=20) temu=i; s1=database{temu,1}; if (ischar(s1)==0) s1=char(s1); end s2=num2str(temu); info_s1={'Gambar Karakter Jawa:'}; info_s2={'Ciri Karakter Jawa:'}; subplot('position',[0.1 0.2 0.3 0.4]); imshow(database{temu,3}); cr=database{temu,2}; judul='Ditemukan Karakter Jawa di rekord ke: '; Judul_b0=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .8 1 .05],... 'string',strcat(judul,s2),'fontsize',[16],'fontname','verdana'); Judul_3=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .75 1 .05],... 'string',upper(s1),'fontsize',[24],'fontname','verdana');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Judul_b1=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .7 0.5 .05],... 'string',info_s1,'fontsize',[16],'fontname','verdana'); Judul_b2=uicontrol(f,'style','text','units','norm','back','w','pos',[.51 .7 .5 .05],... 'string',info_s2,'fontsize',[16],'fontname','verdana'); Judul5=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .05 1 .05],... 'string','ENTER: Lanjut','fontsize',[18],'fontname','verdana'); ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .55 0.03 .05],... 'string',cr(1,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .55 0.03 .05],... 'string',cr(1,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .55 0.03 .05],... 'string',cr(1,3),'fontsize',[14],'fontname','verdana'); ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .5 0.03 .05],... 'string',cr(2,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .5 0.03 .05],... 'string',cr(2,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .5 0.03 .05],... 'string',cr(2,3),'fontsize',[14],'fontname','verdana'); ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .45 0.03 .05],... 'string',cr(3,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .45 0.03 .05],... 'string',cr(3,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .45 0.03 .05],... 'string',cr(3,3),'fontsize',[14],'fontname','verdana'); i=ulang+1; end i=i+1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
4. Implementasi SubModul Cari Nama
function CariData(f); info_s1={'Gambar Karakter Jawa:'}; info_s2={'Ciri Karakter Jawa:'}; nm = input('Masukkan nama latin karakter yang dicari: '); judul='Karakter Jawa di rekord ke: '; load ciri; data = ciri; ulang=size(data,1); i=1; while (i<=ulang) kt = data{i,1}; kt = char(kt); cr = data{i,2}; if (strcmp(kt,nm)==1) Judul_b0=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .8 1 .05],... 'string',strcat(judul,num2str(i)),'fontsize',[16],'fontname','verdana'); Judul_3=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .75 1 .05],... 'string',upper(nm),'fontsize',[24],'fontname','verdana'); Judul_b1=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .7 0.5 .05],... 'string',info_s1,'fontsize',[16],'fontname','verdana'); Judul_b2=uicontrol(f,'style','text','units','norm','back','w','pos',[.51 .7 .5 .05],... 'string',info_s2,'fontsize',[16],'fontname','verdana'); Judul5=uicontrol(f,'style','text','units','norm','back','w','pos',[.0 .05 1 .05],... 'string','ENTER: Lanjut','fontsize',[18],'fontname','verdana'); subplot('position',[0.1 0.2 0.3 0.4]); imshow(data{i,3}); ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .55 0.03 .05],... 'string',cr(1,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .55 0.03 .05],... 'string',cr(1,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .55 0.03 .05],... 'string',cr(1,3),'fontsize',[14],'fontname','verdana');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .5 0.03 .05],... 'string',cr(2,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .5 0.03 .05],... 'string',cr(2,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .5 0.03 .05],... 'string',cr(2,3),'fontsize',[14],'fontname','verdana'); ciri1=uicontrol(f,'style','text','units','norm','back','w','pos',[.7 .45 0.03 .05],... 'string',cr(3,1),'fontsize',[14],'fontname','verdana'); ciri2=uicontrol(f,'style','text','units','norm','back','w','pos',[.74 .45 0.03 .05],... 'string',cr(3,2),'fontsize',[14],'fontname','verdana'); ciri3=uicontrol(f,'style','text','units','norm','back','w','pos',[.78 .45 0.03 .05],... 'string',cr(3,3),'fontsize',[14],'fontname','verdana'); pause; end i=i+1; end
5. Implementasi SubModul CariTeta
function [teta,citra]=Sudut %mengetahui besar sudut %nmfl=uigetfile('*.jpg','Pilih file citra dokumen: '); citra=imread('3.jpg'); data=double(citra); tinggi=size(data,1); lebar=size(data,2); n=round(tinggi/2); m=round(lebar/2); N=tinggi*lebar; maksen=1/N*1/2*(n+n*m); naksen=1/N*1/2*(m+m*n); jum=0; for i=1:m jum=jum+(i-maksen)^2; end mu20=n*jum; jum=0; for i=1:n jum=jum+(i-naksen)^2; end mu02=m*jum; jumm=0; for i=1:m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
jumm=jumm+(i-maksen); end jumn=0; for i=1:n jumn=jumn+(i-naksen); end mu11=n*m*jumm*jumn; teta=1/2*atan(2*mu11/(mu20-mu02));
6. Implementasi SubModul PutarCitra
function putar=Rotasi(citra,teta,f) I= citra; sd=abs(round(teta)); if (sd==0) sd=1; end putar = imrotate(I,sd); savefile = 'putar.mat'; save(savefile,'putar'); info_r1={'Citra Dokumen Asli:'}; info_r2={'Citra Dokumen Hasil Normalisasi Orientasi dengan teta = '}; Judul_r1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .82 1 .03],... 'string',info_r1,'fontsize',[12],'fontname','verdana'); Judul_r2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .39 .63 .04],... 'string',info_r2,'fontsize',[12],'fontname','verdana'); Judul_r3=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.64 .39 .1 .04],... 'string',abs(teta),'fontsize',[12],'fontname','verdana'); subplot('position',[0 0.42 1 0.4]); imshow(I); subplot('position',[0 0.0 1 0.39]); imshow(putar)
7. Implementasi SubModul CariAmbang
function batas = mOtsu(gbr) %Binarisasi dengan mempergunakan metode Otsu's ~ by: A. Rita W. %1. cari probabilitas semua piksel %2. cari nilai rata-rata momen %3. cari momen kumulatif ke nol %4. cari momen kumulatif ke satu %5. cari nilai seluruh kemungkinan nilai k %6. cari k yang maksimum %-------------------------------------------- data=double(gbr); tinggi=size(data,1); lebar=size(data,2); JumPiksel=tinggi*lebar; cacah=zeros(1,256); %--------------------------------------------
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
%1. cari probabilitas semua piksel % cari jumlah piksel-piksel sejenis for i=1:tinggi for j=1:lebar cacah(data(i,j)+1)=cacah(data(i,j)+1)+1; %+1 krn indek tdk dimulai dari 0 end end for i=1:256 ProbI(i)=cacah(i)/JumPiksel; end %-------------------------------------------- %2. cari nilai rata-rata momen RerataMomen=0; for i=1:256 RerataMomen=RerataMomen+i*ProbI(i); end %-------------------------------------------- MKkeNol=0; MKkeSatu=0; for i=1:256 %2. cari momen kumulatif ke nol MKkeNol=MKkeNol+ProbI(i); %-------------------------------------------- %3. cari momen kumulatif ke satu MKkeSatu=MKkeSatu+i*ProbI(i); %-------------------------------------------- %5. cari nilai seluruh kemungkinan nilai k Ambang(i)=((RerataMomen*MKkeNol-MKkeSatu)^2)/(MKkeNol*(1-MKkeNol)); %-------------------------------------------- end %-------------------------------------------- %6. cari k yang maksimum makK=Ambang(1); indek=1; for i=2:256 if Ambang(i)>makK makK=Ambang(i); indek=i-1; end end batas=indek;
8. Implementasi SubModul UbahBiner
Function biner(f) citra=putar; %rev 26Nop J dari 3.JPG yang telah dirotasi ambang = mOtsu(citra); % panggil func otsu untuk mencari ambang batas display(ambang); temp=double(citra); % ubah ke tipe double tinggi=size(citra,1); % hitung tinggi citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
lebar=size(citra,2); % hitung lebar citra temp2=double(citra); % ubah ke tipe double tinggi=size(citra,1); % hitung tinggi citra lebar=size(citra,2); % hitung lebar citra %mulai binarisasi for i=1:tinggi for j=1:lebar if (temp2(i,j)<ambang) temp2(i,j)=0; else temp2(i,j)=1; end end end biner=logical(uint8(temp2)); savefile = 'biner.mat'; save(savefile,'biner');
9. Implementasi SubModul Erosi
function Noise(f,program,dirdata); %Operasi untuk menghilangkan titik asing dan menutup lubang titik %baca citra cd(dirdata); load putar; nois=putar; %prosedur untuk memotong baris atas dan bawah yang kosong data=nois; tinggi=size(data,1); lebar=size(data,2); hisbrs=zeros(tinggi,1); for i=1:tinggi for j=1:lebar if (data(i,j)==0) hisbrs(i)=hisbrs(i)+1; end end end data=hisbrs; ulang=size(data,1); baris=size(nois,1); i=1; %buang baris kosong di atas while ((data(i)>40) | (data(i)<=10)) & (i<ulang) i=i+1; end %buang baris kosong di bawah j=ulang; while ((data(j)>40) | (data(j)<=10)) & (j>1) j=j-1; end nois2=nois(i:j,:); %prosedur untuk buang kolom-kolom kosong
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
data=nois2; tinggi=size(data,1); lebar=size(data,2); hisklm=zeros(lebar,1); for i=1:lebar for j=1:tinggi if (data(j,i)==0) hisklm(i)=hisklm(i)+1; end end end data=hisklm; ulang=size(data,1); kolom=size(nois2,2); i=1; %buang kolom kosong di kiri while ((data(i)>20) | (data(i)<=3)) & (i<ulang) i=i+1; end %buang kolom kosong di kanan j=ulang; while ((data(j)>20) | (data(j)<=3)) & (j>1) j=j-1; end %nois3=nois2(:,i:j); nois3=nois2(:,137:1412); tinggi=size(nois3,1); lebar=size(nois3,2); temp=double(nois3); %lakukan dulu removal titik terasing %jika tetangga <4 titik tetangga maka titik itu dijadikan latar temp2=temp; % removal pojok kiri atas jubah=1; while (jubah>0) tinggi=size(temp,1); lebar=size(temp,2); jubah=0; jTetangga=0; i=1; if (temp(1,1)==0) jTetangga=jTetangga+temp(i,2)+temp(i+1,1)+temp(i+1,2); if (jTetangga==3) jubah=jubah+1; temp2(i,1)=1; end end % removal pojok kanan atas jTetangga=0; if (temp(i,lebar)==0) jTetangga=jTetangga+temp(i,lebar-1)+temp(i+1,lebar)+temp(i+1,lebar-1); if (jTetangga==3) jubah=jubah+1; temp2(i,lebar)=1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
end % removal pojok kiri bawah jTetangga=0; i=tinggi; if (temp(i,1)==0) jTetangga=jTetangga+temp(i,2)+temp(i-1,1)+temp(i-1,2); if (jTetangga==3) jubah=jubah+1; temp2(i,1)=1; end end % removal pojok kanan bawah jTetangga=0; if (temp(i,lebar)==0) jTetangga=jTetangga+temp(i,lebar-1)+temp(i-1,lebar)+temp(i-1,lebar-1); if (jTetangga==3) jubah=jubah+1; temp2(i,lebar)=1; end end % removal kolom paling kiri dan kanan for i=2:tinggi-1 if (temp(i,1)==0) jTetangga=0; jTetangga=jTetangga+temp(i-1,1)+temp(i,2)+temp(i+1,1)+temp(i-1,2)+temp(i+1,2); if (jTetangga==5) jubah=jubah+1; temp2(i,1)=1; end end if (temp(i,lebar)==0) jTetangga=0; jTetangga=jTetangga+temp(i-1,lebar)+temp(i,lebar-1)+temp(i+1,lebar)+temp(i-1,lebar-1)+temp(i+1,lebar-1); if (jTetangga==5) jubah=jubah+1; temp2(i,lebar)=1; end end end %removal baris paling atas dan bawah for i=2:lebar-1 if(temp(1,i)==0) jTetangga=0; jTetangga=jTetangga+temp(1,i-1)+temp(2,i)+temp(1,i+1)+temp(2,i-1)+temp(2,i+1); if (jTetangga==5) jubah=jubah+1; temp2(1,i)=1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
end if (temp(tinggi,i)==0) jTetangga=0; jTetangga=jTetangga+temp(tinggi,i-1)+temp(tinggi-1,i)+temp(tinggi,i+1)+temp(tinggi-1,i-1)+temp(tinggi-1,i+1); if (jTetangga==5) jubah=jubah+1; temp2(tinggi,i)=1; end end end % removal selain di border line %removal obyek terasing for i=2:tinggi-1 for j=2:lebar-1 jTetangga=0; if (temp(i,j)==0) jTetangga=jTetangga+temp(i-1,j)+temp(i,j+1)+temp(i+1,j)+temp(i,j-1)+... temp(i-1,j-1)+temp(i-1,j+1)+temp(i+1,j+1)+temp(i+1,j-1); if (jTetangga==8) jubah=jubah+1; temp2(i,j)=1; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i-1,j+1)+temp(i,j-1)+temp(i,j+1); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i+1,j-1)+temp(i+1,j)+temp(i+1,j+1); if ((jTetanggaA==5) & (jTetanggaB==0)) jubah=jubah+1; temp2(i,j)=1; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i-1,j+1); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i+1,j-1)+temp(i+1,j)+temp(i+1,j+1)+temp(i,j-1)+temp(i,j+1); if ((jTetanggaA==0) & (jTetanggaB==5)) jubah=jubah+1; temp2(i,j)=1; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i,j-1)+temp(i+1,j-1)+temp(i+1,j); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i-1,j+1)+temp(i,j+1)+temp(i+1,j+1); if ((jTetanggaA==5) & (jTetanggaB==0)) jubah=jubah+1; temp2(i,j)=1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j)+temp(i-1,j+1)+temp(i,j+1)+temp(i+1,j)+temp(i+1,j+1); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i-1,j-1)+temp(i,j-1)+temp(i+1,j-1); if ((jTetanggaA==5) & (jTetanggaB==0)) jubah=jubah+1; temp2(i,j)=1; end end end end temp=temp2; end nois=logical(uint8(temp)); savefile = 'nois.mat'; save(savefile,'nois'); cd(program);
10. Implementasi SubModul Dilatasi
function filling(f,program,dirdata); cd(dirdata); load putar; load nois; %prosedur untuk memotong baris atas dan bawah yang kosong temp=double(nois); tinggi=size(nois,1); lebar=size(nois,2); %lakukan dulu removal titik terasing %jika tetangga <4 titik tetangga maka titik itu dijadikan latar temp2=temp; jubah=1; while (jubah>0) jubah=0; % removal pojok kiri atas jTetangga=0; i=1; if (temp(1,1)==1) jTetangga=jTetangga+temp(i,2)+temp(i+1,1)+temp(i+1,2); if (jTetangga==0) temp2(i,1)=0; jubah=jubah+1; end end % removal pojok kanan atas if (temp(i,lebar)==1) jTetangga=0; jTetangga=jTetangga+temp(i,lebar-1)+temp(i+1,lebar)+temp(i+1,lebar-1); if (jTetangga==0) jubah=jubah+1; temp2(i,lebar)=0; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
end % removal pojok kiri bawah jTetangga=0; i=tinggi; if (temp(i,1)==1) jTetangga=jTetangga+temp(i,2)+temp(i-1,1)+temp(i-1,2); if (jTetangga==0) jubah=jubah+1; temp2(i,1)=0; end end % removal pojok kanan bawah if (temp(i,lebar)==1) jTetangga=0; jTetangga=jTetangga+temp(i,lebar-1)+temp(i-1,lebar)+temp(i-1,lebar-1); if (jTetangga==0) jubah=jubah+1; temp2(i,lebar)=0; end end % removal kolom paling kiri dan kanan for i=2:tinggi-1 if (temp(i,1)==1) jTetangga=0; jTetangga=jTetangga+temp(i-1,1)+temp(i,2)+temp(i+1,1)+temp(i-1,2)+temp(i+1,2); if (jTetangga==0) jubah=jubah+1; temp2(i,1)=0; end end if (temp(i,lebar)==1) jTetangga=0; jTetangga=jTetangga+temp(i-1,lebar)+temp(i,lebar-1)+temp(i+1,lebar)+temp(i-1,lebar-1)+temp(i+1,lebar-1); if (jTetangga==0) jubah=jubah+1; temp2(i,lebar)=0; end end end %removal baris paling atas dan bawah for i=2:lebar-1 if (temp(1,i)==1) jTetangga=0; jTetangga=jTetangga+temp(1,i-1)+temp(2,i)+temp(1,i+1)+temp(2,i-1)+temp(2,i+1); if (jTetangga==0) jubah=jubah+1; temp2(1,i)=0; end end if (temp(tinggi,i)==1) jTetangga=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
jTetangga=jTetangga+temp(tinggi,i-1)+temp(tinggi-1,i)+temp(tinggi,i+1)+temp(tinggi-1,i-1)+temp(tinggi-1,i+1); if (jTetangga==0) jubah=jubah+1; temp2(tinggi,i)=0; end end end % removal selain di border line %removal obyek terasing for i=2:tinggi-1 for j=2:lebar-1 if (temp(i,j)==1) jTetangga=0; jTetangga=jTetangga+temp(i-1,j)+temp(i,j+1)+temp(i+1,j)+temp(i,j-1)+... temp(i-1,j-1)+temp(i-1,j+1)+temp(i+1,j+1)+temp(i+1,j-1); if (jTetangga==0) jubah=jubah+1; temp2(i,j)=0; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i-1,j+1)+temp(i,j-1)+temp(i,j+1); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i+1,j-1)+temp(i+1,j)+temp(i+1,j+1); if ((jTetanggaA==0) & (jTetanggaB==3)) jubah=jubah+1; temp2(i,j)=0; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i-1,j+1); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i+1,j-1)+temp(i+1,j)+temp(i+1,j+1)+temp(i,j-1)+temp(i,j+1); if ((jTetanggaA==3) & (jTetanggaB==0)) jubah=jubah+1; temp2(i,j)=0; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j-1)+temp(i-1,j)+temp(i,j-1)+temp(i+1,j-1)+temp(i+1,j); jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i-1,j+1)+temp(i,j+1)+temp(i+1,j+1); if ((jTetanggaA==0) & (jTetanggaB==3)) jubah=jubah+1; temp2(i,j)=0; end jTetanggaA=0; jTetanggaA=jTetanggaA+temp(i-1,j)+temp(i-1,j+1)+temp(i,j+1)+temp(i+1,j)+temp(i+1,j+1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
jTetanggaB=0; jTetanggaB=jTetanggaB+temp(i-1,j-1)+temp(i,j-1)+temp(i+1,j-1); if ((jTetanggaA==0) & (jTetanggaB==3)) jubah=jubah+1; temp2(i,j)=0; end end end end temp=temp2; end isi=logical(uint8(temp)); savefile = 'isi.mat'; save(savefile,'isi'); cd(program); info_n1={'Citra Dokumen Awal:'}; info_n2={'Citra Dokumen Hasil Proses Filling: '}; Judul_n2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.91 .86 0.09 .04],... 'string',' ','fontsize',[14],'fontname','verdana'); tampil(f,info_n1,info_n2, putar, isi);
11. Implementasi Modul Thinning
function skeleton(f) load nois; tinggi=size(nois,1); lebar=size(nois,2); temp=BW; temp2=temp; latar=1; obyek=0; N=1; while (N>0) N=0; for i=3:tinggi-1, for j=2:lebar-2, if (temp(i,j)==obyek) B=0; if (temp(i-1,j)==obyek) B=B+1; end; if (temp(i-1,j+1)==obyek) B=B+1; end; if (temp(i,j+1)==obyek) B=B+1; end; if (temp(i+1,j+1)==obyek) B=B+1; end; if (temp(i+1,j)==obyek) B=B+1; end; if (temp(i+1,j-1)==obyek) B=B+1; end; if (temp(i,j-1)==obyek) B=B+1; end; if (temp(i-1,j-1)==obyek) B=B+1; end; A1=0; if ((temp(i-1,j)==latar) & (temp(i-1,j+1)==obyek)) A1=A1+1; end; if ((temp(i-1,j+1)==latar) & (temp(i,j+1)==obyek)) A1=A1+1; end; if ((temp(i,j+1)==latar) & (temp(i+1,j+1)==obyek)) A1=A1+1; end;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
if ((temp(i+1,j+1)==latar) & (temp(i+1,j)==obyek)) A1=A1+1; end; if ((temp(i+1,j)==latar) & (temp(i+1,j-1)==obyek)) A1=A1+1; end; if ((temp(i+1,j-1)==latar) & (temp(i,j-1)==obyek)) A1=A1+1; end; if ((temp(i,j-1)==latar) & (temp(i-1,j-1)==obyek)) A1=A1+1; end; if ((temp(i-1,j-1)==latar) & (temp(i-1,j)==obyek)) A1=A1+1; end; A2=0; if ((temp(i-2,j)==latar) & (temp(i-2,j+1)==obyek)) A2=A2+1; end; if ((temp(i-2,j+1)==latar) & (temp(i-1,j+1)==obyek)) A2=A2+1; end; if ((temp(i-1,j+1)==latar) & (temp(i,j+1)==obyek)) A2=A2+1; end; if ((temp(i,j+1)==latar) & (temp(i,j)==obyek)) A2=A2+1; end; if ((temp(i,j)==latar) & (temp(i,j-1)==obyek)) A2=A2+1; end; if ((temp(i,j-1)==latar) & (temp(i-1,j-1)==obyek)) A2=A2+1; end; if ((temp(i-1,j-1)==latar) & (temp(i-2,j-1)==obyek)) A2=A2+1; end; if ((temp(i-2,j-1)==latar) & (temp(i-2,j)==obyek)) A2=A2+1; end; A4=0; if ((temp(i-1,j+1)==latar) & (temp(i-1,j+2)==obyek)) A4=A4+1; end; if ((temp(i-1,j+2)==latar) & (temp(i,j+2)==obyek)) A4=A4+1; end; if ((temp(i,j+2)==latar) & (temp(i+1,j+2)==obyek)) A4=A4+1; end; if ((temp(i+1,j+2)==latar) & (temp(i+1,j+1)==obyek)) A4=A4+1; end; if ((temp(i+1,j+1)==latar) & (temp(i+1,j)==obyek)) A4=A4+1; end; if ((temp(i+1,j)==latar) & (temp(i,j)==obyek)) A4=A4+1; end; if ((temp(i,j)==latar) & (temp(i-1,j)==obyek)) A4=A4+1; end; if ((temp(i-1,j)==latar) & (temp(i-1,j+1)==obyek)) A4=A4+1; end; if ((B>=2)&(B<=6)) & (A1==1) & ... (((temp(i-1,j)==latar) | (temp(i,j+1)==latar) ... | (temp(i,j-1)==latar))| (A2~=1)) & ... (((temp(i-1,j)==latar)| (temp(i,j+1)==latar) ... | (temp(i+1,j)==latar)) | (A4~=1)) temp2(i,j) = latar; N=N+1; end end end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
end temp=temp2; end thin=logical(uint8(temp2)); savefile = 'thin.mat'; save(savefile,'thin');
12. Implementasi SubModul ProyeksiHorisontal % Proyeksi horisontal load thin; data=thin; tinggi=size(data,1); lebar=size(data,2); hisbrs=zeros(tinggi,1); for i=1:tinggi for j=1:lebar if (data(i,j)==0) hisbrs(i)=hisbrs(i)+1; end end end savefile = 'hisbrs.mat'; save(savefile,'hisbrs');
13. Implementasi SubModul PotongBaris %buang baris atas dan bawah yang kosong load hisbrs; data=hisbrs; ulang=size(data,1); baris=size(thin,1); i=1; %buang baris kosong di atas while ((data(i)>150) | (data(i)<=7)) & (i<ulang) i=i+1; end %buang baris kosong di bawah j=ulang; while ((data(j)>150) | (data(j)<7)) & (j>1) j=j-1; end thin2=thin(i:j,:); savefile = 'thin2.mat'; save(savefile,'thin2');
14. Implementasi SubModul Proyeksi Vertikal % Proyeksi vertikal untuk seluruh gambar load thin2; data=thin2; tinggi=size(data,1); lebar=size(data,2); hisklm=zeros(lebar,1); for i=1:lebar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
for j=1:tinggi if (data(j,i)==0) hisklm(i)=hisklm(i)+1; end end end savefile = 'hisklm.mat'; save(savefile,'hisklm');
15. Implementasi SubModul CariIndekKolom %buang kolom kiri dan kolom kanan load hisklm; data=hisklm; ulang=size(data,1); kolom=size(thin2,2); i=1; %buang kolom kosong di kiri while ((data(i)>150) | (data(i)<=4)) & (i<ulang) i=i+1; end %buang kolom kosong di kanan j=ulang; while ((data(j)>150) | (data(j)<4)) & (j>1) j=j-1; end thin3=thin2(:,i:j); savefile = 'thin3.mat'; save(savefile,'thin3'); % Proyeksi horisontal load thin3; data=thin3; tinggi=size(data,1); lebar=size(data,2); histhin3=zeros(tinggi,1); for i=1:tinggi for j=1:lebar if (data(i,j)==0) histhin3(i)=histhin3(i)+1; end end end savefile = 'histhin3.mat'; save(savefile,'histhin3');
16. Implementasi SubModul PotongKarakter
function Potbrs_0(f) info_s1={'Citra Dokumen Awal:'}; info_s2={'Citra-Citra Baris (tekan Enter untuk melanjutkan):'}; Judul_b1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .82 1 .03],... 'string',info_s1,'fontsize',[12],'fontname','verdana');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
Judul_b2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .39 1 .04],... 'string',info_s2,'fontsize',[12],'fontname','verdana'); load histhin3; load thin3; subplot('position',[0 0.42 1 0.4]); imshow(thin3); load indek; data=indek; ulang=size(indek,1); i=1; baris{1}=0; while (i<=ulang) baris{i}=thin3(indek(i,1):indek(i,2),:); i=i+1; end savefile = 'indek.mat'; save(savefile,'indek'); savefile = 'baris.mat'; save(savefile,'baris');
function histobrs1(f) info_h1={'Citra Dokumen Awal:'}; info_h2={'Citra-Citra Karakter (tekan Enter untuk melanjutkan):'}; Judul_h1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .82 1 .03],... 'string',info_h1,'fontsize',[12],'fontname','verdana'); Judul_h2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .39 1 .04],... 'string',info_h2,'fontsize',[12],'fontname','verdana'); load thin3; subplot('position',[0 0.42 1 0.4]); imshow(thin3); load baris; barisnya=baris; dokumen{1,1}=0; lagi=size(barisnya,2); z=1; while (z<=lagi) % Proyeksi vertikal untuk seluruh gambar data1=barisnya{z}; tinggi=size(data1,1); lebar=size(data1,2); hisklmbrs1=zeros(lebar,1); for i=1:lebar for j=1:tinggi if (data1(j,i)==0) hisklmbrs1(i)=hisklmbrs1(i)+1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
end end %ambil karakter data=hisklmbrs1; ulang=size(data,1); indekbrs1=zeros(1,2); j=0; i=1; k=0; while (i<ulang) if (data(i)>0) j=j+1; indekbrs1(j,1)=i; i=i+1; while (data(i)>0) & (i<ulang) i=i+1; end if (i>(ulang+1)) indekbrs1(j,2)=ulang; else indekbrs1(j,2)=i-1; end %subplot('position',[0 0.0 1 0.39]); %imshow(data1(:,indekbrs1(j,1):indekbrs1(j,2))); k=k+1; dokumen{z,k}=data1(:,indekbrs1(j,1):indekbrs1(j,2)); %pause; else i=i+1; end end z=z+1; end savefile = 'dokumen.mat'; save(savefile,'dokumen');
17. Implementasi Modul Pengenalan Karakter
function teks(f) info_t1={'Hasil Pengenalan Karakter:'}; Judul_t1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .82 1 .03],... 'string',info_t1,'fontsize',[12],'fontname','verdana'); load dokumen; load ciri; data=dokumen; ulang=size(data,1); dokteks{1,1}=0; i=1; latin=0; while (i<=ulang) br = data(i,:); lagi = size(br,2); j=1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
s=''; while (j<=lagi) kar = br{j}; if (~isempty(kar)==1) fit = ekstrakciri(kar); temu = cari(fit,ciri); s1=''; if (temu<=1) info_t2={'Terdapat Karakter Jawa Baru:'}; Judul_t2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .25 1 .05],... 'string',info_t2,'fontsize',[12],'fontname','verdana'); subplot('position',[0 0.04 1 0.2]); imshow(kar); ket = input('Masukkan nama latinnya: '); lanj = size(ciri,1); lanj = lanj+1; ciri(lanj,1)={ket}; ciri(lanj,2)={fit}; ciri(lanj,3)={kar}; s=strcat(s,ket); latin=latin+1; else s1=ciri{temu,1}; if (ischar(s1)==0) s1=char(s1); end s=strcat(s,s1); latin=latin+1; end end j=j+1; end dokteks{i,1}=s; i=i+1; end savefile = 'dokteks.mat'; save(savefile,'dokteks'); savefile = 'ciri.mat'; save(savefile,'ciri'); Judul_t2=uicontrol(f,'style','text','units','norm','back',[.15 .35 .89],'pos',[.0 .0 1 .8],... 'string',dokteks,'fontsize',[12],'fontname','verdana'); savefile = 'latin.mat'; save(savefile,'latin');
18. Implementasi Modul Pembentukan Kata
function kata(f) info_k1={'Hasil Pengenalan Karakter:'}; Judul_k1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .82 1 .03],...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
'string',info_k1,'fontsize',[12],'fontname','verdana'); info_k2={'Hasil Pembentukan kata:'}; Judul_k2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .39 1 .04],... 'string',info_k2,'fontsize',[15],'fontname','verdana'); load dokteks; data = dokteks; Judul_k3=uicontrol(f,'style','text','units','norm','back',[.15 .35 .89],'pos',[.0 .43 1 .37],... 'string',data,'fontsize',[12],'fontname','verdana'); ulang=size(data,1); dokKata{1,1}=0; i=1; while (i<=ulang) kt = data(i); kt = char(kt); kt=strrep(kt,'adeg-adeg',''); kt=strrep(kt,'PadaLingsa',','); kt=strrep(kt,'PadaLungsi','.'); kt=strrep(kt,'PadaMadya',''); kt=strrep(kt,'taling ka tarung',' ko'); kt=strrep(kt,'taling mang tarung',' mong'); kt=strrep(kt,'taling mar tarung',' mor'); kt=strrep(kt,'taling ta tarung',' to'); kt=strrep(kt,'taling nang tarung',' nong'); kt=strrep(kt,'taling ba tarung',' bo'); kt=strrep(kt,'taling ya tarung',' yo'); kt=strrep(kt,'taling na ha tarung',' n o'); kt=strrep(kt,'ga1 ga2',' ga'); kt=strrep(kt,'ga1',' ga'); kt=strrep(kt,'ga2',' ga'); kt=strrep(kt,'la1 la2',' la'); kt=strrep(kt,'la1',' la'); kt=strrep(kt,'la2',' la'); kt=strrep(kt,'ma1 ma2',' ma'); kt=strrep(kt,'ma1',' ma'); kt=strrep(kt,'ma2',' ma'); kt=strrep(kt,'ya1',' ya'); kt=strrep(kt,'taling p pe',' p pe'); kt=strrep(kt,'taling ya',' ye'); kt=strrep(kt,'taling pa',' pe'); kt=strrep(kt,'taling da',' de'); kt=strrep(kt,'taling ha',' e'); kt=strrep(kt,'taling dan',' den'); kt=strrep(kt,'taling sa',' se'); kt=strrep(kt,'taling jang',' jeng'); kt=strrep(kt,'taling kka',' kke'); kt=strrep(kt,' t ka','t ka'); kt=strrep(kt,' t ku','t ku'); kt=strrep(kt,' t ca','t ca'); kt=strrep(kt,' t ti','t ti'); kt=strrep(kt,' t ta','t ta');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
kt=strrep(kt,' m bang','mbang'); kt=strrep(kt,' l ya','l ya'); kt=strrep(kt,' nga la','ngla'); kt=strrep(kt,' p ta','p ta'); kt=strrep(kt,' m bar','mbar'); kt=strrep(kt,' n ding','nding'); kt=strrep(kt,' n na','n na'); kt=strrep(kt,' g ge','gge'); kt=strrep(kt,' n de','nde'); kt=strrep(kt,' n di','ndi'); kt=strrep(kt,' n be','nbe'); kt=strrep(kt,' n mu','nmu'); kt=strrep(kt,' n ku','n ku'); kt=strrep(kt,' s ti','sti'); kt=strrep(kt,' s ta','s ta'); kt=strrep(kt,' s thi','sthi'); kt=strrep(kt,' s wa','s wa'); kt=strrep(kt,' l nga','lnga'); kt=strrep(kt,' l ya','lya'); kt=strrep(kt,' p ta','pta'); kt=strrep(kt,' ha','a '); kt=strrep(kt,' he','e '); kt=strrep(kt,' hi','i '); kt=strrep(kt,' ho','o '); kt=strrep(kt,' err',''); dokKata{i,1}=kt; i=i+1; end savefile = 'dokKata.mat'; save(savefile,'dokKata'); Judul_t2=uicontrol(f,'style','text','units','norm','back',[.15 .35 .69],'pos',[.0 .0 1 .38],... 'string',dokKata,'fontsize',[13],'fontname','verdana');
19. Implementasi Modul TampilData
function tampil(f,info_b1,info_b2, gb1, gb2); Judul_b1=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.0 .86 0.5 .04],... 'string',info_b1,'fontsize',[14],'fontname','verdana'); Judul_b2=uicontrol(f,'style','text','units','norm','back',[.15 .75 .89],'pos',[.51 .86 .40 .04],... 'string',info_b2,'fontsize',[14],'fontname','verdana'); subplot('position',[0 0.0 0.5 0.86]); imshow(gb1); subplot('position',[0.5 0.0 0.5 0.86]); imshow(gb2);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
Lampiran 3. Data Dokumen Panji Sekar
Citra Dokumen Panji Sekar Halaman 3:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
123
Tabel Hasil Pengenalan Citra Dokumen Panji Sekar Halaman 3: Baris Karakter Dikenali 1 1 : : adeg-adeg sang pra bu ing ke dhi ri ka dha teng nga na u err err err err
err err err 2 tu sa s na sa king ma ka sar PadaLingsa err 3 PadaMadya pandhang ku la err PadaMadya sa mur ma ning ri re sa pa ing ma
nis ka dhing wi 4 tu tarung err pa pa ing wu da pa2 na ha wah err err ji err ma sa la sang ka la
taling da taling ka1 err PadaLingsa ingndri 5 err na tarung ga2 hi gu PadaLingsa kang si ne wa la ma pa PadaLingsa ing
ring git ge ga2 pa :g kang ka ha 6 errnnan su ni jeng gi nu tun ka dhing sa tu gu ra kar ta err err err kang ya ya 7 tarung ing mangkya dhi na ngun ma tarung li PadaLingsa err si nung se kar
sa wa sat err PadaMadya mrih ngu 8 err ti ta ta kang ti ni ti PadaLingsa nadyan bu da kar ya tu tu la ddan ing kang 9 noise taling ya adeg-adeg gi la ma pa PadaLingsa taling ha PadaLingsa na ta
na ing kar wi nu pus na li kannya 10 li err ta na err ja wi PadaLingsa ri kang sa tur na taling ra errndra PadaLingsa
jeng err la la pa nga yun dhing 11 err li PadaLingsa na ga ri da ha PadaLingsa kang ka ping tri ngu ra sa na ing
kang me ha sa si err na 12 na ri Si nga se ka PadaLingsa PadaMadya sa yu ha ji kang hu ma err ne ga ha
ji PadaLingsa err err samya 13 err dang ru gunta na su la ya err nung gi noise err ri ba pa taling na
PadaLingsa ma ma ka 14 err ha tarung ja ta ha gung PadaLingsa ka lu gu ranning na err PadaLingsa pa
ti err na ka ring nga na pa rang err mu 15 err PadaLingsa pa ma ra yu ma tu err samya pra dhi taling rang nga yu da err
PadaLingsa sa meng ku taling na 16 mring sadya bi napti tapti err si ta su mung gu ning padya PadaLingsa
PadaMadya kang pu ni 17 err sa ma pun ma ra ninni err mangkya we dhar su gi PadaLingsa wu tra err
gang pa err me sa PadaLingsa hi ka 18 err hur ra taling errnna PadaLingsa ya ta ing kang wi ngu pus kang ngu ngu
nung la ma pa PadaLingsa ing ring 19 errt nar pa ti ing jeng Ga da adeg-adeg errnnam Bu ya mi lu hu PadaLingsa
err na li ka ha taling ba 20 err err ti te dhakka na pa king bu bu wapca wa pan we dalla na ka1 ing pa
nge dha wa pan taling ja err adeg-adeg 21 taling wa par err tir err taling ra kar da err tarung tarung tarung adeg-adeg err
err
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
124
Citra Dokumen Panji Sekar Halaman 4:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
125
Hasil Pengenalan Citra Dokumen Panji Sekar Halaman 4: Baris Karakter Dikenali 1 4 err err err 2 taling ta sanna n la sanna gri na ra na ha ing Ke mi ri PadaLingsa srinnam
Bu ha mi ja 3 ha PadaLingsa PadaMadya pu tra jeng la la ka1 err ma sang sanyji
PadaLingsa pu tri Ke dhi ri taling sa tarungndra 4 Ki ra na PadaLingsa su ni ka dhi na u sa pa taling ka PadaLingsa sa ma pu
na hanta wis da ngu PadaLingsa ka 5 par gi PadaLingsa nya pu tra la ka1 err pu tri PadaLingsa ra err ja pu tra
jeng la la PadaLingsa sa mang kya sa ma 6 ngun ku tha sandhak ka sa tri yan ba banyji ngan la na pu ra pra bu Ke 7 mi ri err cu ku sa sa pa err errdya ha la PadaLingsa PadaMadya ka dang ka
taling err da ya na samya 8 tu mi ring PadaLingsa ta gu gu su mung taling gang na gri da n ga1 err
PadaLingsa Bra ja na ta sa ngi ri taling dda tarung err 9 ngu mar sa sri ka ngu lu PadaLingsa gu ku wung taling nga na gri Ke mi ri
err kang taling ganna na pa 10 ra pu tra err we wa PadaLingsa har ja ni pun PadaLingsa mang ka na ing
kang wi nar na PadaLingsa ngu pi mi 11 ga1 ya err sa si taling na ba na ga2 tang Ke dhi ri PadaLingsa mung taling
gang ing si ti bentar PadaLingsa PadaMadya 12 we sa ka sa gung pung ga pa tang nang ti ya1l err taling ka ri ga1 dda ning
err sa ti PadaLingsa ja ya Ba dra err 13 tu wi na pa ra su tra ha talingndha err mung taling gang nang sa sang pra bu
PadaLingsa pang nga Panyji sa 14 ma pu na ha nang bil la na har ma Bra ja na ma err err har ya pu Kir santu n 15 wi ru na handa Ga Kar ta la PadaLingsa err err kang pa ra ri su we nu :
mung taling gang ing pu ri PadaLingsa bu 16 sa na sri ta wur yan PadaLingsa PadaMadya dhi taling ya err sa si ra na sa ti
Ke dhi ri : err ha 17 mang gi PadaLingsa hi du ta ning na taling randra PadaLingsa sa king ma
Ka sang wi ji talingl la PadaLingsa sa sa bi PadaLingsa 18 kang ing ngu tus err sa sa ra bya sri na ra sa ti PadaLingsa pra bu Bra ma ku
ma ra PadaLingsa err err err err 19 ma ka sar dilya nung PadaLingsa ma ga2 su pra pra wi taling err rang err
ing prang err dhi tarung li PadaLingsa tandhing ing sa err err err err 20 brang tang la la nar ngi PadaLingsa da ka ring nga na ing nga taling ma
errnyca PadaLungsi PadaMdya ing kang da err err err err err 21 dya ngu ta kya na pa ti PadaLingsa PadaLingsa ta sa sa ra ba Sang Gu na sa
taling ra tarungnta err munyja 22 l li ka pra dhi ra talingnna err nga gu na ka sab lembat prapta ni ra pa kya na
err err 23 sa ti PadaLingsa PadaLingsa sa ma pu na ha ngi ri ddadya err nende ga1m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
126
da err lung taling ma wu PadaLingsa ti ti err err Analisis Hasil Output Pada Dokumen Panji Sekar:
No Halaman 3 Halaman 4 Baris Jumlah Karakter Jumlah Karakter
citra dikenali benar salah citra dikenali benar salah 1 17 23 15 2 1 4 1 0 2 10 11 10 0 24 24 19 5 3 21 22 14 7 23 23 18 5 4 25 30 18 7 26 26 24 2 5 25 26 16 9 24 26 18 6 6 22 24 12 10 22 25 21 1 7 24 25 15 9 22 22 17 5 8 22 22 20 2 26 28 18 8 9 25 25 19 6 25 26 18 7
10 24 27 21 3 26 26 22 4 11 25 25 20 5 25 25 22 3 12 22 25 17 5 26 28 17 9 13 22 23 18 4 25 26 19 6 14 26 28 21 5 23 25 18 5 15 24 25 15 9 26 27 24 2 16 22 22 15 7 24 25 18 6 17 26 27 18 8 26 26 19 5 18 24 25 18 6 23 28 20 3 19 23 24 17 6 24 31 18 6 20 32 32 20 12 23 28 19 4 21 16 18 6 10 25 25 19 6 22 - - - - 23 25 21 2 23 - - - - 26 28 19 7
Total 450 475 320 130 538 577 429 107
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI