Pengembangan Aplikasi Pendeteksi SMS Spam denga Metode Naive Bayes Berbasis Android.

(1)

vi

ABSTRAK

Penipuan dengan menggunakan pesan singkat pada ponsel yang diterima oleh pengguna sampai sekarang ini masih sangat banyak. Pesan penipuan ini dikirim oleh orang yang tidak bertanggung jawab dan orang yang ingin mendapat untung untuk diri sendiri. Aplikasi pendeteksi spam dibutuhkan untuk membantu mengurangi pesan singkat yang dikirim oleh orang yang tidak bertanggung jawab terhadap ponsel pemakai. Metode yang dipakai untuk aplikasi ini adalah machine learning yang memiliki tingkat keakuratan yang tinggi dalam menentukan apakah pesan tersebut merupakan spam atau pesan biasa.


(2)

vii

ABSTRACT

Fraudulent use of short message received by the mobile users until now is still very much. The fraudulent messages sent by people who are not responsible and the people who want to make a profit for yourself. Spam detection applications needed to help reduce the short messages sent by people who are not responsible for the mobile user. The method used for this application is a learning machine that has a high degree of accuracy in determining whether the message is spam or regular messages.


(3)

viii

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN PUBLIKASI KARYA ILMIAH ... ii

SURAT PERNYATAAN ORISINALITAS KARYA ... iii

KATA PENGANTAR ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xii

DAFTAR GAMBAR ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Pembahasan ... 2

1.4 Ruang Lingkup Kajian ... 2

1.5 Sistematika Penulisan ... 2

BAB II LANDASAN TEORI ... 4

2.1 Machine Learning ... 4

2.2 Tokenisasi ... 5

2.3 Regular Expression ... 5

2.4 MySQL ... 6

2.5 Naive Bayes Classifier ... 7

2.6 C# ... 8

2.7 Web Service ... 9

2.8 Short Message Service(SMS) ... 10

2.9 Entity Relational Diagram (ERD) ... 10

2.10 Flowchart ... 14


(4)

ix

2.11.1 Use case Diagram ... 17

2.11.2 Activity Diagram ... 18

2.11.3 Class Diagram... 18

BAB III ANALISIS DAN DESAIN ... 19

3.1 Metodologi Penelitian ... 19

3.1.1 Pengumpulan Data Pesan... 20

3.1.2 Penghilangan Kata-kata Stop Word dan Mencari Fitur Terbanyak ... 20

3.1.3 Pemilihan Fitur dan Penghitungan Pada Data Pesan ... 22

3.1.4 Perhitungan Manual dengan Menggunakan Contoh ... 23

3.2 Entity Relationship Diagram ... 25

3.3 Gambaran Keseluruhan ... 26

3.3.1 Persyaratan Antarmuka Eksternal ... 26

3.3.2 Antarmuka dengan Pengguna ... 26

3.3.3 Antarmuka Perangkat Keras ... 26

3.3.4 Antarmuka Perangkat Lunak ... 27

3.3.5 Fitur–fitur Produk Perangkat Lunak ... 27

3.4 Desain Perangkat Lunak ... 31

3.4.1 Pemodelan Perangkat Lunak ... 31

3.4.2 Rancangan User Interface ... 37

BAB IV PENGEMBANGAN PERANGKAT LUNAK ... 43

4.1 Impelemntasi Class Modul ... 43

4.1.1 Class Diagram Likelihood ... 43

4.1.2 Class DiagramPrior ... 44

4.1.3 Class DiagramSpamChecker ... 44

4.1.4 Class DiagramReceive SMS ... 45

4.1.5 Class Diagram Spam ... 46

4.2 Implementasi Penyimpanan Data ... 46

4.3 Implementasi Webservice ... 47

4.4 Impelementasi Antarmuka... 48

4.4.1 Form Menu ... 49


(5)

x

4.4.3 FormUpdate Data ... 54

4.4.4 Form Data Spam ... 58

4.4.5 Form Manage Data ... 60

BAB V PEMBAHASAN DAN HASIL UJI COBA PENELITIAN ... 65

