Pengukuran kinerja Spam Filter menggunakan metode Naive Bayes Classifier Graham

ABSTRACT
WILDAN RACHMAN. Measuring Performance of Spam Filter using Graham‘s Naive Bayes
Classifier. Supervised by JULIO ADISANTOSO.
Email spam has become a major problem for internet users and providers. After several failed
attempt to filter spam based on heuristic approach such as black-listing or rule-based filtering,
content-based filtering using naive Bayes classifier has become the standard for spam filtering today.
However, the naive Bayes classifier exists in different forms. This research aims to compare two
different forms of naive Bayes which are multinomial naive Bayes using boolean attribute and
Graham version of naive Bayes which is popular among several commercial and open source spam
filter applications. This research also compares performace of two different methods for data
trainings which are train-everything (TEFT) and Train-on-Error (TOE). Finally, this research attempts
to identify several hard-to-classify emails.
The evaluation result showed that multinomial naive Bayes had better performances compared to
Graham naive Bayes. The result also showed that TEFT successfully outperforms TOE in term of
accuracy.

Keywords: spam filter, naive bayes, training method.

PENDAHULUAN
Latar Belakang
Pemanfaatan teknologi jaringan internet

yang semakin meningkat intensitasnya dewasa
ini berdampak besar pada metode pengiriman
surat. Jalur fisik yang semula menjadi pilihan
semakin ditinggalkan dan digantikan oleh
jalur pengiriman elektronik dalam bentuk
electronic mail atau biasa disebut dengan
email.
Email sangat populer karena biaya
pengiriman pesannya yang jauh lebih murah.
Email juga relatif lebih praktis dibandingkan
dengan surat konvensional karena tidak perlu
menyiapkan perangko maupun amplop. Selain
itu, email dapat mencapai objek yang dituju
dalam waktu sangat cepat.
Berbagai macam keunggulan yang dimiliki
oleh email ternyata banyak disalahgunakan
untuk mengirimkan pesan berbau komersial
secara massal. Email berisi pesan komersial
ataupun pesan lain yang tidak diinginkan dan
dikirimkan secara massal tersebut biasa

disebut dengan spam.
Spam menimbulkan banyak masalah. Bagi
pihak penerima, spam dapat menghabiskan
waktu untuk menghapusnya. Bagi penyedia
layanan, spam akan memakan banyak
sumberdaya seperti kapasitas penyimpanan
dan bandwith. Perusahaan keamanan McAfee
(2008) dalam laporannya menyatakan bahwa
pada tahun 2008 saja, terdapat sekitar 62
triliun spam yang dikirimkan ke seluruh dunia.
Berbagai upaya telah dilakukan untuk
mengatasi permasalahan spam. Pada mulanya
proses penyaringan email spam dilakukan
dengan pendekatan rule-based. Email akan
dikategorikan sebagai spam menurut aturanaturan tertentu seperti kemunculan kata,
alamat pengirim, dan struktur header.
Pendekatan ini secara praktik kurang efektif
dan memiliki tingkat false positive yang
tinggi. Selain rule-based, metode spamfiltering yang banyak digunakan di masa lalu
adalah server blacklist dan signature-based

filtering (Graham 2003).
Pendekatan berbasis content statistic
(menggunakan metode naive Bayes classifier)
untuk menyaring pesan spam pertama kali
diteliti oleh Pantel dan Lin (1998) dan berhasil
mencapai tingkat akurasi 92% dengan tingkat
false positive 1,16%. Teknik serupa juga
digunakan oleh Sahami et al. (1998) meskipun

kinerjanya tidak setinggi spam-filter yang
dirancang oleh Pantel dan Lin (1998).
Graham (2002) membahas teknik spamfiltering menggunakan metode naive Bayes
classifier (NB) dengan pendekatan yang
cukup berbeda jika dibandingkan dengan
metode naive Bayes classifier pada umumnya.
Metode ini diklaim berhasil mencapai tingkat
akurasi sebesar 99,95% dengan false positive
sebesar 0,05%. Kinerja yang cukup tinggi ini
membuat metode content-based filtering
semakin banyak digunakan dalam aplikasi

spam-filter (Yerazunis 2004).
Penelitian ini melakukan pengujian
terhadap dua model dari teknik klasifikasi NB
yaitu NB multinomial dengan atribut boolean
dan NB Graham. Penelitian ini juga menguji
dua metode training yang digunakan pada
spam filter. Lebih lanjut, penelitian ini
membahas komponen pendukung yang
digunakan dalam pembuatan spam filter
seperti teknik pemrosesan email, pemilihan
fitur, dan tokenisasi.
Tujuan
Tujuan dari penelitian ini adalah:
 Mengimplementasikan dua model dari
naive Bayes untuk diuji kinerjanya.
 Menguji dua jenis metode training.
 Membahas komponen pendukung yang
digunakan dalam sebuah spam filter.
 Menganalisis
faktor-faktor

yang
menyebabkan kesalahan klasifikasi.
Ruang Lingkup
Korpus yang digunakan untuk proses
pengujian adalah email MIME1 dalam format
raw2 yang sudah melalui proses pembersihan
dari content-content berbahaya. Email ini
disimpan dalam bentuk file teks.
Manfaat Penelitian
Manfaat dari penelitian ini adalah
mengetahui model naive Bayes dan metode
training yang memiliki kinerja paling baik,
membahas komponen-komponen pendukung
yang digunakan pada spam filter dan
menganalisis faktor-faktor yang menyebabkan
kegagalan proses klasifikasi.
1

Multipurpose Internet Mail Extension. Standar format
untuk email yang isinya tidak terbatas pada karakter

7bit saja.
2
Email yang masih memiliki komponen header dan body
serta tidak mengalami praproses yang terlalu banyak.

1

Selain itu, tidak ada batasan yang jelas
mengenai panjang dari dokumen yang
mungkin sehingga dapat dikatakan bahwa
yang
kombinasi dari
,…,
1, … ,
mungkin berjumlah tak hingga (Manning et al.
2008). Oleh sebab itu, dibuat suatu asumsi
bahwa kemunculan masing-masing token
bersifat independen antara satu token dengan
token yang lainnya. Dengan asumsi tersebut,
nilai dari

dapat diestimasi sebagai
berikut:
=

( | )
1≤ ≤

sehingga peluang suatu dokumen
untuk
masuk ke dalam kelas
dapat diestimasi
dengan cara:


( | )
1≤ ≤

dengan ( | ) adalah peluang dari suatu
token
muncul pada dokumen yang

diketahui memiliki kelas c; sedangkan
adalah peluang awal dari suatu dokumen
untuk masuk ke dalam kelas c.
Nilai dari
dapat diestimasi dengan
melihat frekuensi kemunculan dokumen pada
kelas
relatif terhadap jumlah seluruh
dokumen yaitu:
=
dengan
adalah jumlah dokumen yang
terdapat di kelas
dan
adalah jumlah
seluruh dokumen yang ada.
Nilai
untuk masing-masing token
didapatkan dari proses training. Lebih
sepesifik lagi, nilai

diestimasi dengan
melihat frekuensi token yang muncul pada
kelas c relatif terhadap jumlah kemunculan
seluruh token yang ada di kelas c yaitu:
=
′�



dengan
adalah jumlah kemunculan token
dalam dokumen training yang berada di kelas
c termasuk di dalamnya kemunculan token
yang berjumlah lebih dari satu kali; dan
′�
′ adalah jumlah seluruh token yang
terdapat pada seluruh dokumen di kelas c
termasuk untuk token-token yang muncul
berulang kali pada dokumen yang sama.
Permasalahan akan terjadi saat ditemukan

token yang hanya muncul pada salah satu
kelas saja atau tidak muncul di kelas manapun

pada proses training. Nilai ( | ) yang
dihasilkan akan sama dengan nol sehingga
mengacaukan perhitungan
. Untuk
mengatasi permasalahan tersebut, digunakan
laplace smoothing yaitu menambahkan jumlah
kemunculan setiap token sebanyak satu
sehingga perhitungan nilai dari
menjadi:
=
′�

+1
( ′ + 1)

=
′�


+1
′ + ′

dengan ′ adalah jumlah seluruh vocabulary
(kata unik) yang terdapat dalam data training.
Multi-variate Bernoulli NB
Berbeda dengan multinomial NB, multivariate Bernoulli NB hanya mencatat
indikator kemunculan suatu token tanpa
menghitung term frequency-nya. Perbedaan
lain yang cukup menonjol adalah multi-variate
Bernoulli NB ikut memperhitungkan tokentoken yang tidak muncul dalam dokumen pada
proses klasifikasinya.
Perbedaan ini terjadi karena perbedaan
dalam cara menduga
. Multi-variate
Bernoulli NB menduga
sebagai fraksi
dari dokumen pada kelas yang mengandung
token sementara multinomial NB menduga
sebagai fraksi dari token pada
dokumen di kelas yang mengandung token
(Manning et al. 2008).
Multinomial NB dengan Atribut Boolean
Multinomial NB dengan atribut boolean
hampir sama dengan multinomial NB yang
menggunakan atribut term frequency (tf)
termasuk dalam proses pendugaan nilai
. Perbedaannya terletak pada atribut
yang digunakan yaitu atribut boolean. Pada
atribut boolean, token yang muncul berulang
kali tetap dianggap sebagai satu kemunculan
untuk setiap dokumennya.
Schneider (2004) dalam penelitiannya
menyatakan bahwa term frequency bukanlah
faktor yang menjadi penyebab multinomial
NB memiliki kinerja yang lebih baik
dibandingkan dengan multi-variate Bernoulli
NB. Perbedaan kinerja antar dua metode
tersebut lebih disebabkan oleh bagaimana
kedua metode tersebut memperlakukan bukti
yang tidak ada (negative evidence) yaitu token
yang tidak muncul pada pesan. Pada metode
3

multi-variate Bernoulli, hasil dari klasifikasi
lebih banyak dipengaruhi oleh kata-kata yang
tidak ada di dalam pesan.
Schneider (2004) menunjukkan bahwa
multinomial NB akan memiliki kinerja yang
lebih baik jika atribut term frequency
digantikan dengan atribut boolean.
Penggunaan atribut term
frequency
menyebabkan pengaruh negative evidence
menjadi lebih besar dibandingkan dengan
penggunan
atribut
boolean.
Karena
kemunculan setiap term akan dibandingkan
dengan jumlah kemunculan dari seluruh kata
yang terdapat pada kelas tersebut, penggunaan
atribut term frequency menyebabkan nilai
peluang untuk setiap term akan semakin kecil.
Dengan menggunakan atribut boolean, efek
dari negative evidence dapat dikurangi karena
kemunculan setiap kata hanya dicatat satu kali
saja pada setiap dokumennya.
Spam Filtering dengan Multinomial NB
Spam Filtering adalah proses menyaring
email menjadi dua buah kategori yaitu spam
dan ham. Meskipun aksi pengiriman pesan
dalam jumlah massal merupakan salah satu
ciri utama yang menyebabkan pesan tersebut
dikatakan sebagai spam, dapat dilihat bahwa
kandungan bahasa yang digunakan oleh pesan
spam memiliki tema tersendiri dan jarang
ditemukan pada pesan biasa (ham). Dengan
karakteristik seperti ini, teknik klasifikasi teks
dapat diterapkan untuk permasalahan spam
filtering (Androutsopoulos et al. 2000).
Jika dimisalkan sebagai kelas dari email
yang termasuk ke dalam kategori spam,
maka dengan teori Bayes, peluang email
adalah spam
yaitu
dapat
diestimasikan sebagai berikut:
=

=

=

|

=1

:

Lalu dengan cara yang sama, untuk
1, … ,

=
=

|

|

=1

Sementara itu, dengan merujuk kembali pada
teori NB multinomial, nilai dari
| dapat
dihitung dengan cara:

( | )=

+1
′ +

′�



dengan
adalah jumlah kemunculan
token pada email dengan kelas , B‘ adalah
jumlah vocabulary yang terdapat dalam data
′�
training, sementara

adalah
jumlah kemunculan seluruh token pada kelas S
(Sun 2009).
Karena NB yang digunakan adalah NB
multinomial dengan atribut boolean, seluruh
kemunculan token dihitung satu untuk setiap
dokumennya meskipun token tersebut muncul
berulang kali.
Selanjutnya kelas dari email
dapat
ditentukan dengan membandingkan antara
dengan
:
( )
( )

=
=

|
|

=1
=1

( )

Dengan cara yang sama, peluang email
masuk ke dalam kelas ham
dapat
diestimasikan dengan cara:

|

Karena antara satu token dengan token yang
lainnya diasumsikan independen, maka nilai
| dapat dihitung dengan cara:
1, … ,

( )

dengan
adalah peluang kemunculan
email pada kelas spam,
adalah peluang
awal suatu email masuk ke dalam kelas spam
dan ( ) adalah peluang kemunculan email
.

1, … ,

=

=

( )
( )

n

( )
( )
|
|

i

Karena pada proses perhitungannya nilai-nilai
di atas bisa sangat kecil dan menghasilkan
kesalahan presisi (Manning et al. 2008), kedua
sisi dihitung hasil log-nya sehingga menjadi:
log

( )
= log
( )

n

|
|

i

( )
( )

log

= log

( )

+

log

|
|

Pada metode multinomial NB, nilai dari
dapat diestimasikan sebagai berikut:
4

Jika persamaan di atas menghasilkan nilai
lebih besar daripada nol, nilai dari
lebih besar daripada
sehingga
email
masuk ke dalam kategori spam.
Sebaliknya, jika nilainya lebih kecil daripada
nol, email masuk ke dalam kategori ham.
Metode NB Graham
Graham (2002) menggunakan pendekatan
yang berbeda dalam mengimplementasikan
naive Bayes. Jika pada metode yang telah
dibahas sebelumnya digunakan estimasi nilai
|
untuk mendapatkan peluang suatu
email masuk ke dalam kategori spam, metode
NB Graham menggunakan
|
yang
diestimasikan sebagai peluang suatu pesan
untuk masuk dalam kategori spam jika
diketahui pesan tersebut mengandung token
yaitu:
�� |

=

+

