• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Pengenalan Aksara Arab Melayu Menggunakan Algoritma Freeman Chain Code Dan Support Vector Machine (SVM)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Pengenalan Aksara Arab Melayu Menggunakan Algoritma Freeman Chain Code Dan Support Vector Machine (SVM)"

Copied!
106
0
0

Teks penuh

(1)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Aksara arab melayu adalah salah satu warisan budaya yang harus tetap dilestarikan. Aksara arab melayu merupakan salah satu bentuk penulisan yang ditulis menggunakan aksara arab hijaiyah.Meskipun menggunakan aksara arab, pembacaannya menggunakan tata bahasa Indonesia karena huruf arab melayu berasal dari bahasa melayu.

Penulisan aksara arab melayu dilengkapi dengan konsonan abjad Indonesia yang ditulis dengan aksara arab yang telah dimodifikasi, seperti tidak adanya harakat atau ejaan dan huruf – huruf yang di pakai.Dalam penulisan aksara arab melayu ini ada beberapa huruf yang berbeda dari huruf hijaiyah sebagai huruf tambahan seperti huruf ca (

چ

), nga (

ڠ

), dan pa (

ڨ

).Aksara arab melayu bukan merupakan bentuk bahasa yang resmi digunakan oleh rakyat Indonesia, dikarenakan penggunaan aksara arab melayu ini semakin berkurang dan untuk membacanya dibutuhkan seseorang yang juga mampu membaca aksara arab melayu.

Pengenalan aksara arab melayu sama halnya dengan pengenalan bentuk atau pengenalan pola.Pengenalan pola pada aksara arab melayu bertujuan untuk melakukan proses terhadap suatu bentuk huruf arab melayu ke dalam salah satu kelas tertentu.Hal yang mempengaruhi pengenalan pola pada aksara arab melayu adalah bentuk huruf, jumlah titik, dan posisi titik.Secara umum terdapat dua hal yang dapat mempengaruhi proses pengenalan aksara arab melayu yaitu mekanisme ekstraksi ciri dan mekanisme klasifikasi.

(2)

code yang dilakukan adalah sebuah vektor ciri yang berisi informasi urutan kode chain code pembentuk huruf.

Support Vector Machine (SVM) adalah suatu metode klasifikasi learning machine yang berusaha menemukan hyperplane yang terbaik antar dua buah class pada input space[1]. Klasifikasi SVM melakukan proses transformasi data pada input space ke ruang yang berdimensi lebih tinggi dan optimisasi dilakukan pada ruang vektor yang baru. Hal yang membedakan SVM dari klasifikasi yang lain adalah SVM dapat melakukan optimisasi pada parameter pada ruang hasil transformasi yang berdimensi lebih rendah.

Berdasarkan masalah yang telah diuraikan, maka dibutuhkan suatu aplikasi untuk mengenal aksara arab melayu dan pelafalannya dalam huruf rumawi dengan memanfaatkan teknologi komputer khususnya dalam pengolahan citra untuk membantu dalam pengenalan aksara arab melayu dan menulis aksara arab melayu berbasis desktop dengan mengimplementasikan algoritma freeman chain code dan support vector machine. Pada permasalahan ini, metode freeman chain code digunakan untuk mengekstrak ciri-ciri huruf arab melayu dengan menelusuri piksel-piksel pembentuk huruf menggunakan 4 atau 8 arah mata angin.Sedangkan metode support vector machine (svm) sebagai klasifikasi pengenalan pola yang bertujuan menemukan hyperplane yang terbaik pada ciri-ciri pembentuk huruf.Oleh karena itu, dalam penelitian ini penulis membangun aplikasi pengenalan akasara arab melayu dengan judul “PEMBANGUNAN APLIKASI

PENGENALAN AKSARA ARAB MELAYU MENGGUNAKAN

ALGORITMA FREEMAN CHAIN CODE DAN SUPPORT VECTOR

MACHINE (SVM)”.

1.2 Rumusan Masalah

(3)

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian ini adalah membangun aplikasi pengenalan aksara arab melayu berbasis desktop.

Sedangkan tujuan yang akan dicapai pada penelitian ini adalah:

1. Mengimplementasi dan menganalisis sejauh mana keakuratan dan waktu yang diperlukan dalam pengenalan aksara arab melayu dengan menerapkan algoritma freeman chain code sebagai ekstraksi ciri dan metode support vector machine sebagai pengklasifikasian aksara arab melayu.

2. Memberikan media sebagai pengenalan menulis huruf arab melayu dan pelafalannya dalam huruf rumawi.

1.4 Batasan Masalah

Mengingat permasalahan yang dikaji sangat luas, agar penyajian lebih terarah dan mencapai sasaran yang ditentukan, maka diperlukan suatu pembatasan masalah atau ruang lingkup kajian yang meliputi hal-hal sebagai berikut:

1. Citra masukan merupakan tulisan tangan menggunakan optical mouse dengan kanvas tulis berukuran 200 x 200 piksel.

2. Algoritma ekstraksi ciri yang akan diimplimentasikan pada aplikasi yang akan dibangun adalah algoritma freeman chain code.

3. Pengklasifikasian menggunakan metode support vector machine (SVM) dengan menggunakan library LibSVM.

4. Keluaran pada aplikasi adalah waktu pengenalan aksara arab melayu dan pelafalannya dalam huruf rumawi.

5. Metode pengembangan perangkat lunak dilakukan dengan cara Object Oriented dan tools yang digunakan yaitu UML (Unified Modeling Language) dalam menggambarkan model fungsional dan diagram-diagram yang digunakan yaitu Use case diagram, class diagram, sequence diagram, activity diagram, dan skema tabel.

(4)

1.5 Metodologi Penelitian

Metodologi penelitian ini memiliki dua metode, yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.

1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah Studi Literatur dimana pengumpulan data dilakukan dengan cara mengumpulkan literatur, jurnal, paper yang ada kaitannya dengan judul penelitian.

2. Metode Pembangunan Perangkat Lunak

Mengenai metode yang digunakan dalam proses yang digunakan dalam tahap pembuatan perangkat lunak adalah dengan menggunakan metode Classical Life Cycle (CLC) atau yang biasa disebut dengan Waterfall. Beberapa proses diagram waterfall sebagai berikut :

a. Rekayasa dan pemodelan sistem/informasi (System/information enginering)

Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan kebutuhan-kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya ke dalam pembentukan perangkat lunak.

b. Analisis perangkat Lunak (Software Analysis)

Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan di bangun. Tahap ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

c. Perancangan perangkat Lunak (Software Design)

Tahap menerjemahkan syarat/kebutuhan kedalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum di mulai pemunculan kode.

d. Implementasi perangkat lunak (System Coding)

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang kedalam bahasa pemrograman tertentu.

(5)

Tahap penyatuan unit-unit program yang dibangun kemudian diuji secara keseluruhan.

f. Pemeliharaan (Maintenance)

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan-perubahan atau penambahan sesuai dengan permintaan user.

Gambar 1.1 Siklus Metode Waterfall (Pressman, 2010)

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB 2. TINJAUAN PUSTAKA

(6)

tentang konsep dasar serta teori-teori yang berkaitan dengan topik penelitian dan yang melandasi implementasi algoritma freeman chain code dan support vector machine pada aplikasi pembelajaran tulisan arab melayu yang akan dibangun.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan analisis dan perancangan sistem.Adapun analisis sistem meliputi pemodelan sistem yang di buat, seperti use case diagram, activity diagram, dan sequence diagram. Menjelaskan tentang perencanaan sistem secara keseluruhan berdasarkan hasil dari analisis perancangan sistem ini mencakup perancangan basis data, perancangan menu, dan perancangan interface atau antarmuka sistem yang akan dibangun.

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

Menjelaskan mengenai implementasi dan pengujian dari hasil analisis algoritma freeman chain code dan support vector machine terhadap karakter huruf arab melayu yang di-input-kan melalui Optical Mouse dan seberapa akuratnya menggunakan algoritma tersebut.

BAB 5. KESIMPULAN DAN SARAN

(7)

7

2.1 Sejarah Singkat Tulisan Arab Melayu

Sejarah tulisan Arab Melayu (yang di Pulau Jawa dikenal dengan huruf Arab Pegon dan populer di Malaysia dengan istilah tulisan Jawi) di Nusantara adalah bermula semenjak bangsa Melayu menerima agama islam, menggantikan kepercayaan dan agama-agama sebelumnya (Animisme, Hindu, dan Budha). Jika dikaitkan dengan masa masuknya agama Islam di Nusantara, maka adanya huruf Arab Melayu bermula kira-kira sejak tahun 1200 M/ 1300 M[2] .

Beberapa fakta sejarah yang membuktikan dipakainya tulisan Arab Melayu seja 700 / 800 tahun yang lalu adalah.

1. Penemuan batu-batu bersurat, antara lain di Terangganu (Malaysia), Aceh, Riau, Sumatra, dan daerah-daerah lain.

2. Makam para raja melayu di seluruh Nusantara yang menggunakan huruf Arab Melayu di batu nisannya.

3. Perhubungan antarbangsa, khususnya dengan Eropa, yang di antaranya berupa perjanjian raja-raja melayu islam dengan pihak kolonial Inggris telah menggunakan tulisan Arab Melayu.

2.2 Pelambangan Huruf Arab Melayu

(8)

Tabel 2.1 Huruf Arab Hijaiyah

No

Huruf

Arab Huruf Latin No

Huruf Arab

Huruf Latin

1

ا

Alif 15

ض

Dhad

2

ب

Ba' 16

ط

Tha'

3

ت

Ta' 17

ظ

Zha'

4

ث

Tsa' 18

ع

Ain

5

ج

Jim 19

غ

Ghain

6

ح

Ha' 20

ف

Fa'

7

خ

Kho' 21

ق

Qaf

8

د

Dal 22

ك

Kaf

9

ذ

Dzal 23

ل

Lam

10

ر

Ro' 24

م

Mim

11

ز

Zai' 25

ن

Nun

12

س

Sin 26

و

Wawu

13

ش

Syen 27 Ha'

14

ص

Shad 28

ي

Ya'
(9)

1. Huruf Vokal Arab Melayu.

Tabel 2.2 Huruf Vokal Arab Melayu

Rumawi A I U E O

Arab Melayu

ا

ي

و

ي

و

Vokal [i] dan [e] menggunakan lambang yang sama (

ي

), seperti halnya lambang (

و

).

2. Huruf Konsonan Arab Melayu.

a. Konsonan dari huruf Arab Melayu Tabel 2.3 Konsonan Huruf Arab Melayu

Rumawi Arab Melayu

B

ب

D

د

F

ف

H

ہ

J

ج

K

ك

L

ل

M

م

N

ن

Q

ق

R

ر

S

س

T

ت

W

و

Y

ي

(10)

b. Huruf jati Arab Melayu

Tabel 2.4 Huruf Jati Arab Melayu

Rumawi P G C Ny V Ng

Arab

Melayu

ڨ

ڬ

چ

پ

ۋ

ڠ

c. Konsonan Arab Hijaiyah yang menjadi bunyi pinjaman tulisan Arab Melayu.

Tabel 2.5 Huruf Konsonan Hijaiyah Menjadi Bunyi Pinjaman

Rumawi Arab Melayu

Tsa

ث

Ha

ح

Kha

خ

Dzal

ذ

Syin

ش

Shod

ص

Dhad

ض

Tha’

ط

Zha’

ظ

„Ain

ع

Ghain

غ

2.3 Handwriting Recognition (Pengenalan Tulisan Tangan)

Handwriting Recognition merupakan bagian dari Optical Character Recognition (OCR), dimana karakter masukan berasal dari tulisan tangan manusia yang kemudian diubah secara digitalisasi oleh komputer menjadi sebuah citra. OCR adalah sebuah sistem komputer yang dapat membaca huruf, baik yang berasal dari sebuah pencet maupun yang berasal dari tulisan tangan.

(11)

berupa teks sesuai dengan gambar output scanner dimana tingkat keakuratan penerjemahan karakter tergantung dari tingkat kejelasan gambar dan metode yang digunakan.

Berikut ilustrasi dari aplikasi OCR:

Gambar 2.1 Proses Pada OCR (Line Eikvil, 1993)

Prinsip kerja dari aplikasi OCR adalah sebagai berikut.

1. Memasukkan dokumen berisi teks (teks cetakan mesin) ke dalam alat optik (scanner) sehingga didapat sebuah file citra.

2. File citra tersebut diproses menggunakan perangkat lunak aplikasi pengenalan teks, di mana perangkat ini melakukan proses pengenalan terhadap karakter-karakter yang ada pada file citra tersebut.

3. Keluaran dari perangkat lunak aplikasi pengenalan teks ini berupa file teks yang berisi karakter-karakter yang telah dikenali dan siap untuk diolah lebih lanjut.

2.4 Citra Digital

(12)

tak tampak misalnya data gambar dalam file (citra digital) dan citra yang direpresentasikan menjadi fungsi matematis

Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pixel atau “picture element”).Setiap piksel digambarkan sebagai satu kotak kecil.Setiap piksel mempunyai koordinat posisi.

Sebuah piksel mempunyai koordinat berupa (x,y). Koordinat x menyatakan posisi kolom dan koordinat y menyatakan posisi baris.Piksel pojok kiri-atas mempunyai koordinat (0,0) dan piksel pada pojok kanan-bawah mempunyai koordinat (N-1, M-1).

2.5 Pengolahan Citra Digital

Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi setiap titik dalam citra sesuai keperluan,.Secara garis besar, modifikasi tersebut dikelempokan menjadi:

1. Operasi titik, di mana setiap titik diolah secara tidak gayut terhadap titik-titik yang lain.

2. Operasi global, di mana karakteristik global (biasanya berupa sifat statistik) dari citra digunakan untuk memodifikasi nilai setiap titik. 3. Operasi temporal/berbasis bingkai, di mana sebuah citra diolah

dengan cara dikombinasikan dengan citra lain.

4. Operasi geometri, di mana bentuk, ukuran, tau orientasi citra dimodifikasi secara geometris.

5. Operasi banyak titik bertetangga, di mana data dari titik-titik yang bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan dalam mengubah nilai.

6. Operasi morfologi, yaitu operasi berdasarkan segmen atau bagian dalam citra yang menjadi perhatian.

Jenis Citra 2.5.1

Ada tiga jenis citra yang umum digunakan dalam pemrosesan citra. Ketiga jenis citra tersebut yaitu citra berwarna, citra berskala keabuan, dan citra biner.

(13)

Citra berwarna, atau biasa dinamakan citra RGB, merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (merah), G (hijau), dan B (biru). Setiap komponen warna menggunakan 8 bit (nilainya berkisar antara 0 sampai dengan 255). Dengan demikian, kemungkinan warna yang bisa disajikan mencapai 255 x 255 x 255 atau 16.581.375 warna. Tabel 2.6 menunjukkan contoh warna dan nilai R,G, dan B.

Tabel 2.6 Nilai R,G, dan B

Warna R G B

Merah 255 0 0

Hijau 0 255 0

Biru 0 0 255

Hitam 0 0 0

Putih 255 255 255

Kuning 0 255 255

Sebuah warna tidak hanya dinyatakan dengan komposisi R,G dan B tunggal. Pada Tabel 2.4 terlihat bahwa warna merah mempunyai R= 255, G=0, dan B=0.Namun, komposisi R = 254, G=1, B=1 juga berwarna merah.

(14)

2) Citra Keabuan (Grayscale)

Citra gray scale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN =BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih.Citra gray scale berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan ).

Gambar 2.3 Citra Keabuan

3) Citra Biner (Monokrom)

Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih.Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom.

(15)

cahaya, sedangkan standar citra tinta/cat adalah berkebalikan karena nilai binertersebut menyatakan ada atau tidaknya tinta.

Gambar 2.4 Citra Biner

2.6 Ekstraksi Ciri atau fitur

Menurut Abdul Kadir dan Adhi Susanto, fitur suatu objek merupakan karakteristik yang melekat pada objek.Fitur bentuk merupakan suatu fitur yang diperoleh melalui bentuk objek dan dapat dinyatakan melaui kontur, area, dan transformasi.

Connected Component Labeling 2.6.1

Connected component labeling merupakan teknik yang juga bisa digunakan untuk mengklasifikasikan region atau objek dalam citra digital. Teknik ini memanfaatkan teori connectivity piksel pada citra. Piksel-piksel dalam region disebut connected (ada konektifitasnya atau connectivity) bila mematuhi aturan kedekata pada piksel . Aturan kedekatan piksel memanfaatkan sifat ketetanggaan piksel . Dengan demikian piksel-piksel yang di katakan terhubung pada dasarnya memiliki sifat kedekatan satu sama lain karena mereka masih memiliki hubungan neighbourhood atau ketetanggaan.

(16)

Gambar 2.5 Konektivitas pada connected component labeling

Freeman Chain Code 2.6.2

Rantai kode (chain code) merupakan contoh representasi kontur yang mula-mula diperkenalkan oleh Freeman pada tahun 1961. Representasi bentuk dilakukan dengan menggunakan pendekatan 8-ketetanggaan[8] .Kode rantai setiap tetangga piksel dinyatakan dengan sebuah angka sebagaimana terlihat pada gambar 2.6.

3 2 1

4 0

5 6 7

Gambar 2.6 Arah rantai kode beserta kodenya

(17)

dengan yang lainnya. Chain code adalah metode yang melakukan penelusuran piksel-piksel objek dengan panduan arah mata angin.

Teknik chain-code dapat digunakan untuk menemukan struktur pembentuk suatu objek.Hasil akhir dari teknik chain-code adalah sebuah vektor ciri yang berisi informasi urutan kode chain-code pembentuk objek.

Gambar 2.7 Contoh penelusuran piksel dengan chain code dan hasil penelusuran

2.6.2.1 Normalisasi chain code

(18)

dengan panjang chain code yang ditetapkan. Nilai frekuensi baru code ke-i didapatkan dengan rumus[5]:

Persamaan 2.1

Dimana:

 = Nilai chain code yang baru

 = Frekuensi kode ke-i

= total semua frekuensi 2.7 Klasifikasi

Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Proses klasifikasi biasanya dibagi menjadi dua fase yaitu fase learning dan fase test. Pada fase learning, sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui. Teknik ini dapat memberikan klasifikasi pada data baru dengan memanipulasi data yang ada yang telah diklasifikasi dan dengan menggunakan hasilnya untuk menghitung jarak antara ciri-ciri citra template dan citra masukan.

Support Vector Machine (SVM) 2.7.1

(19)

tahun 1992, belum pernah ada upaya merangkaikan komponen-komponen tersebut.

SVM adalah metode machine learning yang bekerja atas prinsip Structural Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbaik yang memisahkan dua buah class pada input space. SVM dapat digunakan untuk klasifikasi yang dapat diterapkan pada deteksi tulisan tangan, pengenalan obyek, identifikasi suara dan lain-lain.

Berbeda dengan strategi neural network yang berusaha mencari hyperplane pemisah antar class, SVM berusaha menemukan hyperplane yang terbaik pada input space. Prinsip dasar SVM adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem non-linear. dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi. Perkembangan ini memberikan rangsangan minat penelitian di bidang pattern recognition untuk investigasi potensi kemampuan SVM.

SVM Pada Data Terpisah Secara Linear 2.7.2

Kasus data yang terpisah secara linear adalah kasus yang termudah, seperti yang terlihat pada gambar 2.8.

Gambar 2.8 SVM berusaha menemukan hyperplane terbaik yang memisahkan dua kelas -1 dan +1

(20)

tergabung pada class -1 disimbolkan dengan kotak berwarna merah sementara pattern pada class +1 disimbolkan dengan lingkaran berwarna kuning. Masalah klasifikasi dapat diterjemahkan dengan usaha menemukan hyperplane yang memisahkan antara kedua kelompok tersebut. Hyperplane pemisah terbaik antara kedua class dapat ditemukan dengan mengukur margin hyperplane dengan pattern terdekat masing-masing class. Pattern yang paling dekat ini disebut dengan support vector. Garis solid pada gambar 2.8 sebelah kanan menunjukan hyperplane terbaik, yaitu yang terletak pada tengah-tengah kedua class, sedangkan titik merah dan kuning yang berada dalam lingkaran hitam adalah support vector. Data yang tersedia dinotasikan sebagai sedangkan label masing-masing dinotasikan untuk yang mana n adalah banyaknya data. Diasumsikan kedua class dapat terpisah secara sempurna oleh hyperplane berdimensi d , yang didefinisikan:

⃗⃗ ⃗⃗⃗

Pattern ⃗⃗⃗⃗ yang termasuk class –1 (sampel negatif) dapat dirumuskan sebagai pattern yang memenuhi pertidaksamaan

⃗⃗ ⃗⃗⃗

Sedangkan pattern ⃗⃗⃗⃗ yang termasuk class +1 (sampel positif)

⃗⃗ ⃗⃗⃗

Keterangan :

w = vector bobot

X = nilai masukan atribut b = bias

Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara jarak dan titik terdekatnya, yaitu ⁄ . Hal ini dapat dirumuskan sebagai Quadratic Programming (QP) problem, yaitu mencari titik minimal persamaan 2.5, dengan memperhatikan constraint persamaan 2.6.

(21)

Problem ini dapat dipecahkan dengan berbagai teknik komputasi, diantaranya lagrange multiplier yang dinyatakan pada persamaan 2.7.

| | ∑ ⃗⃗⃗ ⃗⃗

Persamaan 2.7 dengan

Dimana adalah lagrange multiplier, yang bernilai 0 atau positif . Nilai optimal dari persamaan 2.7 dapat dihitung dengan meminimalkan L terhadap w dan b, dan memaksimalkan L terhadap . Dengan memperhatikan sifat bahwa pada titik optimal gradient L=0 persamaan 2.7 dapat dimodifikasi sebagai maksimasi problem yang hanya mengandung , sebagaimana terlihat pada persamaan 2.8 dan 2.29.

∑ ⃗⃗⃗ ⃗⃗⃗

Dengan demikian, maka akan diperoleh yang kebanyakan bernilai positif yang disebut sebagai support vector dan juga memperoleh persamaan 2.10 dan 2.11 sebagai solusi bidang pemisah.

w =Σαiyixi Persamaan 2.10 b = yk- wTxk Persamaan 2.11

Kasus Data yang Tidak Terpisah Secara Linear 2.7.3

(22)

dengan memperkenalkan teknik softmargin. Dalam softmargin persamaan 2.6 dimodifikasi dengan menggunakan slack variabel sehingga terlihat pada persamaan 2.12.

Dengan demikian persamaan 2.5 diubah menjadi persamaan 2.13.

Fitur C digunakan untuk mengontrol tradeoff antara margin dan kesalahan klasifikasi .

Kernel Trick dan Non-Linear Classification pada SVM 2.7.4

Pada umumnya masalah dalam domain dunia nyata (real world problem) jarang yang bersifat linear separable. Kebanyakan bersifat non linear. Untuk menyelesaikan problem non linear, SVM dimodifikasi dengan memasukkan fungsi Kernel.

Dalam non linear SVM, pertama-tama data x dipetakan oleh fungsi Φ (x) ke ruang vektor yang berdimensi lebih tinggi. Pada ruang vektor yang baru ini, hyperplane yang memisahkan kedua class tersebut dapat dikonstruksikan. Hal ini sejalan dengan teori Cover yang menyatakan“Jika suatu transformasi bersifat non linear dan dimensi dari feature space cukup tinggi, maka data

pada input space dapat dipetakan ke feature space yang baru, dimana

pattern-pattern tersebut pada probabilitas tinggi dapat dipisahkan secara linear”.

Ilustrasi dari konsep ini dapat dilihat pada gambar 2.9. Pada gambar 2.9 diperlihatkan data pada class kuning dan data pada class merah yang berada pada input space berdimensi dua tidak dapat dipisahkan secara linear. Selanjutnya fungsi Φ memetakan tiap data pada input space tersebut ke ruang vektor baru yang berdimensi lebih tinggi (dimensi 3), dimana kedua class dapat dipisahkan secara linear oleh sebuah hyperplane. Notasi matematika dari mapping ini adalah sebagai berikut.

