bab ii landasan teori -...

15
6 BAB II LANDASAN TEORI Pada bab ini berisi landasan teori yang digunakan untuk mendasari pengerjaan tugas akhir. Adapun teori yang akan dibahas, yaitu blog, komentar, komentar spam, data mining, Support Vector Machine (SVM), dan penulisan yang terkait. Informasi diperoleh dari berbagai macam referensi yang tercantum dalam daftar pustaka. Berikut adalah pembahasan teori yang digunakan dalam penulisan ini. 2.1 Blog 2.1.1 Pengertian Blog Weblogs atau blog adalah sebuah web pages yang memiliki sifat lebih seperti jurnal pribadi online [5]. Blog biasanya digunakan sebagai tempat yang digunakan untuk mencurahkan pikiran, mulai dari cerita sehari-hari, tentang pengetahuan, ataupun berita tentang kejadian yang sedang terjadi. Jurnalis melihat blog sebagai alternatif dari sumber berita dan opini publik, sedangkan pendidik dan pebisnis melihat blog sebagai media untuk berbagi pengetahuan [6]. Weblogs atau blog juga bisa disebut sebagai sebuah hierarki dari teks, gambar, media object dan data yang membentuk suatu urutan yang ditampilkan di sebuah HTML browser [5]. Terdapat beberapa situs yang menyediakan jasa layanan untuk blog gratis, antara lain wordpress.com, blogger.com, blog.com, weebly.com, livejournal.com, dan lain-lain. Semakin maraknya situs yang menyediakan jasa layanan untuk blog gratis, jumlah dari bloggers (sebutan untuk orang yang melakukan blogging) juga semakin bertambah. 2.1.2 Struktur Blog Sebuah situs blog terdiri dari susunan blog post atau postingan yang terurut berdasarkan postingan yang terbaru. Sebuah situs blog biasanya diperbarui dengan adanya postingan baru. Blog memiliki 4 karakteristik yaitu editor pribadi, struktur hyperlink, fitur arsip dan bebas, dan akses publik pada konten [7]. Author pada blog sering memanfaatkan text, hyperlink, gambar dan grafik untuk menulis sebuah postingan. Author juga dapat menggunakan video dan audio klip untuk mengisi suatu postingan. Situs blog bisa dimanfaatkan untuk berkomunikasi atau berinteraksi dengan pembaca dengan menempatkan fitur komentar pada setiap

Upload: haduong

Post on 04-Apr-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

6

BAB II

LANDASAN TEORI

Pada bab ini berisi landasan teori yang digunakan untuk mendasari pengerjaan

tugas akhir. Adapun teori yang akan dibahas, yaitu blog, komentar, komentar

spam, data mining, Support Vector Machine (SVM), dan penulisan yang terkait.

Informasi diperoleh dari berbagai macam referensi yang tercantum dalam daftar

pustaka. Berikut adalah pembahasan teori yang digunakan dalam penulisan ini.

2.1 Blog

2.1.1 Pengertian Blog

Weblogs atau blog adalah sebuah web pages yang memiliki sifat lebih seperti

jurnal pribadi online [5]. Blog biasanya digunakan sebagai tempat yang digunakan

untuk mencurahkan pikiran, mulai dari cerita sehari-hari, tentang pengetahuan,

ataupun berita tentang kejadian yang sedang terjadi. Jurnalis melihat blog sebagai

alternatif dari sumber berita dan opini publik, sedangkan pendidik dan pebisnis

melihat blog sebagai media untuk berbagi pengetahuan [6].

Weblogs atau blog juga bisa disebut sebagai sebuah hierarki dari teks, gambar,

media object dan data yang membentuk suatu urutan yang ditampilkan di sebuah

HTML browser [5]. Terdapat beberapa situs yang menyediakan jasa layanan

untuk blog gratis, antara lain wordpress.com, blogger.com, blog.com,

weebly.com, livejournal.com, dan lain-lain. Semakin maraknya situs yang

menyediakan jasa layanan untuk blog gratis, jumlah dari bloggers (sebutan untuk

orang yang melakukan blogging) juga semakin bertambah.

2.1.2 Struktur Blog

Sebuah situs blog terdiri dari susunan blog post atau postingan yang terurut