dimana
dan
berturut-turut adalah
jumlah pesan pada kelas spam dan ham yang
mengandung token i, sementara
dan
berturut-turut adalah jumlah pesan yang
tedapat pada kelas spam dan ham. Semakin
sering suatu token muncul di kelas spam, nilai
peluangnya akan semakin mendekati satu.
(Crossan 2009).
Graham (2002) menemukan bahwa dengan
mengalikan jumlah kemunculan token-token
yang ada pada ham dengan faktor dua, jumlah
dari false positive dapat dikurangi. Jika suatu
token hanya muncul pada kelas spam saja,
token tersebut akan langsung diberikan nilai
peluang 0,99 sementara jika token hanya
muncul di kelas ham saja, token tersebut akan
diberikan nilai peluang 0,01. Untuk token
yang belum pernah muncul sebelumnya atau
memiliki jumlah kemunculan lebih kecil dari
lima, diberikan peluang netral 0,4. Nilai 0,4
dipilih untuk lebih mengurangi lagi tingkat
false positive.
Untuk menghitung peluang suatu email
masuk ke dalam kelas spam, metode NB
Graham hanya menggunakan lima belas token
yang paling signifikan saja. Seberapa
signifikan suatu token dalam menentukan
hasil klasifikasi ditentukan dengan melihat
selisih nilai
|
token tersebut dengan
nilai peluang netral 0,5.
Selanjutnya, lima belas token yang paling
signifikan
tersebut
digunakan
untuk

menghitung peluang suatu email masuk ke
dalam kelas spam dengan persamaan:
|

1, … ,

=

15
=1
′�

,

( |
15
=1

)
( ′|

)

dengan S merupakan event saat email masuk
ke dalam kelas spam. Pesan akan
dikategorikan sebagai spam jika persamaan di
atas bernilai lebih besar dari 0,9.
Metode Training
Sebelum
dapat
melakukan
proses
klasifikasi, spam filter perlu ditunjukkan
contoh-contoh email dari masing-masing
kelas. Proses ini disebut dengan training
(Zdziarski 2005).
Pada penelitian ini, terdapat dua macam
metode training yang diujikan yaitu Train
Everything (TEFT) dan Train-On-Error
(TOE).
1. Train-Everything (TEFT)
Pada metode TEFT seluruh email yang
masuk akan di-training tanpa memperhatikan
kebenaran hasil klasifikasinya.
Kelebihan dari metode ini adalah dataset
milik spam filter akan terus menyesuaikan
nilainya
sesuai dengan email
yang
diterimanya. Sebagai contoh, jika pengguna
berlangganan mailing-list tertentu, filter akan
segera mengenali token-token di dalamnya
sebagai bagian dari kelas ham.
Kekurangan dari metode ini adalah filter
akan menjadi sangat rentan terhadap
komposisi email pengguna. Sebagai contoh,
jika pengguna terlalu banyak menerima email
spam, metode training ini akan mengenali
terlalu banyak token sebagai token spam
karena kurangnya data ham. Hal ini dapat
mengganggu proses klasifikasi ham yang
masuk.
2. Training On Error (TOE)
Pada metode TOE, email hanya akan
dimasukkan ke dalam proses training jika
terjadi kesalahan klasifikasi. Kelebihan
metode TOE adalah proses training hanya
dilakukan seperlunya sehingga menghemat
resource seperti proses disk-writing yang
lambat. Metode TOE juga menyimpan lebih
sedikit token sehingga dapat menghemat
space.
Kelebihan metode training ini ternyata
juga menjadi kelemahannya. TOE hanya akan
melakukan proses training jika menemukan
5

kesalahan dalam proses klasifikasi. Hal ini
menyebabkan TOE cenderung lambat dalam
mengenali token-token baru saat terjadi
perubahan kebiasaan penerimaan email
pengguna.
3. Metode Training Lainnya
Selain TOE dan TEFT, masih ada dua
metode training lagi yang dapat digunakan
dalam sistem spam filter. Metode tersebut
adalah Training Until Mature (TUM) dan
Training Until No Error (TUNE).
Pada metode TUM, proses training untuk
token tertentu tidak akan diteruskan lagi saat
filter sudah merasa ―cukup mengenal‖ token
tertentu. TUM hanya akan melakukan proses
training saat menemukan kesalahan.
Pada metode TUNE, proses training
dilakukan beberapa kali dalam bentuk
training-loop sampai tidak ditemukan error
atau akurasi tidak dapat ditingkatkan lagi.
Yerazunis (2004) menemukan bahwa metode
training TUNE hanya sedikit lebih baik
dibandingkan dengan TOE meskipun proses
training yang dilakukan oleh TUNE jauh lebih
lama.

METODE PENELITIAN
Penelitian ini terdiri atas empat tahap yaitu
pengumpulan data, pengujian metode training,
pengujian metode klasifikasi dan analisis
kesalahan klasifikasi.
Untuk metode training, terdapat dua
macam metode yang diuji yaitu TEFT
(Training Everything) dan TOE (Training On
Error). Masing-masing metode training
diduga memiliki kinerja yang berbeda
sehingga
dilakukan
pengujian
untuk
menentukan metode training mana yang
memiliki kinerja yang lebih baik.
Selanjutnya dilakukan pengujian terhadap
dua model NB yaitu Bayes Multinomial
dengan atribut boolean dan Metode Bayes
Graham. Analisis juga dilakukan terhadap
faktor-faktor yang menyebabkan terjadinya
kesalahan klasifikasi.
Bahasa pemrograman yang digunakan
adalah PHP meskipun penggunaan bahasa
pemrograman lain seperti C diduga bisa
meningkatkan performance sistem secara
signifikan.

Pengumpulan Data
Tahap penelitian yang pertama adalah
tahap pengumpulan data. Data yang digunakan
sebagai data uji adalah korpus email dalam
format aslinya yaitu email yang masih
memiliki bagian header dan body. Data ini
berisi campuran pesan yang sudah diberi dua
macal label yaitu ‗ham‘ dan ‗spam‘ sesuai
dengan kelasnya. Proses pemberian kelas
tersebut dilakukan secara manual.
Pengujian Metode Training
Terdapat dua jenis metode training yang
diuji dalam penelitian ini yaitu metode
Training Everything (TEFT) dan metode
Training on Error (TOE). Pengujian
dilakukan dengan cara mengukur akurasi
kedua metode tersebut saat dipasangkan
dengan metode Graham.
Pengujian Metode Klasifikasi
Pada penelitian ini, NB multinomial yang
diujikan adalah NB multinomial yang
menggunakan atribut boolean sehingga istilah
NB multinomial selanjutnya akan merujuk
pada NB multinomial yang menggunakan
atribut boolean.
Untuk membandingkan kinerja dari versiversi NB yang diujikan, digunakan metode
pengujian yang sama dengan metode evaluasi
pada penelitian Yerazunis (2004) yaitu:
1. Disediakan data uji berupa korpus email
yang sudah diklasifikasikan ke dalam dua
kelas yaitu ‗ham‘ dan ‗spam‘. Setiap email
diberikan label sesuai dengan kelasnya.
Data yang sudah diberi label tersebut
kemudian digabungkan.
2. Data uji kemudian diacak sebanyak
sepuluh kali. Setiap acakan dicatat urutan
pembacaannya sehingga seluruh metode
yang diuji dievaluasi menggunakan acakan
dan urutan pembacaan data yang sama.
3. Untuk setiap acakan, diambil sebanyak N
data yang nantinya digunakan sebagai data
testing akhir.
4. Proses pengujian dilakukan sebanyak
jumlah acakan yaitu sepuluh kali
pengujian.
5. Langkah-langkah di atas menghasilkan
data awal hasil pengujian berupa jumlah
kesalahan klasifikasi dari 10 kali N data
testing.
Data awal hasil pengujian diolah lagi
untuk mendapatkan tingkat akurasi hasil
prediksi berupa jumlah true positive, true
6