(23)

Gambar 2.9 Fungsi Φ memetakan data ke ruang vektor yang berdimensi lebih tinggi, sehingga kedua class dapat dipisahkan secara linear oleh sebuah

hyperplane

Pemetaan ini dilakukan dengan menjaga topologi data, dalam artian dua data yang berjarak dekat pada input space akan berjarak dekat juga pada feature space, sebaliknya dua data yang berjarak jauh pada input space akan juga berjarak jauh pada feature space.

Selanjutnya proses pembelajaran pada SVM dalam menemukan titik-titik support vector, hanya bergantung pada dot product dari data yang sudah ditransformasikan pada ruang baru yang berdimensi lebih tinggi, yaitu .

Karena umumnya transformasi ini tidak diketahui, dan sangat sulit untuk difahami secara mudah, maka perhitungan dot product tersebut sesuai teori Mercer dapat digantikan dengan fungsi kernel yang terlihat pada persamaan 2.15.

Beberapa kernel yang umum dipakai pada SVM adalah: 1. Polynomial

Kernel tirck polynomial cocok digunakan untuk menyelesaikan masalah klasifikasi, dimana dataetpelatihan sudah normal. Kernel trick ini dinyatakan dalam persamaan.

( ⃗⃗⃗ ⃗⃗⃗ ) ⃗⃗⃗ ⃗⃗⃗

(24)

Kernel trick radial basis function atau gaussian merupakan kernel yang paling banyak digunakan untuk menyelesaikan masalah klasifikasi untuk dataset yang tidak terpisah secara linear, dikarenakan akurasi pelatihan dan akurasi prediksi yang sangat baik pada kernel ini, dimana kernel radial basis function dinyatakan dalam persamaan 2.17.

( ⃗⃗⃗ ⃗⃗⃗ ) ( || ⃗⃗⃗ ⃗⃗⃗ || )

3. Sigmoid

Kernel sigmoid merupakan kernel trick svm yang merupakan pengembangan dari jaringan saraf tiruan, dimana kernel ini dinyatakan dengan persamaan 2.18.

( ⃗⃗⃗ ⃗⃗⃗ ) ( ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗ )

Kernel trick memberikan beberapa kemudahan, karena dalam proses pembelajaran SVM, untuk menentukan support vector, pengguna hanya cukup mengetahui fungsi kernel trick yang dipakai, tanpa perlu mengetahui wujud dari fungsi non-linier.

Dari keseluruhan kernel trick tersebut, kernel trick radial basis function merupakan kernel trick yang memberikan hasil terbaik pada proses klasifikasi khususnya untuk data yang tidak bisa dipisahkan secara linear.

Selanjutnya hasil klasifikasi dari data diperoleh dari persamaan berikut :

⃗⃗⃗ ( ⃗⃗⃗ ⃗⃗⃗ )

Multiclass SVM 2.7.5

(25)

dalam sebuah bentuk permasalah optimasi. Namun, pada pendekatan yang kedua permasalahan optimasi yang harus diselesaikan jauh lebih rumit. Ada dua metode yang umum digunakan untuk mengimplementasikan multi class SVM dengan pendekatan yaitu metode “one-against-all” dan metode “ one-against-one”.

2.7.5.1 One-Against-All

Dengan menggunakan metode ini, dibangun k buah model SVM biner (k adalah jumlah kelas). Contohnya, terdapat permasalahan klasifikasi dengan 4 buah kelas. Untuk pelatihan digunakan 4 buah SVM biner seperti pada tabel 2.7 dan penggunannya dalam mengklasifikasi data baru dapat dilihat pada gambar 2.10.

Tabel 2.7 Contoh SVM biner dengan metode One-against-all

Yi = 1 Yi=-1 Hipotesis

Kelas 1 Bukan Kelas 1 f 1 (x) = (w1 )x + b1

(26)

Gambar 2.10 Contoh klasifikasi dengan metode One-against-all

2.7.5.2 One-Against-One

Dengan menggunakan metode ini, dibangun buah model klasifikasi biner (k adalah jumlah kelas). Setiap model klasifikasi dilatih pada data dari dua kelas. Terdapat beberapa metode untuk melakukan pengujian setelah keseluruhan k(k−1)/ 2 model klasifikasi selesai dibangun. Salah satunya adalah metode voting.

Tabel 2.8 Contoh SVM biner dengan metode One-against-one

Yi=1 Yi=-1 Hipotesis

Kelas 1 Kelas 2 f 12 (x) = (w12 )x + b12

Kelas 1 Kelas 3 f 13 (x) = (w13 )x + b13 Kelas1 Kelas 4 f 14 (x) = (w14 )x + b14 Kelas 2 Kelas 3 f 23 (x) = (w23 )x + b23 Kelas 2 Kelas 4 f 24 (x) = (w24 )x + b24

(27)

Gambar 2.11 Contoh klasifikasi dengan metode One-against-one

2.8 Pemrograman Berorientasi Objek

Pemrograman berorientasi objek adalah metode implementasi dimana pemogram diorganisasaikan sebagai komunitas objek yang bekerja sama berinteraksi.Masing-masing merepresentasikan instan suatu kelas yang menyediakn sejumlah layanan yang relatif sederhana.Objek-objek saling berkomunikasi untuk mempertukarkan informasi.Prilaku kompleks diperolah dengan kerjasama antar objek-objek.Kelas-kelas dapat merupakan anggota hirarki yang disatukan lewat hubungan pewarisan.

Tiga aspek penting dalam pemrograman beriorientasi objek:

1. Menggunakan objek-objek bukan algoritma-algoritma sebagai blok-blok bangunnan logik dasar (hirarki “part of”).

2. Masing-masing objek adalah instan suatu kelas.

3. Kelas-kelas saling berhubungan lewat keterhubungan perwarisan (“is a”).

(28)

entitas-entitas independen yang disebut objek. Kelakukan objek harus didefenisikan tipe yang dapat didefenisiskan oleh program menggunakan bahasa.Tipe-tipe ini dapat dihubungkan melalui mekanisme pewarisan.

Citra/image yang telah tertanam mengenai pemrograman adalah membuat file teks kode sumber yang kemudian diberikan ke kompilator. Hal itu merupakan hanya salah satu bagian dari pemrograman.Tujuan nyata dari pemrogram adalah menciptakan kode yang benar (yaitu seluruhnya memenuhi kebutuhan), sementara kompilator hanya sanggup memeriksa sintaks dan membangkitkan kodek objek.

2.9 UML

Kegunaan diagram pada pemodelan adalah untuk formulisasi ekspresi model objek secara koheren, presisi dan mudah dirumuskan. Pemodelan berorientasi objek memerlukan kakas untuk mengekspresikan model. UML menyediakan sejumlah diagran untuk mengekspresikan pemodelan berorientasi objek yang dilakukan.

1. Use case diagram

Diagram use-case digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem. Diagram use-case menyediakan cara mendeskripsikan pandangan eksternal terhadap sistem dan interaksi –interaksinya dengan dunia luar. Dengan cara ini, diagram use-case menggantikan diagram konteks pada pendekatan konvensional.

Pemodelan ini biasa dilakukan lewat proses berulang interaksi antara pengembang dan pemakai untuk memperoleh spesifikasi kebutuhan yang sama-sama disepakati.

Pemodelan use-case diciptakan oleh Ivar Jacobson.

Tujuan utama pemodelan use-case adalah:

a. Memutuskan dan mendeskripsikan kebutuhan-kebutuhan fungsional sistem.

(29)

di seluruh proses pengembangan untuk komunikasi dan menyediakan basis untuk pemodelan berikutnya yang mengacu sistem harus memberikan fungsionalitas yang dimodelkan pada use-case.

c. Menyediakan basis untuk melakukan pengujian sistem yang memverifikasi sistem.Menguji apakah sistem telah memberikan fungsionalitas yang diminta.

d. Menyediakan kemampuan melacak kebutuhan fingsionalitas menjadi kelas-kelas dan operasi-operasi aktual di sistem.Untuk menyederhanakan perubahan dan ekstensi ke sistem dengan mengubah model use-case dan kemudian melacak use-case yang dipengaruhi ke perancangan dan implementasi sistem.

