IMPLEMENTASI SUPPORT VECTOR MACHINE (SVM) UNTUK KLASIFIKASI DOKUMEN
DEALIS HENDRA PRATAMA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2013
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA* Dengan ini saya menyatakan bahwa skripsi berjudul implementasi support vector machine (SVM) untuk klasifikasi dokumen adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir disertasi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Juni 2013 Dealis Hendra Pratama NIM G64104001
ABSTRAK DEALIS HENDRA PRATAMA. Implementasi Support Vector Machine (SVM) Untuk Klasifikasi Dokumen. Dibimbing oleh Ir. Julio Adisantoso, M.Kom. Klasifikasi dokumen merupakan proses pengelompokan dokumen ke dalam kategori tertentu yang sudah ditentukan sebelumnya. Pada dunia nyata, umumnya sebaran data bersifat non-linear yang artinya sebaran data tidak terpisah secara sempurna. Oleh karena itu dibutuhkan sebuah metode yang dapat mengklasifikasikan dokumen yang bersifat non-linear. Support vector machine bisa melakukan klasifikasi dokumen yang bersifat non-linear dengan meningkatkan dimensi sebaran dokumen menggunakan kernel trick. Penelitian ini akan menggunakan linear kernel untuk klasifikasi dokumen teks. Hasil akurasi terbesar pada penelitian ini adalah 76% dari 150 dokumen uji dengan nilai epsilon 0.01. Faktor yang mempengaruhi hasil klasifikasi diantaranya adalah nilai epsilon dan panjang dokumen uji. Kata kunci: SVM, linear kernel, support vector machine, klasifikasi dokumen.
ABSTRACT DEALIS HENDRA PRATAMA Support Vector Machine (SVM) implementation for document classification. Supervised by Ir. Julio Adisantoso, M.Kom. Document classification is the process of grouping documents into specific categories that have been defined previously. In the real world, the distribution of the data is generally non-linear, which means the distribution of the data did not separate properly. Therefore we need a method that can classify documents that are non-linear. Support vector machine can classify documents that are non-linear with increasing dimension of the distribution of documents using kernel trick. This study will use a linear kernel for the classification of text documents. Results greatest accuracy in this study was 76% of 150 test documents with epsilon value 0.01. Factors affecting the results of the classification of which is the value of epsilon and length of test documents. Keywords: SVM, linear kernel, support vector machine, document classification.
IMPLEMENTASI SUPPORT VECTOR MACHINE (SVM) UNTUK KLASIFIKASI DOKUMEN
DEALIS HENDRA PRATAMA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2013
Judul Skripsi : Implementasi Support Vector Machine (SVM) Untuk Klasifikasi Dokumen Nama : Dealis Hendra Pratama NIM : G64104001
Disetujui oleh
Ir. Julio Adisantoso, M.Kom Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi, MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa taโala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Agustus 2012 ini ialah klasifikasi dokumen, dengan judul implementasi support vector machine (SVM) untuk klasifikasi dokumen. Penulis menyadari bahwa penelitian ini tidak akan selesai jika tidak ada bantuan dari berbagai pihak. Pada kesempatan ini penuli ingin mengucapkan terimakasih kepada : 1. Orang tua tersayang, Ayah (alm) Dalimin dan Ibu Sriwiji, serta adik Olga Dealis Saputri, dan juga keluarga yang selalu memberikan doa, nasihat, semangat, dukungan yang luar biasa kepada penulis. 2. Bapak Ir. Julio Adisantoso, M.Kom selaku dosen pembimbing, dengan bantuan bimbingan disertai kesabaran dalam penyelesaian penelitian ini. 3. Bapak Mushtofa, S.Kom, M.Sc dan Sony Hartono Wijaya, S.Kom., M.Kom selaku dosen penguji yang telah memberikan banyak saran dan pembelajaran dalam penyempurnaan penelitian ini. 4. Ina Ainul Ariefah yang selalu ada dan membantu, memberikan ketenangan, solusi, dan kesabaran dalam menyelesaikan penelitian ini. 5. Teman-teman satu bimbingan yang saling membantu dalam penyelesaian masalah yang ada selama penyelesaian penelitian ini. 6. Seluruh staf program Alih Jenis Ilmu Komputer yang telah banyak membantu selama perkuliahan dan selama penyelesaian penelitian ini. Dalam penelitian ini penuli menyadari masih banyak kekurangan dan kesalahan dalam penyelesaiannya karena keterbatasan kemampuan penulis. Untuk itu penulis menerima saran dan kritik yang bersifat membangun mengenai penelitian ini. Semoga penelitian ini bermanfaat baik sekarang atau di masa yang akan datang. Bogor, Juni 2013 Dealis Hendra Pratama
DAFTAR ISI DAFTAR TABEL
vii
DAFTAR GAMBAR
vii
DAFTAR LAMPIRAN
vii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE
2
Tahap Pengumpulan Dokumen
2
Tahap Pelatihan
3
Tahap Pengujian
9
Lingkungan Pengembangan
10
HASIL DAN PEMBAHASAN
10
Pengumpulan Dokumen
10
Tokenisasi
11
Seleksi Fitur
12
Pembobotan
12
Support Vector Machine
12
Evaluasi kinerja klasifikasi
13
SIMPULAN DAN SARAN
16
Simpulan
16
Saran
16
DAFTAR PUSTAKA
17
LAMPIRAN
18
RIWAYAT HIDUP
19
DAFTAR TABEL 1. 2. 3. 4. 5. 6. 7. 8. 9.
Tabel kontigensi antara kata terhadap kelas Contoh kernel Struktur tabel dokumen latih Struktur tabel kelas dokumen latih Jumlah kata dan rata-rata jumlah kata Total kata yang diterima dan ditolak sebagai fitur Bobot terbesar, terkecil, dan rata-rata bobot Perbandingan kategori long document Perbandingan kategori short document
4 7 10 11 11 12 12 13 13
DAFTAR GAMBAR 1. 2. 3. 4. 5. 6. 7. 8. 9.
Diagram alur proses tahap pelatihan Konsep dasar SVM Fungsi ฮฆ memetakan data ke ruang vektor berdimensi lebih tinggi Diagram alur tahap pengujian Contoh Dokumen Uji Perbandingan akurasi untuk kategori dokumen Perbandingan akurasi seluruh dokumen Perbandingan akurasi SVM dan SS (short document) Perbandingan akurasi SVM dan SS (long document)
3 5 7 9 11 14 15 15 15
PENDAHULUAN Latar Belakang Pada saat ini jumlah dokumen teks di jaringan global sudah berkembang sangat pesat. Jumlah dokumen yang semakin banyak akan membuat masyarakat umum mengalami kesulitan dalam menemukan dokumen teks yang dibutuhkan sesuai dengan keinginan. Hal ini memerlukan sebuah teknik pengolahan dokumen teks agar menjadi beberapa kelompok yang sudah terorganisir dengan baik. Salah satu teknik yang bisa digunakan adalah teknik klasifikasi dokumen, yaitu dengan membagi-bagi kelompok dokumen berdasarkan kelompok yang sudah ditentukan sebelumnya. Untuk itu dibutuhkan sistem klasifikasi dokumen teks yang mampu mengelompokkan dokumen teks ke dalam kelompok-kelompok yang sudah ditentukan sebelumnya. Dengan adanya sistem klasifikasi dokumen, maka pengguna tidak perlu mengelompokkan dokumen secara manual, sehingga dapat mengurangi waktu dan tenaga dalam melakukan penyimpanan dokumen kedalam kelompok yang sudah ditentukan. Selain itu, masyarakat juga sudah mudah untuk mencari dokumen yang diinginkan apabila dokumen sudah tersusun rapih berdasarkan kelompok masing-masing. Pada saat ini sudah banyak metode yang digunakan untuk mengatasi permasalahan klasifikasi dokumen. Manning et al (2007) mengelompokkan metode klasifikasi dokumen atau teks menjadi tiga pendekatan, yaitu klasifikasi manual, klasifikasi berbasis aturan (hand-crafted rules), dan klasifikasi berbasis pembelajaran mesin (machine learning-based text classification). Pada klasifikasi berbasis pembelajaran, beberapa aturan keputusan dari pengklasifikasi teks dipelajari secara otomatis dengan menggunakan metode statistika dari dokumen latih. Ada beberapa metode yang dapat digunakan dalam proses pembelajaran (supervised learning) yaitu Naรฏve Bayes, Rocchio classsfication, K Nearst Neighbor (KNN), dan Support Vector Machine (SVM). Pada penelitian sebelumnya, klasifikasi dokumen dengan metode semantic smoothing telah dilakukan oleh Ramadhina (2011). Klasifikasi dengan metode semantic smoothing sangat bergantung pada pasangan kata atau topic signature (Ramadhina, 2011). Oleh karena itu metode ini tidak cocok untuk digunakan untuk berbagai dokumen karena dokumen yang berbeda akan menghasilkan topic signature yang berbeda. Untuk itu dibutuhkan algoritme klasifikasi yang bisa lebih fleksibel sehingga bisa digunakan untuk berbagai macam dokumen. Algoritme klasifikasi support vector machine (SVM) merupakan salah satu algoritme klasifikasi dengan akurasi terbaik sampai saat ini (Nugroho et al, 2003). Algoritme ini juga memungkinkan melakukan klasifikasi berbagai dokumen, melakukan klasifikasi linier, dan klasifikasi non-linier dengan menggunakan kernel trick. Klasifikasi linier adalah klasifikasi dokumen dimana kedua kelas sudah terpisah secara sempurna. Pada umumnya masalah dalam dunia nyata jarang yang bersifat linear separable (terpisah secara linear), tetapi bersifat non-linear (Nugroho et al, 2003). Dalam non-linear SVM pertama-tama data dipetakan ke ruang vektor yang berdimensi lebih tinggi. Pada ruang vektor yang baru ini, hyperplane yang memisahkan kedua kelas dapat dikonstruksikan.
2 Perumusan Masalah Pemasalahan klasifikasi pada dunia nyata lebih banyak yang bersifat nonlinear artinya data tidak terpisah secara sempurna. Untuk melakukan klasifikasi dalam kasus non-linear dibutuhkan sebuah metode yang dapat meningkatkan dimensi data agar bisa memisahkan data secara sempurna. Support vector machine (SVM) adalah metode yang dapat melakukan klasifikasi yang bersifat non-linear. Untuk menaikkan dimensi, SVM menggunakan kernel trick dalam penerapannya. Oleh karena itu pada penelitian ini, penulis mencoba menerapkan kernel linier pada SVM untuk klasifikasi dokumen teks. Tujuan Penelitian Tujuan dari penelitian ini adalah mengimplementasikan linear kernel pada SVM untuk klasifikasi dokumen. Manfaat Penelitian Manfaat penelitian ini adalah mengelompokkan dokumen secara otomatis, yang diharapkan dapat membantu seseorang dalam mengelompokkan dokumen berdasarkan kategori tertentu. Ruang Lingkup Penelitian Ruang lingkup pada penelitian ini adalah dokumen yang digunakan adalah dokumen teks berbahasa Indonesia mengenai tanaman holtikultura dari bidang pertanian.
METODE Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data dengan tujuan untuk memperkirakan kelas yang tidak diketahui dari suatu objek. Klasifikasi dokumen adalah pemberian kategori yang telah didefinisikan kepada dokumen yang belum memiliki kategori (Goller et al, 2000). Dokumen-dokumen yang sama akan dimasukkan ke dalam kelompok yang sama. Perkembangan jumlah dokumen yang sangat cepat, mendorong berkembangnya metode pengklasifikasian dokumen. Penelitian ini melakukan klasifikasi dokumen secara otomatis menggunakan metode support vector machine (SVM). Metode ini melakukan klasifikasi dengan cara belajar dari sekumpulan dokumen latih yang telah dikasifikasikan sebelumnya. Tahap Pengumpulan Dokumen Dokumen yang digunakan dalam penelitian ini adalah dokumen hasil penelitian dari Jurnal Penelitian Holtikultura tahun 2002 sampai dengan tahun 2009. Dokumen tersebut terdiri dari 174 dokumen latih dan 150 dokumen uji. Dokumen latih dibagi menjadi 57 dokumen latih untuk masing-masing kelas, sedangkan dokumen uji dibagi menjadi dua bagian yaitu kategori long document dan short
3 document. Hal ini dilakukan untuk melihat pengaruh jumlah kata yang digunakan untuk perhitungan klasifikasi. Untuk masing-masing kelas mempunyai 25 dokumen uji untuk setiap kategori. Pada penelitian ini, kelas dari klasifikasi dibagi menjadi tiga, yaitu : 1. Ekofisiologi dan Agronomi 2. Pemuliaan dan Teknologi Benih 3. Proteksi (Hama dan Penyakit) Tahap Pelatihan Tahap ini dilakukan untuk menghasilkan sebuah model klasifikasi yang akan digunakan untuk tahap pengujian. Tahap pelatihan dimulai dari preprossesing dokumen hingga menghasilkan model klasifikasi. Diagram alur tahap pelatihan bias dilihat pada gambar 1. Tahap Pelatihan
Dokumen Latih
preprossesing Tokenisasi Seleksi Fitur Pembobotan
Support Vector Machine
Model
Gambar 1 Diagram alur proses tahap pelatihan Tokenisasi Tokenisasi adalah suatu tahap pemrosesan teks input yang dibagi menjadi unit-unit kecil yang disebut dengan token atau term, yang berupa satu kata atau angka (Herawan, 2011). Pada penelitian ini, token yang dimaksud adalah kata. Aturan dalam melakukan tokenisasi adalah sebagai berikut : 1. Teks dipotong menjadi token. Karakter yang dianggap sebagai pemisah token didefinisikan dengan ekspresi reguler sebagai berikut : /[\s\-+\/*09%,.\"\];()\':=`?\[!@><]+/ 2. Token yang berupa numerik tidak diikutsertakan. Seleksi Fitur Seleksi fitur merupakan suatu proses memilih subset dari setiap kata unik yang ada di dalam himpunan dokumen latih yang akan digunakan sebagai fitur di
4 dalam klasifikasi dokumen (Maning et al, 2007). Dalam penelitian ini, metode yang digunakan untuk pemilihan fitur adalah chi-kuadrat . Chi-kuadrat adalah analisis untuk mengetahui apakah distribusi data seragam atau tidak. Persamaan untuk menghitung chi-kuadrat sebagai berikut : (๐๐ โ ๐โ)2 ๐ =โ ๐โ 2
(1)
dengan ๐๐ adalah frekuensi yang didapat dari sampel, dan ๐โ adalah frekuensi harapan. Pada penelitian ini, chi-kuadrat mengukur derajat kebebasan antara kata penciri t dengan kelas c agar dapat dibandingkan dengan persebaran nilai chikuadrat. Perhitungan nilai chi-kuadrat pada setiap kata t yang muncul pada setiap kelas c dapat dibantu dengan menggunakan tabel kontigensi. Tabel 1 menununjukan tabel kontigensi antara kata terhadap kelas. Nilai yang terdapat pada tabel kontingensi merupakan nilai frekuensi observasi dari suatu kata terhadap kelas. Tabel 1 Tabel kontigensi antara kata terhadap kelas
Kata
Kata t Kata ยฌt
Kelas Kelas c Kelas ยฌc A B C D
Perhitungan nilai chi-kuadrat berdasarkan tabel kontigensi tersebut disederhanakan pada persamaan 2. ๐(๐ด๐ท โ ๐ถ๐ต)2 (2) ๐ 2 (๐ก, ๐) = (๐ด + ๐ถ)(๐ต + ๐ท)(๐ด + ๐ต)(๐ถ + ๐ท) dengan t merupakan kata yang sedang diujikan terhadap suatu kelas c, N merupakan jumlah dokumen latih, A merupakan banyaknya dokumen pada kelas c yang memuat kata t, B merupakan banyaknya dokumen yang tidak berada pada kelas c yang memuat kata t, B merpakan banyaknya dokumen yang tidak berada pada kelas c namun memuat kata t, C merupakan banyaknya dokumen yang berada pada kelas c namun tidak mengandung kata t, dan D merupakan banyaknya dokumen yang bukan merupakan dokumen kelas c dan tidak memuat kata t. Pengambilan keputusan dilakukan berdasarkan nilai ๐ 2 dari masing-masing kata. Kata yang memiliki nilai ๐ 2 diatas nilai kritis pada tingkat signifikansi ฮฑ adalah kata yang akan dipili sebagai penciri dokumen. Tabel distribusi chi-kuadrat pada berbagai tingkat signifikansi dan derajat bebas tertentu ditunjukkan pada lampiran 1. Pembobotan Tiap dokumen diwujudkan sebagai vektor dengan elemen sebanyak term yang didapatkan melalui proses pemilihan fitur. Vektor tersebut beranggotakan bobot dari setiap term. Salah satu metode untuk menghitung bobot term adalah tfidf. Metode ini merupakan metode pembobotan yang merupakan hasil kali antara term frequency (tf), dan inverse document frequency (idf). Formula dari tf-idf adalah sebagai berikut : (3) ๐ค๐ก,๐ = ๐ก๐๐ก . ๐๐๐
5 ๐๐๐ = log (
๐ ) ๐๐๐ก
(4)
dengan ๐ค๐ก,๐ adalah bobot dari term t pada dokumen d, ๐ก๐๐ก adalah frekuensi term t dalam dokumen,๐ adalah jumlah dokumen, dan ๐๐๐ก adalah jumlah dokumen yang mengandung t. Support Vector Machine Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua kelas yang berbeda pada ruang input (Cristianini & Shawe-Taylor, 2000). Gambar 2 menggambarkan beberapa pola yang merupakan anggota dari dua buah kelas +1 dan kelas -1.
Gambar 2 Konsep dasar SVM Hyperplane pemisah terbaik antara kedua kelas dapat ditemukan dengan mengukur margin hyperplane tersebut dan mencari titik maksimalnya, sedangkan margin adalah jarak antara hyperplane tersebut dengan pola yang terdekat dari masing-masing kelas. Vektor pola yang terdekat disebut dengan support vector. Data yang tersedia dinotasikan โโโ ๐ฅ๐ โ ๐
๐ sedangkan label masing-masing dinotasikan ๐ฆ๐ โ {โ1, +1} untuk i = 1,2,โฆ,l , dimana l adalah banyaknya data. Diasumsikan kelas -1 dan +1 dapat terpisah secara sempurna oleh hyplerplane berdimensi d yang didefinisikan sebagai berikut : ๐ค โโ . ๐ฅ + ๐ = 0
(5)
Margin terbesar dapat ditemukan dengan memaksimalkan jarak antara hyperplane dan titik terdekatnya, yaitu 1โโ๐ค โโ โ. Hal ini dapat dirumuskan sebagai permasalahan Quadratic Programming (QP), yaitu mencari titik minimal persamaan (6) dengan memperhatikan constraint persamaan (7). 1 โ๐ค โโ โ2 โโ ๐ค 2 ๐ฆ๐ (๐ฅ โโโ๐ . ๐ค โโ + ๐) โ 1 โฅ 0, โ๐ min ๐(๐ค) =
(6) (7)
Masalah ini dapat dipecahkan dengan berbagai teknik komputasi, di antaranya Lagrange Multiplier. ๐
1 ๐ฟ(๐ค โโ , ๐, ๐) = โ๐ค โโ โ2 โ โ ๐ผ๐ (๐ฆ๐ ((๐ฅ๐ . ๐ค โโ + ๐) โ 1)) (๐ = 1,2, โฆ , ๐) 2 ๐=1
(8)
6 ๐ผ๐ adalah pengganda lagrange, yang bernilai nol atau positif. Nilai optimal dari persamaan (5) dapat dihitung dengan memaksimalkan nilai L terhadap ๐ค โโ dan b, dan memaksimalkan L terhadap ๐ผ๐ . Dengan memperhatikan sifat bahwa titik optimal gradient L=0, persamaan (8) dapat dimodifikasi sebagai memaksimalisasi masalah yang hanya mengandung ๐ผ๐ , sebagaimana persamaan berikut ini. Maksimasi : ๐
๐
1 โ ๐ผ๐ โ โ ๐ผ๐ ๐ผ๐ ๐ฆ๐ ๐ฆ๐ ๐ฅ โโโ๐ . โโโ ๐ฅ๐ 2 ๐=1
(9)
๐,๐=1
dengan constraint : ๐
๐ผ๐ โฅ (๐ = 1,2,3, โฆ , ๐) โ ๐ผ๐ ๐ฆ๐ = 0
(10)
๐=1
Dari hasil perhitungan ini diperoleh ๐ผ๐ yang sebagian besar bernilai positif. Data yang berkorelasi dengan ๐ผ๐ yang positif inilah yang disebut sebagai support vector tinggi (Nugroho et al, 2003). Soft Margin Penjelasan pada sub bab support vector machine berdasarkan asumsi bahwa kedua kelas dapat dipisah secara sempurna oleh hyperplane. Akan tetapi pada umumnya dua kelas pada ruang vektor tidak dapat terpisah secara sempurna. Hal ini menyebabkan constraint pada persamaan 8 tidak dapat terpenuhi, sehingga optimasi tidak dapat dilakukan. Untuk mengatasi masalah ini, SVM dirumuskan ulang dengan memperkenalkan teknik softmargin. Pada softmargin, persamaan (7) dimodifikasi dengan memasukan slack variable ๐๐ (๐๐ > 0) sebagai berikut : ๐ฆ๐ (๐ฅ โโโ๐ . ๐ค โโ + ๐) โฅ 1 โ ๐๐ , โ๐
(11)
Dengan demikian persamaan (6) diubah menjadi : ๐
1 min ๐(๐ค โโ , ๐) = โ๐ค โโ โ2 + ๐ถ โ ๐๐ โโ ๐ค 2
(12)
๐=1
Parameter C dipilih untuk mengontrol tradeoff antara margin dan error klasifikasi ๐. Nilai C yang besar berarti akan memberikan penalty yang lebih besar terhadap error klasifikasi tersebut. Non-Linear Classification Pada umumnya masalah dalam dunia nyata jarang yang bersifat linear separable, kebanyakan bersifat non-linier. Untuk menyelesaikan problem nonlinier, SVM dimodifikasi dengan memasukan fungsi Kernel (Nugroho et al, 2003). Dalam non-linear SVM pertama-tama data ๐ฅ dipetakan oleh fungsi ฮฆ(๐ฅ) ke ruang vektor yang berdimensi lebih tinggi. Pada ruang vektor yang baru ini, hyperplane yang memisahkan kedua kelas dapat di konstruksikan (Gambar 3).
7
Gambar 3 Fungsi ฮฆ memetakan data ke ruang vektor berdimensi lebih tinggi Pada gambar 3a diperlihatkan data pada kelas kuning dan data pada kelas merah berada pada ruang vektor berdimensi dua tidak dapat dipisahkan secara linier. Selanjutnya gambar 3b menunjukan bahwa fungsi ฮฆ memetakan tiap data pada ruang vektor tersebut ke ruang vektor baru yang berdimensi lebih tinggi (dimensi 3), dimana kedua kelas dapat dipisahkan oleh sebuah hyperplane. Notasi matematika pada mapping ini adalah sebagai berikut : ฮฆ โถ โ๐ โ โ๐ d
(13)
Selanjutnya proses pembelajaran 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 dipahami secara mudah, maka perhitungan dot product tersebut dapat digantikan dengan funsi kernel ๐พ(๐ฅ๐ , ๐ฅ๐ ) yang mendefinisikan secara implisit transformasi ฮฆ. Hal inilah disebut dengan kernel trick, yang dirumuskan sebagai berikut : ๐พ(๐ฅ๐ , ๐ฅ๐ ) = ฮฆ(๐ฅ๐ ). ฮฆ(๐ฅ๐ )
(14)
Ada berbagai fungsi kernel yang biasa digunakan, diantaranya adalah yang terdapat pada Tabel 2. Tabel 2 Contoh kernel Jenis kernel Linear
Definisi ๐(๐ฅ๐ , ๐ฅ๐ ) = ๐ฅ๐ ๐ฅ๐ + ๐
Polynomial
๐(๐ฅ๐ , ๐ฅ๐ ) = (๐ผ๐ฅ๐ ๐ฅ๐ + ๐)๐
Gaussian
โ๐ฅ๐ โ ๐ฅ๐ โ ๐(๐ฅ๐ , ๐ฅ๐ ) = exp (โ ) 2๐ 2
๐
๐
2
Pada penelitian ini, kernel yang akan digunakan adalah linear kernel. Linear kernel adalah kernel paling sederhana yang biasa digunakan. Kernel trick memberikan berbagai kemudahan, karena dalam proses pembelajaran SVM, untuk menentukan support vector, kita hanya cukup mengetahui fungsi kernel yang dipakai, dan tidak perlu mengetahui wujud dari
8 fungsi non-linier ฮฆ . Selanjutnya hasil klasifikasi dari data ๐ฅ diperoleh dari persamaan berikut : ๐(ฮฆ(๐ฅ)) = ๐ค โโ . ฮฆ(๐ฅ) + ๐
(15)
๐
=
โ
๐ผ๐ ๐ฆ๐ ฮฆ(๐ฅ). ฮฆ(๐ฅ โโโ๐ ) + ๐
(16)
๐ผ๐ ๐ฆ๐ ๐พ(๐ฅ, โโโ ๐ฅ๐ ) + ๐
(17)
โโโ๐ โ๐๐ ๐=1,๐ฅ ๐
=
โ โโโ๐ โ๐๐ ๐=1,๐ฅ
SV pada persamaan (16) dan persamaan (17) dimaksudkan dengan subset dari training set yang terpilih sebagai support vector, dengan kata lain data โโโ ๐ฅ๐ yang berkorespondensi pada ๐ผ๐ โฅ 0. Sequential Minimal Optimization Sequential Minimal Optimization (SMO) adalah algoritma untuk proses pelatihan pada SVM yang dapat memberikan solusi pada masalah optimisasi. Pada dasarnya penggunaan SVM hanya terbatas pada masalah yang kecil karena algoritma pelatihan SVM cenderung lambat, kompleks, dan sulit untuk diimplementasikan. Berdasarkan hasil penelitian, algoritma SMO lebih sederhana, lebih mudah diimplementasikan, dan lebih cepat waktu komputasinya daripada algoritma Chunking (platt 1998). Pada setiap tahap SMO memilih dua pengganda lagrange ๐ผ๐ , untuk dioptimasi bersama-sama, mencari nilai yang paling optimal dari pengganda lagrange tersebut, dan memperbaharui SVM dengan nilai optimal yang baru. SMO bekerja berdasarkan working set yang merupakan kumpulan variable yang sedang dioptimasi pada current iteration. SMO menggunakan working set berelemen dua. Algoritma SMO seperti yang dijelaskan oleh Platt (1998) adalah sebagai berikut : 1. Masukkan data latih, nilai parameter SMO C dan epsilon (ฮต). Inisialisasi nilai ฮฑ dan bias b. 2. Lakukan iterasi pada seluruh data latih, cari ๐ผ1 yang melanggar sifat gradien. Jika ๐ผ1 diperoleh maka ke tahap 3. Jika iterasi pada seluruh data latih selesai, maka lakukan iterasi pada data yang tidak terdapat pada batas. Lakukan iterasi pada seluruh data latih dan pada data yang tidak terdapat pada batas secara bergantian untuk mencari ๐ผ1 yang melanggar sifat gradient sampai seluruh ฮฑ memenuhi sifat gradient. 3. Cari ๐ผ2 dari data yang tidak terdapat pada batas. Ambil ฮฑ yang memberikan nilai |๐ธ1 โ ๐ธ2 | terbesar sebagai ๐ผ2 . ๐ธ1 dan ๐ธ2 merupakan error cache untuk ๐ผ1 dan ๐ผ2 . Jika dua data identic, maka buang ๐ผ2 dan ke tahap 4. Selainnya, hitung nilai L dan H untuk ๐ผ2 : max(0, ๐ผ2 โ ๐ผ1 ) , ๐๐๐๐ ๐ฆ1 = ๐ฆ2 ๐ฟ={ , max(0, ๐ผ2 + ๐ผ1 โ ๐ถ) , ๐๐๐๐ ๐ฆ1 โ ๐ฆ2 ๐ป={
min(๐ถ, ๐ถ + ๐ผ2 โ ๐ผ1 ) , ๐๐๐๐ ๐ฆ1 = ๐ฆ2 . min(๐ถ, ๐ผ2 + ๐ผ1 ) , ๐๐๐๐ ๐ฆ1 โ ๐ฆ2
9 Jika L=H, maka perkembangan optimasi tidak dapat dibuat, buang ๐ผ2 dan ke tahap 4. Selainnya, hitung nilai ฮท : ๐ = 2๐พ(๐ฅ โโโ1 , โโโโ ๐ฅ2 ) โ ๐พ(๐ฅ โโโ1 , ๐ฅ โโโ1 ) โ ๐พ(๐ฅ โโโโ2 , โโโโ ๐ฅ2 ). Jika nilai ๐ negative, maka hitung nilai nilai ๐ผ2 yang baru. Selainnya, hitung fungsi objektif pada titik L dan H dan gunakan nilai ๐ผ2 yang memberikan fungsi objektif paling tinggi sebagai nilai ๐ผ2 yang baru. Jika |๐ผ2๐๐๐๐ข โ ๐ผ2๐๐๐๐ | lebih kecil dari nilai epsilon (ฮต), maka buang nilai ๐ผ2 dan ke tahap 4. Selainnya, ke tahap 5. 4. Lakukan iterasi pada data yang tidak terdapat pada batas sampai diperoleh ๐ผ2 yang dapat membuat perkembangan optimasi di tahap 3. Jika tidak diperoleh, maka lakukan iterasi pada seluruh data latih sampai diperoleh ๐ผ2 yang dapat membuat perkembangan optimasi di tahap 3. Jika ๐ผ2 tidak diperoleh setelah dua iterasi tersebut, maka lewati nilai ๐ผ1 yang diperoleh dan kembali ke tahap 2 untuk mencari nilai ๐ผ1 baru yang melanggar sifat gradien. 5. Hitung nilai ๐ผ2 yang baru. Perbaharui nilai b dan error cache. Simpan nilai ๐ผ1 dan ๐ผ2 yang baru. Kembali ke tahap 2. Tahap Pengujian Pada tahap pengujian, tahapan yang dilakukan hampir sama dengan tahap pelatihan, hanya pada tahap ini tidak dilakukan seleksi fitur. Pada tahap ini, model yang dihasilkan dari tahap pelatihan akan digunakan untuk proses klasifikasi dokumen uji. Hasil dari proses klasifikasi akan di evaluasi menggunakan recall dan precision Gambar 4 memperlihatkan diagram alur pada tahap pengujian. Tahap Pengujian
Dokumen Uji
preprossesing Tokenisasi Pembobotan
Model SVM
Evaluasi
End
Gambar 4 Diagram alur tahap pengujian
10 Evaluasi Evaluasi kinerja sistem dilakukan dengan menghitung nilai akurasi dari 150 dokumen uji untuk mendapatkan persentase ketepatan suatu dokumen masuk ke dalam kelas tertentu dalam sistem klasifikasi dokumen. Persamaan untuk menghitung akurasi adalah sebagai berikut : ๐๐๐ข๐๐๐ ๐ =
๐ฝ๐ข๐๐๐โ ๐๐๐๐ข๐๐๐ ๐ข๐๐ ๐๐๐๐๐๐ ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐ ๐๐๐๐๐ ร 100% ๐๐ข๐๐๐โ ๐ ๐๐๐ข๐๐ขโ ๐๐๐๐ข๐๐๐ ๐ข๐๐
Lingkungan Pengembangan Lingkungan pengembangan merupakan kumpulan fasilitas yang diperlukan dalam pelaksanaan penelitian. Pada penelitian ini lingkungan pengembangan yang digunakan adalah : ๏ท Perangkat keras : a. CPU Intelยฎ Coreโข i3-2330M CPU @2.20 GHz b. Memory 4 GB ๏ท Perangkat lunak : a. Windows 8 Enterprise Edition b. Visual Studio 2012 Ultimate c. SQL Server 2012 d. IIS 8 ๏ท Bahasa Pemrograman : a. ASP.NET (C#) b. HTML
HASIL DAN PEMBAHASAN Pengumpulan Dokumen Pada tahap ini, dokumen latih yang sudah terkumpul, akan disimpan ke dalam 2 tabel pada database. Tabel pertama akan menyimpan data detail dari setiap dokumen yang berisi id dokumen, judul, kata kunci, penulis, dan abstrak. Tabel yang kedua akan digunakan untuk menyimpan data dokumen latih beserta kelasnya. Pada tabel yang kedua, yang disimpan hanyalah id dokumen dan id kelasnya. Tabel 3 adalah struktur tabel penyimpanan dokumen latih pada database. Tabel 3 Struktur tabel dokumen latih Field IdDoc Judul kata_kunci Penulis Abstract
Tipe data int varchar(500) varchar(500) varchar(250) text
Dari tabel 3 kita hanya mendapatkan informasi tentang detail dari dokumen latih. Pada tabel 4 akan diperlihatkan struktur tabel untuk penyimpanan kelas dokumen latih pada database. Sedangkan contoh dari dokumen uji bisa dilihat pada gambar 5.
11 Tabel 4 Struktur tabel kelas dokumen latih Field IdDoc IdClass
Tipe data int int
Gambar 5 Contoh Dokumen Uji Tokenisasi Tahap tokenisasi adalah tahap memisahkan dokumen menjadi bagian-bagian kecil yang disebut dengan term. Pada dokumen latih, tokenisasi dilakukan pada abstrak. Pada penelitian ini tokenisasi dokumen latih dilakukan secara offline dengan menggunakan stored procedure pada SQL Server. Langkah awal untuk memisahkan dokumen menjadi beberapa kata (term) adalah dengan mengganti seluruh tanda baca menjadi karakter spasi (white space). Setelah semua tanda baca menjadi spasi, kemudian dokumen dipecah menjadi beberapa bagian dengan karakter pemisah adalah karakter spasi. Setalah selesai melakukan proses pemisahan, kumpulan kata yang dihasilkan kembali diproses dengan membuang karakter berupa angka dan membuang kata yang berupa kata depan. Setelah semua proses pemecahan selesai, kumpulan kata tersebut disimpan di dalam tabel pada database. Tabel 5 menggambarkan jumlah kata hasil tokenisasi, dan rata-rata jumlah kata tiap dokumen. Tabel 5 Jumlah kata dan rata-rata jumlah kata Jumlah Kata 25318
Rata-rata jumlah kata 146
Dari tabel 5 bisa disimpulkan bahwa jumlah kata dari seluruh dokumen uji adalah 25.318 kata dengan rata-rata 146 kata tiap dokumen.
12 Seleksi Fitur Pada tahap ini, kumpulan kata yang sudah ada diproses kembali untuk menentukan apakah kata tersebut layak dijadikan fitur dalam pembentukan model klasifikasi. Untuk melakukan proses seleksi fitur, metode yang digunakan pada penelitian ini adalah chi-kuadrat. Setalah dihitung menggunakan metode chikuadrat, setiap kata mempunyai nilai chi-kuadrat yang digunakan sebagai acuan dalam menentukan apakah kata tersebut layak digunakan sebagai fitur atau tidak. Batasan dari nilai chi-kuadrat ditentukan oleh derajat bebas dan tingkat signifikansi. Pada penelitian ini derajat bebas yang digunakan adalah 1 dengan tingkat signifikansi 0.10 yang berarti kata yang memiliki nilai chi-kuadrat diatas 2.71 yang diterima sebagai fitur. Tabel 6 memperlihatkan total kata yang diterima, dan total kata yang tidak diterima sebagai fitur. Tabel 6 Total kata yang diterima dan ditolak sebagai fitur Total kata yang diterima 4890
Total kata yang ditolak 10053
Berdasarkan tabel 6, proses seleksi fitur sangat bermanfaat untuk mengurangi katakata yang akan digunakan sebagai fitur. Karena dengan berkurangnya kata yang digunakan, maka proses komputasi akan semakin ringan. Pembobotan Setelah dilakukan proses seleksi fitur, kata yang telah terpilih dihitung bobotnya menggunakan metode tf-idf. Langkah pertama yang dilakukan pada proses ini adalah menghitung jumlah masing-masing kata pada setiap dokumen. Setelah itu dihitung pula jumlah dokumen yang mengandung suatu kata tertentu. Kedua hasil perhitungan tersebut menjadi faktor utama dalam perhitungan bobot menggunakan metode tf-idf. Tabel 7 memperlihatkan bobot terbesar, bobot terkecil, dan rata-rata bobot yang diperoleh dari proses pembobotan ini. Tabel 7 Bobot terbesar, terkecil, dan rata-rata bobot Bobot terbesar 69.03
Bobot terkecil 0
Rata-rata bobot 3.86
Support Vector Machine Setelah melalui tahap-tahap sebelumnya, dokumen diproses untuk menghasilkan model klasifikasi support vector machine (SVM). Model SVM adalah model klasifikasi berbasis vektor. Vektor yang sudah dipetakan akan dihitung jaraknya. Jarak terjauh akan digunakan sebagai pemisah kelas dari vektor. Kemudian diberikan sebuah hyperplane untuk memisahkan dua kelas. Hal terpenting yang dibutuhkan untuk membuat model klasifikasi SVM adalah dengan mengkonfersi dokumen dalam bentuk vektor. Vektor yang terbentuk dari proses ini berdimensi 843. Pada penelitian ini vektor dokumen berisi bobot setiap kata dari suatu dokumen tertentu. Apabila ada kata yang tidak terdapat dalam dokumen, maka bobotnya diberi nilai nol.
13 Proses selanjutnya setelah semua vektor dokumen terbentuk, vektor-vektor yang sudah terbentuk dibagi menjadi 3 bagian dengan menggunakan metode support vector machine (SVM). Ada dua parameter penentu yang digunakan dalam pembuatan model SVM, yaitu C dan epsilon. C yang dimaksud adalah cost pinalti untuk data yang diklasifikasikan secara salah pada model. Pada penelitian ini, nilai yang C digunakan adalah 1.0. Sedangkan epsilon adalah nilai yang mengontrol lebar dari zona insensitive. Pada penelitian ini akan dicoba menggunakan empat variasi nilai epsilon yaitu 0.1, 0.01, 0.001, dan 0.0001. Variasi nilai ini digunakan untuk menemukan nilai untuk mencapai tingkat akurasi terbaik. Tahap selanjutnya ada memasukkan jenis kernel yang digunakan yaitu linear kernel ke dalam SVM. Setelah semua parameter dimasukkan, maka dilakukan proses pelatihan terhadap seluruh vektor agar menghasil model SVM yang disimpan dalam database. Penyimpanan model dalam database dilakukan untuk mempercepat proses klasifikasi, karena proses pembuatan model membutuhkan waktu yang cukup lama. Pada tahap pengujian, tahap yang dilakukan hampir sama pada tahap pelatihan. Tahap pertama yang dilakukan adalah dengan mangambil kembali model SVM yang tersimpan di database. Tahap selanjutnya dokumen uji dipecah menjadi beberapa kata. Kumpulan kata tersebut kemudian disimpan dalam tabel sementara pada database. Setelah semua kata tersimpan, kemudian proses dilanjutkan dengan perhitungan bobot untuk masing-masing kata. Proses ini diperlukan untuk mengkonversi dokumen uji menjadi vektor. Proses selanjutnya adalah dengan mengambil data kata dokumen uji yang biasa disebut vektor untuk kemudian dimasukkan ke dalam model SVM yang telah dibuat sebelumnya. Evaluasi kinerja klasifikasi Pada tahapan sebelumnya sudah dijelaskan tahap-tahap pembuatan model klasifikasi sampai dengan pengujian dokumen uji. Ada beberapa faktor yang menentukan hasil klasifikasi dokumen uji. Diantaranya adalah panjang dokumen dan nilai epsilon. Tahapan ini akan menjelaskan hasil kinerja klasifikasi berdasarkan beberapa parameter yang telah digunakan. Untuk melihat perbandingan hasil, maka dibuat percobaan klasifikasi dengan dokumen uji sebanyak 150 dokumen dengan masing-masing 75 dokumen pada kategori long document dan 75 dokumen pada kategori short dokumen. Evaluasi dilakukan dengan membandingkan akurasi dari masing-masing nilai epsilon. Tabel 8 adalah perbandingan untuk kategori long document dari akurasi masing-masing nilai epsilon. Tabel 8 Perbandingan kategori long document akurasi
0.1
0.01
0.001
0.0001
33.33
84
86.67
85.33
Sedangkan untuk perbandingan untuk kategori short document dapat dilihat pada tabel 9. Tabel 9 Perbandingan kategori short document akurasi
0.1
0.01
0.001
0.0001
33.33
68
50.67
64
14
Setelah melihat tabel 8 dan tabel 9, maka bisa disimpulkan bahwa nilai epsilon dan panjangnya data uji sangat mempengaruhi hasil dari klasifikasi. Nilai epsilon 0.01 adalah nilai maksimum untuk mencapai akurasi yang paling baik. Sedangkan untuk kategori dokumen, long document memiliki tingkat akurasi lebih baik dibandingkan dengan short document. Bila dilihat dari nilai epsilon, seharusnya memang semakin kecil nilainya maka akan semakin baik hasilnya. Hal ini terjadi karena nilai epsilon itu adalah jarak antar vektor yang bisa dijadikan acuan untuk menentukan vektor tersebut berada dalam satu kelas atau tidak. Tetapi tidak selamanya nilai epsilon yang rendah akan menghasilkan hasil yang lebih baik. Terbukti pada nilai 0.001 hasil klasifikasi mulai menurun. Hal ini terjadi karena jarak yang terlalu dekat juga tidak baik, karena jangkauan vektor satu dengan vektor yang lain akan berkurang. Sedangkan bila kita lihat dari kategori dokumen, dapat terlihat jelas bahwa panjang dokumen sangat mempengaruhi hasil klasifikasi. Semakin panjang dokumen maka akan semakin banyak kata yang bisa dihitung bobotnya dan kemudian dijadikan vektor. Vektor inilah yang menjadi masukkan kedalam model SVM. Gambar 6 adalah grafik perbandingan antar nilai epsilon untuk mempermudah dalam melihat progress peningkatan dan penurunan akurasi pada masing-masing kategori dokumen.
Perbandingan akurasi berdasarkan kategori dokumen 100
86.67
84
80
68
60 40
85.3 64
50.67 33.3 33.3
20 0 0.1
0.01 long document
0.001
0.0001
short document
Gambar 6 Perbandingan akurasi untuk kategori dokumen Sedangkan untuk akurasi keseluruhan tanpa memperhatikan panjang dokumen dapat dilihat pada gambar 7.
15
Perbandingan akurasi seluruh dokumen 76
80
74.67
68.7
60 40
33.3
20 0 0.1
0.01
0.001
0.0001
Dokumen
Gambar 7 Perbandingan akurasi seluruh dokumen Untuk membandingkan hasil penelitian ini dengan penelitian yang dilakukan oleh Ramadina (2011) sebelumnya dengan metode Semantic Smoothing (SS), kita dapat melihat pada gambar 8 dan gambar 9.
Perbandingan SVM dan Semantic Smoothing untuk short document 90.22
100 80
68
60
40 20 0 SVM
Semantic Smoothing (SS)
Gambar 8 Perbandingan akurasi SVM dan SS (short document)
Perbandingan SVM dan Semantic Smoothing untuk long document 100 95.5 95 90
86.67
85 80 SVM
Semantic Smoothing (SS)
Gambar 9 Perbandingan akurasi SVM dan SS (long document)
16 Dari perbandingan yang dilihatkan pada gambar 8 dan gambar 9, dapat disimpulkan bahwa penelitian yang dilakukan oleh Ramadina (2011) memiliki akurasi lebih baik dibandingkan hasil pada penelitian ini. Hal ini disebabkan oleh proses semantic smoothing yang dilakukan pada penelitian Ramadina (2011). Sedangkan pada penelitian ini hanya mengandalkan hasil murni dari klasifikasi SVM. Selain itu, pemilihan parameter pada SVM juga sangat penting dalam mempengaruhi hasil klasifikasi dokumen.
SIMPULAN DAN SARAN Simpulan Setelah melakukan beberapa percobaan, penelitian ini menghasilkan beberapa simpulan, yaitu : 1. Metode support vector machine cukup baik digunakan untuk mengembangkan sistem klasifikasi dokumen teks. 2. Hasil akurasi terbaik adalah 76 % pada nilai epsilon 0.01. 3. Pemilihan fitur sangat mempengaruhi kinerja sistem klasifikasi dokumen karena sistem akan bekerja secara efisien. 4. Nilai epsilon dan panjang dokumen uji sangat mempengaruhi hasil klasifikasi dokumen. 5. Semakin kecil nilai epsilon belum tentu meningkatkan hasil klasifikasi dokumen. Saran 1. Perlu dilakukan penelitian lebih lanjut mengenai pemilihan kernel yang akan digunakan. 2. Ada beberapa faktor yang perlu diteliti lebih lanjut untuk meningkatkan hasil klasifikasi seperti nilai C dan kernel yang digunakan. 3. Agar kata yang dihasilkan dari preprossesing lebih akurat dan efisien, maka perlu dilakukan tahap lain selain tahap yang sudah dijelaskan pada penelitian ini. 4. Untuk meningkatkan akurasi klasifikasi, gunakan semantic smoothing seperti yang telah dilakukan oleh Ramadina (2011).
17
DAFTAR PUSTAKA Baeza-Yates R, Riberio-Neto B. 1999. Modern information retrieval. England: Addison Wesley. Christianini, N and J. Shawe-Taylor. 2000. An introduction to support vector machines and other kernel-based learning methods. Cambridge University Press, Cambridge, U.K. Goller C, et al. 2000. Automatic document classification : a thorough evaluation of various methods.SAIL-LABS, Muฬ nchen, Germany. Herawan Y. 2011. Ekstraksi ciri dokumen tumbuhan obat menggunakan chikuadrat dengan klasifikasi naive bayes [Skripsi]. Departemen Ilmu Komputer FMIPA-IPB. Joachims, T. 1998. Text categorization with support vector machines : learning with many relevant features. Universitat Dortmund, Germany. Manning, C.D, P. Raghavan, H.Schuฬ tze, 2007. An introduction to information retrieval. Cambridge University Press, Cambridge, England. Nugroho AS, Witarto AB, Handoko D. 2003. Support vektor machine -teori dan aplikasinya dalam bioinformatika-. Kuliah Umum Ilmukomputer.com, Indonesia. Platt JC. 1998. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machine. Ramadhina A. 2011. Klasifikasi dokumen bahasa indonesia menggunakan metode semantic smoothing [Skripsi]. Departemen Ilmu Komputer FMIPA-IPB.
18 Lampiran 1 Tabel distribusi nilai chi-kuadrat dengan nilai derajat bebas dan tingkat signifikansi tertentu 2 2 2 2 2 2 2 d.f ๐.25 ๐.10 ๐.05 ๐.025 ๐.010 ๐.005 ๐.001 1 1.32 2.71 3.84 5.02 6.63 7.88 10.8 2 2.77 4.61 5.99 7.38 9.21 10.6 13.8 3 4.11 6.25 7.81 9.35 11.3 12.8 16.3 4 5.39 7.78 9.49 11.1 13.3 14.9 18.5 5 6.63 9.24 11.1 12.8 15.1 16.7 20.5 6 7.84 10.6 12.6 14.5 16.8 18.5 22.5 7 9.04 12 14.1 16 18.5 20.3 24.3 8 10.2 13.4 15.5 17.5 20.1 22 26.1 9 11.4 14.7 16.9 19 21.7 23.6 27.9 10 12.5 16 18.3 20.5 23.2 25.2 29.6 11 13.7 17.3 19.7 21.9 24.7 26.8 31.3 12 14.8 18.5 21 23.3 26.2 28.3 32.9 13 16 19.8 22.4 24.7 27.7 29.8 34.5 14 17.1 21.1 23.7 26.1 29.1 31.3 36.1 15 18.2 22.3 25 27.5 30.6 32.8 37.7 16 19.4 23.5 26.3 28.8 32 34.3 39.3 17 20.5 24.8 27.6 30.2 33.4 35.7 40.8 18 21.6 26 28.9 31.5 34.8 37.2 42.3 19 22.7 27.2 30.1 32.9 36.2 38.6 32.8 20 23.8 28.4 31.4 34.2 37.6 40 45.3 21 24.9 29.6 32.7 35.5 38.9 41.4 46.8 22 26 30.8 33.9 36.8 40.3 42.8 48.3 23 27.1 32 35.2 38.1 41.6 44.2 49.7 24 28.2 33.2 36.4 39.4 32 45.6 51.2 25 29.3 34.4 37.7 40.6 44.3 46.9 52.6 26 30.4 35.6 38.9 42.9 45.6 48.3 54.1 27 31.5 36.7 40.1 43.2 47 49.6 55.5 28 32.6 37.9 41.3 44.5 48.3 51 56.9 29 33.7 39.1 42.6 45.7 49.6 52.3 58.3 30 34.8 40.3 43.8 47 50.9 53.7 59.7 40 45.6 51.8 55.8 59.3 63.7 66.8 73.4 50 56.3 63.2 67.5 71.4 76.2 79.5 86.7 60 67 74.4 79.1 83.3 88.4 92 99.6 70 77.6 85.5 90.5 95 100 104 112 80 88.1 96.6 102 107 112 116 125 80 98.6 108 113 118 124 128 137 100 109 118 124 130 136 140 149 Sumber: Ronald J. Wonnacolt and Thomas H. Wonnacot. Statistics: Discovering Its Power, New York: John Willeyand Sons, 1982, hal 352.
19
RIWAYAT HIDUP Penulis dilahirkan di Sukoharjo, 5 Juni 1989 dari bapak (alm) Dalimin dan ibu Sri Wiji. Penulis merupakan anak pertama dari 2 bersaudara. Pada tahun 2007 penulis lulus dari SMK Telkom Sandhy Putra Jakarta dan melanjutkan kuliah D3 di Universitas Padjadjaran (Unpad) mengambil jurusan Teknik Informatika. Selama menjalani kuliah di Unpad, penulis menjadi asisten laboratorium internet angkatan 2007. Setalah lulus pada tahun 2010, penuli langsung bekerja di sebuah perusahaan swasta yang bergerak di bidang project management. Pada tahun yang sama penulis diterima kuliah di Institu Pertanian Bogor (IPB) di program Alih Jenis Ilmu Komputer. Selama tahun 2007 sampai saat ini penulis aktif di berbagai komunitas developer untuk menunjang pendidikan di luar dunia kampus.