Anda di halaman 1dari 11

PENGENALAN KARAKTER DENGAN SEGMENTASI CITRA DAN

ALGORITMA LEARNING VECTOR QUANTIZATION


Ronny1, Syaiful Rahman2, Abdul Munir3

Teknik Informatika, STMIK Kharisma


ronnynginsi@yahoo.com,2syaifulr2902@gmail.com,3moonair79@yahoo.com

Abstrak
Penelitian ini bermaksud untuk merancang suatu aplikasi pengenalan karakter yang mampu
mengenali karakter yang terdapat dalam suatu file citra menggunakan proses segmentasi dan
algoritma Learning Vector Quantization (LVQ). Penelitian ini bertujuan untuk mempermudah
pengeditan tulisan dari suatu media cetak. Teknik pengumpulan data yang dilakukan penulis
adalah kepustakaan yakni dengan menelusuri buku-buku dan bahan kuliah yang berhubungan
dengan penelitian yang dilakukan, melakukan observasi yakni dengan mengamati prosedur
yang berhubungan dengan penelitian yang dilakukan untuk mengumpulkan informasi pada
pengembangan sistem. Perancangan aplikasi ini terdiri dari 3 kegiatan utama yaitu segmentasi
citra, pelatihan karakter, dan pengenalan karakter. Pada segmentasi citra, file citra yang dipilih
akan disegmentasi melalui proses pengambangan (thresholding), dan proses pemisahan
gambar karakter dari latar dengan algoritma 8-connected. Pada pelatihan karakter, pola
karakter hasil segmentasi gambar disimpan ke dalam database. Pada pengenalan karakter,
dilakukan proses pengenalan karakter pada pola karakter hasil segmentasi gambar dengan
menggunakan algoritma LVQ, dimana bobot-bobot data yang digunakan pada perhitungan
LVQ diperoleh dari data bobot inisialisasi awal yang telah disiapkan dalam program dan data
pelatihan yang diperoleh dari penginputan data pelatihan karakter.
Kata Kunci : karakter, segmentasi, algoritma learning vector quantization.

1. Pendahuluan
Untuk memperoleh informasi dalam bentuk tulisan yang sebaik mungkin, salah satu
cara yang diperlukan yaitu dengan mengumpulkan sumber referensi yang sebanyak mungkin.
Sumber referensi ini biasanya berupa tulisan artikel atau buku. Namun dari banyak buku
tersebut, tidak menutup kemungkinan terdapat banyak informasi yang sama dan hanya
sebagian informasi yang berbeda yang dapat saling melengkapi. Tentu saja pengeditan tulisan
dari beberapa buku akan memakan waktu yang relatif lama dan tenaga yang tidak sedikit,
dimana buku-buku tersebut harus ditulis kembali. Sehingga untuk mengefisiensikan
penyimpanan informasi tulisan yang diambil, tulisan dari buku-buku tersebut perlu dipilahpilah yang dengan kata lain perlu diedit untuk dijadikan satu. Hal inilah yang
melatarbelakangi penelitian skripsi pengenalan karakter dengan segmentasi citra dan
algoritma learning vector quantization(LVQ). Dimana penelitian ini bertujuan untuk
mempermudah pembacaan data tulisan dalam bentuk image oleh komputer dan
mempermudah pengeditan tulisan dari sebuah image. Manfaat dari penelitian ini dapat
mengenali tulisan dari sebuah image dan mengubah tulisan dalam bentuk image ke dalam
bentuk teks.

