## Penerapan Metode Naïve Bayes Untuk Klasifikasi SMS Spam Menggunakan Java Programming
Eko Ardian Pranata 1) , Subari 2) , Go Frendi Gunawan 3) 1,2,3 Sekolah Tinggi Informatika dan Komputer Indonesia Malang
1 ardyanpranata88@gmail.com, 2 subari@stiki.ac.id, 3 gofrendi@stiki.ac.id

## ABSTRAK
Short Message Service (SMS) adalah salah satu layanan komunikasi untuk mengirim dan menerima pesan singkat berupa teks pada telepon seluler (ponsel). SMS masih digunakan setiap harinya karena kemudahan penggunaan, sederhana, cepat, dan murah. Meningkatnya penggunaan SMS dimanfaatkan oleh banyak pihak untuk mendapatkan keuntungan, salah satunya adalah mengirimkan spam melalui SMS. Metode yang digunakan melakukan pendekatan probabilistik dalam melakukan inferensi yakni berbasis teorema bayes secara umum. Data latih yang digunakan pada proses pengkategorian didapat dari jurnal dan sudah memiliki kategori sebelumnya yaitu SMS spam dan bukan spam . Aplikasi pada SMS berbahasa Indonesia, yang mempunyai morfologi tertentu dalam pemrosesan pengkategorian. Aplikasi melakukan beberapa tahapan dalam melakukan pemrosesan diantaranya adalah preprocessing berupa case folding , dan parsing , transformation berupa penghapusan stopword removal dan stemming , penghitungan frekuensi dan probabilitas dan perhitungan naïve bayes . Pengkategorian yang dihasilkan oleh aplikasi dibandingkan dengan pengkategorian manual mempunyai rata rata precision sebesar 24%, recall 88% dan Confusion Matrix (Akurasi) sebesar 62%.
Kata Kunci: Naïve Bayes Classifier, SMS spam, Text Mining, Bahasa Indonesia, Java Programming

## ABSTRACT
Short Message Service (SMS) is one of the communication services for sending and receiving short messages in the form of text on cell phones (cellphones). SMS is still used every day because of its ease of use, simple, fast, and inexpensive. The increasing use of SMS is used by many parties to benefit, one of which is sending spam via SMS. The method used is a probabilistic approach in making inferences that is based on Bayes theorem in general. Training data used in the categorization process is obtained from journals and already has a previous category, namely SMS spam and not spam. Application in Indonesian-language SMS, which has a certain morphology in categorizing processing. The application performs several stages in processing including preprocessing in the form of case folding, and parsing, transformation in the form of stopword removal and stemming, frequency and probability calculation and naïve bayes calculation. The categorization produced by the application compared to manual categorization has an average precision of 24%, recall 88% and Confusion Matrix (Accuracy) of 62%.
Keywords: Naïve Bayes Classifier, SMS spam, Text Mining, Bahasa Indonesia, Java Programming

