• Tidak ada hasil yang ditemukan

BAB 2. LANDASAN TEORI

2.5 S UPPORT V ECTOR M ACHINE

2.5.1. Multi Class SVM

SVM pada awalnya hanya dapat mengklasifikasikan data ke dalam dua kelas. Setelah berkembangnya riset dan penelitian, SVM dapat berkembang menjadi multi kelas (multi class) yang artinya teknik ini dapat mengklasifikasikan lebih dari dua kelas. Dalam mengimplementasikan SVM multi kelas dapat menggunakan dua pendekatan, yaitu dengan menggabungkna beberap SVM iner dan yang kedua yaitu menggabungkan semua data dari semua kelas ke dalam sebuah bentuk permasalahan optimasi.

a. One against one

Metode one against one atau satu lawan satu ini akan membandingkna satu kelas dengan kelas lainnya dalam membangun sejumlah model SVM. Ketika akan melakukan klasifikasi data ke dalam k kelas, maka diharuskan untuk membangun sejumlah model dengan rumus sebagai berikut.

π‘˜(π‘˜βˆ’1)

2 (2.20) Keterangan :

K=jumlah kelas

Sehingga jika akan membangun sejumlah SVM biner dengan 3 kelas maka yang harus dibuat yaitu 3(3-1)/2= 3 buah biner SVM. Sehingga setiap kelas harus dibandingkan dengan kelas lainnya seperti pada Tabel 2.8. Voting dilakukan untuk mendapatkan kelas keputusan. Berikut ilustrasi klasifikasi dengan ebuah jumlah kelas.

Tabel 2.8 Contoh kombinasi biner 3 kelas dengan metode one against one

yi=1 yi=-1 Hipotesis

Kelas 1 Kelas 2 𝑓12(π‘₯) = (𝑀12)π‘₯ + 𝑏12

Kelas 1 Kelas 3 𝑓13(π‘₯) = (𝑀13)π‘₯ + 𝑏13

Kelas 2 Kelas 3 𝑓23(π‘₯) = (𝑀23)π‘₯ + 𝑏23

Gambar 2.4 Skema klasifikasi menggunakan metode SVM one against one

b. One against all

Metode ini menggunakan prinsip satu lawan semua dengan membandingkan satu kelas dengan semua kelas lainnya. Ketika akan melakukan klasifikasi daata ke dalam k kelas, maka harus dibangun pula sejumlah k model SVM biner. Setiap model biner SVM ke-i akan dilatih dengan menggunakan keseluruhan data agar ditemukan apakah merupakan bagian dari kelas ke-i atau bukan ketika diklasifikasikan. Sebagai contoh, ketika akan mengklasifikasikan ke dalam 4 kelas maka perlu dibangun pula 4 buah SVM biner seperti terlihat pada Tabel 2.9.

Tabel 2.9 Contoh kombinasi biner 3 kelas dengan metode one against all

yi=1 yi=-1 Hipotesis

Kelas 1 Kelas 1 𝑓1(π‘₯) = (𝑀1)π‘₯ + 𝑏1

Kelas 2 Kelas 2 𝑓2(π‘₯) = (𝑀2)π‘₯ + 𝑏2

Kelas 3 Kelas 3 𝑓3(π‘₯) = (𝑀3)π‘₯ + 𝑏3

Gambar 2.5 Skema Klasifikasi dengan metode one against all 2.6 K-Fold Cross Validation

Validasi merupakan tahap terakhir untuk menentukan akurasi dari metode klasifikasi yang digunakan. Jadi data uji yang sudah ada akan diprediksi labelnya.

Kemudian label hasil prediksi dibandingkan dengan label sesungguhnya dan kemudian dihitung kebenaran dan kesalahan dari hasil prediksi tersebut. Salah satu metode validasi adalah k-fold cross validation.

K-fold cross validation membagi data menjadi data latih dan data uji dengan cara membagi keseluruhan data menjadi K kelompok di mana K bernilai ganjil dan lebih besar dari dua. Tujuan pembagian ini untuk melakukan pengujian silang keseluruhan data yang digunakan yang digunakan untuk melihat tingkat akurasi sebuah model klasifikasi yang dibangun.

Konsep pembagian data latih dan data uji adalah 1 dari total K kelompok yang akan digunakan. Misalnya jika K bernilai 5 maka data dibagi menjadi 5 kelompok di mana 4 kelompok menjadi data latih dan 1 kelompok menjadi data uji.

