A classification modelling for fraud sms identification using text mining

PEMODELAN KLASIFIKASI SMS BERINDIKASI TINDAK PENIPUAN
MENGGUNAKAN TEXT MINING

PRITASARI PALUPININGSIH

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa tesis berjudul Pemodelan Klasifikasi
SMS Berindikasi Tindak Penipuan Menggunakan Text Mining adalah benar karya
saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk
apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau
dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah
disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir
disertasi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.

Bogor, Maret 2013
Pritasari Palupiningsih
NIM G651100071

ii

ABSTRACT
PRITASARI PALUPININGSIH. A Classification Modelling for Fraud SMS
Identification using Text Mining. Supervised by TAUFIK DJATNA and HARI
AGUNG ADRIANTO.
Nowadays the presence of fraudulence based on SMS is increasing in the
society. Those SMS use unsuspicious sentences, so people could be misled. We
propose a classification model which indicates the presence of fraud and use the
pattern to predict the new SMS. This research use ROCK algorithm to cluster
data and Naive Bayes algorithm to build classifier. Moreover, semantic word
correction technique was applied. SMS which have indication of fraud, used in
this research are SMS containing request of handphone voucher to certain phone
number, offering to be voucher agent, and interest in the activities of buying and
selling land. 5 cluster with threshold 0.08 are resulted from clustering phase and
result from training data phase is classifier with accuracy 80,93%. Finally, the

classifier are successfully implemented on the Android phone.

Keyword: Fraud SMS, Text Mining, SMS Filtering.

RINGKASAN
PRITASARI PALUPININGSIH. Pemodelan Klasifikasi SMS Berindikasi Tindak
Penipuan Menggunakan Text Mining. Dibimbing oleh TAUFIK DJATNA dan
HARI AGUNG ADRIANTO.
Saat ini, tindak penipuan melalui SMS semakin marak terjadi. Terkadang,
kalimat yang digunakan untuk tindak penipuan tidak menimbulkan kecurigaan
bagi penerima SMS. Akan tetapi, ketika SMS tersebut ditindak lanjuti, ternyata
SMS itu mengarah ke tindak penipuan. Tahapan ini membutuhkan penyaringan
SMS dalam bahasa Indonesia secara real time yang dapat mengenali SMS yang
memiliki indikasi tindak penipuan.
Pada penelitian ini terdapat tiga tujuan utama. Tujuan 1 adalah membentuk
klaster terhadap data SMS berbasis algoritma ROCK dan memilih ukuran jumlah
klaster dan nilai ambang yang memberikan klaster terbaik. Tujuan 2 adalah
membentuk sebuah model klasifikasi berbasis algoritma Naive Bayes dengan
menggunakan


fitur

kata

yang

ada

dalam

SMS.

Tujuan

3

adalah

mengimplementasikan model klasifikasi ke perangkat seluler berbasis Android.
Pembentukan klaster menggunakan algoritma ROCK dilakukan berulang

dengan mengubah masukan ukuran jumlah klaster dan nilai ambang. Jumlah
klaster yang digunakan adalah 2, 3, 4, dan 5. Nilai ambang yang digunakan adalah
0,01 sampai 0,18. Selain itu juga digunakan teknik word approximation yang
digunakan untuk melakukan perbaikan kata yang disingkat atau salah ketik. Hasil
yang diperoleh dari proses ini adalah klaster dengan ukuran 5 dan nilai ambang
0,08 merupakan klaster terbaik.
Klaster dengan ukuran 5 dan nilai ambang 0,08 digunakan untuk memberi
label pada data SMS. Data SMS yang telah memiliki label digunakan pada
pembentukan model klasifikasi dengan menggunakan Naïve Bayes. Akurasi yang
diperoleh dari model yang terbentuk adalah 80,93%.
Implementasi model klasifikasi telah dilakukan pada perangkat seluler
berbasis Android dengan modul yang dimiliki daftar SMS yang termasuk indikasi
penipuan, nomor telepon yang termasuk blacklist, dan nomor telepon yang
termasuk whitelist.
Kata kunci: SMS penipuan, text mining, penyaringan SMS

© Hak Cipta Milik IPB, Tahun 2013
Hak Cipta Dilindungi Undang-Undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan
atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan,

penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau
tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan
IPB
Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini
dalam bentuk apa pun tanpa izin IPB

PEMODELAN KLASIFIKASI SMS BERINDIKASI TINDAK PENIPUAN
MENGGUNAKAN TEXT MINING

PRITASARI PALUPININGSIH

Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Sains
pada
Program Studi Ilmu Komputer

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR

2013

Judul Tesis : Pemodelan Klasifikasi SMS Berindikasi Tindak Penipuan
Menggunakan Text Mining
Nama
: Pritasari Palupiningsih
NIM
: G651100071

Disetujui oleh
Komisi Pembimbing

Dr. Eng. Taufik Djatna, S.TP, M.Si
Ketua

Hari Agung Adrianto, S.Kom, M,Si
Anggota

Diketahui oleh


Ketua Program Studi
Ilmu Komputer

Dekan Sekolah Pascasarjana

Dr. Yani Nurhadryani, S.Si, M.T

Dr. Ir. Dahrul Syah, MSc.Agr

Tanggal Ujian:

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT yang telah
memberikan rahmat dan karunia, sehingga penulis dapat menyelesaikan tugas
akhir dengan judul Pemodelan Klasifikasi SMS Berindikasi Tindak Penipuan
Menggunakan Text Mining. Penelitian ini dilaksanakan mulai Agustus 2011
sampai dengan Januari 2013, bertempat di Departemen Ilmu Komputer.
Ucapan terima kasih penulis sampaikan kepada kepada Bapak DR.Eng.

Taufik Djatna, S.TP, M.Si selaku pembimbing pertama dan Bapak Hari Agung
Adrianto, S.Kom, M.Si selaku pembimbing kedua atas bimbingan dan arahannya
selama pengerjaan tugas akhir ini. Di samping itu terima kasih juga penulis
ucapkan kepada orangtua dan keluarga tercinta atas doa dan dukungannya selama
mengerjakan tugas akhir ini. Penulis juga mengucapkan terima kasih kepada
teman-teman Magister Ilmu Komputer Angkatan 12. Semoga tulisan akhir ini
dapat bermanfaat, amin.

Bogor, Februari 2013
Pritasari Palupiningsih

2

RIWAYAT HIDUP
Peneliti (Pritasari Palupiningsih) dilahirkan di Jakarta pada tanggal 28
Januari 1988 dari pasangan Ir. Agus Dewantoko dan Sustiyah sebagai anak ketiga
dari empat bersaudara. Penulis lulus dari SMU Negeri 90 Jakarta pada 2005. Pada
tahun 2005, penulis melanjutkan pendidikan S1 di departemen Ilmu Komputer,
Institut Pertanian Bogor dan lulus pada tahun 2009.


