Perancangan Email Client Dengan Pengklasifikasian Email Menggunakan Algoritma Vector Space Model

(1)

PERANCANGAN EMAIL CLIENT DENGAN

PENGKLASIFIKASIAN EMAIL MENGGUNAKAN

ALGORITMA VECTOR SPACE MODEL

SKRIPSI

MOSES CHRISTIAN

081402050

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

PERANCANGAN EMAIL CLIENT DENGAN

PENGKLASIFIKASIAN EMAIL MENGGUNAKAN ALGORITMA

VECTOR SPACE MODEL

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi

MOSES CHRISTIAN 081402050

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(3)

PERSETUJUAN

Judul : PERANCANGAN EMAIL CLIENT DENGAN

PENGKLASIFIKASIAN EMAIL MENGGUNAKAN

ALGORITMA VECTOR SPACE MODEL Kategori : SKRIPSI

Nama : MOSES CHRISTIAN Nomor Induk Mahasiswa : 081402050

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Umar S Tjkroaminoto, ST M.Fadly Syahputra Bsc, M.Sc.IT NIP.196206242006041015 NIP. 198301292009121003

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul NIP. 196108171987011001


(4)

PERNYATAAN

PERANCANGAN EMAIL CLIENT DENGAN PENGKLASIFIKASIAN EMAIL MENGGUNAKAN ALGORITMA VECTOR SPACE MODEL

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing masing disebutkan sumbernya.

Medan,

MOSES CHRISTIAN 081402050


(5)

PENGHARGAAN

Puji dan syukur hanya bagi Tuhan Yang Maha Esa yang mengizinkan penulis dapat menyelesaikan skripsi ini. Sebab kasihNya yang besar dan kesetiaanNya yang tak pernah padam.

Ucapan terima kasih penulis sampaikan kepada Bapak M. Fadly Putra,B.Sc.M.Sc.IT dan Bapak M. Umar S Tjokroaminoto, ST selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Ucapan terima kasih juga penulis sampaikan kepada Bapak Baihaqi Siregar, Ssi.,MT. dan Bapak Romi Fadillah Rahmat, B.Comp.Sc,M.Sc selaku dosen penguji. Panduan ringkas, padat, dan profesional telah diberikan kepada penulis agar dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Sumatera Utara, semua dosen dan pegawai pada Program Studi Teknologi Informasi .

Tidak terlupakan penulis mengucapkan terima kasih kepada Ayahanda Drs. Persadaan Ginting, Ibunda Dra. Krisnpenti Sembiring, adik-adik tercinta Dody dan Dea yang selalu memberikan cinta kasihnya dan dukungannya baik material dan spiritual dan yang berjasa memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Sahabat-sahabat saya Ilham Akbar, Shugy Sitepu , Pangeran David, Andryan , Harigo yang selalu memberi semangat dan terima kasih untuk doa-doa kalian. Semoga Tuhan Yang Maha Esa memberikan karunia kepada semua pihak yang telah memberikan bantuan, perhatian dan dukungan kepada penulis dalam menyelesaikan skripsi ini.


(6)

ABSTRAK

Pada zaman teknologi sekarang ini, email banyak digunakan untuk mengirim informasi keseluruh dunia ini. Selama ini pengklasifikasian pada email masih dilakukan secara manual dan kurang objektif. Maka dalam penelitian ini, penulis menerapkan Metode Vector Space Model (VSM) untuk membuat suatu pengklasifikasian email secara otomatis dan lebih objektif. Dengan metode ini pengklasifikasian email dapat dilakukan secara otomatis berdasarkan address, subject, dan body dari sebuah email sehingga memudahkan pengguna email dalam pengorganisasian setiap email yang masuk kedalam inbox pengguna fasilitas email. Sehingga aplikasi ini nantinya akan memberi kemudahan bagi user pengguna email dalam mengklasifikasikan email sesuai dengan kata kunci dan jenis field yang ada.


(7)

DESIGN EMAIL CLIENT CLASSIFICATION USING VECTOR SPACE MODEL ALGORITHM

ABSTRACT

On today's age of technology, widely used email to send information throughout the world. During the classification of the email is still done manually and less objective. So in this study, the authors apply the method of Vector Space Model (VSM) to make an automatic email classification and more objective. With this method of email classification can be done automatically based on address, subject, and body of an email that allows users to email in the organization of every incoming email into a user's inbox email facility. So this application will provide convenience for the user email users in the email classify according to keyword and type of existing fields.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori 2.1 Email 7

2.1.1 Latar Belakang Email 8

2.1.2 Sejarah Penggunaan Email 9

2.1.3 Mail Client 10

2.1.4 Sistem Penerimaan Email 11

2.2 Klasifikasi 15

2.3 Text Mining 16

2.4 Ekstrasi Dokumen 17

2.5 Model Ruang Vector 20

2.6 Ukuran Kemiripan 20

2.7 Pemrograman Visual Basic 24


(9)

Bab 3 Analisis dan Perancangan

3.1 Analisis Aplikasi 26

3.1.1 Analisis Data 26

3.1.2 Spesifikasi Aplikasi 26

3.1.3 Spesifikasi Pengguna 27

3.1.4 Lingkungan Operasi 27

3.1.5 Deskripsi Aplikasi 27

3.2 Perancangan Aplikasi 30

3.2.1 Ekstraksi Dokumen 30

3.2.2.1 Case Folding 30

3.2.1.2 Tokenizing 30

3.2.2 Analisa 31

3.2.2.1 Algoritma TF/IDF (Term frequency – Inversed Document Frequency) 32 3.2.2.2 Cosine Similarity 34

3.2.3 Use Case Diagram 36

3.2.4 Activity Diagram 41

3.3 Perancangan Antar Muka 45

3.3.1 Menu Utama 45

3.3.2 Menu Email 46

3.3.3 Menu Sub Email 47

3.3.4 Menu Klasifikasi 47

Bab 4 Implementasi dan Pengujian 49

4.1 Implementasi 49

4.2 Pengujian 49

4.2.1 Tabel Pada Access 50

4.2.2 Tampilan Awal Sistem 51

Bab 5 Kesimpulan dan Saran 62

5.1 Kesimpulan 62

5.2 Saran 62

Daftar Pustaka 63

LAMPIRAN A: Listing Program 65