## 1. PENDAHULUAN
Short Message Service (SMS) merupakan media komunikasi yang paling sering digunakan. SMS telah menjadi bagian dari aktivitas keseharian masyarakat. Beberapa alasan kenapa SMS sering digunakan karena biaya untuk pengiriman SMS murah, bonus SMS, maupun paket internet dari pihak provider . Alasan yang lainnya adalah SMS mudah dalam pemakaian karena kegiatan untuk mengirim, menerima, dan membuka SMS dapat dilakukan kapanpun, dimanapun dan tidak membutuhkan jaringan internet. Meningkatnya trafik komunikasi melalui pesan singkat atau sms telah banyak dimanfaatkan oleh pihak-pihak tertentu untuk mengirimkan pesan-pesan yang tidak bermanfaat atau pesan spam . Pesan spam yang dikirimkan melalui sms terkadang mengandung konten ilegal yang menyebabkan ketidaknyamanan
penerima pesan tersebut. Pesan spam yang banyak beredar meliputi informasi perbankan, pengumuman promosi dan diskon toko, dan tarif baru penyedia layanan komunikasi atau pesan- pesan yang tidak memiliki makna lainnya. Salah satu hal yang dapat dilakukan untuk mengatasi masalah pesan spam ini adalah dengan melakukan pemblokiran nomor pengirim pesan, tetapi hal ini juga tidak terlalu berefek dalam mengatasi masalah pesan spam . Cara lain yang bisa dilakukan adalah dengan melakukan klasifikasi teks pesan dengan repositori data pesan yang telah ada menggunakan teknik klasifikasi komputasi cerdas Klasifikasi teks pesan dilakukan untuk membedakan pesan yang berisi spam dan pesan bukan spam . Salah satu cara mengatasi teks pesan spam adalah menerapkan teknik filtering spam menggunakan metode Naïve Bayes Classifier (NBC).
Algoritma Naïve Bayes Classifier (NBC) merupakan algoritma yang digunakan untuk mencari nilai probabilitas tertinggi untuk mengklasifikasi data uji pada kategori yang paling tepat. Kelebihan NBC adalah kemampuannya mengklasifikasikan dokumen dengan sederhana dan kecepatan komputasinya yang tinggi. Metode ini juga memiliki kinerja baik untuk pengklasifikasian data dokumen yang mengandung angka maupun teks. Sebelum tahap klasifikasi, dokumen harus di presentasikan menjadi vector (Wijaya & Santoso, 2016). Beberapa penelitian telah menerapkan Naïve Bayes Classifier dalam melakukan klasifikasi teks, terutama untuk dokumen teks dan email dan masih sedikit yang menerapkan untuk pesan teks. Misalnya Samodra,dkk (2009) mengatakan bahwa naive bayes terbukti dapat digunakan secara efektif dalam klasifikasi dokumen teks berbahasa
Indonesia dengan hasil akurasi yang baik dan penggunaan stopwords yang tidak memiliki pengaruh besar terhadap hasil klasifikasi. Penelitian ini akan melakukan klasifikasi teks pesan dengan menerapkan algoritma Naïve Bayes Classifier karena Naïve Bayes Classifier merupakan salah satu algoritma yang efektif diterapkan untuk melakukan klasifikasi dengan jumlah data yang besar. Dengan dilakukannya klasifkasi teks pesan ini maka akan dapat menangani pesan sesuai dengan kategori spam dan bukan spam . Oleh karena itu, pada penelitian ini mencoba menjelaskan filtering untuk mengotomatisasikan proses pemilahan SMS spam dan bukan spam. Salah satu metode SMS filtering yang paling populer yaitu naive bayesian filtering . Metode ini memanfaatkan teorema probabilitas yaitu teorema bayes dan fungsionalitas data mining yaitu klasifikasi naive bayesian . Tujuan penelitian ini yaitu untuk menerapkan metode Naive Bayes Classifier dalam mengklasifikasikan sms spam dan bukan spam serta mengetahui akurasi pengujian metode tersebut.
2. ANALISA DAN PERANCANGAN
Analisa Masalah
Pengklasifikasian merupakan sebuah proses untuk memilah sesuatu sesuai dengan kategorinya. Pada dunia komputer, khususnya dunia informatika, pengklasifikasian menyangkut perihal data. Data yang ada dapat berupa angka, teks, gambar, suara, dan sebagainya. Data teks merupakan data yang paling umum dijumpai karena teks merupakan media yang digunakan oleh manusia dalam berkomunikasi selain menggunakan suara. Demi mempermudah kinerja manusia untuk pengklasifikasian SMS, komputer dapat digunakan untuk melakukan hal tersebut yang kemudian di aplikasikan kedalam pemrograman Java. Caranya
adalah dengan melakukan penghitungan tingkat kemiripan sebuah isi SMS yang belum memiliki kategori dengan SMS yang yang telah memiliki kategori (Misal : kategori SMS spam dan bukan spam ).

