34
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:
ciri = cell1,3;
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.
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.
Developer Sistem
Pembuat 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 Olah Data
2 cari nama
cit ra
ka ra
kte r,
na m
a lat
in
nama latin
cit ra
ka ra
kte r,
na ma
la tin
,
cir i k
ar ak
ter File Pustaka
Karakter Jawa citra
kara kter,
nama latin
, ciri k
arak ter
cit ra
ka ra
kte r,
na ma
la tin
,
cir i k
ar ak
ter citra
kara kter,
nam a latin
, ciri k
arakt er
Developer
Gambar 3.4 DAD Level 1 Sistem Pembuat Basis Data
37
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
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
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 Sistem
Pengenalan Citra
Dokumen SPCD
citra dokumen teks dokumen
File Pustaka Karakter Jawa
ciri karakter Jawa, Nama Latin
Developer
cit ra
ka ra
kte r
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
39
SPCD ini. Sedangkan masukan untuk sistem diperoleh dari user maupun dari Sistem Pembuat Basis Data.
User citra
bin er
3 Filling
4 Thinning
5 Segmen
6 Pengenalan
Karakter 7
Pembentukan Kata
File citra biner
citra terotasi citra
tero tas
i File
citra filling citra filling
citra filling
File citra kerangka dokumen
citra kerangka dokumen citra
keran gka d
okum en
File citra-citra karakter
citra-citra karakter citra
-citr a ka
rakt er
8 Tampil
Data
File Pustaka Karakter Jawa
ciri karakter jawa, nama latin File
Nama-nama latin nama
-nam a latin
nama-nama latin File Teks
deretan k ata
dere tan k
ata
CI tr
a Do
ku m
en citra biner
2 Normalisasi
Orientasi
1 Binarisasi
File citra terotasi
tasi citra-citra baris
File citra-citra baris
ciri karakter jawa, nama latin, citra karakter
Developer
Te k
s Dok
u m
e n
citra k arakte
r baru
Gambar 3.7 DAD Level 1 Sistem Pengenalan Citra Dokumen
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.
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.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
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
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.1 Cari Teta
citra biner teta
2.2 Putar
Citra citra b
iner 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 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
Gambar 3.10 DAD Level 2 Proses Filling
43
5.1 Proyeksi
vertikal citra kerangka dokumen
histogram vertikal 5.2
Cari indek baris
citra kerangka dokumen indek baris
File indek baris
ind ek
bar is
5.3 Potong
baris citra
-citr a b
aris File
citra-citra baris 5.4
Proyeksi horisontal
citra-citra baris
5.5 Cari indek
kolom citra-citra baris
indek kolom File
indek kolom ind
ek ko
lom 5.6
Potong karakter
cit ra
-c itra
b ari
s
citra-citra karakter File
citra-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.1 Ekstraksi
ciri citra-citra karakter
6.2 Cari
karakter ciri-ciri karakter
na m
a- na
m a
la tin
File nama-nama latin
cir i k
ar ak
te r j
aw a,
nam a
lati n
citra -citra
kar akte
r
File Pustaka Karakter Jawa
citr a k
ara kte
r b aru
Developer
Gambar 3.12 DAD Level 2 Proses Pengenalan Karakter
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
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 Konversi Citra ke Teks
pengenalan karakter
segmentasi binarisasi
thinning tampil data
pembentukan kata
normalisasi 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: