9
Bab 2 LANDASAN TEORI
Bab ini berisi penjelasan mengenai teori atau konsep yang terkait dengan rumusan masalah dalam penelitian ini. Konsep yang dijelaskan yaitu
Knowledge Discovery in Databases
KDD dan
Outlier Detection
. Setiap konsep atau teori akan berisi penjelasan mengenai definisi, bagian-bagian serta peran masing-
masing bagian tersebut dalam penelitian ini. Hal-hal tersebut akan diuraikan
dalam dua sub bab di bawah ini.
2.1
Knowledge Discovery in Databases
KDD
Knowledge Discovery in Databases
KDD adalah proses mengambil informasi penting yang tersembunyi dalam sekumpulan data. KDD membantu
seseorang dalam mengambil keputusan berdasarkan informasi yang ditemukan tersebut Baradwaj Pal, 2011. KDD terbagi menjadi lima tahap yaitu
selection, preprocessing
,
transformation, data mining, dan evaluation
Fayyad
et al
., 1996. Setiap tahap dalam KDD memiliki peranan penting dan saling berkaitan satu sama lain untuk mengekstrak
knowledge
dari data.
Gambar 2.1 Langkah-langkah dalam KDD Fayyad et al., 1996
Selection
merupakan proses seleksi data yang relevan untuk dianalisis dari sebuah basis data. Data yang relevan artinya data tersebut sesuai untuk digunakan
dalam mencapai tujuan analisis data. Data yang telah diseleksi melalui proses ini disebut sebagai target data. Target data selanjutnya masuk ke tahapan berikutnya
yaitu
preprocessing
.
Preprocessing
merupakan proses menyiapkan data agar siap untuk ditambang. Langkah-langkah dalam
preprocessing
yaitu
data cleaning, data integration, data transformation, data reduction
dan
data discretization
. Kelima langkah tersebut dilakukan secara berurutan. Langkah tertentu boleh dilewati saat
kondisi data telah memenuhi syarat yang ditentukan masing-masing langkah tersebut. Saat telah melewati tahap
preprocessing
, data siap untuk ditambang.
Data mining
atau penambangan data adalah proses mengekstrak informasi atau pengetahuan dari data dalam jumlah yang besar. Secara umum,
penambangan data dapat diklasifikasikan dalam empat kategori yaitu deteksi dependensi, identifikasi kelas, deskripsi kelas dan deteksi
outlier
. Tiga kategori
pertama berkaitan dengan pola yang dimiliki oleh banyak obyek atau pada obyek dengan persentase yang besar dalam
dataset
. Berbagai penelitian penambangan data mengenai aturan asosiasi, klasifikasi, klastering dan generalisasi konsep
termasuk dalam tiga kategori tersebut. Sebaliknya, kategori keempat berfokus pada obyek dengan persentase yang kecil, yang umumnya sering diabaikan atau
dihilangkan karena dianggap
noise
Knorr Ng, 1998.
Evaluation
merupakan tahap pembuatan pola atau pemetaan berdasarkan hasil penambangan data. Tujuan dilakukannya tahap ini untuk membantu pihak-
pihak yang berkepentingan terhadap data yang dianalisis untuk memperoleh gambaran tentang data tersebut. Pembuatan diagram atau pohon keputusan
merupakan contoh visualisasi hasil penambangan data. Visualisasi dapat memberikan gambaran yang lebih mudah dipahami dibandingkan hasil sebuah
penambangan data. Setelah tahap visualisasi selesai maka akan diperoleh hasil akhir analisis data yaitu
knowledge
.
2.2
Outlier Detection
2.2.1 Pengertian
Outlier
Outlier
dalam sekumpulan data merupakan data yang dianggap tidak mirip atau tidak konsisten dengan data lainnya.
Outlier
merupakan hasil observasi data pengukuran dalam suatu kumpulan data yang nilainya sangat
berbeda jika dibandingkan dengan sekumpulan data dari pengukuran lain Hawkins, 1980.
Outlier
juga merupakan data yang tidak mengikuti pola umum atau model dari data lainnya yang berada dalam kumpulan yang sama.
Outlier
terlihat berbeda jauh dan tidak konsisten dengan data lain Han Kamber, 2006.
2.2.2 Penyebab
Outlier
Pertama, munculnya
outlier
dapat disebabkan oleh data pengukuran yang salah. Sebagai contoh, munculnya data umur seseorang yaitu 999 tahun dapat
disebabkan oleh pengaturan otomatis
default
program. Pengaturan otomatis ini diberlakukan pada data umur yang tidak direkam
missing values
Han Kamber, 2006.
Kedua, kemunculan
outlier
juga dapat dikarenakan data pengukuran berasal dari populasi lain. Contohnya yaitu gaji seorang pimpinan perusahaan
dapat dianggap sebagai
outlier
di antara gaji para karyawan di perusahaan tersebut Han Kamber, 2006. Hal ini disebabkan adanya perbedaan yang
sangat mencolok antara gaji seorang pimpinan dan gaji karyawan di sebuah perusahaan.
Ketiga,
outlier
berasal dari data pengukuran yang benar tetapi mewakili peristiwa atau keadaan unik yang jarang terjadi. Sebagai contoh, terdapat sebuah
sekolah yang selalu menghasilkan lulusan dengan nilai yang sangat rendah setiap tahun. Ketika terdapat seorang siswa yang lulus dari sekolah tersebut dengan nilai
yang sangat tinggi, maka siswa itu akan dianggap sebagai
outlier
.
2.2.3 Manfaat Deteksi
Outlier
Sebagian besar
algoritma penambangan
data berfokus
untuk meminimalkan pengaruh
outlier
atau mengeliminasi
outlier
tersebut. Hal ini
dapat mengakibatkan hilangnya informasi penting yang tersembunyi dibalik
outlier
tersebut.
Outlier
sebenarnya dapat menjadi hal yang menarik untuk dianalisis lebih lanjut.
Deteksi
outlier outlier detection
adalah deteksi yang dilakukan pada sekumpulan obyek untuk menemukan obyek yang memiliki tingkat kemiripan
yang sangat rendah dibandingkan dengan obyek lainnya. Deteksi
outlier
umumya digunakan untuk menemukan kejanggalan dalam data, deteksi kecurangan data
atau untuk mengetahui adanya pola khusus dalam sekumpulan data. Deteksi
outlier
sering dimanfaatkan untuk mendeteksi kecurangan penggunaan kredit atau layanan telekomunikasi. Deteksi
outlier
juga berguna dalam bidang pemasaran, yaitu untuk mengidentifikasi perilaku belanja konsumen dengan
tingkat pendapatan yang tinggi atau rendah. Dalam dunia kesehatan, deteksi
outlier
digunakan untuk menemukan respon yang tidak biasanya atau berbeda terhadap berbagai perawatan kesehatan Han Kamber, 2006. Di bidang
pendidikan, deteksi
outlier
dapat digunakan untuk mengetahui prestasi akademik mahasiswa yang berbeda secara signifikan dari mahasiswa lainnya dalam
universitas yang sama Tair El-Halees, 2012.
3.2.4 Metode Deteksi
Outlier
Algoritma klastering umumnya menghilangkan
outlier
dari data karena dianggap
noise
, tetapi algoritma deteksi
outlier
justru menjadikan
outlier
menjadi hasil dari eksekusinya. Ada beberapa metode yang dapat digunakan untuk
mendeteksi
outlier
. Metode-metode tersebut dibagi menjadi empat pendekatan
yaitu: pendekatan
statistical distribution-based
, pendekatan
distance-based
, pendekatan
density-based local outlier
dan pendekatan
deviation-based
Han Kamber, 2006.
Pendekatan
statistical distribution-based
mengasumsikan sebuah model distribusi atau probabilitas dari sejumlah data yang diidentifikasi
outlier
nya menggunakan
discordancy test
. Pendekatan
distance-based
menentukan
outlier
berdasarkan jarak antar obyek serta jumlah obyek menggunakan parameter
pct
dan
dmin
. Pendekatan
density-based local outlier
, berfokus pada menemukan
outlier
pada sejumlah data berdasarkan kedekatan atau kepadatan antara satu obyek dengan obyek lainnya. Pendekatan
density
-
based
hampir sama dengan
distance-based
tetapi mampu membedakan antara
local outlier
dan
global outlier
. Pendekatan
deviation-based
tidak menggunakan perhitungan secara statistik maupun jarak untuk mengidentifikasi obyek yang diduga sebagai
outlier
. Pendekatan ini mengidentifikasi adanya
outlier
dengan menguji karakteristik utama dari obyek dalam sebuah kelompok. Setiap
outlier
yang ditemukan menggunakan pendekatan-pendekatan tersebut selanjutnya perlu diperiksa
kembali untuk diyakini kebenarannya. Pada penelitian ini, penulis menggunakan pendekatan
distance-based
untuk melakukan deteksi
outlier
. 2.2.5
Distance-Based Outlier Detection
Menurut pendekatan
distance-based
, sebuah obyek
O
dalam
dataset T
merupakan
DB p,D
-
outlier
jika setidaknya ada
p
obyek dalam
T
terletak pada jarak yang lebih dari
D
terhadap
O
. Diasumsikan
N
adalah jumlah obyek dalam
dataset T
, dan
F
merupakan fungsi jarak yang digunakan untuk menghitung jarak
antar obyek dalam
T
. Untuk sebuah obyek
O
,
D-neighbourhood
dari
O
memuat sekumpulan obyek
� ∈ � yang terletak pada jarak kurang dari
D
terhadap
O
sehingga { Q
∈ T | F O, Q ≤ D}. Nilai
fraction p
merupakan persentase jumlah obyek minimum dalam
T
yang harus ada di luar
D-neighbourhood
dari sebuah
outlier
. Diasumsikan
M
merupakan jumlah obyek maksimum dalam
D- neighbourhood
dari sebuah
outlier
sehingga
M = N1 - p
Knorr Ng, 1998. Sebagai contoh, terdapat sebuah
dataset T
dengan jumlah obyek
N
sebanyak 100 dan persentase jumlah
outlier
dalam data sekitar 10. Berdasarkan data tersebut maka persentase data bukan
outlier p
adalah 100 – 10 yaitu 90 atau 0.9.
Untuk memperoleh nilai
M
maka menggunakan perhitungan
N1
–
p
sehingga
M
= 1001-0.9 yaitu 10. Artinya, pada
dataset T
jumlah obyek maksimum dalam
D-neighbourhood
sebuah
outlier
adalah 10 obyek. Apabila sebuah obyek
A
dalam
dataset T
dapat menemukan lebih dari 10 obyek yang jaraknya kurang dari
D
terhadap dirinya maka
A
akan menjadi data bukan
outlier
sebaliknya A akan menjadi
outlier
. Nilai
M
adalah jumlah obyek maksimum dalam
D- neighbourhood
sebuah
outlier
sehingga dapat dikurangi menjadi 9, 8, 7 atau bahkan 1 sampai diperoleh hasil
outlier
yang dianggap paling tepat. Pada pendekatan
distance-based
terdapat beberapa algoritma yang dapat digunakan antara lain
Index-Based
,
Block-based Nested-Loop
dan
Cell-Based
Han Kamber, 2006.
Jarak antar dua obyek dalam sebuah kumpulan data memiliki arti yang penting dalam deteksi
outlier
menggunakan pendekatan
distance-based
. Jarak antar dua obyek menjadi nilai yang akan dibandingkan dengan nilai parameter
D
.
Untuk menghitung jarak antar obyek harus disesuaikan dengan tipe variabel yang dimiliki. Tipe variabel yang berupa nilai numerik dan sifatnya multidimensi,
dapat dihitung jaraknya menggunakan pengukuran
Euclidean distance
Han Kamber, 2006.
Euclidean distance
didefinisikan sebagai berikut
� , = �
1
− �
1 2
+ �
2
− �
2 2
+ … . +�
�
− �
� 2
2.1
di mana i =
obyek pertama,
j =
obyek kedua,
x
i
= nilai obyek pertama,
x
j
= nilai obyek kedua dan
n
= dimensi obyek. Pendekatan
distance-based
melibatkan penggunaan dua buah parameter sebagai input. Penentuan nilai parameter
p
dan
D
dapat melibatkan beberapa kali percobaan
trial and error
hingga mendapatkan nilai yang paling tepat. Pemilihan nilai parameter
p
dan
D
dapat mempengaruhi hasil deteksi
outlier
.
2.2.5.1 Algoritma
Block-based Nested-Loop
Algoritma
Block-based Nested-Loop
merupakan pengembangan dari algoritma deteksi
outlier
lain yaitu
Index-Based
. Algoritma ini menghindari penggunaan memori dalam membentuk indeks untuk menemukan seluruh
DBp,D-outliers
. Algoritma ini menggunakan prinsip
block-oriented
,
nested- loop design
. Diasumsikan total
free memory
dari komputer yang digunakan sebanyak
B
bytes. Algoritma ini selanjutnya membagi
free memory
komputer
dalam dua bagian yang disebut
first array
sebanyak ½
B
dan
second array
sebanyak ½
B
. Data kemudian dibagi ke dalam blok-blok tertentu. Algoritma
Block-based Nested-Loop
akan mengatur proses masuk keluarnya blok ke dalam memori. Setiap data yang ada dalam blok tertentu akan secara langsung dihitung
jaraknya dengan data lainnya. Untuk setiap data
t
dalam
first array
, jumlah tetangganya akan dihitung. Dua data dikatakan saling bertetangga apabila jarak
keduanya kurang dari atau sama dengan
D
. Perhitungan jumlah tetangga untuk setiap obyek akan berhenti saat nilainya telah melebihi
M
Knorr Ng, 1998.
M
merupakan jumlah tetangga maksimum dalam
D-neighbourhood
sebuah
outlier
. Jika jumlah tetangga sebuah data telah melebihi
M
artinya data tersebut tidak termasuk
outlier
.
Pseudocode algoritma
Block-based Nested-Loop
adalah sebagai berikut Knorr Ng, 1998:
1. Isi
first array
½
B
dengan sebuah blok dari
T
2. Untuk setiap obyek
t
i
, pada
first array
, do : a.
count
i
0 b.
Untuk setiap obyek
t
j
dalam
first array
, jika dist
t
i
,t
j
≤ D; Tambahkan nilai
count
i
dengan 1. Jika
count
i
M
, tandai
t
i
sebagai
non
-
outlier
dan proses dilanjutkan ke
t
i
berikutnya. 3.
Selama masih ada blok yang tersisa untuk dibandingkan dengan
first array
, do:
a. Isi
second array
dengan blok lainnya tetapi pastikan blok yang
belum pernah dimasukkan ke dalam
first array
berada pada urutan terakhir
b. Untuk setiap obyek
t
i
dalam
first array
yang belum ditandai
unmarked
do: Untuk setiap obyek
t
j
dalam
second arra y
, jika dist
t
i
,t
j
≤ D:
Tambahkan nilai
count
i
dengan 1. Jika
count
i
M
, tandai
t
i
sebagai
non-outlier
dan proses dilanjutkan ke
t
i
berikutnya. 4.
Untuk setiap obyek
t
i
dalam
first array
yang belum ditandai
unmarked
, tandai
t
i
sebagai
outlier
. 5.
Jika blok dalam
second array
sudah pernah dimasukkan ke dalam
first array
sebelumnya, berhenti; jika belum, tukar posisi nama dari
first array
dan
second array
dan kembali ke langkah 2.
19
Bab 3 METODE PENELITIAN