Elemen diagram use-case adalah: a) Aktor

Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain.Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa atau apa yang menggunakan sistem.Yang dimaksud dengan berinteraksi adalah aktor mengirim atau menerima pesan ke atau dari sistem, atau mempertukarkan informasi dengan sistem. Dalam perspektif aktor, use-case melakukan sesuatu yang berharga bagi aktor.

Aktor adalah tipe (kelas), bukan instan. Aktor merepresentasikan peran bukan pemakai individu dari sistem.Aktor mempunyai nama. Nama yang dipilih seharusnya menyatakan peran aktor.

b) Use-Case

(30)

1. Pola perilaku yang harus dipenuhi oleh sistem.

2. Sekuen transaksi terhubung yang dilakukan aktor dan sistem. 3. Memberikan sesuatu yang berharga bagi aktor.

c) Hubungan antar use-case.

Keterhubungan antar case dengan user-case lain berupa generalisasi antar use-case, yaitu:

[image:30.595.200.473.340.568.2]

1. Include, perilaku use-case merupakan bagian dari use-case yang lain. 2. Extend, perilaku use-case memperluas perilaku use-case yang lain.

Gambar 2.12 Contoh Use Case

2. Sequence Diagram

Diagram sekuen mendeskripsikan komunikasi di antara objek-objek , meliputi pesan-pesan yang ada dan urutan pesan tersebut muncul.

Diagram sekuen digunakan untuk: 1. Overview perilaku sistem.

2. Menunjukkan objek-objek yang diperlukan.

(31)
[image:31.595.152.533.153.427.2]

4. Memeriksa jalur-jalur pengaksesan

Gambar 2.13 Contoh Sequence Diagram

3. Colloboration Diagram

Diagram kolaborasi mendefinisikan peran-peran yang dimainkan ketika satu tugas dilakukan.Peran-peran dimainkan oleh instan-instan yang berinteraksi. Diagram kolaborasi menyatakan komunikasi di antara objek-objek yang menunjukkan pesan-pesan yang ada, urutan pesan dan hubungan antar objek-objek.

Diagram kolaborasi digunakan untuk:

1. Pandangan dalam dari perilaku sistem, berfokus pada link-link di antara objek.

2. Ilustrasi dari suatu diagram use-case.

3. Menyatakan objek-objek yang diperlukan untuk merealisasikan suatu layanan.

(32)

Kriteria diagram interaksi yang bagus adalah:

1. Fokus pada mengkomunikasi satu aspek dinamisasi sistem.

2. Hanya berisi elemen-elemen yang secara esensi memahamai aspek ini.

3. Menyediakan konsistensi rinci dengan level abstraksinya dan seharusnya hanya mengemukakan hal-hal esensi yang perlu dipahami.

[image:32.595.204.455.338.631.2]

4. Bukan minimalis sehingga informasi ke pembaca mengenai simantiks yang penting tidak kurang.

Gambar 2.14 Contoh Colloboration Diagram

4. Class Diagram

(33)
[image:33.595.118.430.174.478.2]

kelas-kelas yang ada di sistem dan hubungan antar kelas-kelas-kelas-kelas itu, atribut-atribut dan operasi-operasi di kelas-kelas.

Gambar 2.15 Contoh Class Diagram

2.10 Java Netbeans

(34)
(35)

123

Implementasi sistem menjelaskan pengimplementasikan dari sistem yang telah dibuat.Implementasi yang dijelaskan berupa implementasi perangkat keras, implementasi perangkat lunak, dan implementasi proses.

Implementasi Perangkat Keras 4.1.1

[image:35.595.145.475.584.672.2]

Implementasi perangkat keras menjelaskan perangkat keras yang digunakan untuk mengimplementasikan sistem yang telah dibuat. Implementasi perangkat keras yang digunakan pada sistem ini dapat dilihat pada tabel 4.1.

Tabel 4.1 Implementasi Perangkat Keras

No Perangkat Keras Spesifikasi

1 Processor AMD A8

2 Memory RAM 4 GB DDR3

3 Hard Disk 500 GB

4 Monitor Monitor 14 inch

Implementasi Perangkat Lunak 4.1.2

Implementasi perangkat lunak menjelaskan perangkat lunak yang digunakan untuk megimplementasi sistem yang telah dibuat. Implementasi perangkat lunak yang digunakan pada sistem ini dapat dilihat pada tabel 4.2.

Tabel 4.2 Implementasi Perangkat Lunak

No Perangkat Lunak Spesifikasi

1 Sisitem Operasi Windows 7 Profesional (64-bit)

2 Bahasa Pemograman Java NetBean 8.0

3 Pemodelan UML (Unified Modeling Language)

Implementasi Proses 4.1.3

(36)

4.1.3.1 Tampilan Awal Aplikasi

[image:36.595.113.510.171.435.2]

Tampilan awal merupakan tampilan yang pertama kali muncul ketika aplikasi dijalankan.Tampilan awal aplikasi dapat dilihat pada gambar 4.1.

Gambar 4.1 Tampilan Awal Aplikasi

4.1.3.2 Tampilan Setelah Menampilkan Data Latih

(37)
[image:37.595.114.512.111.363.2]

Gambar 4.2 Tampilan Menampilkan Data Latih

Data pelatihan berjumlah 170 data latih.Untuk lebih lengkapnya data pelatihan dapat dilihat pada lampiran data pelatihan.

4.1.3.3 Tampilan Setelah Menulis Karakter Pada Area Menulis

(38)
[image:38.595.114.511.111.366.2]

Gambar 4.3 Tampilan Menulis di Area Menulis

4.1.3.4 Tampilan Aplikasi Hasil Pengenalan Karakter

(39)
[image:39.595.114.512.112.370.2]

Gambar 4.4 Tampilan Hasil Pengenalan Karakter

4.1.3.5 Tampilan Tambah Data Latih

Tampilan tambah data latih menampilkan data latih yang akan di tambah ke aplikasi.Tampilan tambah data latih dapat dilihat pada gambar 4.5.

[image:39.595.111.511.463.724.2]
(40)

4.1.3.6 Tampilan Menu Bantuan

Tampilan menu bantuan menampilkan menu informasi cara penggunaan aplikasi.Tampilan menu bantuan dapat dilihat pada gambar 4.6.

Gambar 4.6 Tampilan Menu Bantuan

4.1.3.7 Tampilan Pesan Ketika Data Latih Disimpan

[image:40.595.113.510.176.428.2]

Tampilan pesan ini muncul apabila pengguna selesai menyimpan seluruh data latih dan data latih di simpan kedalam file dengan format .txt.Tampilan pesan pemberitahuan ketika data latih telah disimpan dapat dilihat pada gambar 4.7.

Gambar 4.7 Tampilan Pesan Ketika Data Latih Disimpan

4.1.3.8 Tampilan Pesan Ketika Hapus Data Latih

(41)

Gambar 4.8 Tampilan Pesan Ketika Hapus Data Latih

4.1.3.9 Tampilan Pesan Ketika Tidak Memilih Data Latih

Tampilan pesan ini muncul apabila pengguna tidak memilih data latih yang akan dihapus. Tampilan pesan pemberitahuan ketika tidak memilih data latih yang akan dihapus dapat dilihat pada gambar 4.9.

Gambar 4.9 Tampilan Pesan Ketika Tidak Memilih Data Latih

4.1.3.10 Tampilan Pesan Ketika Tidak Ada Karakter

[image:41.595.224.437.113.208.2]

Tampilan pesan ini muncul apabila pengguna belum menulis karakter pada area menulis yang disediakan.Tampilan pesan pemberitahuan tidak ada gambar pada area menulis dapat dilihat pada gambar 4.10.

Gambar 4.10 Tampilan Pesan Ketika Tidak Ada Karakter

4.1.3.11 Tampilan Pesan Tidak Ada Data Latih

(42)
[image:42.595.208.419.322.421.2]

Gambar 4.11 Tampilan Pesan Tidak Ada Data Latih

4.1.3.12 Tampilan Pesan Ketika Keluar Aplikasi

