PENGEMBANGAN APLIKASI PENDETEKSI E-MAIL SPAM DENGAN MENGGUNAKAN ATURAN BAYES - Binus e-Thesis

  

Jurusan Teknik Informatika

Program Studi Strata – 1

Skripsi Sarjana Komputer

Semester Ganjil 2006 / 2007

  

PENGEMBANGAN APLIKASI PENDETEKSI E-MAIL SPAM

DENGAN MENGGUNAKAN ATURAN BAYES

Edison Kurniawan 0700682714

Hariady Sastra Winata 0700683212

  Abstrak

  Dalam skripsi ini, akan dirancang dan dikembangkan sebuah aplikasi pendeteksi e-

  

mail spam melalui pendekatan statistikal dan Naïve Bayes Classifier. Aplikasi yang

  akan dikembangkan diharapkan mampu mengklasifikasikan secara tepat baik spam maupun pesan sesungguhnya dengan tujuan menghasilkan sebuah aplikasi pendeteksi spam yang dapat menjalani proses pembelajaran terawasi dan tanpa pengawasan. Proses pengembangan dilakukan dengan menganalisis model pendeteksi spam yang umum digunakan dan melakukan studi pustaka mengenai metode Naïve Bayes dan pendekatan statistikal, melakukan perancangan prototype aplikasi pendeteksi spam menggunakan pendekatan yang telah dipilih guna menguji solusi yang dikembangkan pada tahap analisis, dan proses pengujian efektivitas aplikasi, seperti tingkat akurasi dan waktu proses yang akan digunakan sebagai bahan evaluasi. Hasil yang dicapai adalah sebuah aplikasi pendeteksi e-mail spam yang mampu menjalani proses pembelajaran terawasi dan pembelajaran tanpa pengawasan yang mampu mengklasifikasi spam dan pesan sesungguhnya dengan akurat. Diharapkan dari proses pengembangan ini, model aplikasi yang telah dibuat dapat digunakan sebagai dasar dalam pengembangan model aplikasi pendeteksi e-

  

mail spam sesungguhnya sehingga dapat memberikan manfaat semaksimal mungkin.

  Kata Kunci E-mail, spam, klasifikasi dokumen, statistik, Naïve Bayes Classifier.

  Segala puji syukur kepada Tuhan Yang Maha Esa atas segala berkat rahmat dan bimbingan-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagaimana mestinya dan tepat pada waktunya.

  Adapun tujuan dari penulisan skripsi ini merupakan salah satu syarat bagi penulis untuk dapat memperoleh gelar kesarjanaan pada jurusan Teknik Informatika, jenjang pendidikan Strata-1, Universitas Bina Nusantara.

  Skripsi ini berjudul Pengembangan Aplikasi Pendeteksi e-mail Spam Dengan

  

Menggunakan Aturan Bayes , yang berisi model aplikasi pendeteksi e-mail spam

  yang mampu mengklasifikasikan e-mail spam dan pesan sesungguhnya secara akurat dan mampu menjalani proses pembelajaran terawasi dan tanpa pengawasan.

  Penulis menyadari sepenuhnya bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu saran dan kritik yang membangun sangat diharapkan untuk penyempurnaan skripsi ini.

  Pada kesempatan ini juga, perkenankanlah penulis mengucapkan banyak terima kasih pada semua pihak yang telah membantu penulis dalam menyelesaikan penulisan skripsi ini, yaitu kepada :

  Rektor Universitas Bina Nusantara Jakarta.

  2. Bapak Diaz D. Santika, Ir., M.Sc selaku dosen pembimbing yang telah banyak memberikan banyak bimbingan dan pengarahan kepada penulis.

  3. Orang tua dan keluarga penulis yang telah memberikan dukungan, dorongan, doa dan semangat bagi penulis sehingga skripsi ini akhirnya dapat diselesaikan.

  4. Para dosen di Universitas Bina Nusantara yang telah mendidik dan membimbing penulis selama proses perkuliahan di Universitas Bina Nusantara.

  5. Teman – teman yang telah memberikan dukungan moril kepada penulis.

  6. Semua pihak yang tidak dapat penulis sebutkan satu persatu, yang telah membantu penulis menyelesaikan skripsi ini baik secara langsung maupun tidak langsung.

  Akhir kata, penulis berharap agar skripsi ini dapat memberikan manfaat kepada pembaca dan semua pihak yang memerlukan.

  Jakarta, 19 Januari 2007 Penulis

  

Halaman Judul Luar .................................................................................................i

Halaman Judul Dalam ..............................................................................................ii

Halaman Persetujuan ..............................................................................................iii

Abstrak ......................................................................................................................iv

PRAKATA .................................................................................................................v

DAFTAR ISI .............................................................................................................vi

DAFTAR TABEL ...................................................................................................xii

DAFTAR GAMBAR .............................................................................................xiii

DAFTAR LAMPIRAN ...........................................................................................xv

  

BAB 1. PENDAHULUAN ........................................................................................1

1.1. Latar Belakang .........................................................................................1 1.2. Rumusan Masalah ....................................................................................4 1.3. Ruang Lingkup .........................................................................................5 1.4. Tujuan dan Manfaat .................................................................................5 1.5. Metodologi ...............................................................................................6 1.6. Sistematika Penulisan ..............................................................................7

BAB 2. LANDASAN TEORI ...................................................................................9

  2.1. Electronic Mail (E-Mail) ..........................................................................9 2.1.1.

  Sejarah E-Mail ........................................................................9

  Format E-Mail .......................................................................10 2.1.3. Mail Transfer Agent ..............................................................11 2.1.4. Ancaman E-Mail ...................................................................12

  2.5. Teorema Bayes .......................................................................................26 2.5.1.

  PHP .......................................................................................36

  2.8. Bahasa Pemrograman .............................................................................36 2.8.1.

  Tujuan Interaksi Manusia dan Komputer ..............................32 2.7.2. Delapan Aturan Emas ...........................................................34

  2.7. Interaksi Manusia dan Komputer ...........................................................32 2.7.1.

  2.6. Klasifikasi Dokumen ..............................................................................29

  Aplikasi Probabilitas Bayes ..................................................28 2.5.2. Naive Bayes Classifier ..........................................................28

  2.4.2.2. Aksioma Kolmogorov ..............................................25

  2.2. Spam .......................................................................................................13 2.2.1.

  2.4.2.1. Aksioma Teori Probabilitas .....................................24

  Likelihood Ratio ...................................................................21 2.4.2. Teori Probabilitas ..................................................................22

  2.4. Statistika .................................................................................................21 2.4.1.

  Bidang Aplikasi Intelijensia Semu ........................................19

  2.3. Intelijensia Semu ....................................................................................18 2.3.1.

  E-Mail Spam .........................................................................14 2.2.2. Penanggulangan Spam ..........................................................16

  2.9. Database .................................................................................................37

  MySQL ..................................................................................38

  