berdasarkan postingan yang terbaru. Sebuah situs blog biasanya diperbarui dengan

adanya postingan baru. Blog memiliki 4 karakteristik yaitu editor pribadi, struktur

hyperlink, fitur arsip dan bebas, dan akses publik pada konten [7]. Author pada

blog sering memanfaatkan text, hyperlink, gambar dan grafik untuk menulis

sebuah postingan. Author juga dapat menggunakan video dan audio klip untuk

mengisi suatu postingan. Situs blog bisa dimanfaatkan untuk berkomunikasi atau

berinteraksi dengan pembaca dengan menempatkan fitur komentar pada setiap

7

postingan yang ada. Para pembaca dapat berkomunikasi dengan cara berkomentar

atau memberikan opini untuk setiap postingan yang ada. Dalam situs blog, sebuah

postingan dapat secara otomatis diarsipkan dan kontenya dapat dicari berdasarkan

kata kunci menggunakan fungsi pencarian [7]. Agar suatu postingan baru dapat

terindeks dengan cepat, situs blog dapat menggunakan fitur RSS (Rich Site

Summary, atau sering dijuluki Really Simple Syndication) Feeds. Selain itu, RSS

Feeds juga dapat digunakan para pembaca untuk subscribe atau berlangganan

postingan baru yang ada pada situs blog [7].

2.2 Spam

2.2.1. Pengertian Spam

Spamming merujuk ke suatu kegiatan menyediakan informasi yang tidak

diinginkan atau memberikan informasi yang tidak berkaitan atau tidak relevant

kepada user/pengguna [1]. Saat ini, perkembangan spam sangat pesat. Spam

berkembang dengan mencemari dunia maya dengan cara yang berbeda seperti

email, blog post atau postingan, blog komentar, instant messaging, forum, dan di

komentar di berbagai media sosial [3]. Spam bisa sangat mengganggu karena

informasi yang tidak kita butuhkan bisa menumpuk. Misalnya pada email, apabila

terkena spam maka email yang kita terima menumpuk sehingga kita kesulitan

untuk mencari email yang kita butuhkan, apalagi kalau email spam tersebut berisi

virus, malware dan lain sebagainya. Contoh yang lain adalah spam yang terjadi

pada blog komentar, spamming pada komentar blog dapat berbahaya bagi blog,

misalnya akan merusak SEO (Search Engine Optimizer) dari blog sehingga dapat

menurunkan rangking dan page index pada google. Selain itu, spam bisa merusak

reputasi dari sebuah blog karena pembaca akan merasa tidak nyaman apabila

berkunjung ke situs yang dipenuhi dengan adanya spam sehingga menilai buruk

blog tersebut.

2.2.2. Macam-Macam Spam

Spam terdiri dari berbagai macam bentuk yang berbeda dan bisa tersebar di

berbagai media di dunia maya. Salah satunya adalah pada weblogs atau blog. Pada

weblogs atau blog sendiri, spam dibagi menjadi 3 jenis, yaitu :

1. Splogs

8

Slogs (spam blogs) adalah sebuah blog yang memiliki auto-generated yang baik

atau blog yang menjiplak isi atau konten tulisan dari blog lain[2]. Splogs

bertujuan untuk media promosi, iklan hosting, maupun untuk meningkatkan

rangking dan page index. Splogs biasa ditemukan terutama pada platform blog

host karena beberapa alasan, antara lain,

• Untuk menarik perhatian para pengguna yang akrab dengan suatu layanan

untuk mengunjungi splogs tersebut.

• Untuk mengeksploitasi reputasi search-engine dari layanan host, misalnya

untuk meningkatkan rangking ataupun page index.

• Untuk menarik lalu lintas dari blog “tetangga”. Selain itu, layanan hosting

gratis adalah target utama untuk splogs karena biaya minimal untuk mendirikan

suatu blog.

Pada tahun 2007 ditemukan bahwa 75% dari blog pada Google’s free BlogSpot

servis adalah spam [8]. Selain itu, situs blogging yang bersifat gratis mulai dari

livejournal, wordpress, myspace, dan lainnya juga merupakan target spammer.

2. Komentar spam

Komentar spam adalah komentar pada suatu postingan yang berisi spam. Spam

pada komentar dapat memiliki berbagai bentuk antara lain,

• Komentar berisi link aktif. Pada beberapa komentar, link aktif bisa

dianggap spam karena link aktif tersebut biasanya mengarah ke blog lain atau

blog itu sendiri yang bertujuan untuk meningkatkan rangking dan page index.

• Mengisi nama komentar dengan keyword umum. Keyword umum pada

komentar biasanya juga dapat dimanfaatkan untuk meningkatkan rangking dari

blog, karena seringkali kita menggunakan keyword umum untuk melakukan

pencarian di mesin pencari.

• Perbedaan waktu komentar dengan waktu memposting.

• Perbedaan kerterkaitan komentar dengan konten postingan yang dibahas.

• Adanya duplikasi kata. Untuk duplikasi kata, sebuah komentar akan

dianggap sebagai spam apabila mengulang sebuah kata lebih dari 3 (tiga) kali.

• Anonim user. Sebaik apapun komentarnya, apabila tidak mencantumkan

nama biasanya akan dianggap sebagai spam.

• Adanya kalimat promosi.

9

3. Trackback spam

Trackback spam merupakan trackback ditransmisikan melalui protokol berbasis

HTTP dengan API yang tetap. Spesifikasi trackback tidak menyebutkan adanya

verifikasi yang memungkinkan spammer dapat melakukan inject URL menjadi

pesan trackback ping bersamaan dengan menyamarkan teks yang dipilih oleh

spammer sehingga hal ini menyebabkan kelimpahan trackback spam yang

ditargetkan pada perangkat lunak blog yang mendukung [8].

2.3 Data mining

2.3.1 Pengertian Data mining

Data mining didefinisikan sebagai proses untuk mendapatkan infromasi yang

berguna dari gudang basis data yang besar [4]. Selain itu data mining juga bisa

dimanfaatkan sebagi bantuan untuk pengambilan keputusan. Teknik dalam data

mining adalah bagamana caranya kita menelusuri suatu data sehingga data

tersebuat memiliki model yang dapat mengenali pola data lain yang tidak terdapat

pada basis data yang tersimpan. Jadi tujuannya adalah bagaimana mengetahui

adanya pola-pola universal yang ada pada data yang ada.

Gambar 2. 1 bussiness intelligence [4]

Data mining merupakan bagian dari bussiness intelligence (bisnis cerdas).

Berdasarkan pada gambar 2.1, diilustrasikan posisi data mining dan bagiannya

dalam mendukung bussiness intelligence. Sebelum masuk pada data mining bekal

data mentah didapat dari data warehouse. Data warehouse bertugas sebagai

penarik/meng-query basis data mentah untuk memberikan hasil data yang

10

nantinya digunakan oleh bidang yang menangani manajemen, pelaporan dan data

mining.

2.3.2 Pekerjaan dalam Data mining

Pekerjaan data mining dibagi menjadi 4 (empat) kelompok [4] yaitu:

1. Prediction Modelling (model prediski)

Prediction modelling (model prediski) berkaitan dengan pembuatan model yang

dapat melakukan pemetaan terhadap setiap himpunan variable ke setiap targetnya,

kemudian dari model yang diperoleh tersebut dapat memberikan nilai target pada

himpunan yang baru. Ada 2 (dua) jenis model prediski yaitu klasifikasi yang

digunakan untuk variable target diskret, dan regresi digunakan untuk variable

target kontinu.

Contoh dari model prediksi yaitu mengakasifikasi opini dan non-opini pada

komentar untuk mendapatkan kritik dan saran dari suatu produk.

Metode yang dapat digunakan untuk klasifikasi antara lain, Nearest-Neighbor

Classifier, Naïve Bayes Classifier, Artificial Neural Network, Support Vector

Machine (SVM), Fuzzy K-Nearest Neighbor, dan lain-lain.

2. Cluster Analysis (analisis kelompok)

Cluster analysis (analisis kelompok) adalah bagaimana melakukan

pengelompokan data-data ke dalam sejumlah kelompok (cluster) berdasarkan

kesamaa karakteristik dari masing-masing kelompok yang ada.

Contoh dari analisa kelompok yaitu mengetahui pola pembelian barang oleh

konsumen pada waktu-waktu tertentu sehingga dar pola pembelian tersebut,

perusahaan atau pengusaha dapat menentukan jadwal promosi yang dapat

diberikan sehingga omzet perusahaan meningkat.

Metode yang dapat digunakan untuk analisis kelompok antara lain K-Means,

Hierarchical Clusstering, DBSCAN, Fuzzy C-Means, Self-Organizing Map, dan

lain-lain.

3. Association Analysis (analisis asosiasi / hubungan)

Association analysis (analisis asosiasi / hubungan) yaitu analisa yang digunakan

untuk menentukan pola yang menggambarkan hubungan antar fitur dalam data.

Tujuannya adalah untuk menemukan pola yang menarik dengan cara yang efisien.

11

Contoh penerapan analisa asosiasi yaitu analisa keranjang belanja. Misalnya

apabila belanja ke supermarket biasanya seseorang membeli beras, kemungkinan

besar akan membeli minyak atau telur dan kemungkinan kecil akan membeli topi

atau buku. Dari situ diketahui bahwa hubungan antara beras dengan minyak lebih

besar daripada dengan topi. Dari situ bisa digunakan untuk menentukan kira-kira

barang apa saja yang perlu disediakan oleh pengusaha supermarket tersebut.

Metode yang dapat digunakan untuk analisis asosiasi yaitu algoritma apriori.

4. Anomaly Detection (deteksi anomali)

Anomaly detection (deteksi anomali) yaitu analisa yang berkaitan dengan

pengamatan sebuah data daru sejumlah data yang signifikan mempunyai

karakteristik yang berbeda dari sisa data lain. Dari yang berbeda tersebut disebut

outliner. Algoritma deteksi anomali harus mempunyai laju deteksi yang baik dan

laju eror yang rendah.

Contoh deteksi anomali yaitu pada perilaku kondisi cuaca, ataupun bisa juga pada

deteksi serangan hacker pada suatu jaringan.

Metode yang dapat digunakan untuk deteksi anomali antara lain K-Nearest

Neighbor, DBSCAN, Outliner Reomval Clustering, dan lain-lain.

2.4 Perhitungan similarity pada blog post dan komentar

Untuk mendeteksi hubungan antara blog post dan komentar dilakukan dengan

membandingkan isi dari blog post dimana komentar telah ditulis. Komentar non-

spam memiliki hubungan atau kesamaan kata yang lebih banyak dibandingkan

dengan komentar spam. Untuk menentukan kesamaan (similarity) antara blog post

dan komentar dapat dihitung berdasarkan semua kata yang ada pada blog post

maupun komentar yang kemudian dinormalisasi dengan banyaknya kata di

komentar. Perhitungan similarity pada blog post dan komentar ditunjukkan pada

persamaan dibawah ini:

𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑃+, 𝐶. = 01 23

|51| |63|= 78,178,39

8:;

78,1<9

8:; 78,3<9

8:;

Keterangan:

𝑃+ = blog post

𝐶. = komentar

𝑤>,+ = frekuensi kata yang muncul pada blog post

(1)

12

𝑤>,. = frekuensi kata yang muncul pada komentar

𝑤>,+ adalah frekuensi kata yang muncul pada blog post. 𝑤>,.. adalah

frekuensi kata yang muncul pada komentar. Frekuensi kata dari komentar dihitung

berdasarkan kata dari blog post. Hasil dari similarity akan menghasilkan nilai

antara 0 hingga 1.

2.5 Support Vector Machine (SVM)

Support Vector Machine (SVM) adalah konsep klasifikasi yang dilakukan dengan

cara mencari hyperplane (batas keputusan) terbaik sebagai fungsi pemisah dua

buah kelas data pada ruang input [4]. Hyperplane pemisah terbaik antara dua

kelas dapat di temukan dengan mengukur margin hyperplane tersebut dan mencari

titik maksimalnya. Margin adalah jarak antara hyperplane dengan data terdekat

dari masing-masing kelas. Data yang paling dekat disebut dengan support vector.

Pada gambar 2.2, menunjukkan bahwa hyperplane yang terbaik yaitu berada tepat

di tengah-tengah kedua kelas, sedangkan lingkaran dan bujur sangkar yang

melewatu batas margin disebut support vector.

Gambar 2. 2 Margin Hyperplane [4]