19

BAB 3.

METODE PENELITIAN 3.1. Pengumpulan Data

Pada penelitian ini, data yang digunakan merupakan data dari hasil penelitian dengan β€œSEGEMENTASI CITRA HURUF DAUN LONTAR” dengan nomor kontrak penelitian No: 019/Penel./LPPM-USD/III/2018, dan penelitian :CLUSTERING CITRA AKSARA BALI HASIL SEGMENTASI CITRA DAUN LONTAR” dengan nomor kontrak No: 019/Penel./LPPM-USD/II/2020. Hasil segmentasi diperoleh 1572 data dan dicluster menjadi 175 kelompok.

Gambar 3.1 Data Citra Aksara Bali

Dalam penelitian ini tidak semua cluster digunakan, hanya 18 cluster saja yang digunakan dengan jumlah data paling sedikit 20 per-cluster. Tujuan pertama adalah untuk memilih cluster yang merupakan Aksara Wyanjana seperti pada Tabel 2.1.

Akan tetapi, dikarenakan tidak semua aksara Wyanjana terkadung dalam data tersebut maka data yang digunakan dipilih dengan aturan jumlah data per-cluster minimal 20 data citra aksara. Dari situ didapatkan 18 kelas dengan total data citra yang digunakan sebanyak 1001

3.2. Kebutuhan Perangkat Hardware dan Software a) Spesifikasi Hardware

1. Prosesor Intel(R) i7-8750H @ 2.20GHz 2. RAM 16 GB

3. SSD 512 GB b) Spesifikasi Software

1. Sistem Operasi Windows 10 2. MATLAB R2019

3.3. Labeling Data Manual

Data yang diolah merupakan data-data citra aksara bali yang telah disegmentasi dan dicluster dari hasil penelitian sebelumnya. Maka data yang ada hanya perlu dilabeli saja. Pemberian label pada data hanya diberikan pada cluster-cluster yang akan digunakan. Sehingga tidak semua cluster-cluster akan digunakan dan diberi label.

Tabel 3.1 Hasil labeling data

No Citra Aksara Nama Aksara Cluster Kelas Jumlah

1 Ha C2 1 30

2 Ta C3 2 52

3 Ba C4 3 45

4 Sa C6 4 64

5 Ma C7 5 76

6 Ka C8 6 36

7 Nga C10 7 28

No Citra Aksara Nama Aksara Cluster Kelas Jumlah

8 Koma C12 8 81

9 Ulu C13 9 121

10 Tedong C15 10 49

11 Na C19 11 108

12 Da C20 12 20

13 Wa C23 13 42

14 Taleng C27 14 92

15 Ra C34 15 69

16 Ya C40 16 35

17 Suku C42 17 33

18 Mangkan C53 18 20

Label yang digunakan atau yang akan dimasukkan pada program nanti merupakan label yang bernilai angka pada kolom Kelas. Sedangkan nama aksara dinamai dengan bantuan ahli aksara Bali.

3.4. Gambaran Umum Klasifikasi SVM Menggunakan Data Citra Aksara Bali

Pada bagian ini menjelaskan bagaimana penerapan klasifikasi SVM pada umunya dengan menggunakan data dari penelitian ini. Diberikan 5 buah citra aksara Bali yang terdiri dari 2 kelas. Citra tersebut dikenai ekstraksi ciri IoC berukuran 2x2 pixel. Sehingga jumlah atribut yang didapatkan sebanyak 4 buah pixel. Berikut atribut dari ciri IoC yang dikenai pada ke-5 citra tersebut.

Tabel 3.2 Atribut dan label ke-5 citra aksara Bali x1 x2 x3 x4 yi

17 16 22 17 1

14 22 23 26 1

15 26 29 27 1

15 14 19 22 -1

15 11 19 17 -1

Lalu nilai atribut yang didapatkan pada Tabel 3.2 dimasukkan kedalam rumus 2.13, sehingga didapatkan persamaan sebagai berikut.

a. 1(17w1+16w2+22 w3+17 w4+b) β‰₯1β†’(17w1+16w2+22 w3+17 w4+b) β‰₯1 b. 1(14w1+22w2+23 w3+26 w4+b) β‰₯1β†’(14w1+22w2+23 w3+26 w4+b) β‰₯1 c. 1(15w1+26w2+29 w3+27 w4+b) β‰₯1β†’(15w1+26w2+29 w3+27 w4+b) β‰₯1 d. -1(15w1+14w2+19 w3+22 w4+b) β‰₯1β†’(-15w1-14w2-19 w3-22 w4-b) β‰₯1 e. -1(15w1+14w2+19 w3+22 w4+b) β‰₯1β†’(-15w1-14w2-19 w3-22 w4-b) β‰₯1 Selanjutnya mencari nilai w dan b dengan menggunakan persamaan yang telah didapatkan dengan menggunakan metode eliminasi. Metode elimnasi yang digunakan adalah Gauss-Jordan dikarenakan jumlah variabel yang melebihi 3.

Pertama ke-5 persamaan dibuat dalam bentuk matrix yang adapat dilihat pada Tabel 3.3.

Tabel 3.3 Matrix dari ke-5 persamaan

17 16 22 17 1 1

14 22 23 26 1 1

15 26 29 27 1 1

-15 -14 -19 -22 -1 1

-15 -11 -19 -17 -1 1

Langkah 1, seluruh nilai pada baris 1 dibagi 17

1 0.941 1.294 1 0.059 0.059

14 22 23 26 1 1

15 26 29 27 1 1

-15 -14 -19 -22 -1 1

-15 -11 -19 -17 -1 1

Langkah 2, nilai pada baris kedua dikurang nilai baris pertama yang dikali 14 1 0.941 1.294 1 0.059 0.059

0 8.824 4.882 12 0.176 0.176

15 26 29 27 1 1

-15 -14 -19 -22 -1 1

-15 -11 -19 -17 -1 1

Langkah 3, nilai pada baris ketiga dikurang baris pertama yang dikali 15 1 0.941 1.294 1 0.059 0.059 0 8.824 4.882 12 0.176 0.176 0 11.882 9.588 12 0.118 0.118

-15 -14 -19 -22 -1 1

-15 -11 -19 -17 -1 1

Langkah 4, nilai pada baris keempat dikurang baris pertama yang dikali -15 1 0.941 1.294 1 0.059 0.059

0 8.824 4.882 12 0.176 0.176 0 11.882 9.588 12 0.118 0.118 0 0.118 0412 -7 -0.118 1.882

-15 -11 -19 -17 -1 1

Langkah 5, nilai pada baris kelima dikurang baris pertama yang dikali -15 1 0.941 1.294 1 0.059 0.059

0 8.824 4.882 12 0.176 0.176 0 11.882 9.588 12 0.118 0.118 0 0.118 0412 -7 -0.118 1.882 0 3.118 0412 -2 -0.118 1.882

Langkah 6, nilai pada baris ketiga dan kedua ditukar

1 0.941 1.294 1 0.059 0.059 0 11.882 9.588 12 0.118 0.118 0 8.824 4.882 12 0.176 0.176 0 0.118 0412 -7 -0.118 1.882 0 3.118 0412 -2 -0.118 1.882

Langkah 7, nilai pada baris kedua dibagi 11.882

1 0.941 1.294 1 0.059 0.059 0 1 0.807 1.01 0.01 0.01 0 8.824 4.882 12 0.176 0.176 0 0.118 0412 -7 -0.118 1.882 0 3.118 0412 -2 -0.118 1.882

Langkah 8, nilai pada baris ketiga dikurang baris kedua yang dikali 8.824 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 -2.238 3.089 0.089 0.089 0 0.118 0412 -7 -0.118 1.882 0 3.118 0412 -2 -0.118 1.882

Langkah 9, nilai pada baris keempat dikurang baris kedua yang dikali 0.118 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 -2.238 3.089 0.089 0.089 0 0 0.317 -7.119 -0.119 1.881 0 3.118 0412 -2 -0.118 1.882

Langkah 10, nilai pada baris kelima dikurang baris kedua yang dikali 3.118 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 -2.238 3.089 0.089 0.089 0 0 0.317 -7.119 -0.119 1.881 0 0 -2.104 -5.149 -0.149 1.851

Langkah 11, nilai pada baris ketiga dibagi -2.238

1 0.941 1.294 1 0.059 0.059 0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04 0 0 0.317 -7.119 -0.119 1.881 0 0 -2.104 -5.149 -0.149 1.851

Langkah 12, nilai pada baris keempat dikurang baris ketiga yang dikali 0.317 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04 0 0 0 -6.681 -0.106 1.894 0 0 -2.104 -5.149 -0.149 1.851

Langkah 13, nilai pada baris kelima dikurang baris ketiga yang dikali -2.104 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04 0 0 0 -6.681 -0.106 1.894 0 0 0 -8.053 -0.232 1.768

Langkah 14 nilai pada baris kelima dan keempat ditukar

1 0.941 1.294 1 0.059 0.059 0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04 0 0 0 -8.053 -0.232 1.768 0 0 0 -6.681 -0.106 1.894

Langkah 15, nilai pada baris keempat dibagi -8.053

1 0.941 1.294 1 0.059 0.059 0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04

0 0 0 1 0.029 -0.22

0 0 0 -6.681 -0.106 1.894

Langkah 16, nilai pada baris kelima dikurang baris keempat yang dikali -6.681 1 0.941 1.294 1 0.059 0.059

0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04

0 0 0 1 0.029 -0.22

0 0 0 0 0.087 0.427

Langkah 17, nilai pada baris kelima dibagi 0.087

1 0.941 1.294 1 0.059 0.059 0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04

0 0 0 1 0.029 -0.22

0 0 0 0 1 4.937

Langkah 18, nilai pada baris pertama dikurang baris kelima yang dikali 0.059

1 0.941 1.294 1 0 -0.232

0 1 0.807 1.01 0.01 0.01 0 0 1 -1.381 -0.04 -0.04

0 0 0 1 0.029 -0.22

0 0 0 0 1 4.937

Langkah 19, nilai pada baris kedua dikurang baris kelima yang dikali 0.01

1 0.941 1.294 1 0 -0.232

0 1 0.807 1.01 0 -0.039

0 0 1 -1.381 -0.04 -0.04

0 0 0 1 0.029 -0.22

0 0 0 0 1 4.937

Langkah 20 nilai pada baris ketiga dikurang baris kelima yang dikali -0.04

1 0.941 1.294 1 0 -0.232

0 1 0.807 1.01 0 -0.039

0 0 1 -1.381 0 0.157

0 0 0 1 0.029 -0.22

0 0 0 0 1 4.937

Langkah 21, nilai pada baris keempat dikurang baris kelima yang dikali 0.029

1 0.941 1.294 1 0 -0.232

0 1 0.807 1.01 0 -0.039

0 0 1 -1.381 0 0.157

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 22, nilai pada baris pertama dikurang baris keempat yang dikali 1

1 0.941 1.294 0 0 0.13

0 1 0.807 1.01 0 -0.039

0 0 1 -1.381 0 0.157

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 23, nilai pada baris kedua dikurang baris keempat yang dikali 1.01

1 0.941 1.294 0 0 0.13

0 1 0.807 0 0 0.327

0 0 1 -1.381 0 0.157

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 24, nilai pada baris ketiga dikurang baris keempat yang dikali 1-.381

1 0.941 1.294 0 0 0.13

0 1 0.807 0 0 0.327

0 0 1 0 0 -0.343

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 25, nilai pada baris pertama dikurang baris ketiga yang dikali 1.294

1 0.941 0 0 0 0.574

0 1 0.807 0 0 0.327

0 0 1 0 0 -0.343

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 26, nilai pada baris kedua dikurang baris ketiga yang dikali 0.807

1 0.941 0 0 0 0.574

0 1 0 0 0 0.603

0 0 1 0 0 -0.343

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Langkah 27, nilai pada baris pertama dikurang baris kedua yang dikali 0.941

1 0 0 0 0 0.006

0 1 0 0 0 0.603

0 0 1 0 0 -0.343

0 0 0 1 0 -0.362

0 0 0 0 1 4.937

Maka didapatkan nilai w1=0.006, w2=0.603, w3=-0.343, w4=-0.362, dan b=4.937.

Lalu dari nilai ini kita masukkan kedalam persamaan untuk mencari hyperplane-nya sehingga didapatkan persamaan hyperplane sebagai berikut:

w1x1+w2x2+w3x3+w4x4+b=0

0.006x1+0.603x2-0.343x3-0.362x4+4.937=0

Persamaan hyperplane tersebut yang akan digunakan untuk menentukan hyperplane dari kedua buah kelas dari citra aksara bali tersebut.

3.5. Desain Alat Uji