BAB 3. ANALISIS DAN PERANCANGAN .........................................................39

  3.1. Analisis Model Spam Filter Umum .......................................................39

  3.1.1. Blacklisting .............................................................................39

  3.1.2. Whitelisting .............................................................................40

  3.1.3. Greylisting ...............................................................................41

  3.1.4. Hybrid .....................................................................................41

  3.1.5. Variabel Model Spam Filter Umum ........................................42

  3.1.6. Diagram Model Spam Filter Umum .......................................43

  3.1.7. Kelemahan Model Spam Filter Umum ...................................44

  3.2. Analisis Algoritma .................................................................................45

  3.3. Metodologi Pengembangan ....................................................................47

  3.3.1. Diagram Model Pengembangan ..............................................48

  3.3.2. Tahap Pertama : Penerimaan Pesan ........................................49

  3.3.3. Tahap Kedua : Parser ..............................................................49

  3.3.4. Tahap Ketiga : Klasifikasi .......................................................50

  3.3.4.1. Model Probabilitas Naive Bayes ..............................52

  3.3.4.2. Implementasi Algoritma ..........................................55

  3.3.4.3. Contoh Kasus ...........................................................58

  3.3.5. Tahap Keempat : Training dan Update ...................................60

  3.4. Perancangan Aplikasi .............................................................................61

  3.4.1. Perancangan Diagram .............................................................61

  3.4.1.2. STD Modul Login ....................................................63

  3.4.1.3. STD Modul Inbox ....................................................64

  3.4.1.4. STD Modul Spambox ..............................................65

  3.4.1.5. STD Modul Trashbox ..............................................66

  3.4.1.6. STD Modul Compose ..............................................67

  3.4.1.7. STD Modul Settings .................................................68

  3.4.1.8. STD Modul Stats ......................................................69

  3.4.1.9. STD Modul Training ................................................70

  3.4.2. Rancangan Layar .....................................................................71

  3.4.2.1. Rancangan Layar Login ...........................................71

  3.4.2.2. Rancangan Layar Inbox ...........................................72

  3.4.2.3. Rancangan Layar Spambox .....................................73

  3.4.2.4. Rancangan Layar Trashbox .....................................74

  3.4.2.5. Rancangan Layar Compose .....................................75

  3.4.2.6. Rancangan Layar Settings ........................................76

  3.4.2.7. Rancangan Layar Stats .............................................77

  3.4.2.8. Rancangan Layar Closure ........................................78

  3.4.3. Perancangan Database .............................................................79

  3.4.3.1. Stats Database ..........................................................79

  3.4.3.2. Hamtoken Database .................................................80

  3.4.3.3. Msgtype Database (Inbox) .......................................80

  3.4.3.4. Spamtoken Database ................................................81

  3.4.4.1. Modul Login ............................................................81

  3.4.4.2. Modul Pengecekan ...................................................83

  3.4.4.3. Modul Pelatihan .......................................................83

  3.4.4.4. Modul Parser ............................................................84

  3.4.4.5. Modul Pelatihan Ulang ……………………………84

  3.4.4.6. Modul Primary Key ……………………………….85

  

BAB 4. IMPLEMENTASI DAN EVALUASI ......................................................86

  4.1. Perlengkapan Implementasi ...................................................................86

  4.1.1. Mesin Pertama .........................................................................86

  4.1.2. Mesin Kedua ...........................................................................87

  4.2. Cara Pengoperasian Aplikasi .................................................................88

  4.2.1. Cara Pengoperasian Layar Login ............................................89

  4.2.2. Cara Pengoperasian Layar Inbox ............................................90

  4.2.3. Cara Pengoperasian Layar Spambox ......................................91

  4.2.4 Cara Pengoperasian Layar Trashbox .......................................92

  4.2.5. Cara Pengoperasian Layar Compose ......................................93

  4.2.6. Cara Pengoperasian Layar Settings .........................................94

  4.2.7. Cara Pengoperasian Layar Stats ..............................................95

  4.3. Pengujian Aplikasi .................................................................................96

  4.3.1. Testing Menggunakan 50 Sampel Spam & Ham ....................96

  4.3.2. Testing Menggunakan 100 Sampel Spam & Ham ..................97

  4.3.4. Testing Menggunakan 200 Sampel Spam & Ham ..................99

  4.3.5. Testing Menggunakan 250 Sampel Spam & Ham ................100

  4.3.6. Testing Menggunakan 300 Sampel Spam & Ham ................101

  4.3.7. Testing Menggunakan 350 Sampel Spam & Ham ................102

  4.3.8. Testing Menggunakan 400 Sampel Spam & Ham ................103

  4.3.9. Testing Menggunakan 450 Sampel Spam & Ham ................104

  4.3.10. Testing Menggunakan 500 Sampel Spam & Ham ..............105

  4.3.11. Testing Menggunakan 500 Sampel Spam & 700 Ham .......106

  4.3.12. Testing Menggunakan 500 Sampel Spam & 1000 Ham .....107

  4.3.13. Testing Menggunakan 500 Sampel Spam & 1200 Ham .....108

  4.3.14. Testing Menggunakan 344 Sampel Spam & 150 Ham .......109

  4.4. Evaluasi Aplikasi .................................................................................110

  

