BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1
Analisis Permasalahan Ada beberapa masalah dalam pengenalan tulisan tangan matematika yang dapat
didefinisikan sejauh ini, antara lain:
Pengenalan karakter matematika itu sendiri Pengenalan karakter berhubungan dengan metodologi yang sesuai dan efektif untuk menentukan hasil yang kemungkinan besar di antara kumpulan karakter dalam matematika.
Pengenalan simbol dan notasi matematika Pengenalan simbol dan notasi berhubungan dengan pengelompokkan karakter yang memiliki definisi yang berbeda dalam ekspresi matematika.
Pengenalan persamaan matematika Pengenalan persamaan berhubungan dengan pola-pola persamaan yang terdapat dalam bidang matematika di mana di dalamnya terdapat gabungan antara notasi-notasi dan karakter-karakter matematika.
Analisis struktur matematika yang telah tersusun Yang dilakukan dalam menganalisis struktur matematika adalah mengenal dan membaca pola-pola dan gabungan dari notasi-notasi dan ekspresi matematika yang terbentuk sebagai sebuah struktur matematika.
Pola tulisan tangan dari pengguna yang nantinya dapat dikenal oleh komputer Pola tulisan tangan setiap manusia pasti berbeda-beda. Hal inilah yang menjadi fokus utama dalam pengenalan tulisan tangan di mana terdapat berbagai macam bentuk dan pola tulisan tangan yang harus dibentuk keseragamannya dalam proses penulisan itu sendiri nantinya sehingga komputer dapat mengenali karakter tersebut dengan jelas dan tepat. Lalu beberapa masalah mengenai bahasa pemrograman LaTex dan MathML sebagai
berikut:
Bahasa pemrograman LaTex dan MathML yang masih belum dikenal luas oleh kalangan masyarakat luas, terutama LaTex, yang bisa didapatkan sebagai free software.
Bahasa pemrograman LaTex dan MathML masih sulit dimengerti dan digunakan bagi beberapa pakar maupun ilmuwan meskipun mereka bekerja di depan komputer.
3.1.1
Analisis Sistem yang Sudah Ada Sistem pengenalan tulisan tangan untuk matematika yang sudah ada sekarang ini
masih memiliki beberapa kendala. Berikut adalah deskripsi pada dua buah aplikasi pengenalan tulisan tangan untuk ekspresi matematika.
Tabel 3.1 Deskripsi Microsoft Mathematics dan Math Input Panel Perbedaan Tipe Aplikasi
Microsoft Mathematics
Math Input Panel Paket Freeware untuk Windows 7
Freeware
Interface
Kompleks
namun
Informatif
dan
Sederhana namun Variatif
Komunikatif Kebutuhan
Kegunaan
Fitur-fitur
Butuh Sistem Operasi terbaru dan
Butuh Sistem Operasi terbaru dan
cukup besar
tidak terlalu besar
Untuk menyelesaikan masalah dalam
Untuk merubah konteks tulisan tangan
bidang Matematika, mulai dari yang
manusia ke dalam bentuk teks atau
sederhana hingga kompleks
gambar
Program Kalkulator, Grafik, Geometri,
Penulisan Tangan
Kalkulus, Penulisan Tangan hingga fitur-fitur yang kompleks
Dari perbandingan kedua deskripsi program, maka dapat ditemukan beberapa kendala dan kelemahan antara lain. Tabel 3.2 Kelemahan Microsoft Mathematics dan Math Input Panel Microsoft Mathematics
Math Input Panel
Membutuhkan Sistem Operasi yang cukup besar untuk memperolehnya Aplikasi yang terlalu kompleks membuat
Aplikasi terlalu sederhana dan kurang
kebanyakan orang sulit menggunakannya
informatif dan komunikatif
Perlu waktu yang cukup lama untuk
Walau cukup mudah untuk digunakan,
memahaminya
aplikasi terlihat sama kegunaannya seperti aplikasi pengenalan tulisan tangan lainnya
Tampilan yang terlalu kompleks membuat
Tampilan terlalu sederhana dan terlihat
banyak orang bingung untuk memulainya
sama
dengan
aplikasi-aplikasi
sejenis
lainnya
3.1.2
Evaluasi Sistem yang Sudah Ada Setelah mengevaluasi sistem yang sedang berjalan ini, maka dapat ditemukan
beberapa kendala utama dari sistem ini, yaitu sebagai berikut:
Belum sempurnanya beberapa aplikasi pengenalan tulisan tangan untuk ekspresi matematika karena masih banyak notasi dan simbol pada matematika yang belum dikenal.
Gambar 3.1 Contoh Ekspresi Matematika yang Tidak Relatif
Beberapa aplikasi masih ada yang ambigu pada pola dari tulisan tangan itu sendiri.
Bahasa pemrograman LaTex dan MathML yang masih belum dikenal banyak orang dan masih sulit digunakan dan dipahami bagi para pakar dan ilmuwan.
Berdasarkan masalah di atas maka dapat diketahui penyebab masalah tersebut adalah:
Masih kurangnya pengetahuan banyak orang akan matematika itu sendiri, baik dari pengetahuan dasar tentang matematika maupun secara keseluruhan.
Masih kurangnya kesadaran masyarakat untuk mempelajari bidang matematika dikarenakan sifat dasar matematika yang terkesan sulit dan kompleks.
Masih ditemukan beberapa orang baik itu yang cukup baik maupun sangat baik dalam bidang matematika, belum cukup mengenal tentang struktur dan ekspresi matematika itu sendiri.
Beberapa matematikawan hanya mengenal beberapa notasi dan simbol yang sederhana dan sering dipakai dan tidak mengenali notasi dan simbol yang kompleks.
Masih banyak orang yang belum mengetahui tentang tulisan tangan itu sendiri serta kegunaannya untuk kebutuhan.
Ada beberapa orang yang sudah mengenal dan menggunakan aplikasi sistem pengenalan tapi kurang mampu untuk memaksimalkannya, terutama dalam pengenalan tulisan tangan untuk ekspresi matematika.
3.1.3
Rancangan Sistem yang akan Dikembangkan Kebutuhan informasi tentu memerlukan kelengkapan dan juga ketepatan dalam
penyampaiannya. Untuk mengatasi hal ini, maka sistem yang telah ada akan dikembangkan lebih jauh lagi agar dapat dimengerti dengan cepat dan mudah bagi banyak orang dengan mekanisme perancangan sebagai berikut. Tabel 3.3 Perbandingan Microsoft Mathematics dan Math Input Panel dengan Program yang akan Dikembangkan Microsoft
Math Input Panel
Mathematics
Program yang akan dikembangkan
Ink Handwriting
√
√
√
Handwriting
√
√
√
-
-
√
-
-
√
√
√
√
Tingkat Kesulitan
Kompleks
Sederhana
Sederhana
Fitur-fitur
√
-
√
Recognition Proses Konversi ke LaTex Proses Konversi ke MathML Sistem Operasi yang besar
Matematika Kompleks
Seperti yang telah dijelaskan pada Bab 1, maka untuk mewujudkan perancangan dan pengembangan sistem ini agar lebih tepat, handal dan responsif, maka diperlukan langkah-langkah metode analisis sebagai berikut:
Menganalisis metode dan sistem pengenalan untuk ekspresi matematika itu sendiri serta proses konversi ke dalam bahasa pemrograman LaTex dan MathML.
Menganalisis kebutuhan yang diperlukan terkait perancangan aplikasi.
Menentukan faktor-faktor yang berpengaruh dalam perancangan aplikasi.
Menanggapi tulisan tangan sehingga dapat dimengerti oleh komputer dan juga manusia.
Menganalisis bagaimana perancangan program nantinya akan berjalan ke dalam sebuah aplikasi.
3.2
Metode Penelitian 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 3.2 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, 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.
3.2.1
Metode Perancangan Aplikasi Dalam skripsi ini, penulis menggunakan model Waterfall untuk merancangan
aplikasi. Untuk lebih jelasnya perhatikan gambar berikut.
Gambar 3.3 Model Waterfall sebagai Model Perancangan Aplikasi
Adapun aktivitas-aktivitas yang dilakukan dalam setiap tahapannya yang dibagi menurut tugas pada masing-masing tahap pada tahapan penelitian, yaitu:
Communication yang dilakukan pada tahapan studi literatur meliputi: o Project Initiation: merancang prototype awal, konsep dan ide dasar mengenai perancangan aplikasi akan seperti apa nantinya. o Requirements Gathering: menyusun dan menganalisis kebutuhan apa saja yang diperlukan dalam merancang aplikasi.
Planning yang dilakukan pada tahapan perumusan masalah hingga proses konversi meliputi: o Estimating: memperkirakan rencana awal dan hasil yang akan diperoleh dengan konsep dasar yang telah dibangun. o Scheduling: menyusun jadwal secara berkala dalam melakukan perancangan aplikasi dari awal hingga akhir. o Tracking: melakukan observasi yang menyangkut dengan topik skripsi yang akan membantu penulis dalam melakukan penelitian.
Modeling yang dilakukan pada tahapan pendekatan Object Oriented tahap pertama meliputi: o Analysis: melakukan analisis terhadap beberapa jenis aplikasi yang sudah ada dan menjadi panduan dalam perancangan sistem. o Design: merancang dan membangun aplikasi dari hasil analisis yang diperoleh dan juga dengan konsep yang telah dirancang sebelumnya.
Construction yang dilakukan pada tahapan pendekatan Object Oriented tahap kedua meliputi: o Coding: mulai melakukan coding program untuk merancang aplikasi yang telah direncanakan. o Testing: melakukan uji coba pada program yang telah selesai dirancang. Lakukan error handling pada tahap ini untuk menghindari kesalahan atau masalah yang akan timbul ketika akan digunakan oleh para konsumen.
Deployment yang dilakukan ketika aplikasi siap dijalankan dan didemonstrasikan meliputi: o Delivery: melakukan distribusi dan ujicoba kepada para pengguna lainnya. o Support dan Feedback: evaluasi dari rancangan aplikasi yang telah dirancang.
3.2.2
Mekanisme Kerja Sistem 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. Maka itu digunakanlah Algoritma Partisi Ekspresi (Expression Partitioning Algorithm). Partisi yang benar dari sebuah ekspresi tidaklah selalu jelas bagi banyak orang. Perhatikan contoh pada Gambar 3.4.
Gambar 3.4 Efek Partisi pada Interpratasi Diagram ini menunjukkan bagaimana stroke pada sebuah ekpresi yang ambigu dapat dipartisi menjadi dua kelompok yang berbeda yang ditunjukkan dengan penempatan kotak pembatas di sekitar ekspresi. Lalu didapat dua hasil yang berbeda tergantung pada partisi stroke. Eksrepsi ini
bisa ditafsirkan sebagai 1 < x atau kx. Sebuah algoritma partisi yang baik harus bisa mempertimbangkan kedua kemungkinan dan menentukan definisi yang sesungguhnya dari ekspresi yang ditulis.
Gambar 3.5 Sebuah Ekspresi yang Dipartisi secara Baik dan Benar
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. Dan 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 on-line dan sistem off-line. Dalam sistem on-line, tulisan ditangkap oleh komputer sebagaimana tulisan tersebut dibentuk oleh pengguna pada sebuah perangkat input atau pada sebuah progam, contohnya Microsoft Paint. Sedangkan dalam sistem off-line, tulisan dibentuk oleh pengguna di atas kertas dan biasanya diperoleh sebagai gambar dengan menggunakan optic scanner. Sebagai contoh, perhatikan salah satu contoh karakter dalam Bahasa Yunani, Sigma (Σ) pada Gambar 3.6.
Gambar 3.6 Dua Karakter Berbeda Direpresntasikan oleh Simbol yang Sama Meskipun mereka digambar dan dibentuk dengan cara yang sama, mereka adalah dua karakter yang berbeda. Karena karakter yang berbeda dapat dibentuk
dengan
cara
yang
sama,
simbol
akan
digunakan
untuk
menggambarkan item yang sebenarnya akan digunakan oleh para pengguna. Hal ini penting untuk diperhatikan karena tidak hanya satu simbol mewakili
karakter yang berbeda, tapi simbol yang berbeda dapat mewakili karakter yang sama, seperti diperlihatkan pada Gambar 3.7.
Gambar 3.7 Dua Simbol Merepresentasikan Karakter yang Sama Dengan demikian, pemetaan dari simbol untuk karakter umumnya banyak, meskipun sering kali karakter tunggal diwakili oleh simbol tunggal.
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. Misalnya, yang satu dapat memilih untuk memulai membentuk suatu karakter pada titik awal secara acak dan kemudian melanjutkannya dengan gerakan yang baru atau mungkin dapat ditelusuri kembali sebagian yang telah tertulis. Beberapa variasi yang paling umum terjadi pada penulisan tangan adalah ketika stroke dibentuk secara sederhana dan juga dibentuk secara kompleks menjadi multi-stroke. Contohnya simbol “+” biasanya digambar dengan dua stroke. Stroke horisontal atau mendatar dapat dibentuk dalam dua arah, baik itu dari arah kiri ke kanan maupun kanan ke kiri. Dan stroke vertikal juga dapat dibentuk dalam dua arah, baik itu dari arah atas ke bawah maupun dari bawah ke atas.
Berikut beberapa contoh gambar pola tulisan tangan.
Gambar 3.8 Pola Penulisan Simbol “π”
Gambar 3.9 Bentuk Simbol yang
Ambigu Gambar 3.10 Dua Tipe Tulisan dari Angka “5”
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. Contohnya adalah ketika kita membedakan angka ‘5’ dengan huruf ‘S’ yang pola penulisannya hampir sama dapat membuat program ambigu dalam menentukan pilihan. 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.
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. Konsekuensi dari asumsi ini adalah bahwa tidak ada cara langsung untuk memperluasnya untuk jenis-jenis bentuk script yang kadang muncul dalam tulisan tangan matematika, seperti pada Gambar 3.11.
Gambar 3.11 Contoh Ekspresi Matematika dalam Bentuk Script
Pada gambar di atas, karakter “c”, “o” dan “s” ditulis dengan stroke tunggal. Untuk mengenali bentuk seperti itu, kerangka tulisan ini harus dikenal sebagai satu stroke, yaitu “cos”. Asumsi penting kedua adalah bahwa partisi yang optimal memiliki substruktur yang optimal juga. Ini berarti sebuah partisi yang optimal yang memiliki ekpresi yang besar dapat ditemui dengan menggabungkan partisi optimal yang memiliki ekspresi yang lebih kecil.
Hal ini dapat diilustrasikan pada Gambar 3.12.
Gambar 3.12 Contoh Ekspresi Matematika yang Dibentuk melalui Partisi-partisi
Gambar di atas menunjukkan serangkaian stroke yang dan dipartisi menjadi simbol-simbol, di mana stroke di setiap simbol telah diidentifikasi. Beberapa simbol yang terdapat pada ekspresi tersebut seperti “3” dan “2” merupakan satu simbol stroke, sementara yang lain, seperti “4” dan “=” adalah dua simbol stroke.
3.3
Perancangan Sistem 3.3.1
Class Diagram
Gambar 3.13 Class Diagram
3.3.2
Use Case Diagram
Gambar 3.14 Use Case Diagram untuk Handwriting Recognition
3.3.3
Sequence Diagram
Input Data
Gambar 3.15 Sequence Diagram untuk Input Data
Conversion to Text
Gambar 3.16 Sequence Diagram untuk Conversion to Text
Conversion to LaTex
Gambar 3.17 Sequence Diagram untuk Conversion to LaTex
Conversion to MathML
Gambar 3.18 Sequence Diagram untuk Conversion to MathML
Remove Data
Gambar 3.19 Sequence Diagram untuk Remove Data
Update Data
Gambar 3.20 Sequence Diagram untuk Update Data
3.3.4
Activity Diagram
Gambar 3.21 Activity Diagram
3.3.5
Rancangan Layar
Gambar 3.22 Rancangan Layar
3.3.6
Fokus Penelitian Fokus dari penelitian ini adalah:
Merancang dan mengembangkan model pengenalan tulisan tangan untuk ekspresi matematika disertai dengan proses konversi ke dalam bahasa pemrograman LaTex dan MathML.
Meneliti seberapa jauh sistem dapat melakukan pengenalan tulisan tangan untuk ekspresi matematika.