Tampilan pesan ini muncul apabila pengguna ingin keluar dari aplikasi pengenalan akasara arab melayu.Tampilan pesan pemberitahuan keluar dari aplikasi dapat dilihat pada gambar 4.12.

Gambar 4.12 Tampilan Pesan Ketika Keluar Aplikasi

4.1.3.13 Tampilan Pesan Waktu Proses Identifikasi Karakter

Tampilan pesan ini muncul apabila pengguna memilih menu proses dan menampilkan waktu proses hasil pengenalan atau identifikasi karakter.Tampilan pesan pemberitahuan waktu proses identifikasi huruf dapat dilihat pada gambar 4.13.

[image:42.595.206.415.558.656.2]
(43)

4.2 Pengujian Sistem

Pengujian sistem merupakan hal yang penting yang bertujuan untuk menemukan kesalahan dan kekurangan pada perangkat lunak. Pengujian sistem juga bermaksud untuk mengetahui perangkat lunak yang telah dibangun sudah sesuai dengan tujuan perancangan perangkat lunak tersebut.

Rencana Pengujian 4.2.1

Rencana pengujian aplikasi pengenalan aksara arab melayu menggunakan metode pengujian black box. Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box merupakan metode perancangan data uji yang didasarkan pada sepesifikasi perangkat lunak yang dibuat.

Tabel 4.3 Rencana Pengujian Aplikasi

Butir Uji Jenis Pengujian

1. Proses menulis karakter 2. Proses identifikasi huruf 3. Proses tambah data latih 4. Proses simpan data latih 5. Proses hapus data latih 6. Proses tampil data latih

7. Proses kesalahan tidak ada karakter 8. Proses kesalahan tidak ada data latih 9. Proses kesalahan tidak memilih data latih

yang akan dihapus

Black box

4.2.1.1 Hasil Pengujian

Berdasarkan rencana pengujian yang telah disusun, maka dapat dilakukan pengujian sebagai berikut:

1. Proses menulis karakter

Tabel 4.4 Proses menulis karakter

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button menulis dan menulis karakter menggunakan

Mengaktifkan canvas untuk menulis karakter

Proses dapat mengaktifkan canvas dan menulis karakter

(44)

optical mouse pada canvas

2. Proses identifikasi huruf

Tabel 4.5 Proses identifikasi huruf

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button proses

Dapat

mengidentifikasi karakter arab melayu dan menampilkan huruf arab melayu dan bentuknya dalam huruf rumawi serta penjelasannya

Proses dapat melakukan pengidentifikasi terhadap huruf arab melayu dan

menampilkan bentuk huruf arab melayu dalam huruf rumawi serta keterangannya.

[X] Diterima [ ] Ditolak

3. Proses tambah data latih

Tabel 4.6 Proses tambah data latih

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button tambah data

Dapat menambah data latih baru

Proses dapat melakukan penambahan data latih yang baru

[X] Diterima [ ] Ditolak

4. Proses simpan data latih

Tabel 4.7 Proses simpan data latih

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button simpan

Dapat menyimpan data latih terbaru.

Proses dapat melakukan

penyimpanan data latih terbaru

[X] Diterima [ ] Ditolak

5. Proses hapus data latih

Tabel 4.8 Proses hapus data latih

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button hapus

Dapat menyimpan menghapus data latih yang diinginkan

Proses dapat melakukan penghapusan

(45)

terhadap data latih yang diinginkan

[image:45.595.107.515.102.602.2]

6. Proses tampil data latih

Tabel 4.9 Proses tampil data latih

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih button tampil

Dapat menampilkan seluruh data latih.

Proses dapat menampilkan seluruh data latih

[X] Diterima [ ] Ditolak

7. Proses kesalahan tidak ada karakter

Tabel 4.10 Proses kesalahan tidak ada karakter

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Canvas dalam keadaan kosong atau tidak ada karakter yang ditulis.

Dapat menampilkan pemberitahuan atau pesan kesalahan tidak ada karakter.

Proses dapat menampilkan pesan kesalahan tidak ada karakter.

[X] Diterima [ ] Ditolak

8. Proses kesalahan tidak ada data latih

Tabel 4.11 Proses kesalahan tidak ada data latih

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Data latih dalam keadaan kosong atau tidak ada data latih

Dapat menampilkan pemberitahuan atau pesan kesalahan tidak ada data latih.

Proses dapat menampilkan pesan kesalahan tidak ada data latih.

[X] Diterima [ ] Ditolak

9. Proses kesalahan tidak memilih data latih yang akan dihapus

Tabel 4.12 Proses kesalahan tidak memilih data latih yang akan dihapus

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Tidak memilih data latih yang akan dihapus

Dapat menampilkan pemberitahuan atau pesan kesalahan untuk memilih data latih yang akan dihapus

Proses dapat menampilkan pesan kesalahan tidak ada data latih yang dipilih

(46)
(47)

1) Pengujian pada karakter alif

Tabel 4.13 Pengujian Karakter Alif No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 6 6 6 6 6 6 6

2 2 2

0,865 detik

Berhasil Dikenali

2 1 0 6 6 6 6 6 2 2

2 2 2

0.633 detik

Berhasil Dikenali

3 1 0 6 6 6 6 6 6

6 2 2 2

0,183 detik

Berhasil Dikenali

4 1 0 5 5 6 6 6 0 1

1 2 2

0,143 detik

Berhasil Dikenali

5 1 0 6 6 6 6 2 2 2

2 7 7

0,214 detik

Berhasil Dikenali

6 1 0 6 6 2 2 7 7 7

0 3 3

0,110 detik

(48)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 6

Persentase keakuratan : 100%

2) Pengujian pada karakter ba

Tabel 4.14 Pengujian Karakter Ba No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 2 0 0 0 0 5 4 4

4 4 1

0,996 detik

Berhasil Dikenali

2 2 2 0 0 0 5 6 6 4

4 4 1

0.286 detik

Berhasil Dikenali

3 2 2 0 0 5 4 4 1 6

6 2 2

0,247 detik

Berhasil Dikenali

4 2 2 5 0 0 0 6 6 4

4 4 1

0.404 detik

Berhasil Dikenali

5 2 2 7 0 0 0 3 4 4

4 6 2

0.395 detik

Berhasil Dikenali

6 2 2 0 0 0 7 4 4 4

6 6 5

(49)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 6

Persentase keakuratan : 100%

[image:49.595.43.541.214.688.2]

3) Pengujian pada karakter ta

Tabel 4.15 Pengujian Karakter Ta No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 3 1 0 0 0 0 5 4 4

4 4 1 0,325 detik

Berhasil Dikenali

2 3 1 0 0 0 0 5 4 4

4 4 6 0,16 detik

Berhasil Dikenali

3 3 1 0 0 5 4 4 7 6

6 1 2 0,141 detik

Berhasil Dikenali

4 3 1 0 0 0 5 4 4 4

1 6 6 0,215 detik

Berhasil Dikenali

5 3 1 0 0 0 7 4 4 4

6 2 3 0,297 detik

Berhasil Dikenali

6 3 1 0 0 6 6 4 4 5

7 1 2 0,147 detik

Tidak Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 5

(50)
[image:50.595.40.543.122.643.2]

4) Pengujian pada karakter tsa

Tabel 4.16 Pengujian Karakter Arab Tsa No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 4 1 0 0 0 0 5 4 4

4 4 7 0,309 detik

Berhasil Dikenali

2 4 1 0 0 0 6 6 4 4

4 2 2 0,151 detik

Berhasil Dikenali

3 4 1 6 6 2 2 5 1 0

0 4 4

0,122 detik

Berhasil Dikenali

4 4 1 6 6 0 0 0 4 4

4 2 2 0,223 detik

Berhasil Dikenali

5 4 1 0 0 0 4 4 4 7

6 2 3 0,263 detik

Berhasil Dikenali

6 4 1 0 0 0 7 4 4 4

6 6 2 0,139 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 6

(51)
[image:51.595.41.541.149.674.2]

5) Pengujian pada karakter jim

Tabel 4.17 Pengujian Karakter Jim No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 2 0 0 0 6 6 4 4

4 5 7

0,473 detik

Berhasil Dikenali

