ANALISA DAN PERANCANGAN SISTEM
Pada bab ini akan dibahas mengenai analisa dan perancangan dari sistem.
Analisa system dilakukan untuk menemukan solusi dari permasalahan yang telah diajukan sebelumnya. Perancangan system dilakukan untuk mendefinisikan kebutuhan perangkat lunak, pemodelan perangkat lunak dan tampilan perangkat lunak.
3.1 Analisa Sistem
Analisa sistem dilakukan dengan membagi 3 metode utama dalam proses email filtering ini, yaitu proses training, proses tokenizing dan proses combining atau proses pengkategorian e-mail dengan algoritma Bayesian yang merupakan fungsi utama dari perangkat lunak ini.
Sebelum user dapat memakai program untuk mengkategorikan e-mail secara otomatis dan memiliki false positives atau false negative yang minimal, user terlebih dahulu harus melakukan proses training dengan sejumlah mail. User juga dapat membuat ulang proses training apabila user sudah mempunyai referensi dari e-mail yang dikategorikan sebagai spam. Selain itu user dapat juga meng- update referensi dari e-mail sesuai keinginan user. Jika demikian, maka user harus memiliki atau menyimpan beberapa e-mail yang akan digunakan untuk proses
training. Token-token ini disimpan di dalam suatu tabel. Flowchart sistem secara keseluruhan dapat dilihat pada gambar 3.1 :
Gambar 3.1 Flowchart Utama Program Spam Filter
3.1.1 Proses Training
Proses training ini dilakukan pada saat awal program diinstalasi. Proses training dilakukan karena belum adanya token yang disimpan pada program yang dibuat. Proses training yang dilakukan pertama kali pada saat program tersebut baru pertama kali digunakan oleh user adalah untuk penyimpanan token-token baru yang digunakan untuk pengkategorian. Dan proses ini dilakukan pada saat
Good”.
3.1.2 Proses Tokenizing
Proses tokenizing ini dapat dilakukan pada body message, header message, kode-kode HTML dan gambar. Tokenizing pada body message dilakukan dengan mendeteksi spasi antar kata. Proses tokenizing adalah proses membuat daftar karakteristik kata-kata spam dan non-spam mail. Tokenizing pada header message dapat dilakukan dengan menghitung jumlah penerima message pada recipient (to/Cc) header. Sedangkan tokenizing pada kode HTML dapat dilakukan pada kode ”font”, ”table” atau ”background”. Tokenizing juga dapat dilakukan untuk menunjukkan bahwa message tanpa header subject, tanpa form address akan dikategorikan sebagai spam mail.
3.1.3 Proses Scoring
Ini adalah proses dimana token-token yang didapat, dihitung tiap-tiap probabilitasnya. Proses perhitungan diambil dari dalam tabel dan dihitung jumlah frekuensi kemunculan tiap satu token.
Proses scoring merupakan kelanjutan dari proses tokenizing. Setelah mail yang diterima dipisahkan menjadi beberapa token, maka setiap token akan diberi nilai atau disebut juga dengan metode scoring. Proses ini memberikan nilai pada setiap token yang telah diproses dengan proses tokenizing. Kemudian dilakukan proses training secara manual oleh user yang akan menentukan mail tersebut adalah spam mail atau legitimate mail. Score yang diberikan yaitu 0.99 untuk
spam murni dan 0.01 untuk ham murni. Apabila token terdapat pada spam mail, juga terdapat pada legitimate mail maka akan dilakukan proses perhitungan (scoring) sebagai berikut :
Score (%) = P(Spam) (P(Spam)+P(Ham))
Score (%) : probabilitas suatu kata “x” terdapat pada spam mail P Spam : jumlah spam mail dengan kata “x” di dalamnya P Ham : jumlah non-spam mail dengan kata “x” di dalamnya
Sedangkan P Ham didapat dari proses perhitungan berapa banyak token tersebut terdapat dalam ham mail, kemudian ditambahkan dibagi dengan berapa banyak ham mail yang ada. Dan apabila token tersebut tidak terdapat di dalam table (sebuah token baru) maka akan diberi nilai P sebesar 0.4. Proses ini dapat dilihat pada gambar 3.2 berikut :
Gambar 3.2 Flowchart set to spam mail
3.1.4 Proses Combining
Setelah proses tokenizing dan scoring dilakukan, kemudian dengan menggunakan algoritma Bayesian dilakukan proses combining. Metode combining adalah suatu rumus probabilitas yang digunakan untuk menghitung probabilitas-probabilitas token yang terdapat di dalam suatu mail. Setiap score yang terdapat pada token akan dihitung (combine) dan dirumuskan untuk menghasilkan suatu hasil antara 0% sampai dengan 100%. Setelah proses combining, dapat ditentukan apakah mail tersebut adalah spam mail atau legitimate mail berdasarkan hasil yang telah diperoleh. Proses ini mengambil 15 token yang memiliki nilai terjauh dari nilai netral (0.5) di dalam suatu mail.
Setelah mendapatkan 15 token tersebut maka dijalankan proses perhitungan dengan algoritma Bayesian. Hasil dari proses perhitungan inilah yang akan mengkategorikan apakah mail tersebut adalah suatu spam mail atau suatu ham mail. Hasil dari proses perhitungan ini akan dibandingkan dengan nilai threshold value yang terdapat di dalam program. Nilai dari threshold ditentukan oleh user.
Proses ini dapat dilihat pada gambar 3.3 berikut :
Gambar 3.3 Flowchart set to ham mail
3.2 Perancangan Sistem
Perancangan sistem dibagi menjadi beberapa bagian, yaitu pemodelan perangkat lunak menggunakan UML (Unified Modelling Language) berupa use case diagram, activity diagram dan sequence diagram kemudian perancangan user interface.
3.2.1 Use Case Diagram
Sebuah use case adalah situasi dimana sistem digunakan untuk memenuhi satu atau lebih kebutuhan pemakai. Use case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem dan menentukan nilai yang diberikan sistem kepada pemakainya.
Gambar 3.4 Use case Diagram
Berikut penjelasan dari masing – masing use case : 1. Add To Good
Proses ini dilakukan oleh user saat proses training atau ada kesalahan pengkategorian email dalam sistem. Proses ”Add to good” digunakan untuk memindahkan e-mail dari current folder ke dalam good folder dan mengkategorikan e-mail sebagai ham mail/good mail. Dalam proses “Add to good” dilakukan proses tokenizing dan proses scoring. Kemudian juga dilakukan proses penyimpanan ke dalam table token. Dimana good frekuensi dari token yang terdapat di dalam tabel ditambah dengan good frekuensi yang didapatkan dari dalam e-mail yang dikategorikan sebagai good mail
2. Add To Spam
Proses ini dilakukan oleh user saat proses training atau ada kesalahan pengkategorian email dalam sistem. Proses ”Add to spam” digunakan untuk memindahkan e-mail dari current folder ke dalam spam folder. Jadi dalam proses
“Add to spam” dilakukan proses tokenizing dan proses scoring. Kemudian dilakukan proses penyimpanan ke dalam tabel. Dimana spam frekuensi dari token yang terdapat dalam tabel ditambah dengan spam frekuensi yang didapatkan dari dalam e-mail yang dikategorikan sebagai spam mail.
4. Hunt Spam
Proses Hunt Spam terjadi saat user memilih untuk dilakukan pemilahan email dalam suatu folder ke spam folder. Dalam proses ”Hunt Spam” inilah semua proses seperti tokenizing, scoring dan combining digunakan untuk mengkategorikan e-mail. Proses ini juga akan menghasilkan hasil perhitungan dalam format persen(%). Hasil yang didapatkan dari proses combining tersebut yang akan menentukan apakah mail tersebut akan dikategorikan sebagai spam mail. Tetapi sebelum dikategorikan sebagai spam mail atau good mail, sebelumnya dilakukan proses pembandingan dengan spamlevel yang sudah ditentukan user pada form option. Spamlevel berisi nilai dari 0 sampai dengan 99%. Proses ”Hunt Spam” hanya dapat dilakukan pada folder-folder mail lain, selain spam folder.
3.2.2 Class Diagram
Identifikasi class dilakukan berdasarkan hasil analisis perangkat lunak.
Terdapat enam class pada perangkat lunak ini yaitu : ThisAddin, Corpus, SpamFilter, FormAnalysis, FormTokenTable, dan FormOption.
Gambar 3.5 Class Diagram