• Tidak ada hasil yang ditemukan

BAB 3. METODE PENELITIAN

3.5. D ESAIN A LAT U JI

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

Dokumen terkait