Anda di halaman 1dari 43

(2.1) Implementasi dan Analisis

(2.4)

(2.3)

(2.2)

(3.1)(2.10)

(2.9)

(2.8)

(2.7)(2.6)

(2.5)

Granular Support Vector Machine dengan Repetitive undersampling (GSVM-RU) untuk E-mail Spam Filtering

Implementation and analysis of Granular Support Vector Machine with Repetitive Undersampling (GSVM-RU) for E-mail Spam Filtering

Tugas Akhir

Diajukan untuk memenuhi sebagian dari syarat

untuk memperoleh gelar Sarjana Teknik

Fakultas Informatika

Institut Teknologi Telkom

Rahma Lestarini Purnama

113070312

Fakultas Informatika Institut Teknologi Telkom Bandung

2012

2

Lembar Pernyataan

Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “Implementasi

dan Analisis Granular Support Vector Machine dengan Repetitive

Undersampling (GSVM-RU) untuk E-mail Spam Filtering” beserta seluruh

isinya adalah benar-benar karya saya sendiri dan saya tidak melakukan

penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika

keilmuan yang berlaku dalam masyarakat keilmuan. Atas pernyataan ini, saya

siap menanggung resiko/sanksi yang dijatuhkan kepada saya apabila kemudian

ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini,

atau ada klaim dari pihak lain terhadap keaslian karya saya ini.

Bandung,

Januari 2012

Yang membuat pernyataan,

(Rahma Lestarini Purnama)

2

Lembar Pengesahan

Implementasi dan Analisis Granular Support Vector Machine dengan Repetitive Undersampling (GSVM-RU) untuk E-mail Spam Filtering

Implementation and Analysis of Granular Support Vector Machine with Repetitive Undersampling (GSVM-RU) for E-mail Spam Filtering

Rahma Lestarini Purnama

113070312

Tugas Akhir ini telah diterima dan disahkan untuk memenuhi sebagian dari syarat

untuk memperoleh gelar Sarjana Teknik Departemen Teknik Informatika

Sekolah Tinggi Teknologi Telkom

Bandung,

Januari 2012

Menyetujui

Pembimbing I

Tribroto Harsono, Ir., MT.

4

NIP: 99740178-1

Pembimbing II

Hetti Hidayati, S.Kom, MT.

NIP: 06750343-1

4

1. Abstrak

E-mail spam adalah pengiriman pesan yang tidak diinginkan melalui e-mail

dan dikirimkan dalam jumlah besar kepada siapapun. Para pengguna layanan e-mail

terpaksa menerima e-mail spam tersebut, sehingga banyak pengguna layanan e-

mail yang membuang waktunya dengan percuma untuk memilah e-mail yang

masuk ke inbox mereka. Oleh karena itu, e-mail spam filtering banyak

dikembangkan saat ini.

Dalam tugas akhir ini, dibangun sebuah sistem e-mail spam filtering dengan

menggunakan Granular computing, support vector machine, dan undersampling

untuk memecahkan masalah klasifikasi imbalance. Performansi sistem diukur

dengan menggunakan g-mean.

Ada dua metode agregasi yang digunakan dalam penelitian ini, yaitu

combine dan discard. Namun, metode combine memberikan hasil yang lebih

memuaskan dibandingkan metode discard, dengan akurasi sebesar 83,59%. Hal ini

disebabkan oleh banyaknya data informatif yang terekstrak, sehingga

meminimalkan efek information loss.

Kata kunci: Granular computing, e-mail spam filtering, undersampling, klasifikasi,

support vector machine, granular support vector machine.

5

2. Abstract

E-mail spam means sending unsolicited messages via e-mail and sent in

bulk to anyone. The e-mail service users are forced to receive the e-mail, so many

users waste their time to sorting their e-mails that comes into their inboxes.

Therefore, many e-mail spam filtering has been developed at this time.

In this work, we built an e-mail spam filtering system using granilar

computing, support vector machines, and undersampling to solve the imbalanced

classification problem. The system performance is measured by using the g-mean.

There are two methods of agregation used in this study, combine and

discard. However, combine gives more satisfactory result than discard method, with

83,59% accuracy. It is because there are many informative data that are extracted,

so it minimize the effect of information loss.

Keywords: Granular computing, e-mail spam filtering, undersampling, klasifikasi,

support vector machine, granular support vector machine.

6

3. Lembar Persembahan

Banyak pihak yang telah membantu penulis dalam mengerjakan tugas akhir ini,

baik moril maupun materil. Oleh karena itu, melalui lembar persembahan ini

penulis ingin mengucapkan rasa terima kasih yang sedalam-dalamnya kepada:

  • 1. Allah SWT, yang telah memberikan waktu yang tak ternilai, kesehatan,

kemudahan, dan kelancaran sehingga penulis dapat menyelesaikan Tugas Akhir

 

ini dengan baik.

2.

Bapak ir. Djoko Purnomo, MM. dan juga ibu Esti Preasetianingsih atas

dukungan, doa, kasih sayang, dan juga wejangan yang terus diberikan tanpa

 

henti.

3.

Adik-adik (Desy Paramitha A, Vina Tristiana, dan juga Diah Kusuma D)

yang memberikan hiburan berupa drama-drama korea. ”gomawo nae dongsaeng

 

:D”.

4.

Bapak Tribroto Harsono, ir., MT. sebagai pembimbing I, terima kasih

penulis ucapkan atas seluruh waktu dan ilmu pengetahuannya sehingga Tugas

Akhir ini dapat terselesaikan.

5.

Ibu Hetti Hidayati, S.Kom., MT. sebagai pembimbing II, yang telah

membantu, mengarahkan, dan meluangkan waktunya demi memberi saran-saran

kepada penulis dalam penyelesaian Tugas Akhir ini.

6.

Ibu Sri Widowati, Ir., MT. sebagai dosen wali penulis yang telah

membimbing penulis semasa kuliah.

7.

Mohammad Mahsus, ST., yang telah membantu dan membimbing penulis

dalam menyelesaikan tugas akhir. terima kasih atas dukungan, doa, dan juga

waktunya untuk menemani penulis.

8.

Special thanks to Ririn Zulandra dan Angga (Tejo) Pratama, yang menemani

penulis sejak awal pembuatan tugas akhir ini. Mulai dari mencari judul,

pembuatan proposal, menemui dosen, bimbingan TA, pengerjaannya dan juga

pembuatan bukunya.

9.

Grup GeJe, Anik Nartisih, Dyah Ayu M., Farida Riyani, Ririn Zulandra, dan

Rossy Syahputri. Terima kasih atas kenangan dan waktunya selama penulis

menjalani masa perkuliahan. ”ayo jalan-jalan lagiii”.

10. Teman-teman IF-31-06, yang telah menemani penulis sejak awal

perkuliahan.

11. Teman-teman kos Palm House, Vidia, Anggie, Gaidha, dan especially Rini

yang telah banyak memberikan saran dan semangat bagi penulis.

12. Pihak-pihak lain yang tidak dapat disebutkan namanya satu persatu, yang

telah membantu Penulis menyelesaikan Tugas Akhir ini, terima kasih banyak.

7

4. Kata Pengantar

Assalamu’alaykum warrahmatullah wabarakatuh.

Alhamdulillah, atas izin, rahmat, hidayah serta anugerah dari Allah SWT,

penulis dapat menyelesaikan tugas akhir yang berjudul “Implementasi dan Analisis

Granular Support Vector Machine dengan Repetitive Undersampling untuk E-mail

Spam Filtering”. Tugas akhir ini dibuat sebagai salah satu syarat kelulusan program

sarjana Fakultas Teknik Informatika Institut Teknologi Telkom.

Penulis berharap agar tugas akhir ini dapat memberi manfaat, baik kepada

Institusi maupun kepada pembaca. Penulis juga berharap agar tugas akhir ini dapat

dikembangkan lagi agar dapat memberikan pengetahuan yang lebih banyak lagi

bagi para pembaca dikemudian hari.

Penulis menyadari adanya banyak kekurangan dalam tugas akhir ini. Oleh

karena itu, penulis memohon maaf kepada semua pihak atas kesalahan yang penulis

buat, baik yang disengaja maupun yang tidak disengaja. Penulis juga sangat

mengharapkan kritik dan saran yang membangun terhadap tugas akhir ini.

Bandung,

Januari 2012

Penulis

8

5. Daftar isi

6. Daftar Gambar

7.

8. Daftar Tabel

Kelas / label Merupakan representasi output dari data contoh yang

digunakan dalam proses supervised learning.

Supervised learning Pendekatan proses learning menggunakan data latih yang

terbentuk dari objek dan atributnya, serta kelas yang

merepresentasikan objek tersebut. Hasil dari proses ini

adalah sebuah fungsi untuk melakukan prediksi pada data

lainnya.

Hyperplane Representasi geometrik untuk garis yang memisahkan

data input dalam Support Vector Machines.

Netbeans Sebuah aplikasi IDE yang dapat digunakan untuk

