Deteksi outlier menggunakan Algoritma Connectivity Based Outlier Factor : studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

(1)

ABSTRAK

Kebutuhan untuk pengolahan data merupakan hal yang sangat penting untuk era saat ini. Dalam bidang pendidikan, data mining sangat berguna 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).

Salah satu metode dalam data mining untuk mengenali data yang bersifat unik di sebut deteksi outlier. Teknik deteksi outlier di kategorikan menjadi beberapa kelompok, yaitu Statistical Approaches, Proximity-based Approaches, Clustering-based Approaches, dan Classification Approaches.

Akan di buat sebuah aplikasi atau perangkat lunak untuk mendeteksi data yang unik tersebut menggunakan salah satu algoritma data mining yaitu algoritma Connectivity-based Outlier Factor dengan pendekatan density based. Data yang di gunakan dalam penelitian ini adalah data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2007-2008 yang berupa hasil test penerimaan mahasiswa baru, nilai final dan nilai Indeks Prestasi Semester (IPS) dari semester satu sampai semester empat.

Pengujian akan di lakukan untuk menemukan data yang dinyatakan sebagai outlier. Penelitian ini bertujuan untuk membantu Kaprodi TI Universitas Sanata Dharma dalam mendeteksi kejadian langka atau yang menyimpang dari pola umum data akademik mahasiswa.


(2)

ABSTRACT

The need for data processing is very important for the current era. In education, data mining is very useful to develop a method that can discover the uniqueness of a data derived from the education system, and using these methods to better understand the students, so that they can develop an appropriate system (Barker & Yacef, 2009).

One method in data mining to identify data that is unique is called outlier detection. Outlier detection techniques categorized into several groups, Statistical Approaches, Proximity-based Approaches, Clustering-based Approaches, and Classification Approaches.

It will be created an application or software to detect the unique data using one of the data mining algorithm is an algorithm-based Outlier Factor Connectivity with density-based approach. The data used in this study were student academic data Sanata Dharma University of Information Engineering 2007-2008 force in the form of new admissions test results, final value and the value of their GPA (IPS) from one semester to semester four.

Tests will be done to find the data that is declared as outliers. This research aims to help the chair person of Computer Science of Sanata Dharma University in detecting rare events or that deviate from the general pattern of student academic data.


(3)

DETEKSI

OUTLIER

MENGGUNAKAN ALGORITMA

CONNECTIVITY BASED OUTLIER FACTOR

(STUDI KASUS: DATA AKADEMIK MAHASISWA TEKNIK INFORMATIKA UNIVERSITAS SANATA DHARMA)

Skripsi

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika

Dosen Pengampu : Ridowati Gunawan, S.Kom., M.T.

Oleh:

Yustina Ayu Ruwidati

105314061

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

OUTLIER DETECTION USING CONNECTIVITY

BASED OUTLIER FACTOR ALGORITHM

(CASE STUDY: ACADEMIC DATA OF STUDENTS OF INFORMATICS ENGINEERING DEPARTMENT OF SANATA DHARMA UNIVERSITY)

A Thesis

Presented as Partial Fullfillment of the Requirements To Obtain the Barchelor of Computer Science

In Study Program of Informatics Engineering

By:

Yustina Ayu Ruwidati

105314061

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2014


(5)

(6)

(7)

iii

HALAMAN MOTTO DAN PERSEMBAHAN

“Let it be”

-The Beatles-


(8)

iv

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 14 Januari 2015 Penulis


(9)

v

ABSTRAK

Kebutuhan untuk pengolahan data merupakan hal yang sangat penting untuk era saat ini. Dalam bidang pendidikan, data mining sangat berguna 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).

Salah satu metode dalam data mining untuk mengenali data yang bersifat unik di sebut deteksi outlier. Teknik deteksi outlier di kategorikan menjadi beberapa kelompok, yaitu Statistical Approaches, Proximity-based Approaches, Clustering-based Approaches, dan Classification Approaches.

Akan di buat sebuah aplikasi atau perangkat lunak untuk mendeteksi data yang unik tersebut menggunakan salah satu algoritma data mining yaitu algoritma Connectivity-based Outlier Factor dengan pendekatan density based. Data yang di gunakan dalam penelitian ini adalah data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2007-2008 yang berupa hasil test penerimaan mahasiswa baru, nilai final dan nilai Indeks Prestasi Semester (IPS) dari semester satu sampai semester empat.

Pengujian akan di lakukan untuk menemukan data yang dinyatakan sebagai outlier. Penelitian ini bertujuan untuk membantu Kaprodi TI Universitas Sanata Dharma dalam mendeteksi kejadian langka atau yang menyimpang dari pola umum data akademik mahasiswa.


(10)

vi

ABSTRACT

The need for data processing is very important for the current era. In education, data mining is very useful to develop a method that can discover the uniqueness of a data derived from the education system, and using these methods to better understand the students, so that they can develop an appropriate system (Barker & Yacef, 2009).

One method in data mining to identify data that is unique is called outlier detection. Outlier detection techniques categorized into several groups, Statistical Approaches, Proximity-based Approaches, Clustering-based Approaches, and Classification Approaches.

It will be created an application or software to detect the unique data using one of the data mining algorithm is an algorithm-based Outlier Factor Connectivity with density-based approach. The data used in this study were student academic data Sanata Dharma University of Information Engineering 2007-2008 force in the form of new admissions test results, final value and the value of their GPA (IPS) from one semester to semester four.

Tests will be done to find the data that is declared as outliers. This research aims to help the chair person of Computer Science of Sanata Dharma University in detecting rare events or that deviate from the general pattern of student academic data.


(11)

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma

Nama : Yustina Ayu Ruwidati

Nomor Mahasiswa : 105314061

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:

DETEKSI OUTLIER MENGGUNAKAN ALGORITMA

CONNECTIVITY BASED OUTLIER FACTOR

(STUDI KASUS: DATA AKADEMIK MAHASISWA TEKNIK INFORMATIKA UNIVERSITAS SANATA DHARMA)

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya Dibuat di Yogyakarta

Pada tanggal: 14Januari 2015 Yang menyatakan,


(12)

viii

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, atas berkat yang luar biasa dan kehendakNya penulis dapat menyelesaikan penelitian tugas akhir ini yang berjudul “Deteksi Outlier Menggunakan Algoritma Connectivity-based Outlier Factor (Studi Kasus: Data Akademik Mahasiswa

Teknik Informatika Universitas Sanata Dharma)

Penulis mengucapkan terimakasih yang sebesar-besarnya kepada semua pihak yang berperan dalam pengerjaan tugas akhir ini:

1. Tuhan Yesus Kristus dan Bunda Maria yang telah memberikan berkat dan anugrah yang luar biasa sehingga tugas akhir ini bisa selesai.

2. Ibu P.H. Prima Rosa, S.Si., M.Sc selaku Dekan Fakultas Sains dan Teknologi dan dosen penguji atas semua masukan dan dukungan yang telah di berikan.

3. Ibu Ridowati Gunawan, S.Kom., M.T selaku dosen pembimbing akademik atas kesabaran, bantuan, kritik, masukan, dan dorongan semangat selama penulis menyelesaikan tugas akhir ini.

4. Ibu Sri Hartati Wijono, S.Si., M.Kom selaku dosen penguji atas kritik dan saran yang di berikan.

5. Seluruh dosen dan karyawan Universitas Sanata Dharma Yogyakarta atas kontribusinya dalam membantu penulis.

6. Kedua orang tua saya Bapak E. Ruwido dan Ibu Sumirah yang tanpa henti memberikan dukungan baik secara moral maupun materi. Terima kasih atas doa yang tanpa henti Bapak dan Ib panjatkan.

7. Kedua kakak saya Wing Budi Wiratmoko dan Sunaringtyas Nugraheni atas semua semangat, doa, dan bantuan untuk penulis. Terima kasih pula untuk keponakan kecilku, Randu Sekar Kinanthi yang dengan kelucuannya dapat menghibur penulis selama pengerjaan tugas akhir ini. 8. Terima kasih untuk kamu, yang selama 10 tahun kehadiranmu telah

memberikan motivasi terbesar dalam hidupku untuk mewujudkan satu persatu mimpiku. Terima kasih karena telah mengenalmu.


(13)

ix

9. Sahabat-sahabat terbaikku, Verena Pratita Adji, Venti Trimuryatin, Fidelis Asterina Surya Prasetya, dan Yohanes Advent Arinatal atas kebersamaanya dari semester 1 hingga semester akhir ini. Terima kasih atas semua canda, tawa, dukungan, doa yang telah kalian berikan.

10. Felisitas Brillianti dan Erlita Octaviani selaku teman sekelompok dalam pengerjaan tugas akhir ini. Terima kasih atas kerja sama, bantuan, dan semangatnya.

11. Daniel Tomi Rahardjo dan H. Roy Wiranata yang tidak pernah bosan untuk membantu penulis dalam menyelesaikan tugas akhir ini.

12. Sahabat PPG, Erlin Kristiyanti, Patricia Puspita Wahyujati, Chatarina Windar Herlita Swari, dan Vivi Yulisetyani atas keceriaan dan dukungan dalam mengerjakan tugas akhir ini.

13. Teman-teman HMPS yang tidak bisa saya sebutkan satu persatu, terima kasih atas kehadiran, doa, semangat, dan tawa kalian.

14. Serta semua pihak yang berperan dalam penyelesaian tugas akhir ini.

Tugas akhir ini masih kurang dari kata sempurna, oleh karena itu penulis dengan rendah hati memohon untuk memberikan kritik dan saran untuk perbaikan tugas akhir ini. Semoga penulisan tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih

Yogyakarta, Desember 2014


(14)

x

Daftar Isi

Halaman Judul ...

Halaman Persetujuan ... i

Halaman Pengesahan ... ii

Halaman Motto dan Persembahan ... iii

Pernyataan Keaslian Karya ... iv

Abstrak ... v

Abstract ... vi

Lembar Pernyataan Persetujuan ... vii

Kata Pengantar ... viii

Daftar Isi ... x

Daftar Gambar ... xiv

Daftar Tabel ... xvi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan ... 3

1.5 Manfaat Penelitian ... 3

1.6 Metodologi Penelitian ... 3

1.7 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Pengertian Data Mining ... 6

2.2 Outlier... 8

2.2.1 Jenis Outlier ... 9

2.2.1.1 Statistical Distribution-based Outlier Detection 9 2.2.1.2 Distance-based Outlier Detection ... 10

2.2.1.3 Density-based Local Outlier Approach ... 11

2.2.1.4 Deviation-based Approach ... 11


(15)

xi

2.4 Contoh Jalannya Algoritma ... 14

