BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab...

47
39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis algoritma Naive Bayes Classifier dan pendekatan statistikal sebagai pendeteksi spam. Mulai dari pendeskripsian pemodelan spam filter umum, penjelasan pendekatan statistikal, analisis kaitan algoritma Naive Bayes Classifier dan pengklasifikasian, penggabungan algoritma Naive Bayes Classifier dan pendekatan statistikal, proses penentuan variabel – variabel input dan output, serta spesifikasi proses rekayasa aplikasi pendeteksi spam, dan rancangan – rancangan dari aplikasi tersebut, mulai dari rancangan diagram, rancangan layar, rancangan database dan spesifikasi rancangan modul. 3.1. Analisis Model Spam Filter Umum Algoritma yang digunakan oleh sebagian besar penyedia layanan e-mail sebagai pendeteksi spam bagi mailbox pengguna layanan mereka adalah algoritma blacklisting, whitelisting, greylisting, ataupun kombinasi dari ketiga algoritma diatas. 3.1.1. Blacklisting Blacklisting adalah metode meminimalisasi jumlah spam dengan mengantisipasi spam baru yang masuk kedalam mailbox pengguna. Blacklisting sendiri sebenarnya adalah sebuah daftar yang berisikan IP address dari pengirim spam yang telah dilaporkan oleh pengguna. Selanjutnya, setiap pesan baru masuk ke mailbox

Transcript of BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab...

Page 1: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

39

BAB 3

ANALISIS DAN PERANCANGAN

Pada bab ini akan diuraikan analisis algoritma Naive Bayes Classifier dan

pendekatan statistikal sebagai pendeteksi spam. Mulai dari pendeskripsian

pemodelan spam filter umum, penjelasan pendekatan statistikal, analisis kaitan

algoritma Naive Bayes Classifier dan pengklasifikasian, penggabungan algoritma

Naive Bayes Classifier dan pendekatan statistikal, proses penentuan variabel –

variabel input dan output, serta spesifikasi proses rekayasa aplikasi pendeteksi spam,

dan rancangan – rancangan dari aplikasi tersebut, mulai dari rancangan diagram,

rancangan layar, rancangan database dan spesifikasi rancangan modul.

3.1. Analisis Model Spam Filter Umum

Algoritma yang digunakan oleh sebagian besar penyedia layanan e-mail sebagai

pendeteksi spam bagi mailbox pengguna layanan mereka adalah algoritma

blacklisting, whitelisting, greylisting, ataupun kombinasi dari ketiga algoritma

diatas.

3.1.1. Blacklisting

Blacklisting adalah metode meminimalisasi jumlah spam dengan mengantisipasi

spam baru yang masuk kedalam mailbox pengguna. Blacklisting sendiri sebenarnya

adalah sebuah daftar yang berisikan IP address dari pengirim spam yang telah

dilaporkan oleh pengguna. Selanjutnya, setiap pesan baru masuk ke mailbox

Page 2: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

40

pengguna tersebut, algoritma blacklisting akan mencocokkan IP address pengirim

pesan tersebut dengan daftar, apabila IP address pengirim ternyata terdapat didalam

daftar, maka pesan itu akan diidentifikasikan sebagai spam dan ditindaklanjuti oleh

perintah selanjutnya (misalnya memindahkan pesan yang dicurigai tersebut ke

tempat khusus yang biasa disebut spambox), jika tidak maka pesan akan diteruskan

menuju mailbox pengguna.

Kelemahan algoritma tersebut adalah algoritma Blacklisting hanya dapat dilatih

melalui inputan pengguna tersebut, jadi kelemahannya adalah pengguna harus benar

– benar sadar atas keadaan mailbox-nya sendiri dan harus konstan melaporkan spam

baru agar daftar blacklist dapat diperbaharui. Ditambah lagi adanya kemungkinan

kesalahan pendeteksian, mungkin sang pengirim spam terinfeksi oleh e-mail worms

dan mengirimkan e-mail spam secara otomatis tanpa sepengetahuannya.

3.1.2. Whitelisting

Sebenarnya prinsip whitelisting kurang lebih sama dengan blacklisting pada

dasarnya, hanya saja bersifat terbalik. Pada whitelisting, daftar yang dibuat adalah

daftar yang berisi IP address pengirim yang dianggap tidak berbahaya atau pengirim

non-spam. Daftar ini secara umum didapatkan dari fitur buku alamat (address book)