Pada gambar 2.2, merupakan ilustrasi dari hyperplane klasifikasi linier SVM.

Dalam hal ini fungsi pemisah yang kita cari adalah fungsi linier. Fungsi ini bisa

didefinisikan sebagai :

g(x) := sgn(f(x))

dengan f(x) = wT x + b

(2)

13

Keterangan:

𝑤, 𝑏 = parameter model

𝑥 = atribut (fitur) set untuk data

dimana x, w ∈ Rn dan b ∈ R. Masalah klasifikasi ini bisa dirumuskan sebagai

berikut: kita ingin menemukan set parameter (w, b) sehingga f(xi) =< w, x > +b =

yi untuk semua i. Mencari hyperplane terbaik ekuivalen dengan memaksimalkan

margin atau jarak antara dua set obyek dari kelas yang berbeda. Jika wx1 + b = +1

adalah hyperplane-pendukung (supporting hyperplane) dari kelas +1 (wx1+b = +1)

dan wx2+b = −1 hyperplane-pendukung dari kelas −1 (wx2+b = −1), margin

antara dua kelas dapat dihitung dengan mencari jarak antara kedua hyperplane-

pendukung dari kedua kelas. Secara spesifik, margin dihitung dengan cara berikut

(wx1 + b = +1) − (wx2 + b = −1) ⇒ w(x1 − x2)) = 2 ⇒ 7| 7 |

𝑥A −𝑥C =

C| 7 |

.

Pada gambar 2.3, memperlihatkan bagaimana SVM bekerja untuk menemukan

suatu fungsi pemisah dengan margin maksimal. Untuk membuktikan bahwa

memaksimalkan margin antara dua set obyek akan meningkatkan probabilitas

pengelompokkan secara benar dari data testing.

Gambar 2. 3 Mencari fungsi pemisah yang optimal untuk obyek yang bisa

dipisahkan secara linier [4]

14

Pada dasarnya jumlah fungsi pemisah ini tidak terbatas banyaknya. Misalkan dari

jumlah yang tidak terbatas ini kita ambil dua saja, yaitu f1(x) and f2(x) (lihat

gambar 2.4). Fungsi f1 mempunyai margin yang lebih besar dari pada fungsi f2.

Setelah menemukan dua fungsi ini, sekarang suatu data baru masuk dengan

keluaran −1. Kita harus mengelompokkan apakah data ini ada dalam kelas −1

atau +1 menggunakan fungsi pemisah yang sudah kita temukan. Dengan

menggunakan f1, kita akan kelompokkan data baru ini di kelas −1 yang berarti

kita benar mengelompokkannya. Sekarang coba kita gunakan f2, kita akan

menempatkannya di kelas +1 yang berarti salah. Dari contoh sederhana ini kita

lihat bahwa memperbesar margin bisa meningkatkan probabilitas

pengelompokkan suatu data secara benar.

Gambar 2. 4 Memperbesar margin bisa meningkatkan probabilitas

pengelompokkan suatu data secara benar [4]

Secara matematika, formulasi problem optimisasi SVM untuk kasus klasifikasi

linier di dalam primal space adalah

Keterangan:

xi = data input

yi = hasil klasfifikasi dari xi

min AC | 𝑤 |C

Subject to 𝑦> 𝑤𝑥> + 𝑏 ≥ 1, i =1, …. l(3)

15

dimana xi adalah data input, yi adalah keluaran dari data xi, w, b adalah parameter-

parameter yang kita cari nilainya. Dalam formulasi di atas, kita ingin

meminimalkan fungsi tujuan (obyektif function) AC| 𝑤 |C atau memaksimalkan

kuantitas | 𝑤 |C atau wTw dengan memperhatikan pembatas yi(wxi+ b) ≥ 1. Bila

output data yi = +1, maka pembatas menjadi (wxi + b) ≥ 1.

Sebaliknya bila yi = −1, pembatas menjadi (wxi+b) ≤ −1. Di dalam kasus yang

tidak feasible (infeasible) dimana beberapa data mungkin tidak bisa

dikelompokkan secara benar, formulasi matematikanya menjadi berikut

Keterangan:

ti = variable slack

dimana ti adalah variabel slack. Dengan formulasi ini kita ingin memaksimalkan

