• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN PERANCANGAN SISTEM. Pada bab ini akan dibahas mengenai analisa dan perancangan dari sistem.

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB III ANALISA DAN PERANCANGAN SISTEM. Pada bab ini akan dibahas mengenai analisa dan perancangan dari sistem."

Copied!
21
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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 :

(6)

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.

(7)

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

(8)

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.

(9)

Gambar 3.5 Class Diagram

(10)

1. Class ThisAddin

Class ThisAddin merupakan class utama tempat semua fungsi - fungsi program berjalan.

class ini juga menyediakan hubungan dengan Microsoft Office Outlook, karena perangkat lunak ini akan berjalan dalam lingkungan Outlook.

2. Class Corpus

Class Corpus merupakan class yang berfungsi untuk menyimpan token - token beserta nilai kemunculannya dalam suatu email. program ini akan menyimpan token - token dalam email yang dapat dijadikan bahan perhitungan level dari nilai spam suatu email.

3. Class SpamFilter

Class SpamFilter merupakan class yang melakukan fungsi utama dari perangkat lunak ini, yaitu melakukan perhitungan nilai dari spam level suatu email. Class ini juga yang melakukan manajemen token yang merupakan instance dari class Corpus sebagai bahan perhitungan nilai spam level.

4. Class FormAnalysis

Class FormAnalysis merupakan class yang berfungsi untuk menampilkan informasi hasil analysis nilai spam level suatu email.

5. Class FormTokenTable

Class FormTokenTable merupakan class untuk menampilkan token - token beserta nilai

probabilitasnya yang digunakan oleh perangkat lunak sebagai bahan perhitungan nilai

spam level suatu email.

(11)

Class FormOption merupakan class untuk melakukan pengaturan terhadap perangkat lunak.

3.2.3 Activity Diagram

Aktifitas dari setiap use case yang telah digambarkan pada sub bab sebelumnya, dapat dijabarkan kedalam suatu activity diagram. Pada activity diagram, digambarkan alur dari proses yang terjadi dalam suatu use case.

1. Add To Good

Gambar 3.6 Activity Diagram Add To Good

(12)

“Add to Good” berfungsi untuk mengkategorikan e-mail sebagai ham mail. E- mail yang dipilih akan dipindah dari current folder ke dalam folder good. Pada saat proses ini dijalankan proses pengambilan token dari dalam tabel, kemudian pengambilan teks dari mail dan pengambilan token dari mail tersebut. Setelah itu token yang didapat diubah menjadi good token.

2. Add To Spam

Gambar 3.7 Activity Diagram Add To Spam

Add To Spam berfungsi untuk mengkategorikan e-mail sebagai spam mail. E-mail

yang dipilih akan dipindah dari current folder ke dalam folder spam. Pada saat proses

inilah dijalankan proses pengambilan token dari dalam tabel, kemudian pengambilan

(13)

diubah menjadi spam token.

3. Hunt Spam

Gambar 3.8 Activity Diagram Hunt Spam

”Hunt Spam” digunakan untuk mencari spam mail pada folder-folder yang ada

dan proses dari hunt spam ini tidak dapat dilakukan pada folder spam. Proses hunt spam

ini melakukan proses perhitungan yang akan menghasilkan suatu hasil yang akan

(14)

dibandingkan dengan spamlevel yang ada di dalam program. Apabila hasil perhitungan lebih besar dari spamlevel maka mail tersebut akan dikategorikan sebagai spam mail dan akan dipindah ke dalam folder spam. Sedangkan apabila hasil perhitungan kurang dari spamlevel maka mail tersebut akan dikategorikan sebagai good mail.

3.2.4 Sequence Diagram

Untuk mengetahui lebih jelas mengenai urutan proses yang terjadi dalam setiap use case, dapat digambarkan melalui sequence diagram. Berikut sequence diagram untuk menjelaskan use case yang telah dipaparkan :

1. Add To Good

Gambar 3.9 Sequence Diagram Add To Good

(15)