Pada bagian ini menampilkan diagram desain alat uji yang akan dibuat pada penelitian ini. Desain yang digunakan diperlihatkan pada gambar berikut.

Gambar 3.2 Diagram desain alat uji

Dari diagram diatas ditampilkan proses yang akan dilakukan secara keseluruhan.

Pertama citra aksara Bali akan dimasukkan kedalam proses prepocessing terlebih dahulu. Hasil yang didapatkan dari proses tersebut berupa citra kerangka aksara Bali, dan hasilnya akan diekstraksi cirinya dengan menggunakan IoC. Ekstraksi ciri tersebut memberikan hasil berupa matrix berukuran NxN yang kemudian digunakan untuk diklasifikasikan dengan metode SVM. Hasil klasifikasi berupa label prediksi yang kemudian akan divalidasi dengan cross validation. Hasil

validasi berupa label yang diperediksi dengan benar akan dihitung yang memberikan berupa akurasi. Berikut dijelaskan secara rinci proses yang ada dalam Gambar 3.2:

1) Preprocessing

Data yang berupa Citra aksara Bali akan diproses terlebih dahulu sebelum langsung digunakan untuk menjadi data training atau data testing. Prose preprocessing yang akan dilakukan berupa gambar berikut.

Gambar 3.3 Diagram Preprocessing

Preprocessing yang dilakukan mencakup sebagai berikut : a. Binerisasi Citra

Pada tahap ini citra masukkan diubah warna citranya dari RGB menjadi biner. Warna biner ini hanya terdiri dari dua yaitu 1 dan 0 di mana 1 menunjukkan warna putih dan 0 menunjukkan warna hitam pada komputer. Proses binerisasi dilakukan dengan menggunakan fungsi bawaan MATLAB yaitu im2bw(). Berikut adalah hasil binerisasi citra.

Gambar 3.4 Citra aksara Bali yang telah dibinerkan

Tabel 3.4 Representasi citra biner dalam matlab

b. Cropping

Pada tahap ini Citra yang telah diubah ke biner akan dicrop.

Tujuannya untuk mengurangi latar yang terdapat pada citra sehingga bisa didapatkan karakter aksara secara utuh tanpa ada-nya ruang lebih. Metode cropping yang digunakan adalah proyeksi profile. Berikut adalah hasil cropping citra.

Gambar 3.5 Citra sebelum dan setelah cropping c. Resize image

Pada tahap ini Citra yang sudah di cropping kita ubah sizenya. Tujuan pengubahan size citra ini agar dapat dikenai ekstraksi ciri IoC di mana metode ini harus membagi cita menjadi beberapa segmen dengan ukuran sama terlebih dahulu.

Resizing dilakukan dengan menggunakan fungsi bawaan matlab imresize(). Berikut adalah hasil resize citra di mana citra pada bagian kiri berukuran 45x48 pixel dan citra pada bagian kanan berukuran 30x30 pixel.

Gambar 3.6 Citra sebelum dan setelah di resize.

d. Thinning

Pada tahap ini Citra yang size-nya sudah kita ubah ke ukuran NxN kita lakukan thinning atau penipisan. Tujuan penipisan ini untuk mendapatkan kerangka dari aksara yang dimasukkan.

Metode bekerja dengan cara membuang pixel yang merupakan bagian tepi dari aksara tersebut. Metode thinning yang digunakan menggunakan algoritma Rosenfeld.

Gambar 3.7 Citra sebelum dan setelah thinning

2) Ekstraksi Ciri

Ekstraksi ciri adalah tahap untuk mendapatkan komponen yang berupa ciri yang terdapat pada citra aksara yang akan digunakan dalam proses klasifikasi data. Pada proses ini, ciri citra yang digunakan adalah Intensity of Character (IoC). Algoritma IoC adalah sebagai berikut.

1. Buka berkas masukan, misal = KarBali 2. Set tinggi = size(KarBali,1)

3. Set lebar = size(KarBali,2) 4. Bagi KarBali menjadi 9 bagian

5. Cari jumlahan piksel yang bernilai 0 di setiap bagian karakter hasil langkah 2

6. Simpan ciri tersebut menjadi ciri dari karakter yang bersangkutan ke dalam file ciriKar.mat