3

GLOSARIUM ISTILAH
Istilah
Cohesion

Pengertian
Ukuran

kebaikan

klaster

yang

menentukan seberapa dekat objek-objek
di dalam klaster (Tan et al. 2005).
Goodness function

Ukuran kemiripan antara dua klaster

yang digunakan pada algoritma ROCK.

Jaccard coefficient

Ukuran jarak antara dua objek.

link

Ukuran kemiripan antara dua objek
yang digunakan pada algoritma ROCK.

Separation

Ukuran

kebaikan

klaster

yang


menentukan perbedaan atau seberapa
jauh

suatu

klaster

dengan

klaster

lainnya (Tan et al. 2005).
Short Message Service (SMS)

Sebuah

layanan

dasar

yang

membolehkan pertukaran pesan teks
singkat

antarpelanggan

perangkat

seluler (Bodic 2005).
Tetangga

Objek lain yang dianggap paling mirip
dengan suatu objek (Guha et al. 2000).

Token

Kata, rangkaian huruf dengan angka,
atau rangkaian angka yang memiliki
makna tertentu.

4
Istilah
10-fold cross validation

Pengertian
Teknik pembagian data menjadi data
latih dan data uji, dimana data dibagi
menjadi sepuluh kelompok dan proses
pelatihan data akan dilakukan sebanyak
sepuluh kali. Sehingga setiap kelompok
data

menjadi

data

latih

sebanyak

sembilan kali dan menjadi data uji
sebanyak satu kali.

5

GLOSARIUM NOTASI
Notasi

Pengertian
Nilai

θ

ambang

untuk

menentukan

kemiripan antara dua objek
sim ,

Nilai yang merepresentasikan kemiripan
antara dua objek dengan menggunakan
ukuran jarak

link ,

Jumlah tetangga yang dimiliki oleh
dan

g

,

Nilai goodness function antara dua
klaster

P(Cl |X)

Nilai

posterior

probability

dari

X

terhadap Cl
P(Cl)

Nilai Class prior probability dari Cl

P(X| Cl)

Nilai conditionally independent antara
satu atribut dan atribut lainnya

6

DAFTAR ISI

GLOSARIUM ISTILAH………………………………………………………….x
GLOSARIUM NOTASI…………………………………………………………xii
DAFTAR TABEL……………………………………………………………….xiv
DAFTAR GAMBAR……………………………………………………………xiv
DAFTAR LAMPIRAN………………………………………………………....xiv
BAB I PENDAHULUAN
Latar Belakang ............................................................................................... 9
Perumusan Masalah ..................................................................................... 12
Tujuan Penelitian ......................................................................................... 13
Ruang Lingkup Penelitian ............................................................................ 13
BAB II TINJAUAN PUSTAKA
Short Message Service (SMS) ....................................................................... 7
Text Mining .................................................................................................... 8
Algoritma ROCK (Robust Clustering using links) ...................................... 10
Evaluasi Klaster ........................................................................................... 12
Algoritma Naive Bayes ................................................................................ 13
Word Approximation .................................................................................... 14
Confusion Matrix ......................................................................................... 14
Android ........................................................................................................ 15
Penelitian Terkait ......................................................................................... 15
BAB III METODOLOGI PENELITIAN
Pembentukan Klaster Data SMS .................................................................. 17
Struktur Praproses ................................................................................. 18
Pembentukan Klaster Data Teks dan Pemilihan Klaster Terbaik ......... 21
Representasi Pesan ................................................................................ 24
Pembentukan Dataset ........................................................................... 24
Pembentukan Model Klasifikasi .................................................................. 24
Penentuan Data Latih dan Data Uji ...................................................... 24
Klasifikasi ............................................................................................. 25
Implementasi Model Klasifikasi ke Perangkat Seluler ................................ 26
BAB IV HASIL DAN PEMBAHASAN
Pembentukan Klaster Data SMS .................................................................. 27
Praproses ............................................................................................... 27
Pembentukan Klaster Data SMS dan Pemilihan Klaster Terbaik ......... 28
Pembentukan Model Klasifikasi .................................................................. 33
Implementasi Model Klasifikasi ke Perangkat Seluler ................................ 34

7
BAB V KESIMPULAN DAN SARAN
Kesimpulan .................................................................................................. 43
Saran ............................................................................................................ 43
DAFTAR PUSTAKA…………………………………………………………… 45
LAMPIRAN……………………………………………………………………... 47

8

DAFTAR TABEL
1 Confusion Matrix ........................................................................................... 14
2. Contoh data ................................................................................................... 26
3 Hasil Tahapan Praproses ................................................................................ 27
4 Cohesion dan Separation untuk 5 Klaster ..................................................... 29
5 Klaster Hasil dari Jumlah Klaster= 5 dan Nilai ambang = 0,08 .................... 31
6 Class prior probability................................................................................... 33
7 Conditional probability untuk 5 token........................................................... 33
8 Confusion matrix dari model klasifikasi untuk 140 data ............................... 34
9 Akurasi dari 20 Perulangan............................................................................ 34
10 Daftar Use Case pada Aplikasi Fraud Detection ........................................ 35

DAFTAR GAMBAR
1 Arsitektur SMS pada Jaringan GSM (Bodic 2005) ......................................... 7
2 Arsitektur Android (Xie et al, 2012) ............................................................. 15
3 Tahapan Pembentukan Klaster Data .............................................................. 17
4 Tahapan Praproses ......................................................................................... 18
5 Tahapan Pembentukan Model Klasifikasi. .................................................... 25
6 Grafik Cohesion jumlah klaster 2, 3, 4, dan 5 ............................................... 28
7 Grafik Separation jumlah klaster 2, 3, 4, dan 5 ............................................. 28
8 Grafik waktu proses pembentukan klaster untuk jumlah klaster 5 ................ 30
9 Grafik jumlah klaster yang memiliki sms yang termasuk penipuan
untuk jumlah klaster 5................................................................................. 30
10 Use Case Aplikasi Fraud Detection ............................................................ 36
11 Sequence diagram untuk Mendapatkan Pemberitahuan SMS Penipuan ..... 36
12 Sequence diagram untuk Memindahkan SMS ke inbox .............................. 37
13 Sequence diagram untuk Menghapus SMS dari Daftar SMS Penipuan ...... 38
14 Sequence diagram untuk Menambahkan Nomor Telepon ke Daftar
Whitelist ...................................................................................................... 38
15 Sequence diagram untuk Menghapus Nomor Telepon di Daftar
Whitelist ...................................................................................................... 39
16 Sequence diagram untuk Menambahkan Nomor Telepon ke Daftar
Blacklist ...................................................................................................... 40
17 Sequence diagram untuk Menghapus Nomor Telepon di Daftar
Blacklist ...................................................................................................... 40
18 Implementasi Model Klasifikasi pada Perangkat Seluler ............................ 41
19 Proses Klasifikasi Data SMS Baru .............................................................. 41