Adapun yang menjadi rumusan masalah dari penelitian ini yaitu bagaimana membuat
aplikasi yang dapat mengenali karakter tulisan di dalam gambar hasil scan halaman buku
dengan menggunakan segmentasi citra dan algoritma LVQ.
Penelitian untuk pembuatan tugas akhir ini dari Bulan Maret 2012 sampai dengan Bulan Juli
2012. Tempat penelitian dilakukan di STMIK Kharisma Makassar yang beralamat di jalan
Baji Ateka nomor 20. Dalam melakukan penelitian ini, penulis melakukan observasi dengan
mengamati dan mempelajari cara kerja proses segmentasi dan algoritma Learning Vector
Quantization, yang diambil baik dari buku teks ataupun sumber-sumber referensi bacaan yang
ada di internet. Selain itu, penulis juga melakukan studi pustaka sebagai bahan tambahan guna
melengkapi kekurangan-kekurangan data yang diperoleh dari observasi. Pengumpulan data
dengan cara mengambil dari sumber-sumber media cetak maupun elektronik yang dapat
dijadikan acuan pembahasan masalah.
Aplikasi ini harus memenuhi kebutuhan sebagai berikut:
1. Aplikasi mampu menerima input berupa karakter tulisan dalam bentuk file citra seperti:
hasil scan buku dengan batas ukuran maksimal gambar adalah 1024 x 768. Bila ukuran
input citra di atas ukuran maksimal maka aplikasi akan menampilkan pesan kesalahan.
2. Aplikasi harus mampu melakukan proses pengambangan (thresholding) dan proses
segmentasi dengan algoritma 8-connected, untuk memisahkan gambar antar karakter.
3. Aplikasi harus mampu melakukan proses ekstraksi ciri terhadap gambar karakter dan
melakukan proses pelatihan (pembelajaran) terhadap pola karakter hasil ekstraksi ciri.
Hasil pelatihan ini disimpan ke database sebagai pengetahuan jaringan syaraf tiruan.
4. Aplikasi harus mampu mengenali kembali karakter yang sudah pernah dilatih sebelumnya.
Output aplikasi adalah semua karakter tulisan yang terdapat di dalam input file citra, dan
dapat disimpan dalam file teks dengan tipe ekstension *.txt
2. Landasan Teori

Rupa Huruf
Rupa huruf atau biasa juga dikenal dengan istilah typeface adalah salah satu elemen
terpenting dalam desain grafis karena huruf merupakan sebuah bentuk yang universal untuk
menghantarkan bentuk visual menjadi sebuah bentuk bahasa.

Pengertian Huruf
Huruf (Tipo/Typeface/Type/Font) adalah bentuk visual yang dibunyikan sebagai
kebutuhan komunikasi verbal.
Citra
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi).
Citra Analog dan Citra Digital
Citra digital merupakan representatif dari citra yang diambil oleh mesin (citra analog)
dengan bentuk pendekatan berdasarkan sampling dan kuantisasi.
Representasi Citra Digital
Agar dapat diolah dengan komputer digital, maka suatu citra harus direpresentasikan
secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilainilai diskrit disebut digitalisasi.
Citra digital yang tingginya N, lebarnya M, dan memiliki L derajat keabuan dapat dianggap
sebagai fungsi:
0< x <M
f (x, y)
0< y <N
0< f <L

Segmentasi Citra
Segmentasi merupakan teknik untuk membagi suatu citra menjadi beberapa daerah
(region) dimana setiap daerah memiliki kemiripan atribut.
Proses Pengambangan
Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang
memiliki dua nilai tingkat keabuan, yaitu hitam dan putih.
Penandaan Komponen Terhubung (Connected Component Labelling)
Pemeriksaan komponen terhubung memeriksa suatu citra dan mengelompokkan setiap
piksel ke dalam suatu komponen terhubung menurut aturan keterhubungan (4, 8 atau mconnectivity).
Ekstraksi Ciri
Proses ekstraksi ciri berfungsi untuk mengubah suatu pola menjadi bit-bit digital
sehingga dapat dimengerti oleh komputer.
Metode Learning Vector Quantization
Metode Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan
pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara
otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan
sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor
input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua
vektor input tersebut ke dalam kelas yang sama.
3. Analisis dan Desain Sistem

Analisis Kondisi Awal