BAB III METODOLOGI PENELITIAN... 17

3.1 Data yang Dibutuhkan ... 17

3.2 Pengolahan Data ... 17

BAB IV ANALISIS DAN PERANCANGAN SISTEM ... 30

4.1 Gambaran Umum Sistem ... 30

4.1.1 Diagram Use Case ... 31

4.1.2 Narasi Use Case ... 32

4.2 Perancangan Sistem Secara Umum ... 32

4.2.1 Input Sistem ... 32

4.2.2 Proses Sistem ... 35

4.2.3 Output Sistem ... 37

4.3 Perancangan Sistem ... 37

4.3.1 Diagram Aktivitas ... 37

4.3.2 Diagram Kelas Analisis ... 38

4.3.3 Diagram Sequence ... 43

4.3.4 Diagram Kelas Desain ... 43

4.3.5 Rincian Algoritma ... 44

4.4 Perancangan Struktur Data ... 70

4.5 Perancangan Antarmuka ... 72

4.5.1 Tampilan Halaman Awal ... 72

4.5.2 Tampilan Halaman Menu Utama ... 73

4.5.3 Tampilan Halaman Pilih Database ... 75

4.5.4 Tampilan Halaman Pilih Tabel ... 76

4.5.5 Tampilan Halaman About ... 77

4.5.6 Tampilan Halaman Help ... 78

BAB V IMPLEMENTASI SISTEM ... 79

5.1 Implementasi Antarmuka ... 79

5.1.1 Implementasi Halaman Awal ... 79

5.1.2 Implementasi Halaman Menu Utama ... 80


(16)

xii

5.1.4 Implementasi Halaman About ... 89

5.1.5 Implementasi Halaman Help ... 90

5.1.6 Implementasi Halaman Exit ... 91

5.1.7 Implementasi Pengecekan Masukan ... 91

5.2 Implementasi Kelas ... 94

5.3 Implementasi Struktur Data ... 95

5.3.1 Implementasi Kelas Vertex.java ... 95

5.3.2 Implementasi Kelas Graph.java ... 96

BAB VI PENGUJIAN DAN ANALISA HASIL PENGUJIAN ... 99

6.1 Rencana Pengujian ... 99

6.1.1 Hasil Pengujian Blackbox ... 102

6.1.1.1 Pengujian Input Data ... 102

6.1.1.2 Pengujian Koneksi Database ... 103

6.1.1.3 Pengujian Seleksi Atribut ... 105

6.1.1.4 Pengujian Deteksi Outlier ... 106

6.1.1.5 Pengujian Simpan Hasil Deteksi Outlier 107 6.1.2 Kesimpulan Hasil Pengujian Blackbox ... 108

6.1.3 Hasil Pengujian Dengan Perubahan Nilai Parameter k 109 6.1.4 Kesimpulan Hasil Pengujian Dengan Perubahan Nilai Parameter k ... 115

6.1.5 Hasil Pengujian Validitas dan Review oleh Pengguna 115 6.1.5.1 Perbandingan Perhitungan Manual dengan Perhitungan Sistem ... 115

6.1.5.2 Kesimpulan Perbandingan Perhitungan Manual dengan Perhitungan Sistem ... 117

6.1.5.3 Hasil Review Oleh Pengguna ... 117

6.1.5.4 Kesimpulan Hasil Pengujian Validitas dan Review oleh Pengguna... 120

6.2 Kelebihan dan Kekurangan Sistem ... 123

6.2.1 Kelebihan Sistem ... 123


(17)

xiii

BAB VII KESIMPULAN DAN SARAN ... 125

7.1 Kesimpulan ... 125

7.2 Saran ... 126

DAFTAR PUSTAKA ... 127

LAMPIRAN 1 ... 128

LAMPIRAN 2 ... 129

LAMPIRAN 3 ... 137

LAMPIRAN 4 ... 144

LAMPIRAN 5 ... 150

LAMPIRAN 6 ... 159

LAMPIRAN 7 ... 194


(18)

xiv

DAFTAR GAMBAR

Gambar 2.1 Proses KDD(Knowledge Discovery in Database) ... 7

Gambar 2.2 Obyek pada daerah R adalah outlier ... 9

Gambar 3.1 Database gudangdata ... 18

Gambar 3.2 Isi tabel fact_lengkap2 ... 19

Gambar 3.3 Isi tabel fact_lengkap2 untuk mahasiswa Teknik Informatika 20 Gambar 3.4 Isi tabel fact_lengkap2 setelah seleksi ... 20

Gambar 3.5 Contoh Data angkatan 2007 jalur reguler ... 25

Gambar 4.1 Proses umum Sistem Deteksi Outlier Menggunakan Algoritma Connectivity-based Outlier Factor ... 36

Gambar 4.2 Diagram Kelas Analisis Sistem Deteksi Outlier Menggunakan Algoritma Connectivity-based Outlier Factor ... 38

Gambar 4.3 Diagram Kelas Desain Sistem Deteksi Outlier Menggunakan Algoritma Connectivity-based Outlier Factor ... 44

Gambar 4.4 Ilustrasi Struktur Data Graf ... 71

Gambar 4.5 Tampilan Halaman Awal(HomePage) ... 72

Gambar 4.6 Tampilan Halaman Utama(Home) pada tab Prepocessing 74 Gambar 4.7 Tampilan Halaman Utama(Home) pada tab Deteksi Outlier 75 Gambar 4.8 Tampilan Halaman Pilih Database ... 76

Gambar 4.9 Tampilan Halaman Pilih Tabel ... 76

Gambar 4.10 Tampilan Halaman About ... 77

Gambar 4.11 Tampilan Halaman Help... 78

Gambar 5.1 Antarmuka atau Interface Halaman Awal(HomePage) ... 80

Gambar 5.2 Antarmuka atau Interface Halaman Menu Utama(Home) 81 Gambar 5.3 Kotak Dialog Pilih File ... 81

Gambar 5.4 File Inputan Tertampil pada Tabel ... 82

Gambar 5.5 Daftar Atribut pada Tabel Seleksi Atribut... 83

Gambar 5.6 Antarmuka atau Interface Halaman Menu Utama(Home) tab Deteksi Outlier 83 Gambar 5.7 Antarmuka atau Interface Halaman Menu Utama(Home) tab Deteksi Outlier Saat Memasukan Nilai Parameter ... 84


(19)

xv

Gambar 5.8 Hasil Deteksi Outlier ... 84

Gambar 5.9 Hasil Deteksi Outlier Setelah Diberi Batas Outlier ... 85

Gambar 5.10 Kotak Dialog Simpan Hasil Deteksi Outlier ... 85

Gambar 5.11 Kotak Dialog Simpan Hasil Deteksi Outlier Saat Memberi Nama File ... 86

Gambar 5.12 Pesan Sukses Hasil Deteksi Outlier Berhasil Disimpan.. 86

Gambar 5.13 Antarmuka atau Interface Halaman PilihDatabase ... 87

Gambar 5.14 Memasukan Username, Password, Database Name, dan Url 87 Gambar 5.15 Pesan Sukses Konfigurasi ke Database Berhasil ... 88

Gambar 5.16 Antarmuka atau Interface Halaman PilihTabel ... 88

Gambar 5.17 Tabel Inputan dari Database Tertampil pada Halaman Utama pada tab Prepocessing ... 89

Gambar 5.18 Antarmuka atau Interface Halaman About ... 90

Gambar 5.19 Antarmuka atau Interface Halaman Help ... 91

Gambar 5.20 Antarmuka atau Interface Halaman Exit ... 91

Gambar 5.21 Pesan Kesalahan k Kosong ... 92

Gambar 5.22 Pesan Kesalahan k Mengandung Karakter Selain Angka 92 Gambar 5.23 Pesan Kesalahan Batas Outlier Kosong ... 93

Gambar 5.24 Pesan Kesalahan Batas Outlier Mengandung Karakter Selain Angka ... 93

Gambar 5.25 Pesan Kesalahan Username, Password, Database Name, dan Url Ada yang Kosong ... 93

Gambar 5.26 Pesan Kesalahan Username, Password, Database Name, dan Url Ada yang Salah ... 94

Gambar 5.27 Pesan Kesalahan Format File Tidak Sesuai ... 94

Gambar 6.1 Grafik Hasil Pengujian Data Akademik Mahasiswa Teknik Informatika Angkatan 2007-2008 Jalur Tes ... 109

Gambar 6.2 Grafik Hasil Pengujian Data Akademik Mahasiswa Teknik Informatika Angkatan 2007-2008 Jalur Prestasi ... 111

Gambar 6.3 Grafik Hasil Pengujian Data Akademik Mahasiswa Teknik Informatika Angkatan 2007-2008 ... 113


(20)

xvi

DAFTAR TABEL

Tabel 2.1 Simbol dan definisi... 13 Tabel 3.1 Contoh perhitungan min-max normalization untuk atribut nil11, nil12,

nil13, nil14, dan15 ... 22 Tabel 3.2 Setelah di hitung menggunakan rumus min-max normalization untuk

atribut nil11, nil12, nil13, nil14, dan15 ... 22 Tabel 3.3 Contoh perhitungan min-max normalization untuk atribut final 23 Tabel 3.4 Setelah di hitung menggunakan rumus min-max normalization untuk

atribut final ... 24 Tabel 4.1 Tabel Penjelasan dari Diagram Kelas Analisis ... 39 Tabel 4.2 Ilustrasi Struktur Data Matriks Dua Dimensi ... 71 Tabel 4.3 Ilustrasi Struktur Data Matriks Dua Dimensi Setelah dilakukan

Perhitungan dengan Ecluidian Distance ... 72 Tabel 6.1 Rencana Pengujian Blackbox ... 102 Tabel 6.2 Hasil Pengujian Input Data pada Kelas Home ... 104 Tabel 6.3 Hasil Pengujian Input Data pada Kelas Koneksi Database . 105 Tabel 6.4 Hasil Pengujian Seleksi Atribut pada Kelas Home ... 107 Tabel 6.5 Hasil Pengujian Deteksi Outlier pada Kelas Home ... 108 Tabel 6.6 Hasil Pengujian Simpan Hasil Deteksi Outlier pada Kelas Home109 Tabel 6.7 Daftar Nilai Per Atribut ... 118 Tabel 6.8 Hasil Deteksi Outlier Data Akademik Mahasiswa Teknik Informatika

Angkatan 2007-2008 Jalur Tes ... 120 Tabel 6.9 Hasil Deteksi Outlier Data Akademik Mahasiswa Teknik Informatika

Angkatan 2007-2008 Jalur Prestasi ... 120 Tabel 6.10 Hasil Deteksi Outlier Data Akademik Mahasiswa Teknik Informatika


(21)