5.1 Hasil Analisis Tingkat Keberhasilan Naive Bayes Classifier ... 65

5.2 Form Data Spam ... 70

5.3 Form Spam List ... 71

5.4 Form Lapor Spam ... 71

5.5 Form Update Data ... 72

5.6 Form Manage Data ... 72

BAB VI KESIMPULAN DAN SARAN ... 74

6.1 Kesimpulan ... 74

6.2 Saran ... 74

DAFTAR PUSTAKA ... 75


(6)

xi

DAFTAR TABEL

Tabel 3.1 Tabel Daftar Fitur... 21

Tabel 3.2 Data Perhitungan Setiap Fitur ... 22

Tabel 3.3 Hasil Perhitungan Dari Setiap Fitur Pada Contoh Kalimat ... 24

Tabel 4.1 Tabel Spam ... 47

Tabel 4.2 Tabel Data SMS ... 47

Tabel 5.1 Hasil Testing dari Metode Naïve Bayes ... 67

Tabel 5.2 Hasil Testing Kalkulasi Tingkat Keberhasilan Perhitungan Naive Bayes ... 70

Tabel 5.3 Hasil Testing Form Menu ... 70

Tabel 5.4 Hasil Testing Form Spam List ... 71

Tabel 5.5 Hasil Testing Form Lapor Spam ... 71

Tabel 5.6 Hasil Testing Form Update Data ... 72


(7)

xii

DAFTAR SIMBOL

1. Simbol ERD (Fathansyah, 2002)

Simbol Nama Keterangan

Entitas (Entity)

Disimbolkan dengan rectangle box (persegi panjang) untuk menggambarkan atau menyatakan suatu entitas

Atribut (Attribute) Mendeskripsikan

karakter entitas

Relasi (Relation)

Menggambarkan adanya hubungan atau relasi antar entitas

____________________ Garis (Line)

Penghubung antara entitas dengan relasi


(8)

xiii 2. Simbol Flowchart (Febriani, 2007)

Simbol Nama Keterangan

Process

Simbol yang menunjukkan pengolahan yang dilakukan

Komputer

Decision

Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban / aksi

Predefined Process

Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan didalam storage

Terminal Simbol untuk permulaan atau

akhir darti suatu program

Manual Input Simbol untuk pemasukan data

secara manual on-line keyboard

Arus / Flow Penghubung antara prosedur /


(9)

xiv

Simbol Nama Keterangan

Connector

Simbol keluar / masuk prosedur atau proses dalam lembar /

halaman yang sama

Off-line Connector

Simbol keluar / masuk prosedur atau proses dalam lembar /


(10)

xv

DAFTAR GAMBAR

Gambar 2.1 Gambar Kelas Karakter Regular Expression ... 5

Gambar 2.2 Gambar Kelas Karakter Regular Expression 2 ... 6

Gambar 2.3 Contoh Algoritma Naive Bayes Classifier ... 8

Gambar 2.4Relasi Satu ke Satu (Fathansyah, 2002) ... 13

Gambar 2.5 Relasi Satu ke Banyak(Fathansyah, 2002). ... 13

Gambar 2.6 Relasi Banyak ke Satu(Fathansyah, 2002) ... 14

Gambar 2.7 Relasi Banyak ke Banyak (Fathansyah, 2002) ... 14

Gambar 3.1 Gambar Data Pesan yang Dikumpulkan ... 20

Gambar 3.2 ERD Aplikasi Pendeteksi Spam pada Android ... 25

Gambar 3.3 use case sistem aplikasi pendeteksi spam pada android. ... 32

Gambar 3.4 Use Case sistem aplikasi pendeteksi spam pada server. ... 32

Gambar 3.5 ActivityTambah Data Spam ... 33

Gambar 3.6 Activity Prediksi Spam ... 34

Gambar 3.7 Activity Melihat Data Spam... 35

Gambar 3.8 Activity Mengelola Data Server... 36

Gambar 3.9 Activity Memperbaharui Data Learning ... 37

Gambar 3.10 User Interface Form Menu ... 38