Pada proses ini, aplikasi akan mengambil email yang telah dipilih oleh user dalam folder inbox. Kemudian status unread dari email akan disimpan terlebih dahulu, karena setelah melalui suatu proses, status email tersebut akan selalu berubah menjadi sudah terbaca setelah proses dilakukan. Setelah status unread disimpan, aplikasi akan memerintahkan _filter, yang merupakan instance dari class SpamFilter, untuk melakukan fungsi addToGood() untuk dijadikan proses learning dari aplikasi. Proses addToGood sendiri yaitu melakukan penambahan daftar token yang dianggap sebagai good token, kemudian akan melakukan proses perhitungan probabilitas dari setiap token yang ada. Daftar good token oleh aplikasi disimpan dalam class SpamFilter sebagai _good, yang merupakan instance dari class Corpus. Setelah proses addToGood dijalankan, status unread email yang sudah disimpan tadi akan dikembalikan ke email yang di proses tersebut, kemudian email akan dipindahkan ke dalam Good Folder yang telah ditentukan oleh user. Jika fitur auto update dari aplikasi aktif, maka aplikasi memerintahkan _filter untuk melakukan proses penyimpanan tabel tokennya ke dalam file yang telah ditentukan.

2. Add To Spam

(16)

Gambar 3.10 Sequence Diagram Add To Spam

Penjelasan untuk gambar sequence diagram ini sama dengan AddToGood, hanya saja proses ini berkaitan dengan e-mail yang dikategorikan sebagai spam. Sehingga segala sesuatunya berkaitan dengan hal – hal yang berkaitan dengan spam.

3. Hunt Spam

(17)

Gambar 3.11 Sequence Diagram Hunt Spam

Pada proses ini, langkah pertama yang dilakukan oleh aplikasi adalah melakukan pemeriksaan apakah folder - folder untuk menyimpan good email dan spam email, sebagai good folder dan spam folder, sudah disediakan oleh user. Jika folder - folder tersebut sudah tersedia, maka aplikasi akan melakukan listing email yang ada dalam folder inbox. Dari setiap email tersebut, aplikasi akan memerintahkan _filter melakukan fungsi Test, yang berfungsi untuk menghitung nilai spam level dari setiap email. Hasil penilaian spam level akan dibandingkan dengan nilai property SpamLevel dari _filter.

Untuk email yang memiliki nilai lebih dari atau sama dengan SpamLevel, akan dianggap

sebagai spam email, dan aplikasi akan memerintahkan _filter untuk melakukan proses

addToSpam terhadap email tersebut. Sedangkan email yang memiliki nilai spam level

(18)

kurang dari SpamLevel, email tersebut akan dianggap sebagai good email dan aplikasi akan memerintahkan _filter untuk melakukan proses addToGood terhadap email tersebut.

3.2.5 Proses Inti Spam Filter

Email dinyatakan sebagai spam mail atau legitimate mail tergantung dari nilai spam level email tersebut. Nilai spam level diperoleh dari perhitungan nilai – nilai token suatu message. Berikut penjelasan penentuan nilai token ke dalam table token : gambar flowchart (lampiran A) dan table token (lampiran B).

3.2.6 Perancangan User Interface

Perancangan user interface merupakan salah satu tahapan yang penting dalam pembuatan suatu perangkat lunak. Oleh karena itu, user interface harus didesain dengan baik agar mudah digunakan oleh user dan tidak membingungkan. Pada pembahasan berikut ini, akan dijelaskan bentuk dan struktur dari form-form.

1. Perancangan Awal

Pada perancangan awal dibuat toolbar pada Microsoft Office Outlook. Pada toolbar ini terdapat enam buah button yaitu : “Add to spam”, “Add to good”, “Analysis”,

“Hunt spam”, “Update” dan “Rebuild”. Dapat dilihat pada gambar 3.12 berikut :

(19)

Gambar 3.12 Rancangan Awal Toolbar

2. Perancangan form Analysis

