• Tidak ada hasil yang ditemukan

Pengelompokan Email Berdasarkan Kemiripan Isi dan Penentuan Nama Kelompok Email Secara Otomatis.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengelompokan Email Berdasarkan Kemiripan Isi dan Penentuan Nama Kelompok Email Secara Otomatis."

Copied!
18
0
0

Teks penuh

(1)

v

ABSTRAK

Email sudah menjadi alat penting untuk berkomunikasi dalam kehidupan sehari-hari. Tinggi nya jumlah email yang masuk dapat mempersulit pengguna dalam mengelompokkan email secara manual. Melalui proses clustering dengan metode K-Means, X-Means Heuristic, dan X-Means Dynamic dibantu dengan fitur pembobotan Ranking Term Frequency dan TF-IDF, data email dapat diolah agar dapat dikelompokkan secara otomatis. Cluster yang terbentuk juga akan diberi label secara otomatis, agar setiap cluster memiliki label berdasarkan isi dari data email yang sudah di clustering. Sehingga perlu dilakukan analisis, perancangan, desain aplikasi, dan pencarian teori-teori yang mendukung untuk membuat aplikasi email clustering dengan menggunakan algoritma k-means, x-means heuristic, dan x-means dynamic. Pengujian yang dilakukan pada 20 akun email yang berbeda, ditarik 100 data email lalu diuji dengan 3 tahapan berbeda dan 3 metode cluster. Hal ini dilakukan untuk mengimplementasikan aplikasi email clustering agar dapat diuji tingkat keakuratan nya dalam melakukan proses email clustering. Aplikasi email clustering ini dapat mengelompokkan email dan memberikan label secara otomatis dengan rata-rata akurasi sebesar 90,08%, menggunakan penarikan datasubject dan body email.

(2)

vi

ABSTRACT

Email has become an important tool for communicating in everyday life. The high number of incoming email may complicate the user to classify the email manually. Through the process of clustering with K-Means method, X-Means Heuristics, and X-Means Dynamic, augmented with Ranking Term Frequency weighting features and TF-IDF,emails data could be grouped automatically. Clusters that formed also be labeled automatically, so that each cluster has a label based on the contents of the email data that is already in cluster. So that needs to be done the analysis, design, application design, and search the theories that support to make the email application clustering using k-means algorithm, x-means heuristic, and x-means dynamic. Tests were performed on 20 different email accounts, then downloaded 100 emails data, and last tested with 3 different stages and three methods of cluster. This was done to implement email clustering application so that it can be tested its accuracy in the process of email clustering. This application can classify emails and give labels automatically with an average accuracy of 90.08%, using downloaded data subject and body emails.

(3)

vii

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

DAFTAR NOTASI/ LAMBANG ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 1

2.3 Algoritma X-Means ... 11

2.4 Pembobotan TF-IDF ... 12

2.5 Email ... 12

2.6 SMTP ... 12

2.7 POP3 ... 13

2.8 IMAP ... 13

2.9 Aplikasi EmailClient dan Dokumen Clustering ... 13

2.9.1 Microsoft Outlook ... 14

2.9.2 Opera Mail ... 14

(4)

viii

3.1 Analisis ... 15

3.1.1 Preprocessing ... 15

3.1.2 Proses perhitungan kata... 17

3.1.3 Ranking ... 18

3.1.4 Clustering ... 18

3.2 Gambaran Keseluruhan ... 21

3.2.1 Persyaratan Antarmuka Eksternal ... 21

3.2.2 Antarmuka dengan Pengguna ... 21

3.2.3 Antarmuka Perangkat Keras ... 22

3.2.4 Antarmuka Perangkat Lunak... 22

3.2.5 Fitur-fitur Produk Perangkat Lunak ... 23

3.3 Disain Perangkat Lunak ... 31

3.3.1 Pemodelan Perangkat Lunak ... 31

3.4 Rancangan Antarmuka ... 57

