xiii
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.
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.
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
iii
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
iv
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
v
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
vi
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
vii
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 ………..
viii
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.1Antar Muka Pemakai Sistem Pembuat Database ….
4.1.2 Antar Muka Pemakai Sistem Pengenal Citra
Dokumen ………..
4.2 Implementasi ………..
ix
BAB 5 HASIL DAN PEMBAHASAN ………
5.1Data Masukan ………...
5.2Eksekusi Modul-Modul ……….
5.3Analisis 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 ………..……... 72
72
72
83
92
92
93
94
96
98
x
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
xi
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 ...
xii
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 ...
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
xiii
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,
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.
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.
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
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
1.7 Metodologi Penelitian
Penelitian ini dilakukan dengan mempergunakan tahapan proses analisis citra dokumen yang skemanya dapat digambarkan sebagai berikut:
Data
Capture Binarisasi Filling Dokumen
Menak Sorangan
Thinning Segmentasi Pengenalan Karakter Pembentukan
Kata Deretan Kata
Dalam 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
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
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.
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.
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
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
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).
Pengenalan Karakter
Analisis Layout Halaman
Pengolahan Garis
Pengolahan Simbol dan
Wilayah Gambar
Pengolahan Teks Pengolahan Gambar
Pengolahan Dokumen
Teks Kecondongan,
baris, alinea, paragraf
Garis lurus, sudut, kurva
Daerah Gambar
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,
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
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
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
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).
dengan
q p
m n q
p, =
∑∑
(m−m) (n−n)µ (2.3)
merupakan momen pusat ordo (p,q), dengan m, n merupakan titik pusat momen
yang didefinisikan sebagai berikut:
∑∑
=m n
m N
m 1 , =
∑∑
m n
n N
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.
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):
⎭
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
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.
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.5Pengurangan 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
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
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
2.6Perangkaan
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
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
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
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.7Segmentasi
Segmentasi adalah proses pemecahan citra ke dalam obyek-obyek yang
terkandung di dalamnya. Dalam analisis citra dokumen, segmentasi ini dibagi
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
, = −
= i L
n n
hi i (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
proyeksi vertikal (Pv) dari citra S adalah banyaknya piksel hitam yang tegak lurus
Sedangkan profil proyeksi horisontal (Ph) dari citra S adalah banyaknya piksel hitam
yang tegak lurus sumbu x, yaitu:
Gambar 2.12 Profil proyeksi horisontal dan vertical
2.8Pengenalan 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
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
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 6
1 6 4
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:
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
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
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
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.
Gambar 3.2. berikut ini menunjukkan struktur hubungan antara bagian pembuat basis data dan bagian pengenal citra dokumen.
Citra Karakter Pembuat
Basis Data
Nama Latin dan Ciri setiap
Karakter
Pengenal
Citra Dokumen
Hasil Pengenalan, Citra Karakter Baru Citra 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:
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)
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.
Developer PembuatSistem
Basis Data citra karakter, nama latin
citra 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.
1
citra karakter citra karakter
citra karakter ciri karakter
citra karakter ciri karakter
ciri karakter nama 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
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
Sistem Pengenalan
Citra Dokumen
(SPCD) citra dokumen
teks dokumen
File Pustaka Karakter Jawa ciri karakter Jawa,
Nama Latin
Developer
citra
kara
kter
Gambar 3.6 DAD Level 0 Sistem Pengenalan Citra Dokumen
SPCD ini. Sedangkan masukan untuk sistem diperoleh dari user maupun dari Sistem Pembuat Basis Data.
User
citra-citra karakter citra-citra karakter
citra-citr
ciri karakter jawa, nama latin File
Nama-nama latin
nama-nam a latin nama-nama latin
File Teks deretan k
ata
citra-citra baris File citra-citra baris ciri karakter jawa, nama latin, citra karakter
Developer
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.
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.1 Cari Ambang
citra dokumen ambang 1.2
Ubah Biner
citra biner File
citra biner User
citra dokumen
Gambar 3.8 DAD Level 2 Proses Binarisasi
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.1 Cari Teta
citra biner teta 2.2
Putar Citra
citra biner
citra terotasi File citra 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-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.1 Erosi
citra terotasi citra ubah1 3.2 Dilatasi
citra filling File citra filling
5.1 Proyeksi
vertikal
citra kerangka dokumen histogram vertikal 5.2 Cari indek
Gambar 3.11 DAD Level 2 Proses Segmentasi
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.1
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
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.