APLIKASI PENGENALAN TULISAN TANGAN UNTUK EKSPRESI MATEMATIKA BERBASISKAN KOMPUTER Wikaria Gazali 1 ; Nilo Legowo 2 ; Harry Tedja Sukmana 3 1,2 Mathematics & Statistics Department, School of Computer Science, Binus University 3 Computer Science Department, School of Computer Science, Binus University Jl. K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480 wikaria@binus.edu; nlegowo@binus.edu; v_vendetta_calderono9@yahoo.com ABSTRACT Understanding science of electronic mathematics is something uncommon for entering mathematical expressions into computer is considered quite difficult. Since mathematical expressions involve a large set of symbols and two-dimensional information, common keyboard cannot support particular mathematical inputs. Handwriting recognition is a technology that can convert handwriting into a data structure or text even a programming language (such as LaTeX and MathML) which can be automatically processed by a computer. This study discusses the use handwriting recognition system for mathematical expressions more deeply. The method to process the system design is by detecting the pattern of posts made by user. Keywords: mathematical expressions, recognition, handwriting recognition, handwritten ABSTRAK Memahami ilmu pengetahuan dalam bidang matematika elektronik bisa dikatakan tidak biasa karena memasukkan ekspresi matematika ke komputer cukup sulit. Karena ekspresi matematika melibatkan himpunan besar dari simbol-simbol dan informasi dua dimensi, keyboard normal tidak dapat mendukung input matematika secara alami. Handwriting recognition atau disebut juga pengenalan tulisan tangan merupakan teknologi yang dapat mengubah tulisan tangan menjadi sebuah struktur data atau teks ataupun sebuah bahasa pemrograman (dalam bidang matematika seperti LaTex dan MathML) yang bisa secara otomatis diproses oleh komputer. Makalah ini akan menyajikan tentang penggunaan sistem pengenalan tulisan tangan untuk ekspresi matematika secara lebih mendalam. Metode yang digunakan sebagai proses perancangan sistem ini adalah mendeteksi pola tulisan yang dilakukan oleh setiap user yang menggunakannya. Kata kunci: ekspresi matematika, pengenalan, handwriting recognition, tulisan tangan Aplikasi Pengenalan Tulisan... (Wikaria Gazali; dkk) 85
PENDAHULUAN Seiring berkembangnya teknologi dari tahun ke tahun, banyak orang mulai beralih dari cara kerja mereka yang dahulu ke beberapa teknologi yang membantu mereka mempercepat pekerjaan secara tepat dan efisien. Tetapi tidak semua orang dapat menggunakan teknologi dengan baik. Dalam bidang matematika, sudah banyak teknologi yang dikembangkan dan kemudian dikonsumsi oleh publik. Salah satu aplikasi yang paling diminati oleh banyak orang adalah pengenalan tulisan tangan untuk ekspresi matematika Sebagian besar informasi dari tulisan tangan merupakan suatu bentuk dasar yang bersifat standar dan memiliki struktur yang tidak dapat didefnisikan dan diakui sebagai teks biasa. Beberapa contoh tulisan tangan dapat dibaca dan diartikan sendiri oleh banyak orang menurut pemikiran masing-masing. Permasalahan umum yang dihadapi sekarang adalah tidak semua dari contoh tulisan tangan dapat dimengerti secara keseluruhan oleh beberapa orang. Dalam hal ini salah satu contoh tulisan tangan yang paling menonjol dan sulit untuk diartikan adalah notasi dan ekspresi matematika dikarenakan struktur dari notasi dan ekspresi matematika yang bersifat kompleks. Pengenalan tulisan tangan, atau disebut juga dengan handwriting recognition, merupakan sebuah aplikasi yang dapat mengubah tulisan tangan berupa teks biasa menjadi sebuah struktur data yang bisa secara otomatis diproses dan dimengerti oleh komputer. Sekarang ini pemahaman ilmu pengetahuan dalam bidang matematika lebih banyak menggunakan komputer dengan bahasa pemrograman untuk matematika yang ada sebagai alat pembelajaran, antara lain LaTex (LaTex Project Official, 2010) dan MathML (Weisstein, 2003). Tidak banyak orang, khususnya para ilmuwan matematika, yang sudah terbiasa menggunakan komputer, mengerti penggunaan kedua program ini, khususnya LaTex yang sedang berkembang saat ini karena kegunaannya yang multi fungsional di berbagai bidang, khususnya matematika. Oleh karena itu penulis mencoba untuk menciptakan sebuah program yang dapat menggabungkan antara kegunaan tulisan tangan itu sendiri yang nantinya dapat dikonversi ke dalam bahasa pemrograman LaTex dan MathML, yang dapat digunakan juga sebagai alat pembelajaran. Pengenalan ekspresi matematika dilakukan dengan mengenali dan mendefinisikan ekspresiekspresi matematika yang ada secara keseluruhan, baik itu berupa tulisan dan notasi maupun notasi dan persamaan. Konversi ke bahasa pemrograman LaTex dilakukan dengan mengubah struktur ekspresi matematika yang telah dilakukan ke dalam bahasa pemrograman LaTex. Konversi ke bahasa pemrograman MathML dilakukan dengan mengubah struktur ekspresi matematika yang telah dilakukan ke dalam bahasa pemrograman MathML. Bahasa Pemrograman Java sebagai compiler dari program yang dirancang. METODE Berikut ini adalah penjelasan mengenai metode penelitian yang akan ditindaklanjuti dalam pembuatan program aplikasi pengenalan tulisan tangan untuk ekspresi matematika dalam bentuk tahapan penelitian (Gambar 1). 86 Jurnal Mat Stat, Vol. 13 No. 2 Juli 2013: 85-90
Gambar 1 Tahapan Penelitian. Penjelasan mengenai gambar desain penelitian adalah sebagai berikut: Rumusan masalah merupakan dasar pemikiran dan merupakan acuan dalam penelitian ini. Dalam penelitian ini, permasalahan yang akan dianalisis adalah mengenai pengenalan tulisan tangan untuk ekspresi matematika yang akan dilanjutkan dengan proses konversi ke dalam bahasa pemrograman LaTex dan MathML. Studi literatur dilakukan dengan mempelajari dan memahami teori-teori yang berkaitan dengan penelitian ini seperti masalah pengenalan notasi dan ekspresi matematika, pola penulisan tangan, handwriting recognition (Sondag, 2007), algoritma tentang penulisan tangan dan juga tentang bahasa pemrograman LaTex dan MathML. Handwriting Recognition adalah fokus utama dalam perancangan sistem ini. Proses konversi ke teks adalah proses di mana program akan membaca tulisan tangan yang ditulis oleh user lalu mengubahnya ke dalam bentuk teks. Proses konversi ke dalam bahasa pemrograman LaTex dan MathML adalah proses di mana program akan membaca tulisan tangan yang ditulis oleh user lalu mengubahnya ke dalam bahasa pemrograman LaTex dan MathML. Model pendekatan yang digunakan dalam penelitian ini menggunakan pendekatan Object Oriented dengan model proses Prototype. Dokumentasi berupa dokumen teknis perangkat lunak, program yang telah dirancang dan dokumen sebagai hasil dari penelitian. Aplikasi Pengenalan Tulisan... (Wikaria Gazali; dkk) 87
HASIL DAN PEMBAHASAN Berikut ini adalah tahapan-tahapan yang dilakukan dalam melakukan pengenalan tulisan tangan. Ekspresi Tulisan Tangan Ekspresi tulisan tangan biasanya terdiri lebih dari satu simbol, sehingga perlu dilakukan klasifikasi dalam kerangka yang lebih luas untuk menentukan definisi dan identitas dari simbol-simbol pada sebuah ekspresi. Oleh karena itu diperlukan sebuah proses yang digunakan untuk menemukan hasil yang optimal pada sebuah ekspresi terhadap notasi matematika (Bishop, 2006). Pengguna Antarmuka (User interface) Sebuah algoritma yang akurat tentunya membutuhkan user interface yang baik. User interface harus sederhana agar dapat digunakan oleh komputer dengan berbagai spesifikasi dan kebutuhan. Selain itu user interface harus memungkinkan pengguna untuk dengan cepat memperbaiki kesalahan dikarenakan banyaknya ekspresi yang ambigu dan kebanyakan orang sering membuat kesalahan saat menulis ekspresi yang cukup panjang dan bisa dikatakan sebagai ekspresi yang kompleks. Yang terpenting bagi user interface adalah dapat memberikan umpan balik (feedback) langsung kepada pengguna sehingga kesalahan yang ada dapat dengan cepat terdeteksi. Terminologi Pengenalan Tulisan Tangan Penelitian pada pengenalan tulisan tangan telah menghasilkan sebuah daftar yang dipenuhi dengan berbagai istilah yang berkaitan untuk setiap aspek tulisan tangan, dengan pendekatan yang berbeda sering memerlukan penggunaan terminologi yang berbeda. Secara umum sistem pengenalan tulisan tangan terbagi menjadi dua, yaitu sistem online dan sistem offline. Dalam sistem online, tulisan ditangkap oleh komputer sebagaimana tulisan tersebut dibentuk oleh pengguna pada sebuah perangkat input atau pada sebuah progam, contohnya Microsoft Paint. Sedangkan dalam sistem offline, tulisan dibentuk oleh pengguna di atas kertas dan biasanya diperoleh sebagai gambar dengan menggunakan optic scanner (Bishop, 2006). Pola Tulisan Tangan Salah satu pendekatan dasar dalam pengenalan tulisan tangan adalah variasi yang besar dalam cara penulisan tangan di mana seseorang mungkin telah menggambarkan sebuah simbol tertentu dibandingkan dengan tampilan yang sebenarnya pada sebuah halaman (Theodoridis and Koutroumbas, 2008). Bentuk Kesalahan (Error) Ada dua bentuk kesalahan yang dapat terjadi ketika mencoba untuk menetapkan pola stroke dari tulisan tangan. Yang pertama adalah tidak hanya menetapkan arah yang sama untuk stroke tertentu dan kebalikannya. Hal ini terjadi ketika stroke yang ditentukan harus dihilangkan untuk menghindari karakter yang memiliki bentuk yang sama dengan arti yang berbeda. Hal ini akan menyebabkan kurang sempurnanya pemahaman program tentang klasifikasi simbol dan karakter matematika tersebut. Bentuk kesalahan kedua adalah membalikkan beberapa stroke pada satu set contoh simbol, tapi tidak sesuai untuk diterapkan pada contoh-contoh lain. Dapat dikatakan bentuk kesalahan ini lebih sering terjadi dan lebih tinggi tingkat kesalahannya dibanding yang pertama karena mengambil satu set stroke yang telah memiliki tingkat konsistensi yang tinggi dan membalikkan beberapa dari mereka sehingga mengurangi dan bahkan menghilangkan tingkat konsistensi. 88 Jurnal Mat Stat, Vol. 13 No. 2 Juli 2013: 85-90
Partisi pada Ekspresi Asumsi yang paling mendasar dari solusi yang diajukan pada penulisan tangan adalah seperti pada sebuah partisi yang ada. Tulisan tangan matematika biasanya dicetak, sehingga setiap stroke memiliki satu simbol. Tanpa properti ini pun masih memungkinkan juga untuk menetapkan stroke untuk simbol, tetapi dengan sifat yang berbeda. Evaluasi Gambar 2 di bawah ini menampilkan tampilan program yang diujikan. Gambar 2 Tampilan Program. Hasil pengujian memperlihatkan bahwa program ini dapat mengenali beberapa ekspresi, karakter dan notasi matematika seperti angka, huruf hingga operator dan simbol matematika satu per satu dengan tingkat akurasi pengenalan yang cukup tinggi. Walau terdapat beberapa kendala pada pengenalan operator matematika di mana program belum mampu mengenal fungsi logaritma (log), trigonometri (sin, cos, tan, sec, cosec, cotg) dan fungsi ln. Hal ini berarti bahwa sistem pengenalan pola tulisan tangan yang dilakuan oleh user dapat berjalan dengan baik dalam pengenalan matematika dasar. Salah satu keunggulan dari program ini adalah di mana user dapat lebih mudah dalam mengerjakan tugas dalam bidang matematika sekaligus belajar mengenal dan memahami pola-pola pengenalan tulisan tangan baik itu berupa karakter, ekspresi, simbol dan notasi. Keunggulan lain dari program ini adalah user dapat belajar tentang bahasa pemrograman LaTex dan MathML yang berguna untuk mengerjakan tugas-tugas dalam bidang matematika tanpa harus belajar terlebih dahulu mengenai kedua bahasa pemrograman tersebut. Kelemahan pada program ini adalah belum konsistennya program dalam mengenali beberapa karakter, ekspresi, simbol dan notasi yang di-input oleh user (Bishop, 2006). Terkadang hasil tulisan yang dilakukan oleh user akan menghasilkan output yang tidak sesuai dengan input yang dilakukan oleh user. Hal ini dikarenakan sistem pengenalan tulisan tangan akan membaca karakter-karakter yang berhubungan dengan pola yang sama sebagai satu kesatuan. Maka dari itulah penulis menyiapkan menu Canvas Options sebagai salah satu komponen pada program ini untuk memisahkan input yang ditulis oleh user. Aplikasi Pengenalan Tulisan... (Wikaria Gazali; dkk) 89
Kelemahan lain pada program ini adalah program belum dapat menghitung struktur matematika yang di-input oleh user. Hal ini dikarenakan program lebih berfokus kepada pengenalan tulisan tangan serta proses konversi ke dalam bentuk teks dan bahasa pemrograman LaTex dan MathML. Untuk menghasilkan tingkat akurasi yang optimal dalam pemakaian program ini, berikut beberapa langkahnya: (1) menentukan nilai penolakkan (Rejection) terhadap input yang dilakukan oleh user baik itu berupa huruf, angka, simbol maupun operator adalah 80; (2) menentukan nilai penggabungan (Combination) terhadap input yang dilakukan oleh user baik itu berupa huruf, angka, simbol maupun operator adalah 90 dan 100. KESIMPULAN Dari keseluruhan perancangan program serta pengujian program, dapat ditarik kesimpulan sebagai berikut: (1) program dapat mengenali tulisan tangan berupa angka, huruf, operator matematika serta simbol-simbol matematika secara baik dan benar; (2) program dapat mengkonversi tulisan tangan ke dalam teks secara tepat dan benar; (3) program dapat mengkonversi tulisan tangan ke Bahasa Pemrograman LaTex dan MathML secara baik dan benar; (4) program dapat berjalan dengan baik dan mudah digunakan oleh user berdasarkan hasil pengujian; (5) program masih belum dapat mengenali ekspresi matematika yang bersifat kompleks seperti trigonometri, logaritma dan integral. DAFTAR PUSTAKA Bishop, Christopher. (2006). Pattern Recognition and Machine Learning. Berlin: Springer. Felleisen, M., Findler, Robert B., and Flatt, M. (2009). Semantics Engineering with PLT Redex. Singapore: MIT Press. Theodoridis, Sergios and Koutroumbas, Konstantinos. (2008). Pattern Recognition (4th edition). Boston: Academic Press. 90 Jurnal Mat Stat, Vol. 13 No. 2 Juli 2013: 85-90