Gambar 3.11 User Interface Form Data Spam ... 39

Gambar 3.12 User Interface Form Lapor Spam ... 40

Gambar 3.13 User Interface Form Email ... 41

Gambar 3.14 User Interface Form Manage Data Server ... 42

Gambar 4.1 Class Diagram Sistem Pendeteksi Spam pada Ponsel Android ... 43


(11)

1

BAB I

PENDAHULUAN

1

1.1 Latar Belakang

Di era yang serba teknologi ini, sudah sangat mudah sekali untuk berkomunikasi satu dengan yang lain. Disamping mudah, berkomunikasi dengan satu dan lainnya pun sangat murah. Karena murah tersebut, banyak orang menyalahgunakan kemudahan ini dan menggunakannya dengan maksud yang tidak baik dan merugikan orang lain.

Banyak orang yang merasa dirugikan oleh orang-orang yang tidak bertanggung jawab atas penggunaan teknologi tersebut. Contohnya adalah pada penyalahgunaan fungsi pesan singkat yang terdapat pada sebuah ponsel yang digunakan untuk menipu atau membuat onar dengan membuat pesan yang tidak penting kepada si penerima.

Banyaknya kasus penipuan yang terjadi yang disebabkan oleh pesan singkatpun kian meningkat seiring dengan bertambah mudah dan murahnya pengiriman pesan singkat tersebut. Masyarakat pun sudah mulai resah dan menganggap serius masalah ini.

Melihat masalah di atas penulis tertarik untuk membuat aplikasi pada

ponsel android yang berguna untuk menyaring pesan yang masuk pada ponsel

apakah pesan tersebut adalah pesan iseng atau bersifat negatif atau pesan yang penting. Dalam pembuatannya, aplikasi ini akan menggunakan bahasa

pemrograman JAVA dan MySQL sebagai database. Penerapan sistem dengan

bentuk Desktop tentunya akan memudahkan pengguna dalam menggunakannya. Rancangan antar muka akan dibuat secara interaktif dan bersahabat dengan pengguna, sehingga aplikasi ini mampu dioperasikan dengan mudah oleh pengguna.


(12)

2

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, masalah-masalah yang muncul dan dapat di identifikasi adalah sebagai berikut:

1. Bagaimana cara sistem untuk menghindari pesan singkat yang bersifat

mengganggu?

2. Bagaimana cara sistem untuk mengetahui pesan singkat seperti apa yang

biasanya spam?

3. Bagaimana cara sistem untuk meminimalisir banyaknya kemunculan spam

di ponsel android pengguna?

1.3 Tujuan Pembahasan

Berdasarkan rumusan masalah yang ada, maka tujuan dari pembuatan laporan ini adalah sebagai berikut:

1. Cara sistem untuk menghindari pesan singkat yang bersifat mengganggu

dengan menggunakan aplikasi pendeteksi spam secara otomatis.

2. Cara sistem untuk mengetahui pesan singkat yang biasanya spam adalah

dengan menggunakan metode naïve bayes classifier.

3. Cara meminimalisir kemunculan spam di ponsel adalah dengan melakukan

proses retraining untuk mendapatkan fitur yang baru.

1.4 Ruang Lingkup Kajian

Dalam Kerja Praktek ini penulis membatasi ruang lingkup permasalahan yang akan dibahas, yaitu:

1. Pengelolaan data pesan singkat pengguna.

2. Pengelolaan data kontak pengguna.

3. Ruang lingkup sistem ini hanya untuk ponsel android.

4. Bahasa yang digunakan adalah bahasa indonesia baku.

1.5 Sistematika Penulisan

Sistematika penulisan yang akan digunakan untuk menyusun laporan adalah sebagai berikut:


(13)

3

BAB I PENDAHULUAN

Bab ini menjelaskan tentang latar belakang, rumusan masalah, tujuan, batasan masalah dan sistematika pembahasan.

BAB II LANDASAN TEORI

Bab ini menjelaskan tentang teori-teori yang berhubungan dengan pembuatan aplikasi atau sistem dan mendukung aplikasi atau sistem.