BAB I

PENDAHULUAN

1.1

Latar Belakang

Di era globalisasi saat ini, pendidikan merupakan kebutuhan primer bagi setiap individu. Pendidikan yang di maksud adalah usaha sadar dan terencana untuk mewujudkan suasana belajar dan proses pembelajaran agar peserta didik secara aktif mengembangkan potensi dirinya untuk memiliki kekuatan spiritual keagamaaan, pengendalian diri, kepribadian, kecerdasan, akhlak mulia, serta ketrampilan yang diperlukan dirinya, masyarakat, bangsa, dan Negara (UU No. 20 Tahun 2003).

Universitas Sanata Dharma Yogyakarta adalah sebuah institusi pendidikan yang tentunya memiliki banyak data. Sebagai contoh adalah data akademik. Data-data akademik yang dapat di ambil adalah data PMB (berupa nilai test penerimaan mahasiswa baru ataupun nilai rapor SMA) dan nilai semester.

Pada akhir semester IV, akan di analisa apakah mahasiswa tersebut layak untuk melanjutkan studi di program studi Teknik Informatika ataukah tidak. Apakah mahasiswa tersebut perlu untuk di drop out atau tidak. Dalam mengambil keputusan, seorang Kaprodi harus memperhatikan berbagai faktor-faktor nilai.

Apabila nilai test penerimaan mahasiswa baru dan nilai semester seorang mahasiswa bagus, tentunya mahasiswa tersebut di nilai berprestasi. Begitu juga sebaliknya. Tetapi, ada kemungkinan apabila seorang mahasiswa memiliki nilai test penerimaan mahasiswa baru yang bagus, namun ia tidak berprestasi dibuktikan dengan nilai semesternya yang jelek.

Kebutuhan untuk pengolahan data pun di rasa sangat penting untuk era saat ini. Dalam bidang pendidikan, data mining sangat berguna 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


(22)

sebuah sistem yang sesuai (Barker & Yacef, 2009).

Salah satu metode dalam Data Mining untuk mengenali data yang bersifat unik di sebut Deteksi Outlier. Teknik Deteksi Outlier di kategorikan menjadi beberapa kelompok, yaitu Statistical Approaches, Proximity-based Approaches, Clustering-based Approaches, dan Classification Approaches. Dan salah satu algoritma yang ada adalah algoritma Connectivity-based Outlier Factor (COF). Algoritma COF ini merupakan algoritma dengan pendekatan Density Based. Algoritma COF digunakan untuk mendeteksi outlier segera setelah outlier tersebut muncul dalam database. COF dapat menangani outlier atau pola yang menyimpang dari low density pattern. Ide utama dari algoritma COF adalah untuk menentukan setiap record data yang dapat setingkat atau sederajat untuk menjadi outlier atau data yang menyimpang dari suatu pola yang umum.

Dengan demikian, dapat disimpulkan bahwa mahasiswa tersebut memiliki pola yang menyimpang dari pola atau di kenal sebagai outlier. Data mahasiswa yang termasuk outlier ini dapat di gunakan oleh Kaprodi untuk lebih memperhatikan mahasiswa tersebut agar prestasinya bisa naik.

1.2Rumusan Masalah

Rumusan masalah dari penelitian ini adalah :

1.2.1 Bagaimana algoritma Connectivity-based Outlier Factor dapat mendeteksi outlier dari data nilai akademik mahasiswa Teknik Informatika Universitas Sanata Dharma?

1.2.2 Mahasiswa manakah yang memiliki data nilai akademik yang unik atau menyimpang dari pola umum berdasarkan indeks prestasi semester?

1.3Batasan Masalah

Batasan masalah dari penelitian ini adalah :

1.3.1 Algoritma deteksi outlier yang di gunakan adalah algoritma Connectivity-based Outlier Factor (COF) menggunakan pendekatan Density Based.


(23)

1.3.2 Data yang di gunakan adalah data akademik mahasiswa TI Universitas Sanata Dharma angkatan 2007-2008 yang berupa hasil test penerimaan mahasiswa baru, nilai final dan nilai Indeks Prestasi Semester (IPS) dari semester satu sampai semester empat.

1.3.3 Hasil penelitian ini berupa kelompok mahasiswa outlier, jika ditemukan.

1.4Tujuan

Tujuan dari penelitian ini adalah :

1.4.1 Melakukan deteksi outlier pada data akademik Mahasiswa Teknik Informatika Universitas Sanata Dharma dengan menerapkan algoritma Connectivity-based Outlier Factor.

1.4.2 Menganalisis hasil deteksi outlier pada data akademik yang di hasilkan oleh algoritma Connectivity-based Outlier Factor.

1.5Manfaat Penelitian

Manfaat dari penelitian ini adalah :

1.5.1 Memberikan analisis sejauh mana algoritma Connectivity-based Outlier Factor dapat mendeteksi sebuah outlier serta keunggulan algoritma ini dalam mendeteksi outlier.

1.5.2 Membantu Kaprodi TI Universitas Sanata Dharma dalam mendeteksi kejadian langka atau yang menyimpang dari pola umum data akademik mahasiswa.

1.6Metodologi Penelitian

Metode yang di gunakan dalam penelitian ini adalah Knowledge Discovery in Database (KDD), yaitu proses yang dibantu oleh komputer untuk menggali dan menganalisis sejumlah besar himpunan data dan mengekstrak informasi dan pengetahuan yang berguna. Langkah-langkah KDD menurut Jiawei Han adalah sebagai berikut :

1.6.1 Pembersihan Data (Data Cleaning)


(24)

1.6.2 Integrasi Data (Data Integration)

Menggabungkan data dari berbagai sumber data yang berbeda. 1.6.3 Pemilihan Data (Data Selection)

Mengambil data yang relevan dengan tugas analisis yang di ambil dari database.

1.6.4 Transformasi Data (Data Transformation)

Mentransformasi atau menggabungkan data ke dalam bentuk yang sesuai untuk penggalian lewat operasi summary atau aggregation.

1.6.5 Penambangan Data (Data Mining)

Proses penting dimana metode cerdas di aplikasikan untuk mengekstrak suatu pola data.

1.6.6 Evaluasi Pola (Pola Evaluation)

Mengidentifikasi pola yang menarik dan merepresentasikan pengetahuan berdasarkan interestingness measures.

1.6.7 Presentasi Pengetahuan (Knowledge Presentation)

Penyajian pengetahuan yang di gali kepada pengguna dengan menggunakan visualisasi dan teknik representasi pengetahuan.

1.7 Sistematika Penulisan

Sistematika penulisan proposal tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini di jelaskan latar belakang penelitian dan latar belakang secara umum, rumusan masalah penelitian, batasan masalah penelitian, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini di jelaskan landasan teori dari penelitian ini. Dasar teori yang menunjang penelitian ini meliputi pengertian data mining yang berisi proses KDD (Knowledge Discovery in


(25)

Database), pengertian outlier, jenis-jenis outlier, dan algoritma Connectivity-based Outlier Factor.

BAB III METODOLOGI PENELITIAN

Pada bab ini akan di jelaskan mengenai metode yang dipakai dalam penelitian dan pembuatan aplikasi dalam analisis outlier untuk studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan di jelaskan analisis sistem yang meliputi gambaran umum sistem, data yang di butuhkan untuk penelitian, dan pengolahan data. Akan di jelaskan pula perancangan sistem yang meliputi perancangan umum dari sistem tersebut, perancangan struktur data, dan perancangan interface atau antarmuka sistem.

BAB V IMPLEMENTASI SISTEM

Pada bab ini akan di jelaskan implementasi dari sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor. Akan di jelaskan pula listingprogram dari sistem ini.

BAB VI PENGUJIAN DAN ANALISA HASIL PENGUJIAN

Pada bab ini akan di jelaskan hasil pengujian dari sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor beserta dengan analis dari hasil pengujian.

BAB VII KESIMPULAN DAN SARAN

Pada bab ini akan di jelaskan kesimpulan dari hasil pengujian yang telah dilakukan dan saran yang berguna untuk pengembangan sistem


(26)

6

BAB II

LANDASAN TEORI

2.1

Pengertian

Data Mining

Data Mining adalah acuan untuk mengekstrak atau menambang pengetahuan dari data yang jumlahnya sangat besar (Han & Kamber, 2006). Data Mining adalah suatu proses menemukan hubungan yang berarti, pola, dan kecenderungan dengan memeriksa dalam sekumpulan besar data yang tersimpan dalam penyimpanan dengan menggunakan teknik pengenalan pola seperti teknik statistik dan matematika (Gartner, 2007).

Selain itu, data mining juga di definisikan oleh beberapa ahli seperti Data Mining merupakan proses semi otomatik yang menggunakan teknik statistik, matematika, kecerdasan buatan dana machine learning untuk mengekstraksi dan mengidentifikasi informasi pengetahuan potensial dan berguna yang bermanfaat yang tersimpan dalam database besar (Turban et al, 2005). Data Mining merupakan bidang dari beberapa keilmuan yang menyatukan teknik dari pembelajaran mesin, pengenalan pola, statistik, database, dan visualisasi untuk penanganan permasalahan pengambilan informasi dari database yang besar (Larose, 2006).

Dari pengertian-pengertian di atas, dapat di simpulkan bahwa data mining mewarisi dari banyak bidang ilmu seperti kecerdasan buatan (artificial intellegent), machine learning, statistik, database, dan juga pemerolehan informasi (information retrieval). Dengan kemajuan saat ini, Data Mining bertujuan untuk mendapatkan hubungan atau pola yang mungkin memberikan indikasi yang bermanfaat. Saat ini, hampir semua bidang membutuhkan data mining. Hal ini di karenakan oleh terbatasnya kemampuan manusia untuk menganalisis dan mengolah data.

Istilah KDD (Knowledge Discovery in Database) dan Data Mining seringkali di artikan memiliki definisi yang sama. Padahal sebenarnya ke dua


(27)

istilah tersebut memiliki konsep yang berbeda tapi berhubungan satu sama lain atau memiliki keterkaitan satu sama lain, Data Mining merupakan salah satu tahapan yang terdapat di dalam KDD (Knowledge Discovery in Database). Menurut Jiawei Han dan Kamber, langkah untuk menemukan pengetahuan atau KDD pada data mining adalah sebagai berikut:

Gambar 2.1 Proses KDD (Knowledge Discovery in Database)

Langkah-langkah KDD adalah sebagai berikut: 1. Data Cleaning atau Pembersihan Data

Di dalam tahapan ini, di lakukan penghilangan noise, memeriksa data yang tidak konsisten, membuang duplikasi data dan memperbaiki kesalahan pada data.


(28)

2. Data Integration atau Penggabungan Data