2 2 2 0 0 0 6 6 4 4

4 5 7

0,158 detik

Berhasil Dikenali

3 2 2 0 0 0 6 4 4 4

5 7 1

0,149 detik

Berhasil Dikenali

4 2 2 0 0 6 6 4 4 5

7 7 1

0,386 detik

Berhasil Dikenali

5 2 2 5 5 0 0 1 1 4

4 6 6

0,394 detik

Berhasil Dikenali

6 2 2 5 5 6 6 0 0 1

1 2 2

0,168 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 6

(52)
[image:52.595.41.541.154.736.2]

6) Pengujian pada karakter Ha’

Tabel 4.18 Pengujian Karakter Ha No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 0 0 0 6 6 4 4

4 5 7

0,494 detik

Berhasil Dikenali

2 1 0 0 0 0 0 5 4 4

4 4 6 0,184 detik

Tidak Dikenali

3 1 0 0 0 6 6 4 4 5

7 1 2

0,176 detik

Berhasil Dikenali

4 1 0 0 0 6 6 4 4 5

7 1 2

0,423 detik

Berhasil Dikenali

5 1 0 0 0 5 5 6 6 7

4 4 1

0,435 detik

Tidak Dikenali

6 1 0 0 0 5 5 6 6 4

4 1 1 0,18 detik

Tidak Dikenali

(53)

Jumlah pengenalan karakter yang dikenali : 3

Persentase keakuratan : 50%

7) Pengujian pada karakter Kha

Tabel 4.19 Pengujian Karakter Kha No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 0 0 0 6 6 4 4

4 5 7

0,478 detik

Berhasil Dikenali

2 2 1 0 0 0 6 6 4 4

4 5 7 0,165 detik

Berhasil Dikenali

3 2 1 0 0 0 6 4 4 4

5 7 1 0,162 detik

Berhasil Dikenali

4 2 1 0 0 6 6 4 4 5

7 7 1

0,404 detik

Berhasil Dikenali

5 2 1 5 5 0 0 1 1 4

4 6 6 0,444 detik

Berhasil Dikenali

6 2 1 5 5 6 6 0 0 1

1 2 2 0,187 detik

Berhasil Dikenali

(54)

Jumlah pengenalan karakter yang dikenali : 6

Persentase keakuratan : 100%

8) Pengujian pada karakter dal

Tabel 4.20 Pengujian Karakter Dal No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 0 0 0 4 4 4 7

3 6 6

0,424 detik

Berhasil Dikenali

2 1 0 0 0 4 4 7 3 6

6 2 2

0,201 detik

Berhasil Dikenali

3 1 0 6 6 2 2 7 3 0

0 4 4

0,142 detik

Berhasil Dikenali

4 1 0 0 0 4 4 7 6 6

2 2 3

0,12 detik Berhasil Dikenali

5 1 0 0 0 0 4 4 4 7

7 6 6

1,279 detik

Berhasil Dikenali

6 1 0 0 0 5 4 4 7 1

3 6 6

0,203 detik

(55)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 5

Persentase keakuratan : 83%

9) Pengujian pada karakter dzal

Tabel 4.21 Pengujian Karakter Dzal

No Karakter Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 0 0 4 4 7 3 6

6 2 2

0,381 detik

Berhasil Dikenali

2 2 1 0 0 0 4 4 4 7

7 3 3

0,103 detik

Berhasil Dikenali

3 2 1 0 0 4 4 7 3 6

6 2 2

0,282 detik

Berhasil Dikenali

4 2 1 6 6 6 7 0 0 2

2 2 3

0,129 detik

Berhasil Dikenali

5 2 1 0 0 0 5 4 4 4

7 1 3

0,381 detik

Tidak Dikenali

6 2 1 0 0 0 5 5 6 6

4 4 4

0,157 detik

(56)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 4

Persentase keakuratan : 67%

[image:56.595.39.542.178.728.2]

10)Pengujian pada karakter ra

Tabel 4.22 Pengujian Karakter Ra No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 0 4 6 6 2 2 5

5 5 1

0,267 detik

Berhasil Dikenali

2 1 0 0 6 6 6 4 5 5

1 1 2

0,117 detik

Berhasil Dikenali

3 1 0 6 6 2 2 5 5 0

0 0 1

0,126 detik

Tidak Dikenali

4 1 0 6 2 5 5 1 1 0

0 0 4

0,238 detik

Tidak Dikenali

5 1 0 6 6 6 7 0 2 2

2 3 4

0,251 detik

Berhasil Dikenali

6 1 0 6 6 7 7 0 0 2

2 3 3

0,121 detik

(57)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 4

Persentase keakuratan : 67%

[image:57.595.41.542.192.723.2]

11)Pengujian pada karakter zai

Tabel 4.23 Pengujian Karakter Zai No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 0 0 6 6 4 4 5

5 5 1

0,272 detik

Berhasil Dikenali

2 2 1 6 6 6 2 2 2 0

4 5 5

0,101 detik

Berhasil Dikenali

3 2 1 6 2 2 5 5 1 1

0 0

0,108 detik

Berhasil Dikenali

4 2 1 6 2 5 5 5 1 1

1 0 0

0,222 detik

Berhasil Dikenali

5 2 1 0 4 6 6 6 2 2

2 5 5

0,232 detik

Berhasil Dikenali

6 2 1 6 6 7 7 0 0 2

2 3 3

0,131 detik

Berhasil Dikenali

(58)

Jumlah pengenalan karakter yang dikenali : 6

Persentase keakuratan : 100%

[image:58.595.40.543.195.723.2]

12)Pengujian pada karakter sin

Tabel 4.24 Pengujian Karakter Sin No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 6 6 2 2 0 0 5

4 4 1

0,514 detik

Berhasil Dikenali

2 1 0 0 0 5 4 4 6 6

6 1 2

0,178 detik

Tidak Dikenali

3 1 0 5 1 6 6 0 0 2

2 4 4

0,193 detik

Berhasil Dikenali

4 1 0 0 0 0 5 4 4 4

1 6 6

0,416 detik

Tidak Dikenali

5 1 0 6 6 2 2 7 3 0

0 4 4

0,349 detik

Berhasil Dikenali

6 1 0 0 0 4 4 7 3 6

6 2 2

0,225 detik

(59)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 3

Persentase keakuratan : 50%

[image:59.595.39.542.241.755.2]

13)Pengujian pada karakter syen

Tabel 4.25 Pengujian Karakter Syen No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 4 1 6 6 2 2 7 3 0

0 4 4

0,548 detik

Berhasil Dikenali

2 4 1 5 6 6 6 1 2 2

2 0 0

0,148 detik

Berhasil Dikenali

3 4 1 0 0 5 5 6 6 4

4 1 1

0,164 detik

Tidak Dikenali

4 4 1 0 0 0 5 6 6 4

4 4 1

0,356 detik

Berhasil Dikenali

5 4 1 6 6 7 0 0 2 2

3 4 4

0,384 detik

Berhasil Dikenali

6 4 1 0 0 4 4 7 3 6

6 2 2

0,222 detik

(60)

Banyak pengujian :6 Jumlah pengenalan karakter yang dikenali : 5

Persentase keakuratan : 83%

[image:60.595.41.543.244.682.2]

14)Pengujian pada karakter shad

Tabel 4.26 Pengujian Karakter Shad No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 0 0 0 5 4 4 4

7 1 3

0,558 detik

Tidak Dikenali

2 1 0 0 0 0 5 4 4 4

7 6 6

0,19 detik Berhasil Dikenali

3 1 0 0 0 0 5 6 6 4

4 4 1

0,207 detik

Berhasil Dikenali

4 1 0 0 0 0 5 4 4 4

1 6 2

0,425 detik

Tidak Dikenali

5 1 0 0 0 5 5 4 4 7

6 6 1

0,493 detik

(61)

6 1 0 0 0 5 4 4 7 6 6 1 2

0,203 detik

Tidak Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 2

Persentase keakuratan : 33%

[image:61.595.40.541.362.724.2]

15)Pengujian pada karakter dhad

Tabel 4.27 Pengujian Karakter Dhad No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 0 0 0 5 4 4 4

7 1 3

0,457 detik

Berhasil Dikenali