3.4.1 FormLogin ... 57

3.4.2 Form Email Client Cluster Mode ... 57

3.4.3 Form Send New Email ... 58

3.5 Rencana Pengujian ... 59

3.5.1 Pengambilan Data ... 59

3.5.2 Pembersihan Data Email ... 59

3.5.3 Proses Clustering ... 60

3.5.4 Proses AutoLabelingCluster ... 60

3.5.5 Pembandingan Directory yangTerbentuk ... 60

BAB 4 PENGEMBANGAN PERANGKAT LUNAK ... 61

4.1 Implementasi Algoritma Clustering ... 61

4.1.1 Tokenisasi dan Stopping ... 61

4.1.2 Pembobotan ... 62

4.1.3 Pembobotan TF-IDF ... 63

4.1.4 Membuat Titik Centroid ... 64

4.1.5 Proses Clustering ... 64

4.1.6 Clustering K-Means ... 66

(5)

ix

4.1.8 Clustering X-Means Dynamic... 67

4.1.9 Algoritma EuclideanDistance ... 67

4.1.10 AutoLabelingCluster ... 68

4.2 Implementasi Class ... 69

4.2.1 Class AppHelper ... 69

4.2.2 Class EmailAddressRegister ... 70

4.2.3 Class EmailVector ... 70

4.2.4 Login ... 70

4.2.5 Class EmailMessage... 71

4.2.6 Class Cluster ... 71

4.2.7 Class EmailConnection ... 72

4.2.8 Class ClusteringProcess ... 72

4.2.9 Class SaveData ... 73

4.2.10 Class VectorSpaceModel ... 73

4.3 Implementasi Antar Muka... 74

4.3.1 Implementasi Form Login ... 74

4.3.2 Implementasi Form Email Client Cluster Mode ... 75

4.3.3 Form Send New Email ... 76

BAB 5 Testing dan Evaluasi Sistem ... 77

5.1 Pengujian Aplikasi ... 77

5.1.1 Pengambilan Data Email ... 77

5.1.2 Pembuatan DirectoryEmail Pada Akun Pengguna ... 77

5.1.3 Pembuatan Model Cluster ... 79

5.1.4 Pengujian Tahap Satu Menggunakan Data Subject dan Body Email ... 79

5.1.5 Pengujian Tahap Dua Menggunakan Data Subject Email ... 85

5.1.6 Pengujian Tahap Tiga Menggunakan Data Body Email ... 90

5.1.7 Hasil Seluruh Pengujian Tahap 1 ... 95

5.1.8 Hasil Seluruh Pengujian Tahap 2 ... 96

5.1.9 Hasil Seluruh Pengujian Tahap 3 ... 98

5.1.10 Akurasi Pengujian Secara Keseluruhan ... 100

5.1.11 Pengujian dengan Unit Testing ... 101

(6)

x

6.1 Simpulan ... 104

6.2 Saran ... 104

DAFTAR PUSTAKA ... 106

(7)

xi

DAFTAR GAMBAR

Gambar 2.1 Diagram alir algoritma K-Means... 6

Gambar 2.2 Contoh Cluster ... 7

Gambar 2.3 Rumus Euclidean Distance ... 8

Gambar 2.4 Jarak data dengan Cluster 1 ... 8

Gambar 2.5 Jarak data dengan Cluster 2 ... 9

Gambar 2.6 Metode Pembobotan TF-IDF ... 12

Gambar 3.1 Contoh Stopping Word ... 16

Gambar 3.2 Contoh data text yang belum ditokenisasi ... 17

Gambar 3.3 Rancangan Use Case Diagram ... 32

Gambar 3.4 Rancangan Class Diagram ... 38

Gambar 3.5 Activity Diagram Login ... 39

Gambar 3.6 Activity Diagram Email Client ... 40

Gambar 3.7 Activity Diagram Download Email ... 41

Gambar 3.8 Activity Diagram Send Email ... 42

Gambar 3.9 Activity Diagram K-Means Clustering ... 44

Gambar 3.10 Activity Diagram X-Means Clustering ... 44

Gambar 3.11 Activity Diagram X-Means Dynamic ... 45

Gambar 3.12 Activity Diagram Save Email Cluster ... 46

Gambar 3.13 Activity Diagram Email Cluster Labeling ... 47

Gambar 3.14 Sequence Diagram Login ... 48

Gambar 3.15 Sequence Diagram Email Client ... 49

Gambar 3.16 Sequence Diagram Download Email ... 50

Gambar 3.17 Sequence Diagram Send Email ... 51

Gambar 3.18 Sequence Diagram K-Means Clustering ... 52

Gambar 3.19 Sequence Diagram X-Means Heuristic ... 53

Gambar 3.20 Sequence Diagram X-Means Dynamic ... 55

Gambar 3.22 Sequence Diagram Save Email Cluster ... 56

Gambar 3.23 Sequence Diagram Email Cluter Labeling ... 56

Gambar 3.24 Rancangan FormLogin ... 57

(8)

xii

Gambar 3.26 Rancangan Form Send New Email ... 59

Gambar 4.1 Class AppHelper ... 69

Gambar 4.2 Class EmailAddressRegister ... 70

Gambar 4.3 Class EmailVector ... 70

Gambar 4.4 Class Login ... 70

Gambar 4.5 Class Email Message ... 71

Gambar 4.6 Class Cluster ... 72

Gambar 4.7 Class EmailConnection ... 72

Gambar 4.8 Class ClusteringProcess ... 73

Gambar 4.9 Class SaveData ... 73

Gambar 4.10 Class VectorSpaceModel ... 74

Gambar 4.11 Implementasi Form Login ... 75

Gambar 4.12 Implementasi Form Email Client Cluster Mode ... 76

Gambar 4.13 Implementasi Form Send Email ... 76

Gambar 5.1 Directory Bimbingan... 77

Gambar 5.2 Directory Tugas... 78

Gambar 5.3 Directory Hack ... 78

Gambar 5.4 Directory Kerjaan ... 78

Gambar 5.5 Directory PubNub ... 79

Gambar 5.6 Hasil pengujian tahap 1 dengan metode K-Means ... 80

Gambar 5.7 Hasil pengujian tahap 1 dengan metode X-Means Heuristic ... 82

Gambar 5.8 Hasil pengujian tahap 1 dengan metode X-Means Dynamic ... 84

Gambar 5.9 Hasil pengujian tahap 2 dengan metode K-Means ... 86

Gambar 5.10 Hasil pengujian tahap 2 dengan metode X-Means Heuristic ... 87

Gambar 5.11 Hasil pengujian tahap 2 dengan metode X-Means Dynamic ... 89

Gambar 5.12 Hasil pengujian tahap 3 dengan metode K-Means ... 91

Gambar 5.13 Hasil pengujian tahap 3 dengan metode X-Means Heuristic ... 92

Gambar 5.14 Hasil pengujian tahap 3 dengan metode X-Means Dynamic ... 94

Gambar 5.15 Line Chart hasil akurasi tahap 1 ... 96

Gambar 5.16 Line Chart hasil akurasi tahap 2... 98

Gambar 5.17 Line Chart hasil pengujian tahap 3 ... 99

(9)

xiii

(10)

xiv

DAFTAR TABEL

Tabel 2.1 Data Sumber ... 7

Tabel 2.2 Centroid pada pengulangan ke-0 ... 8

Tabel 2.3 Hasil Perhitungan Jarak ... 9

Tabel 2.4 Hasil perhitungan jarak dan pengelompokkan data ke-0 ... 9

Tabel 2.5 Centroid pada pengulangan ke-1 ... 10

Tabel 2.6 Hasil perhitungan jarak dan pengelompokkan data ke-1 ... 10

Tabel 2.7 Centroid pada pengulangan ke-2 ... 10

Tabel 2.8 Hasil perhitungan jarak dan pengelompokkan data ke-2 ... 10

Tabel 2.9 Centroid pada pengulangan ke-3 ... 11

Tabel 3.1 Contoh kata-kata yang sudah ditokenisasi. ... 17

Tabel 3.2 Contoh kata yang sudah dihitung ... 17

Tabel 3.3 Contoh Top 4 Ranking ... 18

Tabel 3.4 Deskripsi use case diagram untuk fitur login email ... 32

Tabel 3.5 Deskripsi use case diagram untuk fitur Open email client ... 33

Tabel 3.6 Deskripsi use case diagram untuk fitur download email ... 33

Tabel 3.7 Deskripsi use case diagram untuk fitur send email ... 34

Tabel 3.8 Deskripsi use case diagram untuk fitur email clustering with K-Means ... 34

Tabel 3.9 Deskripsi use case diagram untuk fitur email clustering with X-Means Heuristic ... 35

Tabel 3.10 Deskripsi use case diagram untuk fitur email clustering with X-Means Dynamic ... 36

Tabel 3.11 Deskripsi use case diagram untuk fitur save email cluster ... 36

Tabel 3.12 Deskripsi use case diagram untuk fitur load email cluster ... 37

Tabel 5.1 Hasil Pengujian Tahap 1 ... 95

Tabel 5.2 Hasil pengujian tahap 2 ... 97

Tabel 5.3 Hasil pengujian tahap 3 ... 98

(11)

xv

DAFTAR NOTASI/ LAMBANG

Use Case Diagram (UML 2.0)

No Gambar Keterangan

1. Menggambarkan aktor atau pengguna

aplikasi.

2. Menggambarkan proses atau aksi yang

dapat dilakukan oleh aktor pada aplikasi.

3. Menggambarkan sistem tempat proses

dijalankan

Class Diagram (UML 2.0)

No Gambar Keterangan

1. Menggambarkan paket tempat

menyimpan sekumpulan kelas

2. Menggambarkan sebuah kelas

beserta atribut dan method-nya

3. Menggambarkan sebuah interface

(12)

xvi

Activity Diagram (UML 1.3)

No Gambar Keterangan

1. Menandakan dimulainya aktivitas pada

sebuah sistem.

2. Menandakan aktivitas apa yang akan

dilakukan oleh pengguna aplikasi.

(13)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Volume email yang dapat diterima akan selalu bertambah secara konstan. Sehingga kita harus meluangkan banyak waktu untuk merapihkan, mengurutkan, dan mengelompokkan email kedalam folder. Email sudah menjadi alat penting untuk berkomunikasi dalam kehidupan sehari-hari. Semakin tinggi pengguna

email yang terhubung dengan akun email kita, maka akan semakin banyak email

yang dapat diterima. Agar dapat membantu pengguna email dalam mengelompokkan email, maka dibutuhkan sebuah aplikasi yang dapat membantu pengguna untuk mengelompokkan email yang masuk secara otomatis.

Beberapa aplikasi email yang sudah ada sekarang, dapat mengelompokkan email menjadi beberapa kategori saja, misalnya spam, news, promotions, dan forum dan bersifat statis belum dinamis. Kebanyakan pengelompokkan yang dilakukan oleh aplikasi lain adalah melalui subject email. Fitur pengelompokkan email dan penentuan nama dari kelompok email yang dibuat secara otomatis masih belum ditemukan.

Aplikasi ini akan menggunakan metode clustering untuk mengelompokkan data email secara dinamis. Aplikasi ini diharapkan dapat membantu pengguna dalam mengelompokkan data secara otomatis dan dapat belajar agar semakin akurat dalam mengelompokkan email, juga dapat mengelompokkan email tanpa batasan kategori.

1.2 Rumusan Masalah