DAFTAR LAMPIRAN
1 Cohesion dan Separation untuk 2 Klaster ..................................................... 49
2 Cohesion dan Separation untuk 3 Klaster ..................................................... 50
3 Cohesion dan Separation untuk 4 Klaster ..................................................... 51
4 Dendogram Hasil tahapan Pembentukan Klaster dengan Jumlah
Klaster=5 dan Nilai Ambang=0,08 ............................................................. 52

9
BAB 1

PENDAHULUAN
Latar Belakang
Short Message Service (SMS) merupakan salah satu media komunikasi yang
banyak digunakan saat ini karena praktis untuk digunakan dan biaya
pengirimannya murah. Namun, seiring dengan semakin populernya penggunaan
SMS, muncul tindakan menggunakan layanan SMS untuk tujuan yang tidak tepat.
SMS dengan tujuan malfungsi ini biasanya disebut SMS spam. Contoh dari SMS
spam adalah SMS yang digunakan sebagai media iklan, SMS yang berisi pesan
porno, SMS dengan tujuan menipu dan sebagainya. SMS seperti ini cenderung
mengganggu penerima SMS. Bahkan SMS dengan tujuan menipu dapat
merugikan orang yang menerima SMS tersebut. Saat ini, tindak penipuan melalui
SMS semakin marak terjadi. Dengan menggunakan SMS sebagai media tindak
penipuan, keberadaan penipu akan sulit untuk dilacak. Ada beberapa macam
tindak penipuan yang dilakukan melalui SMS. Salah satu tindak penipuan yang
saat ini marak terjadi di masyarakat adalah SMS yang berisi permintaan pulsa
telepon seluler ke nomor tertentu, dengan mengatasnamakan keluarga. Terkadang,
kalimat yang digunakan untuk tindak penipuan tidak menimbulkan kecurigaan
bagi penerima SMS. Akan tetapi, ketika SMS tersebut ditindak lanjuti, ternyata
SMS itu mengarah ke tindak penipuan. Oleh karena itu, dibutuhkan penyaringan
SMS yang memiliki indikasi tindak penipuan.
SMS yang beredar di masyarakat dapat dimanfaatkan untuk memperoleh
informasi mengenai pola SMS yang memiliki indikasi tindak penipuan. Tantangan
dalam mencari informasi dari data SMS adalah keragaman kata yang digunakan
dalam SMS, penyingkatan kata dalam penulisan SMS, atau terdapat kata yang
salah ketik. Tetapi, jika pola SMS yang memiliki indikasi tindak penipuan dapat
diketahui, akan dapat dibuat perangkat lunak yang diletakkan di perangkat seluler.
Perangkat lunak ini yang akan membantu masyarakat untuk menentukan SMS
yang diterimanya memiliki indikasi tindak penipuan atau tidak. Sehingga
masyarakat dapat lebih berhati-hati dalam menindaklanjuti SMS yang diterimanya
dan dapat mencegah terjadinya tindak penipuan melalui SMS. Akan tetapi dalam
meletakkan perangkat lunak tersebut ke perangkat seluler mungkin saja akan

10
menimbulkan kesulitan jika dilihat dari sisi hardware. Dimana perangkat lunak
yang dibuat tidak bisa menggunakan banyak memori di dalam perangkat seluler
dan harus dapat bekerja dalam waktu yang relatif cepat.
Klasifikasi adalah bentuk analisis data yang dapat digunakan untuk
mengekstrak model yang mendeskripsikan data yang berisi kelas-kelas atau untuk
memprediksi trend data di masa depan (Han & Kamber 2011). Pemodelan
klasifikasi akan menghasilkan model klasifikasi yang akan digunakan untuk
memprediksi label berbentuk kategori.
Terdapat beberapa metode dalam melakukan penyaringan SMS, salah
satunya adalah metode blacklist. Pada metode ini, operator telepon selular dapat
melakukan autentikasi terhadap nomor pengirim SMS dan membuat daftar hitam
nomor pengirim yang bertindak sebagai spammer. Dengan demikian, hanya
nomor pengirim yang dipercaya yang dapat mengirim pesan SMS mereka setelah
melewati proses autentikasi. Namun, pada kenyataannya, operasi semacam ini
tidak efisien karena sebagian besar SMS spam dikirim dari nomor spammer yang
baru, dimana nomor pengirim tersebut belum ditambahkan ke daftar hitam.
Dengan demikian, cara kerja metode ini adalah dengan menjalankan sistem anti
spam setelah SMS spam terjadi (Khemapatapan 2010). Metode lainnya adalah
penyaringan berdasarkan konten. Pada metode ini, akan dicari fitur kata dari
setiap SMS yang dikirim yang menjadi ciri dari SMS tersebut. Penentuan suatu
SMS termasuk kelompok spam atau bukan dilakukan berdasarkan fitur kata
tersebut.
Penelitian pada penyaringan email spam telah dilakukan lebih dulu dan
lebih mendalam jika dibandingkan dengan penelitian pada penyaringan SMS
spam. Jika dibandingkan dengan struktur email, struktur SMS memiliki beberapa
keterbatasan. Pesan SMS lebih pendek dari email, mereka kurang terstruktur, dan
teks mereka penuh dengan singkatan dan idiom (Cormack 2007a). Dalam semua
situasi ini, baik pada pesan singkat secara alami, atau bagian yang digunakan
untuk penyaringan yang jauh lebih singkat daripada rata-rata pesan email. Untuk
itu perlu dipertimbangkan teknik penyaringan berdasarkan konten yang telah
tersedia saat ini yang mana dapat melakukan transfer dari pesan yang panjang atau
pesan yang penuh menjadi pesan singkat, yang mungkin mengandung bahasa gaul