pengguna, ditambah alamat tujuan dari semua pesan yang dikirimkan oleh

pengguna.

Page 3: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

41

Kelemahan dari metode ini adalah pengguna harus sesering mungkin

memperbaharui buku alamat mereka jika ingin menerima pesan dari teman yang

belum terdaftar di buku alamat. Selain itu, masih besar kemungkinan menerima

spam dari e-mail worms yang menjangkiti salah satu akun di buku alamat.

3.1.3. Greylisting

Greylisting adalah satu metode lagi yang merupakan campuran dari metode

blacklisting dan whitelisting. Pada greylisting, daftar IP address yang dimuat adalah

semua IP address yang memiliki tingkat kecurigaan spam. Jadi, dalam greylisting,

tidak ada vonis pasti bahwa sebuah IP address akan selalu mengirimkan spam,

melainkan hanya praduga bahwa IP address tersebut berpotensi untuk mengirimkan

spam.

Karena metode greylisting ini kurang kompleks dan hanya bersifat sebagai

pelengkap, maka biasanya metode greylisting diintegrasikan kedalam metode lain,

seperti blacklisting ataupun whitelisting, atau tidak digunakan sama sekali.

3.1.4. Hybrid

Setelah melihat tiga metode diatas dan menganalisa kelemahannya masing – masing,

maka muncullah keinginan untuk memadukan berbagai metode diatas menjadi satu.

Metode kombinasi adalah penggunaan dua atau lebih dari metode blacklisting,

whitelisting, dan greylisting secara bersama - sama. Metode kombinasi inilah yang

sampai sekarang masih populer di kalangan penyedia layanan e-mail. Jadi, tiap akun

Page 4: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

42

pengguna diperkokoh oleh tiga buah daftar yang akan mengecek pengirim setiap

pesan yang masuk.

Metode kombinasi dapat dinilai sebagai metode penyaring spam yang paling efektif

dari semua metode yang ada diatas, namun belum berarti telah menjawab semua

kebutuhan pengguna dan dianggap mampu menjawab problem spam ini.

Kelembahan dari metode kombinasi sekaligus tiga metode diatasnya adalah semua

metode diatas sangat bergantung pada alamat pengirim, bukan pada pesan yang

dikirim. Selain itu, semua metode diatas hanya dapat berjalan melalui satu cara,

yaitu melalui umpan balik dari pengguna itu sendiri atau user feedback.

3.1.5. Variabel Model Spam Filter Umum

Pada model spam filter umum, proses penentuan variabel sangatlah sederhana

karena bagian e-mail yang perlu diverifikasi adalah alamat pengirim. Alamat

pengirim pesan disimpan dalam satu variabel dan dicocokkan kedalam daftar yang

telah dibuat sesuai dengan tujuan pencocokan (pencarian dalam blacklist, whitelist,

atau greylist). Setelah didapatkan hasil proses pencarian tadi, variabel kembali

dikosongkan, siap menampung alamat pangirim berikutnya.

Page 5: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

43

3.1.6. Diagram Model Spam Filter Umum

Gambar 3.1. Diagram Model Spam Filter Umum

Page 6: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

44

3.1.7. Kelemahan Model Spam Filter Umum

Setelah menganalisis model spam filter umum diatas secara cermat, dapat kita

simpulkan bahwa model spam filter umum sangat berfokus pada pengirim pesan,

bukan kepada isi pesan itu sendiri.

Beberapa kelemahan yang dimiliki oleh model spam filter umum adalah model spam

filter umum tidak memiliki cara pelatihan selain melalui umpan balik pengguna

(user feedback). Dengan kata lain, model spam filter umum hanya dapat menjalani

proses pelatihan yang terawasi (supervised training).

Selain itu, pengklasifikasian sangat bergantung pada pengirim pesan, bukan terhadap

pesan itu sendiri yang dapat mengakibatkan kesalahan pengklasifikasian yang cukup

besar. Kesalahan klasifikasi dapat ditemui apabila pengirim pesan adalah akun yang

telah dijangkiti oleh e-mail worms atau spambot, daftar blacklist akan memblok

seluruh pesan yang diterima dari akun tersebut, walaupun akun tersebut

mengirimkan pesan yang sesungguhnya. Akibatnya adalah pesan tadi dimasukkan

kedalam spambox atau mungkin dapat saja dihapus oleh pengguna tanpa sengaja

