You are on page 1of 18

7

BAB II
LANDASAN TEORI

2.1. Data mining
Data mining adalah suatu algoritma di dalam menggali informasi berharga
yang terpendam atau tersembunyi pada suatu koleksi data (database) yang sangat
besar sehingga ditemukan suatu pola yang menarik yang sebelumnya tidak diketahui.
Analisa data mining berjalan pada data yang cenderung terus membesar dan
teknik terbaik yang digunakan kemudian beorientasi kepada data berukuran sangat
besar untuk mendapatkn kesimpulan dan keputusan paling layak. Data mining
memiliki beberapa sebutan atau nama lain yaitu : Knowledge discovery (mining) in
databases (KDD), ekstraksi pengetahuan (knowledge extraction), analisa data/pola,
kecerdasan bisnis (business intelligence), dll.
Ada beberapa tahapan proses dalam data mining (Gambar 2.1). Fase awal
dimulai dari data sumber dan berakhir dengan adanya informasi yang dihasilkan dari
beberapa tahapan, yaitu:
1. Seleksi Data
Pemilihan (seleksi) data baru sekumpulan data operasional perlu dilakukan
sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi
yang akan digunakan untuk proses data mining, disimpan dalam suatu berkas,
terpisah dari basis data operasional.


8
2. Pembersihan data (Cleaning)
Sebelum proses data mining dapat dilaksanakan, perlu dilakukan proses
pembersihan pada data yang menjadi fokus KDD. Proses pembersihan
mencakup antara lain membuang duplikasi data, memeriksa data yang
inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak
(tipografi). Juga dilakukan proses enrichment, yaitu proses "memperkaya"
data yang sudah ada dengan data atau informasi lain yang relevan dan
diperlukan untuk KDD, seperti data atau informasi eksternal.
3. Transformasi
Pada tahap transformasi data diubah ke dalam bentuk yang sesuai untuk di-
mining. Beberapa teknik data mining membutuhkan format data yang khusus
sebelum bisa diaplikasikan. Sebagai contoh, beberapa teknik standar seperti
analisis asosiasi dan klastering hanya bisa menerima input data kategorikal.
Karenanya data berupa angka numerik yang berlanjut perlu dibagi-bagi
menjadi beberapa interval. Proses ini sering disebut binning. Disini juga
dilakukan pemilihan data yang diperlukan oleh teknik data mining yang
dipakai. Transformasi dan pemilihan data ini juga menentukan kualitas dari
hasil data mining nantinya karena ada beberapa karakteristik dari teknik-
teknik data mining tertentu yang tergantung pada tahapan ini.




9
4. Data mining
Data mining adalah proses mencari pola atau informasi menarik dalam data
terpilih dengan menggunakan teknik atau metode tertentu. Teknik, metode,
atau algoritma dalam data mining sangat bervariasi. Pemilihan metode atau
algoritma yang tepat sangat bergantung pada tujuan dan proses KDD secara
keseluruhan.
5. Interpretasi /Evaluasi
Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan
dalam bentuk yang mudah dimengerti oleh pihak yang berkepentingan. Tahap
ini merupakan bagian dari proses KDD yang disebut dengan interpretation.
Tahap ini mencakup pemeriksaan apakah pola atau informasi yang ditemukan
bertentangan dengan fakta atau hipotesa yang ada sebelumnya.