11
yang spesifik, fitur baru seperti nomor telepon singkat, dan di mana ruang fitur
secara intuitif lebih besar (Cormack 2007b).
Hidalgo et al. (2006) melakukan penelitian penggunaan Bayesian Filtering
yang telah berhasil digunakan pada identifikasi email spam untuk digunakan pada
identifikasi SMS. Dari penelitian yang dilakukannya, mereka memperoleh hasil
bahwa teknik Bayesian Filtering dapat digunakan pada SMS spam secara efektif.
Khemapatapan (2010) melakukan penelitian tentang penyaringan SMS spam
dengan menggunakan algoritma Support Vector Machine (SVM) dan Naïve Bayes.
Proses analisis semantik diterapkan pada penelitian ini untuk menangani masalah
kata yang salah diketik. Salah satu hasil yang diperoleh adalah SVM memberikan
akurasi yang lebih tinggi dari Naïve Bayes, akan tetapi waktu pemrosesan
klasifikasi dengan menggunakan SVM jauh lebih lama dibandingkan dengan
Naïve Bayes. Deng & Peng (2006) melakukan penelitian tentang pembangunan
sistem penyaringan SMS terdistribusi menggunakan algoritma Naïve Bayes.
Selain menggunakan kata sebagai atribut dari SMS, penelitian ini juga
menggunakan panjang pesan dan beberapa aturan sebagai atribut dari SMS. Hasil
penelitian yang diperoleh menunjukkan, penggunaan panjang pesan dan aturan
sebagai atribut SMS dapat meningkatkan akurasi klasifikasi SMS.
Penyaringan SMS dilakukan di perangkat seluler dapat dilakukan di
perangkat seluler atau di SMS Center (SMSC). Hal ini dapat dilihat pada
arsitektur SMS pada jaringan (Bodic 2005). Untuk melakukan penyaringan SMS
di SMSC, diperlukan kerjasama dengan pihak operator perangkat seluler.
Penyaringan SMS di SMSC dilakukan sebelum suatu SMS masuk ke perangkat
seluler pengguna. Sehingga pengguna tidak akan menerima suatu SMS apabila
SMS tersebut telah diklasifikasikan berindikasi tindak penipuan oleh aplikasi
penyaringan SMS di SMSC. Jika ternyata aplikasi penyaringan tersebut salah
mengklasifikasikan SMS tersebut, maka pengguna perangkat seluler dapat
dirugikan. Sedangkan untuk melakukan penyaringan SMS di perangkat seluler
dilakukan dengan memasang aplikasi penyaringan SMS di perangkat seluler.
Penyaringan SMS akan dilakukan setelah SMS masuk ke perangkat seluler
pengguna tetapi sebelum masuk ke inbox. Sehingga pengguna dapat tetap
mengetahui SMS yang diklasifikasikan sebagai SMS berindikasi tindak penipuan

12
oleh aplikasi penyaringan SMS di perangkat seluler. Apabila ternyata aplikasi
penyaringan SMS salah melakukan klasifikasi, pengguna masih tetap dapat
membaca isi dari SMS tersebut.
Data SMS yang beredar di masyarakat dapat dianalisis menggunakan teknik
text mining. Salah satu teknik dalam text mining adalah klasifikasi (Feldman &
Sanger 2007). Masalah penyaringan SMS spam dapat dipandang sebagai
klasifikasi teks, yang biasanya dimodelkan sebagai tugas pembelajaran yang
diawasi dimana pengklasifikasi biner dilakukan pada kelompok pesan pelatihan
yang diberi label dan kemudian digunakan untuk memprediksi kelas dari masingmasing pesan pada kelompok pesan pengujian yang tidak berlabel (Sebastiani
2002). Teknik klasifikasi akan menghasilkan model klasifikasi yang dapat
digunakan untuk menentukan apakah sebuah SMS yang baru masuk memiliki
indikasi tindak penipuan atau tidak. Salah satu tantangan yang harus dihadapi
adalah struktur dari SMS. Selain masalah keterbatasan pada struktur SMS yang
telah dijelaskan di atas, terdapat beberapa hal yang penting pada proses
penyaringan SMS spam yaitu :
1. Aplikasi penyaringan SMS membutuhkan pemrosesan real time pada
lingkungan sumber daya terbatas, seperti ponsel, untuk mengklasifikasikan
pesan karena itu pengguna tidak bisa menunggu. Umumnya kurang dari 5 detik
yang dibutuhkan, sehingga memerlukan pendekatan penyaringan cepat untuk
melakukan hal ini (Deng & Peng 2006).
2. Adanya interaksi dengan pengguna, dimana pengguna dapat memberikan
feedback, yaitu apakah sms tersebut merupakan SMS spam atau SMS sah.
3. Tidak hanya menggunakan kata sebagai atribut. Tetapi juga menggunakan
beberapa rangkaian angka atau angka dengan huruf yang memiliki makna
tertentu. Misalnya rangkaian angka yang merupakan nomor telepon, seperti
085697851845. Kemudian rangkaian angka dan huruf yang merupakan jumlah
uang, seperti Rp.50.000.
Perumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan masalah yang
diteliti sebagai berikut:

13
1.

Bagaimana melakukan pengelompokkan data SMS yang memiliki indikasi
tindak penipuan dan tudak memiliki indikasi tindak penipuan? Jumlah klaster
dan nilai ambang berapa yang memberikan pengelompokkan data SMS yang
terbaik?

2.

Bagaimana mengetahui pola SMS yang memiliki indikasi tindak penipuan?

3.

Bagaimana pengguna perangkat seluler dapat mengetahui sebuah SMS
memiliki indikasi tindak penipuan atau tidak?

Tujuan Penelitian
Penelitian ini bertujuan untuk :
1.

Membentuk klaster terhadap data SMS berbasis algoritma ROCK (Guha et al.
2000) dan memilih ukuran jumlah klaster dan nilai ambang yang memberikan
klaster terbaik.

2.

Membentuk sebuah model klasifikasi berbasis algoritma Naive Bayes (Deng
& Peng 2006) dengan menggunakan fitur kata yang ada dalam SMS tersebut.

3.

Mengimplementasikan model klasifikasi ke perangkat seluler berbasis
Android (Google 2012).

Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah membentuk model klasifikasi untuk
data SMS yang beredar di masyarakat pada tahun 2010 sampai dengan tahun 2011,
baik yang memiliki indikasi tindak penipuan dan tidak memiliki indikasi tindak
penipuan. Indikasi tindak penipuan yang akan dicari polanya adalah SMS yang
berisi

permintaan

pulsa

telepon

seluler

ke

nomor

tertentu,

dengan

mengatasnamakan orangtua, yaitu mama atau papa. Kemudian SMS yang berisi
penawaran menjadi agen pulsa dan SMS yang menunjukkan ketertarikan pada
proses jual beli tanah, rumah, atau mobil. Platform yang digunakan pada
implementasi model klasifikasi adalah Android.

14

BAB II
TINJAUAN PUSTAKA
Short Message Service (SMS)
Short Message Service (SMS) adalah sebuah layanan dasar yang
membolehkan pertukaran pesan teks singkat antarpelanggan. Pesan ini dapat
dikirim dari perangkat mobile GSM/UMTS tetapi bisa juga dikirim dari perangkat
lain dengan cakupan yang lebih luas seperti internet host, telex, dan faksimili
SMS. Internet host, telex, dan faksimili SMS adalah teknologi yang didukung
100% oleh perangkat GSM dan sebagian besar jaringan GSM di seluruh dunia
yang sudah sangat matang (Bodic 2005).
Arsitektur SMS yang disediakan oleh jaringan GSM ditunjukkan pada
Gambar 1. Sebagai tambahan, terdapat sebuah elemen yang disebut short message
entity, biasanya dalam wujud sebuah aplikasi perangkat lunak dalam perangkat
mobile, yang penting dalam menangani pesan (pengiriman, penerimaan,
penyimpanan, dan lain-lain). Short message entity tidak ditampilkan pada Gambar
1.