membangun aplikasi berbasis Java.

Linear SVM

SVM yang biasa digunakan untuk klasifikasi data yang

linearly separable.

Negative Local support

Support vector dari information granule negatif yang

vector (NLSV)

merupakan hasil dari SVM yang berisi SV data negatif.

Curse of

dimensionality

Waktu komputasi proses mining menjadi terlalu lama

akibat terlalu banyaknya atribut data.

12

10.

Pendahuluan

  • 1. Latar belakang masalah

Spam adalah penyalahgunaan sistem pesan elektronik (termasuk sebagian

besar media penyiaran, sistem pengiriman digital) untuk mengirim pesan massal

yang tidak diminta oleh penerimanya. E-mail spam adalah salah satu jenis spam

berupa pesan-pesan identik yang dikirim secara massal ke sejumlah penerima

dengan menggunakan e-mail. E-mail spam menyebabkan banyak pengguna e-mail

menjadi bingung, kesal dan terganggu. Oleh karena itu, e-mail filtering banyak

digunakan oleh para pengguna e-mail. E-mail filtering adalah sebuah proses untuk

melakukan pengelompokan e-mail berdasarkan kriteria tertentu. Untuk memisahkan

antara e-mail yang merupakan spam dan yang bukan yang disebut dengan e-mail

spam filtering. Salah satu teknik yang digunakan dalam e-mail spam filtering adalah

klasifikasi.

Klasifikasi adalah teknik memetakan (mengklasifikasikan) data ke dalam

satu atau beberapa kelas yang sudah didefinisikan sebelumnya. Ada banyak teknik

klasifikasi yang dapat digunakan untuk pembangunan email spam filtering,

diantaranya adalah Naïve Bayes, Support Vector Machines, k-Nearest Neighbor dan

Artificial Neural Network. Support Vector Machines adalah salah satu metode

supervised learning yang digunakan untuk klasifikasi data. Untuk menambah

efektifitas dan efisiensi pada SVM, maka banyak dilakukan modifikasi.

Support Vector Machine (SVM) adalah suatu metode supervised learning

yang digunakan untuk melakukan klasifikasi data. Support vector machine (SVM)

memiliki hasil yang bagus dalam klasifikasi data. Performansi SVM turun jika

dalam suatu dataset jumlah class yang satu dengan class yang lain sangat berbeda

jauh atau disebut imbalance class [12]. Imbalance class adalah kondisi dataset

dimana sampel negatif jauh lebih besar dibandingkan dengan sampel positif

[12,13]. Kondisi tersebut menyebabkan class yang sedikit tersebut dianggap

sebagai pencilan (outlier) atau bahkan tidak dianggap [12,13]. Strategi sampling,

seperti oversampling dan undersampling dikenal sangat baik untuk menghadapi

masalah imbalance class [13].

Salah satu penerapan modifikasi pada SVM adalah dengan menggunakan

granular computing dan teori statistik [12]. Gabungan dari kedua cara tersebut

disebut Granular Support Vector Machines (GSVM). Terdapat beberapa metode

yang ditambahkan pada GSVM sesuai dengan tujuan pembangunan SVM. Salah

satunya adalah metode Repetitive Undersampling yang berfungsi untuk

meminimalkan dampak negatif dari hilangnya informasi sekaligus memaksimalkan

dampak positif dari data cleaning dalam proses undersampling [13]. GSVM-RU

dapat meningkatkan performansi klasifikasi dengan cara mengekstraksi informative

sample yang penting untuk klasifikasi dan menghilangkan sejumlah besar sampel

yang redundant dan bersifat noise [12].

Pada tugas akhir ini akan dibangun sebuah sistem e-mail spam filtering

menggunakan Granular Support Vector Machine dengan Repetitive Undersampling

yang diharapkan akan memiliki akurasi yang tinggi.

2.

Perumusan masalah

Berdasarkan latar belakang tersebut, maka dapat dirumuskan permasalahan

sebagai berikut:

  • 1. Bagaimana melakukan penanganan terhadap e-mail spam dengan Granular

Support Vector Machine with Repetitive Undersampling?

  • 2. Bagaimana pengaruh penanganan e-mail spam dengan GSVM-RU terhadap

proses klasifikasi berdasarkan parameter sensitivity, specificity, dan G-Mean?

Terdapat beberapa batasan masalah dalam penelitian tugas akhir ini, antara lain :

  • 1. Data yang digunakan adalah data yang tidak mengandung gambar.

  • 2. sistem yang dibangun adalah aplikasi yang berdiri sendiri (stand alone

application) dan tidak diimplementasikan dalam e-mail server.

  • 3. Tujuan

Tujuan dari penelitian tugas akhir ini adalah:

  • 1. Mengimplementasikan metode Granular Support Vector Machine with

Repetitive Undersampling untuk mengklasifikasikan email spam atau bukan

spam.

  • 2. Melakukan analisa akurasi pada sistem yang telah dibangun dengan

parameter sensitivity, specitifity, dan G-Mean.

  • 4. Metodologi penyelesaian masalah

Metode yang digunakan untuk menyelesaikan tugas akhir ini adalah:

  • 1. Studi Literatur, yakni mempelajari referensi dan literatur, baik berupa

makalah, jurnal, maupun buku yang relevan yang membahas tentang Granular

Support Vector Machine with Repetitive Undersampling.

  • 2. Mempersiapkan dataset yang akan digunakan untuk testing dan training

dengan melakukan parser dan preprocessing terhadap dataset tersebut.

  • 3. Pembuatan desain sistem e-mail spam filtering dengan Granular Support

Vector Machine with Repetitive Undersampling.

  • 4. Implementasi (Coding), yaitu mengimplementasikan perancangan

menjadi sistem email spam filtering dengan menerapkan Granular Support

Vector Machine with Repetitive Undersampling.

  • 5. Training dan testing sistem, melakukan pelatihan dan pengujian pada

sistem dengan menggunakan data training, data testing dan data e-mail.

  • 6. Analisa hasil, melakukan analisa hasil dari sistem dengan cara

membandingkan hasil klasifikasi data testing dengan data jawaban sebenarnya.

  • 7. Pembuatan laporan, mendokumentasikan semua tahap metodologi

penyelesaian masalah menjadi suatu laporan yang nantinya dapat

dikembangkan sesuai perkembangan jaman dan dapat dimanfaatkan

sebagaimana mestinya.

  • 11. Dasar Teori

  • 1. E-mail Spam Filtering

Spam adalah penyalahgunaan sistem pesan elektronik untuk mengirim

iklan, berita atau keperluan lainnya secara massal. Biasanya, spam dikirimkan

secara bertubi-tubi, tanpa diminta, dan sering kali tidak dikehendaki oleh

penerimanya. Bentuk spam yang secara umum beredar di masyarakat meliputi

spam surat elektronik (e-mail spam), spam pesan instan (instant messaging spam),

spam blog, spam jejaring sosial, dan lain-lain [9].

E-mail spam adalah pengiriman pesan melalui e-mail yang tidak

diinginkan, sering kali bersifat komersial, dan dikirimkan dalam jumlah yang besar

kepada siapapun [9]. Karena sifatnya yang tidak diinginkan, banyak penerima e-

mail spam yang mau tidak mau harus memilah dan menyingkirkan e-mail spam

tersebut dari inbox mereka. Para penyedia layanan e-mail sering sekali

mendapatkan komplain mengenai e-mail spam. Oleh karena itu, saat ini hampir

semua penyedia layanan e-mail menggunakan e-mail spam filtering untuk

memisahkan e-mail pelanggan mereka dan memindahkan e-mail spam ke dalam

sebuah folder tersendiri.

E-mail spam filtering adalah proses mengatur e-mail sesuai dengan kriteria

yang ditetapkan. Sebuah e-mail spam filtering yang sempurna mengatur e-mail

yang masuk berdasarkan isi pesan, karakteristik pengirim dan target, pengetahuan

mengenai kemiripan e-mail yang masuk dengan e-mail yang dikategorikan spam,

dan lain-lain. Namun e-mail spam filtering yang sempurna tidak ada. Oleh karena

itu, diperlukan pembatasan filter untuk menggunakan sumber informasi yang

didefinisikan dengan baik, seperti isi pesan itu sendiri, informasi statistik yang

diperoleh dari umpan balik ke repositori filter atau dari pihak ketiga [3]. Banyak

teknik yang dpat digunakan untuk e-mail spam filtering, salah satunya adalah

klasifikasi.

  • 2. Klasifikasi

Klasifikasi adalah teknik dalam data mining untuk menargetkan atau

memprediksi kategori atau kelas dari setiap instance data. Tujuan dari klasifikasi

adalah memprediksi kelas secara akurat untuk setiap kasus dalam data [9]. dalam

penerapannya, data untuk klasifikasi terbagi menjadi dua, yaitu data training dan

data testing. Data training digunakan untuk membuat model dari klasifikasi, dimana

kelas dari data tersebut telah diketahui sebelumnya. Data testing adalah data data