Di dalam tahapan ini di lakukan penggabungan data dari berbagai sumber data yang ada agar mudah di pilih dan di proses nantinya.

3. Data Selection atau Seleksi Data

Di dalam tahapan ini di lakukan pemilihan data yang di butuhkan dalam database dan di gunakan untuk proses analisis.

4. Data Transformation atau Transformasi Data

Di dalam tahapan ini, di lakukan pengubahan dan penggabungan data dari berbagai macam bentuk menjadi satu bentuk yang sama agar mudah di proses.

5. Data Mining atau Penambangan Data

Di dalam tahapan ini, merupakan proses yang sangat penting dimana metode cerdas di lakukan dan di terapkan untuk mengekstrak pola data. 6. Pattern Evaluation atau Evaluasi Pola

Di dalam tahapan ini, melakukan evaluasi terhadap pattern yang telah di proses, aspek-aspek yang di evaluasi adalah hasil output yang di dapat setelah proses data mining dilakukan.

7. Knowledge Presentation atau Presentasi Pengetahuan

Di dalam tahapan ini, di lakukan penyajian hasil dari proses data mining yang sudah di proses.

2.2

Outlier

Meskipun data yang berjumlah besar yang di kumpulkan di banyak ilmu pengetahuan dan aplikasi komersial, peristiwa tertentu yang khusus masih sangat langka terjadi. Peristiwa langka ini, sangat sering di sebut sebagai outlier. Yang di definisikan sebagai peristiwa yang sangat jarang terjadi.

Menurut Hawkins, Outlier adalah kejadian yang menyimpang sangat jauh dari kejadian lainnya yang menimbulkan kecurigaan bahwa hal tersebut terjadi di karenakan oleh mekanisme yang berbeda. Sedangkan menurut Jiawei Han dan Kamber, Outlier adalah sejumlah obyek data yang sifatnya terlalu berbeda


(29)

dari obyek data lain pada umumnya.

Deteksi outlier, baru-baru ini telah mendapatkan perhatian dari berbagai pihak. Karena saat ini outlier bukan hanya di anggap sebagai noise untuk di hilangkan, namun bisa di anggap memiliki informasi yang sama pentingnya dengan data yang lain. Karena bisa saja menurut suatu pihak, suatu kelompok data di anggap sebagai noise namun untuk pihak lain sekelompok data tersebut dianggap sebagai informasi yang sangat berguna. Noise adalah kesalahan atau random error dari sebuah variabel yang terukur.

Gambar 2.2 Obyek pada daerah R adalah outlier.

Deteksi outlier dapat di kategorikan menjadi empat pendekatan menurut Jiawei Han dan Kamber. Yaitu Statistical approach, Distance-based approach, Density-based local outlier approach, dan Deviation-based approach.

2.2.1 Jenis

Outlier

2.2.1.1

Statistical Approach / Statistical Distribution-based Outlier

Detection

Metode Statistik mengasumsikan distribusi atau pemodelan probabilitas untuk satu set data (distribusi normal atau Poisson Distribution) dan kemudian mengidentifikasi outlier sehubungan dengan model yang menggunakan discordancy test. Aplikasi dari kebutuhan pengetahuan dari parameter sejumlah data (seperti di asumsikan sejumlah data yang di distribusikan), pengetahuan tentang parameter(seperti mean dan variance) dan sejumlah outlier


(30)

yang diharapkan.

Sebuah obyek data yang normal yang di hasilkan oleh model statistik (Statistical Approach) dan data yang tidak mengikuti model tersebut adalah outlier. Keefektivan dari metode statistik tergantung pada asumsi apakah yang akan di pakai atau di buat untuk metode statistik yang berlaku untuk sejumlah data yang di berikan. (Han dan Kamber, 2006)

2.2.1.2

Distance-based

Approach

/

Distance-based

Outlier

Detection

Distance-based Outlier Detection ini merupakan salah satu tipe dari Proximity-based Approach yang mana mengasumsikan bahwa proximity dari sebuah outlier pada tetangga terdekatnya secara signifikan menyimpang dari proximity pada obyek untuk sebagian besar obyek pada data set. Pada Distance-based sebuah obyek di sebut sebagai outlier jika neighborhoodnya tidak memiliki titik lain yang cukup.

Gagasan dari distance-based outlier detection adalah untuk mengatasi keterbatasan dari metode statistik. Sebuah obyek o pada sebuah kumpulan data, D adalah Distance-based(DB) outlier dengan parameter pct dan dmin yaitu DB(pct;dmin)-outlier, jika setidaknya fraksi, pct, dari obyek D terletak pada jarak terbesar pada dmin dari o. Dengan kata lain, daripada mengandalkan uji statistik, kita bisa memikirkan distance-based outlier sebagai obyek yang tidak cukup memiliki tetangga, dimana tetangga di definisikan berdasar pada jarak pada obyek yang di berikan. Sebagai perbandingan dengan metode statistik, distance-based outlier detection menggeneralisasikan ide di balik pengujian discordancy untuk berbagai distribusi yang standar. Distance-based outlier detection menghindari perhitungan yang berlebihan


(31)

yang berkaitan dengan distribusi yang cocok ke dalam distribusi standar dan dalam memilih tes discordancy. (Han dan Kamber, 2006)

2.2.1.3

Density-based Local Outlier Approach

Metode Density-based menyelidiki kepadatan dari sebuah obyek dan tetangganya. Sebuah obyek di identifikasi sebagai outlier jika kepadatannya relativ lebih rendah dari tetangganya. Asumsi dari metode Density-based adalah bahwa kepadatan di sekeliling obyek yang bukan outlier mirip dengan kepadatan di sekeliling tetangganya, sedangkan kepadatan di sekeliling obyek outlier adalah signifikan berbeda dari jarak di sekitar tetangganya.

Metode Density-based menggunakan kepadatan relatif dari sebuah obyek terhadap tetangganya untuk menunjukan sejauh mana sebuah obyek disebut sebagai oulier. (Han dan Kamber, 2006)

2.2.1.4

Deviation-based Approach

Metode Deviation-based tidak menggunakan uji statistik atau Distance-based untuk mengidentifikasi obyek yang tidak biasa. Sebaliknya, metode Deviation-based mengidentifikasi outlier dengan memeriksa karakter utama obyek dari sebuah grup. Obyek yang menyimpang atau memiliki karakteristik di luar karakter utama dianggap sebagai outlier. Oleh karena itu, pendekatan deviasi biasanya di gunakan untuk merujuk pada outlier. (Han dan Kamber, 2006)


(32)

2.3

Algoritma

Connectivity-based Outlier Factor

Ide utama dari algoritma Connectivity-based Outlier Factor (COF) adalah untuk menentukan masing-masing record data yang sederajat atau setingkat untuk menjadi outlier. Algoritma Connectivity-based Outlier Factor adalah algoritma pendeteksian outlier dengan pendekatan density based untuk menangani penyimpangan dari low density pattern. Algoritma COF ini merupakan varian dari algoritma LOF (Local Outlier Factor) yang juga menggunakan k-neighborhood. Gagasan dari algoritma Connectivity-based Outlier Factor adalah low density dari isolativity. Low density berarti jumlah obyek pada close neighborhood dari suatu obyek relatif kecil. Sedangkan isolativity berarti derajat atau tingkatan dimana sebuah obyek terkoneksi dengan obyek yang lain.

Record data dengan nilai COF yang tinggi biasanya di sebut strong outlier. Tidak seperti record data dari cluster yang normal yang biasanya cenderung memiliki nilai COF yang lebih rendah.

Algoritma untuk menghitung nilai COF untuk semua record data memiliki langkah-langkah sebagai berikut:

1. Mencari Nk(p) untuk setiap record data p pada k nearest neighbours (k-NN);

2. Mencari set based nearest path (SBN-path) atau s. Di sini, set based nearest path (SBN-path) dari record data p1 pada set Nk (p) adalah urutan record dengan jarak terdekat masing-masing p, s={p1,p2,…,pr}

sehingga untuk semua 1≤ i r −1, pi+1 adalah tetangga terdekat dari {p1,…,pi} pada {pi+1,…,pr}.

3. Mencari set based nearest trail (SBN-trail) atau tr. SBN-trail adalah urutan edge terhadap s atau SBN-path di mana setiap tepi menghubungkan dua tetangga terdekat berturut-turut dari jalur SBN -path. Dapat dinotasikan SBN-trail = {e(1), ..., e(r-1)}.

4. Menghitung Cost Description. Cost Description adalah jarak dari masing-masing edge pada SBN-trail.


(33)

5. Menghitung average chaining distance(ac-dist) dari p1 ke Nk - {p1}, dinotasikan dengan ac-distNk(p)p(p1) dan didefinisikan sebagai:

dimana dist(ei) dinotasikan jarak antara node yang terdiri dari tepi. Average chaining distance dari p1 ke Nk-{p1} adalah jumlah bobot dari cost description sequence dari SBN trail untuk beberapa SBN path dari p1, dan juga dapat dilihat sebagai rata-rata jarak bobot dalam cost description sequence SBN-trail.

6. Hitung connectivity-based outlier factor (COF) pada record data p

sehubungan dengan k- neigbourhood nya menggunakan rumus berikut:

COF dihitung sebagai rasio average chaining distance dari data record p untuk Nk(p) dan average chaining distance pada k-distance neighbors mereka sendiri.

Tabel 2.1 Simbol dan definisi

P Masing-masing record dari suatu set

data

Nk(p) Jumlah tetangga terdekat dari p

SBN-path atau s Jalur dari p ke p(r)

SBN-trail atau tr Urutan dari edge sesuai dengan SBN-path

Cost Desciption Sequence Jarak dari masing-masing edge pada SBN- trail

Average Chaining Distance Rata-rata dari bobot CDS(Cost Description Sequence) pada

SBN-... (1)


(34)

trail

Connectivity-based Outlier Factor Menunjukkan seberapa jauh titik bergeser dari pola.

Perbandingan titik ke titik di sekelilingnya yang mempengaruhi outlier factor

2.4

Contoh Jalannya Algoritma

Di asumsikan terdapat titik yaitu 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2, dan 1. Titik 2 dan titik 1 terletak jauh dari titik lainnya yang berdekatan. Di tentukan bahwa jarak dari titik 1 ke 2 adalah 5 ((dist(1,2) = 5)), jarak dari titik 2 ke titik 7 adalah 3 ((dist(2,7) = 3)), sedangkan jarak dari titik satu ke titik lainnya adalah 1. Di tentukan pula k = 10, r = 11.

1. Mencari Nk(p)

Dari contoh di atas akan di cari Nk(1) terhadap p=1.

