Perancangan Email Client Dengan Pengklasifikasian Email Menggunakan Algoritma Vector Space Model
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
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