saat mengosongkan spambox-nya.

Page 7: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

45

3.2. Analisis Algoritma

Pada bagian ini kami akan melakukan analisis terhadap algoritma yang akan

digunakan untuk melakukan klasifikasi terhadap pesan e-mail yang masuk. Faktor –

faktor yang menjadi prioritas pemilihan algoritma adalah kecepatan eksekusi,

kecepatan pelatihan, tingkat akurasi, dan kompleksitas masalah. Sedangkan

algoritma klasifikasi yang akan diuji adalah Naive Bayes Classifier, Support Vector

Machine, dan Modular Neural Network.

Naive Bayes Classifier

Memiliki kecepatan pelatihan yang paling tinggi , memiliki kecepatan eksekusi yang

tinggi pula. Tingkat akurasi tinggi apabila menghadapi problem yang sederhana,

namun tidak akurat saat digunakan untuk menghadapi problem yang kompleks. Dari

segi algoritma sendiri, Naive Bayes Classifier sangat sederhana dan gampang

diimplementasikan.

Support Vector Machine

Memiliki kecepatan pelatihan dan eksekusi yang rendah, kedua proses tersebut

memakan waktu yang lama. Tingkat akurasi sangat tinggi dan sangat efektif untuk

digunakan menghadapi berbagai jenis problem, baik yang sederhana maupun yang

kompleks.

Tetapi SVM memerlukan proses pelatihan secara terawasi, sangat sensitif terhadap

data yang penuh noise, serta fungsi dan parameter pada kernelnya perlu ditentukan

Page 8: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

46

secara manual dan sangat berpengaruh pada hasil. Dari segi algoritma sendiri, SVM

merupakan algoritma yang kokoh dan akurat, namun kurang efisien, dan lebih

kompleks untuk diimplementasikan.

Modular Neural Network

Modular Neural Network adalah salah satu non-linear classifier yang kokoh.

Mampu menghasilkan klasifikasi yang akurat berdasar pada fungsi dasarnya, juga

mampu menanggapi data ber-noise dengan baik. Waktu pengeksekusiannya juga

tergolong cepat. Sayangnya, MNN memerlukan watu pelatihan yang cukup lama dan

bekerja kurang baik pada problem – problem yang lebih kompleks. Algorirtma

MNN efektif namun lagi – lagi belum berhasil mengatasi kendala efisiensi.

Dari ketiga kandidat algoritma diatas, kami memutuskan untuk menggunakan

algoritma Naive Bayes yang terkesan sederhana namun mampu memberikan solusi

yang cukup akurat. Selain itu, algoritma Naive Bayes sangat efisien, baik dalam

waktu pelatihan maupun pengeksekusian yang kami anggap sangat cocok digunakan

untuk tugas klasifikasi pesan e-mail dimana efisiensi waktu menjadi salah satu

faktor penting.

Page 9: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

47

3.3. Metodologi Pengembangan

Setelah menganalisis model spam filter umum, sudah saatnya kita melangkah

kepada tahap selanjutnya yaitu tahap pengembangan spam filter. Pada tahap

pengembangan, dirancang sebuah model pengklasifikasi e-mail baru yang harus

memenuhi beberapa faktor kinerja seperti tingkat akurasi pengklasifikasian, waktu

pengeksekusian, serta tetap mengusung tema kesederhanaan yang mudah dimengerti

oleh penggunanya.

Deskripsi lebih detail dan sistematis dari rancangan model pengembangan spam

filter akan dibahas pada subbab kedepan.

Page 10: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

48

3.3.1. Diagram Model Pengembangan

Gambar 3.2. Diagram Model Pengembangan

Page 11: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

49

3.3.2. Tahap Pertama : Penerimaan Pesan

Pada tahap ini keseluruhan proses ditentukan oleh sistem pengiriman pesan yang

telah ditentukan oleh pengirim. Pengirim dapat menentukan metode pengiriman,

ataupun telah ditentukan oleh mail server pengirim. Setelah alamat penerima telah

diverifikasi, pesan akan dikirimkan dengan metode yang telah dipilih dan mail

server penerima akan menampung pesan.

Mail server penerima akan menerima pesan sesuai dengan metode pengiriman yang

telah ditentukan sebelumnya. Setelah menemukan alamat yang dituju dalam server-

nya, pesan tadi akan diteruskan kepada alamat tersebut.