margin antara dua kelas dengan meminimalkan | 𝑤 |C. Dalam formulasi ini kita

berusaha meminimalkan kesalahan klasifikasi (misclassification error) yang

dinyatakan dengan adanya variabel slack ti, sementara dalam waktu yang sama

kita memaksimalkan margin, A

| 7 |. Penggunaan variabel slack ti adalah untuk

mengatasi kasus ketidaklayakan (infeasibility) dari pembatas (constraints) yi(wxi +

b) ≥ 1 dengan cara memberi pinalti untuk data yang tidak memenuhi pembatas

tersebut. Untuk meminimalkan nilai ti ini, kita berikan pinalti dengan menerapkan

konstanta ongkos C. Vektor w tegak lurus terhadap fungsi pemisah: wx + b = 0.

Konstanta b menentukan lokasi fungsi pemisah relatif terhadap titik asal (origin).

Problem (4) adalah program nonlinear. Ini bisa dilihat dari fungsi tujuan

(objective function) yang berbentuk kuadrat. Untuk menyelesaikannya, secara

komputasi agak sulit dan perlu waktu lebih panjang. Untuk membuat masalah ini

lebih mudah dan efisien untuk diselesaikan, masalah ini bisa kita transformasikan

ke dalam dual space. Untuk itu, pertama kita ubah problem (4) menjadi fungsi

Lagrangian :

min AC | 𝑤 |C + 𝐶 𝑡>G

>HA

Subject to 𝑦> 𝑤𝑥> + 𝑏 ≥ 1, 𝑡> ≥ 0 , i=1, …, l (4)

16

Keterangan:

αi = Lagrange multiplier

dimana variabel non-negatif αi, dinamakan Lagrange multiplier. Solusi dari

problem optimisasi dengan pembatas seperti di atas ditentukan dengan mencari

saddle point dari fungsi Lagrangian J(w, b, α). Fungsi ini harus diminimalkan

terhadap variabel w dan b dan harus dimaksimalkan terhadap variabel α.

Kemudian kita cari turunan pertama dari fungsi J(w, b, α) terhadap variabel w dan

b dan kita samakan dengan 0. Dengan melakukan proses ini, kita akan

mendapatkan dua kondisi optimalitas berikut:

kondisi 1

kondisi 2

Penerapan kondisi optimalitas 1 pada fungsi Lagrangian (5) akan menghasilkan

Penerapan kondisi optimalitas 2 pada fungsi Lagrangian (5) akan menghasilkan

Menurut duality theorem:

• Jika problem primal mempunyai solusi optimal, maka problem dual juga

akan mempunyai solusi optimal yang nilainya sama

𝐽 𝑤, 𝑏, ∝ = 12𝑤

M𝑤 − ∝>

G

>HA

𝑦> 𝑤N𝑥> + 𝑏 − 1 (5)

𝜕𝐽(𝑤, 𝑏𝛼)𝜕𝑤 = 0

𝜕𝐽(𝑤, 𝑏𝛼)𝜕𝑏 = 0

𝑤 = ∝> 𝑦>𝑥>

G

>HA

∝> 𝑦> = 0G

>HA

(6)

(7)

17

• Bila wo adalah solusi optimal untuk problem primal dan αo untuk problem

dual, maka perlu dan cukup bahwa wo solusi layak untuk problem primal dan

Untuk mendapatkan problem dual dari problem kita, kita jabarkan persamaan (5)

sebagai berikut:

Menurut kondisi optimalitas ke dua dalam (7), term ketiga sisi sebelah kanan

dalam persamaan di atas sama dengan 0. Dengan memakai nilainilai w di (8), kita

dapatkan

maka persamaan (8) menjadi

Selanjutnya kita dapatkan formulasi dual dari problem (4):

Dengan dot product xixj sering diganti dengan simbol K. K adalah matrik kernel

yang dijelaskan dalam bagian (4). Formulasi (11) adalah quadratic programming

(QP) dengan pembatas (constraint) linier. Melatih SVM ekuivalen dengan

Φ wT = J wT, bT, ∝T = minw J(w, b, ∝)

J w, b, ∝ = 12w