BAB III ANALISIS DAN DISAIN

Bab ini menjelaskan tentang bagaimana analisis keadaan, kebutuhan dari aplikasi, perancangan aplikasi, DFD, ERD, dan gambaran arsitektur dari aplikasi yang dibuat.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab ini menjelaskan mengenai implementasi dari rancangan aplikasi yang dibuat.

BAB V TESTING DAN EVALUASI SISTEM

Bab ini menjelaskan pengujian dari aplikasi atau sistem yang dibuat. BAB VI KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran yang didapatkan dari hasil implementasi atau pembuatan aplikasi atau sistem.

DAFTAR PUSTAKA

Bab ini berisi tentang sumber-sumber referensi yang digunakan untuk mencari informasi yang mendukung dalam pembuatan aplikasi atau sistem.


(14)

74

BAB VI

KESIMPULAN DAN SARAN

6

6.1 Kesimpulan

Dari hasil pembahasan diatas maka bisa ditarik kesimpulan sebagai berikut:

1. Aplikasi ini dapat membantu pengguna untuk terhindar dari sebagian besar

pesan spam yang dikirim oleh pihak yang tidak bertanggung jawab.

2. Naive Bayes Classifier digunakan untuk memprediksi apakah pesan yang dikirimkan oleh nomor tidak dikenal adalah spam atau bukan spam dengan tingkat kesuksesan yang tinggi.

3. Penseleksian fitur yang ada pada data learning, membuat aplikasi bekerja

dengan baik pada sebagian besar ponsel android dengan spesifikasi rendah.

Secara umum, aplikasi ini bisa dikatakan berhasil dalam membantu pengguna agar terhindar dari pesan yang dikirim oleh pihak yang tidak bertanggung jawab. Diharapkan hasil pengerjaan aplikasi ini dapat diterapkan dan di publish pada android market.

6.2 Saran

Adapun saran yang bisa diberikan dalam aplikasi ini yaitu:

1. Tampilan pada aplikasi ini dapat dibuat menjadi lebih menarik.

2. Masukan aplikasi pendeteksi spam bahasa Indonesia ini ke Google

Playstore.

3. Efektivitas sistem pada aplikasi ini ditingkatkan agar mengurangi


(15)

xviii

DAFTAR PUSTAKA

Ambler, Scott W. Introduction to UML 2 Class Diagrams. Agile Modeling (AM) Home Page: Effective Practices for Modeling and Documentation. Ambysoft Inc. Web. 14 Jan. 2011.

<http://www.agilemodeling.com/artifacts/classDiagram.htm>.

Arbie. 2004. Manajemen Database dengan MySQL. Yogyakarta: Andi.

Fathansyah. 2002. Basis Data. Bandung: Informatika.

Dwi Prasetyo, Didik. 2007. 150 Rahasia Pemrograman Java. Jakarta: PT Elex Media Komputindo.

Hill, T. & Lewicki, P. 2007. Statistics: Methods and Applications. Edisi kesatu. Statsoft, Inch.

Harrington, Peter. 2012. Machine Learning In Action. Shelter Island: Manning Publication Co.

Smola, Alex. & Vishwanathan, S.V.N. 2008. Introduction to Machine Learning.

Cambridge: The University of Cambridge.

Figura, Juraj. 2012. Machine Learning for Google Android. Prague: Charles

University.

Merrifield Mew, Kyle. 2011. Android 3.0 Application Developtment Cookbook.

Birmingham: Packt Publishing Ltd.

Croft, Bruce. 2010. Search Engines Information Retrieval in Practice. United States: Pearson Education, Inc.


(1)

DAFTAR GAMBAR

Gambar 2.1 Gambar Kelas Karakter Regular Expression ... 5

Gambar 2.2 Gambar Kelas Karakter Regular Expression 2 ... 6

Gambar 2.3 Contoh Algoritma Naive Bayes Classifier ... 8

Gambar 2.4Relasi Satu ke Satu (Fathansyah, 2002) ... 13

Gambar 2.5 Relasi Satu ke Banyak(Fathansyah, 2002). ... 13