yang digunakan untuk mengetes model klasifikasi yang telah dibuat, dimana kelas

dari data tersebut tidak diketahui. Ada bermacam-macam teknik klasifikasi,

beberapa diantaranya adalah naïve bayes, KNN, SVM, dan lain-lain. Dari beberapa

teknik tersebut, yang saat ini yang paling sering digunakan untuk klasifikasi data

adalah SVM, karena SVM memiliki performansi yang bagus dalam klasifikasi data.

  • 3. Stop Word

Stop word adalah proses penyaringan kata yang terlalu sering muncul dan

tidak mempunyai informasi yang mendukung proses klasifikasi [8]. Daftar kata-

kata yang termasuk kedalam stop word ditentukan sendiri secara manual. Tidak ada

daftar kata-kata stop word yang pasti. Tujuan dari penggunaan stop word adalah

untuk menghilangkan kata-kata yang tidak penting dalam sebuah dokumen.

  • 4. Stemming

Stemming adalah proses penghapusan semua imbuhan dari sebuah kata

untuk mendapatkan kata dasarnya. Tujuan dari stemming adalah untuk

mengelompokkan kata yang memiliki kata dasar yang sama. Stemming dapat

mengurangi jumlah atribut [8].

Saat ini, sudah banyak algoritma stemming yang diciptakan. Sebagian besar

dari algoritma tersebut fokus pada penghilangan akhiran kata. Algoritma stemming

untuk bahasa Inggris yang terkenal dan terbukti efektif adalah algoritma porter [2].

  • 5. Support Vector Machine

Support Vector Machines (SVM) adalah sebuah metode Supervised

Learning untuk klasifikasi data dalam data mining. SVM bekerja dengan

membangun hyperplane dengan jarak yang paling maksimal dengan menggunakan

support vector (SV) dalam mengklasifikasikan data. Support vectors adalah seluruh

vektor data yang berjarak paling dekat dengan hyperplane. SVM sangat akurat

dalam menangani data yang persebarannya merata. Hal ini disebabkan karena

hanya support vector (SV) yang digunakan dalam klasifikasi, dan sampel lainnya

bisa dihilangkan atau dihiraukan tanpa mempengaruhi proses klasifikasi [13]. SVM

bekerja sangat baik untuk permasalahan klasifikasi biner, yaitu klasifikasi yang

hanya memiliki dua kelas [12].

SVM bisa sangat sensitif terhadap data yang persebarannya tidak merata

(imbalance). Akibatnya, hasil performansi terhadap kelas positif jadi menurun. Ada

beberapa penelitian yang mencoba untuk memperbaiki performansi klasifikasi

SVM untuk data yang imbalance, namun waktu yang dibutuhkan untuk proses

klasifikasi menjadi lebih buruk daripada SVM yang standar. Performansi SVM juga

bisa menurun jika dihadapkan pada dataset yang sangat besar. Oleh karena itu, salah

satu cara untuk memperbaiki kecepatan klasifikasi SVM adalah dengan cara

mengurangi jumlah SV yang digunakan [13].

Data pada SVM diberikan dalam bentuk :

D adalah input space dengan x adalah vektor atribut data dan y adalah class dari

data. Hyperplane dibangun untuk memisahkan kedua kelas, -1 dan +1, secara

sempurna. Persamaan hyperplane didefinisikan sebagai :

Apabila hal ini terpenuhi, maka input space dapat dikatakan linearly separable.

Gambar 2 Support Vector Machine

Fungsi sign(x) yang dihasilkan dari perhitungan SVM adalah:

1.5.1

Optimasi SVM

Optimasi SVM dilakukan untuk mencari hyperplane terbaik. Hyperplane

terbaik adalah hyperplane yang memiliki margin terbesar. Margin terbesar dapat

diperoleh dengan memaksimalkan jarak antara hyperplane dengan titik terdekatnya.

Optimasi tersebut dinamakan primal form. Persamaan primal form diatas sulit

dilakukan, karena ada dua variable yang masih belum ada nilainya yaitu w dan

bias. Karena itu, dilakukan optimasi selanjutnya yang disebut dual form untuk

mengatasi permasalahan tersebut dengan menggunakan pendekatan lagrange

(lagrange multiplier).

adalah lagrange multipliers yang bernilai nol atau positif [7]. Konstanta digunakan

untuk memberikan tanda apakah suatu data tersebut support vector atau bukan

support vector . Semakin besar nilai α, maka semakin mirip dengan primal form

SVM [1].

  • 1.5.2 Soft Margin

Biasanya, dua buah kelas pada data input tidak dapat terpisah sepenuhnya

secara sempurna. Hal ini menyebabkan constraint pada persamaan (2.4) tidak dapat

dipenuhi dan optimasi tidak dapat dilakukan. Oleh karena itu, ditambahkan

parameter C dalam pembangunan SVM menggunakan dual form untuk membatasi

nilai bagi data yang linearly non-separable [4]. Hal ini dilakukan agar didapatkan

hyperplane yang dapat menolelir ketika terdapat data yang terletak pada daerah

hyperplane yang salah. Parameter C, atau yang disebut soft margin ditambahkan

dalam konstrain pada dual form SVM, sehingga persamaan (2.5) berubah menjadi

persamaan (2.6)

  • 6. Granular Computing

Granular computing merepresentasikan informasi atau data kedalam bentuk

yang lebih kecil (aggregates), yang biasa disebut sebagai information granules, lalu

menyelesaikan masalah yang ada pada masing-masing information granules

tersebut. Untuk permasalahan yang rumit dan besar, granular computing

menerapkan dua prinsip, yaitu divide-and-conquer yang membagi masalah yang

besar menjadi masalah yang kecil-kecil dan manageable, dan data cleaning yang

menentukan ukuran yang cocok bagi satu granule untuk memahami masalah yang

dihadapi tanpa diusik oleh sejumlah detail yang tidak perlu [12].

Salah satu modifikasi yang digunakan pada SVM adalah dengan

menerapkan paradigma granular computing. Penerapan granular computing pada

SVM biasa disebut sebagai Granular Support Vetor Machines (GSVM). Tujuan

utama dari GSVM adalah memungkinkan data linearly non-separable menjadi

linearly separable dan meningkatkan akurasi SVM [7]. GSVM dapat bekerja

dengan dua cara, yaitu membagi data yang besar menjadi sejumlah information

granule (granule split) dan/atau menyusutkan sejumlah besar data menjadi sebuah

information granule (granule shrink) [13]. Ada tiga tahap utama dalam GSVM,

yaitu ekstraksi information granules (granulation), penggunaan classifiers untuk

penyelesaian masalah dengan menggunakan klasifikasi pada setiap information

granules, dan penggabungan kembali information granules yang telah terselesaikan

masalahnya [12].

Gambar 2 Granular Support Vector Machine

  • 7. Granular

Support

Vector

Machine

Undersampling (GSVM-RU)

  • 1.7.1 Imbalanced class

with

Repetitive

imbalanced class terjadi ketika distribusi pada dataset sangat tidak merata.

Hal ini terjadi apabila ada kelas yang memiliki jumlah sampel yang jauh lebih

banyak dibandingkan kelas lainnya dalam masalah klasifikasi biner [13]. Biasanya,

kelas/sampel negatif yang jumlahnya lebih banyak daripada kelas/sampel positif.

Sudah banyak metode yang telah diusulkan untuk imbalanced classification dan

memiliki hasil yang bagus. Metode-metode tersebut dapat dikategorikan ke dalam

tiga kelas yang berbeda, yaitu cost sensitive learning, sampling, dan boundary

alignment. Sampling sendiri dapat dikategorikan kedalam dua macam, yaitu

undersampling kelas mayoritas dan oversampling kelas minoritas.

7.1.GSVM-RU

SVM sangat baik dalam mengatasi data yang jumlahnya seimbang. Hal ini

dikarenakan hanya SV yang digunakan dalam proses klasifikasi dan data lainnya

dapat dihilangkan. Dalam permasalahan imbalanced class, sebagian besar data yang

tergolong kedalam kelas negatif (mayoritas data) dapat dihilangkan tanpa

mempengeruhi proses klasifikasi. Ide utama dalam GSVM-RU adalah mengekstrak

SV sebagai dataset baru dan menghilangkan data non-SV dalam proses

undersampling [12]. Namun, information loss dapat terjadi apabila mengekstrak SV

dilakukan sekali saja. Oleh karena itu, GSVM-RU mengekstrak SV beberapa kali

untuk membuat beberapa information granule dan menyatukannya kembali untuk

membuat dataset baru. GSVM-RU dapat mendistribusikan data lebih baik dengan

jumlah dataset baru yang lebih sedikit dibandingkan dengan dataset awal, sehingga

performansi klasifikasi dapat meningkat, baik dari sisi keefektifan maupun efisiensi

waktu [12].

Tujuan dari GSVM-RU adalah untuk meminimalkan efek negatif dari

information loss dan memaksimalkan efek positif dari data cleaning [12]. Cara