Rumusan masalah yang dapat disimpulkan dari latar belakang di atas adalah: 1. Bagaimana cara merancang dan mengimplementasikan aplikasi yang dapat

mengirim dan menerima email?

2. Bagaimana cara merancang dan mengimplementasikan aplikasi yang dapat mengelompokkan email secara otomatis?

(14)

2

1.3 Tujuan Pembahasan

Tujuan yang dapat ditarik dari rumusan masalah di atas adalah:

1. Aplikasi yang dibuat akan menggunakan email gateway agar dapat digunakan untuk menerima email dan mengirim email, protokol yang digunakan adalah pop3 dan smtp.

2. Aplikasi yang dibuat akan menggunakan metode clustering agar dapat mengelompokkan email secara otomatis.

3. Aplikasi yang dibuat akan menghitung frekuensi kata dari isi email untuk membantu menentukan nama dari kelompok email.

1.4 Batasan Masalah

Dalam pembuatan aplikasi ini, terdapat beberapa batasan masalah, meliputi: 1. Data email yang diolah adalah data yang berbentuk text. Data text pada

email dapat diambil dari subjectemail dan bodyemail.

2. Aplikasi hanya dapat mengolah email, jika pada akun email pengguna sudah diaktifkan fitur POP3.

3. Fokus penelitian adalah metode clustering pada email dengan menggunakan algoritma K-Means dan X-Means.

4. EmailServer yang dapat diakses melalui protokol POP3 dan SMTP adalah

gmail.com, yahoo.com, outlook.com, o2.com, live.com, hotmail.com.

5. Diasumsikan label pada folder yang akan diuji, diambil dari kata-kata yang ada pada konten email.

1.5 Ruang Lingkup

Pembahasan yang dikemukakan pada penelitian ini meliputi pembuatan aplikasi desktop dan perancangan disain antarmuka pengguna. Berikut adalah ruang lingkup kajian yang ada pada penelitian ini:

Sistem operasi: Microsoft Windows 7 Professional Bahasa Scripting: C#

(15)

3

1.6 Sumber data

Sumber data yang digunakan dalam pembuatan aplikasi ini terbagi menjadi 2, diantaranya:

1. Sumber data primer:

data primer ini diperoleh dari email pribadi. 2. Sistematika Penyajian

Sistematika penyajian dari penyusunan laporan ini adalah sebagai berikut: BAB 1. Pendahuluan

Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, sumber data, dan sistematika penyajian laporan.

BAB 2. Kajian Teori

Bab ini berisi tentang penjelasan teori-teori yang berkaitan dengan pembuatan sistem dan pendukung pembuatan sistem yang ada.

BAB 3. Analisis dan Rancangan Sistem

Bab ini berisi tentang penjelasan analisis suatu keadaan, kebutuhan sistem, perancangan system, dan gambaran arsitektur sistem.

BAB 4. Hasil Penelitian

Bab ini berisi tentang penjelasan perencanaan tahap implementasi, proses perkembangan implementasi proyek, penjelasan mengenai realisasi fungsionalitas

dan UserInterfaceDesign yang sudah dibuat.

BAB 5. Pembahasan dan Uji Coba Hasil Penelitian

Bab ini berisi tentang penjelasan rencana pengujian sistem serta testing yang akan dilakukan.

BAB 6. Kesimpulan dan Saran

(16)

102

BAB 6

Simpulan dan Saran

6.1 Simpulan

Dari hasil pembahasan yang telah dilakukan dan berdasarkan hasil pengujian dapat ditarik beberapa kesimpulan, yaitu:

1. Aplikasi Email Clustering dapat membantu pengguna dalam melakukan proses

clustering pada data email.

2. Akurasi clustering dan labeling tertinggi adalah 97,08% dengan menggunakan metode K-Means dan pengambilan data subject dan body email. Metode X-Means

Heuristic mampu mencapai akurasi sebesar 90,08% dengan pengambilan data

