Deteksi outlier menggunakan algoritma local outlier factor : studi kasus data akademik mahasiswa TI Universitas Sanata Dharma - USD Repository
DETEKSI OUTLIER MENGGUNAKAN ALGORITMA LOCAL
OUTLIER FACTOR
(STUDI KASUS DATA AKADEMIK MAHASISWA TI UNIVERSITAS
SANATA DHARMA)
Skripsi
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Daniel Tomi Raharjo
095314058
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
OUTLIER DETECTION USING LOCAL OUTLIER FACTOR
ALGORITHM
(STUDY CASE ACADEMIC DATA OF STUDENTS OF INFORMATICS
ENGINEERING DEPARTMENT OF SANATA DHARMA UNIVERSITY)
A Thesis
Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Komputer Degree
In Study Program of Informatics Engineering By:
Daniel Tomi Raharjo 095314058
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
HALAMAN PERSEMBAHAN
“Apa yang tidak pernah dilihat oleh mata, dan tidak pernah didengar oleh telinga, dan yang tidak pernah timbul di dalam hati manusia: semua disediakan Allah untuk mereka yang mengasihi Dia” ( 1 Korintus 2:9)
Kupersembahkan Untuk : Tuhan Yesus Kristus .
Keluarga dan Teman-teman tercinta
ABSTRAK
Dalam dunia data mining keberadaan data outlier tidak bisa dipandang sebelah mata, data outlier yang dulunya hanya sebuah noise, ternyata memiliki informasi penting yang terkandung di dalamnya. Proses deteksi outlier ternyata dapat di aplikasikan ke dalam berbagai bidang, salah satunya dalam bidang pendidikan. Penelitian tugas akhir ini dimaksudkan untuk mengembangkan sebuah perangkat lunak yang mampu mendeteksi sebuah outlier dari berbagai macam jenis data, dimana algoritma yang digunakan adalah algoritma local outlier factor dengan pendekatan density based. Pada penelitian tugas akhir ini digunakan data akademik mahasiswa program studi Teknik Informatika Universitas Sanata Dharma angkatan 2007-2008 yang diperoleh dari hasil penelitian gudang data mahasiswa (Rosa dkk), data akademik ini meliputi data nilai tes masuk dan data nilai IPS Semester 1-4. Dalam penelitian tugas akhir ini dilakukan pengujian terhadap 3 jenis data yaitu : data mahasiswa 2007-2008 jalur test, data mahasiswa 2007-2008 jalur prestasi, dan data mahasiswa jalur test & prestasi. Pengujian ini bertujuan untuk menguji validitas dari perangkat lunak yang dibuat dalam penelitian tugas akhir ini. Hasil pengujian dari ketiga jenis data tersebut menunjukkan bahwa perangkat lunak yang dibuat dapat menemukan data outlier dari data akademik mahasiswa secara valid.
Kata kunci: data mining, outlier, local outlier factor.
ABSTRACT
On data mining, outlier cannot be underestimated. Yesterday, outlier data can be look to be a noise but today outlier data is proven to have many important information. Detection outlier proses can be applied to many various field, one of which it can be applied on field of education. The aim of this study to develop a software, who can detect an outlier from many data variation. Where the algorithm used is the local outlier factor algorithm with the density-based approach.. This thesis use student academic data Informatics Engineering study program of Sanata Dharma University year 2007-2008, who is been research by Rosa and other, This data is including selection test value data and IPS value data. In this study, researchersused three types of data. The first 2007
- – 2008 student admission data from regular tracks, second 2007
- – 2008 student admission data from outstanding tracks, and the last data from joined from student admission data from regular tracks and student admission data from outstanding tracks. This test aims to test the validity of the software that is made in this thesis. The result of research from this 3 data is showing this software can find the data outlier from student data is valid Keyword :data mining, outlier, local outlier factor.
KATA PENGANTAR
Puji dan syukur kepada TuhanYesus Kristus, karena pada akhirnya penulis dapat menyelesaikan penelitian tugas akhir ini yang berjudul Deteksi Outlier “
Menggunakan Algoritma Local Outlier Factor(Studi Kasus Data Akademik
Mahasiswa Ti Universitas Sanata Dharma) ”Penelitian ini tidak akan selesai dengan baik tanpa adanya dukungan, semangat, dan motivasi yang telah diberikan oleh banyak pihak. Untuk itu, penulis ingin mengucapkan terima kasih kepada:
1. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas Sains dan Teknologi dan juga sebagai Dosen pengguji atas kritik dan saran yang telah diberikan.
2. Ibu Ridowati Gunawan, S.Kom.,M.T. selaku Ketua Program Studi Teknik Informatika dan dosen pembimbing akademik yang telah memberikan kesabaran, waktu dan kebaikan.
3. IbuSri Hartati Wijono S.Si., M.Kom. selaku dosen penguji atas kritik dan saran yang telah diberikan.
4. Seluruh Dosen yang telah mendidik dan memberikan ilmu pengetahuan berharga selama penulis belajar di Universitas Sanata Dharma Yogyakarta.
5. Keluarga yang selalu mendukung saya dalam doa dan dana, orang tua saya Bp Pardiyono dan Ibu Suparmi serta kakak-kakak saya : Mas Yogo, Mas
6. Teman-Teman ACC : Robert, Anton, Ade, Pujo, Brahu, Githa, Nisa, Tri, Sintia, Risma, Febri, Grace yang selalu ada di samping saya, saat suka maupun duka.
7. Fio, Setyo dan Ratna teman sekerja saya dalam mengerjakan tugas akhir ini selama 6 bulan.
8. Seluruh teman-teman TI 09 yang telah bersama-sama menjalani perkuliahan selama 4 tahun.
9. Serta semua pihak yang telah membantu saya, yang tidak bisa saya sebutkan satu persatu Penelitian tugas akhir ini masih memiliki banyak kekurangan. Untuk itu, penulis sangat membutuhkan saran dan kritik untuk perbaikan di masa yang akan datang. Semoga penelitian tugas akhir ini dapat membawa manfaat bagi semua pihak
Yogyakarta, 23 Agustus 2013 Daniel Tomi Raharjo
DAFTAR ISI
Halaman Judul ....................................................................................................... i Halaman Judul(Bahasa Inggris) ............................................................................ ii Halaman Persetujuan ............................................................................................. iii Halaman Pengesahan ............................................................................................ iv Halaman Persembahan .......................................................................................... v Halaman Pernyataan.............................................................................................. vi Abstrak .................................................................................................................. vii Abstract ................................................................................................................. viii Halaman Persetujuan Publikasi Karya Ilmiah....................................................... ix Kata Pengantar ...................................................................................................... x Daftar Isi................................................................................................................ xii Daftar Gambar ....................................................................................................... xvii Daftar Tabel .......................................................................................................... xx
BAB I PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang Masalah ........................................................................ 1
1.2 Rumusan Masalah .................................................................................. 4
1.3 Batasan ................................................................................................... 4
1.4 Manfaat Penelitian ................................................................................. 4
1.5 Tujuan Penelitian ................................................................................... 5
1.6 Luaran Penelitian ................................................................................... 5
1.8 Sistematika Penulisan ............................................................................ 5
3.2 Seleksi Data ........................................................................................... 19
4.1.2 Narasi Use Case ........................................................................... 36
4.1.1 Diagram Use Case ....................................................................... 35
4.1 Identifikasi Sistem ................................................................................ 34
BAB IV ANALISIS DAN PERANCANGAN SISTEM .................................... 34
3.6 Presentasi Pengetahuan .......................................................................... 33
3.5 Evaluasi Pola ......................................................................................... 32
3.4 Penambangan Data ................................................................................ 24
3.3 Transformasi Data ................................................................................. 21
3.1 Sumber Data .......................................................................................... 18
BAB II LANDASAN TEORI ............................................................................... 2
BAB III METODOLOGI PENELITIAN.............................................................. 18
2.2.5.1 Contoh Perhitungan LOF......................................................... 13
2.2.5 Algoritma LOF ............................................................................ 13
2.2.4 Density Based Local Outlier Detection ....................................... 12
2.2.3 Deviation Based Local Outlier Detection .................................... 12
2.2.2 Distance Based Local Outlier Detection ..................................... 11
2.2.1 Statistical Distribution Based Local Outlier Detection ............... 11
2.2 Pengertian Outlier .................................................................................. 10
2.1 Pengertian Data Mining ......................................................................... 2
4.2 Perancangan Sistem Secara Umum ...................................................... 36
4.2.2 Proses Sistem ...................................................................................... 3
4.2.3 Output Sistem ............................................................................................... 39
4.3 Perancangan Sistem ............................................................................... 40
4.3.2 Diagram Kelas Analisis ............................................................... 41
4.3.3 Diagram Sequence ....................................................................... 44
4.3.4 Diagram Kelas Desain ................................................................. 45
4.3.5 Rincian Algoritma Setiap Method ............................................... 46
4.4 Perancangan Struktur Data .................................................................... 63
4.4.1 Graf .............................................................................................. 63
4.4.2 Matriks Dua Dimensi .................................................................. 64
4.5 Perancangan Antarmuka ........................................................................ 66
4.5.1 Tampilan Halaman Awal ............................................................. 66
4.5.2 Tampilan Halaman Utama ........................................................... 67
4.5.3 Tampilan Halaman Bantuan ........................................................ 70
4.5.4 Tampilan Menu Keluar ................................................................ 71
4.5.5 Tampilan Halaman Pilih Database .............................................. 72
4.5.6 Tampilan Halaman Pilih Tabel .................................................... 73
4.5.7 Tampilan Halaman Distribusi Atribut ......................................... 74
BAB V IMPLEMENTASI PENAMBANGAN DATA ........................................ 75
5.1 Implementasi Antarmuka....................................................................... 75
5.1.1 Implementasi Halaman Awal ...................................................... 75
5.1.2 Implementasi Halaman Utama .................................................... 76
5.1.4 Implementasi Antarmuka Halaman Pilih Basis Data .................. 84
5.1.5 Implementasi Halaman Bantuan .................................................. 88
5.1.6 Implementasi Antarmuka Halaman Tentang ............................... 89
5.1.7 Implementasi Antarmuka Konfirmasi Keluar ............................. 90
5.1.8 Implementasi Pengecekan Masukan ............................................ 91
5.2 Implementasi Kelas ............................................................................... 95
5.3 Implementasi Struktur Data ................................................................... 96
5.3.1 Implementasi Kelas Vertex.java .................................................. 97
5.3.2 Implementasi Kelas Graph.java ................................................... 98
BAB VI PENGUJIAN DAN ANALISIS HASIL PENGUJIAN .......................... 101
6.1 Rencana Pengujian................................................................................. 101
6.1.1 Hasil Pengujian Blackbox ........................................................... 103
6.1.2 Kesimpulan Pengujian Blackbox................................................. 111
6.1.3 Hasil Pengujian Perubahan NIlai Atribut MinPts Terhadap Nilai LOF .............................................................................................. 111
6.1.4 Kesimpulan Hasil Pengujian Efek perubahan nilai Atribut minPts Terhadap Niai LOF ....................................................................... 119
6.1.5 Hasil Pengujian Review Dan Validitas Pengguna ....................... 120
6.1.5.1 Perbandingan Perhitungan Manual dan Hasil Sistem....... 120
6.1.5.2 Kesimpulan Hasil Perbandingan Perhitungan Manual dengan Perhitungan Menggunakan Sistem ........................................................................ 122
6.1.5.3 Hasil Review Pengguna .................................................... 122
Pengguna...................................................................................................... 125
6.2 Kelebihan Dan Kekurangan Sistem ................................................................ 129
6.2.1 Kelebihan Sistem ......................................................................... 129
6.2.2 Kekurangan Sistem ...................................................................... 130
BAB VII KESIMPULAN DAN SARAN ............................................................. 131
7.1 Kesimpulan ............................................................................................ 132
7.2 Saran ...................................................................................................... 131 DAFTAR PUSTAKA ........................................................................................... 133 LAMPIRAN 1 ....................................................................................................... 134 LAMPIRAN 2 ....................................................................................................... 142 LAMPIRAN 3 ....................................................................................................... 149 LAMPIRAN 4 ....................................................................................................... 155 LAMPIRAN 5 ....................................................................................................... 156 LAMPIRAN 6 ....................................................................................................... 175
DAFTAR GAMBAR
Gambar 2.1 Proses KDD ....................................................................................... 9Gambar 2.2 Dataset Dengan Outlier ..................................................................... 11Gambar 3.1 Database “gudangdata” ..................................................................... 19Gambar 3.2 Tabel “fact_lengkap2”....................................................................... 20Gambar 3.3 Isi Tabel “fact_lengkap2”.................................................................. 20Gambar 3.4 Perhitungan Jarak Mahasiswa 2007 Jalur Test ................................. 26Gambar 3.5 Pencarian kdistance data Mahasiswa 2007 Jalur Test ....................... 27Gambar 4.1 Diagram Use Case ............................................................................. 35Gambar 4.2 Proses Umum Sistem Pendeteksi Outlier Menggunakan AlgoritmaLocal Outlier Factor .......................................................................... 38
Gambar 4.3 Diagram Kelas Analisis ..................................................................... 41Gambar 4.4 Diagram Kelas Desain ....................................................................... 45Gambar 4.5 Ilustrasi Struktur Data Graf ............................................................... 64Gambar 4.6 Tampilan Halaman Awal .................................................................. 66Gambar 4.7 Tampilan Halaman Utama Tab Preposesing ..................................... 68Gambar 4.8 Tampilan Halaman Utama Tab Deteksi Outlier ................................ 69Gambar 4.9 Tampilan Halaman Bantuan .............................................................. 70Gambar 4.10 Tampilan Dialog Keluar .................................................................. 71Gambar 4.11 Tampilan Halaman Pilih Database .................................................. 72Gambar 4.12 Tampilan Halaman Pilih Tabel ....................................................... 73Gambar5.1 Implementasi Halaman Awal ............................................................. 76
Gambar 5.2 Implementasi Halaman Utama Tab Preposesing .............................. 77Gambar 5.3 Implementasi jFileChosser ............................................................... 78Gambar 5.4 Implementasi Halaman Utam Tab Deteksi Outlier ........................... 78Gambar 5.5 Kotak Seleksi Atribut ........................................................................ 79Gambar 5.6 Proses Input Data .............................................................................. 80Gambar 5.7 Proses Deteksi Outlier ....................................................................... 80Gambar 5.8 Tampilan Hasil Outlier ...................................................................... 81Gambar 5.9 Tampilan Hasil Seleksi LOF ............................................................. 81Gambar 5.10 Tampilan Save Dialog ..................................................................... 82Gambar 5.11 Tampilan Halaman Distribusi Atribut ............................................. 83Gambar 5.12 Tampilan Distribusi Per Atribut ...................................................... 83Gambar 5.13 Tampilan Diagram Batang Persebaran Atribut ............................... 84Gambar 5.14 Implementasi Halaman Pilih Koneksi ............................................. 85Gambar 5.15 Proses Konfigurasi Basis Data ........................................................ 85Gambar 5.16 Proses Koneksi Berhasil .................................................................. 86Gambar 5.17 Implementasi Halaman Pilih Tabel ................................................. 87Gambar 5.18 Hasil Input Dari Database............................................................... 88Gambar 5.19 Implementasi Halaman Bantuan ..................................................... 89Gambar 5.20 Implementasi Halaman Tentang...................................................... 90Gambar 5.21 Implementasi Halaman Konfirmasi keluar ..................................... 91Gambar 5.22 Pesan Kesalahan Input Data ............................................................ 91Gambar 5.24 Pesan Kesalahan Input Parameter Database .................................... 92Gambar 5.25 Pesan Kesalahan nilai minPtskosong .............................................. 93Gambar 5.26 Pesan Kesalahan nilai minPts0 ........................................................ 93Gambar 5.27 Pesan Kesalahan nilai minPtsnegative atau mengandung karakterHuruf .............................................................................................. 94
Gambar 5.28 Pesan Kesalahan Nilai Batas Outlier Kosong ................................ 94Gambar 5.29 Pesan Kesalahan nilai Batas Outliernegative atau mengandung karakter Huruf....................................................................................... 95Gambar 6.1 Grafik Pengujian Angkatan 2007-2008 Jalur Test ............................ 113Gambar 6.2 Grafik Pengujian Data Angkatan 2007-2008 Jalur Prestasi .............. 115Gambar 6.3 Grafik Pengujian Data Angkatan 2007-2008 .................................... 119
DAFTAR TABEL
Tabel 3.1 Tabel Range Nilai Atribut ..................................................................... 21Tabel 3.2 Tabel Contoh Data Atribut nil-nil5 ....................................................... 22Tabel 3.3 Tabel Contoh Data Nilai Atribut nil1-nil 5 Setelah Normalisasi .......... 23Tabel 3.4 Tabel Contoh Data Atribut Nilai Final ................................................. 23Tabel 3.5 Tabel Contoh Data Nilai Atribut Nilai Final Setelah Normalisasi ....... 24Tabel 3.6 Tabel Data Mahasiswa 2007 Jalur Tes ................................................. 25Tabel 3.7 Tabel Data kDistancedata Mahasiswa 2007 Jalur Test ......................... 27Tabel 3.8 Tabel Data kDistance Neighborhood Data Mahasiswa 07 Jalur Test ... 28Tabel 3.9 Tabel Data Reachbility Distance Data Mahasiswa 2007 Jalur Test ..... 29Tabel 3.10 Tabel Data Reachbility Density Data Mahasiswa 2007 Jalur Test ..... 31Tabel 3.11 Tabel Data LOF Data Mahasiswa 2007 Jalur Test ............................. 31Tabel 4.1 Tabel Keterangan Diagram Kelas Analisis ........................................... 42Tabel 4.2 Ilustrasi Struktur Data Matriks Dua Dimensi ....................................... 65Tabel 4.3 Ilustrasi Struktur Data Matriks Dua Dimensi Setelah DilakukanPerhitungan Jarak antar Vertex............................................................ 65
Tabel 5.1 Implementasi Kelas ............................................................................... 95Tabel 6.1 Tabel Rencana Pengujian BlackBox ..................................................... 102Tabel 6.2 Tabel Pengujian Input Data................................................................... 103Tabel 6.3 Tabel Pengujian Koneksi Database ...................................................... 105Tabel 6.4 Tabel Pengujian Seleksi Atribut ........................................................... 107Tabel 6.6 Tabel Pengujian Lihat Grafik Atribut ................................................... 110Tabel 6.7 Tabel Pengujian Simpan Hasil Deteksi Outlier .................................... 110Tabel 6.8 Tabel Pengujian Data Mahasiswa 2007-2008 Jalur Test ...................... 112Tabel 6.9 Tabel Pengujian Data Mahasiswa 2007-2008 Jalur Prestasi ................ 113Tabel 6.10 Tabel Pengujian Data Mahasiswa 2007-2008 ..................................... 115Tabel 6.11 Tabel Data Set Perbandingan Perhitungan Manual Dan Sistem ......... 120Tabel 6.12 Tabel Hasil Perhitungan Manual......................................................... 121Tabel 6.13 Tabel Hasil Perhitungan Sistem .......................................................... 121Tabel 6.14 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Test ....................... 123Tabel 6.15 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Prestasi ................. 123Tabel 6.16 Tabel Hasil Perhitungan Sistem 2007-2008........................................ 124BAB I PENDAHULUAN
1.1 Latar belakang Masalah
Data adalah sesuatu yang sangat penting pada saat ini, seiring dengan berjalannya waktu data-data tersebut terkumpul dan menjadi gabungan data yang sangat besar.Dengan melimpahnya data tersebut dibutuhkan sebuah metode yang efektif dan efisien untuk menggali informasi yang terkandung di dalamnya.
Berbagai teknik dan metode telah ada dalam ilmu data mining, kebanyakan dari metode tersebut mencoba untuk menemukan sebuah pola yang umum dari sebuah data set, namun karena jumlahnya yang begitu besar dan bervariatif mengakibatkan munculnya data-data yang tidak konsisten dengan data set yang lain, yang biasa disebut dengan outlier.
Karena keanomaliannya seringkali data tersebut hanya dipandang sebagai
noise
atau data yang mengganggu, padahal data-data tersebut sebenarnya tidak dapat diabaikan begitu saja, karena data-data tersebut kemungkinan mempunyai informasi yang sangat penting.
Dalam data mining teknik untuk mengenali outlier dikenal dengan istilah Deteksi Outlier, dalam deteksi outlier terdapat 3 pendekatan yang secara umum sering dipakai yaitu :Clustering Based, Distance Baseddan Density Based, dari ketiga pendekatan tersebut muncul beragam algoritma yang digunakan untuk mencari outlier dari sebuah data. Namun tidak semua algoritma tersebut cocok
2 tersebut memiliki dimensi yang tinggi atau memiliki atribut yang banyak, salah satu algoritma yang ada adalah algoritma LOF (Local Outlier Factor) algoritma ini digunakan dalam pendekatan Density Based, algoritma ini tidak secara eksplisit menyatakan bahwa suatu obyek adalah sebuah outlier, namun algoritma memberikan bobot / derajat outlier terhadap suatu obyek nilai.
Dalam perkembanganya teknik data mining juga digunakan untuk meneliti dalam berbagai bidang, mulai dari ekonomi, bisnis dan juga dalam bidang pendidikan, banyak sekali penelitian dilakukan dalam bidang pendidikan, menurut Ryan dan Kalina salah satu fungsi Data Mining dalam dunia pendidikan adalah untuk mengembangkan sebuah metode yang dapat menemukan keunikan dari sebuah data yang berasal dari sistem pendidikan tersebut, dan menggunakan metode tersebut untuk lebih memahami siswa, sehingga dapat mengembangkan sebuah sistem yang sesuai (Barker & Yacef, 2009).
Universitas Sanata Dharma adalah sebuah institusi pendidikan yang memiliki banyak data, salah satu data yang dimiliki adalah data akademik mahasiswa. Data ini meliputi data nilai PMB dan data nilai per semester, untuk dapat menjadi mahasiswa di universitas tersebut seorang calon mahasiswa harus mengikuti test masuk dan dari hasil tersebut calon mahasiswa akan ditentukan apakah diterima menjadi seorang mahasiswa atau tidak.Setiap akhir semester IV setiap prodi di Universitas Sanata Dharma melakukan evaluasi sisip program, evaluasi ini bertujuan untuk mengetahui kemamapuan setiap mashasiswa, dan untuk memutuskan apakah mahasiswa tersebut harus dipertahankan di prodi
3 maka seorang kaprodi harus memperhatikan riwayat akademik setiap mahasiswa, yaitu berupa nilai test masuk dan juga nilai akademik dari semester 1 sampai semester 4, mahasiswa yang memiliki nilai test masuk tinggi maka akan memiliki potensi prestasi / nilai akademik yang tinggi, begitu pula sebaliknya mahasiswa yang memiiki nilai test masuk yang rendah maka akan memiliki potensi prestasi / nilai akademik yang rendah juga. Namun prediksi tersebut tidak selalu tepat, karena bisa saja mahasiswa yang memiliki nilai test masuk tinggi namun ternyata prestasinya biasa saja atau rendah, begitu pula sebaliknya. Dengan demikian dapat dikatakan mahasiswa yang memiliki pola tidak umum dapat dikatakan sebagai outlier, maka dengan mengetahui mana saja mahasiswa yang berpotensi menjadi outlier akan sangat membantu seorang kaprodi untuk memutuskan mahasiswa mana saja yang bisa dipertahankan dan mahasiswa mana saja yang harus dikeluarkan(DO).
Oleh karena itu pada penelitian tugas akhir ini penulis ingin melakukan penelitian menggunakan algoritma Local Outlier Factor untuk mendeteksi outlier dari data Nilai per semester mahasiswa dengan membandingkan hasil test masuk mahasiswa tersebut. nilai yang dibandingkan adalah nilai per komponen Tes Potensi akademik yaitu meliputi penalaran verbal, kemampuan numerik, penalaran mekanik, hubungan ruang dan bahasa inggris. Data yang dipakai adalah data mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma tahun angkatan 2007-2008
4
1.2 Rumusan Masalah
1. Bagaimana algoritma Local Outlier Factor dapat mendeteksi outlier dari data nilai akademik mahasiswa?
2. Apakah algoritma Local Outlier Factor dapat mendeteksi Outlier data nilai akademik mahasiswa?
1.3 Batasan
1. Data yang dipakai adalah data nilai akademik mahasiswa program Studi teknik informatika tahun angkatan 2007-2008
2. Algoritma yang dipakai dalam penelitian ini adalah algoritma Local Outlier Factor dengan menggunakan pendekatan Density Based.
1.4 Manfaat Penelitian
Manfaat penelitian ini adalah :
1. Memberikan analisis sejauh mana algoritma Local Outlier Factor dapat mendeteksi sebuah outlier
2. Membantu Pihak prodi untuk mendeteksi kejadian langka atau anomali yang terjadi berkaitan dengan data akademik mahasiswa.
5
1.5 Tujuan Penelitian
Tujuan Penelitian ini adalah menerapkan algoritma Local Outlier Factorke dalam sebuah sistem untuk mendeteksi outlierdari data akademik mahasiswa.
1.6 Luaran Penelitian
Luaran penelitian ini adalah sebuah aplikasi berbasis desktop yang mampu memberikan hasil deteksi outlier menggunakan algoritma Local Outlier Factor.
1.7 Metodologi Penelitian
Metodologi yang digunakan untuk menyelesaikan tugas akhir ini adalah menggunakan metode KDD (Knowledge Discovery in Database), yang dikemukakan oleh Jiawei Han dan Kamber.
1.8 Sistematika Penulisan
Bab I Pendahuluan Bab ini berisi latar belakang pemilihan judul tugas akhir, rumusan masalah,
batasan masalah, tujuan penelitian dilakukan, metodologi penelitian, dan sistematika penulisan tugas akhir.
Bab II Landasan Teori
6
Bab ini merupakan dasar teoritis yang digunakan untuk menyusun tugas akhir ini. Teori mengenai data-mining, outlier, dan Local Outlier Factor sebagai metode dalam perhitungan nilai LOF. Bab III Metodologi Penelitian Bab ini berisi penjelasan metodologi penelitian yang akan digunakan untukmetode LOF dalamanalisis outlier untuk studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma. Bab IV Analisis Dan Perancangan Sistem Bab ini berisi mengenai proses analisa dan perancangan sistem yang akan dibangun dalam penelitian ini. Bab V Implementasi Sistem Bab ini berisi mengenai implementasi sistem deteksi outlier menggunakan algoritma Local Outlier Factor. Bab VIPengujian Dan Analisis Hasil Pengujian Pada bab ini, Analisis hasil penelitian yang dilakukan dijelaskan secara lengkap. Bab VII Kesimpulan dan Saran Bab ini berisi kesimpulan yang didapatkan dari penelitian yang telah dilakukan.
7 yang dituliskan pada bab pendahuluan secara ringkas. Pada bab ini, akan dituliskan saran yang berguna untuk mengembangkan sistem ini
BAB II LANDASAN TEORI
2.1 Pengertian Data Mining
Data Mining
adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar. Keluaran dari data mining ini bisa dipakai untuk memperbaiki pengambilan keputusan di masa depan (Handriyadi dkk, 2009).Secara sederhana
data mining merujuk pada ektraksi atau penambangan pengetahuan dari data
dalam jumlah yang besar (Santosa, 2007).Karena ketersediaan data dalam jumlah yang besar, data mining telah menarik perhatian dalam industri informasi dan masyarakat secara keseluruhan dalam beberapa tahun terakhir, data mining dapat dipandang sebagai akibat dari evolusi alami dari informasi teknologi. Data mining hadir untuk menjawab kebutuhan menganalisis data dalam jumlah yang besar, dimana hal ini didasari oleh terbatasnya kemampuan manusia untuk menganalisis dan mengolah data, yang mengakibatkan data-data tersebut hanya disimpan dalam sebuah repository yang besar dan hanya menjadi sebuah “kuburan data” (Santosa, 2007). Banyak orang berpendapat bahwa data mining adalah sinonim dari KDD (Knowledge Discovery in Database), namun lebih tepatnya data mining adalah sebuah bagian yang sangat penting dalam proses KDD
Menurut jiawei Han dan Kamber proses KDD digambarkan sebagai berikut
9
Gambar 2.1 Proses KDD1. Pembersihan Data (Data Cleaning) Pada proses ini dilakukan Pembersihan terhadap data yang tidak konsisten atau data yang menggangu
2. PenggabunganData (Data Integration) Pada proses ini dilakukan penggabungan data dari berbagai sumber
3. Seleksi Data ( Data Selection)
10
4. Transformasi Data (Data Transformation) Data ditransformasi atau dikonsolidasikan ke dalam bentuk yang tepat untuk di tambang.
5. Penambangan Data (Data Mining) Proses yang paling penting dimana teknik penambangan data diterapkan untuk mengekstrak Pola Data
6. Evaluasi Pola (Pattern Evaluation) Yaitu proses mengidentifikasi pola-pola yang benar-benar menarik yang mewakili pengetahuan
7. Presentasi Pengetahuan (Knowledge Presentation) Pola yang didapat direpresentasikan kepada pengguna dalam bentuk visualisasi
2.2 Pengertian Outlier
Secara lebih sederhana outlier adalah data yang terlalu berbeda atau tidak konsisten dengan satu set data.Outlierdapat disebabkan oleh kesalahan eksekusi atau juga oleh pengaturan default Program (Breunig, 2000). Dalam data mining kebanyakan algoritma mencoba untuk mengurangi atau bahkan menghilangkan pengaruh outlier. Padahal outlier sendiri kemungkinan memiliki informasi penting yang tersembunyi dan bisa saja outliertersebut dihasilkan melalui mekanisme yang berbeda.
11 Gambar2.2 Dataset dengan Outlier
Menurut jiawei Han dan Kamber dalam pendeteksian sebuah outlier dikategorikan menjadi 4 pendekatan/metode antara lain : Statistical Distribution
Based , Distance Based, Deviation Based,Density Based
2.2.1 Statistical Distribution BasedLocal Outlier Detection Dalam metode ini data diasumsikan sebagai sebuahhipotesis kerja.
Setiap data obyek di dalam dataset dibandingkan terhadap hipotesis kerja. Data yang dapat diterima maka akan masuk dalam hipotesis kerja, sedangkan data yang ditolak atau tidak sesuai dengan hipotesis kerja maka ditetapkan menjadi hipotesis alternatif (outlier).
2.2.2 Distance Based Local Outlier Detection
Metode ini adalah sebuah metode deteksi outlier dengan menghitung jarak
12 pada obyek tetangga terdekat (nearest neighbor). Di dalam pendekatan ini sebuah obyek melihat obyek-obyek local neighborhod yang didefinisikan sebagai k-
nearest neighbor .Jika ketertanggan sebuah obyek relatif dekat maka obyek
tersebut dikatakan normal, namun jika ketertangaan antar obyek relative jauh maka obyek tersebut dikatakan tidak normal (outlier)(Handriyandi dkk, 2009).
2.2.3 Deviation Based Local Outlier Detection
Metode deviation basedtidakmenggunakan pengujian statistik ataupun perbandingan jarak untuk mengidentifikasi sebuah outlier. Sebaliknya metode ini mengidentifikasi sebuah outlier dengan memeriksa karakteristik utama dari obyek dalam sebuah kumpulan. Obyek yang memiliki karakteristik diluar karakteristik utama maka akan dianggap sebagai oulier (Han dan Kamber, 2006).
2.2.4 Density Based Local Outlier Detection
Metode density-based tidak secara eksplisit mengklasifikasikan sebuah obyek adalah outlier atau bukan, akan tetapi lebih kepada pemberian nilai kepada obyek sebagai derajat kekuatan obyek tersebut dapat dikategorikan sebagai outlier. Ukuran derajat kekuatan ini adalah local outlier factor (LOF).Pendekatan untuk pencarian outlier ini hanya membutuhkan sebuah parameter yaitu MinPts, Minpts adalah jumlah tetangga terdekat yang digunakan untuk mendefinisikan local Neighborhood suatu obyek.
13
2.2.5 Algoritma LOF
Pada penelitian ini akan menggunakan algoritma LOF, ide utama dari LOF adalah membandingkan kepadatan lokal lingkungan sebuah obyek dengan kepadatan lokal tetangganya, dalam algoritma LOF sebuah obyek dikatakan sebagai outlier apabila memiliki nilai LOF yang tinggi atau menjauhi 1, sedangkan obyek yang memiliki nilai LOF rendah atau mendekati 1 maka obyek tersebut tidak dapat dikategorikan sebagai outlier. Nilai LOF yang tinggi mengindikasikan bahwa obyek tersebut memiliki kepadatan yang rendah terhadap lingkungannya sehingga berpotensi menjadi sebuah outlier. Langkah
- –langkah untuk menemukan outlier di deskripsikan sebagai berikut : 1.
Menghitung k-distance dari setiap obyek p
Tujuan dari perhitungan k-distance ini adalah untuk menentukan tetangga dari p, secara sederhana k-distancedari sebuah obyek p, adalah jarak maksimal dari P terhadap. tetangga terdekatnya. dan di notasikan dengan k-distance(p), k-
distance didefinisikan d(p,o) dimana antara P dan object o D memiliki :
(i) untuk setidaknya k objects o ‟ D | {p} dan dinyatakan bahwa d(p,o‟) ≤
d (p,o)
(ii) untuk setiap k-1objects o ‟D | {p} dan dinyatakan bahwa d(p,o‟) ≤ d(p,o)
14
2. Menghitung jumlah tetangga terdekat(k-distance neighborhood dari setiap obyek p) k-distance neighborhood suatu objek p dinotasikan Nk-distance(p), atau Nk(p) dimana berisi setiap objek dengan jarak tidak lebih besar dari kdistance
(p) .
3. Menghitung Reachbility Distance dari p Reachability distance dari suatu obyek p terhadap obyek o adalah
distance(p, o) atau kdistance(o), dengan membandingkan keduanya dan dicari
nilai yang maksimum sehingga,reach-dist k
(p, o)
= max{kdistance (o), distance(p,
o)) . Tujuan dari perhitungan ini adalah untuk memastikan bahwasemua
bendaberada dalam lingkungan yang homogen. Selain itu, nilai LOF akan stabil jika sebuah obyek berada dalam lingkungan yang seragam sekalipun jika
MinPts (k) berubah.
Fluktuasi darireachabilitydistance dapat dikontrol dengan memilih nilai maksimum untuk k.
4. Menghitung kepadatan local dari setiap obyek local reachbility density dari p di definisikan sebagai berikut :
15
lrd MinPts (p) : Kepadatan local dari obyek p reachdist MinPts (p,o) : Reacbility Distance dari obyek p ke obyek o N MinPts (p) : Jumlah tetangga p dalam suatu minPts
Secara intuitif, local reachbility density p adalah kebalikan dari rata-rata
reachability distance based di dalam minPts-tetangga terdekat dari obyek p.
5. Menghitung LOF untuk setiap obyek data
Local outlier factor dari P di definisikan sebagaiberikut : ……(2.2)
Keterangan :
LOF (p) : Derajat outlier dari obyek p MinPts lrd MinPts (o) : Kepadatan local obyek o lrd (p) MinPts : Kepadatan local obyek p N MinPts (p) : Jumlah tetangga p dalam suatu minPts
LOF adalah sebuah derajat yang menentukan apakah sebuah obyek
(p)
merupakan outlier atau tidak.LOF dinotasikan kedalam LOF MinPts dan
16 merupakan rata-rata rasio kepadatan reachability lokal p dan tetangga p dalam satu jangkauan.
2.2.5.1 Contoh Perhitungan LOF
Misalkan Sebuah database D memiliki 4 buah obyek dan dilambangkan sebagai P , P , P dan P dimana masing-masing obyek memiliki jarak sebagai
1
2
3
4
berikut : P
1 P 2 = 4 , P
1 P 3 = 3 , P
1 P 4 = 7 , P
2 P 3 = 5 , P
2 P 4 = 6 , dan P
3 P 4 = 8 dan minPts(k) = 2
1. Mencari k-distance Maka untuk contoh diatas langkah untuk menemukan k-distance dari obyek P1 adalah sebagai berikut : a. Hitung jarak P
1 terhadap semua obyek dengan menggunakan fungsi
jarak, untuk contoh diatas jarak P terhadap obyek yang lain telah di
1
didefinisikan yaitu : P P = 4, P P = 3, P P = 7
1
2
1
3
1
4
b. Pilih 2 jarak minimum yang berbeda dari P
1 , semua jarak dari P
1
diurutkan dan dipilih 2 minimum pertama, maka diperoleh 2 minimum pertama yaitu P
1 P 3 = 3 , P
1 P
2 = 4
c. kemudian dari 2 jarak tersebut pilih yang paling maksimum, dimana ini nanti akan menjadi kdistance dari P maka :
1 k-distance
(P
1 ) = max(3,4) , sehingga k-distance(P
1 ) = 42. Menemukan k-distanceneighborhoodyang k-distance<= 4 Selanjutnya dicari k-distanceneighborhooddari P 1, maka obyek data yang
17 4 dan jarak dari P dan P dari P masing-masing tidak lebih dari 4 (yaitu, P P =
2
3
1
1
2
4, P
1 P 3 = 3)
3. Menghitung Reachbility Distance Jarak reachability dari P
1 adalahdihitung sebagai berikut: Pertama,
mengidentifikasi lingkungan kdistance P (yaitu, Nk (P ) = (P , P )). reachbility
1
1
2
3 distance P 1 dihitung sehubungan dengan P 2 dan P 3 karena mereka merupakan
tetangga dariP1.Untuk P dalam lingkungan P : reachdist (P , P ) = max (k-
2 1 k
1
2
distance (P ), distance((P , P )) = max(5,4) = 5. Sejak kdistance (P ) = 5 dan
2
1
2
2
jarak (P
1 , P 2 ) = 4. Untuk P 3 dalam lingkungan P 1 : reachdist k (P 1 , P 3 ) = max {k-
distance (P ), jarak (P , P )} =max (5, 3) = 5. Oleh karena itu, reachdistk (P , o) =
3
1
3
1
(5, 5), yang merupakan kombinasi dari jarak reachability daritetangga dari P 1 .