kerja dari GSVM-RU ada tiga tahap. Tahap pertama adalah memisahkan data

positif dan negatif. Semua data positif diasumsikan sebagai data yang informatif

untuk proses klasifikasi dan membentuk sebuah information granule positif. Tahap

kedua adalah melakukan proses undersampling untuk semua data negatif, dimana

data tersebut akan disaring oleh SVM untuk mendapatkan SV dan membentuk

information granule negatif yang disebut Negative Local Support Vector (NLSV).

Data yang tidak termasuk sebagai SV akan disaring lagi oleh SVM dan membentuk

NLSV lainnya sebagai information granule. Proses undersampling ini akan terus

berulang beberapa kali untuk membuat beberapa information granule negatif.

Proses ini berhenti jika performansi klasifikasi tidak bisa meningkat.

Tahap ketiga adalah proses agregrasi untuk menggabungkan information

granule positif dan information granule negatif. Ada dua metode agregasi yang

dapat dilakukan, yaitu Discard dan Combine. Discard bekerja dengan cara hanya

menggunakan NLSV dari information granule negatif yang terakhir dibuat /

information granule negatif terbaru, kemudian menggabungkannya dengan

information granule positif. NLSV lainnya yang telah terbentuk sebelumnya tidak

digunakan dalam proses selanjutnya / dapat diabaikan. Proses pencarian NLSV

terbaik / pembuatan information granule negatif berhenti ketika information

granule negatif yang baru terbentuk tidak dapat meningkatkan performansi

klasifikasi. Combine bekerja dengan cara menggabungkan semua NLSV yang

terbentuk dari pembuatan information granule negatif dengan information granule

positif. Metode ini diharapkan dapat mengurangi efek information loss dengan

mengekstraksi NLSV beberapa kali. Proses tersebut berhenti apabila penggabungan

NLSV baru dengan NLSv sebelumnya dan information granule positif tidak dapat

meningkatkan performansi klasifikasi. Hasil dari tahap ketiga adalah sebuah dataset

baru. setelah mendapatkan dataset baru, sebuah SVM dibangun untuk memodelkan

dataset tersebut dalam proses klasifikasi [12].

  • 8. Evaluasi Performansi

  • 1.8.1 Confusion Matrix

Banyak metrik yang digunakan untuk mengukur keefektivitasan dalam

klasifikasi imbalance. Semua perhitungan pengukuran tersebut didasarkan pada

confusion matrix [13]. Confusion matrik merupakan suatu alat yang biasa

digunakan untuk memvisualisasikan yang biasa digunakan dalam supervised

learning [12].

Tabel 2 Confusion Matrix

Baris dari confusion matrik merepresentasikan sebagai hasil prediksi,

sedangkan kolomnya adalah jumlah pada class sebenarnya. Confusion matrik

biasanya terbentuk dari tabel 2x2 dimana baris pertama adalah nilai true

positives(TP) dan false positives(FP), kemudian baris berikutnya berisi false

negatives(FN) dan true negatives(TN).

True Positive adalah jumlah prediksi dimana sistem menghasilkan nilai

positif, dan kelas sebenarnya juga bernilai positif. False Positive adalah jumlah

prediksi dimana sistem menghasilkan nilai positif, namun kelas sebenarnya bernilai

negatif. False Negative adalah jumlah prediksi dimana sistem menghasilkan nilai

negatif, namun kelas sebenarnya bernilai positif. Sedangkan True Negative adalah

jumlah prediksi dimana sistem menghasilkan nilai negatif, dan kelas sebenarnya

juga bernilai negatif.

Banyak pengukuran akurasi yang menggunakan confusion matrix.

Perhitungan Accuracy diatas adalah salah satu contoh penggunaan confusion matrix

yang paling sering digunakan. Beberapa metode pengukuran akurasi dengan

menggunakan confusion matrix, yaitu Geometric Mean (G-Mean), F-Measure, Area

Under ROC Curve (AUC-ROC), dan lainnya.

  • 1.8.2 Geometric Mean (G-Mean)

Untuk imbalanced dataset, perhitungan akurasi dengan menggunakan

perhitungan Accuracy diatas hampir tidak berguna untuk mengevaluasi kinerja

klasifikasi. Geometric Mean adalah rata-rata geometrik dari akurasi klasifikasi pada

sampel negatif dan sampel positif. Metrik ini telah banyak digunakan oleh para

peneliti untuk mengevaluasi kinerja klasifikasi pada imbalanced dataset [12]. G-

mean mencoba untuk memaksimalkan akurasi pada kedua kelas sekaligus

menjaganya tetap seimbang [6].

Untuk mendapatkan kemampuan yang optimal untuk klasifikasi yang

seimbang, sensitivity dan specificity digunakani untuk memantau kinerja kedua

kelas secara terpisah. Sensitivity biasanya disebut sebagai true positive rate atau

akurasi kelas positif, sedangkan specitivity biasanya disebut sebagai true negative

rate atau akurasi kelas negatif. G-Mean merupakan rata-rata geometrik dari

sensitivity dan specificity [13].

  • 12. Analisis dan Perancangan Sistem

  • 1. Deskripsi Sistem

Dalam tugas akhir ini akan dibangun sebuah sistem yang ditujukan untuk

menangani kelas imbalance pada e-mail spam filtering. Sistem tersebut

menggunakan modifikasi SVM untuk proses klasifikasi e-mail. Modifikasi yang

dimaksud adalah dengan menambahkan paradigma granular computing dan juga

proses undersampling pada SVM. Paradigma granular computing yang diterapkan

dalam sistem ini adalah membagi data input menjadi beberapa information granule

melalui proses undersampling. Undersampling adalah proses pemilihan data yang

informatif bagi sistem, dan hanya data yang informatif saja yang akan digunakan

oleh sistem. Undersampling adalah salah satu cara untuk mengatasi masalah

klasifikasi imbalance. Proses undersampling akan dijalankan beberapa kali

(repetitive), hal ini ditujukan untuk mencegah hilangnya data informatif dan juga

untuk menghilangkan noise pada data. Proses undersampling tersebut dilakukan

dengan menggunakan linear SVM sebagai alat saring data. Beberapa hal yang

penting dalam pembangunan sistem adalah:

Proses pembagian data input menjadi information granule melalui proses

undersampling.

Proses agregasi data positif dengan data negatif hasil undersampling untuk

dijadikan data training baru.

Pemodelan sistem dengan menggunakan linear SVM.

Parameter yang digunakan dalam proses diatas adalah nilai konstanta C pada linear

SVM yang merupakan parameter untuk toleransi kesalahan klasifikasi.

  • 2. Perancangan Sistem

Alur proses yang terjadi dalam merancang sistem secara umum adalah

sebagai berikut:

  • 1. Perancangan data, yakni menyediakan file-file

sebagai data training dan testing.

  • 2. Pembangunan parser data, meliputi pengubahan

format data dari .eml menjadi .txt, penghilangan tag HTML, dan penghilangan

tanda-tanda baca pada data.

  • 3. Preprocessing data, meliputi penerapan stopword,

stemming, dan normalisasi data dengan menggunakan TF.

  • 4. Proses Undersampling data negatif dengan

menggunakan linear SVM dengan nilai 1 untuk parameter C, yang

menghasilkan beberapa NLSV.

  • 5. Proses agregasi NLSV dengan data positif

menggunakan metode discard dan combine.

  • 6. Pembangunan model training data dengan GSVM-

RU untuk menemukan hyperplane terbaik dengan menggunakan linear SVM

yang dibangun dari toolbox libsvm.

  • 7. Proses observasi, yakni mencari nilai parameter-

parameter yang optimal dari sistem.

8.

Proses testing, yakni membangun model testing data

dengan menggunakan hyperplane yang dibangun dari hasil training untuk

mengklasifikasikan dokumen yang belum diketahui tergolong spam atau non-

spam.

  • 9. Proses testing dengan menggunakan e-mail yang

diambil dari account e-mail rahma.lestarini@gmail.com, yakni menggunakan

model dari hasil training untuk mengklasifikasi e-mail tersebut sebagai spam

atau non-spam. Testing ini dilakukan untuk mengetahui apakah sistem yang

dibangun dapat menangani kasus yang biasa ditangani oleh penyedia layanan e-

mail.

Secara umum, skema kerja sistem yang dibangun adalah sebagai berikut:

 
Obj100
Obj100

Gambar 3 Skema Kerja Sistem

3.2.1.

Parser

Data

 
Obj101
Obj101

Gambar 3 Parser Data

Parser data yang dilakukan dalam system adalah penerapan proses extract

body e-mail, penghilangan tag HTML, dan juga penghapusan tanda baca yang ada

pada data. proses parser data dilakukan sesuai dengan alur seperti gambar diatas.

3..22

3

..

11Extract

.

.

Body E-mail

Tahap pertama dari parsing data adalah dengan mengambil body dari dataset

yang berupa e-mail. Selain itu, bentuk awal data yang berbentuk .eml akan diubah

