Anda di halaman 1dari 43

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
Tugas Akhir

(3.1) (2.10) (2.6) (2.5) (2.2)Implementasi (2.9) (2.8) (2.7) (2.4)(2.1) (2.3)

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

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)

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.

NIP: 99740178-1

Pembimbing II

Hetti Hidayati, S.Kom, MT. NIP: 06750343-1

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 email 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.

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.

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.

4. Kata Pengantar
Assalamualaykum 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

5. Daftar isi

6. Daftar Gambar 7.

10

8. Daftar Tabel

11

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 Nave 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 email 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 nave 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 Hal ini dilakukan agar didapatkan bagi data yang linearly non-separable [4]. 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 Undersampling (GSVM-RU)


1.7.1 Imbalanced class

Machine

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]. Gmean 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 GSVMRU untuk menemukan hyperplane terbaik dengan menggunakan linear SVM yang dibangun dari toolbox libsvm. 7. Proses observasi, yakni mencari nilai parameterparameter yang optimal dari sistem.

Proses testing, yakni membangun model testing data dengan menggunakan hyperplane yang dibangun dari hasil training untuk mengklasifikasikan dokumen yang belum diketahui tergolong spam atau nonspam. 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 email. Secara umum, skema kerja sistem yang dibangun adalah sebagai berikut:
8.
Obj100

Gambar 3 Skema Kerja Sistem

3.2.1. Data

Parser

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 .2 .1 . Extract 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 .2 .2 . Penghapusan 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 .2 .3 . Penghapusan 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

Peranc

Obj102

Gambar 3 Preprocessing data

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 katakata 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 .2 .1 . Stopword 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 .2 .2 . Stemming 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.

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.
d. Gambar 3 Data hasil stemming

3 .2 .3 . Normalisasi 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 [01]. 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 .2 .4 . Indexing 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. Katakata 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.

Pembangunan hyperplane dan mencari nilai dari parameter terbaik dengan menggunakan linear SVM.
3.

3 .2 .1 . Undersampling
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 .2 .2 . Agregasi
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 diagramdiagram dibawah ini. 3.3.11 m Use Case
Gambar 3 Use Case

Diagra

Skenario Use Case : 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. Menampilkan jendela direktori aktif User memilih folder yang berisi data training. User memilih menu run untuk menjalankan parser data. 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 mengandung tanda baca. User memilih menu browse dokumen. Menampilkan jendela direktori aktif User memilih folder yang berisi data akhir hasil parser data. User memilih menu run untuk menjalankan preprocessing data. 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 index tersebut. User memilih menu browse dokumen. Menampilkan jendela direktori aktif. User memilih dokumen data training.txt.

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 testing.txt. Skenario Use Case : 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. Menampilkan jendela direktori aktif User memilih folder yang berisi data testing. User memilih menu run untuk menjalankan parser data. 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 baru berupa dataset testing yang tidak mengandung tanda baca. User memilih menu browse dokumen. Menampilkan jendela direktori aktif User memilih folder yang berisi data akhir hasil parser data. User memilih menu run untuk menjalankan preprocessing data. 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 berisi atribut yang berupa index. User memilih menu browse dokumen Menampilkan jendela direktori aktif User memilih dokumen yang akan di prediksi (data testing) User memilih menu run untuk menjalankan proses prediksi Sistem melakukan prediksi apakah dokumen email 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. Menampilkan jendela direktori aktif User memilih folder yang berisi data testing e-mail. User memilih menu run untuk menjalankan parser data. 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 mengandung tanda baca. User memilih menu browse dokumen. Menampilkan jendela direktori aktif User memilih folder yang berisi data akhir hasil parser data. User memilih menu run untuk menjalankan preprocessing data. 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 berisi atribut yang berupa index. User memilih menu browse dokumen Menampilkan jendela direktori aktif User memilih dokumen yang

akan di prediksi (data testing e-mail) User memilih menu run untuk menjalankan proses prediksi Sistem melakukan prediksi apakah dokumen email 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 m Sequence a. Diagram Sequence Parser Data


Gambar 3 Diagram Sequence Parser Data

Diagra

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.
4.1.

Pengujian dan Implementasi

Lingkungan Implementasi
14.1.1 kasi Hardware 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 Sistem ini dibangun dengan spesifikasi perangkat lunak : 1. Sistem Operasi Windows 7 2. NetBeans 6.9.1 Spesifi Spesifi

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 (http://csmining.org/index.php/spam-email-datasets-.html). Data input tersebut 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 nonspam. Data testing yang digunakan sebanyak 695 e-mail. 70 diantaranya berupa email 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 email 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]. 2. Quick adaptation

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. http://nlp.stanford.edu/IR-book/html/htmledition/stemming-andlemmatization-1.html diakses pada tanggal 23 Januari 2012. [3] C. Gordon V., 2006, Email Spam Filtering: A Systematic Review, University of Waterloo. [4] C. Nello, S. John, 2009, An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. [5] Google, Gmail uses Googles innovative technology to keep spam out of your inbox, http://www.google.com/mail/help/fightspam/spamexplained.html diakses 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. http://download.oracle.com/docs/cd/B28359_01/datamine.111/b28129/class ify.htm diakses pada tanggal 14 juni 2011. [10] Prince, Brian, 2011, Google adds DKIM for Google Apps to Adress Spam. http://www.eweek.com/c/a/Security/Google-Adds-DKIM-forGoogle-Apps-to-Address-Spam-243360/ diakses pada tanggal 29 november 2011. [11] Statsoft, Text Mining. http://www.statsoft.com/textbook/textmining/ 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.