Zw − ∝[ y[wZx[ − b ∝[ y[ + ∝[

^

[HA

^

[HA

^

[H^

(8)

(9)

(10)

(11)

18

menyelesaikan problem convex optimization. Karena itu solusi dari SVM adalah

unik (dengan asumsi bahwa k adalah positive definite) dan global optimal. Hal ini

berbeda dengan solusi neural networks [4] yang ekuivalen dengan problem

nonconvex optimization dengan akibat solusi yang ditemukan adalah local optima.

Ambil 𝑓 𝑥 = 𝑦>𝑥>∗𝑘 𝑥>, 𝑥 +𝑏∗G>HA .

Fungsi pemisah optimal adalah 𝑔 𝑥 = 𝑠𝑖𝑔𝑛 𝑦> ∝>∗G>HA 𝑘 𝑥, 𝑥> +𝑏∗,

dimana ∝>∗, 𝑖 = 1,… , 𝑙 adalah solusi optimal dari problem (10) dan b* dipilih

sehingga yif(xi) = 1 untuk sembarang i dengan C > ∝>∗ > 0. Data xi dimana ∝>∗ > 0

dinamakan support vector dan menyatakan data train yang diperlukan untuk

mewakili fungsi keputusan yang optimal. Dalam gambar 1, sebagai contoh, 3 titik

berwarna putih menyatakan support vector. Untuk mengatasi masalah

ketidaklinieran (nonlinearity) yang sering terjadi dalam kasus nyata, kita bisa

menerapkan metoda kernel.

2.6 LIBSVM

LIBSVM merupakan sebuah library pendukung yang digunakan untuk

mendukung algoritma Support Vector Machine (SVM) dan sudah dikembangkan

sejak tahun 2000 oleh Chih-Chung Chang and Chih-Jen Lin [9]. LIBSVM

merupakan library yang banyak digunakan saat ini. LIBSVM bertujuan untuk

memudahkan pengguna agar dengan mudah mengimplementasi kan LIBSVM ke

aplikasi mereka.

Ada beberapa fitur yang dimasukkan ke dalam LIBSVM yaitu :

• Perbedaan formula SVM.

• Efisien untuk klasifikasi multi kelas.

• Croos Validation untuk pemilihan model.

• Perkiraan probabilitas.

• Memiliki pilihan bermacam-macam kernel.

• SVM yang seimbang untuk data yang tidak seimbang.

• Terdapat source dalam pemrograman C++ dan Java.

• Mendemonstrasikan GUI untuk SVM klasifikasi dan regresi.

• Otomatisasi pemilihan seleksi model dengan menghasilkan akurasi pada

cross validation

19

LIBSVM memiliki beberapa tipe SVM yaitu C-support vector classification (c-

SVC), ν-support vector classification (ν-SVC), estimasi distribusi (one-class

SVM), support vector regression (e-SVR), and ν-support vector regression (ν-

SVR) [10].

2.7 Pengujian

Untuk pengujian dilakukan melalui perhitungan akurasi, precision, recall, dan f-

measure. Akurasi adalah perhitungan jumlah kasus yang diklasifikasi secara benar

dibagi dengan total kasus yang diklasifikasi [4].

Precision yaitu perhitungan jumlah kasus berkategori positif dan dikasifikasi

benar dibagi dengan total kasus yang diklasifikasi sebagai kasus positif [11].

Keterangan:

tp = prediksi aktual bernilai positif, hasil klasifikasi positif

fp = prediksi aktual bernilai negatif, hasil klasifikasi positif

Recall atau yang biasa disebut sensitivitas yaitu jumlah kasus diklasifikasi positi

nyata dibagi total kasus dalam testing set yang diprediksi berkategori benar positif

[11].

Keterangan:

tp = prediksi aktual bernilai positif, hasil klasifikasi positif

fn = prediksi aktual bernilai positif, hasil klasifikasi negatif

precision = NeNefge

recall = NeNefgh

(13)

(14)

akurasi = +ijGkl.kmimn>.Gkm>g>.km>ophkqNrNkG.kmimn>.Gkm>g>.km>

(12)

20

F-measure yaitu harmonic mean dari precision dan recall. F-measure secara

efektif mereferensikan benar positif dengan rata-rata aritmatik dari prediksi positif

dan positif nyata[11].

f-measure = 2 eqps>mm>rh∗qpskGGeqps>mm>rhfqpskGG

(15)