## Pemecahan Masalah
Pada penelitian ini yang menjadi data testing adalah SMS yang diinputkan. Sedangkan yang menjadi data training adalah SMS yang telah tersimpan pada database. Untuk mendapatkan hasil klasifikasi dari data testing, pertama – tama aplikasi akan mengambil semua SMS testing dari database. Setelah itu, setiap SMS akan dipecah menjadi bentuk kata–kata ( term ) yang kemudian dihitung frekuensi kemunculannya dengan rumus Naïve Bayes Text Classification. Namun sebelum penghitungan frekuensi dilakukan, terlebih dahulu setiap SMS yang ada akan melalui tahapan preprocessing dan transformation , dimana dalam tahapan preprocessing terdapat pengubahan bentuk tulisan ke huruf kecil ( case folding ) dan pembuangan karakter–karakter khusus ( tokenizing ), serta pada tahapan transformation SMS yang ada dibersihkan dahulu dari kata–kata yang kurang penting ( stopword removal ) dan diubah menjadi bentuk kata dasar ( stemming ). Setelah melakukan proses pengenalan pola ( Patern Discovery ) dan text mining maka dilakukan penghitungan menggunakan metode Naïve Bayes Classifier untuk mengetahui nilai dari data yang akan di uji.
Kemudian melakukan evaluasi kinerja metode menggunakan Confusion Matrix, Precision, dan Recall yang bertujuan untuk mengetahui tingkat akurasi.

## Data Preprocessing
Dalam tahap ini kata menjadi elemen penting untuk proses pembangunan pengetahuan dan proses klasifikasi. Kata dapat di definisikan sebagai kumpulan huruf, maupun tanda baca, yang diapit oleh spasi, kumpulan huruf alfabetik dengan beberapa tanda baca yang didefinisikan, atau sebagai kumpulan huruf alfabetik saja. Pada tahapan preprocessing dilakukan 2 tahapan yaitu :

## Data Cleaning
Pembersihan data dengan cara menghilangkan noise dan data yang tidak konsisten ataupun kosong dan tidak relevan. Data-data tersebut akan dihapus. Seperti menghilangkan tanda baca ( tokenizing ) dan merubah huruf besar menjadi huruf kecil ( case folding).
Tabel 1. Proses Case Folding Teks input Ouput Case Folding Jangan Berkedip , Tangkapan Macan Tutul Ini Akan jangan berkedip, tangkapan macan
Kejutkan Anda tutul ini akan kejutkan anda
Tabel 2. Proses Tokenizing Hasil
Stopword Removal Output Stemming jangan jangan berkedip kedip tangkapan tangkap macan macan tutul tutul kejutkan kejut anda anda
Data Transformation Dilakukan untuk mencari kata dasar dari kalimat. Proses yang dilakukan berupa menghilangkan kata penghubung ( stopword removal ) dan penghilangan imbuhan awalan, akhiran, awalan akhiran. Sehingga mempermudah dalam mencari kata dasar ( stemming ) dari kalimat.
Tabel 3. Proses Stopword Removal Hasil Tokenizing Output Stopword Removal jangan jangan berkedip, berkedip tangkapan tangkapan macan macan tutul tutul ini (di hapus) akan (di Hapus) kejutkan kejutkan anda anda
Tabel 4. Proses Stemming Hasil Case Folding Output Tokenizing jangan jangan berkedip, berkedip tangkapan
tangkapan macan macan tutul tutul ini ini akan akan kejutkan kejutkan anda anda
Perancangan Algoritma Naive Bayes Pada proses ini, data uji akan melewati proses prediksi berdasarkan data latih. Flowchart untuk tahap prediksi dapat dilihat pada Gambar 1.
Gambar 1. Alur Sistem Klasifikasi
Perancangan Use Case Pada Diagram use case user. User dapat memilih menu klasifikasi sms, masukan data uji sms, melihat hasil kategori sms, melakukan pengujian data, masukan jumlah data uji, dan melihat hasil akurasi, precision dan Recall. use case sistem aplikasi dapat dilihat pada Gambar 2.
Gambar 2. Use Case Aplikasi
Perancangan Activity Diagram Pada activity diagram sistem aplikasi dibedakan menjadi 2 yaitu activity diagram untuk klasifikasi sms spam dan activity diagram untuk pengujian data spam. dapat dilihat pada Gambar 3.
Gambar 3. Activity Diagram Klasifikasi
Gambar 4. Activity Diagram Pengujian
Perancangan Class Diagram
Pada class diagram terdapat beberapa antribut yaitu dan metode
Perancangan
Data Base Pada peracangan database digunakan untuk menyimpan data latih sms dan data uji sms. terdapat 2 data tabel yaitu :
Tabel 5. Tabel Data Latih Nama Field Tipe Keterangan Id_sms Int Kode id dari suatu SMS SMS Text Isi SMS yang dimasukan Is_spam Varchar Kategori spam atau Bukan spam Tabel 6. Tabel Data Uji Nama Field Tipe Keterangan Id_sms Int Kode id dari suatu SMS SMS Text Isi SMS yang dimasukan Is_spam Varchar Kategori spam atau Bukan spam 3. IMPLEMENTASI DAN PEMBAHASAN Setelah melakukan analisa sistem perancangan dan pengujian Maka Hasil yang dicapai sistem aplikasi dapat mengklasifikasikan sms berdasarkan kategorinya yaitu sms spam dan bukan spam. dan pengujian akurasi dilakukan untuk mendapatkan nilai maskimal dari pengujian. Dapat dilihat pada tabel 7 dan Tabel 8.