kesalahan dalam proses klasifikasi. Hal ini
menyebabkan TOE cenderung lambat dalam
mengenali token-token baru saat terjadi
perubahan kebiasaan penerimaan email
pengguna.
3. Metode Training Lainnya
Selain TOE dan TEFT, masih ada dua
metode training lagi yang dapat digunakan
dalam sistem spam filter. Metode tersebut
adalah Training Until Mature (TUM) dan
Training Until No Error (TUNE).
Pada metode TUM, proses training untuk
token tertentu tidak akan diteruskan lagi saat
filter sudah merasa ―cukup mengenal‖ token
tertentu. TUM hanya akan melakukan proses
training saat menemukan kesalahan.
Pada metode TUNE, proses training
dilakukan beberapa kali dalam bentuk
training-loop sampai tidak ditemukan error
atau akurasi tidak dapat ditingkatkan lagi.
Yerazunis (2004) menemukan bahwa metode
training TUNE hanya sedikit lebih baik
dibandingkan dengan TOE meskipun proses
training yang dilakukan oleh TUNE jauh lebih
lama.

METODE PENELITIAN
Penelitian ini terdiri atas empat tahap yaitu
pengumpulan data, pengujian metode training,
pengujian metode klasifikasi dan analisis
kesalahan klasifikasi.
Untuk metode training, terdapat dua
macam metode yang diuji yaitu TEFT
(Training Everything) dan TOE (Training On
Error). Masing-masing metode training
diduga memiliki kinerja yang berbeda
sehingga
dilakukan
pengujian
untuk
menentukan metode training mana yang
memiliki kinerja yang lebih baik.
Selanjutnya dilakukan pengujian terhadap
dua model NB yaitu Bayes Multinomial
dengan atribut boolean dan Metode Bayes
Graham. Analisis juga dilakukan terhadap
faktor-faktor yang menyebabkan terjadinya
kesalahan klasifikasi.
Bahasa pemrograman yang digunakan
adalah PHP meskipun penggunaan bahasa
pemrograman lain seperti C diduga bisa
meningkatkan performance sistem secara
signifikan.

Pengumpulan Data
Tahap penelitian yang pertama adalah
tahap pengumpulan data. Data yang digunakan
sebagai data uji adalah korpus email dalam
format aslinya yaitu email yang masih
memiliki bagian header dan body. Data ini
berisi campuran pesan yang sudah diberi dua
macal label yaitu ‗ham‘ dan ‗spam‘ sesuai
dengan kelasnya. Proses pemberian kelas
tersebut dilakukan secara manual.
Pengujian Metode Training
Terdapat dua jenis metode training yang
diuji dalam penelitian ini yaitu metode
Training Everything (TEFT) dan metode
Training on Error (TOE). Pengujian
dilakukan dengan cara mengukur akurasi
kedua metode tersebut saat dipasangkan
dengan metode Graham.
Pengujian Metode Klasifikasi
Pada penelitian ini, NB multinomial yang
diujikan adalah NB multinomial yang
menggunakan atribut boolean sehingga istilah
NB multinomial selanjutnya akan merujuk
pada NB multinomial yang menggunakan
atribut boolean.
Untuk membandingkan kinerja dari versiversi NB yang diujikan, digunakan metode
pengujian yang sama dengan metode evaluasi
pada penelitian Yerazunis (2004) yaitu:
1. Disediakan data uji berupa korpus email
yang sudah diklasifikasikan ke dalam dua
kelas yaitu ‗ham‘ dan ‗spam‘. Setiap email
diberikan label sesuai dengan kelasnya.
Data yang sudah diberi label tersebut
kemudian digabungkan.
2. Data uji kemudian diacak sebanyak
sepuluh kali. Setiap acakan dicatat urutan
pembacaannya sehingga seluruh metode
yang diuji dievaluasi menggunakan acakan
dan urutan pembacaan data yang sama.
3. Untuk setiap acakan, diambil sebanyak N
data yang nantinya digunakan sebagai data
testing akhir.
4. Proses pengujian dilakukan sebanyak
jumlah acakan yaitu sepuluh kali
pengujian.
5. Langkah-langkah di atas menghasilkan
data awal hasil pengujian berupa jumlah
kesalahan klasifikasi dari 10 kali N data
testing.
Data awal hasil pengujian diolah lagi
untuk mendapatkan tingkat akurasi hasil
prediksi berupa jumlah true positive, true
6

negative, false positive, dan false negative
seperti yang dapat dilihat pada Tabel 1.
Tabel 1

Tabel kontingensi kelas hasil
prediksi dan kelas sebenarnya

kesalahan klasifikasi. Pesan-pesan yang gagal
diklasifikasikan ke dalam kelas yang benar
diteliti lebih lanjut untuk dicari penyebab
kegagalan klasifikasinya.
Lingkungan Pengujian

Kelas
Prediksi

Kelas
Sebenarnya

Spam

Ham

Spam

TP

FN

Ham

FP

TN

Hasil positive merujuk pada email yang
diprediksikan masuk ke dalam kategori spam
dan hasil negative merujuk pada email yang
diprediksikan masuk ke dalam kategori ham
oleh spam filter. Keterangan selengkapnya
adalah sebagai berikut:
 True Positive (TP), yaitu email dari kelas
spam yang benar diklasifikasikan sebagai
spam.
 True Negative (TN), yaitu email dari kelas
ham yang benar diklasifikasikan sebagai
ham.
 False Positive (FP), yaitu email dari kelas
ham yang salah diklasifikasikan sebagai
spam.
 False Negatif (FN), yaitu email dari kelas
spam yang salah diklasifikasikan sebagai
ham.
Selanjutnya,
kinerja
masing-masing
metode dievaluasi dengan melihat nilai dari
spam recall dan ham recall-nya. Spam recall
adalah proporsi dari pesan spam yang berhasil
diblok oleh filter, sedangkan ham recall
menunjukkan proporsi dari pesan ham yang
dilewatkan oleh filter (Metsis et al. 2006).
Nilai dari Spam Recall dihitung dengan
membandingkan jumlah email spam yang
benar diklasifikasikan sebagai spam (true
positive) dengan jumlah seluruh email spam
yang tedapat pada data uji yaitu:
��

� =

+

dengan cara yang sama, nilai dari ham recall
dapat dihitung dengan cara:


� =

+

Perangkat lunak yang digunakan dalam
pengujian sebagai berikut:
 Sistem Operasi Windows 7.
 Bahasa pemrograman PHP versi 5.2.9.
 EzMailParser dari EzComponent sebagai
library yang digunakan untuk membaca
struktur email.
 Web Server Apache 2.2.11
Sementara itu, perangkat keras yang
digunakan untuk pengujian adalah:
 Prosesor intel core i5 M450
kecepatan 2.4Ghz.
 Memory DDR3 sebesar 2GB.

pada

Untuk mempercepat proses pengujian, data
hasil training disimpan langsung dalam
memori. Data hasil pengujian di-serialize lalu
disimpan ke dalam file teks untuk digunakan
dalam tahap analisis kesalahan klasifikasi.