Gambar 2.1 Fase-fase Dalam Data mining
(http://lecturer.eepis-its.edu, diakses tahun 2008)


10
Data mining model dibuat berdasarkan salah satu dari dua jenis pembelajaran,
yaitu supervised dan unsupervised. Fungsi pembelajaran Supervised digunakan untuk
memprediksi suatu nilai. Fungsi pembelajaran Unsupervised digunakan untuk
mencari struktur intrinsik, relasi dalam suatu data yang tidak memerlukan class atau
label sebelum dilakukan proses pembelajaran. Contoh dari algoritma pembelajaran
unsupervised, diantaranya k-means clustering dan Apriori association rules. Contoh
dari algoritma pembelajaran supervised yaitu Decision tree untuk klasifikasi.
Metode data mining dapat diklasifikasikan berdasarkan fungsi yang dilakukan
atau berdasarkan jenis aplikasi yang menggunakannya. Berdasarkan fungsi, metode
data mining dibedakan menjadi klasifikasi, clustering dan Association Rules.
1. Klasifikasi
Klasifikasi (Classification) adalah proses untuk menemukan model atau
fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan
tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak
diketahui. Model itu sendiri bisa berupa aturan jika-maka, berupa decision
tree, formula matematis atau neural network. Proses klasifikasi biasanya
dibagi menjadi dua fase yaitu learning dan test. Pada fase learning, sebagian
data yang telah diketahui kelas datanya diumpankan untuk membentuk model
perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan
sebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila
akurasinya mencukupi, model ini dapat dipakai untuk prediksi kelas data yang


11
belum diketahui.
Klasifikasi digunakan untuk memprediksi suatu nilai, segmentasi
customer, pemodelan bisnis, analisa kartu kredit, filter spam dan banyak
aplikasi yang lain. Sebagai contoh, perusahaan kartu kredit ingin memprediksi
customer berdasarkan tipe pembayaran
2. Clustering
Clustering adalah teknik yang berguna untuk mengeksplorasi data. Teknik
ini digunakan pada saat banyak kasus dan tidak memiliki pengelompokan
secara alami. Dalam hal ini algoritma data mining dapat digunakan untuk
mencari pengelompokan yang ada pada data.
Analisis Clustering mengidentifikasi cluster yang ada pada data. Cluster
adalah kumpulan obyek data yang mirip satu sama lain. Metode clustering
yang bagus menghasilkan cluster yang berkualitas untuk memastikan
kesamaan pada datadata yang ada dalam satu cluster. Clustering model
berbeda dari model prediktif dikarenakan pada clustering tidak perlu ada
atribut target. Clustering yang diorganisasi ke dalam struktur hirarkikal akan
mendefinisikan taksonomi dari data.
3. Association Rules
Fungsi Association Rules seringkali disebut dengan "market basket
analysis", yang digunakan untuk menemukan relasi atau korelasi diantara


12
himpunan item. Fungsi ini paling banyak digunakan untuk menganalisa data
dalam rangka keperluan strategi pemasaran, desain katalog, dan proses
pembuatan keputusan bisnis. Tipe association rule bisa dinyatakan sebagai
misal: "70% dari orangorang yang membeli mie, juice dan saus akan membeli
juga roti tawar".
Aturan asosiasi menangkap item atau kejadian dalam data berukuran besar
yang berisi data transaksi. Dengan kemajuan teknologi, data penjualan dapat
disimpan dalam jumlah besar yang disebut dengan "basket data." Aturan
asosiasi yang didefinisikan pada basket data, digunakan untuk keperluan
promosi, desain katalog, segmentasi customer dan target pemasaran.

2.2. Decision tree
Decision tree adalah salah satu metode klasifikasi yang paling popular karena
mudah untuk di interpretasi oleh manusia. Konsep dasar algoritma Decision Tree
adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan (rule)
(Gambar 2.2).

Gambar 2.2 Konsep Decision Tree
(http://lecturer.eepis-its.edu, diakses tahun 2008)

Data Decision Tree Rule


13
Decison Tree sesuai digunakan untuk kasus-kasus dimana outputnya bernilai
diskrit. Walaupun banyak variasi model Decision Tree dengan tingkat kemampuan
dan syarat yang berbeda, pada umumnya beberapa ciri kasus berikut cocok untuk
diterapkan Decision Tree :
1. Data/example dinyatakan dengan pasangan atribut dan nilainya. Misalnya
atribut satu example adalah temperatur dan nilainya adalah dingin. Biasanya
untuk satu example nilai dari satu atribut tidak terlalu banyak jenisnya. Dalam
contoh atribut warna ada beberapa nilai yang mungkin yaitu hijau, kuning,
merah. Sedang dalam atribut temperatur, nilainya bisa dingin, sedang atau
panas. Tetapi untuk beberapa kasus bisa saja nilai temperatur berupa nilai
numerik.
2. Label/output data biasanya bernilai diskrit. Output ini bisa bernilai ya atau
tidak, sakit atau tidak sakit, diterima atau ditolak. Dalam beberapa kasus
mungkin saja outputnya tidak hanya dua kelas. Tetapi penerapan Decision
Tree lebih banyak kasus binari.
3. Data mempunyai missing value. Misalkan untuk beberapa example, nilai dari
suatu atributnya tidak diketahui. Dalam keadaan seperti ini Decision Tree
masih mampu memberi solusi yang baik.
Membangun tree dimulai dengan data pada simpul akar (root node) kemudian
pilih sebuah atribut dan formulasikan sebuah logical test pada atribut tersebut
lakukan percabangan pada setiap hasil dari test, dan terus bergerak ke subset ke
contoh yang memenuhi hasil dari simpul anak cabang (internal node) yang sesuai


14
lakukan proses rekursif pada setiap simpul anak cabang. Ulangi hingga dahan-dahan
dari tree memiliki contoh dari satu kelas tertentu. Contoh dari sebuah decision tree
(Gambar 2.3).

Gambar 2.3 Decision Tree

Beberapa model decision tree yang sudah dikembangkan antara lain IDS, ID3,
C4.5, CHAID dan CART.

2.2.1. Algoritma ID3
Algoritma ID3 atau Iterative Dichotomiser 3 (ID3) merupakan sebuah metode
yang digunakan untuk membuat pohon keputusan. Algoritma pada metode ini
menggunakan konsep dari entropi informasi.
Secara ringkas, cara kerja Algoritma ID3 dapat digambarkan sebagai berikut:
1. Pemilihan atribut dengan menggunakan Information Gain
2. Pilih atribut dimana nilai information gainnya terbesar
3. Buat simpul yang berisi atribut tersebut


15
4. Proses perhitungan information gain akan terus dilaksanakan sampai
semua data telah termasuk dalam kelas yang sama. Atribut yang telah
dipilih tidak diikutkan lagi dalam perhitungan nilai information gain.
Pemilihan atribut pada ID3 dilakukan dengan properti statistik, yang disebut
dengan information gain. Gain mengukur seberapa baik suatu atribut memisahkan
training example ke dalam kelas target. Atribut dengan informasi tertinggi akan
dipilih. Dengan tujuan untuk mendefinisikan gain, pertama-tama digunakanlah ide
dari teori informasi yang disebut entropi. Entropi mengukur jumlah dari informasi
yang ada pada atribut dengan rumus :

+ +
= P P P P S Entropy
2
log
2
log ) (
Berdasarkan rumus di atas, P
+
adalah probabilitas sample S

yang mempunyai
class positif. P
+
dihitung dengn membagi jumlah sample positif (S
+
) dengan jumlah
sample keseluruhan (S) sehingga P
+
=
S
S
+
. P
-
adalah probabilitas sample S

yang
mempunyai class negatif. P
-
dihitung dengn membagi jumlah sample negatif (S
-
)
dengan jumlah sample keseluruhan (S) sehingga P
-
=
S
S
. Bagian daun dari sebuah
decision tree, idealnya hanya terdiri dari data e-mail Spam atau e-mail non-Spam.
Dengan kata lain bagian daun adalah sampel yang murni. Jadi ketika membagi sebuah
sampel, sisa sampel harus lebih murni dibandingkan simpul sebelumnya. Oleh karena
itu nilai entropy harus dikurangi. Pada algoritma ID3 pengurangan entropy disebut


16
dengan information gain.. Pembagian sampel S terhadap atribut A dapat dihitung
information Gain dengan rumus :

e
=
) (
) (
| |
| |
) ( ) , (
A nilai v
v
v
S Entropy
S
S
S Entropy A S Gain
Value A adalah semua nilai yang mungkin dari atribut A, dan S
v
adalah subset
dari S dimana A mempunyai nilai c. Bagian pertama pada rumus adalah entropy total
S dan bagian kedua adalah entropy sesudah dilakukan pemisahan data berdasarkan
atribut A.

2.2.2. Algoritma C4.5
Algoritma C4.5 adalah pengembangan dari algoritma ID3. karena dari
pengembangan inilah algoritma C4.5 mempunyai prinsip dasar kerja yang sama
dengan algoritma ID3. Hanya saja dalam algoritma C4.5 pemilihan atribut dengan
menggunakan Gain Ratio dengan rumus :
) , (
) , (
) , (
A S SplitInfo
A S Gain
A S GainRatio =
Atribut dengan nilai Gain Ratio tertinggi dipilih sebagai atribut test untuk
simpul. Dengan gain adalah information gain yang dapat dilihat pada persamaan
diatas. Sedangkan SplitInfo menyatakan entropi atau informasi potensial. Dengan
rumus :
S
S
S
S
A S SplitInfo
i
c
i
i
2
1
log ) , (

=
=


17
Dimana S
1
sampai S
i
adalah c subset yang dihasilkan dari pemecahan S dengan
menggunakan atribut A yang mempunyai sebanyak c nilai. Gain Ratio digunakan
sebagi kriteria pemilihan atribut dalam algoritma C4.5 karena untuk mengurangi bias
yang terjadi.
Dengan perbedaan dalam pemilihan atribut ini, C4.5 memiliki keunggulan di
bandingkan ID3 yaitu dapat mengolah data numerik (kontinyu) dan kategori (diskret),
dapat menangani nilai atribut yang hilang, menghasilkan aturan-aturan yang mudah
diinterpretasikan dan cepat.

2.3. Spam Email
Paul Graham (2002) mendefinisikan spam atau email sampah adalah sebagai
unsolicited automated email (e-mail tidak diinginkan yang dikirimkan secara
otomatis). Atau Spam-mail dapat didefinisikan sebagai unsolicited bulk e-mail
yaitu e-mail yang dikirimkan kepada ribuan penerima (recipient). Jadi dapat ditarik
kesimpulan bahwa spam adalah email yang tidak diinginkan yang dikirim secara
otomatis kepada ribuan penerima. Spam mail biasanya dikirimkan oleh suatu
perusahaan untuk mengiklankan suatu produk. Karena fasilitas e-mail yang murah
dan kemudahan untuk mengirimkan ke berapapun jumlah penerima, maka spam mail
menjadi semakin merajalela. Pada survey yang dilakukan oleh Cranor & La Macchia
(1998), ditemukan bahwa 10% dari mail yang diterima oleh suatu perusahaan adalah
spam-mail.


18
Terlepas dari waktu yang terbuang untuk menghapus spam-mail dari inbox
satu persatu, spam merupakan pemborosan uang bagi user yang menggunakan
koneksi dial-up. Selain itu spam juga membuang bandwidth dan dapat menyebabkan
penerima di bawah umur mengakses situs-situs yang tidak seharusnya.
Untuk mengatasi hal ini, diperlukan suatu filter anti-spam dengan algoritma
tertentu yang dapat memisahkan antara spam-mail dengan non spam mail (atau yang
biasa disebut ham atau legitimate mail).
Klasifikasi adalah salah satu metode dalam data mining yang dapat
mengkasifikasikan email sebagai spam atau non-spam. Pengklasifikasian ini
berdasarkan karakteristik dari spam (Lambert, 2003) yaitu :
1. Alamat pengirim yang tidak benar. Jika akan membalas kembali spam-
mail maka pengiriman akan error.
2. Pemalsuan header mail untuk menyembunyikan email sesungguhnya
sehingga akan sulit menetapkan sebagi spam atau non-spam.
3. Identitas penerima tidak nyata karena email tersebut di kirim kebanyak
penerima
4. Kamus alamat penyerang. Alamat email yang berada dalam To
memiliki variasi alamat email penerim. Contoh jika alamat email anda
Shofie@yahoo.com maka juga yang akan terlihat shofie@gmail.com,
shofie@hotmail.com, shofi@yahoo.com atau yang lainnya.
5. isi subject tidak berhubungan dengan isi email.
6. Isi email memiliki sifat keragu-raguan.


19
7. Unsubscribe tidak bekerja pada spam mail. Jika unsubscribe dicoba
pada spam mail maka link yang ada tidak akan terbuka atau akan
membuka web site iklan.
8. Mengandung script tersembunyi. Jika spam mengandung tag HTML
maka kemungkinan mengandung javascript yang tersembunyi. Yang
dapat membuka website dan mengaktifkan popup windows.

2.4. Feature Selection
Feature selection adalah suatu metode untuk mengurangi dimensi atau atribut
dari feature space dengan memilih feature yang paling informative untuk dokumen
yang akan diklasifikasikan. Feature hasil feature selection sering disebut dengan
vocabulary.
x
2
statistic menghitung lack of independence antara sebuah atribut dan
sebuah class c {spam, non-spam}. Nilai x
2
statistic yang tinggi untuk sebuah atribut
berarti memiliki hubungan yang kuat antara atribut dan class c, dengan kata lain
atribut adalah informative.
Rumus x
2
statistic untuk atribut dan class c adalah :


dimana :
Observed = jumlah data hasil pengamatan
Expecteted = Jumlah perkiraan Dengan expected dapat dihitung dengan rumus :


=
Expected
Expected Observed
2
2
) (
;


20
N
AxB
atribut kelas Expected = ) , (
Dimana :
A = jumlah data yang mengandung atribut tertentu
B = jumlah data untuk kelas tertentu
N = total jumlah data

Untuk mengetahui apakah atribut word_freq_make adalah atribut yang
informative untuk klasifikasi spam-mail, maka dilakukan perhitungan X
2
statistic
dengan menggunakan Table 2.1.
Table 2.1 Perhitungan X
2
statistic
Kelas
Atribut
Jumlah
1 2 3 4
Spam 1779 29 4 1 1813
Non-spam 2750 29 5 4 2788
Jumlah 4529 58 9 5 4601

Untuk menghitung X
2
statistic terlebih dahulu mencari nilai expected dengan
rumus:
N
AxB
atribut kelas Expected = ) , ( . Maka di dapat nilai expected untuk
masing-masing nilai adalah sebagai berikut:
63 . 1784
4601
1813 * 4529
) 1 , ( = = spam Expected
37 . 2744
4601
2788 * 4529
) 1 , ( = = spam non Expected


21
85 . 22
4601
1813 * 58
) 2 , ( = = spam Expected
15 . 35
4601
2788 * 58
) 2 , ( = = spam non Expected
55 . 3
4601
1813 * 9
) 3 , ( = = spam Expected
45 . 5
4601
2788 * 9
) 3 , ( = = spam non Expected
97 . 1
4601
1813 * 5
) 4 , ( = = spam Expected
03 . 3
4601
2788 * 5
) 4 , ( = = spam non Expected
Maka untuk menghitung X
2
Statistic untuk atribut word_freq_make adalah dengan
rumus:


=
Expected
Expected Observed
2
2
) (
; .
3.64053
0.3105 0.4776 0.0372 0.057 1.076 1.6552 0.0115 0.0178
3.03
3.03) (4
1.97
1.97) (1
5.45
5.45) (5
3.55
3.55) (4
35.15
35.15) (29
22.85
22.85) (29
2744.37
2744.37) - (2750

1784.63
1784.63) - (1779
_make) (word_freq
2 2 2 2 2
2 2 2
2
=
+ + + + + + + =

+ + =

Maka didapat X
2
statistic untuk Word_freq_make adalah 3.64053. Nilai X
2
statistic
ini akan dibandingkan dengan nilai X
2
statistic atribut yang lain. Kemudian akan di
urutkan dari nilai X
2
statistic terbesar ke nilai X
2
statistic terkecil.




22
2.5 Pengukuran Kinerja
Berbagai macam pengukuran dilakukan untuk mengevaluasi kinerja dari
pengambilan sebuah informasi (information retrieval) telah dilakukan. Pengukuran
tersebut membutuhkan beberapa dokumen atau data dan query. Untuk permasalahan
dalam klasifikasi, pengukuran yang biasa digunakan adalah precision, recall dan
accuracy [Jyh-Jian Sheu, 2008]. Karena spam merupakan binary classification, maka
precision, recall dan accuracy dapat dihitung dengan tabel sebagai berikut :
Tabel 2.2 Tabel Penilaian

diidentifikasi sebagai
non-spam
diidentifikasi sebagai
spam
Non-spam a b
Spam c d

1. Precision
Precision adalah bagian data yang di ambil sesuai dengan informasi yang
dibutuhkan. Rumus precision adalah :
% 100 Pr x
d b
d
ecision |
.
|

\
|
+
=
Dalam klasifikasi binari, precision dapat disamakan dengan positive
predictive value atau nilai prediktif yang positif.





23
2. Recall
Recall adalah pengambilan data yang berhasil dilakukan terhadap bagian data
yang relevan dengan query. Rumus Recall adalah :
% 100 Re x
d c
d
call |
.
|

\
|
+
=
Dalam klasifikasi binari, recall disebut juga dengan sensitivity. Peluang
munculnya data relevan yang diambil sesuai dengan query dapat dilihat
dengan recall.

3. Accuracy
Accuracy adalah persentase dari total e-mail yang benar diidentifikasi. Rumus
Accurasy adalah :
% 100 x
totalemail
d a
Accuracy |
.
|

\
| +
=

2.6 WEKA
WEKA adalah sebuah alat (tool) yang digunakan untuk membandingkan
beberapa algoritma machine learning yang bisa diaplikasikan untuk permasalahan-
permasalahan data mining. WEKA dikembangkan oleh University of Wakaito, New
Zealand yang bersifat open source.
Penelitian yang dilakukan oleh Seongwook Youn dan Dennis Mcleod (2006)
menggunakan WEKA sebagai alat bantu untuk membandingkan kinerja tiga


24
algoritma yaitu Neural Network, Support Vektor Mechine (SVM),Nave Bayesian dan
C4.5. Keempat algoritma tersebut digunakan dalam kasus yang sama yaitu
mengklasifikasikan email menjadi spam atau non-spam.
Beberapa kelebihan yang dimiliki WEKA antara lain mudah digunakan,
berbasis GUI (Graphical Interface User) dan bisa digunakan untuk mengintegrasikan
metode baru yang dibuat sendiri dengan beberapa ketentuan.

You might also like