2 2 1 0 0 0 5 4 4 4

7 1 6

0,17 detik Berhasil Dikenali

3 2 1 0 0 0 6 6 4 4

4 5 1

0,232 detik

Tidak Dikenali

4 2 1 0 0 0 5 4 4 4

1 6 2

0,469 detik

(62)

5 2 1 0 0 5 5 4 4 7 1 1 3

0,461 detik

Berhasil Dikenali

6 2 1 0 0 5 4 4 7 6

6 1 2

0,211 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 5

Persentase keakuratan : 83%

[image:62.595.37.545.108.283.2]

16)Pengujian pada karakter tha

Tabel 4.28 Pengujian Karakter Tha No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 6 6 2 2 5 1 0

0 0 4

0,509 detik

Berhasil Dikenali

2 1 0 0 0 6 6 4 4 5

1 2 2

0,184 detik

Berhasil Dikenali

3 1 0 6 6 2 2 5 5 1

1 0 0

0,157 detik

(63)

4 1 0 6 6 2 2 5 1 0 0 0 4

0,475 detik

Tidak Dikenali

5 1 0 0 0 7 4 4 6 6

2 2 3

0,673 detik

Tidak Dikenali

6 1 0 7 3 6 6 0 5 4

2 2 1

0,165 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 4

Persentase keakuratan : 67%

[image:63.595.45.543.113.465.2]

17)Pengujian pada karakter zha

Tabel 4.29 Pengujian Karakter Zha No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 6 6 2 2 0 0 0

5 4 4

0,657 detik

Berhasil Dikenali

2 2 1 6 6 2 2 0 0 0

5 4 4

0,154 detik

(64)

3 2 1 0 0 5 6 6 7 4 4 1 2

0,186 detik

Berhasil Dikenali

4 2 1 0 0 0 5 5 4 4

4 1 1

0,67 detik Tidak Dikenali

5 2 1 6 6 2 2 7 3 0

0 4 4

0,579 detik

Berhasil Dikenali

6 2 1 7 3 6 6 0 5 4

2 2 1

0,177 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 5

Persentase keakuratan : 83%

[image:64.595.43.543.111.451.2]

18)Pengujian pada karakter ain

Tabel 4.30 Pengujian Karakter Ain No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 0 0 0 5 4 4 4

1 6 2

0,508 detik

(65)

2 1 0 0 0 0 6 6 4 4 4 5 1

0,185 detik

Berhasil Dikenali

3 1 0 0 0 0 5 4 4 4

7 6 6

0,213 detik

Tidak Dikenali

4 1 0 0 0 6 6 4 4 5

7 1 2

0,526 detik

Tidak Dikenali

5 1 0 0 0 5 4 4 6 6

1 2 2

0,476 detik

Tidak Dikenali

6 1 0 6 6 2 2 5 1 0

0 4 4

0,178 detik

Tidak Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 2

Persentase keakuratan : 33%

[image:65.595.40.545.113.646.2]

19)Pengujian pada karakter ghain

Tabel 4.31 Pengujian Karakter Ghain No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

(66)

1 2 1 0 0 0 5 6 6 4 4 4 7

0,488 detik

Berhasil Dikenali

2 2 1 0 0 5 5 6 6 4

4 7 1

0,14 detik Berhasil Dikenali

3 2 1 0 0 0 5 6 4 4

4 7 1

0,162 detik

Tidak Dikenali

4 2 1 0 0 5 4 4 7 6

6 1 2

0,364 detik

Tidak Dikenali

5 2 1 0 0 5 5 4 4 1

1 6 6

0,375 detik

Tidak Dikenali

6 2 1 6 6 2 2 5 1 0

0 4 4

0,185 detik

Tidak Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 2

Persentase keakuratan : 33%

[image:66.595.41.540.105.621.2]

20)Pengujian pada karakter fa

Tabel 4.32Pengujian Karakter Fa

(67)

Masukan Label Titik Dikenali

1 2 1 0 0 0 5 4 4 4

7 6 1

0,468 detik

Berhasil Dikenali

2 2 1 0 0 0 5 6 6 4

4 4 1

0,182 detik

Berhasil Dikenali

3 2 1 0 0 6 6 4 4 2

2 7 7

0,229 detik

Tidak Dikenali

4 2 1 0 0 0 5 6 4 4

4 7 1

0,354 detik

Berhasil Dikenali

5 2 1 0 0 5 5 6 6 4

4 1 1

0,453 detik

Tidak Dikenali

6 2 1 0 0 6 6 4 4 5

7 1 2

0,213 detik

Tidak Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 3

Persentase keakuratan : 50%

(68)

Tabel 4.33 Pengujian Karakter Qaf No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 3 1 0 0 0 5 6 4 4

4 7 1

0,44 detik Berhasil Dikenali

2 3 1 0 0 0 6 6 4 4

4 5 7

0,16 detik Berhasil Dikenali

3 3 1 6 6 2 2 0 0 5

4 4 7

0,148 detik

Berhasil Dikenali

4 3 1 0 0 5 4 4 1 6

6 2 2

0,501 detik

Berhasil Dikenali

5 3 1 0 0 0 5 6 6 4

4 4 7

0,444 detik

Berhasil Dikenali

6 3 1 0 0 6 6 4 4 5

7 1 2

0,207 detik

Berhasil Dikenali

Banyak pengujian :6

Jumlah pengenalan karakter yang dikenali : 6

(69)

22)Pengujian pada karakter kaf

Tabel 4.34 Pengujian Karakter Kaf No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 2 1 6 6 6 2 2 2 5

1 0 0

0,54 detik Berhasil Dikenali

2 2 1 6 6 6 2 2 2 0

0 4 4

0,152 detik

Berhasil Dikenali

3 2 1 0 0 0 6 4 4 4

5 5 1

0,177 detik

Tidak Dikenali

4 2 1 6 6 6 2 2 2 5

1 0 0

0,63 detik Berhasil Dikenali

5 2 1 0 0 4 4 7 7 3

3 6 6

0,425 detik

Berhasil Dikenali

6 2 1 0 0 6 6 4 4 5

7 1 2

0,153 detik

Berhasil Dikenali

(70)

Jumlah pengenalan karakter yang dikenali : 5

Persentase keakuratan : 83%

23)Pengujian pada karakter lam

Tabel 4.35 Pengujian Karakter Lam No Karakter

Masukan

Jumlah Label

Posisi Titik

Chain Code Karakter

Dikenali

Waktu Hasil

1 1 0 5 6 6 6 0 0 1

2 2 2

0,443 detik

Tidak Dikenali

2 1 0 6 6 6 6 2 2 2

2 0 0

0,122 detik

Berhasil Dikenali

3 1 0 6 6 2 2 5 5 1

1 0 0

0,166 detik

Tidak Dikenali

4 1 0 0 0 5 5 4 4 1

1 6 6

0,424 detik

Berhasil Dikenali

5 1 0 0 0 4 4 7 7 3

3 6 6

0,339 detik

Berhasil Dikenali

6 1 0 0 0 4 4 7 7 6

6 2 2

(71)

Banyak pengujian :6 Jumlah penge

Gambar

Gambar 2.12 Contoh Use Case
Gambar 2.13 Contoh Sequence Diagram
Gambar 2.14 Contoh Colloboration Diagram
Gambar 2.15 Contoh Class Diagram
+7

Referensi

Dokumen terkait

Dari mekanisme yang dilakukan oleh chain-code maka urutan chain-code yang dihasilkan untuk setiap huruf dapat memiliki panjang yang berbeda, sehingga diperlukan sebuah

Untuk mendapatkan aksara Jawi maka hasil klasifikasi SVM yang merupakan bentuk bagian utama aksara, letak titik ( P1 ) dan jumlah titik ( P2 ) akan diuji oleh aturan

Dari permasalahan tersebut dibangunlah sistem pengenalan tulisan dengan menerapkan teknik ekstraksi ciri menggunakan algoritma berbasis Vertex Chain Code dan teknik

Data training merupakan hasil ekstraksi ciri yang didapatkan dari algoritma MFCC yang akan digunakan untuk proses pembelajaran sistem. Algoritma MFCC akan menghasilkan 12