Jarak terdekat dari titik 1 adalah 2, 9, 10, 8, 11, 7, 12, 6, 13, 5. Jadi Nk(1) = {2, 9, 10, 8, 11, 7, 12, 6, 13, 5}.

2. Mencari SBN-path

Langkah selanjutnya adalah mencari SBN-path dari titik 1 pada Nk(1) ∪ {1}.

Pada langkah ini, di lakukan penggabungan antara p=1 dengan Nk(1). Perhitungan di lakukan secara berantai dengan ukuran jarak terdekat dari titik tertentu (< p1, p2, ..., pr>).

Dari contoh di atas, jalur atau path dari titik 1, jarak terdekat adalah ke titik 2. Dari titik 2, jarak terdekat adalah titik 7. Dari titik 7, jarak terdekat adalah titik 6. Dari titik 6, jarak terdekat adalah titik 5. Kemudian kembali ke titik 7, titik terdekat dari titik 7 selain titik 6 adalah titik 8. Dari titik 8, jarak terdekat adalah titik 9. Dari titik 9, jarak terdekat adalah titik 10. Dari titik 10, jarak terdekat adalah titik 11. Dari titik 11, jarak terdekat adalah


(35)

titik 12. Dan yang terakhir dari titik 12, jarak terdekat adalah titik 13. Jadi SBN-path atau s1 = <1, 2, 7, 6, 5, 8, 9, 10, 11, 12, 13>.

3. Mencari SBN-trail

Langkah yang berikutnya adalah mencari SBN-trail untuk s1 atau SBN-path terhadap titik 1.

SBN-trail adalah urutan edge terhadap s1 (< dist(e1), ..., dist(er-1)>). Dari jarak titik 1 ke titik 2, titik 2 ke titik 7, titik 7 ke titik 6, titik 6 ke titik 5, titik 7 ke titik 8, titik 8 ke titik 9, titik 9 ke titik 10, titik 10 ke titik 11, titik 11 ke titik 12, dan titik 12 ke titik 13. Jarak dari masing-masing titik tersebut adalah e.

Jadi SBN-trail atau tr1 = < (1,2), (2,7), (7,6), (6,5), (7,8), (8,9), (9,10), (10,11), (11,12), (12,13) >

4. Menghitung Cost Description

Langkah selanjutnya adalah menghitung Cost Description. Cost Description adalah jarak dari masing-masing edge pada SBN- trail.

Pada contoh data di atas sudah di tentukan bahwa jarak dari titik 1 ke 2 adalah 5 ((dist(1,2) = 5)), jarak dari titik 2 ke titik 7 adalah 3 ((dist(2,7) = 3)), sedangkan jarak dari titik satu ke titik lainnya adalah 1. Maka dapat di hitung untuk tr1, dist(1,2) = 5, dist(2,7) = 3, dist(7,6) = 1, dist(6,5) = 1, dist(7,8) = 1, dist(8,9) = 1, dist(9,10) = 1, dist(10,11) = 1, dist(11,12) = 1, dan dist(12,13) = 1.

Maka Cost Desciption atau c1 terhadap tr1 : c1 = < 5, 3, 1, 1, 1, 1, 1, 1, 1, 1 >

5. Menghitung ac-dist atau Average Chaining Distance

Langkah berikutnya yaitu menghitung ac-dist. ac-dist adalah rata-rata dari bobot CDS(Cost Description Sequence) pada SBN-trail.


(36)

ac-dist Nk (1) ∪ {1} 1 =( 2(11-1)*5)/(11(11-1)) + (2(11-2)*3)/(11(11-1)) + (2(11-3)*1)/(11(11-1)) + (2(11-4)*1)/(11(11-1)) + 5)*1)/(11(11-1)) + 6)*1)/(11(11-5)*1)/(11(11-1)) + 7)*1)/(11(11-5)*1)/(11(11-1)) + (2(11-8)*1)/(11(11-1)) + (2(11-9)*1)/(11(11-1)) + (2(11-10)*1)/(11(11-1)) = 2,054545455

6. Menghitung COF (Connectivity-based Outlier Factor)

Langkah selanjutnya adalah menghitung Connectivity-based Outlier Factor (COF).

Jadi COFk(1) = 2,1

Setelah di temukan nilai COF, maka dapat di tentukan bahwa obyek tersebut tergolong outlier atau tidak. Pada contoh di atas, dapat di tentukan bahwa obyek tersebut termasuk outlier dikarenakan nilai COF lebih dari 1.


(37)

17

BAB III

METODOLOGI PENELITIAN

Pada bab ini akan di jelaskan mengenai metodologi penambangan data yang di gunakan dalam penelitian sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor. Metodologi yang di gunakan adalah KDD (Knowledge Discovery in Database) menurut Jiawei Han dan Kamber. Akan di jelaskan pula penerapan dari algoritma Connectivity-based Outlier Factor pada kumpulan data atau data set akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

3.1Data yang dibutuhkan

Data yang di gunakan dalam penelitian ini adalah Data Akademik Mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2007-2008. Data akademik yang di gunakan adalah dari semester satu sampai semester empat. Data ini berasal dari penelitian yang dilakukan oleh Rosa, dkk (2011). Data ini berupa script query yang berisi tabel gudang data dan file ini berformat .sql.

3.2Pengolahan Data

Tahapan pengolahan data untuk data akademik Teknik Informatika Universitas Sanata Dharma adalah sebagai berikut:

1. Data Integration atau Penggabungan Data

Di dalam tahapan ini di lakukan penggabungan data dari berbagai sumber data yang ada agar mudah di pilih dan di proses nantinya. Sumber data yang berupa file .sql (script query) dari penelitian Rosa, dkk (2011) ini kemudian di olah dengan di import ke dalam database dan akan terbuat satu database baru bernama gudangdata. Database gudangdata memiliki sembilan tabel, yaitu tabel dim_angkatan, tabel dim_daftarsmu, tabel dim_fakultas, tabel dim_jeniskel, tabel dim_kabupaten, tabel dim_prodi,


(38)

tabel dim_prodifaks, tabel dim_statustes, dan tabel fact_lengkap2.

Gambar 3.1 Database gudangdata.

2. Data Selection atau Seleksi Data

Setelah dilakukan proses Data Integration atau penggabungan data, selanjutnya di dalam tahapan ini akan di lakukan pemilihan data yang di butuhkan dalam database dan di gunakan untuk proses analisis. Data yang di peroleh dari langkah sebelumnya akan di seleksi sesuai dengan kebutuhan untuk penelitian ini. Tabel yang di gunakan untuk penelitian ini adalah tabel fact_lengkap2. Tabel yang lainnya tidak di gunakan karena di nilai kurang relevan dengan penelitian ini. Di dalam tabel fact_lengkap2 ini terdapat atribut nomor, jumsttb, jummtsttb, jumnem, nomor_mhs, nama_mhs, ips1, ips2, ips3, ips4, nil11, nil12, nil13, nil14, nil15, final, statustes, kd21, kd22, kd23, kd24, kd25, kd26, kd27, kd28, nem, sttb, sk_jeniskel, sk_status, sk_kabupaten, sk_daftarsmu, dan sk_prodi.


(39)

Gambar 3.2 Isi tabel fact_lengkap2

Langkah selanjutnya setelah seleksi tabel adalah menyeleksi data dalam tabel. Data yang akan di gunakan adalah data mahasiswa Teknik Informatika angkatan 2007-2008. Jadi data selain mahasiswa Teknik Informatika akan di hilangkan. Data mahasiswa yang memiliki atribut sk_prodi = 27 (Teknik Informatika) akan di tampilkan.


(40)

Gambar 3.3 Isi tabel fact_lengkap2 untuk mahasiswa Teknik Informatika

Setelah itu, di lakukan seleksi untuk atribut-atribut yang sesuai untuk di gunakan dalam penelitian ini. Akan di lakukan penghilangan atribut-atribut nomor, jumsttb, jummtsttb, jumnem, sttb, sk_jeniskel, sk_status, sk_kabupaten, sk_daftarsmu, dan sk_prodi.

Gambar 3.4 Isi tabel fact_lengkap2 setelah seleksi

3. Data Transformation atau Transformasi Data

Di dalam tahapan ini, di lakukan pengubahan dan penggabungan data dari berbagai macam bentuk menjadi satu bentuk yang sama agar


(41)

mudah di proses. Atribut-atribut yang di gunakan memiliki tipe atau jenis yang berbeda sehingga membutuhkan transformasi data untuk penyeragaman data sehingga datanya dapat lebih mudah untuk di tambang. Contohnya atribut ips1, ips2, ips3, dan ips4 memiliki nilai maksimal 4.00. Untuk atribut nil11, nil12, nil13, nil14, dan nil15 memiliki nilai maksimal 10.00. Sedangkan untuk atribut final memiliki nilai maksimal 100.00.

Karena perbedaan nilai maksimal masing-masing atribut tersebut, maka harus di lakukan pengubahan nilai maksimal. Atribut nil11, nil12, nil13, nil14, nil15, dan final akan di ubah nilai maksimalnya sehingga menjadi satu bentuk dengan atribut ips1, ips2, ips3, dan ips4 yaitu 4.00.

Untuk penggabungan data dari berbagai macam bentuk menjadi satu bentuk yang sama tersebut di gunakan rumus min-max normalization.

Keterangan :

v’ : Nilai yang di cari untuk di normalisasi. v : Nilai yang belum di normalisasi. minA : Nilai minimum dari atribut A. maxA : Nilai maksimum dari atribut A. new_maxA : Nilai maksimum baru dari atribut A. new_minA : Nilai minimum baru dari atribut A.

Contoh perhitungan menggunakan rumus min-max normalization untuk atribut nil11, nil12, nil13, nil14, dan nil15 adalah sebagai berikut. nil11 adalah 8.00. Akan dilakukan transformasi untuk nil11 agar nilai maksimumnya 4.00. Di notasikan v = 8.00, minA = 0.00, maxA = 10.00, new_maxA = 4.00, new_minA = 0.00. Jadi v’ = ((8.00 - 0.00) / (10.00 – 0.00)) * (4.00 - 0.00) + 0.00. v’ = (8 / 10) * 4. v’ = 3.20.

Akan di berikan satu contoh perhitungan dalam tabel untuk atribut ips1, nil11, nil12, nil13, nil14, dan nil15. Atribut nil11, nil12, nil13, nil14,

A A A A A A min new min new max new min max min v

v' ( _  _ ) _

  


(42)

dan nil15 akan di seragamkan nilai maksimumnya adalah 4.00.

Tabel 3.1 Contoh perhitungan min-max normalization untuk atribut

nil11, nil12, nil13, nil14, dan15.

Nomor ips1 nil11 nil12 nil13 nil14 nil15