Dalam penelitian ini, ciri yang digunakan adalah Intensity of Character (IoC). Ukuran IoC yang digunakan adalah 3x3, 4x4, dan 5x5. Ciri tersebut diperoleh dengan menghitung nilai setiap pixel hitam yang ada dalam matriks citra hasil preprocessing sehingga setiap baris dan kolom matriks adalah hasil penjumlahan dari pixel hitam tersebut.

Hasil ekstraksi ciri IoC adalah data array yang berisi ciri dari citra aksara sesuai dengan ukuran IoC-nya. Lalu dalam array tersebut dimasukkan juga label dari citra tersebut. Label citra berada pada kolom terakhir dari array. Panjang kolom array bergantung pada ukuran IoC yang digunakan. Ukuran IoC 3x3 menghasilkan panjang kolom sebesar 9 kolom yang berisikan ciri citra dan ditambah 1 kolom yang merupakan label dari citra teresebut menghasilkan 10 kolom. Jika ukuran IoC 4x4, maka panjang kolom sebesar 16 kolom yang berisikan ciri citra ditambah 1 kolom yang merupakan label dari citra menjadi 17 kolom. Jika ukuran IoC 5x5, maka panjang kolom sebesar 25 kolom yang berisikan ciri citra ditambah 1 kolom yang merupakan label dari citra menjadi 26 kolom. Untuk banyak baris dalam array bergantung pada banyak-nya data citra yang akan digunakan.

Tabel 3.5 Contoh hasil ekstraksi ciri IoC ukuran 3x3 Data Ciri IoC 3x3 dan Label Citra

1 2 3 4 5 6 7 8 9 10

Klasifikasi yang digunakan adalah Support Vector Machine dengan menggunakan tools dari Matlab sehingga ciri IoC dari citra yang digunakan hanya tinggal dimasukkan kedalam tools secara terurut. Ciri dari citra dimasukkan kedalam persamaan rumus 2.2 di mana ciri di dari tiap atribut direpresentasikan sebagai x.

SVM yang menggunakan tools Matlab ini menggunakan fungsi biner yang akan ditambahkan fungsi multiclass. Pemodelan SVM multiclass yang digunakan adalah multisvm one against one dan one against all.

Pada pemodelan SVM one against one, diberikan ilustrasi yang dapat dilihat di Gambar 3.8 di mana terdapat 3 kelas di mana warna hitam merupakan kelas 1, merah merupakan kelas 2, dan biru merupakan kelas 3. Dengan menggunakan konsep multiclass dan metode one against one maka akan dibangun 3 kelas biner. Tiga kelas biner ini diperoleh dengan menggunakan rumus pada persamaan k(k-1)/2 di mana k merupakan jumlah kelas. Sehingga model biner SVM yang dibangun sebanyak 3(3-1)/2=3. Model

biner SVM ini terdiri dari kleas 1 lawan 2, 1 lawan 3, dan 2 lawan 3.

Gambar 3.8 Klasifikasi dengan 3 kelas (Haritama, 2017)

Pada model kelas Biner pertama seperti terlihat pada Gambar 3.9, objek baru diklasifikasikan dengan menggunakan data training dari kelas 1 dan 2. Diasumsikan objek data tersebut lebih dekat ke kelas 2, maka kelas 2 akan dipilih untuk dilakukan voting.

Gambar 3.9 kelas 1 dan kelas 2

Pada model kelas biner yang kedua seperti yang terlihat pada Gambar 3.10 objek baru diklasifikasikan dengan menggunakan data training dari kelas 1 dan 3. Diasumsikan objek data tersebut lebih dekat ke kelas 3, maka kelas 3 akan dipilih untuk dilakukan voting.

Gambar 3.10 kelas 1 dan 3

Pada model kelas biner yang kedua seperti yang terlihat pada Gambar 3..11 objek baru diklasifikasikan dengna menggunakan data training dari kelas 2 dan 3. Diasumsikan objek data tersebut lebih dekat ke kelas 2, maka kelas 2 akan dipilih untuk dlakukan voting.

Gambar 3.11 kelas 2 dan kelas 3

Setelah itu dilakukan voting untuk menentukan kelas klasifikasi. Hasil voting dari ketiga model kelas biner dihitung, kelas mana yang memiliki voting terbanyak. Kelas 2 memiliki voting terbanyak, maka hasil klasifikasi dari data objek baru akan dikategorikan sebagai kelas 2 seperti yang terlihat pada Gambar 3.12.