HASIL DAN PEMBAHASAN
Pengumpulan Data
Korpus yang digunakan pada penelitian ini
adalah public email corpus yang disediakan
oleh Spamassasin dengan kode prefix
―20030228‖ 3. Korpus ini terdiri atas 6.047
pesan email yang sudah diklasifikasikan
sebelumnya secara manual dengan komposisi:
 3.900 easy-ham, yaitu pesan ham yang
dapat dibedakan dengan mudah dari pesan
spam karena tidak banyak mengandung
ciri-ciri yang dimiliki oleh pesan spam.
 250 hard-ham, yaitu pesan bertipe ham
namun mengandung cukup banyak feature
yang biasa terdapat pada pesan spam
sehingga agak sulit diklasifikasikan.
 1.897 spam, yaitu pesan yang masuk
dalam kategori spam.
Pesan yang memiliki label easy-ham dan
hard-ham tidak dibedakan secara khusus dan
digabungkan ke dalam satu kategori yaitu
―ham‖. Dengan demikian, data yang

Analisis Kesalahan Klasifikasi
Setelah pengujian untuk metode training
dan metode klasifikasi selesai dilakukan,
penelitian selanjutnya berfokus pada analisis

3

Korpus email dari Spamassasin dapat diunduh di alamat
http://www.spamassassin.org/publiccorpus/.

7

negative, false positive, dan false negative
seperti yang dapat dilihat pada Tabel 1.
Tabel 1

Tabel kontingensi kelas hasil
prediksi dan kelas sebenarnya

kesalahan klasifikasi. Pesan-pesan yang gagal
diklasifikasikan ke dalam kelas yang benar
diteliti lebih lanjut untuk dicari penyebab
kegagalan klasifikasinya.
Lingkungan Pengujian

Kelas
Prediksi

Kelas
Sebenarnya

Spam

Ham

Spam

TP

FN

Ham

FP

TN

Hasil positive merujuk pada email yang
diprediksikan masuk ke dalam kategori spam
dan hasil negative merujuk pada email yang
diprediksikan masuk ke dalam kategori ham
oleh spam filter. Keterangan selengkapnya
adalah sebagai berikut:
 True Positive (TP), yaitu email dari kelas
spam yang benar diklasifikasikan sebagai
spam.
 True Negative (TN), yaitu email dari kelas
ham yang benar diklasifikasikan sebagai
ham.
 False Positive (FP), yaitu email dari kelas
ham yang salah diklasifikasikan sebagai
spam.
 False Negatif (FN), yaitu email dari kelas
spam yang salah diklasifikasikan sebagai
ham.
Selanjutnya,
kinerja
masing-masing
metode dievaluasi dengan melihat nilai dari
spam recall dan ham recall-nya. Spam recall
adalah proporsi dari pesan spam yang berhasil
diblok oleh filter, sedangkan ham recall
menunjukkan proporsi dari pesan ham yang
dilewatkan oleh filter (Metsis et al. 2006).
Nilai dari Spam Recall dihitung dengan
membandingkan jumlah email spam yang
benar diklasifikasikan sebagai spam (true
positive) dengan jumlah seluruh email spam
yang tedapat pada data uji yaitu:
��

� =

+

dengan cara yang sama, nilai dari ham recall
dapat dihitung dengan cara:


� =

+

Perangkat lunak yang digunakan dalam
pengujian sebagai berikut:
 Sistem Operasi Windows 7.
 Bahasa pemrograman PHP versi 5.2.9.
 EzMailParser dari EzComponent sebagai
library yang digunakan untuk membaca
struktur email.
 Web Server Apache 2.2.11
Sementara itu, perangkat keras yang
digunakan untuk pengujian adalah:
 Prosesor intel core i5 M450
kecepatan 2.4Ghz.
 Memory DDR3 sebesar 2GB.

pada

Untuk mempercepat proses pengujian, data
hasil training disimpan langsung dalam
memori. Data hasil pengujian di-serialize lalu
disimpan ke dalam file teks untuk digunakan
dalam tahap analisis kesalahan klasifikasi.

HASIL DAN PEMBAHASAN
Pengumpulan Data
Korpus yang digunakan pada penelitian ini
adalah public email corpus yang disediakan
oleh Spamassasin dengan kode prefix
―20030228‖ 3. Korpus ini terdiri atas 6.047
pesan email yang sudah diklasifikasikan
sebelumnya secara manual dengan komposisi:
 3.900 easy-ham, yaitu pesan ham yang
dapat dibedakan dengan mudah dari pesan
spam karena tidak banyak mengandung
ciri-ciri yang dimiliki oleh pesan spam.
 250 hard-ham, yaitu pesan bertipe ham
namun mengandung cukup banyak feature
yang biasa terdapat pada pesan spam
sehingga agak sulit diklasifikasikan.
 1.897 spam, yaitu pesan yang masuk
dalam kategori spam.
Pesan yang memiliki label easy-ham dan
hard-ham tidak dibedakan secara khusus dan
digabungkan ke dalam satu kategori yaitu
―ham‖. Dengan demikian, data yang

Analisis Kesalahan Klasifikasi
Setelah pengujian untuk metode training
dan metode klasifikasi selesai dilakukan,
penelitian selanjutnya berfokus pada analisis

3

Korpus email dari Spamassasin dapat diunduh di alamat
http://www.spamassassin.org/publiccorpus/.

7

digunakan untuk penelitian mengandung spam
sebanyak 31%.
Detail Proses Pengujian
Pengujian kinerja metode klasifikasi
dilakukan dengan metode training TEFT dan
TOE sementara proses pengujian metode
training dilakukan dengan menggunakan
metode Graham. Langkah pengujian yang
dilakukan adalah sebagai berikut:
 Data uji yang digunakan berjumlah 6.047
email dengan proporsi spam sebesar 31%.
 Data uji ini diacak sebanyak sepuluh kali
lalu dicatat ukuran pembacaannya.
 Pengukuran kinerja dilakukan dengan
melihat akurasi pada saat pemrosesan 750
data terakhir.
 Karena pengujian dilakukan sebanyak
sepuluh kali pengulangan, data awal
jumlah
kesalahan klasifikasi
yang
ditampilkan adalah jumlah kesalahan per
7.500 kali uji.
Perbandingan jumlah spam dan ham untuk
data testing pada masing-masing acakan dapat
dilihat pada Tabel 2.
Tabel 2

Proporsi pesan spam untuk masingmasing acakan pengujian

Acakan
Ke

Jumlah
Ham

Jumlah
Spam

Persen
Spam

1

529

221

29,46

2

512

238

31,73

3

514

236

31,46

4

528

222

29,60

5

518

232

30,93

6

484

266

35,46

7

518

232

30,93

8

508

242

32,26

9

529

221

29,46

10

511

239

31,86

Jumlah

5.151

2.349

31,32

Pemrosesan Dokumen
Untuk fase training dan fase testing, setiap
email diproses dengan teknik yang sama.
Pemrosesan yang dilakukan terdiri atas empat
tahap yaitu dekomposisi struktur email,
pemilihan atribut, penyeragaman sistem
karakter, dan tokenisasi.

1. Dekomposisi Struktur Email
Tahap pemrosesan dokumen yang pertama
adalah dekomposisi struktur email. Email
yang hendak diproses dipecah menjadi bagianbagian yang lebih kecil. Tahapan ini
diperlukan karena masing-masing komponen
akan diolah secara berbeda pada saat
dilakukan proses tokenisasi.
Secara garis besar, tahapan dekomposisi
yang dilakukan sebagai berikut:
 Email dipecah ke dalam dua bagian utama