Dalam proses ini, kami menggunakan Mercury Mail Server yang bertindak sebagai

simulasi mail server penerima maupun pengirim, dan menggunakan metode IMAP

sebagai metode pengiriman pesan.

3.3.3. Tahap Kedua : Parser

Tahap ini merupakan kelanjutan dari tahap pertama. Pada tahap kedua ini, pesan

yang diteruskan dari mail server tidak langsung ditempatkan pada inbox masing –

masing pengguna, tetapi diproses terlebih dahulu oleh sebuah algoritma parser

(penyaringan) yang berfungsi untuk mengumpulkan informasi mengenai pesan.

Page 12: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

50

Pada tahap kedua ini, header pesan yang masuk diambil tiap bagiannya yang berisi

alamat pengirim, alamat penerima, waktu pengiriman, dan judul pesan. Proses

pengambilan ini dilakukan dengan mengeksekusi sintaks PHP.

Setelah mengidentifikasi header pesan secara lengkap, proses pun berlanjut pada

tahap pengidentifikasian isi pesan (body) dari e-mail tersebut. Setiap kata dari isi

pesan dipisahkan dan dimasukkan kedalam satu string yang ditampung kedalam satu

array database. Misalnya kata ‘muda – mudi’ akan disimpan dalam 2 array yang

berisi ‘muda’ dan ‘mudi’.

Proses pengambilan tiap kata ini akan berfungsi pada tahap selanjutnya, yaitu tahap

klasifikasi yang akan mengenali pola tiap pesan yang masuk. Selain header dan

body dari sebuah pesan, bagian lain dari pesan tersebut diabaikan dan tidak

berpengaruh dalam tahap klasifikasi (misalnya lampiran berupa text, bitmap, atau

zip).

3.3.4. Tahap Ketiga : Klasifikasi

Tahap ini merupakan bagian terpenting dari model pengembangan ini. Tahap

klasifikasi adalah bagian dimana dilakukannya kalkulasi atas serangkaian kata yang

telah disimpan dalam database dengan pendekatan algoritma Naive Bayes dan

pendekatan statistikal.

Page 13: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

51

Pemilihan Naive Bayes Classifier sebagai algoritma pengklasifikasian adalah sebuah

proses riset yang tidak cukup kompleks. Saat mempertimbangkan faktor kecepatan

eksekusi, hasil riset membuktikan bahwa Naive Bayes Classifier merupakan

algoritma dengan waktu eksekusi tercepat dibanding algoritma klasifikasi yang lain.

Selain waktu eksekusi tercepat, algoritma Naive Bayes mampu melakukan dua

macam proses pelatihan, yang merupakan salah satu persyaratan terpenting yang

ingin dicapai dalam mengembangkan aplikasi pendeteksi spam. Ditambah lagi,

menurut hasil riset, Naive Bayes Classifier juga merupakan pemberi solusi terbaik

pada problem dunia nyata yang bersifat sederhana, yang mana sangat cocok dalam

kasus klasifikasi spam, dimana hanya ada dua kandidat hasil, yaitu spam atau bukan

spam. Ditambah lagi algoritma Naive Bayes dapat menyesuaikan diri dengan

karakteristik masing – masing pengguna, sehingga dapat menghasilkan sebuah filter

yang unik dan spesifik.

Satu – satunya kelemahan dari algoritma Naive Bayes adalah tingkat akurasi

pengklasifikasian yang hanya bersifat standar dibanding algoritma – algortima

lainnya. Walau hasil akurasi algoritma Naive Bayes tidak menempati urutan terbaik,

namun bukan berarti algoritma Naive Bayes memberikan hasil klasifikasi terburuk.

Algoritma Naive Bayes menemui berbagai keterbatasan saat dihadapkan pada

problem yang melibatkan banyak faktor karena tingkat independensi Naive Bayes

yang sangat tinggi, sehingga seringkali mengesampingkan variabel – variabel

tertentu dari proses kalkulasi yang membuatnya tidak cocok untuk digunakan dalam

proses klasifikasi yang kompleks.

Page 14: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

52

Untuk menunjang proses klasifikasi, ditambahkan juga pendekatan statistikal yang

disebut likelihood ratio, yang digunakan untuk membandingkan tingkat kemiripan

diantara dua kandidat solusi yang sama kuat dan sama tinggi tingkat probabilitas

terjadinya.

3.3.4.1. Model Probabilitas Naive Bayes

