APPLICATION OF RECOGNITION AND ANALYSIS OF HANDWRITING CHARACTER USING FREEMAN CHAIN CODE METHOD
Riski Purwo Handariningsih
Undergraduate Program, Faculty of Industrial Engineering, 2011 Gunadarma University
http://www.gunadarma.ac.id
Keyword: Recognition, Analysis, Character, Handwriting, Chain Code.
ABSTRACT
The handwriting recognition is computer ability to receive and interpret the handwriting input which can be understood from the source such as paper documents, photos, touch screens, and the other devices. Image from the written text can be used by offline from a sheet of paper by optical scanning (optical character recognition). In addition, the movement of the pen tip can be understood by online, for example by using a pen-based computer screen surface.
The purpose of this thesis is to create an application that can analyze whether the input character appropriate to handwriting character which is found in the database. It so happens, the stages which is carried out in the process of making this application include recognition system scheme and handwriting analysis, data collection, architecture of handwriting analysis,, the menu structure and the production of appearance design.
The Recognition of application and analyze handwriting character using freeman chain code method has been successfully made and tested. This application can analyze the handwriting character input with handwriting which is found in the database. From the experiment result obtained character that can be recognized by 14.5%, the wrong character which going into the cluster of 32.73%, the recognized character but are found on cluster by 30% and the character are not recognize by 22.73%. The characters that can be recognized well are c, d and e.. On the contrary, the characters which are often not recognized are o and r.
APLIKASI PENGENALAN DAN ANALISA HURUF TULISAN TANGAN MENGGUNAKAN METODE FREEMAN CHAIN CODE
ABSTRAKSI
Pengenalan tulisan tangan (handwriting recognition) adalah kemampuan komputer untuk menerima dan menafsirkan input tulisan tangan yang dapat dimengerti dari sumber seperti dokumen kertas, foto, layar sentuh dan perangkat lainnya. Gambar dari teks tertulis dapat digunakan secara luring dari selembar kertas oleh pemindai optik (rekognisi karakter optik). Selain itu, gerakan ujung pena dapat dimengerti secara daring, misalnya dengan menggunakan permukaan layar komputer berbasis pena.
Tujuan penulisan ini adalah untuk membuat suatu aplikasi yang dapat menganalisa apakah huruf input tulisan tangan sesuai dengan huruf tulisan tangan yang terdapat di dalam database. Adapun tahapan-tahapan yang dilakukan dalam proses pembuatan aplikasi ini meliputi skema sistem pengenalan dan analisa tulisan tangan, pengumpulan data, arsitektur analisa tulisan tangan, struktur menu dan pembuatan rancangan tampilan.
Aplikasi pengenalan dan analisa huruf tulisan tangan menggunakan metode Freeman Chain Code ini telah berhasil dibuat dan diuji cobakan. Aplikasi ini dapat menganalisa huruf input tulisan tangan dengan tulisan tangan yang terdapat di dalam database. Dari hasil percobaan didapat huruf yang dapat dikenali sebesar 14,5%, huruf yang salah masuk cluster sebesar 32,73%, huruf yang dikenali tetapi berada pada clusternya sebesar 30% dan huruf yang tidak dikenali sebesar 22,73%. Huruf yang dapat dikenali dengan baik adalah huruf c, d dan e. Sebaliknya, huruf yang sering kali tidak dikenali adalah huruf o dan r.
Kata Kunci : Pengenalan, Analisa, Huruf, Tulisan Tangan, Chain Code
1. PENDAHULUAN
Pengenalan tulisan tangan (handwriting recognition) adalah kemampuan komputer untuk menerima dan menafsirkan input tulisan tangan yang dapat dimengerti dari sumber seperti
dokumen kertas, foto, layar sentuh dan perangkat lainnya. Gambar dari teks tertulis dapat digunakan secara offline dari selembar kertas oleh pemindai optik (rekognisi karakter optik). Selain itu, gerakan ujung pena dapat dimengerti
secara online, misalnya dengan menggunakan permukaan layar komputer berbasis pena.
Pengenalan tulisan tangan memerlukan rekognisi karakter optik. Namun, sistem pengenalan tulisan tangan yang lengkap juga menangani format, melakukan segmentasi yang tepat ke dalam karakter dan menemukan kata yang paling masuk akal.
Sistem pengenalan dan analisa tulisan tangan memerlukan suatu peralatan elektronik yang dapat menangkap informasi sementara atau dinamis dari tulisan. Peralatan elektronik tersebut adalah tablet digitizer. Tablet digitizer muncul pertama kali pada tahun 1950, tablet ini merupakan digitizer yang paling populer saaat itu dan memacu aktifitas awal dalam pengenalan tulisan tangan online (Davis and Ellis, 1964). Tablet digitizer mampu secara akurat menangkap koordinat data X dan Y dari pergerakan ujung pena.
Dalam penulisan ini merupakan bagian dari penelitian sistem pengenalan tulisan tangan. Sistem ini terdiri dari lima proses utama, yaitu akuisisi tulisan tangan, segmentasi, klasifikasi, pengenalan tulisan tangan dan analisa tulisan tangan. Penelitian ini berfokus kepada tahap ke lima yaitu analisa tulisan tangan. Analisa tulisan tangan disini adalah untuk menghitung seberapa baik tulisan tangan
input dengan tulisan tangan yang terdapat di dalam database. Dengan alasan inilah penulis membuat penulisan yang diberi judul “Aplikasi Pengenalan dan Analisa Huruf Tulisan Tangan Menggunakan Metode Freeman Chain Code ”.
2. TUJUAN
Tujuan penulisan ini adalah untuk membuat suatu aplikasi yang dapat menganalisa apakah huruf input tulisan tangan sesuai dengan huruf tulisan tangan yang terdapat di dalam database.
3. LANDASAN TEORI 3.1. Pengertian Tulisan Tangan
Tulisan tangan terdiri dari urutan waktu dari stroke, yaitu gerakan mulai pena ke bawah menyentuh permukaan alat menulis (contohnya kertas) sampai pena ke atas meninggalkan permukaan. Abjad bahasa latin mempunyai 26 karakter huruf dan setiap karakter huruf mempunyai dua bentuk, yaitu karakter huruf kapital dan karakter huruf kecil. Bahasa Inggris mempunyai dua gaya menulis dasar yaitu cetak dan sambung. Karakter huruf kapital biasanya terdiri lebih dari satu stroke per karakter huruf, sedangkan huruf kecil terdiri dari satu stroke per karakter huruf. Tulisan sambung hanya memiliki satu stroke per karakter hurufnya (Tappert C., Suen C., and Wakahara T., 1990).
3.2. Segmentasi Tulisan Tangan
Segmentasi tulisan tangan ditujukan untuk lebih mempermudah pengenalan tulisan tangan. Sejumlah peneliti telah mencoba mengembangkan algoritma segmentasi karakter dan pengenalannya. Plamondon (Plamondon, 2000) telah mengusulkan teori Kinematik yang digunakan sebagai kerangka umum segmentasi untuk mempelajari dan menganalisa tulisan tangan. Teori ini didasarkan pada persamaan delta-Lognormal yang menggunakan kecepatan suatu gerak yang selanjutnya dapat digunakan untuk memperjelaskan property dasar dari sebuah stroke. Menurut teori ini, tulisan tangan terdiri dari curviliniear dan stroke sudut yang terbentuk saat terjadinya pergerakan cepat pada manusia. Salah satu cara yang paling efisien untuk mengekstrak stroke adalah dengan melakukan percobaan analysis-by-synthesis atas komponen jarak gerakan pena digital yang dihasilkan selama gerakan menulis.
3.3. Smoothing Filter
Smoothing bertujuan untuk mengurangi atau menghilangkan noise yang ada sehingga dapat mempermudah proses analisis selanjutnya. Proses smoothing atau sinyal enhancement sering disebut juga preprocessing.
Filter dapat dikelompokkan dalam dua jenis kelompok, yaitu Finite Impulse Response (FIR) dan Infinite Response Filters (IIR). Filter non-recursive yang perhitungannya hanya tergantung pada sinyal asli dan tidak bergantung pada hasil perhitungan sebelumnya termasuk ke dalam jenis filter FIR. Di antara filter FIR yang sering digunakan untuk smoothing adalah filter rata-rata (average filter) dan vektor aproksimasi dari filter Gaussian. Secara matematis filter FIR dapat dinyatakan oleh persamaan berikut :
𝑦 𝑛 = 𝑏
𝑖𝑥 𝑛 − 𝑖
𝑁 𝑖=0 (2.1) Atau𝑦 𝑛 = 𝑏
0𝑥 𝑛 + 𝑏
1𝑥 𝑛 − 1 + ⋯ +
𝑏
𝑁𝑥[𝑛 − 𝑁]
(2.2) Dengan :- 𝑥 𝑛 adalah sinyal input (dalam aplikasi ini 𝑥 𝑛 adalah sinyal tulisan tangan asli).
- 𝑦 𝑛 adalah sinyal keluaran hasil smoothing.
- 𝑏𝑖 adalah koefisien filter, dan - 𝑁 adalah orde dari filter. Filter yang digunakan adalah filter IIR Madenda. Filter ini memiliki parameter sebagai pengatur tingkat pemfilteran kadar noise. Filter ini dipilih
untuk digunakan dengan alasan bahwa dalam (Madenda, 2007), (Lussiana, 2007) telah dibuktikan bahwa filter ini memiliki kinerja yang lebih baik dari filter-filter lainnya. Secara sistematis, filter ini dinyatakan dalam fungsi kontinyu berikut :
ℎ 𝑥 = 𝑓 𝑥 𝑑𝑥 = 𝐾2. 𝑒−𝛼|𝑥|(1 − 1
2 𝑐𝑜𝑠 𝛼𝛽 𝑥| + 1
2𝛽 𝑠𝑖𝑛( 𝛼𝛽 𝑥| ) (2.3)
3.4. Kode Rantai Freeman
Algoritma Kode Rantai Freeman (Freeman Chain Code) pertama kali diperkenalkan oleh Freeman pada tahun 1974. Tujuan dari Kode Freeman adalah untuk memberitahukan representasi batasan dari suatu objek. Kode rantai Freeman merupakan algoritma sederhana tetapi memiliki kinerja yang tinggi. Kode rantai didasarkan pada kenyataan bahwa titik berurutan pada kurva kontinyu yang saling berdekatan satu sama lain, dan bahwa masing-masing titik data secara berurutan dengan salah satu dari delapan titik-titik yang mengelilingi titik data tersebut.
Kode rantai digunakan untuk merepresentasikan batas teori dengan urutan garis lurus yang terhubung dengan ukuran dan arah tertentu. Biasanya kode rantai direpresentasikan dengan empat arah atau delapan arah mata angin. Arah dari suatu mata angin dikodekan dengan
menggunakan skema penomoran seperti terlihat di gambar 2.2 untuk delapan arah mata angin dan gambar 2.3 untuk empat arah mata angin.
Gambar 2.2 Skema 4 arah mata angin
Gambar 2.3 Skema 4 arah mata angin
Kode rantai suatu batas tepi tergantung pada penentuan titik awal. Kode dapat dinormalisasikan dengan memperlakukan titik awal sebagai suatu 8 urutan arah dalam bentuk numerik yang membentuk lingkaran dan mendefinisikan titik awal sedemikian rupa sehingga menghasilkan suatu bentuk besaran integer yang minimum. Untuk pengkodean arah kode rantai, dapat digunakan kelipatan sudut 45 untuk delapan arah atau 90 untuk empat arah. Kode rantai ini digunakan untuk mengkodekan ciri setiap segmen yang terbentuk dari hasil segmentasi.
4. PEMBAHASAN
4.1. Arsitektur Analisa Tulisan Tangan
Dalam arsitektur akuisisi dan segmentasi tulisan tangan ini dimulai dari proses memasukkan huruf input, kemudian akan masuk ke dalam proses tahap segmentasi karakter. Di dalam segmentasi karakter ini akan dikodekan ciri huruf yang telah dimasukkan. Setelah itu hasil dari segmentasi ini akan menunjukkan setiap karakter yang dimasukkan terdapat berapa segmen. Arsitektur analisa tulisan tangan online ditunjukkan pada gambar 3.2.
Gambar 3.2 Arsitektur Analisa Tulisan Tangan Online
4.2. Input Karakter Tulisan Tangan Input karakter huruf menggunakan tablet digitizer. Tablet digitizer merupakan peralatan yang digunakan untuk perekaman tulisan tangan online. Keuntungan dari peralatan ini adalah dapat menangkap data atau informasi temporal atau dinamik dari tulisan tangan.
Input karakter ini menghasilkan empat jenis data yaitu koordinat X, Y, kemiringan serta tekanan. Keempat data tersebut dapat dikatakan sebagai informasi yang dapat menggambarkan karakteristik dari karakter huruf. Ukuran satuan untuk koordinat X dan Y adalah piksel, sedangkan ukuran untuk kemiringan adalah derajat dan ukuran tekanan adalah grams. Selanjutnya karakter huruf acuan ini akan disimpan ke dalam database dalam bentuk file berekstensi txt.
4.3. Segmentasi Karakter Tulisan Tangan
Metode penentuan segmen yang digunakan adalah metode segmentasi menggunakan karakteristik perubahan nilai koordinat Y dari setiap titik pembentukan huruf tersebut, yang dikembangkan oleh Suryarini (Suryarini, 2009).
Pemilihan metode segmentasi ini dikarenakan sinyal koordinat Y merupakan representasi pergerakan alunan naik turunnya tangan saat menulis, selain itu koordinat Y memiliki noise yang sangat kecil sehingga kemungkinan timbulnya lokal minimum dan maksimum yang tidak relevan sangat kecil. Hal ini berdampak positif pada peningkatan tingkat akurasi hasil segmentasi karakter. Proses dalam tahap segmentasi ditunjukkan pada gambar 3.3. Huruf Input Segment asi Pengkod ean
Segmen Database Huruf
Analisa
Gambar 3.3 Tahapan Segmentasi Karakter (Suryarini, 2009)
4.4. Pengkodean Segmen ke dalam Bentuk Kode Rantai
Setiap arah merupakan kelipatan sudut arah 45 derajat dan berdasarkan pada kondisi sebagai berikut : Jika nilai a berada antara 22,5° dan 67,5°, maka arah chain adalah 2. Jika nilai a berada antara 67,5° dan 112,5°, maka arah chain adalah 3. Nilai a berada antara 112,5° dan 157,5°, maka arah chain adalah 4. Nilai a berada antara 157,5° dan 202,5°, maka arah chain adalah 5. Jika nilai a berada antara 202,5° dan 247,5° maka arah chain adalah 6. Jika nilai a berada antara 247,5° dan 292,5°, maka arah chain adalah 7. Jika nilai a berada antara 292,5° dan 337,5°, maka arah chain adalah 8. Selain itu maka arah chain adalah 1. Penentuan arah kode rantai ini dapat dilihat pada gambar 3.4.
Y Y T T Y Y T T Y Y T T Y T
Gambar 3.4 Penentuan Arah Kode Rantai Freeman
4.5. Tahap Pengenalan Karakter Input Tulisan Tangan
Sebelum dilakukan proses analisa tulisan tangan, maka terlebih dahulu harus dilakukan proses pengenalan. Artinya bahwa harus terlebih dulu dikenali karakter apa yang ditulis oleh responden. Setelah karakter tersebut dikenali, baru kemudian dilakukan analisa untuk
Karakt er Penentuan Koordinat Y Penentuan Posisi Lokal Minimum dan Maksimum Eliminasi Nilai Lokal Minimum dan Maksimum Penentuan Segmen Segme n Mulai Data Koordinat
X dan Y Baca Dua Koordinat X dan Y Kecepatan Sudut Menghitung
22,5>=Sudut <67,5 67,5>=Sudut <112,5 112,5>=Sudut< 157,5 157,5>=Sudut< 202,5 202,5>=Sudut< 247,5 247,5>=Sudut< 292,5 292,5>=Sudut< 337,5 Kode = 1 Kode = 2 Kode = 3 Kode = 4 Kode = 5 Kode = 6 Kode = 7 Kode = 8
menghitung seberapa baik tulisan tangan input responden dengan tulisan tangan yang terdapat di dalam database.
Gambar 3.5 Pencocokkan Berdasarkan Pohon Klasifikasi
4.6. Tahap Analisa Tulisan Tangan Setelah tahap pengenalan karakter input berhasil dilakukan, maka tahap berikutnya adalah analisa tulisan tangan untuk menghitung seberapa baik tulisan tangan input responden dengan tulisan tangan yang terdapat di dalam database.
Gambar 3.6 Tahapan Analisa Tulisan Tangan
5. PENUTUP 5.1. Kesimpulan
Aplikasi pengenalan dan analisa huruf tulisan tangan menggunakan metode Freeman Chain Code ini telah berhasil dibuat dan diuji cobakan. Aplikasi ini dapat menganalisa huruf input tulisan
Mulai
Karakter input = X Amin<=
X1<=A max Dmin<= X1<=D max Cmin<= X1<=C max Bmin<= X1<=Bm ax Cluster 1 Cluster 2 Cluster 4 Cluster 3 Emin<= X1<=E max Fmin<= X1<=Fm ax Cluster 6 Cluster 5 Cluster 7 Gmin<= X1<=G max Huruf tidak dikenali Y Y Y Y Y Y Y T T T T T T T Selesai Start Input Huruf Segmentasi Membandingkan Segmen Input dengan database Menghitung Error Per Segmen Menghitung Total Error Per Segmen
tangan dengan tulisan tangan yang terdapat di dalam database.
Aplikasi ini terdapat menu Option, Set Data, Help, dan About. Pada menu Option terdapat sub menu Input Huruf, Save, Open File, Segmentation, Analyze dan Exit. Sub menu Input Huruf digunakan untuk menuliskan huruf yang telah dikoneksikan dari komputer ke tablet digitizer. Huruf input yang telah dituliskan tersebut akan disimpan oleh sub menu Save. hal ini, hanya huruf yang dikenali saja yang dapat disimpan, akan tetapi apabila huruf input tidak dikenali, maka huruf tersebut tidak dapat disimpan. Untuk membuka file yang telah tersimpan, digunakan sub menu Open File. Huruf yang telah terbuka akan disegmentasi dengan pilihan sub menu Segmentation. Dari segmentasi tersebut dilanjutkan dengan tahap sub menu Analyze yang berfungsi untuk menganalisa huruf input tulisan tangan dengan huruf database. Menu Set Data digunakan untuk memanggil dimana letak database berada. Adapun menu Help akan menampilkan cara penggunaan program dan menu About akan menampilkan tentang program dan pembuat program.
Dari hasil percobaan didapat huruf yang dapat dikenali sebesar 14,5%, huruf yang salah masuk cluster sebesar 32,73%, huruf yang dikenali tetapi berada pada
clusternya sebesar 30% dan huruf yang tidak dikenali sebesar 22,73%.
Huruf yang dapat dikenali dengan baik adalah huruf c, d dan e. Sebaliknya, huruf yang sering kali tidak dikenali adalah huruf o dan r.
5.2. Saran
Aplikasi ini hanya mempunyai database sebanyak 22 huruf dan masing-masing huruf hanya mempunyai 1 variasi. Oleh karena itu, perlu dikembangkan lagi untuk pembentukkan databasenya agar proses pengenalan karakter huruf antara huruf input tulisan tangan dapat lebih sesuai dengan huruf databasenya. Pada menu input hurufnya pun masih banyak terdapat huruf responden yang tidak dikenali dikarenakan program yang kurang mentolerir huruf inputan yang tidak serupa dengan huruf database. Untuk pengembangan selanjutnya dapat dibuat program yang lebih bisa mengenali karakter huruf input dengan baik dan jelas. Data hasil dari setiap segmentasi karakter huruf ini dapat digunakan oleh Psikolog sebagai informasi yang dapat membantu mereka dalam melakukan analisis tingkat perkembangan dari setiap orang. Data hasil tersebut juga dapat digunakan bagi graphonolog untuk memahami karakter ataupun kepribadian seseorang melalui tulisan tangan. Aplikasi
ini juga dapat membantu dalam bidang kesehatan yang nantinya dapat digunakan dalam membantu melihat tingkat keberhasilan pengobatan seseorang yang telah menderita stroke.
DAFTAR PUSTAKA
Choyriyanie, Ulva. 2010. Aplikasi Pengklasifikasian Karakter Tulisan Tangan Menggunakan Ekstraksi Ciri Berbasis Chain Code dan Pola Segmen. Skripsi. Universitas Gunadarma.
Freeman, Herbert, 1974. Computer Processing of Line-Drawing Images. Computing Survey, Vol. 6, No. 1. Hafiz, Rizwar. 2010. Application For
Handwritten Recognition Based On Segment Pattern And Chain Code Classification. Skripsi. Universitas Gunadarma.
Lulu C. Munggaran, 2009. Pengembangan Algoritma Pengenalan Evaluasi Tulisan Tangan Untuk Mengukur Kemahiran Anak Dalam Menulis. Disertasi. Universitas Gunadarma. Nishfa, Shinta Laila. 2010. Penerapan
Algoritma Akuisisi dan Segmentasi Tulisan Tangan pada Tablet
Digitizer. Skripsi. Universitas Gunadarma.
Nuryuliani, 2009. Klasifikasi Pengenalan Tulisan Tangan Menggunakan Ekstraksi Ciri Berbasis Chain Code Dan Pola Segmen. Disertasi. Universitas Gunadarma.
Nuryuliani, Lulu C. Munggaran, Sarifudin Madenda, Michael Paindavoine, 2009. Pendekatan Kode Rantai Sebagai Dasar Pengenalan Karakter. SNATI 2009. UII-Universitas Islam Indonesia.
Sanchez, N dan Y.A. Dimitriadis., M.Sachez-Rayes Mas., P.Sachez Garcia, 1998. On-line Character Analysis and Recognition with Fuzzy Neural Network.
Tappert, C. C., C.Y. Sun dan Y. Wakahara, 1990. The State Of The Art In On-Line Handwritting Recognition. IEEE Transaction on Pattern and Machine Intelligence. Vol 17, No. 8, August.
Widodo, Suryarini, 2009. Metode Segmentasi Karakter Tulisan Tangan Online Menggunakan Karakteristik Perubahan Nilai Koordinat Y. Disertasi. Universitas Gunadarma.