## Hasil Klasifikasi SMS spam
Tabel 7. Tabel Probabilitas spam
Tabel 8. Tabel Probabilitas bukan spam
Dari hasil diatas maka data sms termasuk kedalam sms spam.

## Hasil Akurasi
Tabel 9. Tabel Hasil Akurasi Perc oba an Jumlah Data Conf. Latih Uji Matrix (Akuras i) Recall Precissio n Random 1 60 200 51 % 23 % 53 % 2 80 200 42 % 20 % 62 % 3 100 200 61 % 84 % 27 % 4 200 200 62 % 88 % 24 %
Hasil yang didapat dari mendapatkan nilai maksimal sebesar akurasi 62 %, recall 88 % dan 24 precision

## 4. KESIMPULAN DAN SARAN
Setelah dilakukan analisa, perancangan, implementasi, pelatihan algoritma, dan pengujian pada aplikasi klasifikasi sms dengan menggunakan metode Naïve Bayes, maka dapat disimpulkan bahwa aplikasi yang dibuat mampu untuk mengklasifikasikan sms spam dan bukan spam dan hasil pengujian akurasi 62 % dari 200 data latih dan 200 data uji.

## 5. REFERENSI
[1] Ali Fahnur Yavi, (2017). Klasifikasi Artikel
Berbahasa Indonesia Untuk Mendeteksi Clikbait Menggunakan Metode Naïve Bayes. Malang.
[2] Arief .2004. Spam: Dampak dan Resikonya. http ://www.ebizzasia.com [25 Januari 2018]
[3] Dewi, Ika Novita, and Catur Supriyanto. 2013. “Klasifikasi Teks Pesan Spam
Menggunakan Algoritma Naïve Bayes” 2013 (November): 156–60 [4] Feldman, R., & Sanger, J. (2007). The Text Mining Handbook Advanced Approaches in Analyzing Unstructured Data. New York: Cambridge University Press. [5] Ganesan, K. (2006). Text Mining, Analytics & More . Retrieved from extanalytics101.rxnlp.com:http://textanalytic s101.rxnlp.com/2014/10/allabout - stop- words-for-text-mining.html [6] Han, J., & Kamber, M. (2006). Data Mining Concepts and Techniques . [7] Istiaq, A. (2014). Pasca Sarjana. Meachine Learning , 183 – 184 [8] Kunafi, A. (2009). Klasifikasi Email Berbahasa Indonesia Menggunakan Text Mining dan Algoritma K-MEAN. Surabaya: Politeknik Elektronik Negeri Surabaya. [9] Natalius, Samuel. 2011. “Metoda Naïve Bayes Classifier Dan Penggunaannya Pada Klasifikasi Dokumen,” no. 3. [10] Pathmanaban, H. (2016). Academia. Retrivied from https://www.academia.edu/: htpps://www.academia.edu/5889117/Text_ Mining [11] Subari, Ferdinandus. 2015. Sistem Information Retrieval Layanan Kesehatan Untuk Berobat Dengan Metode Vector Space Model (VSM) Berbasis Webgis. Malang: Sekolah Tinggi Informatika & Komputer Indonesia Malang. Vol.03 [12] Tapen, Panji. 2008. Email Spam Filtering.http://panjitapen.wordpress.com/20 08/01/27/emailspam-filtering [12 Januari 2017] [13] Wijaya, A. P., & Santoso, H. A. (2016). Technology. Naïve Bayes Classification pada Klasifikasi Dokumen Untuk Identifikasi Konten E-Government, 48 – 55.