Secara abstrak, model probabilitas untuk sebuah classifier adalah sebuah model

persyaratan (conditional model).

Dari sebuah variable kelas yang dependan C, yang memiliki syarat berupa beberapa

variabel dari F1 hingga Fn . Permasalahannya adalah jika jumlah variabel n sangat

besar, maka mendasarkan model seperti ini pada tabel probabilitas menjadi kurang

feasible. Oleh karena itu, model tersebut diformulasikan ulang agar lebih gampang

dijejaki.

Menggunakan Teorema Bayes kita mendapati

Page 15: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

53

Dalam aplikasinya, kita hanya tertarik kepada pembagi dari persamaan diatas.

Karena bilangan pembagi tidak bergantung pada C dan nilai dari variabel Fi

diketahui, maka dapat kita katakan bahwa pembagi persamaan tersebut adalah

konstan. Model tersebut ekuivalen dengan model probabilitas gabungan (joint

probability model) berikut :

yang dapat ditulis kembali menggunakan probabilitas bersyarat (conditional

probability) menjadi

dan seterusnya. Sekarang asumsi kebebasan persyaratan (conditional independence)

mulai berperan. Asumsikan bahwa setiap variabel Fi independen untuk setiap Fj lain

dengan kondisi j tidak sama dengan i. Ini menandakan bahwa

dan model gabungannya dapat ditulis seperti ini

Page 16: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

54

Ini menandakan bahwa dalam asumsi independen diatas, distribusi bersyarat dari

kelas variable C dapat ditulis seperti ini

Dimana Z adalah faktor skala yang bergantung hanya pada yang

adalah konstan apabila nilai variabel tersebut diketahui.

Model dalam bentuk ini lebih dapat ditengarai, karena kelas utama p(C) dan

distribusi prbabilitas yang independen . Jika terdapat k jumlah kelas

dan jika sebuah model untuk p(Fi) dapat ditulis dalam parameter r, maka model

naive Bayes tersebut memiliki parameter sebanyak (k − 1) + n r k. Dalam

aplikasinya, sering digunakan k = 2 (klasifikasi biner) dan r = 1 (variabel Bernoulli),

sehingga jumlah parameter dari model naive Bayes tersebut menjadi 2n + 1, dimana

n adalah jumlah variabel biner yang digunakan untuk perkiraan.

Page 17: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

55

3.3.4.2. Implementasi Algoritma

Dengan menggunakan algoritma Naive Bayes Classifier dan pendekatan statistikal,

problem peng-klasifikasian dokumen dapat dimodelkan sebagai berikut.

Bayangkan bahwa dokumen – dokumen tersusun dari sejumlah kelas dokumen yang

dapat dimodelkan sebagai kumpulan kata dimana probabilitas kemunculan kata ke-i

dalam dokumen dari kelas C (disini diasumsikan bahwa probabilitas kemunculan

sebuah kata dalam dokumen tidak terkait dengan panjang sebuah dokumen, atau

diasumsikan semua dokumen sama panjang) dapat dituliskan

Kemudian probabilitas dari sebuah dokumen D saat diberikan kelas C adalah

Maka pertanyaan yang kita ingin cari jawabannya adalah seberapa besar probabilitas

sebuah dokumen D tergolong kedalam kelas C.

Menggunakan aksioma probabilitas kita dapatkan

Page 18: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

56

dan

Teorema Bayes kemudian mengubah rumus diatas menjadi pernyataan probabilitas

dalam konteks kesamaan.

Asumsikan bahwa hanya terdapat dua kelas, S (spam) dan ¬S (bukan spam).

dan

Menggunakan hasil dari Teorema Bayes diatas, dapat kita tuliskan :

Page 19: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

57

Dengan membagi satu dengan yang lain, kita dapatkan :

Yang dapat difaktorkan ulang sebagai :

Dengan demikian, probabilitas rasio dari p(S | D) / p(¬S | D) dapat diekspresikan

dalam bentuk – bentuk rasio kemiripan (likelihood ratios). Probabilitas sebenarnya

dari p(S | D) dapat dengan mudah dihitung dari log p(S | D) / p(¬S | D) berdasarkan

hasil observasi bahwa p(S | D) + p(¬S | D) = 1.

Dengan menghilangkan logaritma dari rasio – rasio tersebut, kita dapatkan :

Page 20: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

58