yaitu header dan body.
 Komponen header dipecah lagi menjadi
komponen-komponen yang lebih kecil
sesuai
dengan
informasi
yang
dikandungnya.
 Untuk komponen body, pesan yang terdiri
atas beberapa part akan digabungkan
menjadi satu. Jika pada email terdapat
attachment, hanya informasi nama file dan
jenisnya yang disertakan.
Berdasarkan hasil pengamatan saat
dilakukan proses tahap pertama ini, terlihat
bahwa email dari kelas spam terkadang
memiliki infomasi header yang salah ataupun
rusak. Sebagai contoh, pada beberapa email,
informasi waktu pengiriman email ditulis
dengan format di luar standar atau waktu yang
dipastikan salah, contoh tahun 2020.
Saat ini belum dapat disimpulkan apakah
kesalahan
penulisan
header
tersebut
merupakan suatu kesengajaan atau bukan.
Bagaimanapun, kesalahan seperti ini sangat
jarang ditemukan pada email ham.
Untuk bagian body, mayoritas email dari
kelas ham hanya menggunakan satu part saja.
Lain halnya dengan email dari kelas spam
dimana email dengan body multipart bukanlah
hal yang jarang ditemui.
2. Pemilihan Atribut
Setelah email dipecah menjadi komponenkomponen yang lebih kecil, tahapan
selanjutnya adalah pemilihan komponen yang
akan disertakan ke dalam proses klasifikasi.
Tahapan ini berlaku terutama untuk bagian
header dari email.
Tidak semua komponen dari header email
dimasukkan ke dalam klasifikasi. Hal ini
dilakukan karena terdapat beberapa informasi
pada header yang telah mengalami kerusakan

8

ataupun telah diubah sebelumnya oleh pihak
Spamassasin4 sebagai penyedia data. Selain
itu, terdapat komponen header yang hanya
muncul di sebagian kecil dokumen saja.
Komponen-komponen
tersebut
adalah
informasi tambahan yang biasanya disertakan
oleh email client atau Mail Transfer Agent
yang dilalui oleh email sebelum sampai ke
tujuan.
Untuk bagian body, email-email yang
dipecah ke dalam beberapa part akan
digabungkan menjadi satu. Seluruh metadata
yang terkandung dalam setiap part ikut
disertakan pada proses klasifikasi. Metadata
tersebut berguna untuk menglasifikasikan
email yang hanya berisi attachment saja atau
email yang terdiri atas beberapa part.
Komponen header yang disertakan dalam
proses klasifikasi serta informasi yang
terkandung di dalamnya dapat dilihat pada
Tabel 3.
Tabel 3

Komponen header yang disertakan
dalam proses klasifikasi

Nama

Keterangan

subject

Subjek dari pesan.

sender

Nama
dan
pengirim pesan.

return-path

Alamat
pengembalian
pesan
jika
terjadi
bouncing5.

x-mailer

Aplikasi yang digunakan
oleh pengguna untuk
mengirimkan pesan.

reply-to

Alamat yang digunakan
untuk membalas pesan.

contenttransferencoding

Metode content transfer
encoding yang digunakan
jika ada.

alamat

3. Penyeragaman Sistem Karakter
Tahapan pemrosesan selanjutnya adalah
penyeragaman sistem karakter yaitu encoding
dan character set yang digunakan. Email pada
data uji memiliki sistem encoding dan
character set yang berbeda-beda. Perbedaan
tersebut terutama terlihat pada bagian subject,
nama pengirim, dan isi utamanya. Hal tersebut
4

Perubahan ini dilakukan terutama pada alamat email
penerima dan jalur server yang dilalui oleh email.
5
Kondisi dimana alamat penerima tidak ditemukan.

disebabkan oleh perbedaan sistem yang
digunakan oleh pengirim. Penggunaan sistem
encoding khusus kadang dilakukan dengan
sengaja oleh pengirim spam dengan tujuan
mempersulit pemrosesan email oleh spam
filter.
Secara garis besar, terdapat dua jenis
encoding yang digunakan oleh email:
 Encoding dan Character Set yang
digunakan untuk penulisan karakterkarakter pada email seperti UTF-8 dan
latin1.
 Content-Transfer-Encoding yaitu sistem
encoding yang digunakan khusus untuk
mengirimkan data binary dalam format
7bit ASCII text.
Untuk menghindari kesalahan pembacaan
terutama saat proses tokenisasi, dilakukan
penyeragaman sistem encoding dan characterset yang digunakan menjadi UTF-8.
Jika email menggunakan content-transferencoding tertentu seperti Base64 encoding
atau Quote-printable, isinya akan dikonversi
terlebih dahulu menjadi data aslinya. Jika data
aslinya ternyata berbentuk file binary, isi dari
file yang dihasilkan tidak disertakan, namun
informasi jenis file yang dikandung (jika ada)
akan ikut disertakan ke dalam klasifikasi.
Dari hasil pengamatan, dapat disimpulkan
bahwa penggunaan encoding dapat menjadi
penciri yang baik dalam membedakan email
dari kelas ham dengan email dari kelas spam.
Email-email yang tidak bersalah atau email
ham cenderung menggunakan sistem karakter
encoding yang seragam atau sejenis seperti
latin1 dan ISO-8859-1 untuk orang yang
mayoritas emailnya berbahasa Inggris atau
bahasa lain yang menggunakan karakter latin.
Sementara itu di kelas spam, sistem
encoding yang digunakan cenderung lebih
bervariasi tergantung dari asal pengirimnya.
Seringkali
email
dari
kelas
spam
mencantumkan informasi encoding yang salah
atau tidak standar. Sebagai contoh, sistem
encoding ks_c_5601-19876 hanya ditemukan
pada email spam.
Selain sistem encoding untuk karakter,
penggunaan content-transfer-encoding juga
dapat membantu proses pengenalan email
spam. Dari hasil pengamatan pada data, hanya
email-email
dari
kelas
spam
yang
menggunakan
content-transfer-encoding
6

Encoding ini banyak ditemukan pada email spam
yang menggunakan karakter Korea. Encoding yang
benar untuk karakter korea adalah EU-KR.

9

khusus seperti Base64 maupun Quoteprintable. Pada beberapa kasus, email yang
menggunakan
content-transfer-encoding
Base64 tidak dapat dikonversikan isinya
karena terdapat kerusakan atau miss pada
rangkaian karakter hasil encoding-nya. Pada
kasus tersebut, proses pengklasifikasian hanya
dapat mengandalkan informasi yang terdapat
pada header email dan metadata yang
disertakan.
4. Tokenisasi
Tahapan terakhir dari pemrosesan email
adalah tokenisasi. Tokenisasi adalah proses
memotong teks menjadi bagian-bagian yang
disebut dengan token. Selain pemotongan,
tokenisasi juga mungkin diikuti dengan proses
pembuangan
karakter-karakter
tertentu
(Manning et al. 2008).
Proses
berikut:

tokenisasi

dilakukan

sebagai

 Teks dipotong menjadi token-token.