BAB 5. SIMPULAN DAN SARAN ......................................................................115

  5.1. Simpulan ..............................................................................................115

  5.2. Saran .....................................................................................................116

  

DAFTAR PUSTAKA ............................................................................................118

DAFTAR RIWAYAT HIDUP LAMPIRAN – LAMPIRAN

Tabel 3.1. stats Database ...........................................................................................79Tabel 3.2. hamtoken Database ..................................................................................80Tabel 3.3. msgtype Database ....................................................................................80Tabel 3.4. spamtoken Database .................................................................................81Tabel 4.1. – Spesifikasi Hardware & Software Mesin Pertama ................................86Tabel 4.2. – Spesifikasi Hardware & Software Mesin Kedua ..................................87Tabel 4.3. – Hasil Testing Menggunakan 100 Sampel .............................................96Tabel 4.4. – Hasil Testing Menggunakan 200 Sampel .............................................97Tabel 4.5. – Hasil Testing Menggunakan 300 Sampel .............................................98Tabel 4.6. – Hasil Testing Menggunakan 400 Sampel .............................................99Tabel 4.7. – Hasil Testing Menggunakan 500 Sampel ...........................................100Tabel 4.8. – Hasil Testing Menggunakan 600 Sampel ...........................................101Tabel 4.9. – Hasil Testing Menggunakan 700 Sampel ...........................................102Tabel 4.10. – Hasil Testing Menggunakan 800 Sampel .........................................103Tabel 4.11. – Hasil Testing Menggunakan 900 Sampel .........................................104Tabel 4.12. – Hasil Testing Menggunakan 1000 Sampel .......................................105Tabel 4.13. – Hasil Testing Menggunakan 1200 Sampel .......................................106Tabel 4.14. – Hasil Testing Menggunakan 1500 Sampel .......................................107Tabel 4.15. – Hasil Testing Menggunakan 1700 Sampel .......................................108Tabel 4.16. – Hasil Testing Menggunakan 1500 Sampel .......................................109Gambar 3.1. Diagram Model Spam Filter Umum ....................................................43Gambar 3.2. Diagram Model Pengembangan ...........................................................48Gambar 3.3 – Diagram Rancangan Aplikasi ............................................................62Gambar 3.4 – State Transition Diagram Login .........................................................63Gambar 3.5 – State Transition Diagram Inbox .........................................................64Gambar 3.6 – State Transition Diagram Spambox ...................................................65Gambar 3.7 – State Transition Diagram Trashbox ...................................................66Gambar 3.8 – State Transition Diagram Compose ...................................................67Gambar 3.9 – State Transition Diagram Settings .....................................................68Gambar 3.10 – State Transition Diagram Stats .........................................................69Gambar 3.11 – State Transition Diagram Training ...................................................70Gambar 3.12. - Rancangan Layar Login ...................................................................71Gambar 3.13. - Rancangan Layar Inbox ...................................................................72Gambar 3.14. - Rancangan Layar Spambox .............................................................73Gambar 3.15. - Rancangan Layar Trashbox .............................................................74Gambar 3.16. - Rancangan Layar Compose .............................................................75Gambar 3.17. - Rancangan Layar Settings ...............................................................76Gambar 3.18. - Rancangan Layar Stats .....................................................................77Gambar 3.19. Rancangan Layar Closure ..................................................................78Gambar 4.1. – Tampilan Layar Login .......................................................................89Gambar 4.3. – Tampilan Layar Spambox .................................................................91Gambar 4.4. – Tampilan Layar Trashbox .................................................................92Gambar 4.5. – Tampilan Layar Compose .................................................................93Gambar 4.6. – Tampilan Layar Settings ...................................................................94Gambar 4.7. – Tampilan Layar Stats ........................................................................95

  Grafik 4.1. – Hasil Testing Klasifikasi Spam & Ham ............................................111 Grafik 4.2. – Hasil Testing Klasifikasi Ham ...........................................................112 Grafik 4.3. – Hasil Testing Klasifikasi Spam .........................................................113

  Lembar Hasil Pengujian …………………………………………………………L1