iv
UNIVERSITAS BINA NUSANTARA
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
v PRAKATA
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.
vi
1. 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
vii DAFTAR ISI
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
viii
2.1.2. Format E-Mail ...10
2.1.3. Mail Transfer Agent ...11
2.1.4. Ancaman E-Mail ...12
2.2. Spam ...13
2.2.1. E-Mail Spam ...14
2.2.2. Penanggulangan Spam ...16
2.3. Intelijensia Semu ...18
2.3.1. Bidang Aplikasi Intelijensia Semu ...19
2.4. Statistika ...21
2.4.1. Likelihood Ratio ...21
2.4.2. Teori Probabilitas ...22
2.4.2.1. Aksioma Teori Probabilitas ...24
2.4.2.2. Aksioma Kolmogorov ...25
2.5. Teorema Bayes ...26
2.5.1. Aplikasi Probabilitas Bayes ...28
2.5.2. Naive Bayes Classifier ...28
2.6. Klasifikasi Dokumen ...29
2.7. Interaksi Manusia dan Komputer ...32
2.7.1. Tujuan Interaksi Manusia dan Komputer ...32
2.7.2. Delapan Aturan Emas ...34
2.8. Bahasa Pemrograman ...36
2.8.1. PHP ...36
ix
2.9.1. 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
x
3.4.1.1. Diagram Rancangan Aplikasi ...62
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
xi
3.4.4. Spesifikasi Proses ...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
xii
4.3.3. Testing Menggunakan 150 Sampel Spam & Ham ...98
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
xiii
DAFTAR TABEL
Tabel 3.1. stats Database ...79
Tabel 3.2. hamtoken Database ...80
Tabel 3.3. msgtype Database ...80
Tabel 3.4. spamtoken Database ...81
Tabel 4.1. – Spesifikasi Hardware & Software Mesin Pertama ...86
Tabel 4.2. – Spesifikasi Hardware & Software Mesin Kedua ...87
Tabel 4.3. – Hasil Testing Menggunakan 100 Sampel ...96
Tabel 4.4. – Hasil Testing Menggunakan 200 Sampel ...97
Tabel 4.5. – Hasil Testing Menggunakan 300 Sampel ...98
Tabel 4.6. – Hasil Testing Menggunakan 400 Sampel ...99
Tabel 4.7. – Hasil Testing Menggunakan 500 Sampel ...100
Tabel 4.8. – Hasil Testing Menggunakan 600 Sampel ...101
Tabel 4.9. – Hasil Testing Menggunakan 700 Sampel ...102
Tabel 4.10. – Hasil Testing Menggunakan 800 Sampel ...103
Tabel 4.11. – Hasil Testing Menggunakan 900 Sampel ...104
Tabel 4.12. – Hasil Testing Menggunakan 1000 Sampel ...105
Tabel 4.13. – Hasil Testing Menggunakan 1200 Sampel ...106
Tabel 4.14. – Hasil Testing Menggunakan 1500 Sampel ...107
Tabel 4.15. – Hasil Testing Menggunakan 1700 Sampel ...108
xiv
DAFTAR GAMBAR
Gambar 3.1. Diagram Model Spam Filter Umum ...43
Gambar 3.2. Diagram Model Pengembangan ...48
Gambar 3.3 – Diagram Rancangan Aplikasi ...62
Gambar 3.4 – State Transition Diagram Login ...63
Gambar 3.5 – State Transition Diagram Inbox ...64
Gambar 3.6 – State Transition Diagram Spambox ...65
Gambar 3.7 – State Transition Diagram Trashbox ...66
Gambar 3.8 – State Transition Diagram Compose ...67
Gambar 3.9 – State Transition Diagram Settings ...68
Gambar 3.10 – State Transition Diagram Stats ...69
Gambar 3.11 – State Transition Diagram Training ...70
Gambar 3.12. - Rancangan Layar Login ...71
Gambar 3.13. - Rancangan Layar Inbox ...72
Gambar 3.14. - Rancangan Layar Spambox ...73
Gambar 3.15. - Rancangan Layar Trashbox ...74
Gambar 3.16. - Rancangan Layar Compose ...75
Gambar 3.17. - Rancangan Layar Settings ...76
Gambar 3.18. - Rancangan Layar Stats ...77
Gambar 3.19. Rancangan Layar Closure ...78
xv
Gambar 4.2. – Tampilan Layar Inbox ...90
Gambar 4.3. – Tampilan Layar Spambox ...91
Gambar 4.4. – Tampilan Layar Trashbox ...92
Gambar 4.5. – Tampilan Layar Compose ...93
Gambar 4.6. – Tampilan Layar Settings ...94
Gambar 4.7. – Tampilan Layar Stats ...95
Grafik 4.1. – Hasil Testing Klasifikasi Spam & Ham ...111
Grafik 4.2. – Hasil Testing Klasifikasi Ham ...112
xvi