Pengenalan karakter dari gambar meliputi proses pengambangan (thresholding),
proses segmentasi dengan algoritma 8-connected, proses ekstraksi ciri, proses Learning
Vector Quantization (LVQ).
Rancangan Sistem Secara Umum
Perancangan aplikasi pengenalan karakter dengan segmentasi citra dan algoritma LVQ
ini dilakukan dengan menggunakan bahasa pemograman Microsoft Visual Basic 6. Aplikasi
memiliki 8 (delapan) buah form, antara lain:
1. Form Splash Screen
2. Form Utama
3. Form Buka
4. Form Pelatihan
5. Form Pengenalan
6. Form Hasil Konversi
7. Form Database
8. Form About
Aplikasi akan memunculkan Form Splash Screen pada saat awal membuka program
untuk beberapa detik, setelah itu Form Utama akan muncul dimana user dapat mengakses
Form Buka untuk memilih file gambar yang akan disegmentasi menggunakan tombol
Segmentasi . Setelah gambar berhasil disegmentasi, maka user dapat menggunakan tombol
Pelatihan untuk membuka Form Pelatihan guna memasukkan pola gambar hasil segmentasi
dengan memberi nama karakter ke dalam database, atau user dapat menekan tombol
Pengenalan untuk membuka Form Pengenalan yang akan melakukan proses pengenalan
karakter terhadap file gambar yang sudah disegmentasi. Tombol Hasil Konversi akan muncul
seteleh proses pengenalan karakter telah selesai dilakukan, dimana tombol ini akan
memunculkan Form Hasil Konversi yang akan menampilkan hasil dari pengenalan karakter

yang dapat disimpan dalam file format .txt. Tombol Database akan membuka Form
Database yang berisi seluruh pola karakter yang telah tersimpan untuk digunakan dalam
proses pengenalan. Tombol About akan menampilkan Form About yang berisi info
mengenai aplikasi.
Implementasi Sistem
Setelah menganalisis dan mendesain secara terinci rancangan sistem, maka sistem
diimplementasikan. Tahap implementasi sistem merupakan tahap meletakkan sistem supaya
siap untuk dioperasikan. Tahapan implementasi sistem yang dilakukan adalah sebagai berikut:
a. Menjalankan aplikasi pengenalan.exe.
b. Menguji apakah proses-proses yang terdapat dalam aplikasi pengenalan.exe
berfungsi dengan baik.
Implementasi Fisik
Spesifikasi komputer yang digunakan dalam proses pengembanan aplikasi ini adalah
sebagai berikut:
1. Spesifikasi Hardware
a. Processor minimal Pentium 4 dengan clock speed 1,6 GHz.
b. Memory 128 MB.
2. Spesifikasi Software
a. Operating System Microsoft Windows XP.
b. Microsoft Visual Basic 6.
Implementasi Program
Pada tahap implementasi program, secara umum program berhasil melakukan
konversi karakter dari file citra ke dalam file dengan format .txt dengan tingkat akurasi yang
berbeda-beda untuk setiap jenis karakter.
4. Pengujian Sistem

Metode Pengujian
Metode yang digunakan adalah black box testing untuk membantu dalam mengungkap
kesalahan pada sistem perangkat lunak dan sistem dapat berjalan sesuai dengan kebutuhan.