menjadi .txt untuk memudahkan proses-proses yang akan dilakukan selanjutnya.

Gambar 3 Data asli Gambar 3 Data hasil parser

Gambar diatas hanyalah salah satu contoh dari data yang ada. Selain data

yang seperti contoh, ada juga data yang hanya berupa teks. Hasil parser dari data

yang berupa teks tidak ada tag-tag HTML nya, hanya murni berisi teks juga seperti

data aslinya.

3..22

3

..

22Penghapusan

.

.

Tag HTML

Tahap kedua adalah penghapusan tag HTML yang masih ada pada data hasil

extract body e-mail. Penghapusan tag tersebut dilakukan dengan menggunakan

library jsoup.

Gambar 3 Data hasil penghapusan tag HTML

Gambar 3-5 adalah contoh data hasil penghapusan tag HTML dari gambar 3-4.

3..22

3

..

33Penghapusan

.

.

Tanda Baca

Tahap terakhir dari proses parsing data adalah penghapusan tanda baca yang

ada pada data. Dalam tahap ini, sistem akan mengganti semua tanda baca yang ada

pada data dengan spasi.

Gambar 3 Data sebelum dihilangkan tanda bacanya

Gambar 3 Data setelah dihilangkan tanda bacanya

3.2.2.

angan Preprocessing Data

Obj102
Obj102

Gambar 3 Preprocessing data

Peranc

Proses yang dilakukan dalam text mining adalah mengindekskan semua kata

yang ditemukan dalam dokumen, kemudian menghitungnya. Untuk lebih

menyederhanakan proses tersebut, dilakukan stemming dan mengecualikan kata-

kata yang umum digunakan (stopword) [11].

Preprocessing yang dilakukan dalam sistem ini adalah penerapan stopword,

stemming, dan normalisasi menggunakan TF. Preprocessing dilakukan sesuai

dengan alur seperti gambar diatas.

3..22

3

..

11Stopword

.

.

Tahap pertama dari preprocessing adalah menerapkan stopword pada

dataset. Dalam tahap ini, kata-kata yang terlalu sering muncul dan tidak

mempunyai informasi penting dihilangkan. Kata-kata yang ada pada body e-mail

dataset akan dicocokkan dengan daftar kata-kata yang tergolong sebagai stopword.

Kemudian, kata-kata pada body e-mail dataset yang tergolong sebagai stopword

akan dihilangkan dari body e-mail tersebut. Daftar kata-kata stopword tidak ada

yang pasti, karena sebagian besar ditentukan sendiri.

Gambar 3 Data hasil stopword

3..22

3

..

22Stemming

.

.

Tahap kedua adalah penggunaan stemming pada dataset. Kata-kata yang ada

pada body e-mail akan diubah menjadi kata dasar. Hal ini dilakukan untuk

mengurangi kata-kata pada body e-mail. Karena kata-kata tersebut nantinya akan

dijadikan sebagai atribut dalam proses selanjutnya. Algoritma stemming yang

digunakan dalam sistem ini adalah algoritma porter. Ada 6 langkah yang diterapkan

dalam algoritma ini, yaitu:

  • a. menghilangkan plural (bentuk jamak), akhiran –ed dan –ing.

  • b. mengganti akhiran ‘y’ menjadi ‘i’ bila didahului oleh huruf vokal.

  • c. mengubah kata yang memiliki akhiran ganda menjadi satu. Contohnya

adalah mengubah playfulness menjadi playful.

  • d. Menghilangkan akhiran, -full, dan –ness.contohnya adalah dengan

mengubah playful menjadi play.

  • e. Menghilangkan –ant, -ence, dan lain-lain. Salah satu contohnya adalah

dengan mengubah controllable menjadi controll.

  • f. Menghilangkan akhiran –e. contohnya adalah mengubah parable menjadi

parabl.

Gambar 3 Data hasil stemming

3..22

3

..

33Normalisasi

.

.

TF

Tahap ketiga adalah menerapkan normalisasi TF pada dataset. Normalisasi

tersebut bertujuan untuk memudahkan penentuan variabel C pada SVM dengan cara

menyederhanakan skala nilai dari data dalam batas [0…1]. Normalisasi yang

digunakan adalah normalisasi dengan menggunakan TF (Term Frequency).

Persamaan dari TF adalah :

Dengan : - f(t,D) adalah frekuensi kata t dalam dokumen D.

- maxFreq(D) adalah frekuensi terbesar dari semua kata yang ada di

dokumen D.

Normalisasi ini dilakukan sebelum data masuk kedalam SVM. Selain digunakan

untuk normalisasi, TF sendiri juga digunakan untuk memberi bobot pada kata-kata

dalam dataset.

Gambar 3 Data hasil normalisasi TF

3..22

3

..

44Indexing

.

.

Tahap terakhir dari preprocessing yang dilakukan adalah proses indexing,

yaitu membuat index dari tiap kata dari dataset. Pembuatan index dilakukan dengan

mendaftar kata-kata yang ada pada dataset, kemudian membuat index dari daftar

kata tersebut. Setelah itu mengubah kata-kata yang ada pada dataset sesuai dengan

index-nya. Berikut adalah contoh representasi dataset sebelum dan sesudah

indexing.

Gambar 3 Data hasil indexing

Dari gambar diatas dapat dilihat bahwa kata stoolmail pada dataset terdaftar

sebagai kata ke-12609, send terdaftar sebagai kata ke-27581, dan seterusnya. Kata-

kata yang ada pada dataset adalah atribut yang akan digunakan untuk proses

klasifikasi. Hasil dari indexing, terdapat 29.196 kata/atribut pada data training dan

testing.

3.2.3.

angan Modul Training

Peranc

Modul training data yang dibangun terdiri dari beberapa tahap, yaitu:

  • 1. Pembuatan information granule melalui proses

undersampling dengan menggunakan linear SVM.

  • 2. Pembuatan dataset baru melalui proses agregasi

yang menggabungkan data hasil undersampling dengan data spam.

  • 3. Pembangunan

hyperplane

dan

mencari

nilai

dari

parameter terbaik dengan menggunakan linear SVM.

3..22

3

..

11Undersampling

.

.

Obj103
Obj103

Gambar 3 Proses Undersampling

Undersampling adalah proses pemilihan data yang informatif bagi sistem,

dan hanya data yang informatif saja yang akan digunakan oleh sistem. Secara garis

besar, hal-hal yang dilakukan oleh sistem pada saat undersampling adalah:

  • 1. Data negatif (non-spam) masuk ke linear SVM.

  • 2. Hasil dari SVM (proses no.1) adalah Negative Local

Support Vector (NLSV).

  • 3. Sistem mengeluarkan NLSV dari dataset, untuk

kemudian dimasukkan kembali kedalam linear SVM.

Undersampling akan dilakukan beberapa kali hingga NLSV yang baru dihasilkan

tidak dapat meningkatkan performansi klasifikasi. Nilai parameter C yang

digunakan dalam linear SVM untuk proses undersampling adalah 1. Pada saat

undersampling menggunakan nilai C = 1, jumlah SV yang dihasilkan adalah yang

paling banyak, sehingga hal ini dapat meminimalkan efek information loss, dan

granule yang dihasilkan bisa lebih efektif bagi sistem yang dibangun.

3..22

3

..

22Agregasi

.

.

Obj104
Obj104

Gambar 3 Proses Agregasi

Pada tahap ini, NLSV hasil dari proses undersampling akan digabungkan

dengan data training positif (data spam) untuk membentuk sebuah dataset baru

yang akan digunakan dalam proses klasifikasi menggunakan linear SVM. Ada dua

metode yang dapat digunakan dalam proses agregasi, yaitu combine atau discard.

Metode combine bekerja dengan cara menggabungkan semua NLSV hasil

undersampling dengan data positif untuk membentuk dataset baru. Sedangkan

metode discard bekerja dengan menggabungkan data positif dengan NLSV hasil

undersampling yang terakhir. Dalam metode discard, hanya satu grup NLSV yang

digunakan, NLSV dari proses undersampling sebelum-sebelumnya akan

dihiraukan.

3.2.4.

angan Modul Testing

Peranc

Modul ini merupakan hasil implementasi dari model yang di bangun pada

modul training. Proses yang dilakukan oleh modul ini adalah dengan menggunakan

model yang telah dibangun, maka data yang di prediksi akan diprediksi berdasarkan

model tersebut apakah suatu e-mail tersebut spam atau bukan spam.

2.3Analisis Sistem

Sistem yang dibangun adalah sistem yang ditujukan untuk pengujian.

Gambaran umum mengenai sistem yang dibangun dapat dilihat pada diagram-

diagram dibawah ini.

3.3.11

m Use Case

Skenario Use Case :

Gambar 3 Use Case

Diagra

Nomor

:

1

Nama use case : Training

 

Aktor

: User

Deskripsi

: Menjalankan proses training untuk training dataset yang meliputi,

parser data, preprocessing dan training data.

Skenario

:

Aktor