subject dan body email. Metode X-Means Dynamic memiliki akurasi 83,83%

dengan pengambilan data subject dan body email. Hasil akurasi dapat dilihat pada sub bab 5.1.10.

3. Pengambilan data subject dan body email pada proses clustering dan labeling terbukti dapat membantu meningkatkan akurasi. Rata-rata akurasi yang didapatkan pada setiap proses clustering dan labeling dengan pengambilan subject

dan body email adalah 90,33%. Hasil akurasi dapat dilihat pada sub bab 5.1.10.

4. Aplikasi Email Clustering dapat melakukan proses clustering dengan dua fitur pembobotan yaitu Ranking Term Frequency yang menghitung bobot dengan cara meranking token-token atau term pada emaildan TF-IDF yang menghitung bobot kemunculan term terhadap dokumen email.

6.2 Saran

Berdasarkan hal-hal yang telah dicapai dalam implementasi, diperoleh beberapa saran, yaitu:

1. Pengembangan algoritma clustering dapat dilakukan dengan menambahkan proses

stemming pada proses preprocessing. Untuk menghindari duplikasi token atau

term yang memiliki makna sama namun beda penulisan. Namun penggunaan

stemming ada baiknya hanya dilakukan pada bahasa inggris. Contoh “Send”

(17)

103

2. Pengembangan algoritma clustering dapat dilakukan dengan menambahkan fitur pemilihan opsi, untuk tokenisasi dengan satu kata atau dengan frasa. Untuk melihat perbedaan hasil dari akurasi clustering. Contoh frasa “Tugas Akhir”

dengan kata “Tugas” memiliki makna yang berbeda. Sehingga dapat

mempengaruhi hasil dari clustering.

(18)

104

DAFTAR PUSTAKA

Konchady, M. (2006). Text Mining Application Programming. Boston: Thomson Delmar Learning.

Pelleg, D. d. (2000). X-Means: Extending K-Means with Efficient Estimation of the

Number of Clusters. Pittsburgh.

Ramos, J. (2010). Using TF-IDF to Determine Word Relevance in Document Queries. Rutgers University.

Rhoton, J. (2000). Programmer's Guide to Internet Mail. Digital Press.

Sempf, B. (2010). Sphar and S. R. Davis, C# 2010 ALL-IN-ONE FOR DUMMIES. Wikey.

Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi.

Yudi Agusta, P. (2007). K Means Penerapan, Permasalahan, dan Metode Terkait.

Gambar

Gambar Keterangan
Gambar Keterangan

Referensi

Dokumen terkait

Mengacu Tabel 19 memperlihatkan terdapat perbedaan yang bermakna dalam hal lama penyakit diare berdasarkan jenis perlakuan, dengan kata lain subjek yang mendapat formula tempe

Setelah menyimak teks eksplanasi yang dibacakan di zoom meeting, siswa mampu menemukan informasi penting dari teks ekplanasi yang didengar dengan benar.. Setelah menyimak

R'iSAK SEMUA / , -KALAU KITA MGLANAM. KITA AKAN DITUMPAS DAN DESA KITA DIJADI -. KAN LAUTAN API /.. BERAPA SAJA

bahwa dalam rangka meningkatkan pencegahan korupsi menuju tata kelola pemerintahan yang baik, bersih dan melayani diperlukan suatu kondisi yang bebas dari benturan

Hal-hal lain yang belum diatur dalam keputusan ini akan ditetapkan lebih lanjut oleh Sekretaris Menteri Koordinator Bidang Politik, Hukum dan Keamanan selaku

Cacing dewasa yang ditemukan pada itik manila merupakan cacing betina yang dicirikan dengan vulva yang terletak di bagian tengah tubuh (amphidelpic).. galli berukuran

Tujuan dari PHA adalah untuk mengidentifikasi kejadian kecelakaan yang dapat terjadi dan analisis risiko yang lebih detail.  Sebagai analisis risiko yang lengkap dalam