Gambar 1 Arsitektur SMS pada Jaringan GSM (Bodic 2005)

8
Elemen yang dapat mengirim dan menerima pesan singkat dinamakan short
message entities (SME). Sebuah SME dapat berupa aplikasi perangkat lunak
dalam sebuah perangkat mobile tetapi juga bisa berupa perangkat faksimili,
peralatan telex, remote internet server, dan lain-lain. Sebuah perangkat mobile
harus diatur supaya bekerja dengan baik dalam jaringan mobile. Sebuah SME
dapat berupa server yang saling berhubungan langsung atau melalui sebuah
gateway yaitu SMS center. Sebuah SME juga dikenal sebagai sebuah External
SME (ESME). Sebuah ESME menggambarkan sebuah WAP proxy/server, sebuah
email gateway, atau sebuah voice mail server. Untuk pertukaran pesan singkat,
SME yang membangkitkan dan mengirim pesan singkat dikenal sebagai
originator SME sedangkan SME yang menerima pesan singkat dikenal sebagai
recipient SME.
Service Center (SC) atau SMS Center (SMSC) memainkan peran penting
dalam arsitektur SMS. Fungsi utama dari SMSC adalah menyiarkan pesan singkat
diantara SME dan menyimpan dan meneruskan pesan singkat (penyimpanan
pesan jika SME penerima tidak tersedia). SMSC mungkin terintegrasi sebagai
bagian dari jaringan mobile (misalnya, terintegrasi dengan MSC) atau entitas
jaringan yang berdiri sendiri. SMSC mungkin juga dapat ditempatkan diluar
jaringan dan diatur oleh organisasi ketiga. Operator jaringan mobile biasanya
mempunyai

perjanjian

komersial

yang

saling

menguntungkan

untuk

membolehkan pertukaran pesan antarjaringan. Hal ini berarti sebuah pesan yang
dikirim dari sebuah SME yang ada di jaringan A dapat dikirim ke SME lain yang
ada di jaringan mobile B. Hal ini memungkinkan pengguna untuk bertukar pesan
walaupun mereka tidak terdaftar dalam jaringan yang sama dan terkadang berada
di negara yang berbeda, inilah salah satu fitur kunci yang membuat SMS sangat
sukses (Bodic 2005).
Text Mining
Text mining dapat diartikan secara luas sebagai suatu proses pengetahuan
intensif dimana pengguna berinteraksi dengan koleksi dokumen dari waktu ke
waktu dengan menggunakan seperangkat alat analisis. Dengan cara yang dapat
disamakan dengan data mining, text mining berusaha menggali informasi yang

9
berguna dari sumber data melalui identifikasi dan eksplorasi pola yang menarik.
Dalam kasus text mining, bagaimanapun, sumber data merupakan koleksi
dokumen, dan pola yang menarik yang ditemukan tidak diantara record basis data
yang tersusun tetapi dalam data teks tidak terstruktur dalam dokumen yang ada
dalam koleksi (Feldman & Sanger 2007).
Karena data mining mengambil data yang tersimpan dalam format
terstruktur, sebagian besar dari praproses fokus pada dua kegiatan : scrubbing dan
normalizing data dan membuat sejumlah tabel penggabungan. Secara berlawanan,
untuk sistem text mining, pusat operasi praproses terjadi pada identifikasi dan
ekstrasi fitur representatif untuk dokumen bahasa alami. Operasi praproses ini
bertanggung jawab untuk mengubah data tidak terstruktur yang tersimpan dalam
koleksi dokumen ke dalam format terstruktur lanjutan yang lebih eksplisit, yang
merupakan masalah yang tidak relevan untuk sebagian besar sistem data mining
(Feldman & Sanger 2007).
Metode yang digunakan pada text mining hampir sama dengan metode
dalam data mining. Sekali data ditransformasi menjadi format numerik biasa,
metode data mining standar dapat diterapkan (Weiss et al. 2005). Klasifikasi,
klastering, dan information extraction merupakan metode yang banyak diterapkan
dalam text mining.
Tema yang mungkin dalam menganalisa data yang kompleks adalah
klasifikasi atau kategorisasi. Secara abstrak diuraikan, tugasnya adalah
mengklasifikasikan sebuah instance data yang diberikan ke dalam sebuah kategori.
Berlaku untuk bidang dari manajemen dokumen, tugas ini dikenal dengan
kategorisasi teks, dimana diberikan kumpulan kategori (subyek, topik) dan sebuah
koleksi dari dokumen teks, proses menemukan topik yang sesuai untuk setiap
dokumen (Feldman & Sanger 2007).
Beberapa teknik yang dapat digunakan pada klasifikasi dokumen adalah
probabilistic classifier, decision tree classifier, decision rule classifier, nearestneighbor classifier, dan support vector machine classifier.
Klastering adalah teknik yang berguna untuk mangatur suatu dokumen teks
berjumlah besar yang tidak terurut menjadi sejumlah kecil klaster yang koheren
dan berarti. Klastering dokumen teks melakukan pengelompokkan dokumen yang

10
mirip untuk membentuk klaster yang koheren, sedangkan dokumen yang berbeda
terpisah menjadi klaster yang berbeda (Huang 2008).
Algoritma ROCK (Robust Clustering using links)
ROCK

adalah

algoritma

klastering

hirarki

aglomeratif

untuk

mengelompokkan data kategorik. Algoritma ROCK membangun link untuk
menggabungkan klaster dan tidak menggunakan jarak seperti algoritma klastering
pada umumnya (Guha et al. 2000). Parameter yang digunakan dalam algoritma
ROCK adalah :
1.

Tetangga
Tetangga dari suatu objek adalah objek lain yang dianggap paling mirip
dan y , sim ,

dengan objek tersebut. Diberikan suatu nilai ambang (θ) yang bernilai antara
1 dan 0. Dua objek

≥ θ . θ merupakan parameter yang

dan y sehingga kedua objek tersebut dapat dikatakan

ditentukan oleh pengguna yang dapat digunakan untuk mengontrol seberapa
dekat hubungan

sebagai tetangga. Ukuran kemiripan antarpasangan objek dihitung dengan
Jaccard Coefficient
2.

Link
Algoritma ROCK menggunakan informasi link sebagai ukuran kemiripan
antarobjek. Jika merupakan tetangga dari dan merupakan tetangga dari
maka dikatakan

memiliki link dengan walaupun

bukan tetangga dari .

Link( , ) = ∑ tetangga yang dimiliki sekaligus oleh

Didefinisikan :

Penghitungan link untuk semua kemungkinan pasangan
berukuran x , dimana A[ , ] bernilai 1 jika

dan

objek dilakukan

dengan menggunakan matrik tetangga A. Matrik tetangga A adalah matrik

dan bernilai 0 jika

dan

merupakan tetangga

bukan tetangga. Jumlah link antarpasangan