Teknik Pengujian
Teknik pengujian yang dilakukan terdiri dari beberapa langkah, sesuai dengan kriteria
yang menjadi tolak ukur keberhasilan sistem yang dibangun. Pengujian sistem ini didasarkan
pada Software Requirement Specification.
Berikut spesifikasi hardware dan software yang digunakan dalam pengujian :
a. Intel Core 2 Duo Processor T6600 (2,2 GHz, 800 MHz FSB)
b. Kapasitatas HDD 320 GB
c. RAM 2 GB
d. Sistem operasi Windows XP Pro Edition SP2
Teknik Pengujian ini meliputi pengujian program mengenai keberhasilan jalannya
program menggunakan metode black box dan pengujian hasil program mengenai ketepatan
hasil program dengan membandingkan hasil yang didapat pada tabel perbandingan.
1. Pengujian dengan metode Black Box
Pada pengujian ini kemampuan program diuji apakah dapat berjalan sesuai
dengan fungsinya atau tidak.
A. Pengujian untuk menampilkan file citra
Untuk dapat menjalankan program pengenalan karakter diperlukan file
citra/gambar dalam format .bmp atau .jpg yang akan dibuka melalui form buka
dengan menekan tombol buka pada menu utama aplikasi. Form buka akan
menampilkan 5 window yaitu window drive, window direktori, window file yang
dapat dibuka, window nama file, dan window file yang lagi disorot.
User dapat memilih dari drive mana data yang akan dibuka melalui window drive,
dimana folder-folder yang terdapat pada drive tersebut akan ditampilkan pada window
direktori, dan bila salah satu folder pada window direktori disorot maka file yang
dapat dibuka pada folder tersebut akan muncul pada window file yang dapat dibuka.
Ketika menyorot file pada window file yang dapat dibuka, nama file tersebut akan
muncul pada window nama file, dan gambar dari file yang disorot akan ditampilkan
pada window file yang lagi disorot disertai dengan ukuran piksel dari gambar.
Kemudian tekan tombol OK untuk membuka file ke dalam aplikasi pengenalan
karakter.
B. Pengujian untuk melakukan segmentasi citra.
File Citra yang telah dibuka ke dalam aplikasi kemudian disegmentasi sebelum
dapat melakukan pelatihan atau pengenalan karakter. Setelah menekan tombol
Segmentasi maka proses segmentasi akan dimulai dengan melakukan proses
thresholding(pengambangan) pada file citra yang bertujuan untuk memisahkan
gambar karakter dari latar. Setelah proses pengambangan selesai dilanjutkan dengan
proses algoritma 8-connected yang akan menandai piksel-piksel yang berdekatan
sebagai satu kesatuan. Gambar-gambar karakter yang telah ditandai kemudian
dipisahkan sesuai dengan tanda kesatuan, sehingga akan diperoleh pola dari masingmasing gambar . Waktu dari proses segmentasi bergantung pada spesifikasi komputer
yang digunakan dan ukuran dari file citra. Dimana penghitungan waktu segmentasi
dapat dilihat pada sudut kanan bawah aplikasi saat melakukan proses segmentasi.
C. Pengujian untuk menyimpan data pelatihan pengenalan karakter.
Setelah proses segmentasi berhasil dilakukan, maka hasil segmentasi pola
karakter dapat disimpan ke dalam database pada form pelatihan dengan menekan
tombol Pelatihan untuk membuka form pelatihan dan memilih gambar pola karakter
mana yang akan diberi nama dan disimpan.

D. Pengujian untuk menampilkan proses perhitungan bobot LVQ dari karakter yang
dilatih.
Pada form pelatihan juga dapat menampilkan proses perhitungan bobot LVQ
dari karakter yang dilatih dengan menekan tombol Ulangi Proses Pelatihan untuk
Semua Karakter.
E. Pengujian untuk melakukan pengenalan karakter dari file citra yang dibuka.
Pengenalan karakter file citra dapat dilakukan setelah segmentasi berhasil
dilakukan. Tekan tombol Pengenalan untuk membuka form Pengenalan dan
memulai proses pengenalan karakter. Tampilkan detail perhitungan untuk melihat
perhitungan LVQ yang dilakukan untuk proses pengenalan karakter.
F. Pengujian untuk Menyimpan Hasil Pengenalan Karakter ke dalam File dengan Format
.txt.
Setelah proses pengenalan karakter berhasil dilakukan, user dapat melihat hasil
pengenalan karakter dengan menekan tombol Hasil Konversi untuk memunculkan
form hasil konversi yang berisi hasil dari pengenalan karakter. User dapat menyimpan
hasil pengenalan karakter dengan menekan tombol Simpan Hasil Konversi ke File
teks (*.txt).
G. Pengujian untuk Menampilkan Database.
Untuk melihat data pelatihan pengenalan karakter yang sudah tersimpan
sebelumnya, user dapat menekan tombol Database yang akan memunculkan form
Database yang berisi nama dan pola gambar dari masing-masing karakter yang telah
tersimpan.
2. Pengujian Menggunakan Tabel Perbandingan.
Pengujian ini berfungsi untuk melihat kebenaran dari hasil pengenalan karakter
yang dilakukan oleh aplikasi pengenalan karakter ini. Terdapat 10 jenis karakter yaitu
a, c, t, x, m, 9, g, o, h, n yang akan diujikan. 10 jenis karakter tersebut dibagi ke dalam
dua kategori yaitu kategori mudah dikenali(a, c, t, x, m) dan kategori sulit dikenali (9,
g, o, h, n). Pengujian menggunakan 5 jenis font yang berbeda untuk setiap karakter
yaitu arial 24, Bernard MT Condensed 24, Bodoni MT 24, Lucida Calligraphy 24,
OCR A Extended 24. Jumlah data pelatihan yang digunakan untuk masing-masing
karakter adalah 4.
Untuk melakukan proses pengenalan, kesepuluh karakter tadi disegmentasi
terlebih dahulu. Hasil segmentasi gambar karakter ini memiliki rata-rata persentase
kebenaran untuk karakter kategori mudah dikenali yaitu 80 % dan kategori sulit
dikenali 72%.
Kesalahan hasil segmentasi terjadi akibat adanya beberapa gambar karakter
yang memiliki garis terlalu tipis untuk dikenali pada saat proses pengambangan
sehingga garis tersebut dianggap latar dan dihapus. Kesalahan ini menyebabkan
segmentasi pada gambar satu karakter dapat terbelah dua atau lebih yang selanjutnya
pada proses algoritma 8 connected untuk memisahkan tiap-tiap karakter akan
menyebabkan karakter yang terbelah tersebut dianggap sebagai beberapa karakter
yang bukan merupakan satu kesatuan. Selain itu proses pengambangan juga tidak
dapat memisahkan karakter yang saling berdempetan dimana terdapat piksel yang
berhungungan antar karakter yang berdempetan tersebut. Sehingga dalam proses
algoritma 8-connected untuk pemisahan karakter, karakter yang berdempetan tersebut
dianggap sebagai satu karakter.
Pengenalan karakter dapat dilakukan setelah proses segmentasi telah berhasil.
Hasil dari proses segmentasi memegang peranan penting dalam proses pengenalan
karakter, dimana hasil segmentasi yang kurang tepat sangat memungkinkan terjadinya
kesalahan pada hasil pengenalan karakter. Berdasarkan pengujian pengenalan karakter