1. 3.72 8.00 6.00 6.00 7.00 5.00

2. 2.89 6.00 5.00 5.00 7.00 5.00

3. 2.56 6.00 4.00 5.00 7.00 5.00

4. 3.28 7.00 6.00 7.00 6.00 6.00

5. 1.89 6.00 5.00 6.00 6.00 7.00

6. 1.44 10.00 5.00 9.00 6.00 7.00

7. 4.00 6.00 6.00 4.00 4.00 7.00

8. 1.72 3.00 2.00 8.00 3.00 1.00

9. 2.89 5.00 5.00 8.00 5.00 7.00

10. 2.94 7.00 5.00 5.00 5.00 5.00

11. 2.94 6.00 4.00 6.00 3.00 7.00

12. 2.44 5.00 5.00 6.00 5.00 5.00

13. 1.72 7.00 6.00 8.00 8.00 2.00

Tabel 3.2 Setelah di hitung menggunakan rumus min-max

normalization untuk atribut nil11, nil12, nil13, nil14, dan15.

Nomor ips1 nil11 nil12 nil13 nil14 nil15

1. 3.72 3.20 2.40 2.40 2.80 2.00

2. 2.89 2.30 2.00 2.00 2.80 2.00

3. 2.56 2.40 1.60 2.00 2.80 2.00

4. 3.28 2.80 2.40 2.80 2.40 2.40

5. 1.89 2.40 2.00 2.40 2.40 2.80

6. 1.44 4.00 2.00 3.60 2.40 2.80

7. 4.00 2.40 2.40 1.60 1.60 2.80

8. 1.72 1.20 0.80 3.20 1.20 0.40


(43)

10. 2.94 2.80 2.00 2.00 2.00 1.60

11. 2.94 2.40 1.60 2.40 1.20 2.80

12. 2.44 2.00 2.00 2.40 2.00 2.00

13. 1.72 2.80 2.40 3.20 3.20 0.80

Sedangkan untuk contoh perhitungan menggunakan rumus min-max normalization untuk atribut final adalah sebagai berikut. final = 67.80. Akan dilakukan transformasi untuk final agar nilai maksimumnya 4.00. Di notasikan v = 67.80, minA = 0.00, maxA = 100.00, new_maxA = 4.00, new_minA = 0.00. Jadi v’ = ((67.80 - 0.00) / (100.00 – 0.00)) * (4.00 - 0.00) + 0.00. v’ = (67.80 / 100) * 4. v’ = 2.712.

Akan di berikan satu contoh perhitungan dalam tabel untuk atribut ips1, ips2, ips3, ips4, dan final. Atribut final akan di seragamkan nilai maksimumnya adalah 4.00.

Tabel 3.3 Contoh perhitungan min-max normalization untuk atribut

final.

Nomor ips1 ips2 ips3 ips4 Final

1. 2.06 2.32 2.91 3.00 67.80

2. 2.72 2.50 2.96 2.38 67.75

3. 3.33 3.48 3.78 3.48 69.41

4. 2.39 3.00 2.43 2.82 71.60

5. 2.11 2.71 2.43 2.45 73.75

6. 3.00 2.96 2.61 3.29 67.57

7. 3.72 3.56 3.43 3.67 78.67

8. 3.44 3.04 2.88 3.48 71.33

9. 2.17 2.70 3.09 3.63 72.00

10. 3.89 3.75 3.00 3.62 77.00

11. 2.89 3.68 2.88 3.76 72.99


(44)

13. 2.00 2.00 2.29 3.00 77.10

Tabel 3.4 Setelah di hitung menggunakan rumus min-max

normalization untuk atribut final.

Nomor ips1 ips2 ips3 ips4 Final

1. 2.06 2.32 2.91 3.00 2.712

2. 2.72 2.50 2.96 2.38 2.71

3. 3.33 3.48 3.78 3.48 2.7764

4. 2.39 3.00 2.43 2.82 2.864

5. 2.11 2.71 2.43 2.45 2.95

6. 3.00 2.96 2.61 3.29 2.7028

7. 3.72 3.56 3.43 3.67 2.1468

8. 3.44 3.04 2.88 3.48 2.8532

9. 2.17 2.70 3.09 3.63 2.88

10. 3.89 3.75 3.00 3.62 3.08

11. 2.89 3.68 2.88 3.76 2.9196

12. 3.11 3.08 2.78 3.48 2.7268

13. 2.00 2.00 2.29 3.00 3.084

4. Data Mining atau Penambangan Data

Di dalam tahapan ini, merupakan proses yang sangat penting dimana metode cerdas di lakukan dan di terapkan untuk mengekstrak pola data. Data akademik Teknik Informatika angkatan 2007-2008 yang telah di olah, akan di analisis menggunakan algoritma Connectivity-based Outlier Factor. Dalam tahap ini, akan di gunakan beberapa variabel untuk melakukan pengujian. Variabel-variabel yang di gunakan adalah sebagai berikut:

1. Input

Variabel input yang di gunakan di ambil dari tabel ‘fact_lengkap2’ pada database ‘gudangdata’. Variabel-variabel


(45)

tersebut adalah nomor_mhs, nama_mhs, ips1, ips2, ips3, ips4, nil1, nil2, nil3, nil4, nil5, final, statustes, kd21, kd22, kd23, kd24, kd25, kd26, kd27, kd28, dan nem.

2. Output

Variabel output yang di gunakan berupa mahasiswa yang di anggap sebagai outlier setelah di lakukan pendeteksian menggunakan algoritma Connectivity-based Outlier Factor.

Akan di berikan contoh penambangan data menggunakan algoritma Connectivity-based Outlier Factor. Data yang di gunakan adalah sampel mahasiswa Teknik Informatika angkatan 2007-2008 berjumlah 13.

1. Perhitungan data mahasiswa angkatan 2007 pendaftar jalur reguler. Dengan membandingan variabel ips1 dengan nil1, nil2, nil3,nil4, dan nil5.

Gambar 3.5 Contoh Data angkatan 2007 jalur reguler.

Dari data di atas, kemudian di cari jarak perbandingan setiap obyek menggunakan rumus jarak Ecluidian.


(46)

Setelah di hitung jarak, maka tentukan k = 7. Cari 7 jarak paling dekat terhadap obyek p. Setelah mendapat 7 jarak terdekat, kemudian di cari jarak terbesar atau maksimum dari obyek p. Untuk obyek P1 dapat diperoleh jangkauan terbesar adalah 1,7385. Jangkauan terbesar atau maksimum juga di sebut sebagai k-distance.

2. Mencari Nk(p)

Dari contoh di atas akan di cari Nk(P1) terhadap p=P1. Jarak terdekat dari titik P1 adalah P3, P4, P5, P6, P9, P11, P12 Jadi Nk(P1) = { P3, P4, P5, P6, P9, P11, P12}.

3. Mencari SBN-path


(47)

∪ {P1}.

Pada langkah ini, di lakukan penggabungan antara p=P1 dengan Nk(P1). Perhitungan di lakukan secara berantai dengan ukuran jarak terdekat dari titik tertentu (< p1, p2, ..., pr>).

Dari contoh di atas, jalur atau path dari titik P1.

Jadi SBN-path atau s1 = < P1, P12, P4, P3, P11, P9, P5, P6>.

4. Mencari SBN-trail

Langkah yang berikutnya adalah mencari SBN-trail untuk s1 atau SBN-path terhadap titik P1.

SBN-trail adalah urutan edge terhadap s1 (< dist(e1), ..., dist(er-1)>).

Jadi SBN-trail atau tr1 = <

(P1,P12),(P12,P4),(P4,P3),(P3,P11),(P11,P9),(P9,P5),(P5,P6) >

5. Menghitung Cost Description Sequence


(48)

Description Sequence adalah jarak dari masing-masing edge pada SBN- trail.

Maka Cost Desciption Sequence atau c1 terhadap tr1 :

c1 = < 0,9811; 0,1189; 0,0245; 0,1854; 0,0644; 0,2258; 0,1385>

6. Menghitung ac-dist atau Average Chaining Distance

Langkah berikutnya yaitu menghitung ac-dist. ac-dist adalah rata-rata dari bobot CDS(Cost Description Sequence) pada SBN-trail.


(49)

7. Menghitung COF (Connectivity-based Outlier Factor)

Langkah selanjutnya adalah menghitung Connectivity-based Outlier Factor (COF).

Jadi COFk(P1) = 0,966746822

Pada contoh di atas, dapat di tentukan bahwa P1 bukan outlier. Karena nilai COF tidak lebih dari 1.

5. Pattern Evaluation atau Evaluasi Pola

Di dalam tahapan ini, melakukan evaluasi terhadap pattern yang telah di proses, aspek-aspek yang di evaluasi adalah hasil output yang di dapat setelah proses data mining dilakukan.

.

6. Knowledge Presentation atau Presentasi Pengetahuan

Di dalam tahapan ini, di lakukan penyajian hasil dari proses data mining yang sudah di proses. Sehingga dalam tahapan ini akan di buat sebuah sistem berbasis desktop menggunakan bahasa pemrograman java


(50)

30

BAB IV

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan di jelaskan analisis dan perancangan sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor.

6.1Gambaran Umum Sistem

Universitas Sanata Dharma adalah salah satu universitas swasta di Yogyakarta yang setiap tahunnya akan melakukan seleksi penerimaan mahasiswa baru. Terdapat dua jalur seleksi penerimaan mahasiswa baru, yaitu jalur prestasi dan jalur tes tertulis. Untuk jalur prestasi, di gunakan nilai rata-rata kognitif dalam raport kelas XI semester satu dan dua dengan rata-rata nilai minimal 75. Dari nilai rata-rata kognitif tersebut dapat di peroleh nilai final sehingga calon mahasiswa tersebut dapat di tentukan untuk di terima atau tidak di Universitas Sanata Dharma. Sedangkan untuk jalur test tertulis, terdapat lima komponen nilai, yaitu komponen nilai penalaran numerik, komponen nilai penalaran verbal, komponen nilai hubungan ruang, komponen nilai bahasa inggris, dan komponen nilai kemampuan numerik. Dari kelima komponen tersebut akan di rata-rata sehingga dapat menghasilkan nilai final untuk penentuan apakah calon mahasiswa tersebut dapat di terima di Universitas Sanata Dharma.

Setelah di lakukan seleksi penerimaan mahasiswa baru, maka akan di dapat mahasiswa yang di nyatakan di terima di Universitas Sanata Dharma. Para mahasiswa baru ini, akan mengikuti perkuliahan reguler dan setiap akhir semester akan mendapat hasil nilai berupa Indeks Prestasi. Nilai Indeks Prestasi Semester dari mahasiswa tersebut dari semester satu sampai empat akan di gunakan sebagai pembanding dengan nilai masuk mahasiswa tersebut baik jalur tes tertulis maupun jalur prestasi.

