28
BAB III METODOLOGI PENELITIAN
Pada bab ini akan dijelaskan mengenai perancangan penelitian yang digunakan untuk mencapai tujuan dalam penelitian tugas akhir ini. Metodologi
penelitian ini menggunakan metodologi penambangan data yaitu KDD Knowledge Discovery in Database yang dikemukakan oleh Jiawei Han dan
Kamber.
3.1 Data yang dibutuhkan
Dalam Kamus Besar Bahasa Indonesia, data diartikan sebagai kenyataan yang ada yang berfungsi sebagai bahan sumber untuk menyusun
suatu pendapat, keterangan yang benar, dan keterangan atau bahan yang dipakai untuk penalaran dan penyelidikan.
Data adalah catatan atas kumpulan fakta Vardiansyah, 2008. Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti
“sesuatu yang diberikan”. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil
pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra.
Dalam tujuan pencarian fakta tersebut, pada penelitian ini penulis menggunakan data akademik mahasiswa teknik informatika Universitas
Sanata Dharma Yogyakarta angkatan 2007-2008. Data ini bersifat numerik yang meliputi data nilai hasil seleksi masuk dan indeks prestasi semester
satu sampai empat. Data tersebut diperoleh dari gudang data akademik mahasiswa Universitas Sanata Dharma Yogyakarta khususnya mahasiswa
teknik informatika. Data penelitian ini diperoleh dari gudang data akademik mahasiswa
program studi Teknik Informatika Universitas Sanata Dharma dalam bentuk skrip kueri sql. Dari skrip tersebut, data yang digunakan dalam penelitian
adalah data nilai hasil seleksi masuk melalui jalur tes maupun prestasi, dan
nilai indeks prestasi semester dari semester satu hingga empat. Data akademik mahasiswa program studi Teknik Informatika angkatan 2007-
2008 terdiri dari 126 buah.
3.2 Pengolahan Data
Berikut ini merupakan tahap-tahap yang dilakukan dalam pengolahan data :
1. Penggabungan Data Data Integration
Data mentah dalam skrip sql diekstrak ke dalam database. Lalu hasil ekstrak tersebut menghasilkan basis data bernama “gudangdata”. Dalam
basis data ini terdiri dari beberapa tabel, yaitu tabel dim_angkatan, dim_daftarsmu,
dim_fakultas, dim_jeniskel,
dim_kabupaten, dim_prodi, dim_prodifaks, dim_statustes, dan factlengkap2.
Gambar 3.1 Database “gudangdata”
2. Seleksi Data Data Selection
Tahap selanjutnya adalah seleksi data dimana melakukan seleksi terhadap data yang relevan dengan penelitian. Dari database
“gudangdata” tersebut tabel data yang akan dipakai untuk penelitian adalah hanya tabel fact_lengkap2. Tabel fact_lengkap2 dipilih karena
memuat atribut yang dibutuhkan untuk penelitian, yaitu atribut nilai hasil seleksi tes masuk dan nilai indeks prestasi semester satu hingga
empat.
Gambar 3.2 Tabel fact_lengkap2 dalam database “gudangdata”
Setelah seleksi terhadap tabel dalam database “gudangdata”, selanjutnya dilakukan seleksi terhadap data yang diperlukan dalam tabel
fact_lengkap2. Langkah pertama adalah menyeleksi data mahasiswa yang berasal dari program studi Teknik Informatika, yaitu data
mahasiswa yang memiliki data sk_prodi 27. Baris dengan sk_prodi 27 adalah data mahasiswa yang berasal dari program studi Teknik
Informatika. Data ini yang dipilih karena dapat digunakan sebagai variabel numerik untuk mendeteksi outlier dan sesuai untuk mencapai
tujuan penelitian.
Gambar 3.3 Isi tabel fact_lengkap2 dalam database “gudangdata”
Selanjutnya dilakukan seleksi terhadap kolom yang berada dalam tabel fact_lengkap2, kolom-kolom yang tidak dipakai antara lain : nomor,
jumsttb, jummsttb, jumnem, jummtnem, sttb, sk_jeniskelamin, sk_status, sk_kabupaten, sk_daftarsmu, sk_prodi
3. Transformasi Data Data Transformation
Pada tahap ini, data yang sudah diseleksi selanjutnya ditransformasikan kedalam bentuk yang sesuai untuk ditambang. Hal ini dikarenakan
adanya perbedaan range nilai antara atribut satu dengan atribut lainnya. Nilai final memiliki range nilai antara 0-100. Nilai tes masuk memiliki
range nilai antara 0-10. IPS memiliki range nilai antara 0-4. Perbedaan
range nilai ini akan disamakan melalui proses transformasi data.
Transformasi data dilakukan dengan menggunakan metode normalisasi. Metode normalisasi dilakukan dengan cara membuat skala pada data
atribut. Salah satu jenis metode normalisasi yaitu min-max normalization
Han Kamber, 2006. Normalisasi data untuk menyamaratakan persebaran nilai keseluruhan
atribut dengan menggunakan rumus min-max normalization :
……3.1 Keterangan :
v = nilai lama yang belum dinormalisasi v’ = nilai yang sudah dinormalisasi
minA = minimum nilai dari atribut a maxA = maksimum nilai dari atribut a
new_min = nilai minimum baru dari atribut a new_max = nilai maksimum baru dari atribut a
Proses normalisasi data berikut ini berlaku untuk atribut nil11, nil12, nil13, nil14, dan nil15 menggunakan min-max normalization, semisal
nil11 adalah 8.00 maka proses normalisasinya adalah : maxA = 10, minA= 0, new_maxA = 4, new_minA= 0, dan v = nil11 dalam hal ini
bernilai 8.00, sehingga proses perhitungannya v1 = 8-010-04- 0+0 = 3.20. Sehingga hasil normalisasi nil11 adalah 3.20.
1. Normalisasi atribut nil11, nil12, nil13, nil14, dan nil15 Contoh data dibawah ini menggambarkan proses transformasi dari
atribut nilai1, nilai2, nilai3, nilai 4 dan nilai 5. Tabel 3.1 merupakan tabel yang berisi data atribut nil11
– nil15 sebelum normalisasi. Tabel 3.1 Contoh Data Atribut nil11 sampai nil15 sebelum
dinormalisasi
Nomor nil11
nil12 nil13
nil14 nil15
ips1
1 7,00
5,00 5,00
5,00 4,00
2,94 2
3,00 2,00
8,00 3,00
1,00 1,72
3 6,00
4,00 5,00
7,00 5,00
2,56 4
5,00 5,00
6,00 5,00
5,00 2,44
5 6,00
4,00 6,00
3,00 7,00
2,94 6
6,00 5,00
6,00 6,00
7,00 1,89
7 6,00
6,00 4,00
4,00 7,00
4,00 8
10,00 5,00
9,00 6,00
7,00 1,44
9 8,00
6,00 6,00
7,00 5,00
3,72 10
7,00 6,00
8,00 8,00
2,00 1,72
11 7,00
6,00 7,00
6,00 6,00
3,28 12
6,00 5,00
5,00 7,00
5,00 2,89
13 5,00
5,00 8,00
5,00 7,00
2,89
Data yang ada pada Tabel 3.1 kemudian dinormalisasi menggunakan
rumus min-max
normalization sehingga
menghasilkan data seperti pada Tabel 3.2 di bawah ini : Tabel 3.2 Contoh Data Atribut nil11 sampai nil15 setelah
dinormalisasi
Nomor nil11
nil12 nil13
nil14 nil15
ips1
1 2,80
2,00 2,00
2,00 1,60
3,72 2
1,20 0,80
3,20 1,20
0,40 2,89
3 2,40
1,60 2,00
2,80 2,00
2,56 4
2,00 2,00
2,40 2,00
2,00 3,28
5 2,40
1,60 2,40
1,20 2,80
1,89 6
2,40 2,00
2,40 2,40
2,80 1,44
7 2,40
2,40 1,60
1,60 2,80
4,00 8
4,00 2,00
3,60 2,40
2,80 1,72
9 3,20
2,40 2,40
2,80 2,00
2,89 10
2,80 2,40
3,20 3,20
0,80 2,94
11 2,80
2,40 2,80
2,40 2,40
2,94 12
2,40 2,00
2,00 2,80
2,00 2,44
13 2,00
2,00 3,20
2,00 2,80
1,72
2. Normalisasi atribut nilai Final Berikutnya adalah proses normalisasi data berikut berlaku untuk
atribut final menggunakan min-max normalization, semisal nilai final adalah 67,80 maka proses normalisasinya adalah :
maxA = 100, minA= 0, new_maxA = 4, new_minA= 0, dan v = final dalam hal ini bernilai 67,80 , sehingga proses perhitungannya
v1= 67,80-0100-04-0+0 = 2.44. Sehingga hasil normalisasi nilai final yang awalnya bernilai 61.00 sekarang menjadi 2.712.
Contoh data dibawah ini mengambarkan proses transformasi atribut nilai final. Tabel 3.3 merupakan tabel yang berisi data atribut nilai
final sebelum normalisasi. Tabel 3.3 Contoh Data Atribut Nilai Final sebelum dinormalisasi
Nomor Ips1
Ips2 Ips3
Ips4 Final
1 2,94
3,27 2,96
2,81 54,00
2 1,72
1,65 1,53
1,68 28,00
3 2,56
2,77 2,52
3,13 52,00
4 2,44
2,63 2,00
2,67 51,00
5 2,94
2,59 1,55
2,35 53,00
6 1,89
2,20 2,21
1,95 59,00
7 4,00
3,52 3,43
3,70 58,00
8 1,44
2,42 2,53
1,96 74,00
9 3,72
3,48 3,36
3,65 65,00
10 1,72
2,65 2,43
2,24 59,00
11 3,28
2,75 2,90
3,00 64,00
12 2,89
3,21 3,33
3,36 55,00
13 2,89
3,18 3,04
2,95 57,00
Data yang ada pada Tabel 3.3 kemudian dinormalisasi menggunakan
rumus min-max
normalization sehingga
menghasilkan data seperti pada Tabel 3.4 di bawah ini :
Tabel 3.4 Contoh Data Atribut Nilai Final setelah dinormalisasi
Nomor Ips1
Ips2 Ips3
Ips4 Final
1 2,94
3,27 2,96
2,81 2,16
2 1,72
1,65 1,53
1,68 1,12
3 2,56
2,77 2,52
3,13 2,08
4 2,44
2,63 2,00
2,67 2,04
5 2,94
2,59 1,55
2,35 2,12
6 1,89
2,20 2,21
1,95 2,36
7 4,00
3,52 3,43
3,70 2,32
8 1,44
2,42 2,53
1,96 2,96
9 3,72
3,48 3,36
3,65 2,60
10 1,72
2,65 2,43
2,24 2,36
11 3,28
2,75 2,90
3,00 2,56
12 2,89
3,21 3,33
3,36 2,20
13 2,89
3,18 3,04
2,95 2,28
Setelah nilai atribut nil11, nil12, nil13, nil14, nil15, dan final di normalisasikan dalam kisaran nilai 0.00 - 4.00 maka nilai yang
sudah dinormalisasikan inilah yang nantinya akan digunakan sebagai input dalam proses deteksi outlier.
4. Penambangan Data Data Mining
Data yang telah melalui proses transformasi data selanjutnya dicari outlier
nya menggunakan algoritma deteksi outlier yaitu algoritma Local Outlier Probability LoOP
. Data yang diteliti akan dibatasi pada data dua tahun angkatan di Universitas Sanata Dharma yaitu tahun angkatan
2007 dan 2008. Pada tahap ini, akan ditentukan juga variabel-variabel yang akan digunakan untuk menambang data. Variabel-variabel
tersebut antara lain :
1. Input, yang terdiri dari : a. Nilai hasil seleksi masuk mahasiswa, baik melalui jalur tes
maupun jalur prestasi. Masukan tersebut diperoleh dari atribut yang ada pada tabel fact_lengkap2 yaitu yaitu nil11, nil12,
nil13, nil14, nil15, dan final. Atribut nil11, nil12, nil13, nil14, dan nil15 hanya dimiliki oleh mahasiswa yang masuk melalui
jalur tes tertulis. Sedangkan atribut final dimiliki oleh mahasiswa yang masuk melalui jalur tes tertulis maupun jalur
prestasi. b. Indeks prestasi mahasiswa dari semester satu hingga empat.
Masukan tersebut diperoleh dari atribut yang ada pada tabel fact_lengkap2 yaitu ips1, ips2, ips3, dan ips4.
2. Output, yaitu : data mahasiswa yang menjadi outlier dari perhitungan yang diambil dari data numerik nilai hasil seleksi
masuk dan nilai indeks prestasi selama empat semester. Pada penelitian ini menggunakan data akademik mahasiswa Teknik
Informatika Universitas Sanata Dharma angkatan 2007-2008, dimana memiliki atribut ips1, ips2, ips3, ips4, nil11, nil12, nil13, nil14, nil15.
Atribut ips1 merupakan nilai indeks prestasi semester 1, dan atribut nil11-nil15 merupakan nilai komponen tes PMB berlaku untuk
mahasiswa yang masuk melalui jalur tes. Tabel 3.5 merupakan data akademik mahasiswa angkatan 2007 yang masuk dan diterima di
Universitas Sanata Dharma melalui jalur tes tertulis.
Tabel 3.5 Data Akademik Mahasiswa Angkatan 2007 Jalur Tes Tertulis
No ips1 ips2
ips3 ips4
nil11 nil12 nil13 nil14 nil15
1 2,94
3,27 2,96
2,81 2,80
2,00 2,00
2,00 1,60
2 1,72
1,65 1,53
1,68 1,20
0,80 3,20
1,20 0,40
3 2,56
2,77 2,52
3,13 2,40
1,60 2,00
2,80 2,00
4 2,44
2,63 2,00
2,67 2,00
2,00 2,40
2,00 2,00
5 2,94
2,59 1,55
2,35 2,40
1,60 2,40
1,20 2,80
6 1,89
2,20 2,21
1,95 2,40
2,00 2,40
2,40 2,80
7 4,00
3,52 3,43
3,70 2,40
2,40 1,60
1,60 2,80
8 1,44
2,42 2,53
1,96 4,00
2,00 3,60
2,40 2,80
9 3,72
3,48 3,36
3,65 3,20
2,40 2,40
2,80 2,00
10 1,72 2,65
2,43 2,24
2,80 2,40
3,20 3,20
0,80 11 3,28
2,75 2,90
3,00 2,80
2,40 2,80
2,40 2,40
12 2,89 3,21
3,33 3,36
2,40 2,00
2,00 2,80
2,00 13 2,89
3,18 3,04
2,95 2,00
2,00 3,20
2,00 2,80
Langkah 1 Menghitung k-distance
Perhitungan data mahasiswa angkatan 2007 melalui jalur tes dengan membandingkan nilai per komponen dan mulai dari indeks prestasi
semester 1. Mencari jarak dengan menggunakan rumus jarak ecluidian distance
, yaitu =
di,j =
……2.1 Gambar 3.4 merupakan hasil perhitungan jarak dari data akademik
mahasiswa angkatan 2007 jalur tes menggunakan rumus jarak euclidean
.
Gambar 3.4 Perhitungan jarak mahasiswa angkatan 2007 jalur tes Setelah menghitung jarak setiap obyek, maka selanjutnya dicari
kdistance dari setiap obyek, dengan asumsi k = 10, k melambangkan
jangkauan suatu obyek terhadap tetangganya, sehingga dicari 10 jarak terdekat dari sebuah obyek. Caranya dengan mengurutkan jarak dari
yang terkecil sampai jarak terbesar. Lalu memilih sebanyak k, yaitu 10 obyek dengan jarak terkecil. Kemudian pilih jarak terbesar dari
kesepuluh jarak tersebut. jarak terbesar tersebut adalah kdistance. Gambar 3.5 merupakan pencarian kdistance dari setiap obyek
mahasiswa angkatan 2007 jalur tes.
Gambar 3.5 Pencarian kdistance pada data mahasiswa angkatan 2007 jalur tes
Langkah 2 Menghitung jumlah tetangga terdekat kdistance neighborhood dari setiap obyek
Setelah pencarian kdistance selesai, selanjutnya adalah mencari kdistance neighborhood
dari data mahasiswa angkatan 2007 jalur tes. Gambar 3.6 merupakan pencarian kdistance neighborhood dari data
mahasiswa angkatan 2007 jalur tes.
Gambar 3.6 Pencarian kdistance neighborhood dari data mahasiswa angkatan 2007 jalur tes
Dari data di atas dapat disimpulkan bahwa neighborhood Nk dari obyek P1 adalah P3, P4, P5, P6, P7, P9, P10, P11, P12 dan P13 dengan
kdistance 2,273411533, dan seterusnya.
Langkah 3 Menghitung standard distance σ
= ……2.2
Gambar 3.7 di bawah ini merupakan perhitungan standard distance dari mahasiswa angkatan 2007 jalur tes. Perhitungan ini menggunakan
Microsoft excel .
Gambar 3.7 Perhitungan standard distance dari mahasiswa angkatan 2007 jalur tes
Misal pada obyek P1, stdev dari P1 adalah 1,56582 didapat dari : =
==
== 1,56582
Langkah 4 Menghitung Probabilistic set distance pdist
pdist ……2.3
Dalam perhitungan ini penulis menggunakan = 2. Dalam melakukan
beberapa percobaan, nilai tidak mempengaruhi jumlah outlier yang
ditemukan. Catatan pentingnya, nilai harus dalam kisaran angka lebih
dari 0. Penulis telah melakukan percobaan nilai sama dengan 1, 2, dan
3 dan jumlah outlier yang dihasilkan adalah sama. Gambar 3.8 di bawah ini merupakan perhitungan probability set distance dari
mahasiswa angkatan 2007 jalur tes.
Gambar 3.8 Perhitungan probability set distance dari data akademik mahasiswa angkatan 2007 jalur tes
Contoh perhitungan pada obyek p1 adalah pdist
== 2 1,56582 == 3,13164
Langkah 5 Menghitung Probabilistic Local Outlier Factor PLOF
PLOF ,Nk
o
o = -1
……2.4 Sebelum menghitung PLOF, langkah utama adalah mencari pdist dari
obyek s dimana s tersebut adalah anggota dari Nko dimana Nko adalah tetangga dari obyek itu sendiri. Maksudnya, adalah
PLOF dari obyek P1 = -1
NkP1 = P3, P4, P5, P6, P7, P9, P10, P11, P12, P13 Gambar 3.9 di bawah ini merupakan perhitungan probability local
outlier factor dari mahasiswa angkatan 2007 jalur tes.
Gambar 3.9 Perhitungan probability local outlier factor dari data akademik mahasiswa angkatan 2007 jalur tes
Perhitungannya = PLOF P1
-
1
= -0,13072
Langkah 6 Menghitung nPLOF
nPLOF = .
......2.5 untuk
menghitungan nPLOF,
yang pertama
adalah dengan
mengkwadratkan nilai PLOF lalu menjumlahkan totalnya. Gambar 3.10 di bawah ini merupakan perhitungan agregat probability local outlier
factor dari mahasiswa angkatan 2007 jalur tes.
Gambar 3.10 Perhitungan agregat probability local outlier factor dari mahasiswa angkatan 2007 jalur tes
Total dari PLOF kwadrat adalah 1,123675. Kemudian perhitungannya adalah sebagai berikut :
nPLOF = .
== 2 . == 0,61688
Langkah 7 Menghitung LoOP
LoOP
Nko
o = max 0, ……2.6
Dalam menghitung LoOP dilakukan perhitungan step by step. Pertama dengan menghitung nilai
. Lalu mencari nilai error function
dari nilai tersebut. Rumus erf tersebut
adalah
erfx = dt
……2.7
Gambar 3.11 di bawah ini merupakan perhitungan local outlier probability
dari mahasiswa angkatan 2007 jalur tes.
Gambar 3.11 Perhitungan local outlier probability dari mahasiswa angkatan 2007 jalur tes
Hasil perhitungan di atas, nilai LoOP lebih dari 0 yang diasumsikan menjadi outlier pada semester 1 dari ke13 data di atas. Mahasiswa
outlier tersebut adalah mahasiswa ke 2, ke 5, ke 7, ke 8, ke 9, dan ke
10.
5. Evaluasi Pola Pattern Evaluation
Pada tahap ini dilakukan evaluasi terhadap pola yang telah didapat dari proses penambangan data, dimana hasil dari penambangan data tersebut
akan dievaluasi dengan hipotesa yang telah dibentuk sebelumnya. Melalui sistem pendeteksi outlier akan diperoleh luaran berupa data-
data outlier menggunakan algoritma Local Outlier Probability LoOP dan dianalisa kembali oleh pemilik data itu apakah hipotesa outlier
yang mereka miliki sama atau tidak dengan hasil yang diperoleh sistem, sehingga dapat diketahui seperti apa tingkat keberhasilan pencarian
outlier tersebut.
6. Presentasi Pengetahuan Knowledge Presentation
Pada tahap ini pola yang telah didapat selanjutnya direpresentasikan kepada pengguna ke dalam bentuk sistem pendeteksi dengan antarmuka
yang lebih mudah untuk dipahami. Melalui sistem pendeteksi outlier ini diharapkan pengguna dalam hal ini pihak internal Universitas Sanata
Dharma dapat mencari tahu data-data yang bersifat langka dan berbeda dari kebanyakan data lainnya untuk selanjutnya dianalisa mengapa data-
data tersebut bisa muncul. Tidak bisa dipungkiri bahwa outlier sendiri akan didefinisikan dan dianalisa oleh orang yang ahli dan mengerti
tentang data itu.
46
BAB IV ANALISIS DAN PERANCANGAN SISTEM