(teknik ‘log-likelihood ratios’ adalah sebuah teknik yang umum digunakan dalam

statistika. Dalam kasus dua alternatif yang saling berpotensi satu sama lain, seperti

dalam kasus ini, konversi dari sebuah log-likelihood ratios menghasilkan sebuah

bentuk kurva sigmoid.)

Pada tahap akhir, dokumen dapat diklasifikasikan sebagai spam apabila

3.3.4.3. Contoh Kasus

Sebuah e-mail diterima oleh spam filter berisi pesan sebagai berikut : “Hitung spam

atau bukan“. Berikut adalah total ditemukannya masing – masing kata pada database

spam : kata ‘hitung’ 10 kali ditemukan, kata ‘spam’ 5 kali ditemukan, kata ‘atau’ 5

kali ditemukan, dan kata ‘bukan’ 15 kali ditemukan. Dan selanjutnya adalah total

dietmukannya masing – masing kata pada database ham : kata ‘hitung’ 15 kali

ditemukan, kata ‘spam’ 15 kali ditemukan, kata ‘atau’ 20 kali ditemukan, dan kata

‘bukan’ 25 kali ditemukan.

Jika total pesan yang telah diterima spam filter adalah 100 pesan, total spam yang

diterima spam filter adalah 70 pesan, dan total ham (pesan tak berbahaya) adalah 30

Page 21: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

59

pesan. Kategorikan pesan diatas sebagai spam / tidak menggunakan algoritma yang

telah diberikan !

Penyelesaian

Identifikasi tiap variabel yang akan digunakan terlebih dahulu.

p(S) = 70/100 p(¬S) = 30/100

p(w1 | S) = 10/70 p(w1 | ¬S) = 15/30

p(w2 | S) = 5/70 p(w2 | ¬S) = 15/30

p(w3 | S) = 5/70 p(w3 | ¬S) = 20/30

p(w4 | S) = 15/70 p(w4 | ¬S) = 25/30

Setelah mengidentifikasi tiap variabel, substitusikan tiap variabel kedalam

Hingga didapat hasil sebagai berikut

∑ i p(wi | S) = ln 0,14285 + ln 0,07142 + ln 0,07142 + ln 0,21428 = -8,76447

∑ i p(wi | ¬S) = ln 0,5 + 0,5 + ln 0,66666 + ln 0,83333 = -1,97408

ln p(S/D) / p(¬S/D) = ln (0,7 / 0,3 ) + (-8,76447 – (-1,97408) )

Page 22: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

60

= ln 2,33333 + (-6,79039) = 0,84729 - 6,79039

= -5,9431

Setelah didapatkan hasil akhir, nilai tersebut dicocokkan dengan sifat berikut untuk

melakukan proses klasifikasi

Karena -5,9431 < 0 maka dokumen tersebut diklasifikasikan sebagai bukan spam.

3.3.5. Tahap Keempat : Training dan Update

Setelah proses klasifikasi selesai, tahap terakhir dari model pengembangan ini

adalah tahap training dan update. Pada tahap ini tiap string pada pesan yang telah

selesai diklasifikasikan dimasukkan kedalam database sesuai dengan hasil

klasifikasi. Apabila pesan diklasifikasikan sebagai spam, maka tiap kata yang

terdapat pada pesan tersebut akan dimasukkan kedalam database sebagai kata baru

apabila kata tersebut belum ada dalam database spam, atau occurence dari kata

tersebut akan ditambahkan apabila kata tersebut telah ada dalam database spam.

Begitu pula sebaliknya apabila pesan diklasifikasian sebagai ham (pesan bukan

spam), maka semua kata yang terdapat dalam pesan tersebut akan dimasukkan

kedalam database ham apabila kata tersebut belum ada atau ditambahkan tingkat

occurence-nya apabila kata tersebut telah dijumpai dalam database ham.

Page 23: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

61

Dengan cara ini, spam filter dapat mempelajari pola baru ataupun memperkuat pola

yang telah ada sebelumnya baik dalam proses klasifikasi spam maupun klasifikasi

ham. Semakin besar tingkat occurence dari sebuah kata, maka makin besar peran

kata tersebut dalam menentukan hasil klasifikasi. Dengan cara ini pulalah spam filter

dapat dilatih untuk mengenali karakteristik pengguna yang berbeda – beda dan

beradaptasi sesuai dengan kepribadian penggunanya.

3.4. Perancangan Aplikasi