yang dilakukan, persentase keakuratan untuk karakter kategori mudah dikenali yaitu
69,4% untuk 4 data pelatihan, 80% untuk 8 data pelatihan, 84% untuk 12 data
pelatihan, sedangkan karakter kategori sulit dikenali yaitu 50% untuk 4 data pelatihan,
59% untuk 8 data pelatihan, 68% untuk 12 data pelatihan. Sehingga rata-rata akurasi
pengenalan karakter dari kedua kategori tersebut adalah 59.7% untuk 4 data pelatihan,
69,5% untuk 8 data pelatihan, 76% untuk 12 data pelatihan. Selain karena kesalahan
hasil segmentasi, kesalahan hasil pengenalan karakter menggunakan metode LVQ
juga dapat disebabkan karena kurangnya data pelatihan yang digunakan, rumitnya pola
karakter yang berbeda jauh dari data pelatihan yang tersimpan, terdapat beberapa
karakter yang hampir serupa misalnya huruf g dan angka 9.
3. Hasil Pengujian Program
Pengujian untuk beberapa karakter dengan jumlah data pelatihan yang digunakan
adalah 4, 8, dan 12 data pelatihan untuk setiap karakter.
Tabel 1 Hasil Pengujian Segmentasi Karakter Kategori Mudah Dikenali.
Gambar karakter

Hasil Segmentasi

Akurasi Segmentasi
(%)

80

80

100

80

60

rata-rata

80

Tabel 2 Hasil Pengujian Segmentasi Karakter Kategori Sulit Dikenali.


Gambar Karakter

Hasil Segmentasi

Akurasi Segmentasi
(%)

80

80

80

40

80
rata-rata

72

Tabel 3 Hasil Pengujian Pengenalan Karakter Kategori Mudah Dikenali.


Hasil Pengenalan dengan Jumlah Data Pelatihan
Hasil Segmentasi

aa 1t

(%)

Akurasi
(%)

12

Akurasi
(%)

60

an IL da

40

an IL da

40

ctCLJc

60

cccLYc

80

ccctYc

80

tfT tt

60

ttt tt

100

ttt tt

100

80

xxx. . x X

100

da

xxX. . X
X

m . lll
7fm
rata-rata

Akurasi

xxx. . /
100

67

69,4

m m lll
7fm