Gambar 3.12 Hasil voting

Algoritma SVM dengan pemodelan one against one dapat dilihat sebagai berikut:

1. Cari seluruh kelas yang unik dari seluruh label simpan di variabel u.

2. Hitung jumlah kelas yang ada lalu simpan ke variabel numclass

3. Set ix = 1

4. Perulangan selama i=1 sampai numclass-1

5. Cari indeks dari seluruh label_training yang sama dengan u(i) simpan di variabel data1.

6. Set awal1 nilai pada indeks pertama data1 7. Set akhir1 nilai pada indeks terakhir data1 8. Perulangan selama j=i+1 sampai numclass

9. Cari indeks dari seluruh label_training yang sama dengan u(j) simpan di variabel data2

10. Set awal2 nilai pada indeks pertama data2 11. Set akhri2 nilai pada indeks terakhir data2

12. Gabungkan seluruh datatraining pada baris ke awal1 sampai akhir 1 dan datatraining pada baris ke awal2 sampai akhir 2 simpan ke variabel datamasuk

13. Gabungkan labeltraining pada baris ke awal1 sampai akhir 1 dan datatraining pada baris ke awal2 sampai akhir

2 simpan ke variabel label

14. Bangun model svm dengan menggunakan datamasuk dan label sebagai parameter

15. Simpan nilai i kedalam variabel hasil pada indeks ke ix,1 16. Simpan nilai j kedalam variabel hasil pada indeks ke ix,2 17. Prediksi hasil dari datatesting jika diklasifikasi menggunakan model svm tersebut kemudian simpan ke variabel hasil pada index ke ix,3

18. Perulangan dari i=1:numclass 19. Jika i=1, maka

20. Set nilai terbesar = jumlah dari seluruh hasil yang pada indeks ke 3 nya sama dengan nilai u(i)

21. Set nilai output =i 22. Jika tidak, maka

23. Jika nilai terbesar bernilai lebih ecil dari jumlah dari seluruh hasil yang pada indeks ke 3 nya sama dengan nilai u(i) maka

24. Set nilai terbesar = jumlah dari seluruh hasil yang pada indeks ke 3 nya sama dengan nilai u(i)

25. Set output = i

26. Set rank pada indeks ke i,1=i

27. Set rank pada indeks ke 2,1=jumlah dari seluruh hasil yang pada indeks ke 3 nya sama dengan nilai u(i)

28. Return nilai output dan rank

Lalu pada SVM dengan pemodelan one against all dengan menggunakan ilustrasi Gambar 3.8, di mana data terbagi menjadi 3 kelas. Pemodelan SVM one against all membandingkan setiap model klasifikasi ke-i terhadap seluruh data yang ada selain yang memiliki kelas yang sama. Dapat dilihat pada Gambar 3.13, data tersebut terbagi menjadi 3 buah kelas, di mana saat akan melakukan

klasifikasi terhadap kelas 1, seluruh kelas lain selain kelas 1 akan digabungkan sehingga terbentuk kelas biner yang dapat ditemukan hyperplane nya. Hal yang sama juga dapat dilakukan terhadap penentuan hyperplane untuk kelas lainnya. Iltustrasi dari metode one against all dapat dilihat pada Gambar 3.13.

Gambar 3.13 Visualisai pemodelan one against all

Algoritma SVM dengan pemodelan one against all dapat dilihat sebagai berikut.

1. Cari seluruh kelas yang unik dari seluruh label simpan di variabel u.

2. Hitung jumlah kelas yang ada lalu simpan ke variabel numclass

3. Perulangan salam k=1 sampai numclass

4. Ubah seluruh label training menjadi nilai 0 selain label training bernilai k dan disimpan ke variabel G1vAll 5. Bangun model svm dengan menggunakan datamasuk dan

label sebagai parameter

6. Jika prediksi hasil sama dengan k maka perulangan berakhir dan kembalikan nilai k

7. Jika tidak, maka kembali ke nomor 4

8. Kembalikan nilai k

4) Validasi

Merupakan tahap di mana data yang telah diprediksi labelnya divalidasi untuk mendapatkan akurasi dari hasil pelatihan data yang diberikan. Validasi yang digunakan adalah k-fold cross validation.