Pada tahap ini akan dideskripsikan proses rekayasa aplikasi, yaitu perekayasaan

sebuah MUA (mail user agent) atau biasa disebut mail client. Mail client hasil

rekayasa bersifat online dan mampu menjalankan fungsi – fungsi dasar mail client

pada umumnya.

Termasuk dalam bagian ini adalah deskripsi proses perancangan diagram,

perancangan database, rancangan layar, dan modul – modul yang terdapat pada

aplikasi.

3.4.1. Perancangan Diagram

Berikut adalah rancangan diagram proses dan STD (state transition diagram) yang

akan diimplementasikan pada tahap rekayasa aplikasi.

Page 24: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

62

3.4.1.1. Diagram Rancangan Aplikasi

Gambar 3.3 – Diagram Rancangan Aplikasi

Page 25: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

63

3.4.1.2. STD Modul Login

Gambar 3.4 – State Transition Diagram Login

Page 26: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

64

3.4.1.3. STD Modul Inbox

Page 27: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

65

3.4.1.4. STD Modul Spambox

Page 28: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

66

3.4.1.5. STD Modul Trashbox

Page 29: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

67

3.4.1.6. STD Modul Compose

3.4.1.7. STD Modul Settings

Page 30: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

68

3.4.1.8. STD Modul Stats

Page 31: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

69

Gambar 3.10 – State Transition Diagram Stats

Page 32: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

70

3.4.1.9. STD Modul Training

Gambar 3.11 – State Transition Diagram Training

Page 33: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

71

3.4.2. Rancangan Layar

Berikut adalah rancangan – rancangan layar dari aplikasi spam filter yang akan

direkayasa.

3.4.2.1. Rancangan Layar Login

Gambar 3.12. - Rancangan Layar Login

Page 34: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

72

3.4.2.2. Rancangan Layar Inbox

Gambar 3.13. - Rancangan Layar Inbox

Page 35: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

73

3.4.2.3. Rancangan Layar Spambox

Gambar 3.14. - Rancangan Layar Spambox

Page 36: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

74

3.4.2.4. Rancangan Layar Trashbox

Gambar 3.15. - Rancangan Layar Trashbox

Page 37: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

75

3.4.2.5. Rancangan Layar Compose

Gambar 3.16. - Rancangan Layar Compose

Page 38: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

76

3.4.2.6. Rancangan Layar Settings

Gambar 3.17. - Rancangan Layar Settings

Page 39: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

77

3.4.2.7. Rancangan Layar Stats

Gambar 3.18. - Rancangan Layar Stats

Page 40: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

78

3.4.2.8. Rancangan Layar Closure

Gambar 3.19. Rancangan Layar Stats

Page 41: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

79

3.4.3. Perancangan Database

Pada bagian ini, akan dideskripsikan tabel – tabel database yang akan digunakan

beserta field – field yang ada didalamnya. Perancangan database juga menunjukkan

variabel – variabel yang akan digunakan pada spepisifakasi proses.

3.4.3.1. Stats Database

Primary Key : User

Tabel 3.1. stats Database

Nama Field Tipe Data Ukuran Keterangan

User varchar 175 Username yang menggunakan inbox.

TotalMsg bigint 20 Jumlah seluruh pesan yang diterima oleh pengguna.

HamCount bigint 20 Jumlah seluruh ham yang diterima oleh pengguna.

SpamCount bigint 20 Jumlah seluruh spam yang diterima oleh pengguna.

FalseP bigint 20 Jumlah kesalahan pengklasifikasian spam.

FalseN bigint 20 Jumlah kesalahan pengklasifikasian ham.

LastUpdate timestamp Jejak waktu terakhir statistik tersebut di-update.

Page 42: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

80

3.4.3.2. Hamtoken Database

Primary Key : User, Token

Tabel 3.2. hamtoken Database

Nama Field Tipe Data Ukuran Keterangan

User varchar 175 Username yang melakukan training.

Token varchar 128 Kata yang dilatih.

Occurrences float Jumlah kata tersebut ditemukan dalam kelas spam.

LastUpdate timestamp Jejak waktu terakhir kata tersebut di-update.

3.4.3.3. Msgtype Database (Inbox)

Primary Key : User, MessageID

Tabel 3.3. msgtype Database

Nama Field Tipe Data Ukuran Keterangan

User varchar 175 Username yang menggunakan inbox.