Gambar 2.6 Relasi Banyak ke Satu(Fathansyah, 2002) ... 14

Gambar 2.7 Relasi Banyak ke Banyak (Fathansyah, 2002) ... 14

Gambar 3.1 Gambar Data Pesan yang Dikumpulkan ... 20

Gambar 3.2 ERD Aplikasi Pendeteksi Spam pada Android ... 25

Gambar 3.3 use case sistem aplikasi pendeteksi spam pada android. ... 32

Gambar 3.4 Use Case sistem aplikasi pendeteksi spam pada server. ... 32

Gambar 3.5 ActivityTambah Data Spam ... 33

Gambar 3.6 Activity Prediksi Spam ... 34

Gambar 3.7 Activity Melihat Data Spam... 35

Gambar 3.8 Activity Mengelola Data Server... 36

Gambar 3.9 Activity Memperbaharui Data Learning ... 37

Gambar 3.10 User Interface Form Menu ... 38

Gambar 3.11 User Interface Form Data Spam ... 39

Gambar 3.12 User Interface Form Lapor Spam ... 40


(2)

BAB I

PENDAHULUAN

1

1.1 Latar Belakang

Di era yang serba teknologi ini, sudah sangat mudah sekali untuk berkomunikasi satu dengan yang lain. Disamping mudah, berkomunikasi dengan satu dan lainnya pun sangat murah. Karena murah tersebut, banyak orang menyalahgunakan kemudahan ini dan menggunakannya dengan maksud yang tidak baik dan merugikan orang lain.

Banyak orang yang merasa dirugikan oleh orang-orang yang tidak bertanggung jawab atas penggunaan teknologi tersebut. Contohnya adalah pada penyalahgunaan fungsi pesan singkat yang terdapat pada sebuah ponsel yang digunakan untuk menipu atau membuat onar dengan membuat pesan yang tidak penting kepada si penerima.

Banyaknya kasus penipuan yang terjadi yang disebabkan oleh pesan singkatpun kian meningkat seiring dengan bertambah mudah dan murahnya pengiriman pesan singkat tersebut. Masyarakat pun sudah mulai resah dan menganggap serius masalah ini.

Melihat masalah di atas penulis tertarik untuk membuat aplikasi pada ponsel android yang berguna untuk menyaring pesan yang masuk pada ponsel apakah pesan tersebut adalah pesan iseng atau bersifat negatif atau pesan yang penting. Dalam pembuatannya, aplikasi ini akan menggunakan bahasa pemrograman JAVA dan MySQL sebagai database. Penerapan sistem dengan bentuk Desktop tentunya akan memudahkan pengguna dalam menggunakannya. Rancangan antar muka akan dibuat secara interaktif dan bersahabat dengan pengguna, sehingga aplikasi ini mampu dioperasikan dengan mudah oleh pengguna.


(3)

2

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, masalah-masalah yang muncul dan dapat di identifikasi adalah sebagai berikut:

1. Bagaimana cara sistem untuk menghindari pesan singkat yang bersifat mengganggu?

2. Bagaimana cara sistem untuk mengetahui pesan singkat seperti apa yang biasanya spam?

3. Bagaimana cara sistem untuk meminimalisir banyaknya kemunculan spam di ponsel android pengguna?

1.3 Tujuan Pembahasan

Berdasarkan rumusan masalah yang ada, maka tujuan dari pembuatan laporan ini adalah sebagai berikut:

1. Cara sistem untuk menghindari pesan singkat yang bersifat mengganggu dengan menggunakan aplikasi pendeteksi spam secara otomatis.

2. Cara sistem untuk mengetahui pesan singkat yang biasanya spam adalah dengan menggunakan metode naïve bayes classifier.

3. Cara meminimalisir kemunculan spam di ponsel adalah dengan melakukan proses retraining untuk mendapatkan fitur yang baru.

1.4 Ruang Lingkup Kajian

Dalam Kerja Praktek ini penulis membatasi ruang lingkup permasalahan yang akan dibahas, yaitu:

1. Pengelolaan data pesan singkat pengguna. 2. Pengelolaan data kontak pengguna.

3. Ruang lingkup sistem ini hanya untuk ponsel android. 4. Bahasa yang digunakan adalah bahasa indonesia baku.


(4)

3

BAB I PENDAHULUAN

Bab ini menjelaskan tentang latar belakang, rumusan masalah, tujuan, batasan masalah dan sistematika pembahasan.

BAB II LANDASAN TEORI

Bab ini menjelaskan tentang teori-teori yang berhubungan dengan pembuatan aplikasi atau sistem dan mendukung aplikasi atau sistem.

BAB III ANALISIS DAN DISAIN

Bab ini menjelaskan tentang bagaimana analisis keadaan, kebutuhan dari aplikasi, perancangan aplikasi, DFD, ERD, dan gambaran arsitektur dari aplikasi yang dibuat.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab ini menjelaskan mengenai implementasi dari rancangan aplikasi yang dibuat.

BAB V TESTING DAN EVALUASI SISTEM

Bab ini menjelaskan pengujian dari aplikasi atau sistem yang dibuat. BAB VI KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran yang didapatkan dari hasil implementasi atau pembuatan aplikasi atau sistem.

DAFTAR PUSTAKA

Bab ini berisi tentang sumber-sumber referensi yang digunakan untuk mencari informasi yang mendukung dalam pembuatan aplikasi atau sistem.


(5)

BAB VI

KESIMPULAN DAN SARAN

6

6.1 Kesimpulan

Dari hasil pembahasan diatas maka bisa ditarik kesimpulan sebagai berikut:

1. Aplikasi ini dapat membantu pengguna untuk terhindar dari sebagian besar pesan spam yang dikirim oleh pihak yang tidak bertanggung jawab.

2. Naive Bayes Classifier digunakan untuk memprediksi apakah pesan yang dikirimkan oleh nomor tidak dikenal adalah spam atau bukan spam dengan tingkat kesuksesan yang tinggi.

3. Penseleksian fitur yang ada pada data learning, membuat aplikasi bekerja dengan baik pada sebagian besar ponsel android dengan spesifikasi rendah.

Secara umum, aplikasi ini bisa dikatakan berhasil dalam membantu pengguna agar terhindar dari pesan yang dikirim oleh pihak yang tidak bertanggung jawab. Diharapkan hasil pengerjaan aplikasi ini dapat diterapkan dan di publish pada android market.

6.2 Saran

Adapun saran yang bisa diberikan dalam aplikasi ini yaitu: 1. Tampilan pada aplikasi ini dapat dibuat menjadi lebih menarik.

2. Masukan aplikasi pendeteksi spam bahasa Indonesia ini ke Google Playstore.


(6)

DAFTAR PUSTAKA

Ambler, Scott W. Introduction to UML 2 Class Diagrams. Agile Modeling (AM) Home Page: Effective Practices for Modeling and Documentation. Ambysoft Inc. Web. 14 Jan. 2011.

<http://www.agilemodeling.com/artifacts/classDiagram.htm>. Arbie. 2004. Manajemen Database dengan MySQL. Yogyakarta: Andi. Fathansyah. 2002. Basis Data. Bandung: Informatika.

Dwi Prasetyo, Didik. 2007. 150 Rahasia Pemrograman Java. Jakarta: PT Elex Media Komputindo.

Hill, T. & Lewicki, P. 2007. Statistics: Methods and Applications. Edisi kesatu. Statsoft, Inch.

Harrington, Peter. 2012. Machine Learning In Action. Shelter Island: Manning Publication Co.

Smola, Alex. & Vishwanathan, S.V.N. 2008. Introduction to Machine Learning. Cambridge: The University of Cambridge.

Figura, Juraj. 2012. Machine Learning for Google Android. Prague: Charles University.

Merrifield Mew, Kyle. 2011. Android 3.0 Application Developtment Cookbook. Birmingham: Packt Publishing Ltd.

Croft, Bruce. 2010. Search Engines Information Retrieval in Practice. United States: Pearson Education, Inc.