Pengujian akurasi dari penerapan SVM menggunakan metode k-fold cross validation, yang mana data akan dibagi sesuai dengan nilai k yang ditentukan sebelumnya yaitu 3, 5 dan 7.. Contoh pembagian dari cross validation bisa dilihat pada tabel 3.6.

Tabel 3.6 3-fold cross validation

Percobaan Data Training Data Testing

1 2,3 1

2 1,3 2

3 1,2 3

3.6. Desain User Interface

Gambar 3.14 Desain User Interface

Pada desain GUI yang dibuat, citra yang akan diklasifikasikan adalah 1 buah citra saja atau uji data tunggal. Pertama pengguna harus menekan tombol Cari Citra Inputan terlebih dahulu. Tombol ini berfungsi untuk mencari citra yang ingin

diklasifikasikan. Setelah citra dipilih maka akan ditampilkan pada viewer yang ada pada panel Tampilan Citra. Lalu pengguna menekan tombol Klasifikasi, maka citra yang dipilih akan dikenai preprocessing dan ekstraksi ciri. Setelah itu ciri yang didapatkan akan diklasifikasi dengan menggunakan model yang sudah didapatkan dari hasil pengujian yang telah dilakukan. Setelah proses klasifikasi selesai, maka pada panel Hasil Klasifikasi akan ditampilkan nama aksara yang merupakan hasil prediksi dari klasifikasi tersebut.

3.7. Skenario Pengujian

Pada penelitian ini, hasil ekstraksi ciri yang digunakan menggunakan IoC dengan ukuran 3x3, 4x4, 5x5. Pada setiap ukuran IoC yang digunakan, terdapat 3 ukuran citra yang akan diambil cirinya. Pengujian akurasi dari penerapan SVM menggunakan metode k-fold cross validation, yang mana data akan dibagi sesuai dengan nilai k yang ditentukan sebelumnya yaitu 3, 5 dan 7.

Pengujian dilakukan dengan menggunakan 2 data set. Data set pertama bersifat imbalance, di mana jumlah data pada setiap kelas berbeda-beda. Data set kedua bersifat balance, di mana jumlah data pada setipa kelas sama. Pemodelan SVM yang digunakan adalah one against one. Setelah pengujian dilakukan akan dicari data training dan data testing yang memberikan akurasi tertinggi. Data training, data testing,nilai IoC, ukuran citra, dan nilai cross validatoin yang memberi akurasi tertinggi akan digunakan kembali untuk melakukan pengujian dengan menggunakan kernel dan juga menggunakan pemodelan SVM one against all. Setelah semua pengujian dilakukan kita mengambil data set dan model yang memberikan akurasi tertinggi untuk digunakan kedalam GUI dan uji data tunggal.

Secara ringkas maka variabel yang dimainkan dalam pengujian sebagai berikut:

1. Jumlah data yang digunakan dalam pengujian.

2. Ukuran citra yang digunakan dalam proses preprocessing.

3. Ukuran dari IoC yang digunakan untuk ekstraksi ciri.

4. Jumlah Fold Validation yang digunakan.

Setelah semua tahap tersebut dilakukan maka akan diambil dataset yang memberikan akurasi tertinggi untuk digunakan dalam pengujian berikutnya.

Pengujiannya adalah sebagai berikut:

1. Pengujian dengan menggunakan Kernel RBF.

2. Pengujian dengan menggunakan Kernel Polynomial.

3. Pengujian dengan pemodelan SVM One Against All.

45

BAB 4. HASIL PENELITIAN DAN ANALISIS

Bab ini membahas mengenai tahap-tahap dari pengenalan aksara bali beserta hasil pengujian pengenalan aksara bali menggunakan Support Vector Machine.

4.1. Pengumpulan Data

Pada penelitian ini Jumlah data yang didapatkan sebanyak 1572 citra aksara Bali yang terbagi menjadi 175 cluster. Jumlah citra pada setiap cluster bervariasi sehingga pembagian data yang ada bersifat tidak seimbang (imbalance). Data citra disimpan dalam folder di mana jumlah folder yang ada sesuai jumlah cluster dari

Pada penelitian ini Jumlah data yang didapatkan sebanyak 1572 citra aksara Bali yang terbagi menjadi 175 cluster. Jumlah citra pada setiap cluster bervariasi sehingga pembagian data yang ada bersifat tidak seimbang (imbalance). Data citra disimpan dalam folder di mana jumlah folder yang ada sesuai jumlah cluster dari

Dokumen terkait