Pada saat user menekan tombol “spam analysis” maka akan dipanggil sebuah form yaitu form analysis. Dimana form ini dipakai agar user dapat melihat hasil pengambilan teks dari suatu mail juga dapat melihat token-token yang didapatkan dari mail tersebut. Rancangan untuk form ini dapat dilihat pada gambar 3.13 berikut :

Gambar 3.13 Rancangan Form Spam Analysis

(20)

3. Perancangan Window Option

Proses ini dibuat untuk pengaturan beberapa aktifitas program. Pertama adalah proses filter otomatis. Ini merupakan sebuah pilihan untuk menandakan apakah program akan secara otomatis melakukan proses filter pada email – email yang baru masuk, dan memindahkan kedalam folder – folder yang telah ditentukan sebagai good folder atau spam folder. Kedua adalah proses update otomatis. Ini merupakan sebuah pilihan untuk menandakan apakah program akan melakukan proses untuk meng-update tabel token secara otomatis setiap ada proses pemindahan email melalui tombol “Add to Good”,

“Add to Spam”, “Hunt Spam” atau setiap ada proses filter email pada saat pilihan filter

otomatis diaktifkan. Ketiga adalah proses update. Hal ini digunakan untuk melakukan

update terhadap tabel token secara manual. Keempat adalah proses untuk menentukan

folder yang digunakan untuk menyimpan email – email yang dianggap sebagai good

email (good folder). Kelima adalah proses untuk menentukan folder yang digunakan

untuk menyimpan email – email yang dianggap sebagai spam (spam folder). Keenam

adalah proses penentuan spamlevel oleh user. Ketujuh adalah proses untuk menampilkan

isi dari table token. Rancangan untuk form ini dapat dilihat pada gambar 3.14 berikut :

(21)

Gambar 3.14 Rancangan Form untuk option.

4. Perancangan table token

Proses ini untuk memberikan informasi isi dari table token yaitu tokens, frekuensi sebuah token dianggap good, frekuensi sebuah token dianggap spam token dan nilai probabilitas token tersebut.

Gambar 3.15 Rancangan tampilan untuk table token Filter new email automatically

Automatic update Update

Good folder Select ...

Spam folder Select ...

Cancel OK

Spam level 99,99

Tokens

Tokens Good Freq SpamFreq Probability

Gambar

Gambar 3.1 Flowchart Utama Program Spam Filter
Gambar 3.2 Flowchart set to spam mail
Gambar 3.3 Flowchart set to ham mail
Gambar 3.4 Use case Diagram
+7

Referensi

Dokumen terkait

Dijelaskan bahwa ada beberapa kemungkinan sumber dari suatu perubahan bahasa, yaitu kegagalan seorang individu dalam membedakan dua bunyi sehingga terjadilah merger ketika

Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardware yang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware dari software lain dengan

Dengan memproduksi barang yang unik, lucu dan model yang bagus serta harga yang relatif terjangkau, maka akan dapat menarik minat banyak orang untuk membeli... Page 7 of

Berdasarkan hasil analisis data dengan menggunakan Metode Bayes diperoleh perlakuan penambahan tepung tapioka 4% (b/v) pada petis berbahan baku cairan hasil

masuk, menaikkan surat undangan dan Nota Dinas Perjalanan Dinas ke Kadis, mempelajari disposisi dari Kadis, membuat SPT dan SPPD yang berpergian, melaporkan hasil

Untuk memperoleh data yang banyak, dalam penelitian kualitatif ini, peneliti menggunakan cara studi lapangan yaitu untuk mengetahui kegiatan aktivitas warga sekolah dan

Jumlah partisipan sebanyak 4 pasien dan 4 keluarga untuk pre action research dengan accidental sampling, 6 perawat untuk action research dengan purposive sampling, 4 pakar

Dari pelaksanaan tindakan perbaikan yang dilakukan penulis di kelas SD Negeri Kluwih 02 Kecamatan Bandar Kabupaten Batang diperoleh data yaitu data perolehan nilai siswa