Pada akhir semester IV, akan di analisa apakah mahasiswa tersebut layak untuk melanjutkan studi di program studi Teknik Informatika ataukah tidak.


(51)

Apabila seorang mahasiswa memiliki nilai masuk yang bagus, tentunya nilai Indeks Prestasinya juga bagus. Namun tidak menutup kemungkinan terdapat mahasiswa yang memiliki nilai masuk yang bagus tetapi indeks prestasi semesternya jelek dan sebaliknya, hal ini menjadi sesuatu yang menarik untuk di teliti karena berkaitan dengan deteksi outlier.

Sebuah sistem pendekteksi outlier akan di buat untuk mendeteksi kejadian langka tersebut. Sistem ini akan di buat berdasarkan algoritma Connectivity-based Outlier Factor dengan pendekatan density based. Sistem ini di harapkan dapat meneliti mahasiswa-mahasiswa mana saja yang di indikasikan sebagai outlier.

6.1.1 Diagram Use Case

Diagram Use case merupakan suatu model atau pemodelan yang di gunakan untuk menggambarkan kebutuhan fungsional yang di harapkan dari sebuah sistem. Jadi, sebuah sistem terdapat pengguna atau user dan sistem yang berjalan yang saling berinteraksi. Diagram use case beserta penjelasannya akan di jelaskan pada lampiran 1.

Pada diagram use case, terdapat Pengguna atau user yang menggunakan sistem pendeteksian outlier ini. Pengguna dapat melakukan input data yang berupa file Excel atau file berekstensi .csv serta dari database. Pengguna selanjutnya dapat melakukan pencarian outlier. Fungsi utama yang lain adalah pengguna dapat menyimpan hasil pendeteksian outlier. Ketiga fungsi di atas hanya bisa di lakukan secara berurutan karena terdapat depends on, dimana pengguna harus menginputkan data terlebih dahulu, kemudian melakukan proses pencarian outlier, dan selanjutnya menyimpan data hasil pendeteksian.

Fungsi tambahan lain adalah pengguna dapat menyeleksi atribut. Fungsi ini bisa berjalan apabila pengguna telah melakukan salah satu fungsi utama yaitu menginputkan data.


(52)

6.1.2 Narasi Use Case

Untuk mengetahui detail keseluruhan dari narasi use case dapat dilihat pada bagian lampiran 2.

6.2Perancangan Sistem Secara Umum

4.2.1 Input Sistem

Input untuk sistem yang akan di bangun ini berupa data bebas dari user dengan file berekstensi .xls atau file excel. Inputan dapat juga berupa data dalam suatu tabel dalam database. Di dalam sistem yang akan di bangun ini, data dapat berukuran apa saja sehingga user dapat mencari outlier pada semua jenis data.

Inputan untuk mencari outlier dalam sistem ini terdapat dua macam, yaitu:

1. k

k adalah jangkauan atau tetangga terdekat dari obyek p untuk mendefinisikan local neighbourhood.

Berikut ini merupakan rincian data yang akan di gunakan dalam penelitian sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor:

a. Data Hasil Seleksi Masuk Jalur Tes

No. Nama

Atribut

Penjelasan Nilai

1. Nomor urut Atribut ini

merupakan nama alias dari nomor

mahasiswa pada tiap obyek

1-126


(53)

atribut dari komponen nilai tes 1

3. Nil2 Merupakan

atribut dari komponen nilai tes 2

0-4.00

4. Nil3 Merupakan

atribut dari komponen nilai tes 3

0-4.00

5. Nil4 Merupakan

atribut dari komponen nilai tes 4

0-4.00

6. Nil5 Merupakan

atribut dari komponen nilai tes 5

0-4.00

b. Data Hasil Seleksi Masuk Jalur Prestasi

No. Nama

Atribut

Penjelasan Nilai

1. Nomor urut Atribut ini

merupakan nama alias dari nomor

mahasiswa pada tiap obyek

1-126


(54)

atribut nilai dari rata-rata nilai kognitif pada rapor

c. Data Hasil Seleksi Masuk (Gabung)

No. Nama

Atribut

Penjelasan Nilai

1. Nomor urut Atribut ini

merupakan nama alias dari nomor

mahasiswa pada tiap obyek

1-126

2. Ips1 Merupakan

atribut nilai dari Indeks Prestasi mahasiswa semester 1

0-4.00

3. Ips2 Merupakan

atribut nilai dari Indeks Prestasi mahasiswa semester 2

0-4.00

4. Ips3 Merupakan

atribut nilai dari Indeks Prestasi mahasiswa semester 3

0-4.00


(55)

atribut nilai dari Indeks Prestasi mahasiswa semester 4

6. Final Merupakan

atribut nilai dari rata-rata nilai kognitif pada rapor

0-4.00

4.2.2 Proses Sistem

Proses sistem deteksi outlier adalah sebagai berikut: 1. Pengambilan Data

Pada tahap ini, user dapat melakukan pengambilan data dengan memasukan data yang berekstensi .xls dan .csv. Selain itu, user dapat mengambil data pada tabel dalam database. Setelah itu akan di tampilkan atribut-atribut yang di gunakan, kemudian user akan memilih atau menyeleksi atribut-atribut yang sekiranya di perlukan dalam proses pendeteksian outlier.

2. Perhitungan Jarak Obyek Data

Pada tahap ini akan di lakukan perhitungan jarak antar obyek menggunakan rumus Euclidean Distance. Perhitungan ini di lakukan agar di dapatkan jarak masing-masing obyek dengan obyek lainnya. 3. Pencarian Outlier Berdasarkan Parameter k

Pada tahap ini akan di lakukan pendeteksian outlier menggunakan algoritma Connectivity-based Outlier Factor. Akan di masukan parameter k, dimana parameter k digunakan untuk mengetahui tetangga terdekat dari suatu obyek.


(56)

Start

Data bertipe .xls Data bertipe

.csv Data dari tabel

database

Pilih seleksi atribut

Proses Seleksi Atribut

Input nilai parameter k

Proses pendeteksian

Outlier

Hasil Pendektesian

Outlier

End

Ya

Tidak

Gambar 4.1 Proses umum Sistem Deteksi Outlier Menggunakan Algoritma


(57)

4.2.3 Output Sistem

Output pada sistem ini adalah sebagai berikut: 1. Jumlah Data

Sistem akan menampilkan keseluruhan data sesuai dengan inputan dari user.

2. Hasil Outlier

Setelah di lakukan pendeteksian outlier, maka akan di temukan data yang di indikasikan sebagai outlier. Data yang di indikasikan atau berpotensi menjadi outlier adalah data yang memiliki derajat COF lebih dari 1 atau menjauhi 1. Akan di tampilkan pula ranking atau peringkat dari data dengan derajat COF yang paling tinggi ke yang paling rendah.

6.3Perancangan Sistem

6.3.1 Diagram Aktivitas

Diagram aktivitas merupakan representasi grafis dari gambaran dari seluruh tahapan alur kerja dari sistem yang dirancang.

1. Diagram Aktivitas Input Data File yang Berekstensi .xls 2. Diagram Aktivitas Input Data File yang Berekstensi .csv 3. Diagram Aktivitas Input Data File dari Tabel pada Database 4. Diagram Aktivitas Proses Deteksi Outlier

5. Diagram Aktivitas Simpan Hasil Deteksi Outlier 6. Diagram Aktivitas Seleksi Atribut

7. Diagram Aktivitas Seleksi Atribut dengan Pilihan Tandai Semua Atribut

Penjelasan dari masing-masing diagram aktivitas akan di jelaskan pada bagian lampiran 3.


(58)

6.3.2 Diagram Kelas Analisis

user

Home HomePage

PilihDataBase PilihFile

Graph Vertex

CofTableModel DataCof CheckBoxTable

Model SeleksiAtributControl DataControl

About

Help

PilihTabel

KoneksiDataBase

Gambar 4.2 Diagram Kelas Analisis Sistem Deteksi Outlier Menggunakan


(59)

Tabel 4.1 Tabel Penjelasan dari Diagram Kelas Analisis

No Nama Kelas Jenis Keterangan

1. KoneksiDataBase Entity Kelas ini di

gunakan untuk menghubungan sistem dengan database yang di perlukan dalam sistem.

2. Vertex Entity Kelas ini di

gunakan untuk membentuk sebuah vertex dalam graph. Di dalam kelas

vertex ini

terdapat atribut-atribut

perhitungan outlier.

3. Graph Entity Kelas ini di

gunakan untuk membentuk sebuah graph. Di dalam kelas ini juga terdapat method-method untuk


(60)

outlier.

4. CheckBoxTableModel Entity Kelas ini di

gunakan untuk membentuk sebuah table model.

5. DataCof Entity Kelas ini di

gunakan untuk menyimpan hasil deteksi outlier.

6. CofTableModel Enitity Kelas ini di

gunakan untuk membentuk sebuah tabel model dari hasil outlier yang telah di simpan.

7. DataControl Controller Kelas ini di

gunakan untuk mengatur

koneksi database dengan sistem dan berisi query untuk

menampilkan

tabel dari

database.

8. SeleksiAtributControl Controller Kelas ini di gunakan untuk menyimpan


(61)

atribut yang di pakai dalam perhitungan outlier.

9. HomePage Boundary Kelas ini di

gunakan untuk menampilkan tampilan saat sistem pertama kali di jalankan.

10. Home Boundary Kelas ini di

gunakan untuk menampilkan fungsi-fungsi

utama dari

sistem serta tahap

prepocessing

data dan

perhitungan outlier.

11. PilihDataBase Boundary Kelas ini di

gunakan untuk memilih

database yang akan di gunakan dalam

perhitungan selanjutnya.


(62)

gunakan untuk memilih tabel dari database yang telah di pilih

sebelumnya.

13. PilihFile Boundary Kelas ini di

gunakan untuk memilih file yang akan di gunakan dalam perhitungan outlier.

14. About Boundary Kelas ini di

gunakan untuk menampilkan halaman

informasi dari sistem deteksi ini.

15. Help Boundary Kelas ini di

gunakan untuk menampilkan halaman bantuan petunjuk

pemakaian sistem.


(63)

4.3.3 Diagram Sequence

Berikut merupakan Diagram Sequence yang terdapat pada sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor:

1. Diagram Sequence Input Data File yang Berekstensi .xls 2. Diagram Sequence Input Data File yang Berekstensi .csv 3. Diagram Sequence Input Data File dari Tabel pada Database 4. Diagram Sequence Proses Deteksi Outlier