Respon Sistem

User memilih menu browse

dokumen.

User memilih folder yang

berisi data training.

User memilih menu run

untuk menjalankan parser

data.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data kemudian

mengambil isi body tiap e-mail yang ada dalam

folder tersebut dan mengkonversi formatnya dari

eml menjadi format txt.

Sistem membuat sebuah folder yang berisi data

training baru berupa isi body e-mail dengan

format txt.

Sistem membaca setiap data yang ada dalam

folder data hasil pengambilan isi body e-mail.

Kemudian menghapus semua tag HTML yang

ada dan mengubahnya menjadi satu baris untuk

tiap data.

Sistem membuat sebuah folder yang berisi data

baru berupa dataset yang tidak mengandung tag

HTML.

Sistem membaca setiap data yang ada dalam

folder hasil penghilangan tag HTML. Setelah itu,

mengganti semua tanda baca yang ada pada data

tersebut dengan sebuah spasi.

Sistem membuat sebuah folder yang berisi data

baru berupa dataset training yang tidak

User memilih menu browse

dokumen.

User memilih folder yang

berisi data akhir hasil parser

data.

User memilih menu run

untuk menjalankan

preprocessing data.

mengandung tanda baca.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data dan

melakukan penyaringan stopword yang ada pada

data. proses ini akan dilakukan pada semua data

yang ada dalam folder.

Sistem membuat sebuah folder yang berisi data

baru berupa data yang sudah melalui proses

penyaringan stopword.

Sistem melakukan pembacaan data dari folder,

kemudian melakukan stemming.

Sistem membuat sebuah dokumen berformat txt

dan menggabungkan setiap baris data hasil

stemming menjadi satu dokumen.

Sistem melakukan pembacaan data dari dokumen

hasil stemming, kemudian melakukan normalisasi

dan pembobotan atribut setiap data yang ada pada

dokumen txt dengan menggunakan normalisasi

TF.

Sistem membuat sebuah dokumen berformat txt

yang berisi data hasil normalisasi TF.

Sistem melakukan pembacaan data dari dokumen

hasil normalisasi TF, selain itu juga membaca

dokumen yang berisi kelas untuk dataset.

Kemudian menambahkan kelas pada data.

Sistem membuat sebuah dokumen berformat txt

yang berisi data hasil input kelas.

Sistem melakukan pembacaan data dari dokumen

hasil input kelas, kemudian membuat index untuk

atribut (kata) yang ada di dalamnya.

Sistem membuat sebuah dokumen data

training.txt berisi atribut yang berupa index dan

juga sebuah dokumen txt yang berisi daftar dari

User memilih menu browse

dokumen.

User memilih dokumen data

training.txt.

index tersebut.

Menampilkan jendela direktori aktif.

User memasukkan nilai

parameter C.

User memilih menu run

untuk menjalankan train

SVM.

Sistem melakukan pembacaan data training.

Sistem memecah data training menjadi dua, data

training yang berisi data positif (non-spam) dan

negatif (spam).

Sistem melakukan undersampling terhadap data

positif dengan menggunakan linear SVM.

Sistem mengeluarkan SV hasil undersampling

dari dataset, kemudian menggunakan dataset

tersebut untuk proses undersampling selanjutnya.

Sistem melakukan agregasi data hasil

undersampling dengan data negatif dan

membentuk sebuah dataset baru.

Sistem akan mengklasifikasi dataset baru tersebut

dengan menggunakan linear SVM dengan

menggunakan nilai parameter C yang telah

diinputkan oleh user.

Sistem membuat dokumen berisi model hasil

training menggunakan linear SVM berupa model

Skenario Use Case :

testing.txt.

Nomor

: 2

Nama use case : Testing

 

Aktor

: User

Deskripsi

: Menjalankan proses testing pada data testing yang meliputi, parser

data, preprocessing data dan prediksi data testing.

Skenario

:

Aktor

Respon Sistem

User memilih menu browse

dokumen.

User memilih folder yang

berisi data testing.

User memilih menu run

untuk menjalankan parser

data.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data kemudian

mengambil isi body tiap e-mail yang ada dalam

folder tersebut dan mengkonversi formatnya dari

eml menjadi format txt.

Sistem membuat sebuah folder yang berisi data

testing baru berupa isi body e-mail dengan format

txt.

Sistem membaca setiap data yang ada dalam

folder data hasil pengambilan isi body e-mail.

Kemudian menghapus semua tag HTML yang

ada dan mengubahnya menjadi satu baris untuk

tiap data.

Sistem membuat sebuah folder yang berisi data

baru berupa dataset yang tidak mengandung tag

HTML.

Sistem membaca setiap data yang ada dalam

folder hasil penghilangan tag HTML. Setelah itu,

mengganti semua tanda baca yang ada pada data

tersebut dengan sebuah spasi.

Sistem membuat sebuah folder yang berisi data

User memilih menu browse

dokumen.

User memilih folder yang

berisi data akhir hasil parser

data.

User memilih menu run

untuk menjalankan

preprocessing data.

baru berupa dataset testing yang tidak

mengandung tanda baca.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data dan

melakukan penyaringan stopword yang ada pada

data. proses ini akan dilakukan pada semua data

yang ada dalam folder.

Sistem membuat sebuah folder yang berisi data

baru berupa data yang sudah melalui proses

penyaringan stopword.

Sistem melakukan pembacaan data dari folder,

kemudian melakukan stemming.

Sistem membuat sebuah dokumen berformat txt

dan menggabungkan setiap baris data hasil

stemming menjadi satu dokumen.

Sistem melakukan pembacaan data dari dokumen

hasil stemming, kemudian melakukan normalisasi

dan pembobotan atribut setiap data yang ada pada

dokumen txt dengan menggunakan normalisasi

TF.

Sistem membuat sebuah dokumen berformat txt

yang berisi data hasil normalisasi TF.

Sistem melakukan pembacaan data dari dokumen

hasil normalisasi TF, selain itu juga membaca

dokumen yang berisi kelas untuk dataset.

Kemudian menambahkan kelas pada data.

Sistem membuat sebuah dokumen berformat txt

yang berisi data hasil input kelas.

Sistem melakukan pembacaan data dari dokumen

hasil input kelas, kemudian membuat index untuk

atribut (kata) yang ada di dalamnya.

Sistem membuat sebuah dokumen data testing.txt

User memilih menu browse

dokumen

User memilih dokumen yang

akan di prediksi (data

testing)

User memilih menu run

untuk menjalankan proses

berisi atribut yang berupa index.

Menampilkan jendela direktori aktif

prediksi

 

Sistem melakukan prediksi apakah dokumen e-

mail yang di diproses spam atau bukan spam

dengan menggunakan model yang telah di buat

pada proses sebelumnya.

Sistem membuat dokumen baru dari hasil prediksi

dengan format txt.

Nomor

: 3

Nama use case : Testing E-mail

 

Aktor

: User

Deskripsi

: Menjalankan proses testing e-mail yang meliputi parser data,

preprocessing dan prediksi data testing e-mail.

Skenario

:

Aktor

Respon sistem

User memilih menu browse

dokumen.

User memilih folder yang

berisi data testing e-mail.

User memilih menu run

untuk menjalankan parser

data.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data kemudian

mengambil isi body tiap e-mail yang ada dalam

folder tersebut dan mengkonversi formatnya dari

eml menjadi format txt.

Sistem membuat sebuah folder yang berisi data

testing e-mail baru berupa isi body e-mail dengan

format txt.

Sistem membaca setiap data yang ada dalam

folder data hasil pengambilan isi body e-mail.

Kemudian menghapus semua tag HTML yang

ada dan mengubahnya menjadi satu baris untuk

tiap data.

Sistem membuat sebuah folder yang berisi data

baru berupa dataset yang tidak mengandung tag

HTML.

Sistem membaca setiap data yang ada dalam

folder hasil penghilangan tag HTML. Setelah itu,

mengganti semua tanda baca yang ada pada data

tersebut dengan sebuah spasi.

Sistem membuat sebuah folder yang berisi data

baru berupa dataset testing e-mail yang tidak

User memilih menu browse

dokumen.

User memilih folder yang

berisi data akhir hasil parser

data.

User memilih menu run

untuk menjalankan

preprocessing data.

mengandung tanda baca.

Menampilkan jendela direktori aktif

Sistem melakukan pembacaan data dan

melakukan penyaringan stopword yang ada pada

data. proses ini akan dilakukan pada semua data

yang ada dalam folder.

Sistem membuat sebuah folder yang berisi data

baru berupa data yang sudah melalui proses

penyaringan stopword.

Sistem melakukan pembacaan data dari folder,

kemudian melakukan stemming.

Sistem membuat sebuah dokumen berformat txt

dan menggabungkan setiap baris data hasil

stemming menjadi satu dokumen.

Sistem melakukan pembacaan data dari dokumen

hasil stemming, kemudian melakukan normalisasi

dan pembobotan atribut setiap data yang ada pada

dokumen txt dengan menggunakan normalisasi