(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Kelebihan dan Kekurangan Surat, Telepon, dan Email 9

Tabel 2.2 Perbedaan POP dan Web Based Email 12

Tabel 2.3 Penelitian Sebelumnya 25

Tabel 3.1 Tabel Dokumentasi Naratif Usecase Klasifikasi Email 37

Tabel 3.2 Tabel Dokumentasi Naratif Usecase View List Email 38

Tabel 3.3 Tabel Dokumentasi Naratif Usecase Klasifikasi 39

Tabel 3.4 Tabel Dokumentasi Naratif Usecase Send Email 40

Tabel 4.1 Tabel Download 50

Tabel 4.2 Tabel Classified 51

Tabel 4.3 Tabel Perhitungan TF/IDF 58


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Cara Kerja Email 7

Gambar 2.2 Sistem Penerimaan Email 11

Gambar 2.3 Contoh Web Based Email dan Email Client 12 Gambar 2.4 Email Server 13

Gambar 2.5 SMTP Server 14

Gambar 2.6 Proses Pre-Processing Text 17

Gambar 2.7 Proses Case Folding dan Tokenizing 18

Gambar 2.8 Proses Filtering 18

Gambar 2.9 Proses Stemming 19

Gambar 2.10 Contoh Model Ruang Vector dengan dua dokumen D1 dan D2, serta Query Q1 21 Gambar 2.11 Contoh matriks term-document untuk database dengan dokumen dan t term 21 Gambar 2.12 Contoh Perhitungan bobot tf-idf 23

Gambar 3.1 Proses Processing 28

Gambar 3.2 Diagram Alir Analisa Konten 29

Gambar 3.3 Proses Case-folding dan Tokenizing 31

Gambar 3.4 Diagram Alir Pembobotan tf-idf 32

Gambar 3.5 Diagram Alir Pembobotan tf-idf 33

Gambar 3.6 Analisa tf/idf 34

Gambar 3.7 Vector Space Model 35

Gambar 3.8 Usecase Diagram Aplikasi klasifikasi Email 36

Gambar 3.9 Activity Diagram Menu Utama 41

Gambar 3.10 Activity Diagram Menu Pilihan Email 42

Gambar 3.11 Activity Diagram Menu Menu Filter 43

Gambar 3.12 Activity Diagram Menu Submenu Send Email 44

Gambar 3.16 Rancangan Antar mukamenu utama 45

Gambar 3.17 Rancangan Antar muka menu email 46

Gambar 3.18 Rancangan Antar muka send email 47

Gambar 3.19 Rancangan Antar muka menu filter 48

Gambar 4.1 Tampilan Awal Sistem 52

Gambar 4.2 Tampilan Sub Menu Email 52

Gambar 4.3 Login_ Form 53

Gambar 4.4 Tampilan Form not accepted 54

Gambar 4.5 Tampilan Complete Input 54

Gambar 4.6 Tampilan Welcome 54

Gambar 4.7 Tampilan Send Email 55

Gambar 4.8 Tampilan Submenu classification 56

Gambar 4.9 Tampilan Filtering_Form 56

Gambar 4.10 Tampilan Filtering_Form berdasarkan field 57

Gambar 4.11 Tampilan Klasifikasi Berdasarkan Key dan Jenis Field 57


(12)

ABSTRAK

Pada zaman teknologi sekarang ini, email banyak digunakan untuk mengirim informasi keseluruh dunia ini. Selama ini pengklasifikasian pada email masih dilakukan secara manual dan kurang objektif. Maka dalam penelitian ini, penulis menerapkan Metode Vector Space Model (VSM) untuk membuat suatu pengklasifikasian email secara otomatis dan lebih objektif. Dengan metode ini pengklasifikasian email dapat dilakukan secara otomatis berdasarkan address, subject, dan body dari sebuah email sehingga memudahkan pengguna email dalam pengorganisasian setiap email yang masuk kedalam inbox pengguna fasilitas email. Sehingga aplikasi ini nantinya akan memberi kemudahan bagi user pengguna email dalam mengklasifikasikan email sesuai dengan kata kunci dan jenis field yang ada.


(13)

DESIGN EMAIL CLIENT CLASSIFICATION USING VECTOR SPACE MODEL ALGORITHM

ABSTRACT

On today's age of technology, widely used email to send information throughout the world. During the classification of the email is still done manually and less objective. So in this study, the authors apply the method of Vector Space Model (VSM) to make an automatic email classification and more objective. With this method of email classification can be done automatically based on address, subject, and body of an email that allows users to email in the organization of every incoming email into a user's inbox email facility. So this application will provide convenience for the user email users in the email classify according to keyword and type of existing fields.


(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Banyak kemudahan yang kita dapat dari teknologi informasi. Penggunaan internet sebagai media komunikasi, penyebaran informasi dan banyaknya layanan penyedia email membuat semua menjadi ringkas dan mudah. Kita dapat mengirim informasi dalam hitungan menit dan bahkan detik ke seluruh dunia ini. Begitupun penerima informasi dapat dengan mudah dan cepat membalas informasi tersebut. Teknologi itu disebut internet dan email.

Semakin banyaknya orang yang terhubung ke internet, menjadikan electronic mail (email) sebagai salah satu bentuk komunikasi yang paling cepat dan ekonomis. Banyaknya informasi digital dalam email sebagai akibat dari perkembangan teknologi informasi membutuhkan suatu cara pengorganisasian dan pengelompokan informasi dalam inbox email untuk kemudahan penggunanya. Pengelompokan informasi tak terstruktur ini dikenal dengan pengklasifikasian dokumen.

Bila kita berkunjung ke perpustakaan atau toko buku, biasanya kita akan melihat buku-buku diletakkan di rak-rak dalam kelompoknya masing-masing. Misalnya rak komputer, berisi segala judul buku yang membahas mengenai komputer, program, software, hardware, teknik informatika, dan lain-lain. Buku-buku yang membahas tema tertentu umumnya dikelompokkan menurut tema bahasannya masing-masing. Pengelompokan atau klasifikasi ini memudahkan kita menemukan buku yang kita cari. Oleh sebab itu maka penulis ingin membuat suatu sistem yang dapat mengklasifikasikan email sesuai dengan keyword yang didasarkan pada sender,subject dan body dari inbox email tersebut.


(15)

Mengkategorikan dokumen teks pada email secara otomatis sangatlah membantu, karena pengorganisasian dokumen yang dilakukan secara manual akan sangat mahal, atau tidak flexible mengingat keterbatasan waktu dari aplikasi atau jumlah dokumen yang digunakan. Oleh karenanya, kebutuhan akan klasifikasi otomatis semakin diperlukan.

Ada beberapa teknik yang dapat digunakan untuk mengatasi klasifikasi email ini, seperti SVM, ANN, Naïve Bayes, dan Vector Space Model. Berdasarkan penelitian yang dilakukan oleh Srivinas Mukkamala dan Andrew H.Sung (2003) menyatakan bahwa kinerja algortima SVM lebih baik jika dibandingkan dengan ANN dalam hal solusi yang dicapai untuk kasus pengklasifikasian IDS. Dari penelitian yang dilakukan Mruntujaya Panda dan Mana R. Prata (2007) menyatakan algortima Bayesian lebih efisien dalam mengklasifikasikan Network IDS dibanding SVM. Vektor Space Model merupakan metode dengan proses perhitungan intensif sehingga membutuhkan waktu komputasi lebih banyak (Santosa 2007). Penerapan VSM sebagai model dasar dalam Sistem Temu Kembali Informasi memilki keunggulan pada perhitungan yang mendetail dan meyeluruh untuk mengetahui jarak dokumen.

Berdasarkan uraian diatas, peneliti akan mencoba melakukan klasifikasi pada sisi klien dengan menggunakan algortima Vector space model yang memproses berdasarkan dari sender,subject,body email yang dijalankan pada sisi klien. Email yang digunakan adalah email berbasis teks, email yang telah disimpan didalam computer, dan aplikasi tidak terkoneksi secara lansung dengan mail server.


(16)

1.2 Rumusan Masalah

Klasifikasi pada sisi klien lebih mudah diterapkan dan lebih besar kemungkinan memberikan hasil yang diharapkan. Oleh karena itu peneliti akan melakukan penelitian bagaimana mengaplikasikan metode Vector Space Model untuk memanagement inbox email sehinggga memudahkan pengguna email dalam pengorganisasian setiap email yang masuk kedalam inbox pengguna fasilitas email.

1.3. Batasan Masalah

Dalam pengklasifikasian email menggunakan algoritma Vector Space Model dilakukan beberapa batasan sebagai berikut :

1. Pengklasifikasian hanya dilakukan pada sisi klien.

2. Vector Space Model digunakan untuk pengukuran kemiripan suatu dokumen dalam pengklasifikasiannya.

3. Email server adalah menggunakan Google Mail Server untuk mengunduh dan mengirim email

4. Bahasa pemograman yang digunakan untuk membuat aplikasinya menggunakan bahasa vb.net

5. Hak akses terhadap email yang diunduh masih terbatas

6. Dalam proses Text Mining hanya melibatkan tokenizing dan analizing 7. Keyword hanya meggunakan satu kata

1.4. Tujuan Penelitian

Adapun tujuan penelitian ini adalah mengimplementasi algoritma Vector Space Model pada sistem mail klien untuk memklasifikasi inbox email sesuai dengan kata kunci dan jenis field yang dipilih dengan tingkat akurasi yang tinggi dan juga menampilkan peringkat klasifikasi email.


(17)

1.5 Manfaat Penelitian

Adapun manfaat penelitian ini adalah sebagai berikut:

1. Memberikan kemudahan dalam pengklasifikasian email oleh pengguna fasilitas email karena setiap email yang masuk dapat terklasifikasikan sesuai kata kunci dan sesuai dengan jenis field yang ada .

2. Mendapatkan hasil yang optimal dalam pengukuran tingkat similiaritas dokumen sehingga didapatkan filtering klasifikasi email yang signifikan.

1.6 Metodologi Penelitian

Tahapan yang akan dilakukan pada pelaksanaan penelitian ini adalah sebagai berikut: 1. Studi Literatur

Studi literatur yang dilakukan dalam penelitian ini adalah mengumpulkan bahan referensi mengenai konsep mail server, pengambilan data melalui POP3, algoritma vector space model,dan implementasinya dalam dokumen .

2. Analisa Permasalahan

Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai algoritma Vector Space Model untuk mengklasifikasi email

3. Perancangan Sistem

Pada tahap perancangan sistem dilakukan perancangan arsitektur, pengumpulan data pelatihan, merancang antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literature yang telah didapatkan.


(18)

4. Implementasi Sistem

Pada tahap implementasi sistem ini akan dilakukan pengkodean program dalam sistem komputer dengan menggunakan Bahasa VB.NET

5. Pengujian

Pada tahap ini memastikan aplikasi klasifikasi mail klien yang telah dibuat sudah berjalan sesuai diharapkan, dan kemudian dianalisis kinerja dan penerapan algoritma tersebut.

6. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi hasil penerapan algoritma Vector Space Model untuk mengklasifikasi email.

1.7 Sistematika Penulisan

Adapun langkah langkah dalam menyelesaikan penelitian ini adalah sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang pemilihan judul skripsi “Klasifikasi Email Client menggunakan algoritma VSM”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini membahas mengenai teori teori yang berkaitan dengan perancangan aplikasi klasifikasi mail client menggunakan algoritma vector space model dan teori lainnnya yang mendukung pembuatan aplikasi.


(19)

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini terdiri dari analisis sistem dan perancangan aplikasi untuk klasifikasi email. Pada bagian analisis sistem dimuat uraian tentang analisis data sistem dan komponen sistem. Pada bagian perancangan aplikasi, membahas tentang algoritma vector space model dalam pengklasifikasian email dan perancangan form yang akan diimplementasikan ke aplikasi.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas bagaimana mengimplementasikan aplikasi yang telah dirancang kedalam bahasa pemprograman dan menguji aplikasi yang telah dibangun.

BAB 5: KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari keseluruhan uraian uraian bab-bab sebelumnya dan saran saran yang diharapkan dapat bermanfaat dalam pengetahuan selanjutnya


(20)

BAB 2

LANDASAN TEORI

2.1 Email

Email adalah singkatan dari Electronic Mail . Email berfungsi sebagai sarana untuk mengirim surat atau pesan melalui jaringan Intenet (Nello.et all, 2000), Dengan email kita hanya membutuhkan beberapa menit agar surat/pesan kita sampai tujuan tidak perlu menunggu berhari-hari seperti mengirim surat/pesan biasa (pos) dan dengan email isi surat/pesan dapat kita isi dengan konten gambar/suara dan video, Email bukan hanya untuk mengirim surat/pesan, jaman sekarang apa-apa yang berhubungan internet seperti mendaftar facebook, twitter, blogger dan lain-lain pasti memerlukan email utuk mendaftar. Sebuah pesan elektronis terdiri dari isi, alamat pengirim, dan alamat-alamat yang dituju. Sistem email yang beroperasi diatas jaringan berbasis pada model store and forward. Sistem ini mengaplikasikan sebuah system server email yang menerima, meneruskan, mengirimkan, serta menyimpan pesan pesan user, dimana user hanya perlu untuk mengkoneksikan pc mereka kedalam jaringan. Email dapat dianalogikan dengan kotak surat yang ada di kantor POS sedangkan server email dapat diibaratkan sebagai kantor POS. Dengan analog ini sebuah mail server dapat memiliki banyak account email yang ada didalamnya.


(21)

Cara kerja email yang dapat dilihat pada gambar 2.1 menunjukkan bahwa email yang dikirim belum tentu akan diteruskan ke computer penerima (end user), tetapi disimpan/dikumpulkan dahulu dalam sebuah computer server (host) yang akan online secara terus menerus (continue) dengan media peyimpanan (storange) yang relative besar dibanding computer biasa. Hal ini bisa diibaratkan dengan sebuah kantor pos, jika seseorang mempunyai alamat (mailbox), maka dia dapat memeriksa secara berkala jika dia mendapatkan surat. Komputer yang melayani penerimaan email secara terus menerus tersebut biasa disebut dengan mailserver atau mailhost.

2.1.1 Latar Belakang Digunakannya Email

Dalam dunia nyata pada umumnya, kita sering menggunakan surat untuk menggambarkan suatu berita. Namun kekurangan media surat adalah lamanya waktu yang dibutuhkan dari pengirim ke penerima. Masalah ini dapat dipecahkan dengan menggunakan media telepon. Namun sayangnya jika menggunakan telepon untuk jarak penelepon dan penerima telepon yang cukup jauh, biasanya memerlukan biaya yang tidak murah, karena menggunakan SLJJ atau SLI (Sambungan Langsung Internasional). Oleh karena itu diperlukan media lain yang dapat membantu mengatasi kendala waktu, jarak dan biaya ini. Salah satu solusi yang dapat digunakan adalah dengan menggunakan email (electronic mail). Email merupakan suatu solusi yang cukup murah, dapat diakses dari mana saja, dan jarang mengalami keterlambatan pengiriman, karena secara umum (jika tidak ada masalah) biasanya email dapat dikirimkan paling lama dalam waktu 5 menit saja. Namun bukan berarti dengan menggunakan email tidak akan ada masalah yang terjadi. Tabel 2.1 menyajikan kelebihan dan kekurangan menggunakan surat, telepon, maupun email.


(22)

2.1.2 Sejarah Penggunaan Email

Email yang pertama kali dikirim dilakukan oleh seorang engineer bernama Ray Tomlinson. pada tahun 1971. Sebelumnya, orang hanya dapat mengirimkan pesan kepada orang lain pada mesin yang sama. Dengan menggunakan teknologi baru ini, Tomlinson berhasil mengirimkan pesan ke mesin komputer yang lain dengan menggunakan tanda @ sebagai tujuan mesin penerima email. Email tidaklah lebih dari pesan teks sederhana (text message). Pesan dikirimkan dari sebuah mesin (misalnya A) ke mesin lainnya (misalnya B), dan orang lain membaca pesan yang dikirim dari komputer A di komputer B. Walaupun sekarang ini email dapat ditambahkan attachment, pada dasarnya email juga tetap merupakan sebuah pesan teks sederhana (Nello, 2000).

Komponen Surat Telepon Email

Biaya investasi awal

Murah Tidak Terlalu Mahal Murah jika hanya

mengandalkan warnet, namun bisa mahal jika ingin membeli komputer dan memiliki akses internet sendiri. Biaya pengiriman Murah, namun cukup mahal untuk jarak yang jauh

Murah, jika tidak terlalu lama bicara dan jaraknya tidak jauh.

Mahal, jika terlalu lama bicara di telepon dan jaraknya jauh

Murah. Tidak tergantung jarak tempuhnya. Waktu sampainya pesan Lama, bisa memakan waktu alam hitungan harian. Apalagi jika jaraknya jauh, mungkin bisa mingguan. Respon yang diterima juga lambat

Sangat cepat, karena langsung berbicara dengan penerima pesan.

Cepat, dalam hitungan detik ataumenit. Namun respon dari penerima bisa cepat atau lambat,

tergantung kapan si penerima membuka inbox emailnya. Pengiriman

barang

Bisa dilakukan Tidak bisa dilakukan Hanya bisa dilakukan jika barang yang dimaksud berbentuk digital.


(23)

2.1.3 Mail Client

E-Mail client adalah software yang digunakan untuk mengirim dan menerima e-mail melalui komputer Anda tanpa browser (Agung, 2007). Cukup dengan menjalankan software e-mail client secara otomatis e-mail akan terdownload ke komputer Anda. Saat Anda tidak terkoneksi dengan internet, Anda dapat membaca e-mail – e-mail yang telah di download tersebut.

Beberapa pilihan software e-mail client :

OutlookExpress

Review : software ini secara otomatis terinstall pada Windows XP pada full install. Penggunaannya praktis, hanya saja tidak memiliki fitur perlindungan SPAM yang efektif.

MicrosoftOutlook

Review : software yang masuk dalam Microsoft Office ini kaya fitur, diantaranya sudah terintegrasi dengan calendar, todo list, dan memiliki mekanisme perlindungan SPAM yang baik.

Thunderbird

Review : software free ini dikembangkan oleh Mozilla dengan dilengkapi fitur perlindungan SPAM yang sangat fleksibel karena dapat kita konfigurasikan secara detail. Selain itu software ini juga dilengkapi dengan e-mail tagging yang cara kerjanya mirip dengan label pada Gmail. Sayangnya software ini tidak memiliki integrasi langsung dengan calendar meskipun tersedia add-on untuk calendar.

Mail Pada Mac OS X

Review : kerap disebut Apple Mail, secara default software Mail ini sudah terinstall pada Mac OS X. Sebagai software mail client default pada Mac OS X, software ini memiliki mekanisme perlindungan SPAM yang cukup baik.

Windows Mail

Review : Windows Mail adalah pengganti Outlook Express pada Windows Vista. Sebagai versi baru dari Outlook Express, Windows Mail kaya dengan fitur – fitur baru.


(24)

2.1.4 Sistem Penerimaan Email

Sistem penerimaan email dapat digambarkan seperti diagram di bawah ini.

Gambar 2.2 Sistem Penerimaan Email Cara Penerimaan Email

Ada dua jenis cara penerimaan email, yaitu dengan POP (Post Office Protocol) ataupun dengan Web Based Email (Email yang dapat dilihat dari website, menggunakan tekonologi IMAP (Internet_Message_Access_Protocol). POP saat ini sudah memasuki versi 3, sehingga lebih dikenal dengan nama POP3 (Post Office Protocol version 3). Dengan menggunakan POP3, maka email dapat diambil dari server dan disimpan di email client (seperti Outlook Expres, Eudora, dan The Bat), sedangkan dengan menggunakan Web Based Email (seperti Yahoo dan Gmail), pemakai dapat membaca email yang diterimanya dan melakukan interaksi dengan email tersebut (membaca, menulis, membalas, menghapus, dll) secara user friendly.

Sekarang ini hampir sebagian besar layanan email, baik yang gratis maupun yang menarik bayaran, sudah menyediakan keduanya, POP dan web-based email. Berikut ini diberikan tabel berupa kelebihan dan kekurangan penggunaan email berbasiskan POP maupun Web Based Email.


(25)

(a) Contoh Web-based Email (b) Contoh Email Client

Gambar 2.3 Contoh Web-Based Email dan Email Client

Komponen POP3 Web Based Email

Kemudahan dalam pengarsipan

Lebih mudah dalam pengarsipan, karena email disimpan di

komputer pengguna

Sulit diarsipkan, karena email tersimpan di komputer server. Jika sewaktu-waktu server mengalami masalah, ada kemungkinan email dapat hilang begitu saja.

Fleksibilitas Hanya dapat dibuka dari komputer pemakai saja.

Karena berada pada server yang dapat dibuka dari jaringan internet, maka pemakai dapat membuka email miliknya dari sembarang tempat yang memiliki kases internet.

Ukuran media penyimpanan

Karena menggunakan komputer pribadi, besarnya media

penyimpanan yang dapat digunakan untuk menampung email dapat tak terbatas (tergantung budget pengguna)

Karena menggunakan komputer orang lain (komputer server), besarnya media penyimpanan yang digunakan terbatas, tergantung penyedia email tersebut.


(26)

Proses Penerimaan Email

Pada penerimaan email dengan menggunakan POP3, digunakan suatu program yang dinamakan email client. Email client berfungsi untuk menerima email-email yang masuk ke komputer pengguna. Beberapa contoh email client adalah Outlook Express, Microsoft Outlook, The Bat, Eudora, dan masih banyak lagi yang lainnya.

POP3 biasanya selalu disandingkan dengan SMTP (Simple Mail Transfer Protocol). Fungsi dari keduanya saling mendukung, di mana POP3 digunakan untuk mengambil email dari komputer server ke komputer client (pengguna), dan SMTP digunakan untuk mengirimkan email dari komputer client yang dititipkan ke pada komputer server untuk dikirimkan ke komputer server tujuan. Perhatikan gambar 2.4 di bawah ini:

Gambar 2.4 Email Server

Terlihat pada gambar di atas bahwa POP3 menggunakan port 110 dan SMTP menggunakan port 25. Perbedaan Web Based Email dengan POP3 email adalah bahwa pada Web based email tidak diperlukan komunikasi pada port 110 dan port 25 untuk menerima dan mengirim email, karena semuanya sudah dilakukan oleh email server.

A. SMTP Server

Perhatikan gambar 2.5 di bawah ini. Pada dasarnya email yang dikirim oleh SMTP server akan ditampung sementara oleh komputer server untuk dikirim ke komputer server tujuan. Komputer server pengirim dan komputer server penerima berinteraksi pada port 25 untuk melakukan pengiriman email.


(27)

Gambar 2.5 SMTP Server

Logika serah-terima email tersebut adalah sebagai berikut:

Misalnya ada pengguna dengan alamat email [email protected] ingin mengirimkan email ke [email protected] dari email client. Ketika [email protected] mengirimkan email ke [email protected] terjadi hal-hal berikut ini:

1. Email client melakukan komunikasi dengan aku.com menggunakan port 25. 2. Email client berkomunikasi dengan SMTP server, memberitahukan kepada

SMTP server mengenai alamat pengirim dan penerima sekaligus dengan isi pesan yang dikirimkan.

3. SMTP server mengambil alamat tujuan dan membaginya menjadi dua bagian Bagian pertama : kamu

Bagian kedua : kamu.com

4. SMTP server melakukan komunikasi dengan DNS (Domain Name Server) dan meminta alamat IP dari kamu.com.

5. Setelah IP didapatkan, SMTP server aku.com berkomunikasi dengan STMP server kamu.com menggunakan port 25, dengan cara yang persisi sama yang dilakukan antara email client dengan SMTP server aku.com.

6. Setelah pesan masuk ke mesin server kamu.com, pengguna

[email protected] melihat pesan email, entah dengan POP3 maupun dengan IMAP.


(28)

B. POP3 Server

Hal yang terjadi pada POP3 Server sebenarnya sangatlah sederhana, yaitu hanya mengumpulkan email yang masuk saja, dan mengirimkannya melewati port 110 ke komputer client jika client meminta email-email tersebut. Untuk melihat maupun mengambil email dengan menggunakan POP3 maupun web based email, diperlukan username dan password agar tidak sembarang orang dapat melihat email tersebut.

2.2 Klasifikasi

Kategorisasi teks (atau klasifikasi teks) adalah suatu proses yang mengelompokkan suatu teks ke dalam suatu kategori tertentu (Sebastiani, 2002) .Kategorisasi teks merupakan solusi yang tepat untuk mengelola informasi yang saat ini berkembang dengan sangat cepat dan melimpah. Kategorisasi teks membuat pengelolaan informasi tersebut menjadi efektif dan efisien (Chenometh, 2009).Lebih mudah kalau dokumen dikelompokkan menjadi beberapa bagian misalnya dua kelas, yaitu dokumen tentang multicore computer chips dan dokumen bukan tentang multicore computer chips. Kelas biasanya merujuk ke topic dokumen. Prosesnya sering disebut sebagai text classification, text categorization, topic classification, topic spotting.

Dokumen yang digunakan untuk pembelajaran dinamakan contoh (sample atau trainingdata set) yang dideskripsikan oleh himpunan atribut atau variabel. Salah satu atribut mendeskripsikan kelas yang diikuti oleh suatu contoh, hingga disebut atribut kelas.Atribut lain dinamakan atribut independen atau predictor. Klasifikasi termasuk pembelajaran jenis supervised learning. Jenis lain adalah unsupervised learning atau dikenal sebagai clustering. Pada supervised learning, data latihan mengandung pasangan data input (biasanya vektor) dan output yang diharapkan, sedangkan pada unsupervised learning belum ditentukan target output yang harus diperoleh.

Proses klasifikasi teks dapat dibagi ke dalam dua fase, yaitu (Mahinovs, 2007) : 1.Fase information retrieval (IR) untuk mendapatkan data numerik dari dokumen teks.


(29)

Langkah pertama yang dilakukan pada fase ini adalah feature extraction. Pendekatan yang umum digunakan adalah distribusi frekuensi kata. Nilai numerik yang diperoleh dapat berupa berapa kali suatu kata muncul di dalam dokumen, 1 jika kata ada di dalam dokumen atau 0 jika tdak ada (biner), atau jumlah kemunculan kata pada awal dokumen. Fitur yang diperoleh dapat direduksi agar dimensi vektor menjadi lebih kecil. Beberapa pendakatan feature reduction dapat diterapkan seperti menghapus stop-words, stemming, dan statistical filtering. Teknik lebih lanjut seperti SVD dan genetic algorithm akan menghasilkan vector berdimensi lebih rendah.

2. Fase klasifikasi utama.

Suatu algoritma memproses data numerik di atas untuk memutuskan ke kategori mana teks baru (bukan contoh) ditempatkan. Terdapat beberapa algoritma klasifikasi yang merupakan kajian di bidang statistika dan machine learning yang dapat diterapkan pada fase ini, di antaranya adalah naïve Bayesian, Rocchio, Decision Tree, k-Nearest Neighbor (k-NN), Neural Network (NN), dan Support Vector Machines (SVM). Teknik-teknik tersebut berbeda dalam mekanisme pembelajaran dan representasi model yang dipelajari . K-NN dan SVM merupakan algoritma yang memberikan hasil klasifikasi terbaik dengan presisi di atas 85% (Kaiser,et all, 2005).

2.3 Text Mining

Text mining adalah salah satu bidang khusus dari data mining. Sesuai dengan buku The Text mining Handbook, Text Mining dapat didefinisikan sebagai suatu proses menggali informasi dimana seorang user berinteraksi dengan sekumpulan dokumen menggunakan tools analisis yang merupakan komponen komponen dalam data mining yang salah satunya adalah peringkatan dokumen (Ali, 2006). Tujuan dari Text mining adalah untuk mendapatkan informasi yang berguna dari sekumpulan dokumen. Jadi sumber data yang digunakan pada Text mining adalah kumpulan teks yang memiliki format yang tidak terstruktur atau minimal semi terstruktur. Adapun tugas khusus dari Text mining antara lain yaitu pengkategorisasian teks (text categorization) dan pengelompokan teks (text clustering). Text mining biasa dianggap subjek riset yang tergolong baru. Text mining dapat memberikan solusi dari permasalahan seperti pemrosesan, pengorganisasian/ pengelompokan dan


(30)

menganalisa unstructured text dalam jumlah besar. Dalam memberikan solusi, text mining mengadopsi dan mengembangkan banyak teknik dari bidang lain, seperti Data mining, Information retrieval, Statistik dan Matematik, Machine Learning, Linguistic, Natural Languange Processing, dan Visualization. Kegiatan riset untuk text mining antara lain ekstraksi dan penyimpanan text, preprocessing akan konten text, pengumpulan data statistic dan indexing dan analisa konten.

2.4 Ekstrasi Dokumen

Teks yang akan dilakukan proses text mining, pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur fitur yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum menentukan fitur-fitur yang mewakili, diperlukan tahap pre-procecing yang dilakukan secara umum dalam text mining pada dokumen,yaitu case folding, tokenizing, filtering, stemming, analyzing ( Manning, 2008 ) seperti yang ditunjukkan pada gambar 2.6

Gambar 2.6 Proses Pre-Proccecing Text

Case Folding

Tokenizing

Analyzing Stemming Filtering


(31)

a. Case Folding dan Tokenizing

Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil.

Hanya huruf „a‟ sampai dengan „z‟ yang diterima. Karakter selain huruf dihilangkan

dan dianggap delimiter. Tahap tokenizing / parsing adlah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Contoh dari tahap ini adalah sebagai berikut dapat dilihat pada gambar 2.7

Teks input

Teks output

Gambar 2.7 Proses Case folding dan tokenizing

b. Filtering

Tahap filtering adalah tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata yang penting). Stoplist / stopword adalah katakata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words ( Porter,et all, 1980).

Contoh stopwords adalah “yang”, “dan”, “di”, “dari” dan seterusnya. Contoh dari

tahapan ini dapat dilihat pada Gambar 2.8.

Hasil Filter Gambar

Gambar 2.8 Proses Filtering

Dalam manajemen pengetahuan terdapat transfer pengetahuan logisitic yang dikatakan Sutarno

dalam manajemen pengetahuan terdapat transfer pengetahuan

dalam manajemen pengetahuan terdapat

transfer pengetahuan

manajemen pengetahuan transfer pengetahuan


(32)

c. Stemming

Tahap stemming adalah tahap mencari root kata dari tiap kata hasil filtering (Cios, 2007). Pada tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi yang sama. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih sulit diterapkan pada teks berbahasa Indonesia . Hal ini dikarenakan bahasa Indonesia tidak memiliki rumus bentuk baku yang permanen. Contoh dari tahap ini dapat dilihat pada Gambar 2.9

Hasil Filtering Gambar 2.9 Proses Stemming Hasil Stemming

Dalam bahasa Indonesia, afiks/imbuhan terdiri dari sufiks (akhiran), infiks (sisipan), dan prefiks (awalan). Karena proses penambahan infiks dalam bahasa Indonesia jarang terjadi maka proses stemming yang akan dibangun hanya mengenai kata yang megalami penambahan prefiks dan sufiks.

d. Analyzing

Tahap analisa merupakan tahap penentuan seberapa jauh keterhubungan antar kata-kata antar dokumen yang ada. Dalam tahap analisa ini adalah proses pembobotan dokumen terhadap kata kunci yang dimasukkan. Banyak aplikasi menerapkan pembobotan kombinasi berupa perkalian bobot local term frequency dan global inverse document frequency, ditulis tf.id,f

2.5 Model Ruang Vector

Proses system IR, kemiripan antar dokumen didefinisikan berdasarkan representasi

bag-of-words dan dikonversi ke suatu model ruang vector (vector space model, VSM). Model ini diperkenalkan oleh Salton ( Salton, 1983) dan telah digunakan secara luas. Pada VSM, setiap dokumen di dalam database dan query pengguna

Dikatakan membela menguatnya dibandingkan contoh lain

Kata bela menguat Contoh lain


(33)

direpresentasikan oleh suatu vector multi dimensi ( Polettiny, 2004). Dimensi sesuai dengan jumlah term dalam dokumen yang terlibat. Pada model ini:

~ Vocabulary merupakan kumpulan semua term berbeda yang tersisa dari dokumen setelah preprocessing dan mengandung t term index. Term-term ini membentuk suatu ruang vector.

~ Setiap term i di dalam dokumen atau query j, diberikan suatu bobot (weight) bernilai real Wij

~ Dokomen dan query diekpresikan sebagai vector t dimensi dj = (w1, w2, ..., wtj) dan

terdapat n dokumen di dalam koleksi, yaitu j = 1, 2,…n

Contoh dari model ruang vektor tiga dimensi untuk dua dokumen D1 dan D2, satu query pengguna Q1, dan tiga term T1, T2 dan T3 ( Cios, 2007) diperlihatkan pada gambar 2.10.

Dalam model ruang vektor, koleksi dokumen direpresentasikan oleh matriks term-document (atau matriks term-frequency). Setiap sel dalam matriks bersesuaian dengan bobot yang diberikan dari suatu term dalam dokumen yang ditentukan. Nilai nol berarti bahwa term tersebut tidak hadir di dalam dokumen (Cios, 2007). Gambar 2.11 mempertegas penjelasan ini .

Gambar 2.10 Contoh model ruang vektor dengan dua dokumen D1 dan D2, serta


(34)

T1 T2 … Tt D1 W11 W21 … wt1 D2 W12 W22 … wt2 … … … … … Dn W1n W2n … Wtn

Gambar 2.11 Contoh matriks term-document untuk database dengan n dokumen dan t term

Keberhasilan dari model VSM ini ditentukan oleh skema pembobotan terhadap suatu term baik untuk cakupan lokal maupun global, dan faktor normalisasi (Poletinny, 2004) . Pembobotan lokal hanya berpedoman pada frekuensi munculnya term dalam suatu dokumen dan tidak melihat frekuensi kemunculan term tersebut di dalam dokumen lainnya. Pendekatan dalam pembobotan lokal yang paling banyak diterapkan adalah term-frequency (tf) meskipun terdapat skema lain seperti pembobotan biner, augmented normalized tf, logaritmik tf dan logaritmik alternatif.

Pembobotan global digunakan untuk memberikan tekanan terhadap term yang mengakibatkan perbedaan dan berdasarkan pada penyebaran dari term tertentu di seluruh dokumen. Banyak skema didasarkan pada pertimbangan bahwa semakin jarang suatu term muncul di dalam total koleksi maka term tersebut menjadi semakin berbeda. Pemanfaatan pembobotan ini dapat menghilangkan kebutuhan stop word removal karena stop word mempunyai bobot global yang sangat kecil. Namun pada prakteknya lebih baik menghilangkan stop word di dalam fase pre-processing sehingga semakin sedikit term yang harus ditangani. Pendekatan terhadap pembobotan global mencakup inverse document frequency (idf), squared idf, probabilistic idf, GF-idf, entropy.Pendekatan idf merupakan pembobotan yang paling banyak digunakan


(35)

saat ini. Beberapa aplikasi tidak melibatkan bobot global, hanya memperhatikan tf, yaitu ketika tf sangat kecil atau saat diperlukan penekanan terhadap frekuensi term di dalam suatu dokumen .

Faktor normalisasi digunakan untuk menormalkan vektor dokumen sehingga proses retrieval tidak terpengaruh oleh panjang dari dokumen. Normalisasi ini diperlukan karena dokumen panjang biasanya mengandung perulangan term yang sama sehingga menaikkan frekuensi term (tf). Dokumen panjang juga mengandung banyak term yang berbeda sehingga menaikkan ukuran kemiripan antara query dengan dokumen tersebut, meningkatkan peluang di-retrievenya dokumen yang lebih panjang. Beberapa pendekatan normalisasi adalah normalisasi cosinus, penjumlahan bobot, normalisasi ke-4, normalisasi bobot maksimal dan normalisasi pivoted unique.

Bobot local suatu term i didalam dokumen j (tfij) dapat didefinisikan sebagai:

Dimana fij adalah jumlah berapa kali term i muncul di dalam dokumen j. Frekuensi tersebut dinormalisasi dengan frekuensi dari most common term di dalam dokumen tersebut.

Bobot global dari suatu term i pada pendekatan inverse document frequency (idfi) dapat didefinisikan sebagai

Dimana dfi adalah frekuensi dokumen dari term i dan sama dengan jumlah dokumen

yang mengandung term i. Log2 digunakan untuk memperkecil pengaruhnya relative terhadap tfij.

Bobot dari term i di dalam sistem IR (wij) dihitung menggunakan ukuran tf-idf yang didefinisikan sebagai berikut :


(36)

Bobot tertinggi diberikan kepada term yang muncul sering kali dalam dokumen j tetapi jarang dalam dokumen lain. Gambar 2.12 memperlihatkan proses perhitungan bobot tfidf bagi suatu dokumen yang menyertakan kalimat “data cube contains x data

dimension, y data dimension, and z data dimension” (Cios, 2007).

Gambar 2.12 Contoh perhitungan bobot tf-idf

2.6 Ukuran Kemiripan

Model ruang vektor dan pembobotan tf-idf digunakan untuk merepresentasikan nilai numerik dokumen sehingga kemudian dapat dihitung kedekatan antar dokumen. Semakin dekat dua vektor di dalam suatu VSM maka semakin mirip dua dokumen yang diwakili oleh vektor tersebut. Kemiripan antar dokumen dihitung menggunakan suatu fungsi ukuran kemiripan (similarity measure). Ukuran ini memungkinkan perankingan dokumen sesuai dengan kemiripan (relevansi)nya terhadap query. Setelah dokumen diranking, sejumlah tetap dokumen top-scoring dikembalikan kepada pengguna . Pada algoritma vector space model gunakan rumus untuk mencari nilai cosines sudut antara dua vector dari setiap bobot dokumen (WD) dan bobot kata kunci (WK). Rumus yang digunakan adalah sebagai berikut (Cios, 2007):


(37)

CosSim(d

j

.q) =

2.7 Pemrograman Visual Basic

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintah perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented rogramming OOP).


(38)

2.7 Penelitian sebelumnya

Proses filtering email sudah ada dilakukan sebelumnya untuk penelitian antara lain :

Tabel 2.3 Penelitian sebelumnya

No Nama Tahun Judul Penelitian Kelebihan Kelemahan

1 Miftah Andriansyah dan Adang Suhendra 2007 Pendeteksian Surat elektronik menggunakan filter Bayesian Metode Bayesian dapat menyaring email yang tidak diinginkan dengan tingkat keakuratan lebih dari 95% Terkadang terblokir atau terhapus suatu mail yang ternyata bukan tergolong spam. 2 Rifki Primarta dan Sukemi 2008

Proteksi Mail Server Dari Spam Dan Virus Menggunakan Untangle Gateway

Gateway

merupakan solusi jaringan berbasis open source yang telah terintegrasi dengan modul-modul untuk memfilter Tidak tersedia. 3 Khairil Anwar, Aris Sugiharto dan Priyo Sidik Sasongko 2010 Analisa Perbandingan Algoritma SVM, NAIVE BAYES, DAN DECISION TREE Dalam Mengklasifikasi Serangan(ATTACKS) Kinerja algoritma decision tree lebih baik dibandingkan dengan algoritma SVM dan NBC .


(39)

BAB III

ANALISIS DAN PERANCANGAN

3.1. Analisis Aplikasi

Analisis aplikasi bertujuan untuk mengidentifikasi permasalahan-permasalahan yang ada pada sistem dimana aplikasi yang dibangun yang meliputi perangkat lunak (software), serta hasil analisis terhadap aplikasi dan elemen elemen yang terkait. Analisis ini diperlukan sebagai dasar bagi tahapan perancangan aplikasi. Analisis aplikasi desain dan implementasi ini meliputi desain data, deskripsi sistem, desain proses dan implementasi desain dan semua yang diperlukan dalam page rank (peringkatan dokumen ).

3.1.1 Analisis Data

Data pengujian yang digunakan dalam penelitian ini adalah email yang ada pada inbox sebuah aplikasi email. Data ini diambil dari semua email inbox yang pada aplikasi email.

3.1.2. Spesifikasi Aplikasi

Aplikasi yang dibangun memiliki kemampuan sebagai berikut : a. Melakukan tokenizing dalam data dan key pada inbox email.

b.Melakukan pembobotan kata terhadap kata kunci yang dimasukkan dan pembobotan pada tiap dokumen

c . Memberikan peringkatan sesuai bobot terhadap kata kunci

3.1.3. Spesifikasi pengguna

Aplikasi ini ditujukan untuk digunakan oleh semua pihak yang membutuhkan pengklasifikasian pada sebuah email. Khususnya bagi seseorang yang setiap harinya berurusan dengan email.


(40)

3.1.4. Lingkungan operasi

Perangkat lunak yang dibangun ini membutuhkan perangkat lunak lain sebagai penunjang agar aplikasi ini berjalan sesuai dengan fungsinya.

Kebutuhan tersebut diantaranya: a. Antar muka pemakai

Sebagai penunjang antarmuka pemakai dari perangkat lunak, diperlukan visual basic 2010

b. Aplikasi database

Untuk database menggunakan Microsoft access.

3.1.5. Deskripsi aplikasi

Aplikasi yang dibangun ini adalah pengklasifikasian email yang didalamnya diimplementasikan metode text mining yang digunakan untuk optimasi pencarian. Tujuannya adalah untuk membuat peringkatan dokumen terhadap kata kunci yang dimasukkan. Tahapan dalam pembuatan peringkatan dokumen ini ada 2, yaitu preprocessing dan analisa.

Tahapan preprocessing yang diterapkan pada aplikasi ini yaitu case folding dan tokenizing. Case folding adalah mengubah semua huruf dalam dokumen menjadi

huruf kecil. hanya huruf „a‟ sampai dengan „z‟ yang diterima. Karakter selain huruf

dihilangkan dan dianggap delimiter. Tahap tokenizing / parsing adlah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya.

Seperti digambar pada Gambar 3.1dalam tahap preprocessing, proses yang dilakukan adalah


(41)

- User mengunduh ” inbox email” dari mail server.

- Hasil proses unduh tersebut kemudian disimpan dalam database.

- Sistem akan melakukan pemrosesan terhadap email tersebut, yaitu case folding dan tokenizing

Gambar 3.1 Proses Preprocessing

START

Unduh inbox email

Proses pre-processing (case folding dan tokenizing )

STOP Menyimpan data asli (inbox email) kedalam


(42)

Kemudian dalam tahap analisa, proses yang dilakukan sebagaimana dijelaskan pada Gambar 3.2 adalah:

- User memasukkan kata kunci

- Kata kunci diproses ke dalam preprocessing

- Sistem akan mengambil email hasil preprocessing yang mengandung kata kunci

- Sistem akan menghitung bobot email terhadap kata kunci - Hasil pembobotan akan dilakukan peringkatan dokumen

- Sistem akan menampilkan email asli sesuai peringkat dokumen

Gambar 3.2 Diagram alir analisa konten

Start

Masukkan kata kunci

Kata kunci dimasukkan ke proses Pre processing

Ambil data hasil pre processing sesuai kata kunci

Hitung pembobotan dokumen terhadap kata kunci

Ambil email asli dari database dan diperingkatkan sesuai bobot

Tampilkan peringkat email


(43)

3.2 Perancangan Aplikasi

Pada perancangan aplikasi peringkatan dan pengklasifikasian email ini akan dijelaskan mengenai rancangan aplikasi yang akan dikerjakan serta fitur-fitur yang akan dipakai pada aplikasi tersebut. Objek dari penelitian ini yaitu inbox email yang ada. Hal ini digunakan untuk pemberian hasil peringkatan email terhadap kata kunci yang dimasukkan.

Kegiatan riset untuk text mining antara lain ekstraksi dan penyimpanan text, preprocessing akan konten email, pengumpulan data statistic dan analisa konten.

3.2.1 Ekstraksi dokumen

Teks yang akan dilakukan proses text mining, pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur yang mewakili setiap kata untuk fitur yang ada pada dokumen. Sebelum menentukan fitur-fitur yang mewakili, diperlukan tahap preprocessing yang akan dilakukan secara umum dalam text mining pada dokumen, yaitu case folding, tokenizing.

3.2.1.1 Case Folding

Dalam tahap ini dokumen yang masuk akan dirubah menjadi huruf kecil. Hanya huruf

„a‟ sampai dengan „z‟ yang hanya diterima. Karakter selain huruf itu, baik angka maupun simbol-simbol lain akan dihilangkan dan dianggap sebagai delimiter.

3.2.1.2 Tokenizing

Tahap tokenizing disebut juga sebagai parsing, yaitu pemotongan tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Karena dalam tahap

sebelumnya semua karakter dan symbol telah dihilangkan kecuali huruf „a‟ sampai „z‟

maka tahap parsing ini delimiter yang dipakai sebagai pemotongan adalah spasi. Diagram alir case folding dan tokenizing dapat dilihat pada Gambar 3.3


(44)

Gambar 3.3 Proses Case folding dan Tokenizing

3.2.2. Analisa

Tahap analyzing merupakan tahap penentuan seberapa jauh keterhubungan antar kata kata antar dokumen yang ada. Dalam tahap ini, dicari bobot tiap tiap dokumen terhadap kata kunci yang dimasukkan. Tahap analisa ini algoritma yang digunakan adalah Algoritma TF/IDF dan Vector Space Model

Start

Input dokumen

Ubah semua karakter dalam huruf kecil

Hapus Karakter dan symbol selain a-z

Potong dokumen menjadi kata berdasarkan spasi

Hasil Kata


(45)

3.2.2.1. Algoritma TF/IDF ( Term Frequency – Inversed Document Frequency )

Metode TF/IDF ini merupakan metode pembobotan dalam bentuk sebuah metode yang merupakan integrasi antar term frequency (tf), dan inverse document frequency (idf). Dari formula yang dijelaskan bab sebelumnya dapat digambar dalam diagram alir pada Gambar 3.4 dan Gambar 3.5

ya

tidak

Gambar 3.4 Diagram Alir Pembobotan TF/IDF

START

Kata hasil prepocessing

Hitung term frequency (tf)

Hitung document frequency(df)

Cek df==0

df=1

Hitung D/df = jumlah dokumen / df


(46)

ya

tidak

Gambar 3.5 Diagram Alir Pembobotan TF/IDF

Selain bobot (W) masing masing dokumen diketahui, maka dilakukan proses sorting / pengurutan dimana semakin besar nilai W, semakin besar tingkat similaritas dokumen tersebut terhadap kata yang dicari, demikian sebaliknya. Jika hasil pembobotan memiliki bobot yang sama, maka algoritma ini dilanjutkan dengan menggunakan algoritma vector space model. Berikut diagram analisa algoritma TF/IDF dapat dilihat pada Gambar 3.6

Cek

D/df=10

Hitung IDF = log (D/df)

Hitung bobot = tf * idf

Pengurutan bobot secara descending

Bobot terurut

Stop A


(47)

bobot sama

Gambar 3.6 Analisa TF/IDF 3.2.2.2 Cosine Similarity

Seperti dijelaskan pada pembahasan sebelumnya bahwa ide dari metode ini adalah dengan menghitung cosinus sudut dari dua vector , yaitu W dari tiap dokumen dan W dari kata kunci . Dari perhitungan tersebut dapat dibuat diagram alir sebagaimana Gambar 3.7

Start

Input kata kunci

Analyzing dengan data dokumen yang sudah

Cek hasil bobot

Wi=Wn

Sorting

Stop


(48)

For 1=0;i<jmlh W;i++

back

Next

Gambar 3.7 Vector Space Model

Start

Input W hasil tf/idf

Hitung Sqrt kata kunci

Hitung Sqrt Di

Hitung Sum (kk dot Di)

Urutkan Cosine secara desc

Wcosine dalam urutan desc


(49)

3.2.3. Use case diagram

Usecase Diagram merupakan gambaran fungsionalitas yang diharapkan dari sebuah sistem dan digunakan untuk merepresentasikan interaksi antara aktor dengan sistem. Pembuatan usecase menekankan pada apa yang dibuat sistem, bukan bagaimana yang dibuat sistem.

Berikut ini adalah use diagram untuk aplikasi klasifikasi pada email dalam Gambar 3.8

User

System

Download email

Tampil list email

*

* clasification email

Send email *

*

*

*

*

*


(50)

Berdasarkan usecase diagram pada gambar tersebut , dokomentasi naratif pada proses klasifikasi email yang terdapat dalam usecase diagram diatas dapat dilihat dalam Tabel 3.1 berikut ini

Tabel 3.1 Tabel Dokumentasi Naratif Usecase klasifikasi email

Nama Usecase Download email

Aktor Pengguna

Brief Description Usecase ini menggambarkan pengguna dapat melakukan download terhadap email

Pre-condition Pengguna menginput ID ( server,account,password,port)

Basic Flow Kegiatan Aktor Respon Sistem

1. Membuka menu email pada aplikasi

3. Menginput ID pada kotak dialog Receive

Email lalu tekan

download

5. Melihat tampilan list email yang ada

2. Mengklik submenu download yang berisi Receive Email berupa (server,account,password,port,total)

4. Sistem akan melakukan

autentifikasi terhadap inputan ID, jika salah maka akan kembali lagi ke kotak dialog dan jika benar maka sistem akan mendownload inbox email .

Alternate Flow -

Post-condition Email sudah terdownload dan ditampilkan pada halaman utama(home)


(51)

Dokumen naratif pada klasifikasi email pada download email, untuk usecase pilih view list email terdapat pada tabel 3.2 berikut ini

Tabel 3.2 Tabel Dokumentasi Naratif Usecase View List Email

Nama Usecase View list email / full email

Aktor Pengguna

Brief Description

Usecase ini menampikan inbox email ( No, Form, Subject, Date Time)

Pre-condition Pengguna masuk ke menu utama tampilan list email

Basic Flow Kegiatan Aktor Respon Sistem

1. Mengklik email yang ingin dilihat

3. Memilih tombol exit jika ingin kluar dari aplikasi tersebut

2. Menampilkan keseluruhan isi dari email yang ingin dlihat

4. Sistem akan otomatis keluar

Alternate Flow -

Post-condition View list sudah dilhat secara detail dan melakukan penyimpanan ke database


(52)

Sedangkan untuk dokumentasi naratif pada aplikasi klasifikasi email dengan algoritma vector space model untuk usecase pilih menu filtering terdapat pada tabel 3..3 berikut ini

Tabel 3..3 Tabel Dokumentasi Naratif Usecase Klasifikasi

Nama Usecase Clasification

Aktor Pengguna

Brief Description

Usecase ini akan melakukan klasifikasi dan perangkingan terhadap email yang sudah di save sebelumnya.

Pre-condition Pengguna masuk ke menu utama clasification

Basic Flow Kegiatan Aktor Respon Sistem

1. Membuka menu

clasification

3. Memasukkan keyword dalam pengklasifikasian 5. Memilih klasifikasi berdasarkan sender

7.Memilih klasifikasi

berdasarkan subject

9.Memilih klasifikasi

berdasarkan date time 11.Memilih klasifikasi

berdasarkan full

email(body)

13. Menekan tombol exit untuk keluar dari aplikasi

2. Menampilkan Filtering_form berdasarkan sender, subject, date time, full email(body)

4. Sistem akan memberikan

pilihan klasifikasi berdasarkan sender ,subject, date time, body 6. Menampilkan folder klasifikasi berdasarkan sender

8.Menampilkan folder klasifikasi berdasarkan subject

10.Menampilkan folder klasifikasi berdasarkan date time

12.Menampilkan folder klasifikasi berdasarkan full email(body) 14.sistem akan lansung keluar otomatis

Alternate Flow - Post-condition Sistem


(53)

Sedangkan untuk dokumentasi naratif pada aplikasi klasifikasi email untuk mengirim email untuk usecase pilih menu send email terdapat pada tabel 3..4 berikut ini

Tabel 3.4 Tabel Dokumentasi Naratif Usecase send email

Nama Usecase Send email

Aktor Pengguna

Brief Description

Usecase ini akan melakukan pengiriman email (send email)

Pre-condition Pengguna masuk ke menu utama email

Basic Flow Kegiatan Aktor Respon Sistem

1. Membuka menu email 3. Mengisi form smtp send email yakni (account, password, to, subject, messages, attach file) lalu tekan send

2. Menampilkan smtp send email berisi (server, port, account, password, to, subject, messages, attach file, send)

4. Sistem akan mengirim email tersebut

Alternate Flow -

Post-condition Sistem akan menampilkan script success jika email telah terkirim (Email sent)


(54)

3.2.4. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

Sebuah aktivitas dapat direalisasikan oleh satu usecase atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara usecase menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Gambar 3.9 berikut ini akan mengilustrasikan activity diagram menggunakan menu utama.

sistem

Pengguna

Membuka Aplikasi Menampilkan main menu

Email Clasification

Tampilan menu dipilih


(55)

Activity diagram untuk pilihan menu dapat dilihat pada Gambar 3.10 berikut.

Sistem Pengguna

Menampilkan menu email Pilih download

Menampilkan form receive mail

Menginput ID ( server,user,pass,port)

Proses download

Menampilkan hasil download


(56)

Untuk pilihan filtering, activity diagramnya dapat dilihat pada Gambar 3.11 berikut

Sistem Pengguna

Menampilkan menu klasifikasi Memasukkan kata kunci

Menampilkan klasifikasi berdasarkan sender,subject,body

Memilih pengklasifikasian berdasarkan fieldnya

Proses klasifikasi

Menampilkan hasil klasifikasi


(57)

Untuk pengiriman email, activity diagramnya dapat dilihat pada Gambar 3.12 berikut

Sistem Pengguna

Menampilkan menu email

Menglik send email

Menampilkan form smtp send email

Mengisi form smtp send email

Proses pengiriman (send)

Menampilkan (email sent)


(58)

3.3. Perancangan antar muka

Perancangan antarmuka dibuat agar tampilan aplikasi lebih user friendly sehingga mudah dipahami dan digunakan oleh pengguna. Perancangan antarmuka aplikasi klasifikasi email ini terdiri dari beberapa tampilan, yaitu menu utama, halaman untuk mendownload email dan mensend email, halaman untuk menklasifikasi email. Berikut ini adalah rancangan antarmuka aplikasi.

3.3.1. Menu Utama

Rancangan menu utama merupakan tampilan pertama yang muncul saat aplikasi dijalankan. Pada rancangan menu utama terdiri dari lima sub menu :

a. Sub menu Email b. Sub menu klasifikasi

Rancangan menu utama dapat dilihat pada Gambar 3.13 berikut ini.

__

x

Klasifikasi

Aplikasi pengklasifikasian email

1 2

Classification No

3

4 6

Subject Date Time

Email

Form


(59)

Keterangan :

1. Menu email untuk masuk ke form download dan send email. 2. Menu klasifikasi merupakan menu untuk masuk ke form klasifikasi.

3. No,From,Subject,Date Time adalah berisi email email yang nantinya di download.

3.3.2. Menu email

Rancangan menu email merupakan halaman untuk melakukan proses download email Rancangan menu email dapat dilihat pada Gambar 3.14 berikut ini.

x

Aplikasi Klasifikasi email dengan Vector Space Model

1 Login

Server : Account Password Port

Login_Form

pop.gmail.com

995

Download

2

3

Gambar 3.14 Rancangan Antarmuka Menu Email

Keterangan

1. Download untuk masuk ke form pengisian (receive email)

2. Receive email adalah form halaman untuk pengisian account dan password 3. Download untuk mengunduh email email pada server gmail.


(60)

3.3.3. Menu sub email

Rancangan menu email merupakan halaman untuk melakukan proses send email . Rancangan menu email dapat dilihat pada Gambar 3.18 berikut ini.

x

Aplikasi Klasifikasi email dengan Vector Space Model

1 Send Email

Server

Port

Account

Password

To

Subject

Message

Attach Send

Smtp & Send email 2

Smtp.gmail.com 587

Gambar 3.15 Rancangan Antarmuka Send Email

Keterangan

1. Send email untuk masuk ke form pengisian (smtp & send email)

2. Send email adalah form halaman untuk pengisian account dan password . 3. send untuk mengirim email melalui server client gmail.


(61)

3.3.4. Menu klasifikasi

Rancangan menu klasifikasi merupakan halaman untuk melakukan klasifikasi pada email. Rancangan menu filter dapat dilihat pada Gambar 3.19 berikut ini

x

Aplikasi Klasifikasi email dengan Vector Space Model

Go Filter 1

Field

Form Address Subject

Klasifikasi berdasarkan

Form Address

3

Date Time Full Email

2

Gambar 3.16 Rancangan antarmuka menu filter

Keterangan:

1. Menu Filter untuk masuk ke form pengisian kata kunci 2. Text box pengisian kata kunci


(62)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi merupakan tahapan untuk meletakkan aplikasi untuk dapat dioperasikan Dengan kata lain, tahapan ini merupakan kelanjutan dari tahapan perancangan dimana rancangan aplikasi yang telah dibuat diwujudnyatakan dalam bahasa pemrograman. Dalam bab ini akan dibahas form- form hasil implementasi aplikasi. Program ini dapat dijalankan dengan konfigurasi computer sebagai berikut:

1. Processor Intel® Core ™ i3 CPU

2. RAM 1 Gb

3. Operating Sistem Windows 7

4. VGA Card ATI Mobility Radeon ™ HD 5470

5. Mouse

6. Keyboard

7. Hard Disk 320 GB

Dalam pembuatan sistem, perangkat lunak yang digunakan adalah visual basic 2010 dan access 2007 sebagai databasenya.

4.2 Pengujian

Pengujian yang dilakukan dalam sistem ini adalah jalannya algoritma vector space model dalam menentukan peringkat sesuai dengan kata kunci yang diinput. Dalam pengklasifikasian inbox email berdasarkan form address, subject, date/time, full email sistem akan menampilkan ranking dan urutan sesuai dengan keyword yang ingin dimunculkan.


(63)

4.2.1 Tabel Pada Acesss

Terdapat dua tabel yang peneliti buat pada Acesss Database. Terdiri dari tabel download dan tabel classified. Adapun penjelasannya akan dipaparkan satu persatu

1.Tabel download

Tabel download terdiri dari enam kolom dengan no, from, subject, date time, content, rank. Hasil pengunduhan email akan otomatis tersimpan dalam database sistem. Seperti terlihat pada tabel 4.1 berikut.


(64)

2.Tabel classified

Tabel classified terdiri dua kolom dengan kata kunci (keyword) dan jenis klasifikasi seperti terlihat pada tabel 4.2 berikut.

Gambar 4.2 Tabel Classified

4.2.2 Tampilan Awal Sistem

Adapun hasil implementasi form yang telah dirancang pada sistem sebagai berikut

1.Tampilan utama (Home)

Home adalah form yang pertama kali muncul pada saat aplikasi mulai dijalankan. Pada form ini terdapat dua form menu yaitu:

1. Menu email 2. Menu filtering


(65)

Gambar 4.1 Tampilan Awal Sistem

Pada form utama terdapat 2 menu pilihan utama, yaitu sebagai berikut: 1.Email

Pengguna yang ingin masuk ke login_form untuk melakukan pengisian dan pengunduhan email dan melakukan pengiriman email dapat menggunakan menu email. Ketika pengguna mengklik menu email maka submenu email akan ditampilkan. Tampilan submenu pada menu email dapat dilihat seperti pada gambar 4.2


(66)

Pada menu email ini terdapat 2 buah submenu yaitu sebagai berikut:

 Download

Ketika submenu download diklik maka akan muncul tampilan email_form seperti pada gambar 4.3. Pada email_form, pengguna lebih dahulu mengisi data untuk medownload email. Pengguna perlu mengisi account dan password. Setelah mengisi form tersebut pengguna dapat mengklik download untuk mengunduh email. Data yang akan diisi terdapat dalam login_form, seperti pada tampilan gambar 4.3 berikut

Gambar 4.3 Login_Form

Pada login_form ini terdapat beberapa data yang perlu diisi, yang berguna sebagai autentifikasi untuk memproses pengunduhan email. Setelah mengisi account dan password maka pengguna dapat mengklik button download untuk mengunduh inbox email yang ada pada account gmail pengguna.

Jika pengguna salah mengisi account dan passwordnya maka aplikasi akan memunculkan sebuah form yang menandakan account dan password yang dimasukkan salah. Seperti pada gambar 4.4 berikut


(67)

Gambar 4.4 Tampilan form not accepted

Jika pengguna tidak mengisi account dan passwordnya maka aplikasi akan memunculkan form yang menandakan pengguna harus mengisinya terlebih dahulu. Seperti pada gambar 4.5 berikut

Gambar 4.5 Tampilan complete input

Jika pengguna sudah benar dalam pengisian account maupun passwordnya maka akan muncul form yang menandakan welcome pada pengguna. Seperti pada gambar 4.6 berikut


(68)

 Send Email

Submenu kedua pada menu login adalah submenu send email. Submenu ini dapat digunakan oleh pengguna untuk mengirim email seperti gambar 4.7 berikut

Gambar 4.7 Tampilan Send_Email

Pada send_email ini terdapat beberapa data yang perlu diisi, yang berguna sebagai autentifikasi untuk memproses pengiriman email. Hal yang dilakukan adalah mengisi account dan password pengguna kemudian mengisi nama account yang mau dituju lalu mengisi subject dan pesan serta dapat mengattach file yang ingin dilampirkan . Setelah itu mengklik button send untuk mengirim email.

2. Clasification.

Pengguna yang ingin mengklasifikasi email yang sudah diunduh dapat menggunakan menu ini. Ketika pengguna mengklik menu ini maka akan tampil submenu filter. Submenu filter dapat dilihat pada gambar 4.8 berikut.


(69)

Gambar 4.8 Tampilan submenu classification

Pada menu classification terdapat sebuah submenu yaitu submenu filter.

 Filter

Ketika pengguna mengklik filter maka akan muncul form_filtering yang nantinya akan mengklasifikasikan email sesuai dengan keyword yang diketik oleh pengguna. Tampilan form_filtering adalah sebagai berikut.

Gambar 4.9 Tampilan Filtering_Form

Pada filtering_form ini pengguna dapat mengklasifikan email yang sudah diunduh berdasarkan kata kunci dan berdasarkan field yang ada. Dalam aplikasi ini field yang nantinya akan dipilih yaitu


(70)

1. Form address 2. Subject 3. Date Time 4. Full Email

Keempat field tersebut dapat kita lihat pada tampilan gambar berikut:

Gambar 4.10 Tampilan berdasarkan field

Ketika pengguna memasukkan kata kunci pada tampilan gambar diatas dan memilih berdasarkan subject maka aplikasi akan melakukan klasifikasi sesuai kata kunci dan menampilkan hasil ranking sesuai dengan algoritma vector space model, seperti pada tampilan gambar 4.11 berikut


(1)

Public Sub DeleteTableAt(ByVal str As String) Try

Dim StrCon As String = "delete from " & str

Dim cmd As New System.Data.OleDb.OleDbCommand(StrCon, AccessConnection)

cmd.ExecuteNonQuery() Catch ex As Exception MsgBox(ex.Message) End Try

End Sub End Module

Public Class Download_Form

Private Sub BtnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDownload.Click

If TxtServer.Text = "" Or TxtAccount.Text = "" Or TxtPassword.Text = "" Or TxtPort.Text = "" Then

MsgBox("Please complete input", MsgBoxStyle.Exclamation, "Warning") Exit Sub

End If

If myTcpClient.Connected Then myTcpClient.Close() End If

StrServer = TxtServer.Text StrAcount = TxtAccount.Text StrPassword = TxtPassword.Text StrPort = Val(TxtPort.Text) Status = "Connecting..." LblStatus.Text = Status PbWaiting.Visible = True BtnDownload.Enabled = False BgwConection.RunWorkerAsync() End Sub

Private Sub Download_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Main_Form.Enabled = False

TxtServer.Text = "pop.gmail.com" TxtPort.Text = 995

TxtTotal.Text = EmailTotal LblStatus.Text = Status

If Status = "Downloading..." Then PbWaiting.Visible = True BtnDownload.Enabled = False Else

PbWaiting.Visible = False BtnDownload.Enabled = True End If

End Sub

Private Sub BgwConection_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BgwConection.DoWork


(2)

ConnectToMailServer() End Sub

Private Sub BgwConection_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles

BgwConection.RunWorkerCompleted TxtTotal.Text = EmailTotal Status = "Checking..." LblStatus.Text = Status

BgwMailNumber.RunWorkerAsync() End Sub

Private Sub BgwMailNumber_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BgwMailNumber.DoWork

GetMailNumber() End Sub

Private Sub BgwMailNumber_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles

BgwMailNumber.RunWorkerCompleted Status = "Downloading..." LblStatus.Text = Status PbWaiting.Visible = False BtnDownload.Enabled = True TxtTotal.Text = EmailTotal

Main_Form.BgwMailList.RunWorkerAsync() Main_Form.Timer1.Start()

Main_Form.TSLStatus.Text = Status

Main_Form.TSLDownloaded.Text = Downloaded & " Downloaded" Main_Form.TSLFailed.Text = Val(EmailTotal) & " Not Downloaded" Me.Close()

End Sub

Private Sub Download_Form_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

Main_Form.Enabled = True End Sub

Private Sub BtnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnStop.Click

EndEmailConnection() Status = "Stopped..." LblStatus.Text = Status PbWaiting.Visible = False BtnDownload.Enabled = True End Sub

End Class

Public Class Filtering_Form

Private Sub Filtering_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

LblFilteringProcess.Visible = False CbbClassify.SelectedIndex = 0 End Sub

Public Sub BtnFilter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFilter.Click


(3)

If Status = "Downloading..." Then Exit Sub Main_Form.key = Me.TxtKeyFilter.Text If Main_Form.key.Trim = "" Then Main_Form.DgvTampil.Rows.Clear()

DisplayAllData(Main_Form.DgvTampil, " order by [No]") Exit Sub

End If

DataCount = Main_Form.DgvTampil.RowCount IndexFiltering = New ArrayList

re_dim()

Classify = CbbClassify.SelectedIndex + 1 LblFilteringProcess.Visible = True

Try

If TxtKeyFilter.Text = "" Then Exit Try

Dim StrKey As String = TxtKeyFilter.Text & " - " & CbbClassify.SelectedItem.ToString

Dim StrCon As String = "Insert into Classified values('" & StrKey & "')"

Dim cmd As New System.Data.OleDb.OleDbCommand(StrCon, AccessConnection)

cmd.ExecuteNonQuery()

Main_Form.LsbGroup.Items.Add(StrKey) Catch ex As Exception

Exit Try End Try

Main_Form.BgwFiltering.RunWorkerAsync() End Sub

End Class

Imports System.Text Imports System.Net.Mail

Public Class Send_Email_Form

Dim SmtpSvr As New Net.Mail.SmtpClient() Dim E_mail As New Net.Mail.MailMessage() Dim UsrNm, Pwd, Srve As String

Dim Int_port As Integer

Dim E_To, E_Sub, E_Content As String

Private Sub Smtp_Send_Email_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TxtServer.Text = "smtp.gmail.com" TxtPort.Text = 587

End Sub

Private Sub BtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSend.Click

UsrNm = TxtAccount.Text

'My 2-Step Verfication Password (Link) coz

'I enable this method, if not then your regular Password.

Pwd = TxtPassword.Text Srve = TxtServer.Text


(4)

E_To = TxtTo.Text E_Sub = TxtSubject.Text E_Content = TxtContent.Text Cursor = Cursors.WaitCursor BgwSend.RunWorkerAsync() End Sub

Private Sub BgwSend_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BgwSend.DoWork

Try

SmtpSvr.UseDefaultCredentials = False

SmtpSvr.Credentials = New Net.NetworkCredential(UsrNm.ToString, Pwd.ToString)

SmtpSvr.Port = Int_port SmtpSvr.Host = Srve.ToString E_mail = New MailMessage()

E_mail.From = New MailAddress(UsrNm.ToString, UsrNm, System.Text.Encoding.UTF8)

E_mail.IsBodyHtml = False 'Still Working on it.

E_mail.Body = E_Content SmtpSvr.EnableSsl = True

E_mail.To.Add(E_To) 'TextBox Name : TxtFrnd

E_mail.Subject = (E_Sub) 'TextBox Name : TxtSub

SmtpSvr.Send(E_mail)

MsgBox("Email Sent", MsgBoxStyle.Information, "Info") Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") End Try

End Sub

Private Sub BgwSend_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles

BgwSend.RunWorkerCompleted Cursor = Cursors.Default Me.Close()

End Sub End Class Module VSM

Public DataCount As Integer Public d(0) As String Public Token As ArrayList Public t_kk As ArrayList Public t_d(0) As ArrayList Public df As New ArrayList Public idf As New ArrayList Public w_kk As New ArrayList Public w_d(0) As ArrayList Public r_kd(0) As Double Public r_k2(0) As Double Public r_d2(0) As Double Public vsm_total(0) As Double Public Sub re_dim()

ReDim d(DataCount - 1) Token = New ArrayList t_kk = New ArrayList ReDim t_d(DataCount - 1)


(5)

df = New ArrayList idf = New ArrayList w_kk = New ArrayList ReDim w_d(DataCount - 1) ReDim r_kd(DataCount - 1) ReDim r_k2(DataCount - 1) ReDim r_d2(DataCount - 1) ReDim vsm_total(DataCount - 1)

For i As Integer = 0 To DataCount - 1 d(i) = ""

t_d(i) = New ArrayList w_d(i) = New ArrayList r_kd(i) = 0

r_k2(i) = 0 r_d2(i) = 0 vsm_total(i) = 0 Next

End Sub

Public Sub Hitung_VSM(ByVal kk As String) kk = kk.ToLower

'Get token

Dim temp() As String Dim i, j, k As Integer For i = 0 To d.Length - 1

d(i) = d(i).Replace(Chr(Keys.LineFeed), "") d(i) = d(i).ToLower

temp = d(i).Split(" ") For j = 0 To temp.Length - 1

If Not Token.Contains(temp(j)) Then Token.Add(temp(j))

End If Next Next

Dim c As Integer = 0

For i = 0 To Token.Count - 1

Token.Item(i) = Token.Item(i).ToString.Replace(" ", "") Dim strtmp As String = Token.Item(i)

'hitung token dalam key

c = 0

temp = kk.Split(" ")

For j = 0 To temp.Length - 1

temp(j) = temp(j).Replace(" ", "") If strtmp.Contains(temp(j)) Then c += 1 Next

t_kk.Add(c)

'hitung token dalam data

For j = 0 To d.Length - 1 c = 0

temp = d(j).Split(" ") For k = 0 To temp.Length - 1 temp(k).Replace(" ", "") If strtmp=temp(k) Then c += 1 Next


(6)

t_d(j).Add(c) Next

'hitung banyak data yg mengandung token

c = 0

For j = 0 To d.Length - 1

If t_d(j).Item(i) <> 0 Then c += 1 Next

df.Add(c)

'hitung log10 dari data yang mengandung token

idf.Add(Math.Round(CDbl(Math.Log10(CDbl(DataCount) / CDbl(Val(df.Item(i))))), 3))

'hitung bobot key

w_kk.Add(CDbl(Val(t_kk.Item(i))) * CDbl(Val(idf.Item(i)))) 'hitung bobot tiap dokumen

For j = 0 To d.Length - 1

w_d(j).Add(CDbl(Val(t_d(j).Item(i))) * CDbl(Val(idf.Item(i)))) Next

Next

'perhitungan awal vsm

For j = 0 To d.Length - 1

For i = 0 To Token.Count - 1 'If t_kk(i) <> 0 Then

r_kd(j) += Math.Round(CDbl(w_kk.Item(i)) * CDbl(w_d(j).Item(i)), 3)

'End If

r_k2(j) += (CDbl(w_kk.Item(i)) ^ CDbl(2)) r_d2(j) += (CDbl(w_d(j).Item(i)) ^ CDbl(2)) Next

r_k2(j) = Math.Round(Math.Sqrt(CDbl(r_k2(j))), 3) r_d2(j) = Math.Round(Math.Sqrt(CDbl(r_d2(j))), 3)

vsm_total(j) = Math.Round(CDbl(r_kd(j)) / (CDbl(r_k2(j)) * CDbl(r_d2(j))), 3)

Next End Sub End Module