5. Diagram Sequence Simpan Hasil Deteksi Outlier 6. Diagram Sequence Seleksi Atribut

Penjelasan dari masing-masing diagram sequence akan di jelaskan pada bagian lampiran 4.

4.3.4 Diagram Kelas Desain

Diagram kelas desain merupakan diagram yang menunjukan daftar tiap-tiap kelas yang nantinya akan di gunakan dalam pembuatan sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor. Diagram kelas ini memuat semua kelas beserta dengan atribut-atributnya.


(64)

<Boundary> HomePage <Boundary> Home <Boundary> Halaman PilihFile <Boundary> Halaman PilihDataBase <Boundary> Halaman PilihTabel <Controller> DataControl <Entity> KoneksiDataBase <Controller> SeleksiAtributContr ol <Entity> CheckBoxTableMod el <entity> Graph <entity> Vertex <entity> CofTableModel <entity> DatCof <Boundary> Halaman About <Boundary> Halaman Help <Boundary> Halaman Prepocessing <Boundary> Halaman Deteksi Outlier memanggil memanggil memanggil memanggil memanggil memanggil memiliki memanggil memanggil memanggil memanggil memanggil memanggil memanggil memanggil memanggil 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...* 1...* 1...*

Gambar 4.3 Diagram Kelas Desain Sistem Deteksi Outlier Menggunakan

Algoritma Connectivity-based Outlier Factor.

Penjelasan mengenai masing-masing kelas beserta dengan atribut dan method yang di gunakan akan di jelaskan pada lampiran 5.

4.3.5 Rincian Algoritma Setiap Method pada Tiap Kelas

1. Rincian Algoritma pada Setiap Method pada kelas KoneksiDataBase

Nama Method Fungsi

Method

Algoritma Method

getDBConnectionOracle(Stri ng, String, String)

Mendapatka n nilai dari username, password, dan url dari

1. Membuat obyek dari

OracleDataSource. 2. Mengeset nilai url


(65)

hasil

inputan user untuk

melakukan koneksi ke database Oracle.

yang telah di buat. 3. Mengambil nilai

userId dan

password

4. Jika benar, maka mengembalikan nilai connection dan berhasil terkoneksi dengan databaseOracle. getDBConnectionSql(String,

String, String)

Mendapatka n nilai dari username, password, dan url dari hasil

inputan user untuk melakukan koneksi ke database MySql.

1. Membuat koneksi ke database MySql dengan mengeset nilai connection dengan parameter url, userid, dan password.

2. Jika benar, maka mengembalikan nilai connection dan berhasil terkoneksi dengan database MySql. isConnectedSql(String, String, String) Melakukan pengecekan apakah sistem sudah terkoneksi dengan

1. Memanggil method

getDBConnectio nSql dengan parameter

inputan user, password, dan


(66)

database MySql.

url yang telah di masukan oleh user

2. Apabila nilai parameter

tersebut tidak kosong, maka akan

mengembalikan nilai true.

3. Apabila nilai parameter

kosong, maka akan mengembalikan nilai false. isConnectedOracle(String, String, String) Melakukan pengecekan apakah sistem sudah terkoneksi dengan database Oracle. 1. Memanggil method getDBConnection Oracle dengan parameter inputan

user, password, dan url yang telah di masukan oleh

user

2. Apabila nilai parameter

tersebut tidak kosong, maka akan


(67)

nilai true.

3. Apabila nilai parameter

kosong, maka akan

mengembalikan nilai false.

close() Di gunakan

untuk memutus koneksi database dengan sistem.

1. Memanggil method getConn, apabila sudah tidak terhubung maka panggil method close untuk menutup koneksi.

2. Rincian Algoritma pada Setiap Method pada kelas Graph

Nama Method Fungsi

Method

Algoritma Method

addVertex(String, List<Double>) Membuat sebuah vertex untuk membentuk graph.

1. Membaca parameter label dan nilai. 2. Mendeklarasikan

sebuah vertex baru dengan memasukan nilai label dan nilai ke dalam vertex. addEdge(int, int, Double) Mengisi

tiap-tiap nilai edge pada vertex

1. Membaca nilai parameter start, end, dan weight.


(68)

yang telah di buat.

parameter ke dalam variabel adjMat untuk mengisi nilai edge. calculateEcluidianDistanc

e(int, int)

Menghitun g jarak dari edge

1.Membaca parameter array1 dan array2. 2. Membuat obyek x dan obyek y untuk menampung nilai dari array1 dan array2. 3. Mengeset nilai sum = 0.0.

4. Selama nilai i kurang dari jumlah data x, maka akan di lakukan perhitungan sum = sum + Math.pow((x.get(i) - y.get(i)), 2.0).

5. Mengembalikan nilai sum.

show() Menampilk

an sebuah graph yang telah di buat.

1. Selama nilai i kurang dari panjang vertexList, maka akan ditampilkan label dari vertex tersebut.

2. Selama nilai i kurang dari panjang adjMat, maka akan

di tampilkan

perhitungan jarak Euclidian Distance.

inputData() Menginputk

an data dari

1. Selama i kurang dari jumlah baris pada tabel,


(1)

69 1.3810341537497743 22 32 1.3790945242488513 23 117 1.3692040435623558 24 13 1.348895739659388 25 20 1.343360516122804 26 27 1.3182467970128182 27 16 1.314194847584169 28 103 1.314084146729988 29 98 1.3072440681958706 30 53 1.3034410931057692 31 7 1.2890924603005889 32 122 1.2810246762285404 33 40 1.2645344894307076 34 88 1.2553958475044185 35 38 1.2467547051015189 36 83 1.2355466387319514 37 66 1.2313802524400166 38 56 1.2291784746888592 39 118 1.2217049954847745 40 60 1.2014876205804417 41 73 1.1953562313701027 42 64 1.1886414251457704 43 30 1.1833125583443065 44 23 1.1761398935556802 45 109 1.1690119602741837 46 34 1.1670846257635559 47 57 1.1594307571655007 48 29 1.1401306102982907 49 77 1.1301922150028958 50 52 1.1297576772934397 51


(2)

51 1.1237495775086843 52 65 1.117971210913309 53 63 1.1148618880827723 54 76 1.1134582374682127 55 62 1.1080411558454546 56 35 1.1067287012248739 57 79 1.1050725629193865 58 25 1.0984334101215294 59 96 1.098338975607813 60 116 1.09587367955084 61 10 1.0865673523181958 62 48 1.0841160124411433 63 71 1.0635508827645521 64 113 1.0634836131885232 65 44 1.0586195961862344 66 21 1.0529749203008933 67 45 1.052411974814464 68 111 1.0490565623367 69 47 1.0431565422367386 70 39 1.0330519057416108 71 33 1.0311571416855294 72 105 1.0303859150151644 73 5 1.0268282516373413 74 24 1.021570793442945 75 59 1.0155161368851378 76 61 1.0155161368851378 77 54 1.0036847891616594 78 87 1.0028098086691961 79


(3)

d. Tabel hasil deteksi outlier untuk nilai COF > 1 pada semester 4.

Nomor COF Ranking

68 2.7390195706755187 1 67 2.7255598567276156 2 47 2.616900025776196 3 46 2.3669455176141687 4 28 2.2194548539730428 5 107 1.9210890628463315 6 72 1.9201808776659055 7 88 1.7697182971917773 8 39 1.7286602667217925 9 58 1.6683113402871936 10 27 1.6507221644058203 11 74 1.6481061217651916 12 89 1.6362631574143693 13 38 1.6282490467162052 14 122 1.57902430520144 15 34 1.5172363773894924 16 36 1.5047490689007463 17 94 1.4877389878659257 18 55 1.4349691121488792 19 37 1.3976641716783564 20 22 1.387271437975527 21 7 1.3693284306738942 22 86 1.365771237725453 23 98 1.3509168695651559 24 23 1.3505119959503091 25 69 1.343317599191091 26 73 1.321927571411158 27 49 1.3024795099659807 28


(4)

11 1.2751472048813643 29 53 1.2750358257528682 30 79 1.2699148268285385 31 103 1.2649918429548153 32 92 1.2601920289576585 33 26 1.2566860198299405 34 81 1.2506944252064771 35 60 1.2407632340880266 36 66 1.2383819899871868 37 21 1.2362109716208574 38 64 1.2205960337933304 39 109 1.220128268253438 40 95 1.1979691311379388 41 41 1.1965874781440344 42 65 1.1920432814657023 43 10 1.1839754227750534 44 76 1.1788503383240072 45 51 1.1766701459876412 46 111 1.1739172137216753 47 20 1.1667455188646563 48 87 1.1579118007381726 49 40 1.153280104427295 50 61 1.1515526553910314 51 13 1.145688954872342 52 5 1.1361913240857406 53 25 1.1319421775018588 54 63 1.1250925415156225 55 30 1.1143777360622331 56 31 1.1117918155862547 57 32 1.10110475893607 58


(5)

83 1.0977888609995998 59 91 1.0968883324274241 60 118 1.0907771566499802 61 57 1.088218643023109 62 29 1.085832730802608 63 106 1.0693622513092376 64 82 1.0686915111504756 65 16 1.0666793006190436 66 52 1.0627157624898225 67 78 1.05850924556727 68 124 1.0463371781575816 69 45 1.0384388647303178 70 35 1.030685711473849 71 117 1.0243432035561146 72 96 1.0218118763196171 73 15 1.0206717948126507 74 71 1.012951567097062 75 9 1.008489455375546 76 44 1.0017496716179919 77 24 1.0014945312275971 78


(6)

Dokumen yang terkait

Deteksi outlier menggunakan Algoritma Local Correlation Integral (LOCI) : studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

0 0 258

Deteksi outlier menggunakan Algoritma Local Outlier Probability : studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma.

0 5 265

Deteksi Outlier menggunakan algoritma Block-Based Nested-Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma.

0 2 202

Deteksi Outlier menggunakan algoritma Naive Nested Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika, Universitas Sanata Dharma, Yogyakarta.

2 3 236

Deteksi outlier menggunakan Algoritma Connectivity Based Outlier Factor studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

1 8 250

Deteksi outlier menggunakan Algoritma Local Outlier Probability studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

1 9 263

Deteksi Outlier menggunakan algoritma Block Based Nested Loop studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

0 1 200

Deteksi outlier menggunakan Algoritma Local Correlation Integral (LOCI) studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

0 4 256

Deteksi outlier menggunakan algoritma local outlier factor : studi kasus data akademik mahasiswa TI Universitas Sanata Dharma - USD Repository

0 0 241

Deteksi Outlier menggunakan algoritma Naive Nested Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika, Universitas Sanata Dharma, Yogyakarta - USD Repository

0 0 234