MessageID varchar 75 Nomor pesan.

Type enum(spam,ham) Klasifikasi pesan.

LastUpdate timestamp Jejak waktu terakhir pesan tersebut di-update.

Page 43: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

81

3.4.3.4. Spamtoken Database

Primary Key : User, Token

Tabel 3.4. spamtoken Database

Nama Field Tipe Data Ukuran Keterangan

User Varchar 175 Username yang melakukan

training.

Token Varchar 128 Kata yang dilatih.

Occurrences Float Jumlah kata tersebut

ditemukan dalam kelas spam.

LastUpdate timestamp Jejak waktu terakhir kata

tersebut di-update.

3.4.4. Spesifikasi Proses

Dalam tahap ini, rancangan aplikasi yang telah disusun diimplementasikan dalam

bentuk pseudocode. Pseudocode akan dibagi berdasarkan modul – modul sesuai

dengan fungsi masing – masing.

3.4.4.1. Modul Login

Awal

Buka koneksi ke mail server

If (username tidak terdaftar)

Kembali ke layar login

Tampilkan pesan error “User is not registered”

Else If (username terdaftar tapi password salah)

Page 44: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

82

Kembali ke layar login

Tampilkan pesan error “Wrong password”

Else If (username dan password cocok)

Create session dengan username dan password tersebut

End If

If (mailbox TRASHBOX belum dibuat)

Buat mailbox TRASHBOX

End If

If (mailbox SPAMBOX belum dibuat)

Buat mailbox SPAMBOX

End If

If(mailbox SPAMTRAIN belum dibuat)

Buat mailbox SPAMTRAIN

End If

If (mailbox HAMTRAIN belum dibuat)

Buat mailbox HAMTRAIN

End If

If (file user config belum ada)

Buat file user config

End If

If (settingan “automatic check” diaktifkan dan settings “trained”

diaktifkan dan ada pesan di inbox)

Page 45: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

83

Cek semua mail di inbox, apakah spam atau bukan dan

lakukan training

End If

Tampilkan layar inbox

Akhir

3.4.4.2. Modul Pengecekan

Awal

Ambil “body” dan “subject” dari message

Parsing “body” dan “subject” dari message tersebut menjadi kata

Ambil data statistik dari tabel stats dari database

Ambil list dari token spam dari tabel spamtoken dari database

Ambil list dari token ham dari tabel hamtoken dari database

Hitung besar kemungkinan spam / ham

Train spam filter

If ( pesan = spam dan automove aktif)

Pindahkan message tersebut ke mailbox SPAMBOX

End If

Akhir

3.4.4.3. Modul Pelatihan

Awal

Masukkan message tersebut ke dalam tabel msgtype di database

Page 46: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

84

If (jenis message spam)

Masukkan list words yang baru ke dalam tabel spamtoken pada

database

End If

If (jenis message ham)

Masukkan list words yang baru ke dalam tabel hamtoken pada

database

End If

Update tabel stats pada database

If (spam terhitung > 0 dan ham terhitung > 0)

Update trained menjadi true

End If

Akhir

3.4.4.4. Modul Parser

Awal

Ganti tanda baca dengan “ “

Pecahkan isi pesan dan subject dari pesan menjadi huruf-huruf dengan

menggunakan RE dengan dipisahkan oleh spasi ataupun turun baris

Akhir

3.4.4.5. Modul Pelatihan Ulang

Awal

Page 47: BAB 3 ANALISIS DAN PERANCANGAN - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab3/2007-2-00065-IF-Bab 3.pdf · 39 BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini akan diuraikan analisis

85

Hapus isi tabel msgtype yang mengandung user yang bersangkutan

Hapus isi tabel hamtoken yang mengandung user yang bersangkutan

Hapus isi tabel spamtoken yang mengandung user yang bersangkutan

Hapus isi tabel stats yang mengandung user yang bersangkutan

Akhir

3.4.4.6. Modul Primary Key

Awal

Ambil header dari message

If (ada subject)

If (panjang subject > 15)

Ambil 15 huruf terdepan dari subject

End If

End If

If (ada from address)

Ganti ‘<’ dan ‘>’ dengan ‘(‘ dan ‘)’

End if

Gabungkan subject, from address, size, dan date dengan dipisahkan oleh ‘#’

menjadi message ID

If (panjang message ID > 73)

Ambil 73 huruf dari belakang dari message ID

End If

Akhir