TF.

Sistem membuat sebuah dokumen berformat txt

yang berisi data hasil normalisasi TF.

Sistem melakukan pembacaan data dari dokumen

hasil normalisasi TF, kemudian membuat index

untuk atribut (kata) yang ada di dalamnya.

Sistem membuat sebuah dokumen data gmail.txt

User memilih menu browse

dokumen

User memilih dokumen yang

berisi atribut yang berupa index.

Menampilkan jendela direktori aktif

akan di prediksi (data testing

e-mail)

User memilih menu run

untuk menjalankan proses

prediksi

Sistem melakukan prediksi apakah dokumen e-

mail yang di diproses spam atau bukan spam

dengan menggunakan model yang telah di buat

pada proses sebelumnya.

Sistem membuat dokumen baru dari hasil prediksi

dengan format txt.

3.3.12

Diagra

m Sequence

  • a. Diagram Sequence Parser Data

Gambar 3 Diagram Sequence Parser Data

  • b. Diagram Sequence Preprocessing Data

Gambar 3 Diagram Sequence Preprocessing Data

  • c. Diagram Sequence Train SVM

Gambar 3 Diagram Sequence Train SVM

  • d. Diagram Sequence Predict SVM

Gambar 3 Diagram Sequence Predict SVM

  • 1.3.3. Diagram Kelas

Gambar 3 Diagram Kelas

  • 13. Pengujian dan Implementasi

  • 4.1. Lingkungan Implementasi 14.1.1

kasi Hardware

Spesifi

Sistem ini dibangun dengan menggunakan perangkat keras, dengan

spesifikasi :

  • 1. Intel Mobile Core 2 Duo P8600 2.4GHz

  • 2. Memory DDR2 4GB PC 6400

  • 3. Graphic card NVIDEA GeForce G 105M

  • 4. Harddisk 320GB

1.1.2

kasi Software

Spesifi

Sistem ini dibangun dengan spesifikasi perangkat lunak :

  • 1. Sistem Operasi Windows 7

  • 2. NetBeans 6.9.1

  • 4.2. Tujuan Pengujian

Tujuan dilakukannya pengujian adalah:

  • 1. Mencari nilai parameter C terbaik untuk menganalisa pengaruh nilai

parameter C dengan metode-metode agregasi terhadap akurasi klasifikasi.

  • 2. Menguji sistem dengan data e-mail yang diambil dari account GMail,

apakah e-mail tersebut tergolong spam atau non-spam.

  • 3. Menganalisia performansi sistem e-mail spam filtering yang telah dibangun.

  • 4.3. Data yang Digunakan

Data input yang digunakan diperoleh dari CSMining Group 2010

memiliki format awal berupa .eml dan berisi e-mail yang tergolong sebagai e-mail

spam dan e-mail non-spam. Data input akan dipisah menjadi dua golongan, yaitu

data training dan data testing. Data training yang digunakan sebanyak 2778 e-mail.

278 diantaranya berupa e-mail spam dan 2500 e-mail sisanya berupa e-mail non-

spam. Data testing yang digunakan sebanyak 695 e-mail. 70 diantaranya berupa e-

mail spam dan 625 sisanya merupakan e-mail non-spam. Selain itu, ada 10 data

berupa e-mail yang berasal dari account e-mail rahma.lestarini@gmail.com yang

juga akan digunakan untuk proses testing.

  • 4.4. Skenario Pengujian

beberapa skenario pengujian akan dilakukan terhadap sistem yang telah

dibangun. Rincian dari skenario yang akan dilakukan adalah:

1.

Pengujian pengaruh nilai parameter C dengan

metode agregasi combine terhadap akurasi klasifikasi.

Pengujian dilakukan untuk mengetahui pengaruh nilai parameter C yang

merupakan parameter input bagi SVM metode agregasi combine yang dilakukan

terhadap data terhadap akurasi klasifikasi yang dilakukan. Pencarian nilai C

dilakukan 10 kali, mulai dari nilai 0.1 hingga 1 dengan interval sebesar 0.1

setiap kali running sistem.

  • 2. Pengujian pengaruh nilai parameter C dengan

metode agregasi discard terhadap akurasi klasfikasi.

Pengujian dilakukan untuk mengetahui pengaruh nilai parameter C yang

merupakan parameter input bagi SVM metode agregasi discard yang dilakukan

terhadap data terhadap akurasi klasifikasi yang dilakukan. Pencarian nilai C

dilakukan 10 kali, mulai dari nilai 0.1 hingga 1 dengan interval sebesar 0.1

setiap kali running sistem.

  • 3. Pengujian sistem dengan menggunakan data testing

berupa e-mail yang diambil dari account GMail dan model terbaik hasil

training sistem.

Pengujian dilakukan dengan menggunakan model hasil training untuk

menentukan apakah e-mail tersebut spam atau non-spam.

  • 4.5. Analisis dan Hasil Pengujian

Pengujian dilakukan sebanyak 10 kali untuk masing-masing metode

agregasi yang berbeda. Pengujian dilakukan dengan mengubah nilai parameter C

dengan range 0-1, interval sebesar 0.1, dan threshold kenaikan akurasi sebesar 0.5.

  • 1. Pengujian pengaruh nilai parameter C dengan

metode agregasi combine terhadap akurasi klasifikasi.

Dari hasil observasi yang dilakukan terhadap sistem dengan menggunakan

metode combine, diperoleh data seperti yang diperlihatkan pada tabel dibawah ini.

Tabel 4 Tabel Hasil Uji dengan Metode Agregasi Combine

Dari hasil uji pada tabel 4-1 dapat dilihat bahwa hanya ada dua granule yang

terbentuk dalam setiap percobaan yang dilakukan. Hal ini disebabkan oleh kenaikan

akurasi kurang dari threshold yang telah ditentukan, sehingga sistem berhenti dan

tidak membuat granule lagi. Pada saat sistem berhenti membuat granule, sistem

menganggap bahwa SV yang terbentuk dari granule ke-dua tersebut lah yang

efektif bagi sistem untuk proses klasifikasi data.

Semakin besar nilai C, akurasi yang dihasilkan pun semakin tinggi. Hal ini

terlihat dari tabel 4-1 hasil uji. Nilai C optimal adalah pada saat C = 0.8, karena

nilai sensitivity dan specificity yang dihasilkan juga sangat tinggi, sehingga akurasi

training dan testing yang dihasilkan pun juga yang terbaik. Dari nilai sensitivity

yang dihasilkan, baik dari training maupun testing, dapat dilihat bahwa sistem yang

dibangun dapat mengenali data e-mail non-spam dengan sangat baik. Sedangkan

dari nilai specificity yang dihasilkan, pada saat training, sistem masih dapat

mengenali data spam dengan baik, namun pada saat testing, sistem kurang bisa

mengenali data spam dengan baik. Hal ini dapat disebabkan oleh data training yang

kurang bisa mewakili data testing.

2.

Pengujian pengaruh nilai parameter C dengan

metode agregasi discard terhadap akurasi klasfikasi.

Dari hasil observasi yang dilakukan terhadap sistem dengan menggunakan

metode discard, diperoleh data seperti yang diperlihatkan pada tabel dibawah ini.

Tabel 4 Tabel Hasil Uji dengan Metode Agregasi Discard

Dari hasil uji pada tabel 4-2 dapat dilihat bahwa semakin banyak granule

yang terbentuk tidak membuat akurasi sistem membaik. Tujuan dari metode discard

adalah sebagai data cleaning, agar data yang tidak relevan, redundant dan juga yang

tergolong sebagai noise tidak akan digunakan dalam proses klasifikasi. Akurasi

terbaik diperoleh pada saat hanya dua granule yang terbentuk. Pada saat hanya dua

granule yang terbentuk, sistem menganggap bahwa SV yang terbentuk dari granule

ke-dua tersebut lah yang sangat efektif bagi sistem untuk proses klasifikasi data.

Pada tabel 4-2 juga terlihat bahwa semakin banyak granule yang terbentuk,

semakin lama waktu yang dibutuhkan untuk proses training sistem. Hal ini

disebabkan oleh banyaknya waktu yang dibutuhkan sistem untuk pembentukan

granule. Karena pembentukan granule akan melalui proses undersampling dan juga

agregasi.

Semakin besar nilai C, akurasi yang dihasilkan pun semakin tinggi. Hal ini

terlihat dari table 4-2 hasil uji. Nilai C terbaik adalah pada saat C = 0.5, karena nilai

sensitivity dan specificity yang dihasilkan juga sangat tinggi, sehingga akurasi

training dan testing yang dihasilkan pun juga yang terbaik. Dari nilai sensitivity

yang dihasilkan pada saat training, dapat dilihat bahwa sistem yang dibangun dapat

mengenali data e-mail non-spam dengan sangat baik. Namun, pada saat testing,

nilai sensitivity yang dihasilkan tidak cukup bagus dalam mengenali data e-mail

non-spam. Hal ini dapat disebabkan oleh banyaknya data yang terbuang dalam