Karakter yang dianggap sebagai karakter
pemisah token didefinisikan dengan
ekspresi regular berikut:
/[\s.;,\"':?{}\[\]()%=+\/*&@_-]+/

 Token yang hanya terdiri atas karakter
numerik saja tidak ikut disertakan.
 Besar kecilnya karakter dari token (case)
dipertahankan.
Tidak
dilakukan
penyeragaman.
 Karakter khusus yang menempel pada
token dan tidak termasuk ke dalam
karakter
pemisah
token
juga
dipertahankan.
 Karakter ‗~‘, ‗|‘ dan ‗!‘ yang menempel di
awal token dibuang.
 Karakter ‗#‘ dan ‗$‘ yang menempel di
akhir token dibuang.
Jika
email
yang
sedang
dibaca
mengandung tag HTML, seluruh tag yang
ditemukan akan ikut diproses termasuk
attribute yang terdapat di dalamnya. Tag
komentar HTML tidak akan diproses sama
sekali dan dibuang terlebih dahulu sebelum
keseluruhan proses tokenisasi dimulai.
Khusus untuk URL (Uniform Resources
Locator), proses tokenisasi dilakukan sebelum
proses tokenisasi pada body atau komponen
header email dilakukan. Keberadaan URL
pada masing-masing komponen email akan
diperiksa terlebih dahulu. Jika ternyata ada,
URL akan diekstrak dari teks dan ditokenisasi
seperti aturan di atas. Perbedaannya, token-

token yang dihasilkan akan diberi prefix
‗URL*‘ untuk menandai bahwa token tersebut
berasal dari suatu URL dan tidak bercampur
dengan token-token biasa. Proses ini disebut
dengan proses optimasi URL dan diduga dapat
meningkatkan kinerja dari spam filter
(Graham 2002).
Untuk komponen header, token-token
yang dihasilkan akan diberi prefix khusus
(seperti
halnya
pada
URL)
untuk
membedakannya dengan token biasa yang
terdapat pada body. Sebagai contoh, jika suatu
email memiliki subject ―Hello There‖, maka
token-token yang terdapat pada subjek
tersebut
akan
ditokenisasi
menjadi
―SUBJECT*Hello‖ dan ―SUBJECT*There‖.
Berdasarkan hasil pengamatan mayoritas
email yang mengandung tag HTML adalah
email spam. Kode-kode warna seperti
#FF0000 hanya ditemukan pada email spam.
Begitu pula dengan alamat URL, hampir
seluruh pesan spam yang ada pada data uji
mencantumkan
informasi
URL untuk
dikunjungi oleh penerima.
Hasil Pengujian Metode Training
1. Tingkat Akurasi
Pengujian metode training dilakukan
dengan cara memasangkan kedua metode
tersebut pada spam filter yang menggunakan
metode klasifikasi NB Graham.
Pada metode TEFT, seluruh email yang
dibaca akan di-training ke dalam kelas yang
benar setelah hasil dari klasifikasi diperoleh.
Proses training ini dilakukan tanpa
mempedulikan apakah hasil klasifikasinya
benar atau salah. Pada metode TOE, proses
training hanya akan dilakukan jika terjadi
kesalahan klasifikasi.
Jumlah False Positive dan False Negative
per 7.500 kali pengujian beserta Ham Recall
dan Spam Recall dapat dilihat pada Tabel 4.
Tabel 4 Hasil pengujian metode training
menggunakan teknik klasifikasi
Graham

False Positive
False Negative
Spam Recall
Ham Recall

TEFT

TOE

74
50
0,9786
0,9856

475
67
0,9714
0,9079

10

Grafik perbandingan nilai spam recall dan
ham recall dari kedua metode training dapat
dilihat pada Gambar 1.

tersebut. Jika ternyata terjadi kesalahan pada
hasil klasifikasi sistem, proses penilaian pesan
selanjutnya akan ikut dipengaruhi oleh data
training yang sudah terlanjur dimasukkan ke
dalam kelas yang salah tersebut.
2. Waktu Pelatihan

Gambar 1 Hasil pengujian metode training.

Karena proses training dilakukan untuk
seluruh
email
yang
masuk,
TEFT
membutuhkan waktu pengujian lebih lama
dibandingkan dengan TOE. Hasil pengujian
menunjukkan TEFT menghabiskan waktu
sekitar 18% lebih lama dibandingkan dengan
TOE. Dengan demikian, meskipun TOE
memiliki tingkat akurasi yang lebih rendah
dibandingkan
dengan
TEFT,
waktu
pemrosesan yang dilakukan oleh TOE lebih
sebentar.

Hasil pengujian menggunakan metode NB
Graham menunjukkan metode training TEFT
memiliki tingkat akurasi yang lebih tinggi
dibandingkan dengan metode training TOE.
Perbedaan akurasi tersebut disebabkan oleh
lebih banyaknya proses training yang
dilakukan oleh metode TEFT dibandingkan
dengan metode TOE.

Perbedaan waktu antara kedua metode
training ini dapat dibandingkan dengan
perbedaan spam recall dan ham recall-nya
untuk mengetahui seberapa besar peningkatan
kinerja yang didapat untuk setiap tambahan
waktu proses. Untuk spam recall, peningkatan
kinerja per satuan waktu
dapat dihitung
dengan cara:

Proses training yang lebih banyak
membuat metode TEFT menyimpan informasi
yang lebih akurat mengenai karakteristik
token-token dari kelas spam maupun ham
dalam data hasil training-nya. Untuk spam
recall, perbedaan nilainya hanya sebesar
0,0072, namun untuk ham recall perbedaan
nilai antara kedua metode training tersebut
cukup tinggi yaitu 0,0777.
Nilai ham recall berhubungan dengan
tingkat false positive. Pada spam filter, cost
dari false positive lebih tinggi dibandingkan
dengan cost dari false negative. Berdasarkan
petimbangan tersebut perbedaan tingkat
akurasi
ini
cukup signifikan
untuk
dipertimbangkan.
Perlu diperhatikan bahwa pada sistem yang
sebenarnya koreksi hasil klasifikasi tidak
dilakukan seketika seperti pada pengujian ini.
Kelas yang benar dari setiap email tidak akan
diketahui oleh sistem kecuali pengguna
melakukan koreksi. Untuk itu baik TEFT
maupun TOE akan mengasumsikan bahwa
hasil klasifikasi dari sistem merupakan hasil
yang benar. Hal ini akan berpengaruh terhadap
proses klasifikasi terutama pada TEFT.
Pada metode TEFT, setiap email yang
masuk akan di-training sebagai data untuk
kelas yang dianggap benar oleh sistem

=




dengan
adalah nilai spam recall dan �
adalah persentase perbedaan waktu yang
dihabiskan oleh kedua metode training.
Dengan cara yang sama, peningkatan ham
recall
untuk masing-masing metode
training dapat dihitung dengan cara:
=




dengan
adalah nilai ham recall untuk
masing-masing metode training.
Mengganti metode training TOE menjadi
TEFT sama halnya dengan menggunakan
metode training yang lebih lambat untuk
mendapatkan peningkatan akurasi. Dengan
perhitungan di atas, didapat bahwa
penggunaan metode TEFT dibandingkan
dengan TOE akan meningkatkan spam recall
( ) sebesar 0,0004 atau 0,04% untuk setiap
1% penambahan waktunya. Sementara untuk
ham recall, peningkatan akurasi yang
didapatkan adalah sebesar 0,0043 atau 0,43%
untuk setiap 1% penambahan waktunya.
Perlu diperhatikan bahwa pada sistem yang
sebenarnya data hasil training disimpan dalam
file atau database dan email yang harus
diproses bisa menjadi sangat banyak. Oleh
11

karena itu, baik perbedaan waktu maupun
perbedaan akurasi antara TOE dan TEFT bisa
menjadi sangat signifikan. Metode training
mana yang lebih baik harus disesuaikan
dengan lingkungan implementasinya. Jika
waktu dan resource yang dibutuhkan untuk
proses training termasuk dalam faktor yang
cukup dipertimbangkan, TOE yang hanya
melakukan proses training seperlunya
memiliki keunggulan tersendiri dibandingkan
dengan TEFT dalam hal penggunaan
resources.
Hasil Pengujian Metode Klasifikasi
Proses pengujian metode klasifikasi
dilakukan dengan menggunakan mode
training TEFT. Jumlah false positive dan false
negative per 7.500 kali pengujian beserta nilai
ham recall dan spam recall dapat dilihat pada
Tabel 5.

Gambar 2 Hasil
pengujian
metode
klasifikasi menggunakan metode
training TEFT.

Tabel 5 Hasil pengujian metode klasifikasi
dengan metode training TEFT

NB
Graham

NB
Multinomial

False Positive

475

117

67

55

Tabel 6 Hasil pengujian metode klasifikasi
dengan mode training TOE

NB
Graham

NB
Multinomial

False Positive

74

70

False
Negative

False
Negative

50

67

Spam Recall

0,9714

0,9765

Spam Recall

0,9786

0,9615

Ham Recall

0,9079

0,9773

Ham Recall

0,9714

0,9864

Grafik perbandingan nilai spam recall dan
ham recall dari pengujian kedua metode
klasifikasi menggunakan metode training
TEFT dapat dilihat pada Gambar 2.

Grafik perbandingan nilai spam recall dan
ham recall dari pengujian kedua metode
klasifikasi menggunakan metode training
TOE dapat dilihat pada Gambar 3.

Hasil pengujian menggunakan mode
training TEFT menunjukkan bahwa metode
NB Graham memiliki spam recall lebih tinggi
daripada metode NB Multinomial dengan
perbedaan nilai sebesar 0,0171. Hasil
sebaliknya terlihat pada ham recall dimana
metode NB Multinomial memiliki nilai yang
lebih tinggi dengan perbedaan nilai sebesar
0,0150.
Pada pengujian selanjutnya dengan
menggunakan metode training TOE, hasil
yang diperoleh ternyata sedikit berbeda seperti
yang dapat dilihat pada Tabel 6.

Gambar 3 Hasil
pengujian
metode
klasifikasi menggunakan metode
training TOE.
Pengujian dengan metode training TOE
menunjukkan bahwa metode klasifikasi NB
Multinomial memiliki spam recall dan ham
12

recall yang lebih tinggi dibandingkan dengan
metode NB Graham dengan perbedaan
masing-masing sebesar 0,0051 dan 0,0694.

mengimbangi token-token spam yang ada.
Akibatnya, terjadi false positive dalam proses
filtering yang dilakukan.

Sementara nilai hasil pengujian yang lain
menurun pada saat digunakan metode TOE,
hasil yang berbeda terlihat pada tingkat spam
recall. NB Multinomial yang dipasangkan
dengan metode training TOE ternyata
menghasilkan nilai spam recall yang lebih
baik dibandingkan dengan saat dipasangkan
pada metode training TEFT.

Walaupun hal ini juga akan menjadi
masalah bagi NB multinomial, metode
Graham akan terkena dampak yang cenderung
lebih besar. Hal ini disebabkan oleh cara kerja
metode Graham yang hanya memilih 15 token
paling signifikan (paling jauh nilai dari
peluang netral 0,5). Meski token spam yang
ditemukan hanya berjumlah beberapa buah,
nilai
�� |
yang tinggi akan
mengakibatkan peringkat token tersebut
merangkak naik sampai menembus peringkat
15 besar. Jika kondisi ini tidak diikuti dengan
keberadaan
token-token
dengan
nilai
� | yang juga tinggi, proses klasifikasi
akan didominasi oleh token-token spam
tersebut.

1. Analisis Kesalahan
(False Positive)

Pengenalan

Ham

Meskipun dalam proses klasifikasinya
metode NB Graham mengalikan jumlah
kemunculan token pada kelas ham dengan
faktor dua, ternyata tingkat ham recall-nya
masih lebih rendah dibandingkan dengan ham
recall dari metode NB Multinomial. Pada saat
pengujian dengan metode training TOE,
jumlah false postive yang dihasilkan metode
Graham bahkan mencapai empat kali lipat dari
jumlah false positive NB Multinomial.
Lebih rendahnya ham recall dari metode
NB Graham disebabkan oleh pemberian nilai
0,99 untuk token yang hanya pernah muncul
di kelas spam. Dalam menentukan hasil
klasifikasi, metode NB Graham hanya
menggunakan lima belas token yang paling
signifikan saja. Seberapa signifikan suatu
token dilihat dengan melihat selisih nilai
peluang token tersebut dengan nilai peluang
netral 0,5. Jika email dari kelas ham
mengandung token-token yang hanya muncul
di kelas spam saja, proses klasifikasi akan
didominasi oleh token-token spam karena
token dengan peluang 0,99 memiliki selisih
yang tinggi dari peluang netral 0,5.
Walaupun demikian, false positive juga
cukup banyak terjadi pada metode NB
multinomial. Selanjutnya akan dibahas
karakteristik-karakteristik
email
yang
menyebabkan false positive.
a. Email ham yang mengandung tag HTML
Jenis pertama email ham yang salah
diklasifikasikan
adalah
email
yang
mengandung token-token berpeluang spam
tinggi seperti tag HTML beserta atributnya.
Karakteristik seperti ini banyak ditemukan
pada email yang berjenis newsletter. Karena
data uji yang digunakan tidak memiliki email
newsletter dalam jumlah yang cukup, tokentoken ham pada email tersebut tidak memiliki
nilai
� |
yang signifikan untuk

Solusi yang dapat digunakan untuk
mengatasi persoalan ini adalah pemilihan tag
HTML yang dicatat pada saat training.
Menurut Zdziarski (2005), tag HTML yang
terlalu umum seperti table, tr, td, div,dan p
tidak perlu ikut dicatat kemunculannya.
Dengan demikian, email ham yang kebetulan
memang menggunakan tag HTML tidak akan
langsung dianggap sebagai spam.
b. Newsletter resmi
bertema promosi.

yang

memiliki

isi

Selain pengaruh tag HTML, false positive
juga banyak dipengaruhi oleh isi dari emailnya
itu sendiri. Meskipun newsletter dikirimkan
dengan seizin penerimanya, isi dari newsletter
tersebut seringkali berbau promosi dan
menggunakan kata-kata yang digunakan pada
email spam. Pada kasus seperti ini, baik
metode Graham maupun metode NB
multinomial sama-sama mengalami kesulitan
dalam menentukan kelas yang benar.
c. Email ham yang memiliki beberapa format
alternative.
Jenis email ham selanjutnya yang
seringkali salah diklasifikasi adalah email
yang menggunakan format
multipartalternative. Format ini memungkinkan email
dikirimkan