dapat diperoleh dari hasil kali antara baris ke
link

dan

= ∑nl=1

dan kolom ke

,l * [l, ]

dan

:

(1)

Jika nilai link( , ) besar, menunjukkan bahwa kemungkinan dan berada
dalam klaster yang sama juga besar.

11
3.

Goodness Function
Algoritma ROCK menggunakan informasi nilai goodness sebagai ukuran
kemiripan antarklaster, dan menggabungkan objek/klaster yang memiliki
kemiripan terbesar. Didefinisikan ukuran goodness antara klaster
g

= link( , ) ( + )1+2f(θ) -

,

Dimana link

,

= ∑

,

1+2f(θ)

-n

1+2f(θ)

]

dan
(2)

link( , ) menyatakan banyaknya cross link

(jumlah link dari semua kemungkinan pasangan objek yang ada dalam
,

dan

:

dan

masing-masing menyatakan jumlah anggota klaster dan jumlah

anggota klaster , dan f θ = 1

⁄1

.

Langkah-langkah dalam algoritma ROCK yaitu :
1. Menentukan inisialisasi untuk masing-masing data poin sebagai klaster pada
awalnya.
2. Menghitung similaritas antarklaster dengan klaster lainnya, menggunakan
jaccard coefficient.
3. Menentukan nilai matrik tetangga A dengan menggunakan nilai nilai ambang
(θ).
A[x,y] bernilai 1 jika sim(x,y) ≥ θ dan bernilai 0 jika sim(x,y) ≤ θ.
4. Menghitung link antarklaster dengan klaster lainnya. Link(Ti, Tj) antarobjek
diperoleh dari jumlah tetangga antara Ti dan Tj
5. Menghitung nilai goodness measure untuk setiap klaster dengan klaster
lainnya jika link !=0 yang disebut local heap.
6. Memilih nilai maksimum goodness measure antarkolom di baris ke i yang
disebut global heap.
7. Ulangi langkah 5 dan 6 hingga mendapatkan nilai maksimum di global heap
dan local heap.
8. Selama ukuran data > k, dengan k adalah jumlah kelas yang ditentukan
lakukan penggabungan klaster yang memiliki nilai local heap terbesar
menjadi satu klaster, tambahkan link antarklaster yang digabungkan, hapus
klaster yang digabungkan dari local heap dan update nilai global heap dengan
nilai hasil penggabungan.
9. Lakukan langkah 8 hingga menemukan jumlah klaster yang diharapkan atau
tidak ada lagi link antara klaster-klasternya.

12
Evaluasi Klaster
Evaluasi klaster adalah kemampuan untuk mendeteksi ada atau tidaknya
suatu struktur tidak acak dalam data. Beberapa aspek penting dalam evaluasi
klaster yaitu (Tan et al. 2005):
1.

Menentukan kecenderungan klaster dari suatu data.

2.

Menentukan jumlah klaster yang tepat.

3.

Mengevaluasi seberapa baik hasil analisis klaster tanpa diberikan informasi
eksternal.

4.

Membandingkan hasil analisis klaster terhadap hasil eksternal yang diketahui,
misalnya label kelas eksternal.

5.

Membandingkan dua himpunan klaster untuk menentukan klaster yang lebih
baik.
Perhitungan evaluasi dapat digolongkan menjadi tiga jenis yaitu:

1.

Unsupervised
Teknik unsupervised mengukur goodness dari struktur klaster tanpa informasi
eksternal. Ukuran yang digunakan dalam teknik unsupervised dibagi menjadi
dua, yaitu : cohesion dan separation. Cohesion merupakan ukuran kebaikan
klaster yang menentukan seberapa dekat objek-objek di dalam klaster.
Separation merupakan ukuran kebaikan klaster yang menentukan perbedaan
atau seberapa jau suatu klaster dengan klaster lainnya.

2.

Supervised
Teknik supervised mengukur kecocokan struktur hasil pembentukan klaster
dengan struktur eksternal.

3.

Relative
Teknik relative membandingkan klaster yang berbeda. Ukuran evaluasi
klaster relative merupakan teknik unsupervised dan supervised yang
digunakan untuk perbandingan.
Pada aspek evaluasi klaster kesatu, kedua, dan ketiga termasuk teknik

unsupervised yang tidak diperlukan informasi eksternal, sedangkan aspek keempat
termasuk teknik supervised yang memerlukan informasi eksternal. Aspek kelima
dapat dilakukan menggunakan teknik unsupervised dan supervised.

13
Algoritma Naive Bayes
Klasifikasi Naive Bayes dapat diuraikan sebagai berikut :
Asumsi bahwa setiap instance direpresentasikan dengan sebuah vektor
X=(x1,x2,…,xn), dimana

x1,x2,…,xn adalah ukuran dari atribut

A1,A2,…,An.

Andaikan terdapat kelas sejumlah m yaitu C1,C2,…,Cm. Diberikan suatu instance
X yang belum diketahui kelasnya, dengan menggunakan teorema Bayesian,
|



⁄∑

|

posterior probability dari X terhadap Cl adalah :
P(Cl |X) =

=

|

!

(3)

Class prior probability dapat diduga dengan P(Cl)=" ⁄" , dimana sladalah

jumlah dari data pelatihan dengan kelas Cl dan s adalah jumlah total data pelatihan.
Naive Bayes menduga conditionally independent antara satu atribut dan
atribut lainnya dengan :
P(X|Cl)= ∏%

!

$ |

(4)

P(xk|Cl) dapat diduga dari data. Sehingga didapatkan
P(Cl|X)=

∏%

!

$ |

⁄ ∑'

!

&

$ |

'

(5)

Untuk menggolongkan sebuah data X yang belum diketahui kelasnya,
P(Cl|X) dievaluasi untuk setiap kelas Cl. Data X akan dimasukkan dalam kelas Cl
jika dan hanya jika P(Cl|X) > P(Cj|X), 1 ≤ j ≤ m, j≠l (Deng & Peng 2006).
Proses belajar mengambil sebagai masukan pengumpulan pelatihan, dan
terdiri atas langkah-langkah berikut (Sebastiani 2002):
1. Preprocessing. Penghapusan elemen-elemen yang tidak relevan (misalnya,
HTML), dan pemilihan segmen yang sesuai pengolahan (misalnya header,
tubuh, dan lain-lain).
2. Tokenization. Membagi pesan ke segmen semantik yang koheren (misalnya,
kata, string karakter lain, dan lain-lain).
3. Representation. Konversi pesan ke vektor pasangan atribut dan nilai, di mana
atribut adalah token yang ditetapkan sebelumnya, dan nilai-nilai mereka dapat
biner, (relatif) frekuensi, dan lain-lain.

14
4. Selection. Penghapusan atribut yang kurang prediktif (menggunakan ukuran
kualitas misalnya seperti information gain).
5. Learning. Secara otomatis membangun model klasifikasi (classifier) dari
koleksi pesan, karena mereka sebelumnya telah diwakili.
Word Approximation
Word

approximation

merupakan

teknik

yang

digunakan

untuk

menyelesaikan kesalahan typographical dari query dengan menggunakan teknik
pencarian yang rapi. Dalam word approximation dilakukan penghitungan nilai
kekeliruan sebuah query dari pengguna dengan membandingkan query dari
pengguna dengan kata yang terdapat pada kamus. Kata dengan nilai kekeliruan
paling sedikit yang akan dikembalikan. Modul word approximation dilakukan
berdasarkan penghitungan jarak mengubah string masukan dengan kata kunci
yang dikenal. Jika string masukan sama persis dengan sebuah kata kunci, maka
kata kunci ini digunakan secara langsung. Selainnya, kata kunci terdekat dipilih
sebagai perbaikan kata (Angkawattanawit et al. 2008).
Confusion Matrix
Confusion matrix merupakan sebuah tabel yang berisi jumlah banyaknya
record uji yang diprediksi secara benar dan tidak benar oleh model klasifikasi.
Bentuk dari confussion matrix terlihat pada Tabel 1. Setiap entri pada fij pada
tabel ini menyatakan banyaknya record dari kelas i yang diprediksi ke dalam kelas
j.
Tabel 1 Confusion Matrix
Kelas yang diprediksi
Kelas = 1

Kelas = 0

Kelas

Kelas = 1

f11

f10

aktual

Kelas = 0

f01

f00

Informasi dari confusion matrix diperlukan untuk menentukan kinerja suatu
model klasifikasi. Informasi ini dapat diringkas ke dalam suatu nilai seperti
akurasi (Tan et al. 2005).

Akurasi = f11
Android

f00 ⁄ f11

15
f10

f01

f00

(6)

Android adalah perangkat lunak yang menyertakan sistem operasi,
middleware, dan kunci aplikasi perangkat seluler dengan sekumpulan Application
Programming Interface (API) library untuk pembuatan aplikasi perangkat seluler
sesuai kebutuhan (Meier 2009). Google mengembangkan sistem operasi Android
untuk platform di perangkat mobile atau netbook. Struktur sistem dari Android
terdiri dari lapisan aplikasi, lapisan kerangka aplikasi, lapisan runtime sistem, dan
lapisan kernel Linux (Xie et al, 2012). Arsitektur Android dapat dilihat pada
Gambar 2.

Gambar 2 Arsitektur Android (Xie et al. 2012)
Penelitian Terkait
Deng & Peng (2006) melakukan penelitian mengenai sistem penyaringan
SMS terdistibusi yang diaplikasikan pada jaringan mobile. Sistem penyaringan
SMS dikembangkan menggunakan algoritma Naive Bayes. Sistem yang
dikembangkan memiliki kemampuan pembelajaran mandiri dan memperbarui
pengetahuan. Sistem ini terdiri atas satu SMS processing center dan beberapa
SMS filter agent. Bagian pembelajaran dari sistem diletakkan pada SMS

16
processing center. Sedangkan bagian penyaringan SMS diletakkan pada SMS
filter agent yang terdapat pada mobile phone. Pembaruan pengetahuan
penyaringan dilakukan secara berkala, dengan cara SMS filter agent akan
melaporkan SMS yang salah diklasifikasikan ke SMS processing center.
Kemudian SMS processing center akan menggunakan informasi tersebut untuk
melakukan

pembelajaran

untuk

mendapatkan

pembaruan

pengetahuan

penyaringan. Pembaruan pengetahuan penyaringan ini akan diunduh oleh SMS
filter agent untuk kemudian digunakan pada penyaringan SMS selanjutnya.
Terdapat atribut baru yang digunakan pada penelitian ini, yaitu panjang pesan dan
beberapa aturan yang dibentuk oleh penulis.
Tahap penelitian yang dilakukan adalah praproses, pemilihan atribut,
penghitungan suatu pesan termasuk kelompok junk message atau legitimate
message berdasarkan panjang pesan, penghitungan peluang setiap atribut aturan
untuk kelompok junk message dan legitimate message, proses pelatihan dan
klasifikasi menggunakan Naive Bayes. Tahap praproses dipecah menjadi beberapa
langkah, yaitu tokenizing dan filtering. Pada penelitian ini atribut yang digunakan
bukan hanya kata, tetapi juga digunakan atribut abstracting word. Abstracting
word adalah rangkaian kata angka atau angka dengan huruf yang memiliki makna.
Seperti rangkaian angka yang memiliki makna sebagai nomor telepon dan
rangkaian angka dengan huruf yang memiliki makna jumlah uang. Untuk
menemukan abstracting word digunakan teknik regular expression. Pemilihan
atribut kata dan abstracting word dilakukan dengan menggunakan ukuran Mutual
Information (MI). Dari penelitian yang dilakukan, mereka mendapatkan hasil
bahwa penambahan atribut panjang dan aturan memberikan akurasi yang lebih
tinggi dibandingkan dengan dengan penggunaan penyaringan Naive Bayes pada
atribut kata saja. Hasil lainnya adalah konsumsi waktu yang dibutuhkan sistem
untuk melakukan klasifikasi adalah kurang dari 3 detik dan proses yang paling
banyak membutuhkan waktu adalah tokenizing.

BAB III
METODOLOGI PENELITIAN
Terdapat tiga tahapan utama dalam penelitian ini. Ketiga tahapan tersebut
yaitu, pembentukan klaster data SMS, pembentukan model klasifikasi, serta
implementasi model klasifikasi ke perangkat seluler.
Pembentukan Klaster Data SMS
Pada Gambar 3 ditunjukkan tahapan pembentukan klaster data yang
digunakan. Pada tahap ini, akan dilakukan pembentukan klaster data dan
pembentukan dataset dari data SMS. Terdapat lima subtahap dari tahapan
pembentukan klaster data, yaitu subtahap pengumpulan data SMS, subtahap
praproses, subtahap pembentukan klaster data teks dan pemilihan klaster terbaik,
subtahap representasi pesan, dan subtahap pembentukan dataset.
Pengumpulan data SMS dilakukan untuk memperoleh sumber data yang
akan digunakan pada penelitian ini. SMS yang dikumpulkan adalah SMS
berindikasi tindak penipuan yang beredar di masyarakat pada tahun 2010-2011.
Kumpulan SMS tersebut diperoleh dari penulis, beberapa orang kolega penulis,
dan media internet.

Gambar 3 Tahapan Pembentukan Klaster Data

18
Struktur Praproses
Tahap praproses dapat dipecah lagi menjadi beberapa tahap. Rincian
lengkap tahap praproses dapat dilihat pada Gambar 4.

Gambar 4 Tahapan Praproses
Tahapan praproses data yang dilakukan adalah sebagai berikut :
1. Tokenizing: Pada proses tokenizing dilakukan pemotongan untuk setiap kata,
rangkaian angka dan rangkaian angka dengan huruf yang memiliki makna
tertentu, yang terdapat dalam SMS. Karakter selain huruf, rangkaian angka,
atau rangkaian angka dengan huruf akan dihilangkan. Setiap kata, rangkaian
angka, maupun rangkaian angka dengan huruf disebut sebagai token.
Ilustrasi dari proses tokenizing dapat dilihat di bawah ini.
Data awal :
Tolong belikan dlu Mama pulsa 50 rb di No Mama yang baru ini
081313779293 MAMA mau pakai Nelpon pnting.! ini No orng MAMA
pakai
Hasil proses tokenizing :
tolong belikan dlu mama pulsa nominal di no yang baru ini nomortelepon
mau pakai nelpon pnting orng
2. Filtering: Proses filtering merupakan proses pembuangan token yang
termasuk dalam daftar stop word. Beberapa kata yang termasuk dalam daftar
stop word adalah yang, di, ke, dari, adalah, dan, atau, dan lain sebagainya.

19
Ilustrasi dari proses filtering dapat dilihat di bawah ini.
Data hasil proses tokenizing :
tolong belikan dlu mama pulsa nominal di no yang baru ini
nomortelepon mau pakai nelpon pnting orng
Hasil proses filtering :
tolong belikan dlu mama pulsa nominal no baru ini nomortelepon mau
pakai nelpon pnting orng

3. Stemming: Pada proses stemming dilakukan penghapusan awalan dan akhiran
yang terdapat pada setiap token yang mengandung imbuhan. Proses ini
dilakukan untuk mendapatkan kata dasar dari setiap token.
Ilustrasi dari proses stemming dapat dilihat di bawah ini.
Data hasil proses filtering :
tolong belikan dlu mama pulsa nominal no baru ini nomortelepon mau
pakai nelpon pnting orng
Hasil proses stemming :
tolong beli dlu mama pulsa nominal no baru ini nomortelepon mau pakai
nelpon pnting orng

4. Word Approximation: Proses word approximation merupakan proses
perbaikan token yang salah ketik atau token yang disingkat (Angkawattanawit
et al. 2008). Karena token yang salah ketik atau token yang disingkat tidak
akan memiliki makna. Padahal bisa saja token tersebut memiliki makna yang
dapat digunakan dalam mengenali kategori suatu SMS.
Proses word approximation dilakukan dengan menggunakan algoritma
Damerau Levenshtein (Navarro 2001). Ukuran jarak Damerau Levenshtein
adalah jarak antara dua string yang dihitung dari jumlah minimum operasi
yang diperlukan untuk mengubah satu string ke string yang lain, di mana
operasi yang dimaksud didefinisikan sebagai penyisipan, penghapusan, atau

20
penggantian satu karakter, atau penukaran dari dua karakter yang berdekatan.
Pseudocode dari algoritma Damerau Levenshtein ditunjukkan pada Gambar
5.

Gambar 5 Pseudocode Algoritma Damerau Levensthein
Data hasil proses stemming dan daftar kata dasar dalam Bahasa
Indonesia digunakan sebagai masukan pada proses ini. Proses word
approximation dilakukan perbandingan kata dengan memperhatikan empat
jenis kesalahan pengetikan, yaitu :
a. Penyisipan sebuah huruf.
b. Penghapusan sebuah huruf.
c. Penggantian sebuah huruf dengan huruf lain.
d. Penukaran dua karakter yang berdekatan.
Tahapan yang dilakukan pada proses word approximation dengan
menggunakan algoritma Damerau Levenshtein adalah sebagai berikut :
a. Menghitung jarak antara token dengan setiap kata yang terdapat
pada daftar kata dasar dengan menggunakan ukuran jarak
Damerau Levenshtein.
b. Mencari nilai jarak yang paling kecil.

21
c. Mengganti token tersebut dengan kata dari daftar kata dasar,
dimana jarak antara token dengan kata tersebut merupakan jarak
paling kecil.
Ilustrasi dari proses word approximation dapat dilihat di bawah ini.
Data hasil proses stemming :
tolong beli dlu mama pulsa nominal no baru ini nomortelepon mau pakai
nelpon pnting orng
Hasil proses word approximation :
tolong beli dulu mama pulsa nominal nomor baru ini nomortelepon mau
pakai telepon penting orang

Pembentukan Klaster Data Teks dan Pemilihan Klaster Terbaik
Proses

pembentukan

klaster

data

dilakukan

untuk

mendapatkan

pengelompokkan dari seluruh data SMS yang ada (Huang 2008). Proses ini
dilakukan menggunakan data hasil tahap praproses. Pada penelitian ini dilakukan
percobaan membentuk klaster menggunakan algoritma ROCK dengan merubah
masukan jumlah klaster dan nilai ambang . Jumlah klaster yang digunakan adalah
2, 3, 4, dan 5. Sedangkan nilai ambang yang digunakan antara 0.01 sampai 0.18.
Tahapan dari pembentukan klaster data menggunakan algoritma ROCK
adalah (Guha et al. 2000):
1. Menentukan inisialisasi untuk masing-masing data poin sebagai klaster pada
awalnya.
2. Menghitung similaritas antara suatu klaster dengan klaster lainnya,
sim , = | ∩ |⁄| ( |

menggunakan rumus jaccard coefficient berikut :

| ∩ | menyatakan banyaknya item yang sama pada
menyatakan banyaknya gabungan item pada

dan .

dan , sedangkan | ( |

Sebagai contoh penghitungan jaccard coefficient, diberikan dua SMS )! dan

)* sebagai berikut :

22

)! = { baru, beli, dulu, ini, mama, mau, nominal, nomor, nomortelepon,
)* = { ada, baru, ini, jangan, kantor, kirim, lagi, masalah, nominal, nomor,
orang, pakai, penting, pulsa, telepon, tolong}

= 8⁄23 =0,35

nomortelepon, papa, polisi, pulsa, telepon, tolong}

sim

,

3. Menentukan nilai matrik tetangga A dengan menggunakan nilai nilai ambang
(θ).
A[x,y] bernilai 1 jika sim(x,y) ≥ θ dan bernilai 0 jika sim(x,y) ≤ θ.
Sebagai contoh penentuan nilai matrik tetangga A dapat dilihat berikut ini :
nilai ambang (θ) = 0,3

+,- )! , )* = 0,35

A[)! , )* ] = 1, maka )! dan )* merupakan tetangga.
4. Menghitung link antara suatu klaster dengan klaster lainnya menggunakan
persamaan 1. Link(Ti, Tj) antarobjek diperoleh dari jumlah tetangga antara Ti
dan Tj.
Link(Ti, Tj) = |tetangga(Ti) ∩ tetangga(Tj)|.
Sebagai contoh penentuan Link(Ti,Tj) dapat dilihat berikut ini :

Diberikan empat titik data yaitu )!