pemilihan SV, sehingga model yang dihasilkan pada saat training tidak dapat

mewakili data testing. Sedangkan dari nilai specificity yang dihasilkan, baik pada

saat training dan testing, sangat bagus, sehingga sistem dapat mengenali data spam

dengan sangat baik.

Gambar 4 Grafik pengaruh nilai C terhadap jumlah SV

Berdasarkan gambar 4-1, semakin besar nilai parameter C yang digunakan,

jumlah SV yang dihasilkan juga akan semakin banyak. Parameter C adalah

parameter untuk toleransi kesalahan klasifikasi. Hal ini berarti seberapa besar suatu

data boleh melewati batas (hyperplane) dan masih dianggap sebagai kelasnya/tidak

tergolong ke kelas lainnya. jadi, semakin besar nilai C, semakin jauh pula suatu data

dapat melewati batasnya. Oleh karena itu, nilai C yang diambil sebagai yang terbaik

dalam dua pengujian diatas adalah yang memiliki akurasi training dan testing yang

terbaik dan juga nilai C yang paling kecil, agar jumlah SV yang dihasilkan tidak

terlalu banyak karena dikhawatirkan SV yang dihasilkan justru akan membuat

akurasi yang dihasilkan akan tidak akurat karena toleransi yang terlalu besar.

Berdasarkan hasil kedua pengujian menggunakan metode agregasi combine

dan discard, dapat dilihat bahwa, pada saat metode combine diterapkan, sistem

dapat mengenali data non-spam dengan sangat baik sebesar 99,8% dari data testing

dan juga data spam data testing dengan baik sebesar 70%, sehingga dihasilkan

akurasi testing yang tinggi yaitu 83,59%. Pada saat metode discard diterapkan,

sistem dapat mengenali data testing non-spam dengan cukup baik dengan

persentase sebesar 53,9% dan juga dapat mengenali data spam dengan sangat baik

sebesar 95,7%, sehingga akurasi testing yang dihasilkan cukup tinggi yaitu 71,83%.

Dari hasil diatas, dapat disimpulkan bahwa dataset yang digunakan memiliki

akurasi yang tinggi pada saat metode agregasi combine digunakan, yaitu 99,81%

untuk data training dan 83,59% untuk data testing. Hal ini dapat terjadi karena,

ketika lebih banyak sampel informatif yang digabungkan menjadi dataset baru,

information loss akan semakin sedikit sehingga akurasi yang lebih baik dapat

dicapai.

  • 3. Pengujian sistem dengan menggunakan data

testing berupa e-mail yang diambil dari account GMail dan model terbaik

hasil training sistem.

Pengujian sistem dengan data e-mail real yang diambil dari account GMail

menggunakan model hasil training dataset dengan nilai C dan metode terbaik yang

sesuai dengan dataset. Berdasarkan pengujian sebelumnya, nilai C terbaik adalah

0.8 dan metode agregasi yang digunakan adalah combine. Oleh karena itu, data e-

mail tersebut akan diprediksi dengan menggunakan model terpilih.

Tabel 4 Hasil uji dengan C = 0.8 dan metode agregasi combine

Dari tabel diatas, dapat dilihat bahwa metode GSVM-RU hanya dapat

menebak satu e-mail yang benar (diklasifikasikan sebagai spam). Hasil prediksi

yang diperoleh tidak sama dengan prediksi dari GMail. Hal ini dapat disebabkan

oleh kemampuan sistem dalam mengenali data spam kurang baik, sehingga hanya

ada satu e-mail saja yang dapat dikenali sebagai spam. Selain itu, teknologi yang

dipakai oleh GMail untuk memprediksi spam berbeda dengan yang penulis lakukan.

Sebagai penyedia layanan e-mail, tentu saja GMail menggunakan teknologi terbaik

dan juga perlindungan yang berlapis dari spam. Ada beberapa teknik yang

digunakan oleh GMail untuk mengatasi spam, yaitu:

  • 1. Community click

GMail memperbolehkan penggunanya untuk menentukan sendiri e-mail seperti

apa yang tergolong spam bagi mereka. Hanya dengan mengklik tombol Report

Spam, pengguna akan memberi tahu sistem spam filtering yang dimiliki GMail

untuk memblok e-mail yang serupa dikemudian hari [5].

Infrastruktur komputasi canggih yang digunakan dalam pencarian Google juga

digunakan dalam spam filtering GMail. Pada saat ada data spam baru, skala

jaringan computer Google memodifikasi algoritma spam filtering GMail [5].

  • 3. Powered by google

Selain kedua cara diatas, cara lainnya adalah dengan menggunakan Optical

Character Recoqnition (OCR) yang dikembangkan oleh para tim pencarian

buku Google untuk proteksi dari spam yang berisi gambar [5].

  • 4. Authentication for everyone

GMail memiliki beberapa sistem autentifikasi, seperti SPF (Sender Policy

Framework), DomainKeys, dan DKIM (DomainKeys Identified Mail),

sehingga pengirim e-mail dapat dipastikan [5].

Sender Policy Framework (SPF) adalah sistem validasi e-mail yang dirancang

untuk mencegah spam dengan mendeteksi e-mail spoofing, kerentanan umum,

dengan memverifikasi alamat IP pengirim.

DomainKeys adalah system otentikasi e-mail yang dirancang untuk

memverifikasi domain DNS dari pengirim e-mail dan integritas pesan.

Setiap pesan yang keluar dari aplikasi Google akan disertai dengan DKIM

sehingga pesan yang dikirim tersebut akan memiliki kemungkinan yang kecil

untuk dihentikan oleh spam filter penerima [10].

  • 14. Kesimpulan dan Saran

  • 1. Kesimpulan

Berdasarkan hasil pengujian dan analisis yang telah dilakukan, dapat

diambil beberapa kesimpulan sebagai berikut:

  • 1. Metode agregasi yang paling efektif untuk dataset yang digunakan adalah

combine. Metode combine dapat menghindari terjadinya information loss pada

dataset.

  • 2. Metode GSVM-RU dapat mengklasifikasikan dataset yang digunakan

dengan akurasi yang tinggi, yaitu 99,81% untuk data testing dan 83,59% untuk

data testing, dengan nilai parameter SVM (C) sebesar 0,8.

  • 3. Dataset yang digunakan masih belum bisa menebak dengan benar data

spam yang diambil dari account GMail. Hal ini dikarenakan sistem yang

digunakan oleh GMail berbeda dengan yang digunakan dalam penellitian ini.

Selain itu, data training yang dijadikan model dalam klasifikasi masih belum

mewakili data GMail yang digunakan.

  • 2. Saran

beberapa saran yang diberikan antara lain:

  • 1. Penggunaan kernel lain pada SVM yang digunakan untuk klasifikasi data

mungkin akan memberikan hasil yang berbeda. Namun perlu diperhatikan

apakah jumlah atribut yang digunakan akan menimbulkan curse of

dimensionality atau tidak.

  • 2. Penggunaan metode GSVM-RU untuk menangani berbagai macam data

spam lainnya, misalnya data spam yang mengandung gambar didalamnya.

  • 15. Daftar Pustaka

[1] B. Steve, 2003, “Support Vector Machines”, Department of Computer

Science and Artificial Intelligence, University of Malta.

[2] Cambridge University Press, 2008, “Stemming and Lemmatization”.

lemmatization-1.html diakses pada tanggal 23 Januari 2012.

[3] C.

Gordon V., 2006,

University of Waterloo.

“Email Spam Filtering: A Systematic Review”,

[4] C. Nello, S. John, 2009, “An Introduction to Support Vector Machines and

Other Kernel-based Learning Methods”.

[5] Google, “Gmail uses Google’s innovative technology to keep spam out of

your inbox”,

pada tanggal 29 november 2011.

[6] L. Qingliang, W. Yanli, B. Stephen H., 2009, “A novel method for mining

highly imbalanced high-throughput screening data in PubChem”. National

Institute of Health, Bethesda, USA.

[7] N. Anto S., W. Arief B., H. Dwi, 2003, “Support Vector

Machine, Teori dan Aplikasinya dalam Bioinformatika”.

[8] N. Mathias, 2005, “An Experiment System for Text Classification”.

[9] Oracle, 2008, “Classification”.

ify.htm diakses pada tanggal 14 juni 2011.

[10]

Prince, Brian, 2011, “Google adds DKIM for Google Apps to Adress

Google-Apps-to-Address-Spam-243360/ diakses pada tanggal 29 november

2011.

[11]

Statsoft,

“Text

Mining”.

mining/ diakses pada tanggal 23 Januari 2012.

[12]

Tang, Yuchun, 2006, “Granular Support Vector Machines

Based on Granular Computing, Soft Computing and Statistical Learning”,

Georgia State University,.

 

[13]

T. Yuchun, Z. Yan-Qing, C. Nitesh V., K. Sven, 2002, “SVMs

Modeling for Highly Imbalanced Classification”. Journal of latex class files.