100

80

m m lll
7fm

100

84

Tabel 4 Hasil Pengujian Pengenalan Karakter Kategori Sulit Dikenali.


Hasil Pengenalan Dengan Jumlah Data Pelatihan
Hasil Segmentasi

4
g9ij QL
9
g D gF

(%)
40

8
99rj QL
9

Akurasi
(%)

12

Akurasi
(%)

60

99rj 9L 9

80

60

g A gt g

60

g A gt g

60

oQ0LJo

50

oO0cyo

75

oO0cyo

75

hal1 4

50

hnl1 4

50

hnl1 a

50

nDll hn

50

nDll hn

50

nnll hn

75

rata-rata

Akurasi

50

59

68

5. Penutup

Kesimpulan
Setelah menyelesaikan perancangan aplikasi pengenalan karakter dengan
menggunakan segmentasi citra dan algoritma LVQ, maka dapat ditarik beberapa kesimpulan
sebagai berikut:
1. Aplikasi dapat melakukan segmentasi terhadap citra karakter, dan melakukan proses
pelatihan serta proses pengenalan terhadap pola atau bentuk karakter, yang pada
akhirnya dapat mengenali setiap karakter di dalam gambar dengan tingkat akurasi ratarata per karakter sebesar 59.7% untuk 4 data pelatihan, 69,5% untuk 8 data pelatihan,
76% untuk 12 data pelatihan.
2. Jumlah data pelatihan yang digunakan akan mempengaruhi keakuratan dari hasil
pengenalan karakter menggunakan algoritma LVQ, dimana semakin banyak data
pelatihan yang digunakan, maka tingkat keakuratan hasil pengenalan karakter akan
semakin tinggi.
Saran
Adapun saran-saran yang dapat diberikan untuk pengembangan aplikasi lebih lanjut
adalah sebagai berikut:
1. Aplikasi dapat dikembangkan dengan menambahkan beberapa metode JST lainnya,
seperti: Perceptron, Backpropagation, Hebb Rule, sehingga user dapat
membandingkan dan mengetahui metode JST terbaik yang dapat diimplementasikan
untuk pengenalan pola karakter.
2. Dari hasil pengujian, aplikasi masih kurang baik dalam mengenali karakter yang
ukurannya kecil dan menempel satu sama lain, seperti beberapa karakter yang terdapat
di dalam tipe font Times New Roman dengan size kecil. Disarankan untuk melakukan
penelitian lebih lanjut untuk mencari solusi dari permasalahan.
6. Daftar Pustaka
[1] Basuki, Achmad, 2005, Pengolahan Citra Digital Menggunakan Visual Basic,
Yogyakarta, Graha Ilmu.
[2] Darma, P., 2008, Sistem Biometrika, Yogyakarta, ANDI.
[3] Desiani, & Arhami, M., 2002, Konsep Kecerdasan Buatan, Penerbit Graha Ilmu.
[4] Dewi, K. S., 2002, Artificial Intelligence (Teknik dan Aplikasinya) (Edisi Kedua), Graha
Ilmu.
[5] Diyah, P., 2006, Pengantar Jaringan Syaraf Tiruan, Yogyakarta, ANDI.
[6] Kusumo, A. S., 2000, Latihan Visual Basic 6.0, Jakarta, PT. Elex Media Komputindo.
[7] Munir, Rinaldi., 2004, Pengolahan Citra Digital dengan Pendekatan Algoritmik,
Bandung, Informatika.
[8] Ranadhi, D., Indarto, W., & Hidayat, T., 2009, http://journal.uii.ac.id/index.php/mediainformatika/article/view/121/82, 7 Mei 20012.
[9] Siang, J. J., 2004, Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
MATLAB, Yogyakarta, ANDI.
[10] Tjokorda, 2009, http://yudiagusta.files.wordpress.com/2009/11/007-012-knsi09-002pengenalan-huruf-bali-menggunakan-metode-modified-direction-feature-_mdf_-dan-learningvector-quantization-_lvq_.pdf, 20 Mei 2012.
[11] Utkarsh, 2010, http://www.aishack.in/2010/01/thresholding/, 10 Mei 2012.

Anda mungkin juga menyukai