deteksi outlier menggunakan algoritma · data mining (penambangan data) adalah suatu proses untuk...

256
DETEKSI OUTLIER MENGGUNAKAN ALGORITMA LOCAL CORRELATION INTEGRAL (STUDI KASUS: DATA AKADEMIK MAHASISWA TEKNIK INFORMATIKA UNIVERSITAS SANATA DHARMA) Skripsi Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer (S.Kom) Program Studi Teknik Informatika Disusun Oleh: Felisitas Brillianti 105314013 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2014 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 12-Jan-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

DETEKSI OUTLIER MENGGUNAKAN ALGORITMA

LOCAL CORRELATION INTEGRAL

(STUDI KASUS: DATA AKADEMIK MAHASISWA

TEKNIK INFORMATIKA UNIVERSITAS SANATA

DHARMA)

Skripsi

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer (S.Kom)

Program Studi Teknik Informatika

Disusun Oleh:

Felisitas Brillianti

105314013

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2014

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

i

OUTLIER DETECTION USING

LOCAL CORRELATION INTEGRAL ALGORITHM

(STUDY CASE: ACADEMIC DATA OF STUDENTS OF

INFORMATICS ENGINEERING STUDY PROGRAM

SANATA DHARMA UNIVERSITY)

A Thesis

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Komputer Degree (S.Kom)

In Informatics Engineering Study Program

By:

Felisitas Brillianti

105314013

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2014

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

ii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

iv

HALAMAN PERSEMBAHAN

“Bagi manusia hal ini tidak mungkin,

tetapi bagi Allah segala sesuatu mungkin”

(Matius 19:26)

~NO PAIN NO GAIN~

Terimakasih untuk doa, dukungan, dan semangat serta

bantuan yang kalian berikan baik disaat suka maupun duka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

v

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

Felisitas Brillianti

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

vi

ABSTRAK

Data mining (penambangan data) adalah suatu proses untuk menemukan

suatu pengetahuan atau informasi yang berguna dari data berskala besar. Sering

juga disebut sebagai bagian proses KDD (Knowledge Discovery in Databases)

(Santosa, 2007).

Deteksi outlier merupakan salah satu bidang penelitian yang penting dalam

mendeteksi perilaku yang tidak normal seperti deteksi mahasiswa yang nilai tes

masuk universitasnya bagus tetapi pada saat kuliah mahasiswa tersebut mendapat

nilai rendah.

Penelitian ini menggunakan algoritma Local Correlation Integral dengan

teknik density-based. Data diambil dari data akademik Mahasiswa Program Studi

Teknik Informatika Universitas Sanata Dharma angkatan 2007 dan 2008 yang

meliputi nilai tes masuk dan nilai IPS semester 1-4.

Algoritma Local Correlation Integral (LOCI) merupakan salah satu

algoritma yang memiliki kemampuan untuk mendeteksi outlier dalam sekumpulan

data. Mendeteksi outlier dilakukan untuk menemukan data yang tidak konsisten

dengan data lainnya. Data dianggap tidak konsisten (outlier) apabila data tersebut

tidak memiliki tingkat kemiripan dengan data lainnya (Han & Kamber, 2006).

Algoritma Local Correlation Integral (LOCI) dapat diimplementasikan pada

sekumpulan data numerik untuk mendeteksi adanya outlier dengan pendekatan

density-based.

Hasil dari penelitian ini adalah sebuah perangkat lunak yang dapat

digunakan untuk mendeteksi outlier. Pengujian terhadap sistem ini meliputi tiga

metode pengujian, yaitu pengujian Blackbox, pengujian efek perubahan nilai atribut

terhadap hasil deteksi outlier, dan pengujian reviewer dan validitas pengguna.

Hasil pengujian dari ketiga jenis data tersebut dapat disimpulkan bahwa

sistem pendeteksi outlier ini dapat menghasilkan output yang sesuai dengan yang

diharapkan oleh pengguna.

Kata kunci: Penambangan Data, Local Correlation Integral, deteksi outlier.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

vii

ABSTRACT

Mining data is a process to discover a useful knowledge or information from

grand data. It is often said as part of the KDD (Knowledge Discovery in Databases)

process. (Santosa, 2007)

The outlier detection is one of the important researches in detecting the

abnormal behavior namely detecting the students who have good marks in the

university entrance test but after they join in the lecturing they get low marks.

This research uses the Local Correlation Integral algorithm in density-based

technique. The data is taken from the academic data of the students of Sanata

Dharma University, in Informatics Engineering Study Program, year 2007 and 2008

consisting the marks of the entrance test and the marks of Social Study semester 1

– 4.

The Local Correlation Integral Algorithm (LOCI) is one the algorithms that

has ability to detect outlier in a group of data. Detecting outlier is done to discover

the inconsistent data with the other data. Data is considered inconsistent (outlier) if

the data do not have the grade of similarity to the other data (Han & Kamber, 2006).

The Local Correlation Integral (LOCI) algorithm can be implemented in a group of

numeric data to detect the existence of the outlier with density-based approach.

The result of this research is a set of software which can be used to detect

outlier. The test of this system comprises 3 testing methods, namely The Blackbox

testing, the testing of the change of attribute value toward the result of outlier

detecting, and the testing of reviewer and the validity of the user.

The test results of the three types of data we can conclude that this outlier

detection system can generate output as expected by the user.

Keywords: data mining, Local Correlation Integral, outlier detection.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

viii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma

Nama : Felisitas Brillianti

Nomor Mahasiswa : 105314013

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul:

DETEKSI OUTLIER MENGGUNAKAN ALGORITMA

LOCAL CORRELATION INTEGRAL

(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 royalty kepada saya selama tetap mencantumkan nama saya sebagai

penulis.

Demikian pernyataan ini saya buat dengan sebenarnya

Dibuat di Yogyakarta

Pada tanggal: 14 Januari 2015

Yang menyatakan,

(Felisitas Brillianti)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

ix

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yesus Kristus, atas segala berkat dan karunia

sehingga penulis dapat menyelesaikan penelitian tugas akhir dengan judul “Deteksi

Outlier Menggunakan Algoritma Local Correlation Integral (Studi Kasus: Data

Akademik Mahasiswa Teknik Informatika Universitas Sanata Dharma)” dengan

baik. Tugas ini ditulis sebagai salah satu syarat memperoleh gelar sarjana komputer

program studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas

Sanata Dharma.

Penelitian ini tidak dapat berjalan dengan baik tanpa adanya dukungan,

semangat, motivasi dan bantuan dalam bentuk apapun yang telah diberikan oleh

banyak pihak. Untuk itu penulis mengucapkan terimakasih yang sebesar-besarnya

kepada:

1. Tuhan Yesus Kristus, Bunda Maria, dan Santa Felisitas yang telah

memberikan anugerah sehingga penulis dapat menyelesaikan tugas akhir

ini.

2. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas

Sains dan Teknologi.

3. Ibu Ridowati Gunawan, S.Kom., M.T. selaku Ketua Program Studi

Teknik Informatika dan dosen pembimbing yang telah dengan sabar

membimbing dan memberikan kesabaran, waktu, kebaikan, dan

motivasi.

4. Bapak Albertus Agung Hadhiatma, M.T. dan Ibu Sri Hartati Wijono

S.Si., M.Kom. selaku dosen penguji atas kritik dan saran yang telah

diberikan.

5. Ibu Agnes Maria Polina S.Kom., M.Sc. selaku Dosen Pembimbing

Akademik.

6. Seluruh dosen yang mendidik dan memberikan ilmu pengetahuan

berharga selama penulis belajar di Universitas Sanata Dharma

Yogyakarta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

x

7. Pihak sekretariat dan laboran yang turut membantu penulis dalam

menyelesaikan tugas akhir ini.

8. Kedua orang tua tercinta Drs. Gregorius Suwarto dan Bernardia

Kristiyanti. Terimakasih untuk setiap doa, kasih sayang, perhatian, dan

dukungan yang selalu diberikan kepada saya.

9. Kedua saudara teryoi Stefanus Dandy dan Andreas Handyanta.

Terimakasih untuk dukungan yang selalu diberikan kepada saya.

10. Ari Auditianto S.T, Daniel Tomi Raharjo S.Kom, Agustinus Dwi Budi D

S.Kom dan Valentinus Fetha Eka Saputra. Super big thanks untuk segala

bantuan yang selalu diberikan kepada saya.

11. Kedua rekan kerja skripsi ini, Yustina Ayu Ruwidati dan Erlita

Octaviani. Terimakasih telah saling berbagi ilmu serta suka duka dari

awal hingga akhir penyelesaian skripsi ini.

12. Verena Pratita Adji, Fidelis Asterina Surya Prasetya, Ria Riska

Topurmera, Hevea Forestta Perangin Angin, Novia Hillary Panjaitan,

dan Ajeng Arsita Ambarwati. Terimakasih untuk persahabatan serta

dukungan kalian.

13. Benedictus Resta Viandri, Martinus Betty Praditya, Afra Raras Santika,

Rosalia Megasari, dan Christina Mega Citraningtyas terimakasih untuk

hura-huranya.

14. Lufy, Mintul†, dan Ucek terimakasih atas kebersamaannya saat suka

maupun duka.

15. Seluruh teman-teman kuliah Teknik Informatika 2010 (HMPS),

terimakasih untuk kebersamaan kita selama menjalani masa perkuliahan.

16. Pihak-pihak lain yang telah membantu penulis dalam menyelesaikan

tugas akhir ini, yang tidak dapat disebutkan satu per satu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xi

Penelitian tugas akhir ini masih memiliki banyak kekurangan. Untuk itu

penulis sangat membutuhkan kritik dan saran untuk perbaikan dimasa yang akan

datang. Semoga penelitian tugas akhir ini dapat membawa manfaat bagi semua

pihak.

Yogyakarta, 14 Januari 2015

Felisitas Brillianti

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xii

DAFTAR ISI

Halaman Judul

Halaman Judul (Bahasa Inggris) ............................................................. i

Halaman Persetujuan ............................................................................... ii

Halaman Pengesahan .............................................................................. iii

Halaman Persembahan ............................................................................ iv

Halaman Pernyataan................................................................................ v

Abstrak ................................................................................ vi

Abstract ................................................................................ vii

Halaman Persetujuan Publikasi Karya Ilmiah......................................... viii

Kata Pengantar ................................................................................ ix

Daftar Isi ................................................................................ xii

BAB I PENDAHULUAN ................................................................ 1

1.1 Latar Belakang Masalah ....................................................... 1

1.2 Rumusan Masalah ................................................................ 2

1.3 Batasan Masalah ................................................................... 3

1.4 Tujuan Penelitian.................................................................. 3

1.5 Manfaat Penelitian................................................................ 3

1.6 Metodologi Penelitian .......................................................... 3

1.7 Sistematika Penulisan ........................................................... 4

BAB II LANDASAN TEORI ........................................................... 6

2.1 Data Mining.......................................................................... 6

2.1.1 Pengertian Data Mining ......................................... 6

2.1.2 Fungsi Data Mining ............................................... 9

2.2 Outlier Detection .................................................................. 10

2.2.1 Pengertian Outlier .................................................. 10

2.2.2 Jenis Pendekatan Outlier ........................................ 11

2.2.2.1 Statistik Based .......................................... 11

2.2.2.2 Distance Based ........................................ 11

2.2.2.3 Density Based .......................................... 12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xiii

2.2.2.4 Deviation Based ....................................... 13

2.3 Algoritma Local Correlation Integral (LOCI) .................... 13

2.3.1 Multi-Granuality Deviation Factor (MDEF) ......... 13

2.3.2 Metode Local Correlation Integral (LOCI)........... 16

2.4 Contoh Jalannya Algoritma ................................... 19

BAB III METODOLOGI PENELITIAN ........................................... 25

3.1 Data yang Dibutuhkan .......................................................... 25

3.2 Pengolahan Data ................................................................. 25

3.2.1 Penggabungan Data (Data Integration) .................. 25

3.2.2 Seleksi Data (Data Selection) ................................ 26

3.2.3 Transformasi Data (Data Transformation) ............. 27

3.2.4 Penambangan Data (Data Mining) ......................... 32

3.2.5 Evaluasi Pola (Pattern Evaluation) ........................ 33

3.2.6 Presentasi Pengetahuan (Knowledge Presentation) 33

BAB IV ANALISA DAN PERANCANGAN SISTEM .................... 35

4.1 Identifikasi Sistem ................................................................ 35

4.1.1 Diagram Use Case ................................................. 36

4.1.2 Narasi Use Case ..................................................... 37

4.2 Perancangan Sistem Secara Umum ...................................... 37

4.2.1 Input Sistem ........................................................... 37

4.2.2 Proses Sistem ......................................................... 39

4.2.3 Output Sistem ......................................................... 40

4.3 Perancangan Sistem.............................................................. 40

4.3.1 Diagram Aktivitas .................................................. 40

4.3.2 Diagram Kelas Analisis ......................................... 41

4.3.3 Diagram Sequence ................................................. 43

4.3.4 Diagram Kelas Desain ........................................... 43

4.3.5 Rincian Algoritma Setiap Method Pada Tiap Kelas 44

4.4 Perancangan Struktur Data ................................................... 65

4.4.1 Graf ................................................................. 65

4.4.2 Matriks Dua Dimensi ............................................. 66

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xiv

4.5 Perancangan Antarmuka ...................................................... 67

4.5.1 Tampilan Halaman Awal ....................................... 67

4.5.2 Tampilan Halaman Utama ..................................... 67

4.5.3 Tampilan Halaman Bantuan ................................... 70

4.5.4 Tampilan Halaman Tentang ................................... 71

4.5.5 Tampilan Menu Keluar .......................................... 72

4.5.6 Tampilan Halaman Pilih File ................................. 72

4.5.7 Tampilan Halaman Pilih Database ......................... 73

4.5.8 Tampilan Halaman Pilih Tabel .............................. 74

BAB V IMPLEMENTASI SISTEM ................................................. 75

5.1 Impelementasi Antarmuka ................................................... 75

5.1.1 Implementasi Halaman Awal ................................. 75

5.1.2 Implementasi Halaman Utama ............................... 76

5.1.3 Implementasi Halaman Pilih Database .................. 80

5.1.4 Implementasi Halaman Tampil Tabel .................... 81

5.1.5 Implementasi Halaman Bantuan ............................ 83

5.1.6 Implementasi Halaman Tentang ............................ 83

5.1.7 Implementasi Halaman Konfirmasi Keluar ........... 84

5.1.8 Implementasi Pengecekan Masukan ...................... 85

5.2 Implementasi Struktur Data ................................................. 88

5.2.1 Implementasi Kelas Graph.java ............................. 88

5.2.2 Implementasi Kelas Verteks.java ........................... 89

5.3 Implementasi Kelas .............................................................. 90

BAB VI PENGUJIAN DAN ANALISA PENGUJIAN ..................... 91

6.1 Rencana Pengujian ............................................................... 91

6.1.1 Hasil Pengujian Blackbox ...................................... 93

6.1.1.1 Pengujian Input Data ............................... 93

6.1.1.2 Pengujian Koneksi Database ................... 94

6.1.1.3 Pengujian Halaman Pilih Tabel ............... 96

6.1.1.4 Pengujian Seleksi Atribut ........................ 96

6.1.1.5 Pengujian Deteksi Outlier ........................ 97

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xv

6.1.1.6 Pengujian Simpan Hasil Deteksi Outlier . 99

6.1.2 Kesimpulan Hasil Pengujian Blacbox .................... 100

6.1.3 Hasil Pengujian Efek Perubahan Nilai Atribut Penambangan

Data ................................................................. 100

6.1.3.1 Pengujian Dengan Data Mahasiswa Teknik

Informatika Angkatan 2007 dan 2008 Jalur Tes

Tertulis ..................................................... 100

6.1.3.2 Pengujian Dengan Data Mahasiswa Teknik

Informatika Angkatan 2007 dan 2008 Jalur Prestasi

................................................................. 101

6.1.3.3 Pengujian Dengan Data Mahasiswa Teknik

Informatika Angkatan 2007 dan 2008 Jalur Tes

Tertulis dan Jalur Prestasi ........................ 101

6.1.4 Kesimpulan Hasil Pengujian Efek Perubahan Nilai Atribut

Penambangan Data ................................................. 102

6.1.5 Hasil Pengujian Review dan Validitas Pengguna .. 102

6.1.5.1 Perbandingan Perhitungan Manual dan Hasil Sistem

................................................................. 102

6.1.5.2 Kesimpulan Hasil Perbandingan Perhitungan

Manual dengan Perhitungan Sistem ........ 104

6.1.5.3 Hasil Deteksi dari Sistem untuk Pengujian Review

dan Validitas oleh Pengguna .................... 104

6.1.5.4 Kesimpulan Hasil Pengujian Review dan Validitas

oleh Pengguna .......................................... 107

6.2 Kelebihan dan Kekurangan Sistem ...................................... 112

6.2.1 Kelebihan Sistem ................................................... 112

6.2.2 Kekurangan Sistem ................................................ 112

BAB VIII KESIMPULAN DAN SARAN ............................................ 113

7.1 Kesimpulan ................................................................. 113

7.2 Saran ................................................................. 113

DAFTAR PUSTAKA ................................................................. 114

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xvi

LAMPIRAN 1 Diagram Use Case ................................................. 115

LAMPIRAN 2 Deskripsi Use Case ................................................ 116

LAMPIRAN 3 Narasi Use Case ..................................................... 118

LAMPIRAN 4 Diagram Proses Umum Sistem .............................. 126

LAMPIRAN 5 Diagram Aktivitas .................................................. 127

LAMPIRAN 6 Diagram Kelas Analisis ......................................... 132

LAMPIRAN 7 Diagram Sequence .................................................. 133

LAMPIRAN 8 Diagram Kelas Desain ........................................... 138

LAMPIRAN 9 Diagram Kelas........................................................ 139

LAMPIRAN 10 Listing Program...................................................... 152

LAMPIRAN 11 Outlier Plot ............................................................. 230

LAMPIRAN 12 Data Nilai Mahasiswa Angkatan 2007 dan 2008 ... 236

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xvii

DAFTAR GAMBAR

Gambar 2.1 Proses KDD ................................................................. 7

Gambar 2.2 Dataset dengan Outlier .................................................... 10

Gambar 2.3 Definisi dari n dan n̂ ........................................................ 14

Gambar 3.1 Database “gudangdata” ................................................... 26

Gambar 3.2 Isi tabel “fact_lengkap” ................................................... 27

Gambar 4.1 Ilustrasi Struktur Data Graf ............................................. 65

Gambar 4.2 Tampilan Halaman Utama ............................................... 67

Gambar 4.3 Tampilan Halaman Utama Tab Preprosesing .................. 68

Gambar 4.4 Tampilan Halaman Utama Tab Deteksi Outlier .............. 69

Gambar 4.5 Tampilan Halaman Bantuan ............................................ 70

Gambar 4.6 Tampilan Halaman Tentang ............................................ 71

Gambar 4.7 Tampilan Menu Keluar.................................................... 72

Gambar 4.8 Tampilan Halaman Pilih File........................................... 72

Gambar 4.9 Tampilan Halaman Pilih Database .................................. 73

Gambar 4.10 Tampilan Halaman Pilih Tabel ........................................ 74

Gambar 5.1 Antarmuka Halaman Awal .............................................. 76

Gambar 5.2 Kotak Dialog saat memilih File ....................................... 77

Gambar 5.3 Antarmuka Halaman Utama (data file .xls tertampil) ..... 78

Gambar 5.4 Kotak Seleksi Atribut ...................................................... 78

Gambar 5.5 Proses Deteksi Outlier ..................................................... 79

Gambar 5.6 Tampilan Hasil Outlier .................................................... 79

Gambar 5.7 Tampilan Save Dialog ..................................................... 79

Gambar 5.8 Pesan Ketika Proses Penyimpanan Hasil Outlier Berhasil Dilakukan

......................................................................................... 80

Gambar 5.9 Antarmuka Halaman Pilih Database ............................... 80

Gambar 5.10 Antarmuka Halaman Pilih Database (Setelah Pengguna memilih

Database .......................................................................... 81

Gambar 5.11 Pesan Koneksi Berhasil ................................................... 81

Gambar 5.12 Antarmuka Halaman Tampil Tabel ................................. 82

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xviii

Gambar 5.13 Hasil Input Data dari Database ........................................ 82

Gambar 5.14 Antarmuka Halaman Bantuan ......................................... 83

Gambar 5.15 Antarmuka Halaman Tentang .......................................... 84

Gambar 5.16 Antarmuka Halaman Konfirmasi Keluar ......................... 84

Gambar 5.17 Error Handling (1) ........................................................... 85

Gambar 5.18 Error Handling (2) ........................................................... 85

Gambar 5.19 Error Handling (3) ........................................................... 86

Gambar 5.20 Error Handling (4) ........................................................... 86

Gambar 5.21 Error Handling (5) ........................................................... 86

Gambar 5.22 Error Handling (6) ........................................................... 87

Gambar 5.23 Error Handling (7) ........................................................... 87

Gambar 5.24 Error Handling (8) ........................................................... 87

Gambar 2.25 Error Handling (9) ........................................................... 88

Gambar 2.26 Error Handling (10) ......................................................... 88

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xix

DAFTAR TABEL

Tabel 2.1 Simbol dan Definisi .............................................................. 15

Tabel 2.2 Data 13 Mahasiswa .............................................................. 19

Tabel 2.3 Jumlah r-neighbors dari pi ................................................... 20

Tabel 2.4 Jumlah r-neighbors dari pi................................................. 21

Tabel 3.1 Contoh atribut sebelum dinormalisasi .................................. 28

Tabel 3.2 Contoh atribut setelah dinormalisasi .................................... 29

Tabel 3.3 Contoh atribut sebelum dinormalisasi .................................. 31

Tabel 3.4 Contoh atribut setelah dinormalisasi .................................... 32

Tabel 4.1 Tabel Keterangan Diagram Analisis .................................... 41

Tabel 4.2 Ilustrasi Struktur Data Matriks Dua Dimensi ....................... 66

Tabel 4.3 Ilustrasi Struktur Data Matriks Dia Dimensi Setelah Dilakukan

Perhitungan Jarak antar Vertex ............................................. 66

Tabel 5.1 Tabel Implementasi Kelas .................................................... 90

Tabel 6.1 Tabel Rencana Pengujian ..................................................... 92

Tabel 6.2 Tabel Pengujian Input Data .................................................. 93

Tabel 6.3 Tabel Pengujian Koneksi Database ...................................... 94

Tabel 6.4 Tabel Pengujian Halaman Tampil Tabel .............................. 96

Tabel 6.5 Tabel Pengujian Seleksi Atribut ........................................... 96

Tabel 6.6 Tabel Pengujian Deteksi Outlier .......................................... 97

Tabel 6.7 Tabel Pengujian Simpan Hasil Deteksi Outlier.................... 99

Tabel 6.8 Tabel Jumlah Outlier Mahasiswa Teknik Informatika Angkatan 2007

dan 2008 Jalur Tes Tertulis Semester 1 dengan Nilai Radius yang

berubah-ubah dan Nilai Alpha = 0.5 .................................... 100

Tabel 6.9 Tabel Jumlah Outlier Mahasiswa Teknik Informatika Angkatan 2007

dan 2008 Jalur Prestasi Semester 1 dengan Nilai Radius yang berubah-

ubah dan Nilai Alpha = 0.5 .................................................. 101

Tabel 6.10 Tabel Jumlah Outlier Mahasiswa Teknik Informatika Angkatan 2007

dan 2008 Jalur Tes Tertulis dan Prestasi Semester 1 dengan Nilai

Radius yang berubah-ubah dan Nilai Alpha = 0.5 ............... 101

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

xx

Tabel 6.11 Tabel Data Set untuk Perbandingan Manual dan Sistem ..... 103

Tabel 6.12 Tabel Perbandingan Hasil Deteksi Outlier Mahasiswa Angkatan 2007

Jalur Tes ............................................................................... 104

Tabel 6.13 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Tes Tertulis 105

Tabel 6.14 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Prestasi... 106

Tabel 6.15 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Test dan Prestasi

.............................................................................................. 106

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Di era globalisasi pendidikan merupakan salah satu kebutuhan manusia

sehingga tidak dapat dipisahkan dari kehidupan sehari-hari. Penelitian dalam

bidang pendidikan menggunakan teknik penambangan data yang telah banyak

dilakukan saat ini. Penambangan data dalam bidang pendidikan berguna

untuk mengembangkan sebuah metode untuk menemukan keunikan dari

sebuah data yang berasal dari sistem pendidikan tersebut, dan menggunakan

metode tersebut untuk lebih memahami mahasiswa, sehingga dapat dibuat

sistem yang sesuai.

Deteksi outlier merupakan salah satu bidang penelitian yang penting

dalam mendeteksi perilaku yang tidak normal seperti deteksi nilai mahasiswa

yang nilai tes masuk universitasnya bagus tetapi pada saat kuliah mahasiswa

tersebut mendapat nilai yang rendah bahkan di keluarkan. Bermacam-macam

metode telah dikembangkan baik berdasarkan teknik seperti distance-based,

clustering-based, dan density-based.

Universitas merupakan sebuah lembaga yang dirancang untuk

pengajaran mahasiswa dibawah pengawasan dosen. Universitas Sanata

Dharma merupakan sebuah lembaga pendidikan yang memiliki banyak data.

Nilai akademik mahasiswa merupakan salah satu dari data yang di miliki

Universitas Sanata Dharma. Nilai tersebut meliputi nilai tes masuk (PMB) dan

nilai pada setiap semester. Untuk dapat menjadi mahasiswa Universitas

Sanata Dharma, seorang calon mahasiswa harus mengikuti tes masuk. Dengan

nilai tes masuk tersebut seseorang akan ditentukan apakah dapat menjadi

mahasiswa atau tidak.

Setiap semester IV akan dilakukan evaluasi sisip program. Mahasiswa

yang nilainya tidak mencapai batas tuntas akan di keluarkan (DO), tetapi jika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

2

mahasiswa tersebut nilainya diatas batas tuntas maka mahasiswa tersebut

dipertahankan dan dapat melanjutkan ke semester V.

Dalam penambangan data teknik untuk mengenali outlier dikenal

dengan istilah Deteksi Outlier. Sebuah sumber data atau dataset pada

umumnya mempunyai nilai-nilai pada setiap obyek yang tidak terlalu berbeda

jauh dengan obyek lain. Akan tetapi terkadang pada data tersebut juga

ditemukan obyek-obyek yang mempunyai nilai atau sifat atau karakteristik

yang berbeda dibandingkan dengan obyek pada umumnya.

Deteksi oulier adalah suatu teknik untuk mencari obyek dimana obyek

tersebut mempunyai perilaku yang berbeda dibandingkan obyek-obyek pada

umumnya. Teknik data mining dapat digunakan untuk mendeteksi adanya

suatu outlier pada sebuah dataset. Teknik data mining yang digunakan adalah

Clustering-based, Distance-based dan Density-based.

Algoritma Local Correlation Integral (LOCI) merupakan salah satu

algoritma yang memiliki kemampuan untuk mendeteksi outlier dalam

sekumpulan data. Mendeteksi outlier dilakukan untuk menemukan data yang

tidak konsisten dengan data lainnya. Data dianggap tidak konsisten (outlier)

apabila data tersebut tidak memiliki tingkat kemiripan yang sesuai dengan

data lainnya (Han & Kamber, 2006). Algoritma Local Correlation Integral

(LOCI) dapat diimplementasikan pada sekumpulan data numerik untuk

mendeteksi adanya outlier dengan pendekatan density-based.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, rumusan masalah dari penelitian ini

adalah

1. Bagaimana algoritma Local Correlation Integral (LOCI) dapat

mendeteksi outlier dari data nilai akademik mahasiswa?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

3

1.3 Batasan Masalah

Batasan masalah pada penelitian ini adalah:

1. Algoritma yang dipakai adalah algoritma Local Correlation Integral

(LOCI) dengan pendekatan density-based.

2. Data yang digunakan adalah data akademik mahasiswa Teknik

Informatika Universitas Sanata Dharma Yogyakarta tahun angkatan 2007-

2008.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk menerapkan algoritma Local

Correlation Integral (LOCI) ke dalam sebuah sistem untuk mendeteksi

outlier dari data akademik mahasiswa Teknik Informatika Universitas Sanata

Dharma Yogyakarta.

1.5 Manfaat Penelitian

Manfaat dari penelitian ini adalah sebagai berikut:

1. Menambah wawasan tentang Algoritma Local Correlation Integral dalam

mendeteksi outlier.

2. Membantu pihak program studi dalam mendeteksi outlier pada data

akademik mahasiswa.

1.6 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah metode KDD

(Knowledge Discovery in Database).

1. Pembersihan Data (Data Cleaning).

Proses membersihkan data yang tidak konsisten atau yang mengganggu.

Proses Data Cleanning mencakup antara lain membuang duplikasi data,

memeriksa data yang tidak konsisten, dan memperbaiki kesalahan pada

data.

2. Penggabungan Data (Data Integration)

Proses menggabungkan data dari berbagai sumber.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

4

3. Seleksi Data (Data Selection)

Proses menyeleksi data yang relevan. Data yang tidak sesuai akan

dihilangkan.

4. Transformasi Data (Data Transformation)

Data yang sudah di seleksi selanjutnya di transformasikan ke dalam

bentuk yang sesuai untuk ditambang.

5. Penambangan Data (Data Mining)

Proses mengekstrak informasi atau pengetahuan dari data dalam jumlah

yang besar. Dalam penelitian ini, metode yang digunakan adalah metode

analisis outlier dengan menggunakan pendekatan density based.

Algoritma yang digunakan adalah Local Correlation Integral (LOCI).

6. Evaluasi Pola (Pattern Evaluation)

Proses mengidentifikasi apakah pola atau informasi yang ditemykan

sesuai fakta atau hipotesa yang ada sebelumnya.

7. Presentasi Pengetahuan (Knowledge Presentation)

Proses merepresentasikan pola kepada pengguna ke dalam bentuk yang

mudah dimengerti.

1.7 Sistematika Penulisan

Dalam penyusunan proposal tugas akhir ini penulis membagi dalam

beberapa bab yaitu:

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang secara umum, rumusan

masalah, batasan masalah, tujuan penelitian, manfaat penelitian,

metodologi penelitian, dan sistematika penelitian secara

keseluruhan.

BAB II LANDASAN TEORI

Bab ini berisi tentang landasan teori dalam menyelesaikan

penelitian ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

5

BAB III METODOLOGI PENELITIAN

Bab ini berisi tentang metode yang digunakan untuk

menyelesaikan tugas akhir ini, yaitu menggunakan metode

Knowledge Discovery in Database (KDD).

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang identifikasi sistem, perancangan sistem

secara umum, perancangan sistem, perancangan struktur data,

dan perancangan antarmuka yang akan dibuat.

BAB V IMPLEMENTASI SISTEM

Bab ini berisi tentang implementasi sistem deteksi outlier

menggunakan algoritma Local Correlation Integral yang terdiri

dari implementasi antarmuka, implementasi pengecekan

masukan, implementasi struktur data dan implementasi kelas

serta analisis dari masing-masing tampilan program.

BAB VI PENGUJIAN DAN ANALISIS PENGUJIAN

Bab ini berisi tentang tahap pengembangan sistem pendeteksi

outlier menggunakan algorotma Local Correlation Integral yaitu

pengujian blackbox beserta kesimpulannya dan juga pengujian

review dan validitas pengguna beserta kesimpulannya.

BAB VII KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran dari penulis tugas

akhir mengenai penelitian yang dilakukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

6

BAB II

LANDASAN TEORI

2.1 Data Mining

2.1.1 Pengertian Data Mining

Data mining adalah suatu istilah yang digunakan untuk

menemukan pengetahuan yang tersembunyi di dalam database. Data

mining merupakan proses semi otomatik yang menggunakan teknik

statistik, matematika, kecerdasan buatan, dan machine learning untuk

mengekstraksi dan mengidentifikasi informasi pengetahuan potensial

dan berguna yang bermanfaat yang tersimpan didalam database besar.

(Turban et al, 2005).

Teknik data mining digunakan untuk memeriksa basis data

berukuran besar sebagai cara untuk menemukan pola yang baru dan

berguna. Tidak semua pekerjaan pencarian informasi dinyatakan

sebagai data mining.

Beberapa pengertian data mining dari beberapa referensi:

1. Data mining adalah mencocokkan data dalam suatu model untuk

menemukan informasi yang tersembunyi dalam basis data

(Dunham, 2002)

2. Data mining merupakan proses menemukan pola-pola didalam

data, dimana proses penemuan tersebut dilakukan secaa otomatis

atau semi otomatis dan pola-pola yang ditemukan harus

bermanfaat (Fayyad, Piatetsky-Shapiro, & Smyth, 1996)

3. Data mining atau Knowledge Discovery in Database (KDD)

adalah pengambilan informasi yang tersembunyi, dimana

informasi tersebut sebelumnya tidak dikenal dan berpotensi

bermafaat. Proses ini meliputi sejumlah pendekatan teknik yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

7

berbeda, seperti clustering, data summarization, learning

clasification rules (Dunham, 2002)

Data mining adalah sebuah bagian yang sangat penting dalam

proses KDD (Knowledge Discovery in Database). Knowledge

Discovery in Databases (KDD) merupakan sekumpulan proses untuk

menentukan pengetahuan yang bermanfaat dari data.

Gambar 2.1 adalah proses KDD menurut Jiawei Han dan

Micheline Kamber:

Gambar 2.1 Proses KDD

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

8

Proses KDD terdiri dari langkah-langkah dibawah ini:

1. Pembersihan Data (Data Cleaning).

Proses membersihkan data yang tidak konsisten atau yang

mengganggu. Proses Data Cleanning mencakup antara lain

membuang duplikasi data, memeriksa data yang tidak konsisten,

dan memperbaiki kesalahan pada data.

2. Penggabungan Data (Data Integration)

Proses menggabungkan data dari berbagai sumber.

3. Seleksi Data (Data Selection).

Proses menyeleksi data yang relevan. Data yang tidak sesuai akan

dihilangkan.

4. Transformasi Data (Data Transformation)

Data yang sudah di seleksi selanjutnya di transformasikan ke

dalam bentuk yang sesuai untuk ditambang.

5. Penambangan Data (Data Mining)

Proses mengekstrak informasi atau pengetahuan dari data dalam

jumlah yang besar. Dalam penelitian ini, metode yang digunakan

adalah metode analisis outlier dengan menggunakan pendekatan

density based. Algoritma yang digunakan adalah Local

Correlation Integral (LOCI).

6. Evaluasi Pola (Pattern Evaluation)

Proses mengidentifikasi apakah pola atau informasi yang

ditemukan sesuai fakta atau hipotesa yang ada sebelumnya.

7. Presentasi Pengetahuan (Knowledge Presentation)

Proses merepresentasikan pola kepada pengguna ke dalam bentuk

yang mudah dimengerti.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

9

2.1.2 Fungsi Data Mining

Berikut fungsionalitas dan tipe data pola yang dapat ditemukan

dengan data mining (Han & Kamber, 2006)

a. Deskripsi konsep: Karakterisasi dan diskriminasi.

Generalisasi, rangkuman, dan karaktiristik data kontras. Data

dapat diasosiasikan dengan suatu kelas atau konsep.

b. Analis Asosiasi (korelasi dan hubungan sebab akibat)

Analisis asosiasi adalah pencarian aturan-aturan asosiasi yang

menunjukkan kondisi-kondisi nilai atribut yang sering terjadi

bersama-sama dalam sekumpulan data. Biasanya digunakan

untuk menganalisa data transaksi.

c. Klasifikasi dan Prediksi

Klasifikasi adalah proses menemukan model (fungsi) yang

menjelaskan dan membedakan kelas-kelas atau konsep, dengan

tujuan agar model yang diperoleh dapat digunakan untuk

memprediksikan kelas atau objek yang memiliki label kelas tidak

diketahui. Model yang diturunkan didasarkan pada analisis dari

training data (yaitu objek data yang memiliki label kelas yang

diketahui).

d. Analisis Cluster (analisis pengelompokan)

Tidak seperti klasifikasi dan prediksi, yang menganalisis objek

data yang diberi label kelas, clustering menganalisis objek data

dimana label kelas tidak diketahui. Clustering dapat digunakan

untuk menentukan label kelas yang tidak diketahui dengan cara

mengelompokkan data untuk membentuk kelas baru. Prinsip

dalam clustering adalah memaksimalkan kemiripan intra-class

dan meminimumkan kemiripan interclass.

e. Analisis Outlier

Outlier merupakan objek data yang tidak mengikuti perilaku

umum dari data, outlier dapat dianggap sebagai noise atau

pengecualian. Analisis data outlier dinamakan outlier mining.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

10

Teknik ini berguna dalam fraud detection dan rare events

analysis.

f. Analisis Trend dan Evolusi

Analisis evolusi data menjelaskan dan memodelkan trend dari

objek yang memiliki perilaku yang berubah setiap waktu. Teknik

ini dapat meliputi karakterisasi, diskriminasi, asosiasi, klasifikasi,

atau clustering dari data yang berkaitan dengan waktu.

2.2 Outlier Detection

2.2.1 Pengertian Outlier

Outlier adalah sehimpunan data yang dianggap memiliki sifat

yang berbeda dibandingkan dengan kebanyakan data lainnya. (Han &

Kamber, 2006) Analis outlier dikenal juga dengan analisis anomali atau

deteksi anomali (Atastina). Deteksi outlier adalah suatu teknik untuk

mencari obyek yang mempunyai perilaku yang berbeda dari obyek-

obyek lain. Teknik data mining dapat digunakan untuk mendeteksi

adanya suatu anomali pada sebuah dataset. Dataset dengan outlier

dipaparkan pada gambar 2.2

Gambar 2.2 Dataset dengan Outlier

Outlier biasanya dianggap sebagai objek atau data yang

jumlahnya sangat kecil jika dibandingkan dengan data normal lainnya,

misalnya probabilitas kemunculannya satu dari seribu data, tetapi bila

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

11

menjadi seribu jika data sudah berjumlah satu juta. Dengan demikian,

deteksi outlier pada data yang menyimpang merupakan pekerjaan yang

penting untuk berbagai keperluan dalam data mining (Prasetyo).

Beberapa metode yang dapat digunakan untuk pendeteksian

outlier adalah Statistik Based, Distance Based, Density Based, dan

Deviation Based.

2.2.2 Jenis Pendekatan Outlier

2.2.2.1 Statistik Based

Cara yang paling sederhana adalah cara statistik. Perlu

dilakukan perhitungan rata-rata dan standar deviasi. Kemudian

berdasarkan nilai tersebut dibuat fungsi threshold berpotensi

untuk dinyatakan sebagai outlier.

Kelebihan dan kekurangan Statistik Based:

1. Jika pengetahuan data cukup (jenis distribusi data dan jenis

uji yang diperlukan), maka pendekatan statistik akan sangat

efektif).

2. Umumnya sulit menemukan fungsi distribusi dan jenis uji

yang tepat untuk data.

3. Kebanyakan uji hanya cocok untuk single atribut.

4. Sulit untuk menentukan fungsi distribusi dan uji yang tepat

untuk data berdimensi tinggi.

2.2.2.2 Distance Based

Sebuah metode pencarian outlier yang populer dengan

menghitung jarak pada obyek tetangga terdekat (nearest

neighbor). Dalam pendekatan ini, satu obyek melihat obyek-

obyek local neihgborhood yang didefinisikan dengan k-

nearest neighbor. Jika ketertetanggan antar obyek relatif dekat

maka dikatakan obyek tersebut normal, akan tetapi jika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

12

ketertetanggan antar obyek relatif sangat jauh maka dikatakan

obyek tersebut tidak normal (Hendriyadi, 2009).

Kelebihan dan kekurangan Distance Based:

1. Pendekatannya cukup sederhana.

2. Basisdata yang besar akan memakan biaya yang besar.

3. Sangat tergantung pada nilai parameter yang dipilih.

4. Waktu proses mendeteksi outlier dan hasil deteksi kurang

akurat dibandingkan dengan metode Density-Based

(Hendriyadi, 2009)

2.2.2.3 Density Based

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 satu parameter yaitu MinPts, dimana MinPts

adalah jumlah tetangga terdekat yang digunakan untuk

mendefinisikan local neighborhood suatu obyek. MinPts

diasumsikan sebagai jangkauan dari nilai MinPtsLB dan

MinPtsUB. Nilai MinPtsLB dan MinPtsUB disarankan

bernilai 10 dan 20. Akhirnya semua obyek dalam dataset

dihitung nilai LOFnya (Hendriyadi, 2009).

Kelebihan dan kekurangan Density Based:

1. Dapat digunakan untuk data yang kepadatannya berbeda.

2. Namun pemilihan parameter juga menjadi satu penentuan

yang kuat dalam menentukan nilai kepadatan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

13

3. Tanpa LOF objek yang berada pada cluster yang berbeda

dapat dianggap outlier juga.

2.2.2.4 Deviation Based

Metode deviation based tidak menggunakan 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 & Kamber, 2006).

2.3 Algoritma Local Correlation Integral (LOCI)

2.3.1 Multi-Granularity Deviation Factor (MDEF)

Multi-granuality deviation factor (MDEF), adalah ukuran untuk

mengukur outlier-ness suatu objek pada lingkungannya (neighborhood)

(Peter Cabens, 1998). Sedangkan 𝑀𝐷𝐸𝐹 adalah normalisasi standar

deviasi dari MDEF.

Untuk setiap objek pi, r dan mendefinisikan Multi-granulality

deviation factor (MDEF) pada radius r sebagai berikut:

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝑎) = �̂�(𝑝𝑖, 𝑟,) − 𝑛(𝑝𝑖,𝑟)

�̂�(𝑝𝑖, 𝑟,)= 1 −

𝑛(𝑝𝑖,𝑟)

�̂�(𝑝𝑖,, 𝑟)

r-neighborhood untuk object pi selalu mengandung pi. Ini berarti

�̂�(𝑝𝑖, 𝑟,) > 0 sehingga kuantitas diatas selalu di definisikan. Untuk

perhitungan lebih cepat dari MDEF, kadang-kadang harus

memperkirakan 𝑛(𝑝𝑖,𝑟) dan �̂�(𝑝𝑖, 𝑟,).

r-neighborhood adalah neighborhood pada radius r, dimana

masing-masing 𝑛(𝑝,𝑟) diperkirakan. Sampling neighborhood (atau r-

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

14

neighborhood) adalah neighborhood radius r, dimana mengumpulkan

sample 𝑛(𝑝,𝑟) untuk memperkirakan �̂�(𝑝𝑖, 𝑟,).

Ide pokok deteksi outlier bergantung pada standar deviasi dari

jumlah r-neighborhood atas neighborhood dari pi.

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼) = 𝑛̂ (𝑝𝑖, 𝑟,)

𝑛 (𝑝𝑖, 𝑟,)

Gambar 2.3 Definisi dari n dan n̂

Definisi dari n dan n̂ dipaparkan pada gambar 2.3. Ilustrasi untuk

definisi dari n dan n̂ misalnya 𝑛(𝑝𝑖, 𝑟) = 4, 𝑛(𝑝𝑖,𝑟) = 1, 𝑛(𝑝1,𝑟) =

6, dan �̂�(𝑝𝑖, 𝑟,) =(1+6+5+1)

4= 3.25

Dimana:

1. 𝑛(𝑝𝑖, 𝑟) merupakan jumlah r-neighbors dari pi.

2. 𝑛(𝑝𝑖,𝑟) merupakan jumlah r-neighbors dari pi.

3. �̂�(𝑝𝑖, 𝑟,) merupakan rata-rata dari 𝑛(𝑝,𝑟) pada r-neighbors dari

pi (Spiros Papadimitriou, 2003).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

15

Setiap objek dapat dikatakan sebagai outlier dengan berdasarkan

formula berikut:

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟,) > 𝑘 𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼)

Tabel 2.1 merupakan tabel yang berisi simbol yang digunakan algoritma

Local Correlation Integral untuk mendeteksi outlier.

Tabel 2.1 Simbol dan Definisi

Simbol Definisi

𝑝𝑖

Kumpulan Objek P = {p1,….,pi…..pN}.

N Jumlah data (|P| N).

𝑑(𝑝𝑖, 𝑝𝑗) Jarak antara pi dan pj.

𝑛(𝑝𝑖, 𝑟) Jumlah r-neighbors dari pi.

𝑛(𝑝𝑖,𝑟) Jumlah r-neighbors dari pi.

n̂(𝑝𝑖, 𝑟,)

Rata-rata dari 𝑛(𝑝,𝑟) pada r-neighbors dari pi,

n̂(𝑝𝑖, 𝑟,) ∑ 𝑛(𝑝,𝑟)𝑝𝑁(𝑝𝑖,𝑟)

𝑛(𝑝𝑖, 𝑟)

n̂(𝑝𝑖, 𝑟,) Standar deviasi dari 𝑛(𝑝,𝑟) pada r-neighbors.

n̂(𝑝𝑖, 𝑟,) √∑ (𝑛(𝑝,𝑟) − n̂(𝑝𝑖 , 𝑟,))2𝑝𝑁(𝑝𝑖,𝑟)

𝑛(𝑝𝑖, 𝑟)

𝑀𝐷𝐸𝐹(𝑝𝑖 , 𝑟,) Multi-granuality deviation factor untuk pi pada radius r.

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼) Standar deviasi multi-granuality deviation factor.

𝑘 𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟,) > 𝑘 𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼)

𝑘 = 3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

16

2.3.2 Metode Local Correlation Integral (LOCI)

Penelitian ini menggunakan algoritma Local Correlation Integral

(LOCI), ide utama dari LOCI adalah menandai objek sebagai outlier

jika di kepadatan lokal (local density) antara neighboors cukup besar.

Untuk mendeteksi bahwa relative deviasi dari average local

neighborhood density diperoleh. Penyimpangan ini disebut multi-

granularity-deviation factor (MDEF). Algoritma LOCI dalam

mendeteksi outlier menghitung nilai MDEF dan nilai MDEF untuk

semua objek. Kemudian LOCI akan menandai suatu objek sebagai

outlier jika nilai nilai MDEF lebih besar tiga kali lipat dari nilai MDEF

untuk radius yang sama (Peter Cabens, 1998). Algoritma ini diusulkan

dalam (Spiros Papadimitriou, 2003). Algoritma LOCI tidak mempunyai

parameter penting seperti k.

Objek yang dinyatakan sebagai outlier adalah objek yang

memiliki nilai MDEF mendekati 1. Tujuannya adalah untuk ditandai

sebagai outlier jika rasio diantara MDEF dan MDEF melebihi

konstanta yang diusulkan menjadi 3 (Amer, 2011)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

17

Langkah –langkah untuk menemukan outlier dideskripsikan sebagai

berikut:

1. Menentukan jarak antar objek.

Untuk menentukan jarak antar objek menggunakan rumus

euclidean distance.

√∑(𝑋𝑎 − 𝑋𝑏)2𝑛̂

𝑎=1

2. Menghitung jumlah r-neighbors dari pi.

Jumlah tetangga yang jaraknya kurang dari sama dengan r.

3. Menghitung jumlah r-neighbors dari pi.

Jumlah tetangga yang jaraknya kurang dari sama dengan r.

4. Menghitung rata-rata dari n(p, r) pada r-neighbors dari pi.

n̂(𝑝𝑖, 𝑟,) ∑ 𝑛(𝑝,𝑟)𝑝𝑁(𝑝𝑖,𝑟)

𝑛(𝑝𝑖, 𝑟)

5. Menghitung standar deviasi dari n(p, r) pada r-neighbors.

n̂(𝑝𝑖, 𝑟,) √∑ (𝑛(𝑝,𝑟) − n̂(𝑝𝑖, 𝑟,))2𝑝𝑁(𝑝𝑖,𝑟)

𝑛(𝑝𝑖, 𝑟)

6. Menghitung Multy-granuality deviation factor untuk pi pada

radius r.

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝑎) = �̂�(𝑝𝑖, 𝑟,) − 𝑛(𝑝𝑖,𝑟)

�̂�(𝑝𝑖, 𝑟,)= 1 −

𝑛(𝑝𝑖,𝑟)

�̂�(𝑝𝑖,, 𝑟)

7. Menghitung standar deviasi Multy-granuality deviation factor.

𝑀𝐷𝐸𝐹(𝑝𝑖 , 𝑟, 𝛼) = 𝑛̂ (𝑝𝑖, 𝑟,)

𝑛 (𝑝𝑖, 𝑟,)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

18

8. Menghitung LOCI.

𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟,) > 𝑘 𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼)

Outlier memiliki nilai MDEF mendekati 1. Tujuannya adalah

sebagai outlier jika rasio antara MDEF dan MDEF melebihi konstanta

yang diusulkan dalam publikasi asli menjadi 3. Berikut adalah

implementasi dari algoritma Local Correlation Integral:

// Pre-processing

Foreach pi

Perform a range-search

For Ni = {p | d(pi, p) ≤ rmax}

From Ni, construct a sorted list Di

Of the critical and -critical distances of pi

// Post-processing

Foreach pi :

For each radius r Di (ascending):

Update n(pi, r) and n̂(pi, r, )

From n and n̂, compute

MDEF(pi, r, α) and MDEF(pi, r, α)

If MDEF(pi, r, α) > 3MDEF(pi, r, α)

flag pi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

19

2.4 Contoh Jalannya Algoritma

Misalnya sebuah database memiliki sebuah objek dan dilambangkan

sebagai P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, dan P13. Dari objek

tersebut memiliki atribut nilai ips1, nil11, nil12, nil13, nil14, dan nil15. Tabel

2.2 merupakan tabel yang berisi data nilai dari 13 mahasiswa.

Tabel 2.2 Data 13 Mahasiswa

IPS 1 NIL11 NIL12 NIL13 NIL14 NIL15

P1 2.94 2.80 2.00 2.00 2.00 1.60

P2 1.72 1.20 0.80 3.20 1.20 0.40

P3 2.56 2.40 1.60 2.00 2.80 2.00

P4 2.44 2.00 2.00 2.40 2.00 2.00

P5 2.94 2.40 1.60 2.40 1.20 2.80

P6 1.89 2.40 2.00 2.40 2.40 2.80

P7 4.00 2.40 2.40 1.60 1.60 2.80

P8 1.44 4.00 2.00 3.60 2.40 2.80

P9 3.72 3.20 2.40 2.40 2.80 2.00

P10 1.72 2.80 2.40 3.20 3.20 0.80

P11 3.28 2.80 2.40 2.80 2.40 2.40

P12 2.89 2.40 2.00 2.00 2.80 2.00

P13 2.89 2.00 2.00 3.20 2.00 2.80

1. Menghitung jumlah r-neighbors dari pi.

Maka untuk contoh diatas langkah untuk menghitung jumlah r-neighbors

dari obyek P2 adalah sebagai berikut. Diasumsikan nilai r = 6. Kemudian

tandai yang jaraknya kurang dari sama dengan r.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

20

Tabel 2.3 merupakan tabel yang berisi tentang jumlah r-neighbors dari

ke-13 obyek.

Tabel 2.3 Jumlah r-neighbors dari pi

Object r-neighbors n(pi,r)

P1 P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 13

P2 P2,P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 13

P3 P3,P1,P2,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 13

P4 P4,P1,P2,P3,P5,P6,P7,P8,P9,P10,P11,P12,P13 13

P5 P5,P1,P2,P3,P4,P6,P7,P8,P9,P10,P11,P12,P13 13

P6 P6,P1,P2,P3,P4,P5,P7,P8,P9,P10,P11,P12,P13 13

P7 P7,P1,P2,P3,P4,P5,P6,P8,P9,P10,P11,P12,P13 13

P8 P8,P1,P2,P3,P4,P5,P6,P7,P9,P10,P11,P12,P13 13

P9 P9,P1,P2,P3,P4,P5,P6,P7,P8,P10,P11,P12,P13 13

P10 P10,P1,P2,P3,P4,P5,P6,P7,P8,P9,P11,P12,P13 13

P11 P11,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P12,P13 13

P12 P12,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P13 13

P13 P13,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

21

2. Menghitung jumlah r-neighbors dari pi.

Selanjutnya mencari r-neighbors dari objek P2 adalah sebagai berikut:

a. Nilai = 0.5.

b. Nilai r = 3.

c. Maka 𝑛(𝑝,𝑟) atau jumlah ar-neighbors dari objek pi.

Tabel 2.4 merupakan tabel yang berisi tentang jumlah r-neighbors

dari ke-13 obyek.

Tabel 2.4 Jumlah r-neighbors dari pi.

Object r-neighbors n(p,r)

P1 P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 12

P2 P2,P4 2

P3 P3,P1,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 12

P4 P4,P1,P2,P3,P5,P6,P7,P8,P9,P10,P11,P12,P13 13

P5 P5,P1,P3,P4,P6,P7,P8,P9,P11,P12,P13 11

P6 P6,P1,P3,P4,P5,P7,P8,P9,P10,P11,P12,P13 12

P7 P7,P1,P3,P4,P5,P6,P9,P11,P12,P13 10

P8 P8,P1,P3,P4,P5,P6,P9,P10,P11,P12,P13 11

P9 P9,P1,P3,P4,P5,P6,P7,P8,P10,P11,P12,P13 12

P10 P10,P1,P3,P4,P6,P8,P9,P11,P12,P13 10

P11 P11,P1,P3,P4,P5,P6,P7,P8,P9,P10,P12,P13 12

P12 P12,P1,P3,P4,P5,P6,P7,P8,P9,P10,P11,P13 12

P13 P13,P4,P5,P6,P11 12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

22

3. Menghitung rata-rata dari n(p,r) pada r-neighbors dari pi.

Selanjutnya adalah menghitung rata-rata dari 𝑛(𝑝,𝑟) pada keseluruhan

objek p pada r-neighborhood dari p.

4. Menghitung standar deviasi dari n(p,r) pada r-neighbors.

Setelah menghitung rata-rata 𝑛(𝑝,𝑟) langkah selanjutnya adalah

menghitung standar deviasi 𝑛(𝑝,𝑟) pada r-neighbors.

5. Menghitung nilai MDEF untuk pi pada radius r.

MDEF dari sebuah objek dimana kepadatan lingkungannya cocok

dengan rata rata local neighbourhood density akan bernilai 0.

Kebalikannya MDEF dari outlier akan bernilai jauh dari 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

23

6. Menghitung standar deviasi MDEF.

Dimana 𝑀𝐷𝐸𝐹(𝑝𝑖, 𝑟, 𝛼) = 𝑛̂ (𝑝𝑖,𝑟,)

𝑛̂ (𝑝𝑖,𝑟,), yaitu normalisasi deviasi

𝑛̂ (𝑝𝑖, 𝑟,) dari 𝑛(𝑝𝑖,𝑟) untuk 𝑝𝑁(𝑝𝑖, 𝑟).

7. Menghitung kMDEF.

Pada tahap selanjutnya adalah membuktikan apakah objek tersebut

merupakan outlier atau bukan, dengan cara nilai MDEF dikalikan dengan

nilai 𝑘, diasumsikan nilai 𝑘 = 3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

24

8. Local Correlation Integral

Jika nilai 𝑀𝐷𝐸𝐹 > 𝑘 𝑀𝐷𝐸𝐹 maka objek tersebut merupakan outlier,

jika 𝑀𝐷𝐸𝐹 < 𝑘 𝑀𝐷𝐸𝐹 maka objek tersebut bukan termasuk outlier.

Dari perhitungan di atas, objek P2 memiliki nilai 𝑀𝐷𝐸𝐹 > 𝑘 𝑀𝐷𝐸𝐹.

Maka dapat disimpulkan bahwa objek P2 termasuk outlier.

Yang menjadi outlier di Semester 1 adalah mahasiswa ke 2, pada Semester 2

yang menjadi outlier adalah mahasiswa ke 2, pada Semester 3 yang menjadi outlier

adalah mahasiswa ke 2, dan pada Semester 4 yang menjadi outlier adalah

mahasiswa ke 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

25

BAB III

METODOLOGI PENELITIAN

Pada bab ini berisi mengenai metode penambangan data yang digunakan yaitu

metode Knowledge Discovery in Database (KDD) yang dikemukakan oleh Jiawei

Han dan Kamber.

3.1 Data yang Dibutuhkan

Pada penelitian ini data yang digunakan adalah data akademik

mahasiswa yang meliputi nilai indeks prestasi semester dari semester satu

sampai semester empat dan nilai tes masuk mahasiswa program studi Teknik

Informatika fakultas Sains dan Teknologi Universitas Sanata Dharma

Yogyakarta tahun angkatan 2007 dan 2008. Data tersebut diperoleh dari

Gudang Data akademik mahasiwa Universitas Sanata Dharma hasil penelitian

Rosa, dkk (2011). Data ini berupa script query yang berisi gudang data

dengan format .sql kemudian data tersebut diolah.

Data yang digunakan dalam penelitian ini adalah data nilai hasil tes

masuk mahasiswa melalui jalur tes tertulis dan jalur prestasi. Dan juga data

nilai indeks prestasi mahasiswa dari semester satu sampai dengan semester

empat.

3.2 Pengolahan Data

Berikut adalah tahapan yang dilakukan dalam pengolahan data:

3.2.1 Penggabungan Data (Data Integration)

Pada tahap ini mengekstrak skrip .sql tersebut di dalam

SQLyog. Setelah skrip tersebut di eksrak akan menghasilkan sebuah

database bernama “gudangdata” yang terdiri dari dim_angkatan, dim,

dim_daftarsmu, dim_fakultas, dim_jeniskel, dim_kabupaten,

dim_prodi, dim_prodifaks, dim_statuses, dan fact_lengkap2. Gambar

3.2 merupakan isi database “gudangdata”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

26

Gambar 3.1 Database “gudangdata”

3.2.2 Seleksi Data (Data Selection)

Pada tahap ini merupakan proses menyeleksi data yang relevan.

Data yang tidak sesuai akan dihilangkan. Data dipilih dan diseleksi

yang sesuai untuk dilakukan perhitungan, dimana data yang tidak

relevan akan dibuang dari penelitian. Data yang digunakan terdapat

pada tabel ‘fact_lengkap2’ karena dalam tabel tersebut terdapat nilai

hasil seleksi tes masuk mahasiswa dan terdapat nilai indeks prestasi

mahasiswa dari semester satu sampai dengan semester 4. Data yang

dipakai adalah kolom ips1, ips2, ips3, ips3, ips4, nil11, nil12, nil13,

nil14, nil15, dan final.

Kemudian menyeleksi kembali baris tersebut untuk mengambil

data baris dengan sk_prodi = 27. Baris dengan sk_prodi = 27

merupakan data mahasiswa Teknik Informatika. Gambar 3.2

merupakan isi dari tabel “fact_lengkap”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

27

Gambar 3.2 Isi tabel “fact_lengkap”.

3.2.3 Transformasi Data (Data Transformation)

Tahap ini merupakan tahap untuk mentransformasikan data ke

dalam bentuk yang sesuai untuk ditambang. Pada tahap ini, data yang

akan di transformasi adalah atribut ips1, ips2, ips3, dan ips4 yang

memiliki range nilai antara 0 sampai dengan 4.00. Untuk atribut nil11,

nil12, nil13, nil14, dan nil15 memiliki range nilai antara 0 sampai

dengan 10. Sedangkan nilai final memiliki range nilai antara 0 sampai

dengan 100.

Data mentah perlu dilakukan proses transfiormasi untuk

meningkatkan performanya. Salah satu cara transformasi yang

digunakan adalah dengan cara melakukan normalisasi.

Untuk melakukan transformasi menggunakan rumus min-max

normalization:

𝑣′ = 𝑣 − 𝑚𝑖𝑛𝐴

𝑚𝑎𝑥𝐴 − 𝑚𝑖𝑛𝐴(new_𝑚𝑎𝑥𝐴 − 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴) + 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴

Dimana 𝑣′ adalah nilai yang sudah dinormalisasi, v adalah nilai

lama yang belom di normalisasi, minA adalah nilai minimum dari

atribut a, maxA adalah nilai maksimum dari atribut a, newminA nilai

minimum baru dari atribut a, dan newmaxA adalah nilai maksimum

baru dari atribut a.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

28

1. Normalisasi atribut nil11, nil12, nil13, nil14, dan nil15

Pada tahap ini dilakukan normalisasi untuk menyamakan

jangkauan nilai terhadap atribut ips1, ips2, ips3, dan ips4.

Misalnya nil11 akan dinormalisasi, nil11 adalah 8.00,

kemudian dilakukan proses normalisasi. Tabel 3.1 merupakan

tabel yang berisi data atribut nill11, nil12, nil13, nil14, dan nil15

yang belum di normalisasi.

Dimana:

minA = 0

maxA = 10

new_minA = 0

new_maxA = 4

v = 8.00

𝑣′ =(8 − 0)

(10 − 0) (4 − 0) + 0 = 0,8 ∗ 4 + 0 = 3,20

Tabel 3.1 Contoh atribut nil11, nil12, nil13, nil14, dan nil15

sebelum di normalisasi

No 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 4.00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

29

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

Nilai lama yang belum dinormalisasi yaitu 8.00 dikurangi

nilai minimum dari atribut a, dimana nil11 mempunyai jarak

antara 0-10. Nilai maksimum dari atribut a yaitu 10 dikurangi

nilai minimum dari atribut a yaitu 0. Kemudian hasil dari

pengurangan nilai yang belum dinormalisasi dengan nilai

minimum dari atribut a akan dibagi dengan hasil pengurangan

nilai maksimum dari atribut a dan nilai minimum dari atribut a.

Langkah selanjutnya adalah nilai maksimum baru dari atribut a

dikurangi dengan nilai minimum baru dari atribut a.

Kemudian hasil pembagian nilai yang belum dinormalisasi

dengan nilai minimum dari atribut a akan dibagi dengan hasil nilai

maksimum dari atribut a dan nilai minimum dari atribut a akan

dikalikan dengan hasil pengurangan nilai maksimum baru dari

atribut a dengan nilai minimum baru dari atribut a. Dari hasil

perkalian tersebut kan dikurangi dengan nilai minimum baru dari

atribut a. Maka hasil penjumlahan tersebut akan menghasilkan

nilai yang sudah dinormalisasi. Tabel 3.2 merupakan tabel yang

berisi data atribut nill11, nil12, nil13, nil14, dan nil15 setelah di

normalisasi.

Tabel 3.2 Contoh atribut nil11, nil12, nil13, nil14, dan nil15

setelah di normalisasi

No Ips1 Nil11 Nil12 Nil13 Nil14 Nil15

1 3.72 3.20 2.40 2.40 2.80 2.00

2 2.89 2.40 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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

30

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

9 2.89 2.00 2.00 3.20 2.00 2.80

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

2. Normalisasi nilai atribut final

Pada tahap ini dilakukan normalisasi untuk atribut final.

Misalnya nilai final akan dinormalisasi, nilai final adalah 67.80,

kemudian dilakukan proses normalisasi. Tabel 3.3 merupakan

tabel yang berisi data atribut nill11, nil12, nil13, nil14, dan nil15

yang belum di normalisasi.

Dimana:

minA = 0

maxA = 100

new_minA = 0

new_maxA = 4

v = 67.80

𝑣′ =(67.80−0)

(100−0) (4 − 0) + 0 = 0,678 ∗ 4 + 0 = 2,712

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

31

Tabel 3.3 Contoh atribut nil11, nil12, nil13, nil14, dan nil15

sebelum di normalisasi

No 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

12 3.11 3.08 2.78 3.48 68.17

13 2.00 2.00 2.29 3.00 77.10

Nilai lama yang belum dinormalisasi yaitu 67,80 dikurangi

nilai minimum dari atribut a, dimana nilai final mempunyai jarak

antara 0-100. Nilai maksimum dari atribut a yaitu 100 dikurangi

dengan nilai minimum dari atribut a yaitu 0. Kemudian hasil dari

pengurangan nilai yang belum dinormalisasi dengan nilai

minimum dari atribut a akan dibagi dengan hasil pengurangan

nilai maksimum dari atribut a dan nilai minimum dari atribut a.

Langkah selanjutnya adalah nilai maksimum baru dari atribut a di

kurangi dengan nilai minimum baru dari atribut a.

Kemudian hasil pembagian nilai yang belum dinormalisasi

dengan nilai minimum dari atribut a akan dibagi dengan hasil nilai

maksimum dari atribut a dan nilai minimum dari atribut a akan

dikalikan dengan hasil pengurangan nilai maksimum baru dari

atribut a dengan nilai minimum baru dari atribut a. Dari hasil

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

32

perkalian tersebut akan dikurangi dengan nilai minimum baru

dari atribut a. Maka hasil penjumlahan tersebut akan

menghasilkan nilai yang sudah dinormalisasi. Tabel 3.4

merupakan tabel yang berisi data atribut nill11, nil12, nil13,

nil14, dan nil15 yang belum di normalisasi.

Tabel 3.4 Contoh atribut nil11, nil12, nil13, nil14, dan nil15

setelah di normalisasi

No Ips1 Ips2 Ips3 Ips4 Final

Normalisasi

1 2.06 2.32 2.91 3.00 2.712

2 2.72 2.50 2.96 2.38 2.710

3 3.33 3.48 3.78 3.48 2.776

4 2.39 3.00 2.43 2.82 2.864

5 2.11 2.71 2.43 2.45 2.950

6 3.00 2.96 2.61 3.29 2.703

7 3.72 3.56 3.43 3.67 3.147

8 3.44 3.04 2.88 3.48 2.853

9 2.17 2.70 3.09 3.63 2.880

10 3.89 3.75 3.00 3.62 3.080

11 2.89 3.68 2.88 3.76 2.920

12 3.11 3.08 2.78 3.48 2.727

13 2.00 2.00 2.29 3.00 3.084

3.2.4 Penambangan Data (Data Mining)

Data mining merupakan proses mengekstrak informasi atau

pengetahuan dari data dalam jumlah yang besar. Dalam penelitian ini,

metode yang digunakan adalah metode analisis outlier dengan

menggunakan pendekatan density based. Algoritma yang digunakan

adalah Local Correlation Integral (LOCI). Data yang digunakan

adalah data akademik mahasiswa Program Studi Teknik Informatika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

33

di Universitas Sanata Dharma angkatan 2007 dan 2008 dari semester

satu sampai dengan semester empat.

Pada tahap ini terdapat beberapa variabel yang digunakan,

antara lain:

1. Variabel Input

Variabel input yang digunakan terdiri dari nil11, nil12, nil13,

nil14, nil15, dan nilai final. Dan terdiri dari nilai per semester

yaitu nilai ips1, ips2, ips3, dan ips4.

2. Variabel output

Variabel output yang digunakan adalah data mahasiswa yang

menjadi outlier dari hasil perhitungan dengan algoritma Local

Correlation Integral dari data nilai hasil seleksi masuk dan nilai

mahasiswa dari semester satu sampai dengan semester 4.

Keluaran ini berupa nomor urut mahasiswa, MDEF, KMDEF,

jumlah outlier, dan lama deteksi outlier.

3.2.5 Evaluasi Pola (Pattern Evaluation)

Evaluasi pola merupakan proses mengidentifikasi apakah pola

atau informasi yang ditemukan sesuai fakta atau hipotesa yang ada

sebelumnya. Luaran yang diperoleh berupa data-data outlier

menggunakan algoritma Local Correlation Integral dan akan diuji

kebenarannya oleh pemilik data apakah hipotesa outlier yang mereka

miliki sama dengan hasil yang diperoleh sistem.

3.2.6 Presentasi Pengetahuan (Knowledge Presentation)

Knowledge presentation merupakan proses merepresentasikan

pola kepada pengguna ke dalam bentuk yang mudah dimengerti.

Dengan adanya sistem ini, diharapkan dapat membantu pihak

Universitas Sanata Dharma dalam mendeteksi outlier melalui hasil tes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

34

masuk baik melalui jalur tes tertulis maupun jalur prestasi dan nilai

per semester dari semester 1 sampai dengan semester 4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

35

BAB IV

ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang identifikasi sistem, perancangan sistem secara umum,

perancangan sistem, perancangan struktur data, dan perancangan antarmuka yang

akan dibuat.

4.1 Identifikasi Sistem

Universitas Sanata Dharma melakukan penerimaan mahasiswa baru

setiap tahunnya. Seleksi penerimaan mahasiswa baru dibagi menjadi dua

jalur, yaitu jalur prestasi dan jalur tes. Syarat untuk calon mahasiswa yang

mengikuti jalur prestasi adalah melampirkan nilai akademik SMA/sederajat

kelas XI semester 1 dan 2, yang kemudian nilai-nilai tersebut akan dirata-rata

dan menjadi nilai final. Calon mahasiswa yang mengikuti jalur tes diwajibkan

mengikuti tes tertulis. Tes tertulis memiliki 5 komponen nilai yaitu nilai

penalaran numerik, nilai penalaran verbal, nilai hubungan ruang, nilai bahasa

Inggris, dan nilai kemampuan numerik. Calon mahasiswa yang mengikuti tes

akan memiliki lima komponen tes tersebut, kelima komponen nilai tersebut

akan dirata-rata dan akan menjadi nilai final.

Mahasiswa yang diterima di Universitas Sanata Dharma setiap

semesternya akan dilakukan evaluasi untuk mengetahui tingkat pemahaman

setiap mahasiswa, dan pada akhir semester setiap mahasiswa akan

memperoleh nilai hasil belajar selama satu semester yang disebut Indeks

Prestasi Semester (IPS).

Mahasiswa yang nilai tes masuk universitasnya tinggi belum tentu

memiliki Indeks Prestasi Semester yang tinggi, dan mahasiswa yang nilai tes

masuk universitasnya rendah belum tentu memiliki Indeks Prestasi Semester

yang rendah. Mahasiswa dengan data yang unik ini disebut sebagai outlier.

Deteksi outlier merupakan salah satu bidang penelitian yang penting

dalam topik data mining. Deteksi outlier bermanfaat untuk mendeteksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

36

perilaku yang tidak normal, salah satunya adalah mendeteksi nilai mahasiswa

yang nilai tes masuk universitasnya bagus tetapi pada saat kuliah mahasiswa

tersebut mendapatkan nilai yang rendah.

Dalam tugas akhir ini akan dijelaskan bagaimana proses mendeteksi

outlier dan proses pembuatan aplikasi untuk mendeteksi outlier

menggunakan algoritma Local Correlation Integral (LOCI). Algoritma LOCI

merupakan salah satu algoritma yang memiliki kemampuan untuk

mendeteksi outlier dalam sekumpulan data. Algoritma LOCI dapat

diimplementasikan pada sekumpulan data numerik untuk mendeteksi adanya

outlier dengan pendekatan density-based.

Dalam penelitian ini data yang digunakan adalah data yang bertipe file

(.xls) dan file (.csv) dan dari Basis Data, hasil output akan disimpan kedalam

file Text Documents (.txt), Ms. Word (.doc), dan Ms. Excel (.xls).

4.1.1 Diagram Use Case

Dalam sebuah sistem akan selalu ada interaksi, di mana interaksi

tersebut menggambarkan proses jalannya sistem tersebut dan fungsi

dari sistem tersebut. Untuk menggambarkan interaksi tersebut, tugas

akhir ini menggunakan diagram use case. Diagram use case digunakan

untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem

dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.

Diagram use case menjelaskan secara sederhana fungsi sistem dari

sudut pandang user.

Diagram use case yang digunakan adalah dapat dilihat pada

bagian lampiran 1.

Di dalam diagram use case akan ada 1 pengguna yang akan

menjalankan fungsi dari sistem. Terdapat tiga fungsi utama yang

dapat dijalankan oleh pengguna yaitu fungsi input data dari database,

data yang berformat .xls, .csv, fungsi untuk mendeteksi outlier, dan

fungsi untuk menyimpan hasil deteksi outlier. Sistem tersebut juga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

37

memiliki fungsi seleksi atribut untuk menseleksi atribut yang tidak

diikutsertakan dalam deteksi outlier.

Deskripsi use case dapat dilihat pada bagian lampiran 2.

4.1.2 Narasi Use Case

Untuk mengetahui detail Narasi Use Case secara keseluruhan

dapat dilihat pada bagian lampiran 3.

4.2 Perancangan Sistem Secara Umum

4.2.1 Input Sistem

Sistem yang dibangun dapat menerima masukan berupa data

yang bertipe file excel (.xls) dan (.csv) atau data dalam tabel yang

terdapat dalam basis data.

Sistem ini membutuhkan masukan untuk memproses pencarian

outlier yaitu:

1. Radius atau r

Radius adalah sebuah parameter yang digunakan untuk

mendefinisikan r-neighborhood suatu obyek.

2. Alpha atau

Alpha adalah sebuah parameter skala yang digunakan untuk

mendefinisikan r-neighborhood suatu obyek.

3. Konstanta atau k

Konstanta adalah sebuah parameter yang digunakan untuk

mendefinisikan konstanta.

Penelitian ini menggunakan data akademik mahasiswa Program

Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta.

Data yang digunakan adalah nilai penerimaan mahasiswa baru melalui

tes tertulis dan jalur prestasi. Atribut yang digunakan dapat dilihat

pada tabel di bawah ini:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

38

a. Data Hasil Seleksi Masuk Jalur Tes

No Nama

Atribut Penjelasan Nilai

1 Nomor urut Atribut ini merupakan nomor

untuk menunjukkan obyek

mahasiswa.

1 - 126

2 Nil11 Atribut ini merupakan nilai

komponen 1.

0.00 - 4.00

3 Nil12 Atribut ini merupakan nilai

komponen 2.

0.00 - 4.00

4 Nil13 Atribut ini merupakan nilai

komponen 3.

0.00 - 4.00

5 Nil14 Atribut ini merupakan nilai

komponen 4.

0.00 - 4.00

6 Nil15 Atribut ini merupakan nilai

komponen 5.

0.00 - 4.00

7 Final Atribut ini merupakan nilai rata-

rata rapor siswa pada saat

SMA/sederajat.

0.00-4.00

b. Data Hasil Seleksi Masuk Jalur Prestasi

No Nama

Atribut Penjelasan Nilai

1 Nomor urut

Atribut ini merupakan nomor

untuk menunjukkan obyek

mahasiswa.

1 - 126

2 Final Atribut ini merupakan nilai rata-

rata rapor siswa pada saat

SMA/sederajat.

0.00-4.00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

39

c. Data Indeks Prestasi Semester

No Nama

Atribut Penjelasan Nilai

1 Nomor urut

Atribut ini merupakan nomor

untuk menunjukkan obyek

mahasiswa.

1 - 126

2 Ips1 Atribut ini merupakan Indeks

Prestasi Semester 1.

0.00-4.00

4 Ips2 Atribut ini merupakan Indeks

Prestasi Semester 2.

0.00-4.00

5 Ips3 Atribut ini merupakan Indeks

Prestasi Semester 3.

0.00-4.00

6 Ips4 Atribut ini merupakan Indeks

Prestasi Semester 4.

0.00-4.00

4.2.2 Proses Sistem

Tahap-tahap dalam proses sistem adalah sebagai berikut:

1. Pengambilan Data

Pada tahap pengambilan data, sistem akan mengambil data

sesuai dengan pilihan user. Data tersebut berupa file .xls dan .csv

atau mengambil data dari tabel yang terdapat didalam database.

Kemudian data yang dipilih oleh user tersebut akan ditampilkan

di dalam sistem, kemudian data tersebut diseleksi oleh user,

yaitu menyeleksi atribut mana saja yang akan digunakan.

2. Perhitungan Jarak Obyek Data

Tahap selanjutnya adalah tahap untuk menghitung jarak obyek

data dengan rumus euclidean distance. Atribut yang

dimasukkan ke dalam perhitungan data disesuaikan dengan

pilihan user. Sehingga diketahui jarak setiap obyek.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

40

3. Pencarian Outlier Bersadarkan Parameter r , , dan k

Tahap selanjutnya adalah mencari outlier menggunakan

algoritma Local Correlation Integral. Pada tahap ini sistem

akan menerima inputan berupa parameter r, parameter tersebut

untuk mencari r-neighborhood suatu obyek. Inputan kedua

berupa parameter , dengan parameter untuk mencari r-

neighborhood suatu obyek. Inputan ketiga berupa parameter k

yang digunakan sebagai konstanta.

Diagram proses umum sistem menggunakan algoritma Local

Correlation Integral dapat dilihat pada lampiran 4.

4.2.3 Output Sistem

Sistem yang dibuat akan menghasilkan data yang dinyatakan

sebagai outlier. Hasil keluaran dari sistem tersebut adalah sebagai

berikut:

1. Hasil outlier untuk setiap data beserta nilai atribut yang dimiliki.

2. Jumlah data.

3. Jumlah outlier.

4. Lama deteksi outlier.

4.3 Perancangan Sistem

4.3.1 Diagram Aktivitas

Diagram aktivitas berfungsi untuk menggambarkan aliran

fungsionalitas sistem. Diagram aktivitas juga dapat digunakan untuk

menunjukkan alur kerja, dan untuk menjelaskan aktivitas yang terjadi

di dalam sebuah use case.

1. Diagram Aktivitas Input Data dari File .xls atau .csv.

2. Diagram Aktivitas Input Data dari Tabel Database.

3. Diagram Aktivitas Deteksi Outlier.

4. Diagram Aktivitas Simpan Hasil Deteksi Outlier.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

41

5. Diagram Aktivitas Seleksi Atribut.

Untuk detail dari diagram aktivitas per use case dapat dilihat di

lampiran 5.

4.3.2 Diagram Kelas Analisis

Diagram kelas analisis dapat dilihat pada lampiran 6.

Keterangan diagram analisis dipaparkan pada tabel 4.1.

Tabel 4.1 Tabel Keterangan Diagram Analisis

No Nama Kelas Jenis Keterangan

1 DatabaseController Entity Kelas ini digunakan untuk

menampilkan data dari tabel

database Oracle maupun

mySQL berdasarkan tabel

yang dipilih pengguna.

2 Graph Controller Kelas ini digunakan untuk

membuat graph dan edge

setiap verrteks. Dan untuk

proses perhitungan outlier

menggunakan algoritma

Local Correlation Integral.

3 Seleksi Atribut Entity Kelas ini digunakan untuk

melakukan proses seleksi

atribut, dan menyimpan

atribut yang digunakan untuk

proses deteksi.

4 Verteks Entity Kelas ini digunakan untuk

membentuk sebuah verteks,

dalam kelas ini juga terdapat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

42

atribut yang digunakan untuk

proses deteksi outlier.

5 CheckBoxTableModel Entity Kelas ini digunakan untuk

membentuk dan mengatur

seleksi atribut menjadi

sebuah tabel model.

6 DataLoci Entity Kelas ini digunakan untuk

menyimpan data hasil outlier.

7 KoneksiDataBase Controller Kelas ini digunakan untuk

melakukan koneksi antara

sistem dengan database.

8 LociTabelModel Entity Kelas ini digunakan untuk

menampilkan DataLoci ke

dalam tabel model.

9 HalamanAwal Boundary Kelas ini berisi tampilan awal

yang digunakan untuk

menghubungkan ke halaman

utama.

10 HalamanBantuan Boundary Kelas ini berisi tampilan

informasi atau petunjuk

penggunaan sistem.

11 HalamanPilihDatabase Boundary Kelas ini berisi tampilan

untuk memilih database yang

digunakan untuk proses

deteksi outlier.

12 HalamanPilihFile Boundary Kelas ini berisi tampilan

untuk memilih file yang

digunakan untuk proses

deteksi outlier.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

43

13 HalamanPilihTabel Boundary Kelas ini berisi tampilan

untuk memilih tabel basisdata

yang akan digunakan untuk

proses deteksi outlier.

14 HalamanTentang Boundary Kelas ini berisi tampilan

informasi tentang sistem.

15 HalamaUtama Boundary Kelas ini berisi tentang

tampilan halaman utama dari

sistem yang terdiri dari proses

input data, seleksi tabel, dan

deteksi outlier.

4.3.3 Diagram Sequence

Diagram Sequence digunakan untuk menggambarkan perilaku

pada setiap skenario dan digunakan untuk memberikan gambaran

detail dari setiap diagram use case.

1. Diagram Sequence Input Data dari File .xls atau .csv.

2. Diagram Sequence Input Data dari Tabel Basisdata.

3. Diagram Sequence Deteksi Outlier.

4. Diagram Sequence Simpan Hasil Deteksi Outlier.

5. Diagram Sequence Seleksi Atribut.

Untuk penjelasan rinci dari masing-masing diagram sequence

dapat dilihat pada lampiran 7.

4.3.4 Diagram Kelas Desain

Diagram kelas desain adalah diagram yang berisi kelas yang akan

digunakan untuk pembuatan sistem. Diagram Kelas Desain memuat

semua kelas untuk menjalankan semua fungsi pada sistem dapat

dilihat pada lampiran 8. Untuk rincian atribut dan method untuk

masing-masing diagram kelas dapat dilihat pada lampiran 9.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

44

4.3.5 Rincian Algoritma Setiap Method Pada Tiap Kelas

1. Rincian Algoritma pada Method di Kelas

DatabaseController.

Nama Method Fungsi Method Algoritma Method

tampilTabelOracle(Co

nnection conn)

Menampilkan

seluruh daftar tabel

yang ada di

database Oracle.

1. Membuat kueri untuk menampilkan

daftar tabel dari basisdata Oracle

dengan sintaks: select table_name

from user_tables user_tables.

2. Mengeksekusi kueri.

3. Mengembalikan nilai rset yang berisi

daftar tabel yang ada pada basisdata

Oracle.

tampilTabelMYSql

(Connection conn)

Menampilkan

seluruh dartar tabel

yang ada di

database mySQL.

1. Membuat kueri untuk menampilkan

daftar tabel dari basisdata MySQL

dengan sintaks: show tables.

2. Mengeksekusi kueri.

3. Mengembalikan nilai rset yang berisi

daftar tabel yang ada pada basisdata

mySQL.

selectTable(Connectio

n conn, String

namaTable)

Menampilkan isi

tabel berdasarkan

tabel yang dipilih.

1. Membuat kueri untuk menampilkan

daftar tabel dari basisdata MySQL

dengan sintaks: select * from +

namaTable.

2. Mengeksekusi kueri.

3. Mengembalikan nilai rset yang berisi

daftar tabel yang sesuai dengan

parameter “namaTable” pada kueri.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

45

2. Rincian Algoritma pada Method di Kelas KoneksiDatabase.

Nama Method Fungsi Method Algoritma Method

KoneksiDataBaseSQL

(String url, String user,

String password)

Melakukan koneksi

ke Database

MySQL.

1. Membuat koneksi basis data SQL ke

dalam method connection =

DriverManager.getConnection(url,

user, password). Parameter tersebut

dicocokkan dengan nilai dari inputan

pengguna pada login ke dalam

database.

2. Jika inputan benar maka kan muncul

pesan Koneksi Berhasil”.

3. JIka tidak maka akan muncul pesan

error.

4. Mengembalikan connection.

KoneksiDataBaseOrac

le(String url, String

user, String password)

Melakukan koneksi

ke Database Oracle

1. Membuat koneksi basis data Oracle

ke dalam method connection =

DriverManager.getConnection(url,

user, password). Parameter tersebut

dicocokkan dengan nilai dari inputan

pengguna pada login ke dalam

database.

2. Jika inputan benar maka kan muncul

pesan Koneksi Berhasil”.

3. JIka tidak maka akan muncul pesan

error.

4. Mengembalikan connection.

OracleConnected(Stri

ng url, String

username, String

password)

Mengecek apakah

sistem sudah

terhubung dengan

1. Jika parameter pada method

KoneksiDataBaseOracle(String url,

String user, String password) terisi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

46

database Oracle

atau belum.

maka akan mengembalikan nilai

true.

2. Jika tidak, maka akan

mengembalikan nilai false.

SQLConnected(String

url, String username,

String password)

Mengecek apakah

sistem sudah

terhubung dengan

database MySQL

atau belum.

1. Jika parameter pada method

KoneksiDataBaseSQL(String url,

String user, String password) terisi

maka akan mengembalikan nilai

true.

2. Jika tidak, maka akan

mengembalikan nilai false.

getClosed() Memutuskan

koneksi basis data.

1. Mengecek apakah sistem masih

terhubung ke database, maka akan

memanggil method Connected().

2. Jika ya maka tutup koneksi dan

mengembalikan nilai true.

3. Jika tidak maka mengembalikan nilai

false.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

47

3. Rincian Algrotima pada Method di Kelas Graph.

Nama Method Fungsi Method Algoritma Method

addVertex(String

label, List<Double>

nilai)

Membuat vertex

untuk membentuk

graph.

1. Membaca parameter berupa label

dan list nilai.

2. Membuat vertex baru dengan label

dan nilai yang diinputkan melalui

parameter.

addEdge(int awal, int

akhir, Double nilai)

Mengisi nilai edge

pada vertex.

1. Membaca parameter berupa awal,

akhir, dan nilai.

2. Mengisi nilai jarak kedalam

edge[awal][akhir] dan

edge[akhir][awal].

inputData(JTable

jTableData)

Menginputkan data

dari Jtable ke dalam

matrix dalam graph.

1. Selama i = 0 dan i tidak lebih dari

jumlah baris dalam jTable maka

lakukan langkah dibawah ini maka

membuat variable label bertipe

String dan listNilai yang bertipe

arrayList Double.

2. Selama j = 0 dan j tidak lebih dari

jumlah baris dalam jTable. Jika j =

0 maka set label = data yang ada

dalam baris dan kolom tabel

tersebut.

3. Selama j != 0 maka cek data tersebut

merupakan data numerik, jika ya

maka masukkan data pada baris (i,

j), dan jika tidak maka masukkan

nilai 0.0 ke dalam arrayList nilai.

4. Memanggil nilai addVertex dengan

inputan label dan list Nilai.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

48

5. Selama i = 0 dan i tidak lebih dari

jumlah baris pada jTable, selama j =

i + 1 dan j tidak lebih dari jumlah

baris dari jTable, dan jika i tidak

sama dengan j maka panggil method

addEdge dan memasukkan inputan j

dan j kemudian menghitung jarak

berdasarkan rumus Ecludiian

Distance dengan memanggil

method cariJarakEcludian.

cariJarakEcludian (int

indexAwal, int

indexTujuan)

Menghitung jarak

dengan rumus

Euclidean Distance.

1. Membaca nilai parameter input

method yaitu nilai awal dan nilai

akhir.

2. Membuat dua buah list yaitu a dan

b. a merupakan vertexList

indexAwal dan b merupakan

vertexList indexAkhir.

3. Mengisi vertexList[awal].getNilai

da vertexList[akhir].getNilai.

4. Selama i < a.size() maka lakukan

perhitungan total = total +

Math.pow((a.get(i) - b.get(i)), 2);

5. Mengembalikan Math.sqrt(total).

tampilJarakEuclidean(

)

Untuk menampilkan

perhitungan jarak

dengan

menggunakan rumus

Euclidean Distance.

1. Jika i = 0 dan I kurang dari jumlah

baris vertexList maka akan

menampilkan vertexList[i] dengan

memanggil method getLabel().

2. Jika i = 0 dan i kurang dari jumlah

baris adjMat maka akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

49

menampilkan vertexList[i] dengan

memanggil method getLabel().

3. Jika j = 0 dan j kurang dari jumlah

baris vertexList maka akan

menampilkan adjMat[i][j].

cariRNeighborhood(D

ouble radius, int indeks

Untuk mencari

RNeighborhood.

1. Membuat ArrayList dengan nama a.

2. Selama i = 0 dan i kurang dari

jumlah baris vertexList, cek apakah

adjMat[indeks][i] != -1, dan

adjMat[indeks][i] != 0, lalu cek

apakah adjMat[indeks[i] kurang

dari sama dengan radius. Jika ya

maka tambahkan vertexList[i] ke

dalam array a.

3. Mengembalikan a.

cariAnggotaRNeighbo

r(int indeks, Double

radius)

Untuk mencari

anggota RNeighbor.

1. Set semua wasVisited dari semua

obyek (vertex) menjadi false.

2. Membuat variabel

AnggotaRNeighbor bertipe Double,

temp1 bertipe Double, dan

anggotaNpir yang bertipe int.

3. Selama i = 0 dan i tidak lebih dari

jumlah baris vertexList, dan

adjMAt[indeks][i] != -1 dan

wasVisited == false, jika ya maka

cek apakah adjMat[indeks][i]

kurang dari sama dengan radius,

jika ya maka set adjMat[indeks][i]

ke dalam variabel temp1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

50

4. Memanggil variabel anggotaNpir

untuk menampung npir[i].

5. Set AnggotaRNeighbor = temp1.

6. Kemudian ubah wasVisited dari

arrayList menjadi true dengan

memanggil method Search2 dengan

inputan (temp1, indeks).

7. Mengembalikan

AnggotaRNeighbor.

setAnggotaRNeighbor

(String label, Double

radius)

Untuk mengeset

anggotaRNeighbor

ke dalam vertex.

1. Membuat variabel indeks dengan

memanggil method Search dengan

parameter label.

2. Memanggil method setrNeighbors

pada vertexList[indeks] dengan

inputan hasil dari

cariRNeighborhood dengan inputan

vertexList[indeks].getAnggotaRNei

ghbor(), index.

setRNeighborhood(Str

ing label)

Untuk mengeset

variable

RNeighborhood ke

dalam vertex.

1. Membuat variabel indeks dengan

memanggil method Seacrh dengan

parameter label.

2. Memanggil method

setAnggotaRNeighbors pada

vertexList[indeks] dengan inputan

hasil dari

cariAnggotaRNeighborhood dengan

parameter indeks dan radius.

setNpir() Untuk mengeset

npir.

1. Membuat variabel x.

2. Selama i = 0 dan i tidak lebih dari

jumlah baris adjMat, jika j = 0 dan j

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

51

tidak lebih dari jumlah barus

vertexList, maka akan di cek apakah

adjmat[i][j] tidak kurang dari sama

dengan radius, jika ya maka x = x +

1. Mengeset rneighbors[i][j] = j.

3. Mengeset npir[i] = x;

4. Mengesey nilai x = 0;

tampilRNeighbor() Untuk menampilkan

anggota npir dan

n(pi, r)

1. Membuat variabel rn.

2. Selama i = 0 dan i tidak lebih dari

jumlah barus adjMat, dan jika j = 0

dan j tidak lebih dari jumlah baris j,

cek apakah adjMat[i][j] tidak lebih

dari sama dengan radius, jika ya

maka rn = rn + 1 dan menampilkan

anggota npir dengan memanggil

adjMat[i][j].

3. Menampilkan n(pi,r) dengan

memanggil atribut rn.

4. Mengeset niali rn = 0;

cariARNeighborhood

(Double radius, int

indeks)

Untuk mencari

anggota

ARneighbor.

1. Membuat ArrayList dengan nama a.

2. Selama i = 0 dan i kurang dari

jumlah baris vertexList, cek apakah

adjMat[indeks][i] != -1, dan

adjMat[indeks][i] != 0, lalu cek

apakah adjMat[indeks[i] kurang

dari sama dengan alpha * radius.

Jika ya maka tambahkan

vertexList[i] ke dalam array a.

3. Mengembalikan a.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

52

cariAnggotaARNeigh

bor(int indeks, Double

radius)

Untuk mencari

anggota

ARneighbor.

1. Set semua wasVisited dari semua

obyek (vertex) menjadi false.

2. Membuat variabel

AnggotaARNeighbor bertipe

Double, temp2 bertipe Double, dan

anggotaNpar yang bertipe int.

3. Selama i = 0 dan i tidak lebih dari

jumlah baris vertexList, dan

adjMAt[indeks][i] != -1 dan

wasVisited == false, jika ya maka

cek apakah adjMat[indeks][i]

kurang dari sama dengan alpha *

radius, jika ya maka set

adjMat[indeks][i] ke dalam variabel

temp2.

4. Memanggil variabel anggotaNpar

untuk menampung npar[i].

5. Set AnggotaARNeighbor = temp2.

6. Kemudian ubah wasVisited dari

arrayList menjadi true dengan

memanggil method Search2 dengan

inputan (temp2, indeks).

7. Mengembalikan

AnggotaARNeighbor.

setAnggotaARNeighb

or(String label, Double

radius)

Untuk mengeset

anggotaARNeighbor

ke dalam vertex.

1. Membuat variabel indeks dengan

memanggil method Seacrh dengan

parameter label.

2. Memanggil method setrNeighbors

pada vertexList[indeks] dengan

inputan hasil dari

cariARNeighborhood dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

53

inputan

vertexList[indeks].getAnggotaAR

Neighbor(), index.

setARNeighborhood(

String label)

Untuk mengeset

variable

ARNeighborhood ke

dalam vertex.

1. Membuat variabel indeks dengan

memanggil method Search dengan

parameter label.

2. Memanggil method

setAnggotaARNeighbors pada

vertexList[indeks] dengan inputan

hasil dari

cariAnggotaARNeighborhood

dengan parameter indeks dan

radius.

setNpar() Untuk mengeset

npar.

1. Membuat variabel x.

2. Selama i = 0 dan i tidak lebih dari

jumlah baris adjMat, jika j = 0 dan j

tidak lebih dari jumlah barus

vertexList, maka akan di cek apakah

adjmat[i][j] tidak kurang dari sama

dengan alpha * radius jika ya maka

x = x + 1. Mengeset

arneighbors[i][j] = j.

3. Mengeset npar[i] = x;

4. Mengesey nilai x = 0;

tampilARNeighbor() Untuk menampilkan

anggota npar dan

n(pa, r)

1. Membuat variabel arn.

2. Selama i = 0 dan i tidak lebih dari

jumlah barus adjMat, dan jika j = 0

dan j tidak lebih dari jumlah baris j,

cek apakah adjMat[i][j] tidak lebih

dari sama dengan radius, jika ya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

54

maka arn = arn + 1 dan

menampilkan anggota npar dengan

memanggil adjMat[i][j].

3. Menampilkan n(pa,r) dengan

memanggil atribut arn.

4. Mengeset niali arn = 0;

setJumlahAnggota() Untuk mengeset

jumlah anggota.

1. Membuat variabel x dan y dengan

tipe int.

2. Selama i = 0 dan i kurang dari

jumlah baris adjMat, dan selama j =

0 dan j kurang dari jumlah baris

vertexList, jika ya maka cek apakah

adjMat[i][j] kurang dari sama

dengan radius, jika ya x = x + 1 dan

set rneighbors[i][j] = j.

3. Jika tidak set rneighbors[i][j] =

max.

4. Cek apakah adjmat[i][j] kurang dari

sama dengan alpha * radius, jika ya

maka y = y + 1 dan set

arneighbors[i][j] = j.

5. Set npir[i] = x.

6. Set npar[i] = y.

7. Set nilai x = 0.

8. Set nilai y = 0.

cariLoci() Untuk mencari

outlier.

1. Membuat variabel jml_npar,

jml_npar2, avgNpira, stdevNpira,

mdef, omdef, komdef dengan tipe

Double.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

55

2. Memanggil method

setJumlahAnggota().

3. Mengecek apakah rneighbor[i][j]

tidak sama dengan max. jika ya

maka jml_npar = jml_npar +

npar[j]. npar[j] digunakan untuk

menyimpan nilai rneighbors yang

kurang dari max.

4. Menghitung rata-rata npar dengan

rumus avgNpira = jml_npar /

npir[i].

5. Menampilkan avgNpira dengan

memanggil hasil perhitungan

avgNpira.

6. Mengecek apakah rneighbor[i][j]

tidak sama dengan max. jika ya

maka ekseksui rumus jml_npar2 =

jml_npar2 + Math.pow((npar[j] -

avgNpira), 2).

7. Menghitung standar deviasi npira

dengan memanggil rumus

stdevNpira = Math.sqrt(jml_npar2 /

npir[i]).

8. Menampilkan stdevNpira dengan

memanggil hasil perhitungan

stdevNpira.

9. Menghitung nilai mdef dengan

rumus mdef = 1 - (npar[i] /

avgNpira).

10. Menampilkan nilai mdef dengan

memanggil hasil perhitungan mdef.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

56

11. Mengeset mdef kedalam

vertexList[i] dengan memanggil

method setMdef.

12. Menghitung omdef dengan rumus

omdef = stdevNpira / avgNpira.

13. Menampilkan nilai omdef dengan

memanggil hasil perhitungan

omdef.

14. Mengeset omdef kedalam

vertexList[i] dengan memanggil

method setOmdef.

15. Menghitung komdef dengan rumus

komdef = konstanta * omdef.

16. Menampilkan nilai komdef dengan

memanggil hasil perhitungan

komdef.

17. Mengeset komdef kedalam

vertexList[i] dengan memanggil

method setKomdef.

18. Jika nilai mdef lebih besar dari

komdef maka akan dianggap

sebagai outlier, jika tidak maka

bukan outlier.

19. Mengeset jml_npar = 0.0;

20. Mengeset jml_npar2 = 0.0;

21. Mengeset nilai mdef = 0.0.

22. Mengeset nilai omdef = 0.0.

23. Mengeset nilai komdef = 0.0.

setDataLoci(String

label)

Untuk mengeset

tabel

HasilDeteksiOutlier

1. Membuat ArrayList dengan nama

dlc yang bertipe List<DataLoci>.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

57

agar hasil deteksi

outlier dapat di

tampilkan ke dalam

tabel.

2. Membuat atribut dl dengan tipe

DataLoci.

3. Mengecek apakah nilai Mdef lebih

besar dari nilai Komdef dengan cara

memanggil method getMdef() dan

getKomdef().

4. Jika ya, membuat obyek baru

dengan nama dl untuk mengeset

label, mdef, dan komdef dengan

memanggil method getLabel(),

getMdef(), dan getKomdef().

5. Menambahkan obyek dl kedalam

List<DataLoci>.

6. Membuat obyek dari

LociTabelModel dengan nama ltm.

7. Mengembalikan ltm.

4. Rincian Algrotima pada Method di Kelas

CheckBoxTableModel.

Nama Method Fungsi Method Algoritma Method

add(int a,

SeleksiAtribut

field_m)

Menambah data ke

dalam

CheckBoxTableMode.

1. Membaca parameter a dan field_m.

2. Menambahkan nilai field_m sebagai

data di index ke-a ke dalam list.

removeRow() Menghapus atribut

yang di hapus dari

tabel seleksi atribut.

1. Membuat ArrayList bertipe

SeleksiAtribut dengan nama sa.

2. Selama select kurang dari list maka

di cek apakah atribut tersebut telah

dipilih. Jika ya maka nilai select

ditambahkan pada ArrayList sa.

3. Mengeset list = sa.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

58

5. Rincian Algrotima pada Method di Kelas HalamanUtama.

Nama Method Fungsi Method Algoritma Method

pilihFile() Untuk memilih file

bertipe .xls atau .csv.

1. Menampilkan kotak dialog Open

File.

2. namaFile menangkap nama file

terpilih.

3. Cut_namaFile =

namaFile.split("\\.")

4. Jika cut_namafile adalah .xls

maka jalankan langkah pada tabel

pilih .xls

5. Jika cut_namafile adalah .csv

maka jalankan langkah pada tabel

pilih .csv

6. Jika buka .xls dan .csv maka

menampilkan pesan peringatan.

pilihDataBase(Koneks

iDataBase kdb, String

table)

Untuk memasukkan

data dari tabel

basisdata.

1. Mengambil isi tabel dari basis data

melalui method selectTable

(kdb.getConnection(), table).

2. Membuat vector baru

columnName dan data.

3. Selama i = 1, dan i kurang dari

sama dengan columnCount maka

columnName diisi dengan nama

kolom ke i yang didapat dari

basisdata melalui method

getColumnName.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

59

4. Selama rset.next benar maka buat

vector data2 diisi dengan baris di

kolom ke i.

5. Tambahkan data2 ke dalam data.

6. Selama i = 1 dan i kurang dari

sama dengan columnCount maka

data2 diisi dengan data pada setiap

baris di kolom ke i.

7. Tambahkan data2 ke dalam data.

8. Selama i = 0 dan i kurang dari

model.getColumnCount, membuat

obyek seleksiAtribut kemudian

memanggil method setAtribut

untuk memanggil columnName.

9. Memanggil setPilih(false).

10. Menambahkan seleksiAtribut

kedalam cexboxtable.

11. Atur tabel dataPreprocessTable.

hapusAtribut() Menghapus atribut

tabel data sesuai

atribut yang dipilih

pengguna.

1. Selama i = 0 dan i kurang dari

jumlah baris seleksiTable.

2. Jika seleksiTable.getValueAt(i,

1).equals(true) maka cek apakah

nilai ke i dari seleksiTable berisi

nama kolom pada

dataPreprocessTable.

3. Membuat variabel tcol1 dengan

inisialisasi nilai

dataPreprocessTable.getColumnM

odel().getColumn(j).

4. Membuat variabel tcol 2 dengan

inisialisasi nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

60

dataOutlierTable.getColumnMode

l().getColumn(j).

5. Hapus kolom pada

dataPreprocessTable.

6. Hapus kolom pada

dataOutlierTable.

7. Hapus baris pada cekboxtable.

submitData() Memasukkan data

pada tabel data pada

tab Preprocessing dan

tab Deteksi Outlier.

1. Membuat varaibel tableModel

dengan mengambil model dari

tabel dataPreprocessTable.

2. Mengeset dataOutlierTable

dengan tablemodel.

3. Mengeset

dataOutlierTable.setAutoCreateR

owSorter(true).

4. Menampilkan tabel pada tabel

Deteksi pada tabbed pane Deteksi

Outlier dengan

jTabbedPane1.setSelectedCompo

nent(deteksiPanel) dan

jTabbedPane1.setEnabledAt(1,

true);

prosesDeteksi() Menerima input radius

dan alpha untuk proses

deteksi outlier.

1. Jika nilai radius kosong akan

menampilkan pesan “Nilai radius

tidak boleh kosong!”, lakukan

pengisian ulang parameter

tersebut.

2. Jika nilai alpha kosong akan

menampilkan pesan “Nilai alpha

tidak boleh kosong!”, lakukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

61

pengisian ulang parameter

tersebut.

3. Jika nilai konstanta kosong akan

menampilkan pesan “Nilai

konstanta tidak boleh kosong!”,

lakukan pengisian ulang parameter

tersebut.

4. Membuat variabel t1 bertipe long.

5. Jika nilai radius, alpha, dan

konstanta terisi, maka cek apakah

nilai radius lebih besar dari 0, nilai

alpha lebih besar dari 0, nilai alpha

kurang dari sama dengan 1, dan

nilai konstanta bilangan bulat

positif lebih besar dari 0.

6. Jika tidak akan menampilkan

pesan “Nilai radius harus bilangan

real" + "\n" + "nilai alpha antara 0-

1 + "\n" + "dan nilai konstanta

harus bilangan bulat positif > 0".

7. Jika ya buat obyek baru dengan

nama graph dan memanggil

jumlah baris pada

dataOutlierTable.

8. Mengeset radius.

9. Mengeset alpha.

10. Mengeset konstanta.

11. Memanggil method inputData ke

dalam dataOutlierTable.

12. Memanggil method

tampilJarakEuclidean().

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

62

13. Memanggil method

tampilRNeighbor().

14. Memanggil method

tampilARNeighbor().

15. Memanggil method cariLoci().

16. Mengeset HasilOutlierTable

dengan mengeset model untuk

setDataLoci(dataOutlierTable.get

ColumnName(0)).

17. Membuat variabel t2 bertipe long.

18. Menghitung waktu proses deteksi

dengan rumus ((t2 - t1) *

java.lang.Math.pow(10, -9) dan

menampilkan pada

lamaDeteksiTextField.

simpanLoci() Untuk menyimpan

hasil deteksi outlier ke

dalam file .xls, .doc,

atau .txt.

1. Membuat obyek fileChooser.

2. Membaca lokasi penyimpanan file

dan disimpan dalam variabel

filename.

3. Membaca format file yang dipilih

pengguna dengan

fileChooser.getFileFilter().getDes

cription() kemudian ditampung

dalam variabel ext.

4. Jika ext = Microsoft Excel (*.xls)"

maka format yang dipilih adalah

.xls.

5. Membuat variabel model dengan

memanggil model pada

HasilOutlierTable.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

63

6. Membuat obyek excel yang bertipe

FileWriter.

7. Jika i = 0 dan i kurang dari jumlah

kolom, maka memanggil method

write yang berisi

model.getColumnName(i).

8. Jika i = 0 dan i kurang dari jumlah

baris, jika j = 0 dan j kurang dari

jumlah kolom, maka memanggil

method write yang berisi

model.getValueAt(i, j).toString().

9. Excel.close().

10. Jika ext = Microsoft Word (*.doc)"

maka format yang dipilih adalah

.doc.

11. Membuat obyek bfw yang bertipe

BufferedWriter.

12. Jika i = 0 dan i kurang dari jumlah

kolom, HasilOutlierTable maka

memanggil method write yang

berisi

HasilOutlierTable.getColumnNam

e(i).

13. Jika i = 0 dan i kurang dari jumlah

baris HasilOutlierTable, jika j = 0

dan j kurang dari jumlah kolom

HasilOutlierTable, maka

memanggil method write yang

berisi

HasilOutlierTable.getValueAt(i,

j).toString().

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

64

14. bfw.close();

15. Jika ext = "Text Documents

(*.txt)" maka format yang dipilih

adalah .txt.

16. Membuat obyek bfw yang bertipe

BufferedWriter.

17. Jika i = 0 dan i kurang dari jumlah

kolom, HasilOutlierTable maka

memanggil method write yang

berisi

HasilOutlierTable.getColumnNam

e(i).

18. Jika i = 0 dan i kurang dari jumlah

baris HasilOutlierTable, jika j = 0

dan j kurang dari jumlah kolom

HasilOutlierTable, maka

memanggil method write yang

berisi

HasilOutlierTable.getValueAt(i,

j).toString().

19. bfw.close();

20. Jika proses simpan gagal akan

menampilkan pesan

“Penyimpanan Gagal”.

21. Jika proses simpan berhasil akan

mnampilkan pesan “Hasil Deteksi

Outlier Telah Berhasil Disimpan”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

65

4.4 Perancangan Struktur Data

Untuk mengembangkan sebuah sistem atau aplikasi diperlukan adanya

perancangan struktur data. Konsep struktur data yang digunakan adalah

konsep Graf tak berarah dengan menggunakan struktur data matriks dua

dimensi. Dengan menggunakan graf akan mempermudah dalam memetakan

obyek data dan jarak sebuah obyek dengan obyek yang lainnya. Jarak masing-

masing obyek data dinyatakan dalam edge dan nilai edge dari satu vertex ke

vertex lain, kemudian akan disimpan dalam bentuk matriks dua dimensi.

4.4.1 Graf

Graf merupakan sebuah kumpulan vertex (simpul-simpul) yang

saling terhubung melalui sebuah edge (garis). Yang dinyatakan

sebagai vertex adalah obyek data yang akan dicari outliernya. Vertex

tersebut mengandung list yang akan digunakan untuk menyimpan

nilai atribut sebuah obyek data. Kemudian akan dihitung jarak antar

objek data, jarak tersebut dinyatakan sebagai edge.

Yang dimaksud dengan obyek adalah obyek Mahasiswa, yang

dimaksud dengan vertex adalah list nilai mahasiswa. Kemudian untuk

edge merupakan jarak dari nilai mahasiswa satu dengan lainnya.

Ilustrasi graph dipapakan pada gambar 4.1.

Gambar 4.1 Ilustrasi Struktur Data Graf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

66

4.4.2 Matriks Dua Dimensi

Pertama-tama, edge untuk setiap obyek data mahasiswa masih

belum ada sehingga dinyatakan dengan nilai -1. Kemudian jarak

obyek data terhadap dirinya sendiri dinyatakan dengan nilai 0.

Ilustrasi struktur data matriks dua dimensi dipaparkan pada tabel 4.2.

Tabel 4.2 Ilustrasi Struktur Data Matriks Dua Dimensi

Mahasiswa[1] Mahasiswa[2] Mahasiswa[3]

Mahasiswa[1] 0 -1 -1

Mahasiswa[2] -1 0 -1

Mahasiswa[3] -1 -1 0

Setelah dilakukan perhitungan jarak antar objek, maka jarak

objek -1 diubah sesuai dengan jarak antar obyek setelah dilakukan

perhitungan jarak dengan menggunakan rumus jarak Eucludian

Distance. Untuk jarak obyek data terhadap dirinya sendiri tetap

bernilai 0. Ilustrasi struktur data matriks dua dimensi setelah

dilakukan perhitungan jarak dan vertex dipaparkan pada tabel 4.3.

Tabel 4.3 Ilustrasi Struktur Data Matriks Dua Dimensi

Setelah Dilakukan Perhitungan Jarak antar Vertex

Mahasiswa[1] Mahasiswa[2] Mahasiswa[3]

Mahasiswa[1] 0 2.58 3.21

Mahasiswa[2] 2.58 0 1.05

Mahasiswa[3] 3.21 1.05 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

67

4.5 Perancangan Antarmuka

4.5.1 Tampilan Halaman Awal

Halaman awal adalah tampilan pertama saat sistem dijalankan.

Pada halaman ini terdapat button Masuk. Jika user menekan button

tersebut, maka sistem akan menampilkan halamn selanjutnya, yaitu

halaman utama.

SISTEM PENDETEKSI OUTLIER

MASUK

Universitas Sanata Dharma Yogyakarta

Copyright © 2014

Gambar 4.2 Tampilan Halaman Utama

4.5.2 Tampilan Halaman Utama

Pada halaman ini proses pendeteksian outlier dilakukan. Pada

halaman utama terdapat dua tab, yaitu tab untuk melakukan

preposesing dan tab untuk mendeteksi outlier. Pada tab preposesing

terdapat fungsi untuk memilih file mana yang akan digunakan dan

database mana yang akan digunakan. Terdapat pula fungsi untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

68

menyeleksi atribut, pada fungsi ini user dapat menyeleksi atribut mana

saja yang akan dipakai.

Bantuan

Tentang

Keluar

Preprosessing Deteksi Outlier

Pilih File Pilih Database

Seleksi Atribut

Jumlah Data

Atribut

Tandai Semua

Batal

Hapus

Submit

SISTEM DETEKSI OUTLIER MENGGUNAKAN ALGORITMALOCAL CORRELATION INTEGRAL

Atribut 1 Atribut 2 Atribut 3 Atribut 4

Atribut 1 Atribut 2

Batal

Gambar 4.3 Tampilan Halaman Utama Tab Preprosesing

Kemudian tab yang kedua adalah tab deteksi outlier, pada tab

deteksi outlier user memasukkan nilai radius, alpha, dan konstanta

kemudian melakukan proses deteksi outlier dengan menekan button

Proses. Kemudian pada hasilnya akan ditampilkan pada tabel hasil

deteksi outlier. User juga dapat menyimpan hasil perhitungan didalam

sebuah file yang berbentuk word, excel, dan txt.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

69

Bantuan

Tentang

Keluar

Preprosessing Deteksi Outlier

Proses

Jumlah Data

Hasil Deteksi Outlier

Simpan

SISTEM DETEKSI OUTLIER MENGGUNAKAN ALGORITMALOCAL CORRELATION INTEGRAL

Hapus

Proses Algoritma Local Correlation Integral

radius alpha

Atribut 1 Atribut 2 Atribut 3 Atribut 4

No Mahasiswa MDEF KOMDEF

konstanta

Gambar 4.4 Tampilan Halaman Utama Tab Deteksi Outlier

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

70

4.5.3 Tampilan Halaman Bantuan

Halaman bantuan berisi petunjuk-petunjuk penggunaan sistem

untuk mendeteksi outlier dengan menggunakan algoritma Local

Correlation Integral mulai dari tahap preprosesing data sampai

dengan proses deteksi outlier.

SISTEM DETEKSI OUTLIER MENGGUNAKAN ALGORITMALOCAL CORRELATION INTEGRAL

Petunjuk Penggunaan

A. Petunjuk Preprosessing Data

B. Petunjuk Proses Deteksi Outlier

Kembali

Gambar 4.5 Tampilan Halaman Bantuan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

71

4.5.4 Tampilan Halaman Tentang

Halaman tentang berisi nama sistem, serta nama pembuat sistem

tersebut.

SISTEM PENDETEKSI OUTLIER

Dibuat oleh:FELISITAS BRILLIANTI

105314013

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS SAINS DAN TEKNOLOGIUNIVERSITAS SANATA DHARMA

YOGYAKARTA2014

PENGEMBANGAN ALAT BANTUDETEKSI OUTLIER MENGGUNAKAN

ALGORITMA LOCAL CORRELATION INTEGRAL

Kembali

Gambar 4.6 Tampilan Halaman Tentang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

72

4.5.5 Tampilan Menu Keluar

Pada halaman menu keluar, user dihadapkan pada dua button,

yaitu button YA dan button TIDAK. Jika user menekan button

TIDAK, maka sistem akan kembali pada halaman utama, jika user

menekan button YA maka sistem akan keluar.

Apakah anda ingin keluar dari sistem?

YA TIDAK

Gambar 4.7 Tampilan Menu Keluar

4.5.6 Tampilan Halaman Pilih File

Pada halaman pilih file, user dapat memilih file mana yang

akan digunakan untuk proses deteksi.

OPEN CANCEL

Look In:

File Name:

Files of type:

Gambar 4.8 Tampilan Halaman Pilih File

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

73

4.5.7 Tampilan Halaman Pilih Database

Pada halaman pilih database terdapat fungsi untuk memilih

database mana yang akan digunakan. Kemudian user diminta untuk

memasukkan username, password, database name, dan URL.

PILIH KONEKSI DATABASE

OK BATAL

Username

Password

Database Name

Url

Gambar 4.9 Tampilan Halaman Pilih Database

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

74

4.5.8 Tampilan Halaman Pilih Tabel

Pada halaman pilih tabel, user dapat memilih tabel mana yang

akan digunakan. Tabel tersebut berada dalam database. Kemudian

setelah menekan button OK maka isi tabel tersebut akan ditampilkan

ke halaman utama.

PILIH TABEL

OK BATAL

Gambar 4.10 Tampilan Halaman Pilih Tabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

75

BAB V

IMPLEMENTASI SISTEM

Bab ini berisi tentang implementasi Sistem Deteksi Outlier yang

menggunakan Algoritma Local Correlation Integral. Implementasi sistem ini

dilakukan dengan menggunakan NetBeans IDE 6.9.1 pada komputer dengan

spesifikasi processor Inter Core 2 Duo 2.2 GHz, RAM 2.00 GB, dan hardisk 320

GB. Sistem ini dibuat sesuai dengan perancangan sistem yang dibuat pada bab

sebelumnya. Dan sistem ini dibuat dengan menggunakan bahasa pemrograman

Java.

5.1 Implementasi Antarmuka

Sistem Pendeteksi Outlier menggunakan Algoritma Local Correlation

Integral telah selesai dibuat menjadi sebuah aplikasi. Berikut ini adalah

tampilan antarmuka dari Sistem Pendeteksian Outlier menggunakan

Algoritma Local Correlation Integral.

5.1.1 Implementasi Halaman Awal

Halaman awal adalah tampilan yang pertama kali keluar pada

saat sistem dijalankan. Pada halaman ini terdapat tombol ‘Masuk’.

Jika pengguna ingin masuk kedalam sistem Pendeteksi Outlier

menggunakan Algoritma Local Correlation Integral, maka pengguna

harus menekan tombol ‘Masuk’.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

76

Gambar 5.1 Antarmuka Halaman Awal

5.1.2 Implementasi Halaman Utama

Halaman utama akan muncul setelah pengguna menekan tombol

‘Masuk’. Pada halaman utama ini terdapat dua Tabbed Pane yaitu tab

Preprosessing dan tab Deteksi Outlier. Pada halaman utama ini juga

terdapat tombol ‘Bantuan’, tombol ‘Tentang’, dan tombol ‘Keluar’ di

sebelah kiri halaman utama. Halaman utama ini merupakan fungsi inti

dari sistem.

Pada tab Preprosessing terdapat tombol ‘Pilih File’, tombol

‘Pilih Database’, tombol ‘Tandai’, tombol ‘Tandai Semua’, tombol

‘Batal’, tabel ‘dataPreprocessTable’, tabel ‘dataOutlierTable’, dan

terdapat text field ‘jumlahDataSeleksiTextField’ dan text field

‘pilihFileTextField’.

Pada tab Deteksi Outlier terdapat tombol ‘Proses’, tombol

‘Simpan’, dan tombol ‘Hapus’, text field ‘radiusTextField’,

‘alphaTextField’, ‘jumlahDataOutlierTextField’, dan

‘jumlahOutlierTextField’. Terdapat juga tabel ‘dataOutlierTable’ dan

‘HasilOutlierTable’.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

77

Jika pengguna ingin mengolah data berformat .xls atau .csv

maka pengguna menekan tombol ‘Pilih File’ untuk mencari data yang

akan diolah seperti dibawah ini.

Gambar 5.2 Kotak Dialog saat memilih File

Setelah memilih file kemudian pengguna menekan tombol

‘Open’. Setelah menekan tombol ‘Open’ maka data tersebut akan

ditampilkan dalam tabel seperti tampak pada antarmuka di bawah ini:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

78

Gambar 5.3 Antarmuka Halaman Utama (data file .xls tertampil)

Kemudian pengguna melakukan seleksi atribut untuk memilih

atribut mana yang akan di gunakan untuk proses deteksi dengan cara

memilih 1 atau lebih atribut yang akan dihapus.

Gambar 5.4 Kotak Seleksi Atribut

Selanjutnya pengguna meneka tombol ‘Hapus’ untuk

menghapus atribut yang tidak digunakan untuk proses deteksi.

Kemudian sistem akan menampilkan tab Deteksi Outlier. Kemudian

pada tab Deteksi Outlier pengguna menginputkan nilai radius, alpha,

dan konstanta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

79

Gambar 5.5 Proses Deteksi Outlier

Setelah pengguna menginputkan nilai radius, alpha, dan

konstanta pengguna menekan tombol ‘Proses’.

Gambar 5.6 Tampilan Hasil Outlier

Selanjutnya pengguna dapat menyimpan hasil outlier dengan

menekan tombol ‘Simpan’. Hasil outlier dapat disimpan dengan

format .doc, .xls, dan .txt.

Gambar 5.7 Tampilan Save Dialog

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

80

Setelah selesai menyimpan, jika file berhasil disimpan akan

muncul pesan “Hasil Deteksi Outlier Telah Berhasil Disimpan di

E:\Hasil Outlier”.

Gambar 5.8 Pesan Ketika Proses Penyimpanan Hasil Outlier

Berhasil Dilakukan

5.1.3 Implementasi Halaman Pilih Database

Halaman Pilih Database adalah halaman yang digunakan untuk

input data dari database. Halaman pilih database muncul ketika

pengguna menekan tombol ‘Pilih Database’ pada tab Preprosessing.

Gambar 5.9 Antarmuka Halaman Pilih Database

Pada halaman Pilih Database pengguna memilih koneksi

Database ‘MySQL’ atau ‘Oralce’. Kemudian pengguna memasukkan

Username, Password, Database Name, dan URL.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

81

Gambar 5.10 Antarmuka Halaman Pilih Database (Setelah

Pengguna memilih Database)

Selanjutnya pengguna menekan tombol ‘OK’, jika username,

password, nama database, dan URL yang dimasukkan benar maka

akan muncul pesan “Koneksi Berhasil”.

Gambar 5.11 Pesan Koneksi Berhasil

5.1.4 Implementasi Halaman Tampil Tabel

Halaman Tampil Tabel akan muncul setelah pengguna berhasil

terhubung atau login ke database. Kemudian pengguna memilih tabel

yang akan di deteksi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

82

Gambar 5.12 Antarmuka Halaman Tampil Tabel

Setelah menekan tombol ‘OK’ sistem akan menampilkan data

pada tabel di Halaman Utama tab Preprosessing.

Gambar 5.13 Hasil Input Data dari Database

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

83

5.1.5 Implementasi Halaman Bantuan

Halaman ini berisi tentang informasi tentang bagaimana sistem

ini digunakan. Halaman ini dapat muncul ketika pengguna menekan

tombol ‘Bantuan’ pada halaman utama.

Gambar 5.14 Antarmuka Halaman Bantuan

5.1.6 Implementasi Halaman Tentang

Halaman ini berisi tentang informasi sistem yang telah di buat,

yaitu pengembangan alat bantu Deteksi Outlier Menggunakan

Algoritma Local Correlation Integral.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

84

Gambar 5.15 Antarmuka Halaman Tentang

5.1.7 Impelementasi Halaman Konfirmasi Keluar

Halaman Konfirmasi Keluar ditampilkan pada saat pengguna

menekan tombol ‘Keluar’. Jika pengguna menekan tombol ‘OK’

maka akan keluar dari sistem, tetapi jika pengguna menekan tombol

‘TIDAK’ maka sistem akan kembali ke halaman utama.

Gambar 5.16 Antarmuka Halaman Konfirmasi Keluar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

85

5.1.8 Implementasi Pengecekan Masukan

Sistem pendeteksi outlier menggunakan algoritma Local

Correlation Integral menyediakan fungsi error handling untuk

mengatasi kesalahan pengguna pada waktu melakukan input ke sistem

pendeteksi outlier.

1. Pada saat menginputkan file yang bukan bertipe .xls atau .csv

sistem akan menampilkan pesan “File yang Anda pilih harus

berformat .xls atau .csv”.

Gambar 5.17 Error Handling (1)

2. Pada saat pengguna tidak memasukkan Username, Password,

Nama Database, atau URL pada saat akan login database untuk

menginput data, maka sistem akan menampilkan pesan

“Username, Password, Nama Database, dan URL tidak boleh

kosong!”.

Gambar 5.18 Error Handling (2)

3. Pada saat pengguna salah memasukkan Username, Password,

Nama Database, atau URL pada saat akan login database untuk

menginput data, maka sistem akan menampilkan pesan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

86

“Username, Password, Nama Database, dan URL yang anda

masukkan”.

Gambar 5.19 Error Handling (3)

4. Pada saat pengguna menekan tombol ‘Proses’ tetapi pengguna

tidak menginputkan nilai radius. Maka sistem akan menampilkan

pesan “Nilai radius tidak boleh kosong!”.

Gambar 5.20 Error Handling (4)

5. Pada saat pengguna menekan tombol ‘Proses’ tetapi pengguna

tidak menginputkan nilai alpha. Maka sistem akan menampilkan

pesan “Nilai alpha tidak boleh kosong!”.

Gambar 5.21 Error Handling (5)

6. Pada saat pengguna menekan tombol ‘Proses’ tetapi pengguna

tidak menginputkan nilai konstanta. Maka sistem akan

menampilkan pesan “Nilai konstanta tidak boleh kosong!”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

87

Gambar 5.22 Error Handling (6)

7. Pada saat pengguna menekan tombol ‘Proses’ tetapi pengguna

menginputkan nilai radius bukan bilangan real atau pengguna

tidak menginputkan nilai alpha dengan bilangan real antara 0-1.

Maka sistem akan menampilkan pesan “Nilai radius harus

bilangan real, nilai alpha antara 0-1 dan nilai konstanta harus

bilangan bulat positif > 0”.

Gambar 5.23 Error Handling (7)

8. Pada saat pengguna menginputkan nilai radius berupa huruf dan

angka negatif.

Gambar 5.24 Error Handling (8)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

88

9. Pada saat pengguna menginputkan nilai alpha berupa huruf dan

angka negatif.

Gambar 5.25 Error Handling (9)

10. Pada saat pengguna menginputkan nilai konstanta berupa huruf

dan angka negatif.

Gambar 5.26 Error Handling (10)

5.2 Implementasi Struktur Data

Tahap ini berisi tentang implementasi struktur data Sistem ini

menggunakan konsep graph dengan matriks dua dimensi.

5.2.1 Implementasi kelas Graph.java

Graph berfungsi untuk membentuk graph dan untuk

membentuk verteks dari setiap obyek data. Dalam graph juga

terdapat edge yang berfungsi untuk menghubungkan verteks.

Method graph ini menggunakan sebuah parameter yaitu maxVertex.

Parameter maxVertex berfungsi sebagai ukuran maksimum dari

verteks. Method addVertex berfungsi untuk membuat sebuah

verteks. Dalam method ini menggunakan dua parameter yaitu label

dan nilai. Setiap obyek merupakan verteks. Kemudian untuk

memasukkan nilai edge antar obyek, nilai edge diinputkan melalui

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

89

method addEdge. Nilai edge adalah nilai jarak yang dihitung

menggunakan rumus Euclidean Distance.

5.2.2 Implementasi kelas Verteks.java

Kelas Verteks merupakan kelas yang menyimpan setiap obyek

data ke dalam verteks. Dalam kelas ini terdapat beberapa atribut

yang berfungsi untuk menghitung dan melakukan proses deteksi

outlier pada setiap obyek data.

Atribut yang pertama adalah label. Atribut ini berfungsi untuk

menyimpan label pada setiap obyek. Atribut yang kedua adalah nilai,

atribut ini berfungsi untuk menyimpan nilai dari setiap obyek.

Atribut ketiga adalah wasVisited yang berfungsi untuk menandai

suatu obyek yang memiliki jarak kurang dari sama dengan radius.

Atribut yang keempat adalah jumlah_rNeighbors yang berfungsi

untuk menyimpan jumlah rNeighbors. Atribut yang kelima adalah

jumlah_arNeighbors yang berfungsi untuk menyimpan jumlah

arNeighbors. Atribut keenam adalah rNeighbor yang berfungsi

untuk menyimpan rNeighbors. Atribut ketujuh adalah arNeighbor

yang berfungsi untuk menyimpan arNeighbors. Atribut kedelapan

adalah avgNpira yang berfungsi untuk menyimpan avgNpira.

Atribut kedelapan adalah stdevNpira yang berfungsi untuk

menyimpan stdevNpira. Atribut kesembilan adalah mdef yang

berfungsi untuk menyimpan mdef. Atribut kesepuluh adalah koMdef

yang berfungsi untuk menyimpan avgNpira. Atribut kesebelas

adalah AnggotaRNeighbor yang berfungsi untuk menyimpan

AnggotaRNeighbor. Atribut keduabelas adalah

AnggotaARNeighbor yang berfungsi untuk menyimpan

AnggotaARNeighbor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

90

5.3 Implementasi Kelas

Tahap ini berisi tentang implementasi kelas yang digunakan dalam

pembuatan sistem. Method yang digunakan adalah method yang memiliki

fungsi utama dalam sistem. Tabel 5.1 merupakan tabel yang berisi

implementasi setiap kelas.

Impelementasi setiap kelas dapat dilihat pada lampiran 10.

Tabel 5.1 Tabel Impementasi Kelas

No Nama Kelas Nama File Fisik Nama File Executable

1 Graph Graph.java Graph.class

2 Verteks Verteks.java Verteks.class

3 DataLoci DataLoci.java DataLoci.class

4 DatabaseController DatabaseController.java DatabaseController.class

5 SeleksiAtribut SeleksiAtribut.java SeleksiAtribut.class

6 CheckBoxTableModel CheckBoxTableModel.java CheckBoxTableModel.class

7 KoneksiDataBase KoneksiDataBase.java KoneksiDataBase.class

8 LociTabelModel LociTabelModel.java LociTabelModel.class

9 HalamanAwal HalamanAwal.form HalamanAwal.class

10 HalamanBantuan HalamanBantuan.form HalamanBantuan.class

11 HalamanPilihDatabase HalamanPilihDatabase.form HalamanPilihDatabase.class

12 HalamanPilihFile HalamanPilihFile.form HalamanPilihFile.class

13 HalamanPilihTabel HalamanPilihTabel.form HalamanPilihTabel.class

14 HalamanTentang HalamanTentang.form HalamanTentang.class

15 HalamanUtama HalamanUtama.form HalamanUtama.class

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

91

BAB VI

PENGUJIAN DAN ANALISIS PENGUJIAN

Bab ini berisi tentang tahap pengembangan sistem pendeteksi outlier

menggunakan algoritma Local Correlation Integral yaitu pengujian sistem. Di

bawah ini merupakan tahap-tahap pengujian terhadap sistem.

6.1 Rencana Pengujian

Pengujian terhadap sistem ini meliputi tiga metode pengujian, yaitu

pengujian Blackbox, pengujian efek perubahan nilai atribut terhadap hasil

deteksi outlier, dan pengujian reviewer dan validitas pengguna. Metode

pengujian dengan Blackbox adalah pengujian untuk mengetahui apakah

semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan

kebutuhan fungsional yang telah didefinisikan. Metode Blackbox

memungkinkan perekayasa perangkat lunak mendapatkan serangkaian

kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional

untuk suatu program. Metode Blackbox dilakukan untuk menguji apakah

perangkat lunak berfungsi dengan benar. Pengujian efek perubahan nilai

atribut terhadap hasil deteksi outlier dilakukan dengan cara mengubah nilai

parameter yang dimiliki algoritma Local Correlation Integral yaitu nilai

radius. Pengujian review dan validasi oleh pengguna dilakukan dengan

membandingkan hasil deteksi outlier yang diperoleh melalui sistem dengan

hasil deteksi outlier yang dilakukan oleh pengguna dalam hal ini Kepala

Program Studi Teknik Informatika Universitas Sanata Dharma.

Berikut ini merupakan tabel rencana pengujian Blackbox yang akan

dilakukan pada masing-masing kelas uji. Rencana pengujian dipaparkan pada

tabel 6.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

92

Tabel 6.1 Tabel Rencana Pengujian

Kelas Uji Butir Uji Jenis Pengujian

DatabaseConnection Koneksi ke dalam

database (MySql dan

Oracle).

Blackbox

HalamanUtama Menampilkan data file

dalam extensi .xls

Blackbox

Menampilkan data file

dengan extensi .csv

Blackbox

Menampilkan data

dari tabel basisdata.

Blackbox

Melakukan seleksi

atribut

Blackbox

Menampilkan hasil

deteksi outlier.

Blackbox

HalamanPilihDatabase Menampilkan form

pilihDatabase untuk

masuk ke basis data

sesuai dengan pilihan

pengguna.

Blackbox

HalamanPilihTabel Menampilkan daftar

tabel dari database

sesuai pilihan

pengguna.

Blackbox

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

93

6.1.1 Hasil Pengujian Blackbox

6.1.1.1 Pengujian Input Data

Tabel 6.2 merupakan hasil pengujian pada kelas

HalamanUtama.

Tabel 6.2 Tabel Pengujian Input Data

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Memasukkan

data dari file

berekstensi .xls

Data tertampil ke

dalam tabel.

Data tertampil

ke dalam tabel.

Diterima

Memasukkan

data dari file

berekstensi .csv

Data tertampil ke

dalam tabel.

Data tertampil

ke dalam tabel.

Diterima

Memasukkan

data dari tabel

basisdata.

Data tertampil ke

dalam tabel.

Data tertampil

ke dalam tabel.

Diterima

Menyeleksi

atribut

Atribut yang

tidak digunakan

terhapus dari

tabel.

Atribut yang

tidak digunakan

terhapus dari

tabel.

Diterima

Melakukan

proses deteksi

outlier

menggunakan

algoritma Local

Correlation

Integral.

Menghasilkan

output hasil

deteksi beserta

atribut terkait.

Hasil deteksi

outlier berhasil

ditampilkan.

Diterima

Kasus Dan Hasil Uji (Data Salah)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

94

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Input data

dengan extensi

selain .xls atau

.csv

Menampilkan

pesan peringatan

“File yang anda

pilih harus

berformat .xls

atau .csv”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

6.1.1.2 Pengujian Koneksi Database

Tabel 6.3 merupakan hasil pengujian pada kelas

KoneksiDatabase.

Tabel 6.3 Tabel Pengujian Koneksi Database

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Memasukkan

username,

password, url,

dan nama

database benar

(mySQL)

Menampilkan

pesan “Koneksi

ke Database

MySQL

Berhasil”.

Pesan berhasil

ditampilkan.

Diterima

Memasukkan

username,

password, url,

dan nama

database benar

(Oracle)

Menampilkan

pesan “Koneksi

ke Database

Oracle Berhasil”.

Pesan berhasil

ditampilkan.

Diterima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

95

Kasus Dan Hasil Uji (Data Salah)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Input username,

password, nama

database, dan url

ada yang kosong

(mySQL).

Menampilkan

pesan peringatan

“Username,

Password, Nama

Database, dan

URL tidak boleh

kosong!”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input username,

password, nama

database, dan url

ada yang salah

(mySQL).

Menampilkan

pesan peringatan

“Username,

Password, Nama

Database, dan

URL yang anda

masukkan

salah”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input username,

password, nama

database, dan url

ada yang kosong

(Oracle).

Menampilkan

pesan peringatan

“Username,

Password, Nama

Database, dan

URL tidak boleh

kosong!”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input username,

password, nama

database, dan url

ada yang salah

(Oracle).

Menampilkan

pesan peringatan

“Username,

Password, Nama

Database, dan

Pesan

peringatan

berhasil

ditampilkan.

Diterima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

96

URL yang anda

masukkan

salah”.

6.1.1.3 Pengujian Halaman Pilih Tabel

Tabel 6.4 merupakan hasil pengujian kelas

HalamanPilihTabel.

Tabel 6.4 Tabel Pengujian Halaman Tampil Tabel

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Membuka

HalamanPilihTabel

Menampilkan

daftar tabel

yang berasal

dari basisdata

yang dipilih

pengguna.

Daftar tabel

berhasil

ditampilkan.

Diterima

6.1.14 Pengujian Seleksi Atribut

Tabel 6.5 merupakan hasil pengujian untuk fungsi

SeleksiAtribut.

Tabel 6.5 Tabel Pengujian Seleksi Atribut

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

97

Memilih salah

satu atau lebih

atribut yang

akan dihapus.

Kemudian

pengguna

menekan tombol

“Hapus”.

Atribut yang

dipilih terhapus.

Atribut berhasil

dihapus dari

tabel.

Diterima

Menekan

tombol “Hapus

Semua”.

Semua atribut

dihapus.

Semua atribut

berhasil dihapus

dari tabel.

Diterima

Menekan

tombol “Batal”

Atribut yang

ditandai menjadi

tidak ditandai.

Semua atribut

dalam tabel

tidak ditandai.

Diterima

6.1.1.5 Pengujian Deteksi Outlier

Tabel 6.6 merupakan hasil pengujian untuk fungsi

SeleksiAtribut pada kelas HalamanUtama.

Tabel 6.6 Tabel Pengujian Deteksi Outlier

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Menginputkan

parameter radius

berupa bilangan

real dan alpha

berupa bilangan

real antara 0-1.

Hasil deteksi

outlier beserta

atributnya.

Hasil deteksi

outlier beserta

atributnya.

Diterima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

98

Kasus Dan Hasil Uji (Data Salah)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Input parameter

radius ada yang

kosong

Menampilkan

pesan peringatan

“Nilai radius

tidak boleh

kosong!”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input parameter

alpha ada yang

kosong

Menampilkan

pesan peringatan

“Nilai alpha

tidak boleh

kosong!”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input parameter

konstanta ada

yang kosong

Menampilkan

pesan peringatan

“Nilai konstanta

tidak boleh

kosong!”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

Input parameter

radius, alpha ada

yang bukan

bilangan real dan

konstanta ada

yang bukan

bilangan bulat

positif > 0.

Menampilkan

pesan peringatan

“Nilai radius

harus bilangan

real, nilai alpha

antara 0-1 dan

nilai kontsanta

harus bilangan

bulat positif >

0”.

Pesan

peringatan

berhasil

ditampilkan.

Diterima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

99

6.1.1.6 Pengujian Simpan Hasil Deteksi Outlier

Tabel 6.7 merupakan hasil pengujian untuk fungsi simpan

hasil deteksi outlier pada kelas HalamanUtama.

Tabel 6.7 Tabel Pengujian Simpan Hasil Deteksi Outlier

Kasus Dan Hasil Uji (Data Benar)

Aktivitas yang

dilakukan

Keluaran yang

diharapkan

Hasil yang

diperoleh

Kesimpulan

Menekan

tombol

“Simpan” (.doc)

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .doc

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .doc

Diterima

Menekan

tombol

“Simpan” (.xls)

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .xls

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .xls

Diterima

Menekan

tombol

“Simpan” (.txt)

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .txt

File tersimpan di

lokasi yang telah

di pilih oleh

pengguna dan

berekstensi .txt

Diterima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

100

6.1.2 Kesimpulan Hasil Pengujian Blackbox

Berdasarkan pengujian terhadap setiap fungsi sistem dengan

kasus uji seperti diatas, dapat disimpulkan bahwa Sistem Deteksi

Outlier Menggunakan Algoritma Local Correlation Integral ini dapat

menangani kesalahan (error handling) terhadap fungsi yang tidak

berjalan sesuai aturan dan dapat menghasilkan output yang sesuai

dengan yang diharapkan oleh pengguna.

6.1.3 Hasil Pengujian Efek Perubahan Nilai Atribut Penambangan

Data

Pengujian terhadapat Sistem Deteksi Outlier menggunakan

Algoritma Local Correlation Integral dapat dilakukan dengan

mengubah nilai input parameter radius. Berikut adalah tabel hasil

deteksi outlier mahasiswa angkatan 2007 dan 2008.

6.1.3.1 Pengujian Dengan Data Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Tes Tertulis.

Hasil pengujian dengan menggunakan data angakatan 2007

dan 2008 untuk jalur tes tertulis dipaparkan pada tabel 6.8.

Tabel 6.8 Tabel Jumlah Outlier Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Tes Tertulis Semester 1 dengan

Nilai Radius dan Konstanta yang berubah-ubah dan Nilai Alpha

= 0.5

k = 1 k = 2 k = 3

r = 4.0 26, 28, 33, 36, 58, 72 26, 28, 36 -

r = 4.5 26, 28, 33, 36, 58, 69, 72 26, 28, 33 28

r = 5.0 26, 28, 33, 36, 58, 69, 72 26, 28, 33 28

r = 5.5 26, 28, 33, 36, 58 26, 28 28

r = 6.0 26, 28, 33, 58 28 28

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

101

6.1.3.2 Pengujian Dengan Data Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Tes Prestasi.

Hasil pengujian dengan menggunakan data angakatan 2007

dan 2008 untuk jalur prestasi dipaparkan pada tabel 6.9.

Tabel 6.9 Tabel Jumlah Outlier Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Prestasi Semester 1 dengan nilai

radius dan konstanta yang berubah-ubah dan nilai alpha = 0.5

k = 1 k = 2 k = 3

r = 3.0 10, 15, 16, 76, 79, 124 10, 15, 16, 76, 124 76

r = 3.5 15, 76, 124 76, 124 76

r = 4.0 76, 124 76, 124 76

r = 4.5 76, 124 76 76

r = 5.0 76 76 76

6.1.3.3 Pengujian Dengan Data Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Test Tertulis dan Jalur

Prestasi.

Hasil pengujian dengan menggunakan data angakatan 2007

dan 2008 untuk jalur tes tertulis dan jalur prestasi dipaparkan

pada tabel 6.10.

Tabel 6.10 Tabel Jumlah Outlier Mahasiswa Teknik Informatika

Angkatan 2007 dan 2008 Jalur Test Tertulis dan Prestasi Semester 1

dengan nilai radius dan konstanta yang berubah-ubah dan nilai alpha =

0.5

k = 1 k = 2 k = 3

r = 3.0 7, 10, 15, 16, 26, 27, 28,

33, 36, 58, 68, 69, 76, 124

10, 16, 26, 27,

28, 36, 68, 76,

124

28, 76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

102

r = 3.5 7, 10, 16, 26, 27, 28, 36,

68, 69, 76, 124

26, 28, 36, 76 28, 76

r = 4.0 10, 16, 26, 27, 28, 36, 68,

69, 76, 124

28, 76 28, 76

r = 4.5 7, 10, 16, 19, 20, 21, 26,

27, 28, 36, 68, 69, 76, 124

28, 76 28, 76

r = 5.0 10, 16, 26, 27, 28, 36, 76 28, 76 28, 76

6.1.4 Kesimpulan Hasil Pengujian Efek Perubahan Nilai Atribut

Penambangan Data.

Dari percobaan dengan melakukan perubahan nilai radius dan

konstanta maka dapat disimpulkan bahwa:

1. Jika nilai parameter radius tetap dan konstanta bertambah, maka

outlier yang dihasilkan akan semakin berkurang. Nilai radius

mempengaruhi jumlah outlier.

2. Jika nilai parameter radius bertambah dan kosntanta tetap, maka

jumlah outlier yang didapatkan akan semakin berkurang. Nilai

konstanta mempengaruhi jumlah outlier.

3. Nilai parameter radius sangat mempengaruhi besarnya nilai

MDEF, semakin kecil nilai parameter radius maka nilai MDEF

akan semakin mendekati 1.

6.1.5 Hasil Pengujian Review dan Validitas Pengguna

6.1.5.1 Perbandingan Perhitungan Manual dan Hasil Sistem

Dataset yang digunakan untuk proses deteksi adalah

data akademik mahasiswa Program Studi Teknik Informatika

angkatan 2007 yang diterima melalui jalur tes tertulis.

Atribut yang digunakan adalah data ips1, ips2, ips3, ips4,

nil11, nil12, nil13, nil14, dan nil15. Data tersebut akan diolah

dan dihitung secara manual menggunakan Microsoft Excel

untuk mendeteksi outlier dengan menggunakan algoritma

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

103

Local Correlation Integral. Hasil perhitungan manual

tersebut dibandingkan hasilnya dengan hasil perhitungan dari

Sistem Deteksi Outlier Menggunakan Algoritma Local

Correlation Integral.

Berikut adalah hasil perbandingan deteksi outlier dari

data 13 mahasiswa angkatan 2007 yang mengikuti jalur tes

tertulis menggunakan perhitungan manual dan perhitungan

sistem. Tabel 6.11 merupakan tabel yang berisi data 13

mahasiswa beserta atribut ips1, ips2, ips3, ips4, nill11, nil12,

nil13, nil14 dan nil15.

Tabel 6.11 Tabel Data Set untuk Perbandingan Manual dan Sistem

No

Alias ips1 ips2 ips3 ips4 nil11 nil12 nil13 nil14 nil15

P1 2.94 3.27 2.96 2.81 2.80 2.00 2.00 2.00 1.60

P2 1.72 1.65 1.53 1.68 1.20 0.80 3.20 1.20 0.40

P3 2.56 2.77 2.52 3.13 2.40 1.60 2.00 2.80 2.00

P4 2.44 2.63 2.00 2.67 2.00 2.00 2.40 2.00 2.00

P5 2.94 2.59 1.55 2.35 2.40 1.60 2.40 1.20 2.80

P6 1.89 2.20 2.21 1.95 2.40 2.00 2.40 2.40 2.80

P7 4.00 3.52 3.43 3.70 2.40 2.40 1.60 1.60 2.80

P8 1.44 2.42 2.53 1.96 4.00 2.00 3.60 2.40 2.80

P9 3.72 3.48 3.36 3.65 3.20 2.40 2.40 2.80 2.00

P10 1.72 2.65 2.43 2.24 2.80 2.40 3.20 3.20 0.80

P11 3.28 2.75 2.90 3.00 2.80 2.40 2.80 2.40 2.40

P12 2.89 3.21 3.33 3.36 2.40 2.00 2.00 2.80 2.00

P13 2.89 3.18 3.04 2.95 2.00 2.00 3.20 2.00 2.80

Di bawah ini merupakan tabel 6.12 yang berisi hasil

perbandingan perhitungan secara manual dan perhitungan dengan

sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

104

Tabel 6.12 Tabel Perbandingan Hasil Deteksi Outlier

Mahasiswa Angkatan 2007 Jalur Tes

Input

Parameter

(r, , dan k)

Semester

Hasil Outlier

Hitung

Manual Sistem

r = 6; =

0.5; k = 3

1 P2 P2

2 P2 P2

3 P2 P2

4 P2 P2

6.1.5.2 Kesimpulan Hasil Perbandingan Perhitungan Manual

dengan Perhitungan Sistem.

Dari hasil perbandingan perhitungan manual dengan

perhitungan sistem untuk data mahasiswa program studi

Teknik Informatika angkatan 2007 melalui jalur tes tertulis

dengan pendeteksian outlier yang dilakukan menghasilkan

hasil outlier dari perhitungan manual dan perhitungan sistem

yang sama. Maka dapat disimpulkan bahwa Sistem Deteksi

Outlier Menggunakan Algoritma Local Correlation Integral

dapat menghasilkan output sesuai dengan yang diharapkan

seperti pada perhitungan manual.

6.1.5.3 Hasil Deteksi dari Sistem untuk Pengujian Review dan

Validitas oleh Pengguna

Pengujian ini dilakukan untuk mengetahui bahwa hasil

deteksi outlier adalah benar, oleh karena itu perlu dilakukan

analisis oleh Kepala Program Studi (Kaprodi) Teknik

Informatika. Analisis ini dilakukan untuk

mempertimbangkan apakah kumpulan nilai yang dimiliki

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

105

oleh mahasiswa yang dinyatakan sebagai outlier tersebut

memang berbeda dari mahasiswa lain.

Berikut ini merupakan hasil outlier yang diperoleh

sistem untuk tiga macam dataset, detail data dapat dilihat di

lampiran 6.

1. Hasil deteksi outlier mahasiswa angkatan 2007-2008

jalur test tertulis dengan jumlah data 54 mahasiswa,

atribut yang digunakan adalah ips1, ips2, ips3, ips4,

nil11, nil12, nil13, nil14, dan nil15. Parameter yang

digunakan radius = 6.0, alpha = 0.5, dan konstanta = 3.

Tabel 6.13 merupakan tabel hasil perhitungan sistem

mahasiswa angkatan 2007-2008 untuk jalur tes tertulis.

Tabel 6.13 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur Tes Tertulis

Sem Nomor

Urut ips1 ips2 ips3 ips4 nil11 nil12 nil13 nil14 nil15

1 28 1.72 - - - 1.20 0.80 3.20 1.20 0.40

2 28 - 1.65 - - 1.20 0.80 3.20 1.20 0.40

3 28 - - 1.53 - 1.20 0.80 3.20 1.20 0.40

74 - - 0.19 - 3.20 2.00 3.60 3.20 1.60

4 28 - - - 1.68 1.20 0.80 3.20 1.20 0.40

67 - - - 0.00 2.80 2.00 1.20 1.60 1.60

2. Hasil deteksi outlier mahasiswa angkatan 2007-2008

jalur prestasi dengan jumlah data 72 mahasiswa, atribut

yang digunakan adalah ips1, ips2, ips3, ips4, dan nilai

final. Parameter yang digunakan radius = 3.0, alpha =

0.5, dan konstanta = 3.

Tabel 6.14 merupakan tabel hasil perhitungan sistem

mahasiswa angkatan 2007-2008 untuk jalur prestasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

106

Tabel 6.14 Tabel Hasil Perhitungan Sistem 2007-2008 Jalur

Prestasi

Sem Nomor

Urut ips1 ips2 ips3 ips4 final

1 76 0.85 - - - 2.85

2 17 - 0.32 - - 2.72

124 - 0.44 - - 2.90

3 3 - - 3.78 - 2.78

17 - - 0.69 - 2.72

107 - - 3.76 - 3.33

4 88 - - - 0.94 2.89

94 - - - 1.20 2.77

122 - - - 1.47 3.05

3. Hasil deteksi outlier mahasiswa angkatan 2007-2008

jalur test tertulis dan prestasi dengan jumlah data 126

mahasiswa, atribut yang digunakan adalah ips1, ips2,

ips3, ips4, dan nilai final. Parameter yang digunakan

radius = 3.5, alpha = 0.5, dan konstanta = 3.

Tabel 6.15 merupakan tabel hasil perhitungan sistem

mahasiswa angkatan 2007-2008 untuk jalur tes tertulis.

Tabel 6.15 Tabel Hasil Perhitungan Sistem 2007-2008

Jalur Tes dan Prestasi

Sem Nomor

Urut ips1 ips2 ips3 ips4 final

Jalur

Tes

1 28 1.72 - - - 1.12 Tes

76 0.85 - - - 2.85 Prestasi

2 17 - 0.32 - - 2.72 Prestasi

28 - 1.65 - - 1.12 Tes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

107

68 - 1.00 - - 2.00 Tes

124 - 0.44 - - 2.90 Prestasi

3 17 - - 0.69 - 2.72 Prestasi

28 - - 1.53 - 1.12 Tes

50 - - 0.59 - 2.56 Tes

74 - - 0.19 - 2.56 Tes

4 46 - - - 0.31 2.76 Tes

47 - - - 0.05 2.40 Tes

67 - - - 0.00 2.04 Tes

68 - - - 0.00 2.00 Tes

6.1.5.4 Kesimpulan Hasil Pengujian Review dan Validitas oleh

Pengguna.

1. Dari pengujian data akademik mahasiswa 2007-2008

jalur tes tertulis didapat hasil sebagai berikut:

a. Pada semester 1 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 28. Mahasiswa dengan nomor urut 28

dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips1 dan nilai tes masuk yang

rendah juga.

b. Pada semester 2 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 28. Mahasiswa dengan nomor urut 28 masih

tetap dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips2 dan nilai tes masuk yang

rendah juga.

c. Pada semester 3 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 28 dan 74. Mahasiswa dengan nomor urut 28

masih tetap dinyatakan sebagai outlier karena

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

108

mahasiswa tersebut memiliki nilai ips3 dan nilai tes

masuk yang rendah juga. Mahasiswa dengan nomor

urut 74 dinyatakan sebagai outlier karena

mahasiswa tersebut memiliki nilai ips3 yang sangat

rendah dan nilai tes masuk tinggi.

d. Pada semester 4 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 28 dan 67. Mahasiswa dengan nomor urut 28

dari semester 1 sampai semester 4 dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips4 dan nilai tes masuk yang rendah juga.

Mahasiswa dengan nomor urut 67 dinyatakan

sebagai outlier karena memiliki nilai ips 4 yang

sangat rendah yaitu 0.00 dan memiliki nilai test

masuk yang rendah.

2. Dari pengujian data akademik mahasiswa 2007-2008

jalur prestasi didapat hasil sebagai berikut:

a. Pada semester 1 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 76. Mahasiswa dengan nomor urut 76

dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips 1 sangat rendah dan nilai

tes masuk yang berada di tengah-tengah.

b. Pada semester 2 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 17 dan 124. Mahasiswa dengan nomor urut 17

dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips 2 yang sangat rendah dan

memiliki nilai tes masuk yang rendah dibanding

dengan mahasiswa lain. Mahasiswa dengan nomor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

109

urut 124 dinyatakan sebagai outlier karena memiliki

nilai ips 2 yang sangat rendah dan memiliki nilai tes

masuk yang berada di tengah-tengah.

c. Pada semester 3 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 3, 17, dan 107. Mahasiswa dengan nomor urut

3 dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips 3 yang sangat tinggi

tetapi nilai tes masuk rendah. Mahasiswa dengan

nomor urut 17 pada semester 2 dinyatakan sebagai

outlier dan pada semester 3 masih tetap dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips 3 yang sangat rendah dan memiliki nilai tes

masuk yang rendah dibanding dengan mahasiswa

lain. Mahasiswa dengan nomor urut 107 dinyatakan

sebagai outlier karena memiliki nilai ips 3 yang

sangat tinggi dan memiliki nilai tes masuk yang

sangat tinggi.

d. Pada semester 4 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 88, 94, dan 122. Mahasiswa dengan nomor urut

88 dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips 4 yang sangat rendah dan

memiliki nilai test masuk yang berada di tengah-

tengah. Mahasiwa dengan nomor urut 94 dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips 4 yang rendah dan memiliki nilai tes masuk

yang rendah dibanding dengan mahasiswa lain.

Mahasiswa dengan nomor mahasiswa 122

dinyatakan sebagai outlier karena mahasiswa

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

110

tersebut memiliki nilai ips 4 yang rendah tetapi

memiliki nilai tes masuk yang tinggi.

3. Dari pengujian data akademik mahasiswa 2007-2008

jalur tes tertulis dan prestasi didapat hasil sebagai

berikut:

a. Pada semester 1 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 28 dan 76. Mahasiswa dengan nomor urut 28

dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips1 yang rendah.

Mahasiswa dengan nomor urut 76 dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips 1 yang sangat rendah.

b. Pada semester 2 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 17, 28, 68, dan 124. Mahasiswa dengan nomor

urut 17 dinyatakan sebagai outlier karena

mahasiswa tersebut memiliki nilai ips 2 yang sangat

rendah. Mahasiswa dengan nomor urut 28 pada

semester 2 masih dinyatakan sebagai outlier karena

mahasiswa tersebut memiliki nilai ips2 rendah.

Mahasiswa dengan nomor urut 68 dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips 2 yang rendah. Mahasiswa dengan nomor

urut 124 dinyatakan sebagai outlier karena memiliki

nilai ips 2 yang sangat rendah.

c. Pada semester 3 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 17, 28, 50 dan 74. Mahasiswa dengan nomor

urut 17 dinyatakan sebagai outlier karena

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

111

mahasiswa tersebut memiliki nilai ips 3 yang sangat

rendah. Mahasiswa dengan nomor urut 28 masih

dinyatakan sebagai outlier karena mahasiswa

tersebut memiliki nilai ips3 yang rendah.

Mahasiswa dengan nomor urut 50 dinyatakan

sebagai outlier karena mahasiswa tersebut memiliki

nilai ips 3 yang sangat rendah. Mahasiswa dengan

nomor urut 74 dinyatakan sebagai outlier karena

memiliki nilai ips 3 yang sangat rendah.

d. Pada semester 4 mahasiswa yang dinyatakan

sebagai outlier adalah mahasiswa dengan nomor

urut 46, 47, 67, dan 68. Mahasiswa dengan nomor

urut 46 dinyatakan sebagai outlier karena memiliki

nilai ips 4 yang sangat rendah. Mahasiswa dengan

nomor urut 47 dinyatakan sebagai outlier karena

memiliki nilai ips 4 yang sangat rendah. Mahasiswa

dengan nomor urut 67 dinyatakan sebagai outlier

karena memiliki nilai ips 4 yang sangat rendah yaitu

0.00. Mahasiswa dengan nomor urut 68 dinyatakan

sebagai outlier karena memiliki nilai ips 4 yang

sangat rendah yaitu 0.00.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

112

6.2 Kelebihan dan Kekurangan Sistem

Sistem Deteksi Outlier Menggunakan Algoritma Local Correlation

Integral memiliki kelebihan dan kekurangan sebagai berikut:

6.2.1 Kelebihan Sistem

Kelebihan dari Sistem Deteksi Outlier Menggunakan Algoritma Local

Correlation Integral adalah sebagai berikut:

1. Sistem ini mampu membaca input data dengan format .xls dan

.csv

2. Sistem ini mampu membaca input data yang berasal dari database

Oracle dan mySQL.

3. Sistem ini mampu menyeleksi atribut pada data yang diinputkan

oleh pengguna.

4. Sistem ini mampu menyimpan hasil outlier dengan format .doc,

.xls, dan .txt

6.2.2 Kekurangan Sistem

Kekurangan dari Sistem Deteksi Outlier Menggunakan Algoritma

Local Correlation Integral adalah sebagai berikut:

1. Sistem ini tidak mampu membaca inputan data dengan format

selain .xls dan .csv

2. Sistem ini tidak dapat menyeleksi baris pada data yang diinputkan

oleh pengguna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

113

BAB VII

KESIMPULAN DAN SARAN

7.1 Kesimpulan

Dari hasil penelitian tentang Deteksi Outlier Menggunakan Algoritma

Local Correlation Integral dengan studi kasus data mahasiswa Program Studi

Teknik Informatika Universitas Sanata Dharma Yogyakarta angkatan 2007

dan 2008 maka dapat ditarik kesimpulan sebagai berikut:

1. Sistem Deteksi Outlier Menggunakan Algoritma Local Correlation

Integral telah berhasil dibangun menjadi aplikasi yang dapat

mendeteksi outlier pada sekumpulan data numerik.

2. Nilai radius sangat berpengaruh terhadap hasil deteksi outlier.

3. Nilai konstanta sangat berpengaruh terhadap hasil deteksi outlier.

7.2 Saran

Dari hasil analisis pada tugas akhir ini, penulis memberikan saran untuk

perbaikan dan pengembangan program lebih lanjut antara lain:

1. Sistem ini seharusnya dilengkapi dengan fungsi tambahan agar dapat

menerima inputan selain file dengan format .xls dan .csv.

2. Sistem ini seharusnya dilengkapi dengan fungsi tambahan agar dapat

melakukan seleksi pada baris.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

114

DAFTAR PUSTAKA

Amer, Mennatallah. 2011. Comparison of Unsupervised anomaly Detection

Teqniques. Germany.

Atastina, Imelda. Analisis Outlier. CS 4333-Data Mining.

Dunham, H. Margareth (2002), Data Mining: Introductory and Advanced, Prentice

Hall.

Fayyad, U., Piatetsky-Shapiro, G. dan Smyth, P. (1996), From Data Mining to

Knowledge Discovery in Databases, AAAI and The MIT Pres, 37-53.

Handriyadi, Dedy., M. Arif Bijaksana, Ir. Mtech, Erwin Budi Setiawan, MT (2009),

Analisis Perbandingan Clustering-Based, Distance-Based, dan Density-

Based dalam Mendeteksi Outlier.

Han, J., & Kamber, M. (2006). Data Mining Concept and Techniques. San

Fransisco: Elsevier.

Peter Cabens, Pablo Hadjinian, Rolf Stadler, Jaap Verhees, dan Alesandro Zanasi,

1998, Discovering Data Mining: from Concept to Implementation,

Prentice Hall, New Jersey, USA.

Prasetyo, Eko. Data Mining - Konsep dan Aplikasi menggunakan MATLAB.

Yogyakarta: Penerbit Andi.

Spiros Papadimitriou, Hiroyuki Kitagawa, Phillip B. Gibbons, and Christos

Faloutsos. Loci: Fast outlier detection using the local correlation integral.

Data Engineer-ing, International Conference on, 0:315, 2003.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

115

LAMPIRAN 1

Diagram Use Case

Pengguna

Input data file .xls, .csv, atau tabel database

Deteksi Outlier

Simpan Hasil Deteksi Outlier

<<depends on>>

<<depends on>>

Seleksi Atribut

<<extends>>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

116

LAMPIRAN 2

Deskripsi Use Case

Nomor

Use Case

Nama Use Case Deskripsi Aktor

001 Input data file .xls,

.csv, atau tabel

basisdata

Use case input data file .xls, .csv

atau tabel basisdata ini

menggambarkan proses dimana

pengguna memilih data dengan file

berformat .xls, .csv, atau tabel dari

database. Setelah memilih file atau

tabel mana yang akan diinputkan,

sistem akan menampilkan data

tersebut ke dalam tabel untuk

proses deteksi.

Pengguna

002 Deteksi outlier Use case deteksi outlier

menggambarkan tentang proses

pencarian outlier pada data yang

telah di masukkan oleh pengguna.

Pengguna

003 Simpan hasil

deteksi outlier

Use case simpan hasil deteksi

outlier menggambarkan proses

penyimpanan hasil deteksi outlier.

Dimana pengguna dapat

menyimpan hasil deteksi outlier ke

dalam file dengan format .xls, .doc,

dan .txt.

Pengguna

004 Seleksi atribut Use case seleksi atribut

menggambarkan proses seleksi

atribut, dimana pengguna dapate

memilih atribut mana yang akan di

Pengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

117

gunakan untuk proses deteksi, dan

atribut mana yang akan di hapus.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

118

LAMPIRAN 3

Narasi Use Case

Use case menggambarkan interaksi antara sistem dan pengguna atau sistem

eksternal. Use case menggambarkan siapa yang akan menggunakan sistem dan

dengan cara bagaimana pengguna berinteraksi dengan sistem. Narasi use case

digunakan untuk menggambarkan langkah-langkah dalam interaksi sistem dengan

penggunanya.

1. Narasi Use Case Input data dari file .xls, .csv atau tabel basisdata.

Nama Use Case Input data dari file .xls, .csv atau

tabel basisdata Jenis Use Case

Kebutuhan

Operasional ID Use Case 001

Prioritas

Pelaku Utama Pengguna

Pelaku Lain yang Terlibat -

Pihak Lain yang

Berkepentingan

-

Deskripsi Use case input data file .xls, .csv atau tabel basisdata ini

menggambarkan proses dimana pengguna memilih data

dengan file berformat .xls, .csv, atau tabel dari database.

Setelah memilih file atau tabel mana yang akan

diinputkan, sistem akan menampilkan data tersebut ke

dalam tabel untuk proses deteksi.

Kondisi Awal Pengguna masuk ke sistem dan berada Halaman Utama

tab Preprosessing.

Urutan Aktivitas Normal Aksi Aktor Respon Sistem

Langkah 1: Pengguna

menekan tombol ‘Pilih File’

untuk memilih file yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

119

akan digunakan untuk

proses deteksi dengan

format .xls atau .csv.

Langkah 2: Sistem

menampilkan File

Chooser atau kotak

dialog untuk memilih

file.

Langkah 3: Pengguna

memilih file .xls atau .csv

kemudian menekan tombol

‘Open’.

Langkah 4: Sistem

menampilkan data yang

telah di pilih pada tabel

‘dataPreprocessTable’ di

Halaman Utama tab

Preprosessing.

Aktivitas Alternnatif Aksi Aktor Respon Sistem

Langkah 1: Pengguna

menekan tombol ‘Pilih

Database’ untuk memilih

file yang akan digunakan

untuk proses deteksi dari

tabel database.

Langkah 2: Sistem

menampilkan Halaman

Pilih Database.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

120

Langkah 3: Pengguna

memilih database yang akan

di ambil datanya.

Langkah 4: Pengguna

memasukkan username,

password, nama database,

dan URL.

Langkah 5: Pengguna

menekan tombol ‘OK’.

Langkah 6: Sistem

menampilkan doalog

bahwa koneksi berhasil.

Langkah 7: Pengguna

menekan tombol ‘OK’.

Langkah 8: Sistem

menampilkan Halaman

Pilih Tabel.

Langkah 9: Pengguna

memilih tabel yang akan

digunakan untuk proses

deteksi.

Langkah 10: Pengguna

menekan tombol ‘OK’.

Langkah 11: Sistem

menampilkan data yang

telah di pilih di tabel

‘dataPreprocessTable’

dan menampilkan atribut

data di tabel

‘selekssiTabel’ pada tab

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

121

Preprosessing dan

menampilkan di tabel

‘dataOutlierTable’ pada

tab Deteksi Outlier.

Kondisi Akhir Data yang telah dipilih akan tampil pada tabel

‘dataPreprocessTable’ yang terdapat pada Halaman

Utama.

2. Narasi Use Case Deteksi Outlier.

Nama Use Case Deteksi Outlier Jenis Use Case

Kebutuhan

Operasional

ID Use Case 002

Prioritas

Pelaku Utama Pengguna

Pelaku Lain yang Terlibat -

Pihak Lain yang

Berkepentingan

-

Deskripsi Use case deteksi outlier menggambarkan tentang proses

pencarian outlier pada data yang telah di masukkan oleh

pengguna.

Kondisi Awal Pengguna telah melakukan seleksi atribut pada tab

Preprosessing dan telah menekan tombol ‘Submit’.

Pengguna berada pada tab Preprosessing.

Urutan Aktivitas Normal Aksi Aktor Respon Sistem

Langkah 1: Pengguna

menginputkan nilai radius,

alpha, dan konstanta.

Langkah 2: Pengguan

menekan tombol ‘Proses’.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

122

Langkah 3: Sistem

melakukan proses

pencarian outlier

berdasarkan algoritma

Local Correlation

Integral.

Langkah 4: Sistem

menampilkan hasil

outlier kedalam tabel

‘HasilOutlierTable’

pada tab Deteksi Outlier.

Aktivitas Alternatif -

Kondisi Akhir Pengguna dapat melihat hasil deteksi outlier

menggunakan algoritma Local Correlation Integral

pada tabel ‘HasilOutlierTable’.

3. Narasi Use Case Simpan Hasil Deteksi Outlier.

Nama Use Case Simpan Hasil Deteksi Outlier Jenis Use Case

Kebutuhan

Operasional

ID Use Case 003

Prioritas

Pelaku Utama Pengguna

Pelaku Lain yang Terlibat -

Pihak Lain yang

Berkepentingan

-

Deskripsi Use case simpan hasil deteksi outlier menggambarkan

proses penyimpanan hasil deteksi outlier. Dimana

pengguna dapat menyimpan hasil deteksi outlier ke

dalam file dengan format .xls, .doc, dan .txt.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

123

Kondisi Awal Pengguna berada pada tab Deteksi Outlier. Sistem

menampilkan hasil deteksi outlier pada tabel

‘HasilDeteksiTable’.

Urutan Aktivitas Normal Aksi Aktor Respon Sistem

Langkah 1: Pengguna

menekan tombol ‘Simpan’.

Langkah 2: Sistem

menampilkan kotak

dialog penyimpanan file.

Langkah 3: Pengguna

memilih lokasi

penyimpanan file.

Langkah 4: Pengguna

memasukkan nama file.

Langkah 5: Pengguna

memilih extensi file data.

Langkah 6: Pengguna

menekan tombol ‘Save’.

Langkah 7: Sistem

menyimpan hasil deteksi

outlier sesuai dengan

nama file, format file,

dan lokasi penyimpanan

file.

Langkah 8: Sistem

menampilkan doalog

bahwa hasil deteksi

outlier telah berhasil

disimpan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 145: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

124

Langkah 9: Pengguna

menekan tombol ‘OK’.

Aktivitas Alternatif -

Kondisi Akhir Hasil deteksi outlier

tersimpan dalam format file

berekstensi tertentu sesuai

dengan pilihan pengguna.

4. Narasi Use Case Seleksi Atribut.

Nama Use Case Seleksi Atribut Jenis Use Case

Kebutuhan

Operasional

ID Use Case 004

Prioritas

Pelaku Utama Pengguna

Pelaku Lain yang Terlibat -

Pihak Lain yang

Berkepentingan

-

Deskripsi Use case seleksi atribut menggambarkan proses seleksi

atribut, dimana pengguna dapat memilih atribut mana

yang akan di gunakan untuk proses deteksi, dan atribut

mana yang akan di hapus.

Kondisi Awal Pengguna berada pada tab Preprosessing pada Halaman

Utama. Sistem menampilkan data pada tabel di

Halaman Utama.

Urutan Aktivitas Normal Aksi Aktor Respon Sistem

Langkah 1: Sistem

menampilkan daftar

atribut pada tabel

‘seleksiTable’.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 146: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

125

Langkah 2: Pengguna

menandai atribut yang akan

dihapus dari tabel.

Langkah 3: Pengguna

menekan tombol ‘Hapus’.

Langkah 4: Sistem

menghapus atribut yang

dipilih beserta data

dalam tabel data yang

berada di Halaman

Utama.

Aktivitas Alternatif -

Kondisi Akhir Atribut yang dipilih berhasil di hapus dari tabel.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 147: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

126

LAMPIRAN 4

Diagram Proses Umum Sistem

STAR

Data File .csv

Data File .xls

Data Basisdata

Pilih Seleksi Tabel

Proses Seleksi

Input radius, alpha, dan konstanta

Proses Deteksi

Hasil Deteksi Outlier

END

Ya

Tidak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 148: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

127

LAMPIRAN 5

Diagram Aktivitas

1. Diagram Aktivitas Memilih File .xls atau .csv

Menekan tombol pilih file

Menampilkan halaman

jFileChooser

Memilih file .xls atau .csv

Menampilkan data ke

dalam tabel

SistemPengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 149: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

128

2. Diagram Aktivitas Input Data dari Tabel Database.

Menekan tombol pilih

databaseMenampilkan halaman

pilih database

Memilih database

(Oracle atau mySQL)

Menampilkan kotak

dialog koneksi berhasil

SistemPengguna

Memasukkan

username, password,

nama database, dan

URL

Koneksi Berhasil

Menekan tombol OK

Menekan tombol OK

Tidak

Ya

Menampilkan halaman

pilih tabelMemilih tabel

Menekan tombol OKMenampilkan data ke

dalam tabel

Pilih

Oracle

Ya

Tidak

Memasukkan

username, password,

nama database, dan

URL

Menekan tombol OK

Menekan tombol OK

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 150: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

129

3. Diagram Aktivitas Deteksi Outlier.

Memasukkan nilai radius,

alpha, dan konstanta

Melakukan proses deteksi

outlier

SistemPengguna

Menampilkan hasil deteksi

outlier ke dalam tabel

Menekan tombol Proses

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 151: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

130

4. Diagram Aktivitas Simpan Hasil Deteksi Outlier.

SistemPengguna

Menekan tombol SimpanMenampilkan kotak dialog

penyimpanan file

Memilih lokasi

penyimpanan file

Memasukkan nama file

Memilih extensi file data

Menekan tombol Save Menyimpan hasil outlier

Menampilkan dialog hasil

outlier berhasil disimpanMenekan tombol OK

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 152: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

131

5. Diagram Aktivitas Seleksi Atribut.

Menampilkan daftar atribut

pada tabel seleksi atribut

SistemPengguna

Menandai atribut yang

akan dihapus dari tabel

Menekan tombol HapusMenghapus atribut beserta

data pada tabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 153: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

132

LAMPIRAN 6

Diagram Kelas Analisis

HalamanAwal

HalamanPilihFile

Halaman Utama

HalamanPilihTabel

KoneksiDataBase

HalamanPilihDatabase DatabaseController

Graph

Verteks

DataLoci

LociTableModel

CheckBoxTableModel

SeleksiAtributHalamanTentangHalamanBantuan

Pengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 154: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

133

LAMPIRAN 7

Diagram Sequence

1. Diagram Sequence Memilih File .xls atau .csv

<<boundary>>

HalamanUtama

<<entity>>

ChecBoxTableModel

<<entity>>

SeleksiAtribut

1. Tekan tombol Pilih File

2. Tampil jFileChooser

3. Memilih file .xls atau .csv

5. new

CheckBoxTableModel

6. setAtribut(), getAtribut(), setPilih(), getPilih()

7. setPilih(false)

8. add(column, seleksiAtribut)

4. pilihFile()

9. Menampilkan data ke tabel

dataPreprocessTable

10. Menampilkan data ke tabel seleksiTable

Pengguna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 155: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

134

2. Diagram Sequence Input Data dari Tabel Database.

<<boundary>>

HalamanUtama

<<boundary>>

HalamanPilihDatabase

<<controller>>

DatabaseControllerPengguna

<<entity>>

KoneksiDataBase

<<boundary>>

HalamanPilihTabel

<<entity>>

CheckBoxTableModel

<<entity>>

SeleksiAtribut

1. Menekan tombol Pilih

2. db.setVisible(true)

3. Menampilkan HalamanPilihDatabase

4. Memilih konksi database, mengisi username,

password, database name, dan URL.

5. pilihDatabase()

6. selectTable(kdb.getConnection(), table)

7. isConncectedSQL(),

IsConnectedOracle()

8. Connected()

9. showTable()

10. Menampilkan HalamanPilihTable

11. Memilih tabel

12. selectTable()

13. Menampilkan tabel data preprosesing

14. new CheckBoxTableModel()

15. setAtribut(model.getColumnName(i)

16. setPilih(false)

17. add(column, seleksiAtribut)

18. Menampilkan data

pada tab Preprosessing

19. Menampilkan data pada tabelSeleksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 156: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

135

3. Diagram Sequence Deteksi Outlier.

<<boundary>>

HalamanUtamaPengguna

<<controller>>

Graph

<<entity>>

Vertex

<<entity>>

LociTableModel

<<entity>>

DataLoci

1. Menginputkan radius

2. Menginputkan alpha

4. Menekan tombol Proses

5. inputData(jTable)

6. new graph()

7. new vertex()

8. setRadius(radius)

9. setAlpha(alpha)

11. cariLoci()

12.setDataLoci

13. setLabel, setMdef, setKomdef

14. setValueAt, getValueAt

15. tableModel

16. Menampilkan hasil

deteksi outlier

3. Menginputkan konstanta

10. setKonstanta(konstanta)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 157: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

136

4. Diagram Sequence Simpan Hasil Deteksi Outlier.

<<boundary>>

HalamanUtamaPengguna

1. Menekan tombol Simpan

2. Menampilkan Save Dialog

3. Memilih lokasi penyimpanan

4. Mengisi nama file

5. Memilih tipe file

6. Menekan tombol Save

7. simpanLoci()

8. Menampilkan pesan file

berhasil disimpan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 158: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

137

5. Diagram Sequence Seleksi Atribut.

<<boundary>>

HalamanUtama

<<entity>>

ChecBoxController

<<entity>>

SeleksiAtribut

1. Memilih atribut

Pengguna

2. Menekan tombol Hapus

3. hapusAtribut()

3. removeRow()

4. getPilih()

4. Menghapus atribut yang di pilih

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 159: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

138

LAMPIRAN 8

Diagram Kelas Desain

<<boundary>>

HalamanAwal

<<boundary>>

HalamanUtama

<<boundary>>

HalamanPilihFile

<<boundary>>

HalamanPilihDatabase

<<boundary>>

HalamanPilihTable

<<controller>>

DatabaseController

<<entity>>

KoneksiDatabase

<<entity>>

CheckBoxTableModel

<<entity>>

SeleksiAtribut

<<controller>>

Graph

<<entity>>

Verteks

<<entity>>

DataLoci

<<entity>>

LociTableModel

<<boundary>>

HalamanBantuan

<<boundary>>

HalamanTentang

1

1

1

1

1

1

1 *

1

1

1

1 1

1

1 *

1

1

1 *1

1 1

1 *

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memanggil

memiliki

memanggil

memanggil

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 160: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

139

LAMPIRAN 9

Diagram Kelas

Berikut ini merupakan rincian dan method untuk masing-masing diagram kelas:

<<entity>>

DatabaseConnection

+ selectTable(Connection conn, String namaTable): ResultSet

+ tampilTabelMYSql(Connection conn): ResultSet

+ tampilTabelOracle(Connection conn): ResultSet

<<controller>>

Graph

- adjMat

- alpha

- arneighbors

- konstanta

- max

- npar

- npir

- radius

- rneighbors

- size

- vertexList

: Double[][]

: Double

: int[][]

: int

: int

: int [][]

: int[][]

: Double

: int[][]

: int

: Verteks[]

+ Graph(int maxVertex)

+ Search(String label)

+ Search2(String label)

+ addEdge(int awal, int akhir, Double nilai)

+ addVertex(String label, List<Double> nilai)

: Konstruktor

: int

: void

: void

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 161: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

140

+ cariARNeighborhood(Double radius, int indeks)

+ cariAnggotaARNeighbor(int indeks, Double radius)

+ cariAnggotaRNeighbor(int indeks, Double radius)

+ cariJarakEcludian(int indexAwal, int indexTujuan)

+ cariLoci()

+ cariRNeighborhood(Double radius, int indeks)

+ getAdjMat()

+ getAlpha()

+ getKonstanta()

+ getRadius()

+ getSize()

+ getVertexList()

+ inputData(JTable jTableData)

+ jumlahARNeighbors()

+ jumlahRNeighbors()

+ setARNeighborhood(String label)

+ setAdjMat(Double[][] adjMat)

+ setAlpha(Double alpha)

+ setAnggotaArNeighbor(String label, Double radius)

+ setAnggotaRNeighbor(String label, Double radius)

+ setDataLoci(String label)

+ setJumlahAnggota()

+ setKonstanta(int konstanta)

+ setNpar()

+ setNpir()

+ setRNeighborhood

+ setRadius(Double radius)

+ setVertexList(Vertex[] verteList)

+ tampilARNeighbor()

+ tampilJarakEcludien()

+ tampilRNeighbor()

: void

: List<String>

: Double

: Double

: Double

: void

: List<String>

: Double

: int

: Double

: Double

: int

: Verteks[][]

: void

: void

: void

: void

: void

: void

: void

: LociTabelModel

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 162: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

141

<<entity>>

Seleksi Atribut

- atribut

- pilih

: String

: Boolean

+ SeleksiAtribut()

+ SeleksiAtribut(String atribut, Boolean pilih)

+ getAtribut()

+ getPilih()

+ setAtribut(String atribut)

+ setPilih(Boolean pilih)

: Konstruktor

: Konstruktor

: String

: Boolean

: void

: void

<<entity>>

Verteks

- AnggotaARNeighbor

- AnggotaRNeighbor

- arNeighbor

- avgNpira

- jumlah_arNeighbors

- jumlah_rNeighbors

- komdef

- label

- mdef

- nilai

- omdef

- rNeighbors

- stdevNpira

- wasVisited

: Double

: Double

: List<String>

: Double

: int

: int

: Double

: String

: Double

: List<Double>

: Double

: List<String>

: Double

: boolean

+ Verteks(String label, List<Double> nilai) : Konstruktor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 163: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

142

+ getAnggotaARNeighbor()

+ getAnggotaRNeighbor()

+ getArNeighbors()

+ getAvgpira()

+ getJumlah_arNeighbors()

+ getJumlah_rNeighbors()

+ getKomdef()

+ getLabel()

+ getMdef()

+ getNilai()

+ getOmdef()

+ getStdevNpira()

+ getrNeighbors

+ isWasVisited

+ setAnggotaARNeighbor(Double AnggotaARNeighbor)

+ setAnggotaRNeighbor(Double AnggotaRNeighbor)

+ setArNeighbors(List<String> arNeighbors)

+ setAvgNpira(Double avgNpira)

+ setJumlah_arNeighbors(int jumlah_arNeighbors)

+ setJumlah_rNeighbors(int jumlah_rNeighbors)

+ setKomdef(Double komdef)

+ setLabel(String label)

+ setMdef(Double mdef)

+ setNilai(List<Double> nilai)

+ setOmdef(Double omdef)

+ setStdevNpira(Double stdevNpira)

+ setWasVisited(booelan wasVisited)

+ setrNeighbors(List<String>rNeighbors)

: Double

: Double

: List<String>

: Double

: int

: int

: Double

: String

: Double

: List<Double>

: Double

: Double

: List<String>

: boolean

: void

: void

: List<String>

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: List<String>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 164: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

143

<<entity>>

CheckBoxTableModel

- column

- list

- seleksi

: String[]

: List<SeleksiAtribut>

: SeleksiAtribut

+ CheckBoxTableModel()

+ add(int a, SeleksiAtribut field_m)

+ getColumnClass(int columnIndex)

+ getColumnCount()

+ getColumnName(int col)

+ getRowCount()

+ getValueAt(int rowIndex, int columnIndex)

+ isCellEditable(int row, int column)

+ removeRow()

+ setValueAt(Object value, int rowIndex, int columnIndex)

: Konstruktor

: void

: Class

: int

: String

: int

: Object

: boolean

: void

: void

<<entity>>

DataLoci

- komdef

- label

- mdef

: Double

: String

: Double

+ getKomdef()

+ getLabel()

+ gekMdef()

+ setKomdef(Double komdef)

+ setLabel(String label)

+ setMdef(Double mdef)

: Double

: String

: Double

: void

: void

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 165: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

144

<<controller>>

KoneksiDatabase

- connection

- jdbcURL

- password

- user

: Connection

: String

: String

: String

+ KoneksiDataBase()

+ Connected()

+ KoneksiDataBaseOracle(String, String, String)

+ KoneksiDataBaseSQL(String, String, String)

+ OracleConnected(String, String, String)

+ SQLConnected(String, String, String)

+ getClosed()

+ getConnection()

+ getJdbcURL()

+ getPassword()

+ getUser()

+ setConn(Connection connection)

+ setJdbcURL(String jdbcURL)

+ setPassword(String password)

+ setUser(String user)

: Konstruktor

: boolean

: Connection

: Connection

: boolean

: boolean

: boolean

: Connection

: String

: String

: String

: void

: void

: void

: void

<<entity>>

LociTabelModel

- dlo

- label

: List<DataLoci>

: String

+ LociTabelModel(List<DataLoci> dlo, String label)

+ getColumnCount()

+ getColumnName(int column)

: Konstruktor

: int

: String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 166: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

145

+ getRowCount()

+ getValueAr(int rowIndex, int columnIndex)

+ isCellEditable(int row, in col)

+ setValueAt(Objecy val, int rowIndex, int columnIndex)

: int

: Object

: Boolean

: void

<<boundary>>

HalamanAwal

- jLabel1

- jLabel2

- jLabel3

- jLabel4

- jLabel5

- jLabel6

- jPanel1

- masukButton

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JButton

+ HalamanAwal()

+ masukButtonActionPerformed(ActionEvent evt)

: Konstruktor

: void

<<boundary>>

HalamanBantuan

- bantuanButton

- jLabel12

- jLabel14

- jLabel2

- jLabel3

- jLabel5

- jLabel6

- jPanel1

: JButton

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 167: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

146

- jPanel2

- jPanel3

- jPanel4

- jScrollPane1

- jTextArea1

- keluarButton

- kembaliBurron

- tentangButton

: JPanel

: JPanel

: JPanel

: JScrollPane

: JTextArea

: JButton

: JButton

: JButton

+ HalamanBantuan()

+ bantuanButtonActionPerformed(ActionEvent evt)

+ keluarButtonActionPerformed(ActionEvent evt)

+ kembaliButtonActionPerformed(ActionEvent evt)

+ tentangButtonActionPerformed(ActionEvent evt)

: Konstruktor

: void

: void

: void

: void

<<boundary>>

HalamanPilihDatabase

- batalButton

- dbNameTextField

- jLabel1

- jLabel2

- jLabel3

- jLabel4

- jLabel5

- okButton

- passwordField

- pilihKoneksiComboBox

- urlTextField

- userNameTextField

: JButton

: JTextField

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JButton

: JPasswordtField

: JComboBox

: JTextField

: JTextField

+ HalamanPilihDatabase() : Konstruktor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 168: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

147

+ batalButtonActionPerformed(ActionEvent evt)

+ okButtonActionPerformed(ActionEvent evt)

+ pilihDatabase()

+ pilihKoneksiComboBoxActionPerformed(ActionEvent evt)

: void

: void

: void

: void

<<boundary>>

HalamanPilihFile

- jFileChooser1 JFileChooser

+ HalamanPilihFile() : Konstruktor

<<boundary>>

HalamanPilihTabel

- OKButton

- batalButton

- jLabel1

- koneksi

- pilihTabelCombo

: JButton

: JButton

: JLabel

: KoneksiDataBase

: JComboBox

+ HalamanPilihTabel(KoneksiDataBase koneksi, String

database)

+ HalamanPilihTabel()

+ OKButtonActionPerformed(ActionEvent evt)

+ batalButtonActionPerformed(ActionEvent evt)

+ tampilDaftarTabel(KoneksiDataBase koneksi, String

database)

: Konstruktor

: Konstruktor

: void

: void

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 169: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

148

<<boundary>>

HalamanTentang

- bantuanButton

- jLabel1

- jLabel10

- jLabel11

- jLabel12

- jLabel13

- jLabel14

- jLabel15

- jLabel16

- jLabel17

- jLabel18

- jLabel2

- jLabel3

- jLabel4

- jLabel5

- jLabel6

- jLabel7

- jLabel8

- jLabel9

- jPanel1

- jPanel2

- jPanel3

- jPanel4

- keluarButton

- kembaliButton

- tentangButton

: JButton

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JPanel

: JPanel

: JPanel

: JPanel

: JButton

: JButton

: JButton

+ HalamanTentang()

+ bantuanButtonActionPerformed(ActionEvent evt)

: Konstruktor

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 170: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

149

+ keluarButtonActionPerformed(ActionEvent evt)

+ kembaliButtonActionPerformed(ActionEvent evt)

+ tentangButtonActionPerformed(ActionEvent evt)

: void

: void

: void

<<boundary>>

HalamanUtama

- HasilOutlierTable

- alphaTextField

- bantuanButton

- batalButton

- batalSeleksiButton

- checkboxtable

- dataOutlierTable

- dataPreprocessTable

- deteksiOutlierPanel

- graph

- hapusButton

- hapusOutlierButton

- jDesktopPane1

- jLabel1

- jLabel10

- jLabel11

- jLabel12

- jLabel13

- jLabel14

- jLabel15

- jLabel16

- jLabel17

- jLabel18

: JTable

: JTextField

: JButton

: JButton

: JButton

: CheckBoxTableModel

: JTable

: JTable

: JPanel

: Graph

: Jbutton

: JButton

: JDekstopPane

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 171: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

150

- jLabel2

- jLabel3

- jLabel4

- jLabel5

- jLabel6

- jLabel7

- jLabel8

- jLabel9

- jPanel1

- jPanel2

- jPanel3

- jPanel4

- jPanel6

- jPanel7

- jScrollPane1

- jScrollPane2

- jScrollPane3

- jScrollPane4

- jTabbedPane1

- jumlahDataOutlierTextField

- jumlahDataSeleksiTextField

- jumlahOutlierTextField

- keluarButton

- konstantaTextField

- lamaDeteksiTextField

- pilihDatabaseButton

- pilihFileButton

- pilihFileTextField

- prosesButton

- radiusTextField

- seleksiTable

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JLabel

: JPanel

: JPanel

: JPanel

: JPanel

: JPanel

: JPanel

: JSrollPane

: JSrollPane

: JSrollPane

: JSrollPane

: JTabbedPane

: JTextField

: JTextField

: JTextField

: JButton

: JTextField

: JTextField

: JButton

: JButton

: JTextField

: JButton

: JTextField

: JTable

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 172: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

151

- simpanButton

- submitButton

- tandaiSemuaButton

- tentangButton

: JButton

: JButton

: JButton

: JButton

+ HalamanUtama()

+ HalamanUtama(KoneksiDataBase koneksi, String table)

+ alphaTextFieldKeyReleased(KeyEvent evt)

+ bantuanButtonActionPerformed(ActionEvent evt)

+ batalButtonActionPerformed(ActionEvent evt)

+ batalSeleksiButtonActionPerformed(ActionEvent evt)

+ hapusAtribut()

+ hapusButtonActionPerformed(ActionEvent evt)

+ hapusOutlierButtonActionPerformed(ActionEvent evt)

+ keluarButtonActionPerformed(ActionEvent evt)

+ konstantaTextFieldKeyReleased(KeyEvent evt)

+ pilihDataBase(KoneksiDataBase kdb, String table)

+ pilihDatabaseButtonActionPerformed(ActionEvent evt)

+ pilihFile()

+ pilihFileButtonActionPerformed(ActionEvent evt)

+ prosesButtonActionPerformed(ActionEvent evt)

+ prosesDeteksi()

+ radiusTextFieldKeyReleased(KeyEvent evt)

+ simpanButtonActionPerformed(ActionEvent evt)

+ simpanLoci()

+ submitButtonActionPerformed(ActionEvent evt)

+ submitData()

+ submitButtonActionPerformed(ActionEvent evt)

+ tentangButtonActionPerformed(ActionEvent evt)

: Konstruktor

: Konstruktor

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

: void

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 173: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

152

LAMPIRAN 10

Listing Program

1. Implementasi Kelas Graph.java

Method graph berfungsi untuk membentuk graph dan untuk

membentuk verteks dari setiap obyek data. Dalam graph juga terdapat edge

yang berfungsi untuk menghubungkan verteks. Method graph ini

menggunakan sebuah parameter yaitu maxVertex. Parameter maxVertex

berfungsi sebagai ukuran maksimum dari verteks. Method addVertex

berfungsi untuk membuat sebuah verteks. Dalam method ini menggunakan

dua parameter yaitu label dan nilai. Setiap obyek merupakan verteks.

Kemudian untuk memasukkan nilai edge antar obyek, nilai edge diinputkan

melalui method addEdge. Nilai edge adalah nilai jarak yang dihitung

menggunakan rumus Euclidean Distance.

package Controller;

import Model.DataLoci;

import Model.LociTabelModel;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JTable;

public class Graph {

private Verteks vertexList[]; //simpul

private int size = 0;

private Double adjMat[][]; //garis atau edge

private Double radius;

private Double alpha;

private int konstanta;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 174: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

153

private int npir[];

private int npar[];

private int rneighbors[][];

private int arneighbors[][];

private int max;

public Graph(int maxVertex) {

vertexList = new Verteks[maxVertex];

max = maxVertex + 1;

// adjacency matrix

adjMat = new Double[maxVertex][maxVertex];

npir = new int[maxVertex];

npar = new int[maxVertex];

rneighbors = new int[maxVertex][maxVertex];

arneighbors = new int[maxVertex][maxVertex];

for (int i = 0; i < maxVertex; i++) {

for (int j = 0; j < maxVertex; j++) {

if (i == j) {

adjMat[i][j] = 0.0;

} else {

adjMat[i][j] = -1.0;

}

}

}

}

public void addVertex(String label, List<Double> nilai) {

vertexList[size++] = new Verteks(label, nilai);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 175: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

154

public void addEdge(int awal, int akhir, Double nilai) {

adjMat[awal][akhir] = adjMat[akhir][awal] = nilai;

}

public void setAdjMat(Double[][] adjMat) {

this.adjMat = adjMat;

}

public void setSize(int size) {

this.size = size;

}

public void setVertexList(Verteks[] vertexList) {

this.vertexList = vertexList;

}

public Double[][] getAdjMat() {

return adjMat;

}

public int getSize() {

return size;

}

public Verteks[] getVertexList() {

return vertexList;

}

public void setRadius(Double radius) {

this.radius = radius;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 176: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

155

public Double getRadius() {

return radius;

}

public void setAlpha(Double alpha) {

this.alpha = alpha;

}

public Double getAlpha() {

return alpha;

}

public int getKonstanta() {

return konstanta;

}

public void setKonstanta(int konstanta) {

this.konstanta = konstanta;

}

public Double cariJarakEcludian(int indexAwal, int indexTujuan) {

List<Double> a = new ArrayList<Double>();

List<Double> b = new ArrayList<Double>();

a = vertexList[indexAwal].getNilai();

b = vertexList[indexTujuan].getNilai();

Double total = 0.0;

for (int i = 0; i < a.size(); i++) {

total = total + Math.pow((a.get(i) - b.get(i)), 2);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 177: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

156

return Math.sqrt(total);

}

public List<String> cariRNeighborhood(Double radius, int indeks) {

List<String> a = new ArrayList<String>();

if (indeks == -1) {

System.out.println("Tidak ada Kota dalam Peta");

} else {

for (int i = 0; i < vertexList.length; i++) {

if (adjMat[indeks][i] != -1 && adjMat[indeks][i] != 0) {

if (adjMat[indeks][i] <= radius) {

a.add(vertexList[i].getLabel());

}

}

}

}

return a;

}

public void setRNeighborhood(String label) {

int indeks = Search(label);

vertexList[indeks].setrNeighbors(cariRNeighborhood(vertexList[indeks].

getAnggotaRNeighbor(), indeks));

}

public void setAnggotaRNeighbor(String label, Double radius) {

int indeks = Search(label);

vertexList[indeks].setAnggotaRNeighbor(cariAnggotaRNeighbor(indeks,

radius));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 178: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

157

}

public Double cariAnggotaRNeighbor(int indeks, Double radius) {

for (int i = 0; i < vertexList.length; i++) {

vertexList[i].setWasVisited(false);

}

Double AnggotaRNeighbor = 0.0;

Double temp1 = Double.MAX_VALUE;

int anggotaNpir = 0;

if (indeks == -1) {

System.out.println("Tidak ada kota dalam peta");

} else {

for (int i = 0; i < vertexList.length; i++) {

if (adjMat[indeks][i] != -1 && vertexList[i].isWasVisited() ==

false) {

if (adjMat[indeks][i] <= radius) {

temp1 = adjMat[indeks][i];

anggotaNpir = anggotaNpir + npir[i];

}

}

}

AnggotaRNeighbor = temp1;

Search2(temp1, indeks);

temp1 = Double.MAX_VALUE;

}

return AnggotaRNeighbor;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 179: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

158

public void setNpir() {

int x = 0;

for (int i = 0; i < adjMat.length; i++) {

for (int j = 0; j < vertexList.length; j++) {

if (adjMat[i][j] <= getRadius()) {

x = x + 1;

rneighbors[i][j] = j;

}

}

npir[i] = x;

x = 0;

}

}

public void tampilRNeighbor() {

int rn = 0;

for (int i = 0; i < vertexList.length; i++) {

System.out.println(" " + vertexList[i].getLabel() + "\t");

for (int j = 0; j < vertexList.length; j++) {

if (adjMat[i][j] <= getRadius()) {

rn = rn + 1;

System.out.println("anggota npir[" + j + "]" + adjMat[i][j] +

"\t");

}

}

System.out.println("n(pi,r) [" + i + "] = " + rn);

System.out.println("");

rn = 0;

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 180: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

159

public List<String> cariARNeighborhood(Double radius, int indeks) {

List<String> a = new ArrayList<String>();

if (indeks == -1) {

System.out.println("Tidak ada Kota dalam Peta");

} else {

for (int i = 0; i < vertexList.length; i++) {

if (adjMat[indeks][i] != -1 && adjMat[indeks][i] != 0) {

if (adjMat[indeks][i] <= (getAlpha() * radius)) {

a.add(vertexList[i].getLabel());

}

}

}

}

return a;

}

public void setARNeighborhood(String label) {

int indeks = Search(label);

vertexList[indeks].setArNeighbors(cariARNeighborhood(vertexList[inde

ks].getAnggotaRNeighbor(), indeks));

}

public void setAnggotaARNeighbor(String label, Double radius) {

int indeks = Search(label);

vertexList[indeks].setAnggotaARNeighbor(cariAnggotaARNeighbor(ind

eks, radius));

}

public Double cariAnggotaARNeighbor(int indeks, Double radius) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 181: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

160

for (int i = 0; i < vertexList.length; i++) {

vertexList[i].setWasVisited(false);

}

Double AnggotaARNeighbor = 0.0;

Double temp2 = Double.MAX_VALUE;

int anggotaNpar = 0;

if (indeks == -1) {

System.out.println("Tidak ada kota dalam peta");

} else {

for (int i = 0; i < vertexList.length; i++) {

if (adjMat[indeks][i] != -1 && vertexList[i].isWasVisited() ==

false) {

if (adjMat[indeks][i] <= (getAlpha() * radius)) {

temp2 = adjMat[indeks][i];

anggotaNpar = anggotaNpar + npar[i];

}

}

}

AnggotaARNeighbor = temp2;

Search2(temp2, indeks);

temp2 = Double.MAX_VALUE;

}

return AnggotaARNeighbor;

}

public void setNpar() {

int x = 0;

for (int i = 0; i < adjMat.length; i++) {

for (int j = 0; j < vertexList.length; j++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 182: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

161

if (adjMat[i][j] <= (getAlpha() * getRadius())) {

x = x + 1;

arneighbors[i][j] = j;

}

}

npar[i] = x;

x = 0;

}

}

public void tampilARNeighbor() {

int arn = 0;

for (int i = 0; i < vertexList.length; i++) {

System.out.println(" " + vertexList[i].getLabel() + "\t");

for (int j = 0; j < vertexList.length; j++) {

if (adjMat[i][j] <= (getAlpha() * getRadius())) {

arn = arn + 1;

System.out.println("anggota npar[" + j + "]" + adjMat[i][j] +

"\t");

}

}

System.out.println("n(pa,r) [" + i + "] = " + arn);

System.out.println("");

arn = 0;

}

}

public int Search(String label) {

for (int i = 0; i < vertexList.length; i++) {

if (label.equals(vertexList[i].getLabel())) {

return i;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 183: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

162

}

}

return -1;

}

public void Search2(Double jarak, int indeks) {

for (int i = 0; i < vertexList.length; i++) {

if (adjMat[indeks][i].equals(jarak)) {

vertexList[i].setWasVisited(true);

}

}

}

public void tampilJarakEuclidean() {

System.out.print("\t");

for (int i = 0; i < vertexList.length; i++) {

System.out.print("" + vertexList[i].getLabel() + "\t");

}

System.out.println("");

for (int i = 0; i < adjMat.length; i++) {

System.out.print("" + vertexList[i].getLabel() + "\t");

for (int j = 0; j < vertexList.length; j++) {

System.out.print("" + adjMat[i][j] + "\t");

}

System.out.println("");

}

System.out.println("");

}

public void setJumlahAnggota() {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 184: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

163

int x = 0;

int y = 0;

for (int i = 0; i < adjMat.length; i++) {

for (int j = 0; j < vertexList.length; j++) {

if (adjMat[i][j] <= getRadius()) {

x = x + 1;

rneighbors[i][j] = j;

} else {

rneighbors[i][j] = max;

}

if (adjMat[i][j] <= (getAlpha() * getRadius())) {

y = y + 1;

arneighbors[i][j] = j;

}

}

npir[i] = x;

npar[i] = y;

x = 0;

y = 0;

}

}

public void cariLoci() {

Double jml_npar = 0.0;

Double jml_npar2 = 0.0;

Double avgNpira;

Double stdevNpira;

Double mdef;

Double omdef;

Double komdef;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 185: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

164

for (int i = 0; i < adjMat.length; i++) {

setJumlahAnggota();

for (int j = 0; j < rneighbors.length; j++) {

if (rneighbors[i][j] != max) {

jml_npar = jml_npar + npar[j];

}

}

avgNpira = jml_npar / npir[i];

System.out.println("avgNpira [" + i + "] = " + avgNpira);

for (int j = 0; j < rneighbors.length; j++) {

if (rneighbors[i][j] != max) {

jml_npar2 = jml_npar2 + Math.pow((npar[j] - avgNpira), 2);

}

}

stdevNpira = Math.sqrt(jml_npar2 / npir[i]);

System.out.println("stdevNpira [" + i + "] = " + stdevNpira);

mdef = 1 - (npar[i] / avgNpira);

System.out.println("mdef [" + i + "] = " + mdef);

vertexList[i].setMdef(mdef);

omdef = stdevNpira / avgNpira;

System.out.println("omdef [" + i + "] = " + omdef);

vertexList[i].setOmdef(omdef);

komdef = konstanta * omdef;

System.out.println("komdef [" + i + "] = " + komdef);

vertexList[i].setKomdef(komdef);

if (mdef > komdef) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 186: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

165

System.out.println("Mahasiswa [" + i + "] = " + "OUTLIER");

} else {

System.out.println("Mahasiswa [" + i + "] = " + "BUKAN

OUTLIER");

}

System.out.println("");

jml_npar = 0.0;

jml_npar2 = 0.0;

mdef = 0.0;

omdef = 0.0;

komdef = 0.0;

}

}

public void inputData(JTable jTableData) {

for (int i = 0; i < jTableData.getRowCount(); i++) {

String label = "";

List<Double> listNilai = new ArrayList<Double>();

for (int j = 0; j < jTableData.getColumnCount(); j++) {

if (j == 0) {

if (jTableData.getValueAt(i, j).toString().equals("")) {

label = "null";

} else {

label = jTableData.getValueAt(i, j).toString();

}

} else {

if (jTableData.getValueAt(i, j).toString().equals("")) {

listNilai.add(0.0);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 187: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

166

} else if (jTableData.getValueAt(i,

j).toString().matches("[^0-9]*")) {

listNilai.add(0.0);

} else {

listNilai.add(Double.parseDouble(jTableData.getValueAt(i,

j).toString().replace(",", ".")));

}

}

}

addVertex(label, listNilai);

}

for (int i = 0; i < jTableData.getRowCount(); i++) {

for (int j = i + 1; j < jTableData.getRowCount(); j++) {

if (i != j) {

addEdge(i, j, cariJarakEcludian(i, j));

}

}

}

}

public LociTabelModel setDataLoci(String label) {

List<DataLoci> dlc = new ArrayList<DataLoci>();

DataLoci dl;

for (int i = 0; i < vertexList.length; i++) {

if (vertexList[i].getMdef() > vertexList[i].getKomdef()) {

dl = new DataLoci();

dl.setLabel(vertexList[i].getLabel());

dl.setMdef(vertexList[i].getMdef());

dl.setKomdef(vertexList[i].getKomdef());

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 188: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

167

dlc.add(dl);

}

}

LociTabelModel ltm = new LociTabelModel(dlc, label);

return ltm;

}

}

2. Implementasi Kelas Verteks.java

Kelas ini adalah kelas yang menyimpan setiap obyek data ke dalam

verteks. Kelas ini adalah terdapat beberapa atribut yang berfungsi untuk

menghitung dan melakukan proses deteksi outlier pada seriap obyek data

sehingga nantinya setiap obyek data akan memiliki atribut-atribut tersebut.

package Controller;

import java.util.List;

public class Verteks {

public String label;

List<Double> nilai;

private boolean wasVisited = false;

private int jumlah_rNeighbors;

private List<String> rNeighbors;

private int jumlah_arNeighbors;

private List<String> arNeighbors;

private Double avgNpira;

private Double stdevNpira;

private Double mdef;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 189: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

168

private Double omdef;

private Double komdef;

private Double AnggotaRNeighbor;

private Double AnggotaARNeighbor;

public Verteks(String label, List<Double> nilai) {

this.label = label;

this.nilai = nilai;

}

public void setArNeighbors(List<String> arNeighbors) {

this.arNeighbors = arNeighbors;

}

public void setJumlah_arNeighbors(int jumlah_arNeighbors) {

this.jumlah_arNeighbors = jumlah_arNeighbors;

}

public void setJumlah_rNeighbors(int jumlah_rNeighbors) {

this.jumlah_rNeighbors = jumlah_rNeighbors;

}

public void setLabel(String label) {

this.label = label;

}

public void setMdef(Double mdef) {

this.mdef = mdef;

}

public void setNilai(List<Double> nilai) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 190: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

169

this.nilai = nilai;

}

public void setrNeighbors(List<String> rNeighbors) {

this.rNeighbors = rNeighbors;

}

public void setWasVisited(boolean wasVisited) {

this.wasVisited = wasVisited;

}

public List<String> getArNeighbors() {

return arNeighbors;

}

public int getJumlah_arNeighbors() {

return jumlah_arNeighbors;

}

public int getJumlah_rNeighbors() {

return jumlah_rNeighbors;

}

public String getLabel() {

return label;

}

public Double getMdef() {

return mdef;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 191: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

170

public List<Double> getNilai() {

return nilai;

}

public List<String> getrNeighbors() {

return rNeighbors;

}

public boolean isWasVisited() {

return wasVisited;

}

public Double getAnggotaRNeighbor() {

return AnggotaRNeighbor;

}

public void setAnggotaRNeighbor(Double AnggotaRNeighbor) {

this.AnggotaRNeighbor = AnggotaRNeighbor;

}

public Double getAnggotaARNeighbor() {

return AnggotaARNeighbor;

}

public void setAnggotaARNeighbor(Double AnggotaARNeighbor) {

this.AnggotaARNeighbor = AnggotaARNeighbor;

}

public Double getAvgNpira() {

return avgNpira;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 192: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

171

public Double getStdevNpira() {

return stdevNpira;

}

public void setAvgNpira(Double avgNpira) {

this.avgNpira = avgNpira;

}

public void setStdevNpira(Double stdevNpira) {

this.stdevNpira = stdevNpira;

}

public Double getOmdef() {

return omdef;

}

public void setOmdef(Double omdef) {

this.omdef = omdef;

}

public Double getKomdef() {

return komdef;

}

public void setKomdef(Double komdef) {

this.komdef = komdef;

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 193: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

172

3. Implementasi Kelas DataLoci.java

Method DataLoci memiliki atribut label, mdef, da komdef. Atribut ini

digunakan untuk menampilkan hasil deteksi outlier pada tab Deteksi Outlier.

package Model;

public class DataLoci {

private String label;

private Double mdef;

private Double komdef;

public Double getKomdef() {

return komdef;

}

public String getLabel() {

return label;

}

public Double getMdef() {

return mdef;

}

public void setKomdef(Double komdef) {

this.komdef = komdef;

}

public void setLabel(String label) {

this.label = label;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 194: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

173

public void setMdef(Double mdef) {

this.mdef = mdef;

}

}

4. Implementasi Kelas DatabaseController.java

Pada kelas DatabaseController.java terdapat method

tampilTabelOracle, tampilTabelMySql, dan selectTable. Dimana method

tampilTabelOracle berfungsi untuk menampilkan tabel dalam Oracle.

Method tampilTabelMySql berfungsi untuk menampilkan tabel dalam MySql.

Method selectTable berfungsi untuk memanggil tabel yang dipilih.

package Controller;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class DatabaseController {

public ResultSet tampilTabelOracle(Connection conn) throws

SQLException {

Statement stmt;

ResultSet rset;

String query;

stmt =

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 195: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

174

query = "select table_name from user_tables";

System.out.println("\nExecuting query: " + query);

rset = stmt.executeQuery(query);

return rset;

}

public ResultSet tampilTabelMYSql(Connection conn) throws

SQLException {

Statement stmt;

ResultSet rset;

String query;

stmt =

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

query = "show tables";

System.out.println("\nExecuting query: " + query);

rset = stmt.executeQuery(query);

return rset;

}

public ResultSet selectTable(Connection conn, String namaTable)

throws SQLException {

Statement stmt;

ResultSet rset;

String query;

stmt =

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

query = "select * from "+ namaTable;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 196: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

175

System.out.println("\nExecuting query: " + query);

rset = stmt.executeQuery(query);

return rset;

}

}

5. Implementasi Kelas Seleksi Atribut.java

Pada method SeleksiAtribut memiliki atribut getAtribut dan set atribut

yang beripe String, juga getPilih dan setPilih yang bertipe Boolean.

package Controller;

public class SeleksiAtribut {

private String atribut;

private Boolean pilih;

public SeleksiAtribut() {

}

public SeleksiAtribut(String atribut, Boolean pilih) {

this.atribut = atribut;

this.pilih = pilih;

}

public String getAtribut() {

return atribut;

}

public Boolean getPilih() {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 197: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

176

return pilih;

}

public void setAtribut(String atribut) {

this.atribut = atribut;

}

public void setPilih(Boolean pilih) {

this.pilih = pilih;

}

}

6. Implementasi Kelas CheckBoxTableModel.java

Method CheckBoxTableModel berfungsi untuk menyeleksi atribut

yang akan digunakan untuk proses deteksi. Fungsi ini dilakukan pada

Halaman Utama.

package Model;

import Controller.SeleksiAtribut;

import java.util.ArrayList;

import java.util.List;

import javax.swing.table.AbstractTableModel;

public class CheckBoxTableModel extends AbstractTableModel{

String[] column = {"Atribut", "Pilih"};

SeleksiAtribut seleksi = new SeleksiAtribut("", false);

List<SeleksiAtribut> list;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 198: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

177

public CheckBoxTableModel() {

list = new ArrayList<SeleksiAtribut>();

}

public int getRowCount() {

return list.size();

}

public int getColumnCount() {

return column.length;

}

@Override

public String getColumnName(int col){

return column[col];

}

public Object getValueAt(int rowIndex, int columnIndex) {

switch (columnIndex){

case 0:

return list.get(rowIndex).getAtribut();

case 1:

return list.get(rowIndex).getPilih();

}

return null;

}

@Override

public Class getColumnClass(int columnIndex){

return getValueAt(0, columnIndex).getClass();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 199: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

178

}

@Override

public void setValueAt(Object value, int rowIndex, int columnIndex){

switch (columnIndex){

case 0:

list.get(rowIndex).setAtribut(value.toString());

break;

case 1:

list.get(rowIndex).setPilih((Boolean) value);

break;

}

fireTableCellUpdated(rowIndex, columnIndex);

}

@Override

public boolean isCellEditable(int row, int column){

return true;

}

public void add(int a, SeleksiAtribut field_m){

list.add(a, field_m);

fireTableCellUpdated(getRowCount() - 1, getRowCount() - 1);

}

public void removeRow(){

List<SeleksiAtribut> sa = new ArrayList<SeleksiAtribut>();

for (SeleksiAtribut select : list){

if(!select.getPilih()){

sa.add(select);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 200: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

179

}

list = sa;

fireTableDataChanged();

}

}

7. Implementasi Kelas KoneksiDatabase.java

Method KoneksiDataBase berfungsi untuk menginputkan data dari

tabel basisdata baik dari MySQL maupun dari Oracle. Kemudian data akan di

tampilkan pada tabel di Halaman Utama.

package Model;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import oracle.jdbc.OracleDriver;

public class KoneksiDataBase {

private static String jdbcURL;

private static String user;

private static String password;

private static Connection connection = null;

public KoneksiDataBase() {

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 201: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

180

public static Connection KoneksiDataBaseSQL(String url, String user,

String password) {

try {

Class.forName("org.gjt.mm.mysql.Driver");

connection = DriverManager.getConnection(url, user, password);

System.out.println("koneksi berhasil");

} catch (Exception ex) {

System.out.println("message: " + ex.getMessage());

}

return connection;

}

public static Connection KoneksiDataBaseOracle(String url, String

user, String password) {

try {

DriverManager.registerDriver(new OracleDriver());

connection = DriverManager.getConnection(url, user, password);

System.out.println("koneksi berhasil");

} catch (Exception ex) {

System.out.println("message: " + ex.getMessage());

}

return connection;

}

public boolean Connected() {

if (connection != null) {

return true;

} else {

return false;

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 202: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

181

public boolean OracleConnected(String url, String username, String

password) {

if (KoneksiDataBaseOracle(url, username, password) != null) {

return true;

} else {

return false;

}

}

public boolean SQLConnected(String url, String username, String

password) {

if (KoneksiDataBaseSQL(url, username, password) != null) {

return true;

} else {

return false;

}

}

public boolean getClosed() {

if (Connected()) {

try {

connection.close();

connection = null;

} catch (SQLException ex) {

ex.printStackTrace();

}

return true;

} else {

return false;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 203: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

182

}

public String getJdbcURL() {

return jdbcURL;

}

public void setJdbcURL(String jdbcURL) {

this.jdbcURL = jdbcURL;

}

public String getUser() {

return user;

}

public void setUser(String user) {

this.user = user;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Connection getConnection() {

return connection;

}

public void setConn(Connection connection) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 204: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

183

this.connection = connection;

}

public static void main(String[] args) {

}

}

8. Implementasi Kelas LociTabelModel.java

Method LociTabelModel memiliki atribut List<DataLoci> dan label.

Method ini berfungsi untuk mengeset tabel untuk menampilkan hasil deteksi

outlier.

package Model;

import Controller.Verteks;

import java.util.ArrayList;

import java.util.List;

import javax.swing.table.AbstractTableModel;

public class LociTabelModel extends AbstractTableModel {

private List<DataLoci> dlo = new ArrayList<DataLoci>();

String label;

public LociTabelModel(List<DataLoci> dlo, String label) {

this.dlo = dlo;

label = label;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 205: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

184

public int getRowCount() {

return dlo.size();

}

public int getColumnCount() {

return 3;

}

public Object getValueAt(int rowIndex, int columnIndex) {

DataLoci dloci = dlo.get(rowIndex);

switch (columnIndex) {

case 0:

return dloci.getLabel();

case 1:

return dloci.getMdef();

case 2:

return dloci.getKomdef();

default:

return "";

}

}

@Override

public String getColumnName(int column) {

switch (column) {

case 0:

return "Nomor";

case 1:

return "Mdef";

case 2:

return "koMdef";

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 206: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

185

default:

return "";

}

}

@Override

public boolean isCellEditable(int row, int col) {

return true;

}

@Override

public void setValueAt(Object val, int rowIndex, int columnIndex) {

switch (columnIndex) {

case 0:

dlo.get(rowIndex).setLabel(val.toString());

break;

case 1:

dlo.get(rowIndex).setMdef((Double) val);

break;

case 2:

dlo.get(rowIndex).setKomdef((Double) val);

break;

}

fireTableCellUpdated(rowIndex, columnIndex);

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 207: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

186

9. Implementasi Kelas HalamanAwal.form

HalamanAwal merupakan halaman pertama yang akan tampil. Pada

halaman ini terdapat fungsi yang mengubungkan ke Halaman Utama.

package View;

public class HalamanAwal extends javax.swing.JFrame {

public HalamanAwal() {

initComponents();

setLocationRelativeTo(this);

setTitle("Halaman Awal");

}

private void masukButtonActionPerformed(java.awt.event.ActionEvent evt)

{

HalamanUtama utama = new HalamanUtama();

utama.setVisible(true);

this.dispose();

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanAwal().setVisible(true);

}

});

}

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 208: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

187

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JPanel jPanel1;

private javax.swing.JButton masukButton;

}

10. Implementasi Kelas HalamanBantuan.form

HalamanBantuan berisi tentang petunjuk penggunaan sistem untuk

melakukan pendeteksian outlier menggunakan algoritma Local Correlation

Integral. Halaman ini akan tampil setelah pengguna menekan tombol

‘Bantuan’ pada halaman utama sistem.

package View;

import javax.swing.JOptionPane;

public class HalamanBantuan extends javax.swing.JFrame {

public HalamanBantuan() {

initComponents();

setLocationRelativeTo(this);

}

private void tentangButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanTentang tentang = new HalamanTentang();

tentang.setVisible(true);

this.dispose();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 209: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

188

private void bantuanButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanBantuan bantuan = new HalamanBantuan();

bantuan.setVisible(true);

this.dispose();

}

private void keluarButtonActionPerformed(java.awt.event.ActionEvent

evt) {

int keluar = JOptionPane.showConfirmDialog(null, "Apakah anda yakin

ingin keluar dari sistem?", "Konfirmasi", JOptionPane.YES_NO_OPTION);

if (keluar == JOptionPane.YES_OPTION) {

this.dispose();

} else if (keluar == JOptionPane.NO_OPTION) {

return;

}

}

private void kembaliButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanUtama utama = new HalamanUtama();

utama.setVisible(true);

this.dispose();

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanBantuan().setVisible(true);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 210: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

189

}

});

}

private javax.swing.JButton bantuanButton;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTextArea jTextArea1;

private javax.swing.JButton keluarButton;

private javax.swing.JButton kembaliButton;

private javax.swing.JButton tentangButton;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 211: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

190

11. Implementasi Kelas HalamanPilihDatabase.form

HalamanPilihDatabase merupakan halaman yang akan tampil setelah

pengguna menekan tombol ‘Pilih Database’ pada tab Preprosessing.

Halaman ini berfungsi untuk menyambungkan sistem ke database untuk

proses input data dari database.

package View;

import Model.KoneksiDataBase;

import javax.swing.JOptionPane;

public class HalamanPilihDatabase extends javax.swing.JFrame {

public HalamanPilihDatabase() {

initComponents();

setResizable(false);

setLocationRelativeTo(this);

}

private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {

pilihDatabase();

}

private void batalButtonActionPerformed(java.awt.event.ActionEvent evt)

{

this.dispose();

}

private void

pilihKoneksiComboBoxActionPerformed(java.awt.event.ActionEvent evt) {

if (pilihKoneksiComboBox.getSelectedItem().equals("Oracle")){

dbNameTextField.setText(null);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 212: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

191

dbNameTextField.enable();

urlTextField.setText("jdbc:oracle:thin:@localhost:1521:XE");

} else if (pilihKoneksiComboBox.getSelectedItem().equals("MySql")){

dbNameTextField.setText(null);

dbNameTextField.enable();

urlTextField.setText("jdbc:mysql://localhost:3306/");

}

}

public void pilihDatabase() {

if (pilihKoneksiComboBox.getSelectedIndex() == 0) {

if (userNameTextField.getText().isEmpty() ||

passwordField.getText().isEmpty()

|| urlTextField.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Username, Password,

Nama Database, dan URL tidak boleh kosong!");

} else {

String username = userNameTextField.getText();

String password = passwordField.getText();

String url = urlTextField.getText();

String database = dbNameTextField.getText();

KoneksiDataBase conn = new KoneksiDataBase();

boolean kon = conn.SQLConnected(url + database, username,

password);

if (kon == true) {

JOptionPane.showMessageDialog(null, "Koneksi ke Database

MySQL Berhasil");

HalamanPilihTabel pt = new HalamanPilihTabel(conn,

pilihKoneksiComboBox.getSelectedItem().toString());

pt.setVisible(true);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 213: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

192

this.dispose();

} else {

JOptionPane.showMessageDialog(null, "Username, Password,

URL yang anda masukkan salah");

userNameTextField.setText("");

passwordField.setText("");

dbNameTextField.setText("");

urlTextField.setText("");

}

}

} else if (pilihKoneksiComboBox.getSelectedIndex() == 1) {

if (userNameTextField.getText().isEmpty() ||

passwordField.getText().isEmpty()

|| dbNameTextField.getText().isEmpty() ||

urlTextField.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Username, Password,

Nama Database, dan URL tidak boleh kosong!");

} else {

String username = userNameTextField.getText();

String password = passwordField.getText();

String url = urlTextField.getText();

String database = dbNameTextField.getText();

KoneksiDataBase conn = new KoneksiDataBase();

boolean kon = conn.OracleConnected(url, username, password);

if (kon == true) {

JOptionPane.showMessageDialog(null, "Koneksi ke Database

Oracle Berhasil");

HalamanPilihTabel pt = new HalamanPilihTabel(conn,

pilihKoneksiComboBox.getSelectedItem().toString());

pt.setVisible(true);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 214: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

193

this.dispose();

} else {

JOptionPane.showMessageDialog(null, "Username, Password,

Nama Database, dan URL yang anda masukkan salah");

userNameTextField.setText("");

passwordField.setText("");

dbNameTextField.setText("");

urlTextField.setText("");

}

}

}

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanPilihDatabase().setVisible(true);

}

});

}

private javax.swing.JButton batalButton;

private javax.swing.JTextField dbNameTextField;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JButton okButton;

private javax.swing.JPasswordField passwordField;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 215: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

194

private javax.swing.JComboBox pilihKoneksiComboBox;

private javax.swing.JTextField urlTextField;

private javax.swing.JTextField userNameTextField;

}

12. Implementasi Kelas HalamanPilihFile.form

HalamanPilihFile akan tampil setelah pengguna menekan tombol ‘Pilih

File’ pada tab Preprosessing. Halaman ini berfungsi untuk menginputkan

data dengan format .xls atau .csv. Halaman ini berupa File Chooser.

package View;

public class HalamanPilihFile extends javax.swing.JFrame {

public HalamanPilihFile() {

initComponents();

setLocationRelativeTo(this);

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanPilihFile().setVisible(true);

}

});

}

private javax.swing.JFileChooser jFileChooser1;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 216: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

195

13. Implementasi Kelas HalamanPilihTabel.form

HalamanPilihTabel merupakan halaman yang akan tampil setelah

pengguna terhubung dengan database pada fungsi HalamanPilihDatabase.

Setelah sistem terhubung ke database, pengguna dapat memilih tabel

basisdata yang akan diinput datanya untuk proses deteksi.

package View;

import Controller.DatabaseController;

import Model.KoneksiDataBase;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

public class HalamanPilihTabel extends javax.swing.JFrame {

KoneksiDataBase koneksi;

public HalamanPilihTabel(KoneksiDataBase koneksi, String database) {

initComponents();

setLocationRelativeTo(this);

tampilDaftarTabel(koneksi, database);

}

private HalamanPilihTabel() {

}

public void tampilDaftarTabel(KoneksiDataBase koneksi, String database)

{

this.koneksi = koneksi;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 217: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

196

try{

DatabaseController dbc = new DatabaseController();

ResultSet rset;

if (database.equals("Oracle")) {

rset = dbc.tampilTabelOracle(koneksi.getConnection());

while (rset.next()) {

pilihTabelCombo.addItem(rset.getString(1));

}

} else if (database.equals("MySql")) {

rset = dbc.tampilTabelMYSql(koneksi.getConnection());

while (rset.next()) {

pilihTabelCombo.addItem(rset.getString(1));

}

}

} catch (SQLException ex) {

Logger.getLogger(HalamanPilihTabel.class.getName()).log(Level.SEVERE,

null, ex);

}

}

private void batalButtonActionPerformed(java.awt.event.ActionEvent evt)

{

this.dispose();

}

private void OKButtonActionPerformed(java.awt.event.ActionEvent evt) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 218: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

197

HalamanUtama utama = new HalamanUtama(koneksi,

pilihTabelCombo.getSelectedItem().toString());

utama.setVisible(true);

this.dispose();

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanPilihTabel().setVisible(true);

}

});

}

private javax.swing.JButton OKButton;

private javax.swing.JButton batalButton;

private javax.swing.JLabel jLabel1;

private javax.swing.JComboBox pilihTabelCombo;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 219: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

198

14. Implementasi kelas HalamanTentang.form

HalamanTentang berisi pengembangan alat bantu Deteksi Outlier

menggunakan algoritma Local Correlation Integral. Halaman ini akan tampil

setelah pengguna menekan tombol ‘Tentang’ pada halaman utama sistem.

package View;

import javax.swing.JOptionPane;

public class HalamanTentang extends javax.swing.JFrame {

public HalamanTentang() {

initComponents();

setLocationRelativeTo(this);

}

private void tentangButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanTentang tentang = new HalamanTentang();

tentang.setVisible(true);

this.dispose();

}

private void bantuanButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanBantuan bantuan = new HalamanBantuan();

bantuan.setVisible(true);

this.dispose();

}

private void keluarButtonActionPerformed(java.awt.event.ActionEvent

evt) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 220: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

199

int keluar = JOptionPane.showConfirmDialog(null, "Apakah anda yakin

ingin keluar dari sistem?", "Konfirmasi", JOptionPane.YES_NO_OPTION);

if (keluar == JOptionPane.YES_OPTION) {

this.dispose();

} else if (keluar == JOptionPane.NO_OPTION) {

return;

}

}

private void kembaliButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanUtama utama = new HalamanUtama();

utama.setVisible(true);

this.dispose();

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanTentang().setVisible(true);

}

});

}

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 221: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

200

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel16;

private javax.swing.JLabel jLabel17;

private javax.swing.JLabel jLabel18;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JButton keluarButton;

private javax.swing.JButton kembaliButton;

private javax.swing.JButton tentangButton;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 222: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

201

15. Implementasi Kelas HalamanUtama.form

HalamanUtama merupakan fungsi utama dari sistem pendeteksi outlier

menggunakan algoritma Local Correlation Integral. Halaman ini merupakan

interface utama ketika pengguna melakukan proses deteksi.

package View;

import Controller.DatabaseController;

import Controller.Graph;

import Controller.SeleksiAtribut;

import Model.CheckBoxTableModel;

import Model.KoneksiDataBase;

import java.awt.CheckboxMenuItem;

import java.awt.Component;

import java.awt.Dimension;

import java.awt.event.AdjustmentListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.StringTokenizer;

import java.util.Vector;

import java.util.logging.Level;

import java.util.logging.Logger;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 223: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

202

import javax.swing.DefaultRowSorter;

import javax.swing.JDesktopPane;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import javax.swing.JTable;

import javax.swing.filechooser.FileNameExtensionFilter;

import javax.swing.table.DefaultTableColumnModel;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableCellRenderer;

import javax.swing.table.TableColumn;

import javax.swing.table.TableColumnModel;

import javax.swing.table.TableModel;

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

public class HalamanUtama extends javax.swing.JFrame {

Graph graph;

CheckBoxTableModel cekboxtable = new CheckBoxTableModel();

private DefaultTableModel model;

public HalamanUtama() {

initComponents();

setTitle("Halaman Utama");

setLocationRelativeTo(this);

jDesktopPane1.getMaximumSize();

setResizable(false);

cekboxtable.removeRow();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 224: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

203

public HalamanUtama(KoneksiDataBase koneksi, String table) {

initComponents();

setLocationRelativeTo(this);

jDesktopPane1.getMaximumSize();

jTabbedPane1.setEnabledAt(1, false);

pilihDataBase(koneksi, table);

}

private void

pilihDatabaseButtonActionPerformed(java.awt.event.ActionEvent evt) {

HalamanPilihDatabase db = new HalamanPilihDatabase();

db.setVisible(true);

this.dispose();

}

private void tentangButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanTentang tentang = new HalamanTentang();

tentang.setVisible(true);

this.dispose();

}

private void bantuanButtonActionPerformed(java.awt.event.ActionEvent

evt) {

HalamanBantuan bantuan = new HalamanBantuan();

bantuan.setVisible(true);

this.dispose();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 225: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

204

private void keluarButtonActionPerformed(java.awt.event.ActionEvent

evt) {

int keluar = JOptionPane.showConfirmDialog(null, "Apakah anda yakin

ingin keluar dari sistem?", "Konfirmasi", JOptionPane.YES_NO_OPTION);

if (keluar == JOptionPane.YES_OPTION) {

this.dispose();

} else if (keluar == JOptionPane.NO_OPTION) {

return;

}

}

private void pilihFileButtonActionPerformed(java.awt.event.ActionEvent

evt) {

pilihFile();

}

private void batalButtonActionPerformed(java.awt.event.ActionEvent evt)

{

for (int i = 0; i < seleksiTable.getRowCount(); i++) {

seleksiTable.setValueAt(false, i, 1);

}

}

private void

tandaiSemuaButtonActionPerformed(java.awt.event.ActionEvent evt) {

for (int i = 0; i < seleksiTable.getRowCount(); i++) {

seleksiTable.setValueAt(true, i, 1);

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 226: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

205

private void hapusButtonActionPerformed(java.awt.event.ActionEvent

evt) {

hapusAtribut();

}

private void submitButtonActionPerformed(java.awt.event.ActionEvent

evt) {

submitData();

}

private void prosesButtonActionPerformed(java.awt.event.ActionEvent

evt) {

prosesDeteksi();

}

private void

hapusOutlierButtonActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dm = new DefaultTableModel();

HasilOutlierTable.setModel(dm);

jumlahOutlierTextField.setText("");

lamaDeteksiTextField.setText("");

}

private void simpanButtonActionPerformed(java.awt.event.ActionEvent

evt) {

simpanLoci();

}

private void

batalSeleksiButtonActionPerformed(java.awt.event.ActionEvent evt) {

HalamanUtama utama = new HalamanUtama();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 227: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

206

utama.setVisible(true);

this.dispose();

}

private void radiusTextFieldKeyReleased(java.awt.event.KeyEvent evt) {

if (!radiusTextField.getText().matches("[0-9.]*")) {

JOptionPane.showMessageDialog(null, "Nilai radius tidak boleh

berisi huruf atau angka negatif!");

}

}

private void alphaTextFieldKeyReleased(java.awt.event.KeyEvent evt) {

if (!alphaTextField.getText().matches("[0-9.]*")) {

JOptionPane.showMessageDialog(null, "Nilai alpha tidak boleh

berisi huruf atau angka negatif!");

}

}

private void konstantaTextFieldKeyReleased(java.awt.event.KeyEvent

evt) {

if (!konstantaTextField.getText().matches("[0-9.]*")) {

JOptionPane.showMessageDialog(null, "Nilai konstanta tidak boleh

berisi huruf atau angka negatif!");

}

}

public void pilihFile() {

JFileChooser fileChooser = new JFileChooser();

fileChooser.setVisible(true);

int returnValue = fileChooser.showOpenDialog(null);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 228: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

207

if (returnValue == JFileChooser.APPROVE_OPTION) {

String namaFile = fileChooser.getSelectedFile().getPath();

String[] cut_namafile = namaFile.split("\\.");

if (cut_namafile[1].equals("xls")) {

File excel = fileChooser.getSelectedFile();

Vector columnName = new Vector();

Vector data = new Vector();

try {

Workbook workbook = Workbook.getWorkbook(excel);

Sheet sheet = workbook.getSheet(0);

columnName.clear();

for (int i = 0; i < sheet.getColumns(); i++) {

Cell cell = sheet.getCell(i, 0);

columnName.add(cell.getContents());

}

data.clear();

for (int j = 1; j < sheet.getRows(); j++) {

Vector data2 = new Vector();

for (int i = 0; i < sheet.getColumns(); i++) {

Cell cell = sheet.getCell(i, j);

data2.add(cell.getContents());

}

data2.add("\n");

data.add(data2);

}

} catch (Exception e) {

e.printStackTrace();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 229: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

208

DefaultTableModel model = new DefaultTableModel(data,

columnName);

dataPreprocessTable.setModel(model);

dataPreprocessTable.setAutoCreateRowSorter(true);

jumlahDataSeleksiTextField.setText("" + data.size());

pilihFileTextField.setText(excel.getPath());

for (int i = 0; i < model.getColumnCount(); i++) {

SeleksiAtribut seleksiatribut = new SeleksiAtribut();

seleksiatribut.setAtribut(model.getColumnName(i));

seleksiatribut.setPilih(false);

cekboxtable.add(i, seleksiatribut);

}

seleksiTable.setModel(cekboxtable);

TableModel tablemodel = dataPreprocessTable.getModel();

dataOutlierTable.setModel(tablemodel);

dataOutlierTable.setAutoCreateRowSorter(true);

int jumlahDataOutlier = tablemodel.getRowCount();

jumlahDataOutlierTextField.setText(" " + jumlahDataOutlier);

int jumlahDataSeleksi = tablemodel.getRowCount();

jumlahDataSeleksiTextField.setText(" " + jumlahDataSeleksi);

} else if (cut_namafile[1].equals("csv")) {

cekboxtable.removeRow();

File csv = fileChooser.getSelectedFile();

Vector columnName = new Vector();

Vector data = new Vector();

String line;

try {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 230: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

209

BufferedReader br = new BufferedReader(new

FileReader(csv));

StringTokenizer st = new StringTokenizer(br.readLine(), ",");

while (st.hasMoreElements()) {

columnName.addElement(st.nextToken());

}

while ((line = br.readLine()) != null) {

StringTokenizer st2 = new StringTokenizer(line, ",");

Vector row = new Vector();

while (st2.hasMoreTokens()) {

row.addElement(st2.nextToken());

}

data.addElement(row);

}

br.close();

DefaultTableModel model = new DefaultTableModel(data,

columnName);

dataPreprocessTable.setModel(model);

dataPreprocessTable.setAutoCreateRowSorter(true);

pilihFileTextField.setText(csv.getPath());

jumlahDataSeleksiTextField.setText("" + data.size());

for (int i = 0; i < model.getColumnCount(); i++) {

SeleksiAtribut seleksiatribut = new SeleksiAtribut();

seleksiatribut.setAtribut(model.getColumnName(i));

seleksiatribut.setPilih(false);

cekboxtable.add(i, seleksiatribut);

}

seleksiTable.setModel(cekboxtable);

TableModel tablemodel = dataPreprocessTable.getModel();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 231: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

210

dataOutlierTable.setModel(tablemodel);

dataOutlierTable.setAutoCreateRowSorter(true);

int jumlahDataOutlier = tablemodel.getRowCount();

jumlahDataOutlierTextField.setText(" " + jumlahDataOutlier);

int jumlahDataSeleksi = tablemodel.getRowCount();

jumlahDataSeleksiTextField.setText(" " + jumlahDataSeleksi);

} catch (Exception e) {

}

} else {

JOptionPane.showMessageDialog(null, "File yang Anda pilih

harus berformat .xls atau .csv");

}

}

}

public void pilihDataBase(KoneksiDataBase kdb, String table) {

try {

DatabaseController dc = new DatabaseController();

ResultSet rset;

rset = dc.selectTable(kdb.getConnection(), table);

ResultSetMetaData rsmd = rset.getMetaData();

int coloumCount = rsmd.getColumnCount();

Vector headers = new Vector();

Vector data = new Vector();

headers.clear();

for (int i = 1; i <= coloumCount; i++) {

headers.add(rsmd.getColumnName(i));

}

data.clear();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 232: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

211

while (rset.next()) {

Vector data2 = new Vector();

for (int i = 1; i <= coloumCount; i++) {

data2.add(rset.getString(i));

}

data2.add("\n");

data.add(data2);

}

DefaultTableModel model = new DefaultTableModel(data, headers);

dataPreprocessTable.setModel(model);

dataPreprocessTable.setAutoCreateRowSorter(true);

seleksiTable.setModel(model);

seleksiTable.setAutoCreateRowSorter(true);

cekboxtable = new CheckBoxTableModel();

for (int i = 0; i < model.getColumnCount(); i++) {

SeleksiAtribut seleksiatribut = new SeleksiAtribut();

seleksiatribut.setAtribut(model.getColumnName(i));

seleksiatribut.setPilih(false);

cekboxtable.add(i, seleksiatribut);

}

seleksiTable.setModel(cekboxtable);

TableModel tableModel = dataPreprocessTable.getModel();

dataOutlierTable.setModel(tableModel);

dataOutlierTable.setAutoCreateRowSorter(true);

} catch (SQLException ex) {

}

jumlahDataSeleksiTextField.setText("" +

dataPreprocessTable.getRowCount());

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 233: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

212

public void hapusAtribut() {

for (int i = 0; i < seleksiTable.getRowCount(); i++) {

if (seleksiTable.getValueAt(i, 1).equals(true)) {

for (int j = 0; j < dataPreprocessTable.getColumnCount(); j++) {

if (seleksiTable.getValueAt(i,

0).equals(dataPreprocessTable.getColumnName(j))) {

TableColumn tcol =

dataPreprocessTable.getColumnModel().getColumn(j);

TableColumn tcol2 =

dataOutlierTable.getColumnModel().getColumn(j);

dataPreprocessTable.removeColumn(tcol);

dataOutlierTable.removeColumn(tcol2);

}

}

}

}

cekboxtable.removeRow();

}

public void submitData() {

TableModel tablemodel = dataPreprocessTable.getModel();

dataOutlierTable.setModel(tablemodel);

dataOutlierTable.setAutoCreateRowSorter(true);

jumlahDataOutlierTextField.setText("" +

dataOutlierTable.getRowCount());

jTabbedPane1.setSelectedComponent(deteksiOutlierPanel);

jTabbedPane1.setEnabledAt(1, true);

}

public void prosesDeteksi() {

if (radiusTextField.getText().isEmpty()) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 234: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

213

JOptionPane.showMessageDialog(null, "Nilai radius tidak boleh

kosong!");

} else if (alphaTextField.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Nilai alpha tidak boleh

kosong!");

} else if (konstantaTextField.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Nilai konstanta tidak boleh

kosong!");

} else {

Double alpha;

Double radius;

alpha = Double.parseDouble(alphaTextField.getText());

radius = Double.parseDouble(radiusTextField.getText());

long t1 = System.nanoTime();

if (radius > 0 && alpha > 0 && alpha <= 1) {

graph = new Graph(dataOutlierTable.getRowCount());

graph.setRadius(radius);

graph.setAlpha(alpha);

graph.inputData(dataOutlierTable);

System.out.println("JARAK EUCLIDEAN");

graph.tampilJarakEuclidean();

System.out.println("RNEIGHBOR");

graph.tampilRNeighbor();

System.out.println("ARNEIGHBOR");

graph.tampilARNeighbor();

System.out.println("CARI LOCI");

graph.cariLoci();

System.out.println("");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 235: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

214

HasilOutlierTable.setModel(graph.setDataLoci(dataOutlierTable.getColumn

Name(0)));

HasilOutlierTable.setAutoCreateRowSorter(true);

jumlahOutlierTextField.setText("" +

HasilOutlierTable.getRowCount());

long t2 = System.nanoTime();

lamaDeteksiTextField.setText("" + (t2 - t1) *

java.lang.Math.pow(10, -9));

} else {

JOptionPane.showMessageDialog(null, "Nilai radius harus

bilangan real" +

"\n" + "nilai alpha antara 0-1" +

"\n" + "dan nilai konstanta harus bilangan bulat positif > 0");

}

}

}

public void simpanLoci() {

JFileChooser fileChooser = new JFileChooser(new File("E:/"));

fileChooser.setFileFilter(new FileNameExtensionFilter("Microsoft

Excel (*.xls)", "xls"));

fileChooser.setFileFilter(new FileNameExtensionFilter("Microsoft

Word (*.doc)", "doc"));

fileChooser.setFileFilter(new FileNameExtensionFilter("Text

Documents (*.txt)", "txt"));

FileOutputStream file_output_stream;

int returnValue = fileChooser.showSaveDialog(this);

if (returnValue == JFileChooser.APPROVE_OPTION) {

String filename = fileChooser.getSelectedFile().getPath();

String ext = fileChooser.getFileFilter().getDescription();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 236: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

215

if (ext.equals("Microsoft Excel (*.xls)")) {

File f;

f = new File(filename + ".xls");

try {

file_output_stream = new FileOutputStream(f);

} catch (FileNotFoundException e) {

e.printStackTrace();

return;

}

try {

TableModel model = HasilOutlierTable.getModel();

FileWriter excel = new FileWriter(f);

for (int i = 0; i < model.getColumnCount(); i++) {

excel.write(model.getColumnName(i) + "\t");

}

excel.write("\n");

for (int i = 0; i < model.getRowCount(); i++) {

for (int j = 0; j < model.getColumnCount(); j++) {

excel.write(model.getValueAt(i, j).toString() + "\t");

}

excel.write("\n");

}

excel.close();

} catch (IOException i) {

JOptionPane.showMessageDialog(this, "Penyimpanan Gagal");

}

} else if (ext.equals("Microsoft Word (*.doc)")) {

File f;

f = new File(filename + ".doc");

try {

file_output_stream = new FileOutputStream(f);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 237: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

216

} catch (FileNotFoundException e) {

e.printStackTrace();

return;

}

try {

BufferedWriter bfw = new BufferedWriter(new FileWriter(f));

for (int i = 0; i < HasilOutlierTable.getColumnCount(); i++) {

bfw.write(HasilOutlierTable.getColumnName(i));

bfw.write("\t");

}

for (int i = 0; i < HasilOutlierTable.getRowCount(); i++) {

bfw.newLine();

for (int j = 0; j < HasilOutlierTable.getColumnCount(); j++) {

bfw.write(HasilOutlierTable.getValueAt(i, j).toString());

bfw.write("\t");

}

}

bfw.close();

} catch (IOException i) {

JOptionPane.showMessageDialog(this, "Penyimpanan Gagal");

}

} else if (ext.equals("Text Documents (*.txt)")){

File f;

f = new File(filename + ".txt");

try {

file_output_stream = new FileOutputStream(f);

} catch (FileNotFoundException e) {

e.printStackTrace();

return;

}

try {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 238: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

217

BufferedWriter bfw = new BufferedWriter(new FileWriter(f));

for (int i = 0; i < HasilOutlierTable.getColumnCount(); i++) {

bfw.write(HasilOutlierTable.getColumnName(i));

bfw.write("\t");

}

for (int i = 0; i < HasilOutlierTable.getRowCount(); i++) {

bfw.newLine();

for (int j = 0; j < HasilOutlierTable.getColumnCount(); j++) {

bfw.write(HasilOutlierTable.getValueAt(i, j).toString());

bfw.write("\t");

}

}

bfw.close();

} catch (IOException i) {

JOptionPane.showMessageDialog(this, "Penyimpanan Gagal");

}

}

JOptionPane.showMessageDialog(this, "Hasil Deteksi Outlier Telah

Berhasil Disimpan di " + filename);

}

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new HalamanUtama().setVisible(true);

}

});

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 239: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

218

private javax.swing.JTable HasilOutlierTable;

private javax.swing.JTextField alphaTextField;

private javax.swing.JButton bantuanButton;

private javax.swing.JButton batalButton;

private javax.swing.JButton batalSeleksiButton;

private javax.swing.JTable dataOutlierTable;

private javax.swing.JTable dataPreprocessTable;

private javax.swing.JPanel deteksiOutlierPanel;

private javax.swing.JButton hapusButton;

private javax.swing.JButton hapusOutlierButton;

private javax.swing.JDesktopPane jDesktopPane1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel16;

private javax.swing.JLabel jLabel17;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 240: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

219

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JPanel jPanel6;

private javax.swing.JPanel jPanel7;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JScrollPane jScrollPane3;

private javax.swing.JScrollPane jScrollPane4;

private javax.swing.JTabbedPane jTabbedPane1;

private javax.swing.JTextField jumlahDataOutlierTextField;

private javax.swing.JTextField jumlahDataSeleksiTextField;

private javax.swing.JTextField jumlahOutlierTextField;

private javax.swing.JButton keluarButton;

private javax.swing.JTextField lamaDeteksiTextField;

private javax.swing.JButton pilihDatabaseButton;

private javax.swing.JButton pilihFileButton;

private javax.swing.JTextField pilihFileTextField;

private javax.swing.JButton prosesButton;

private javax.swing.JTextField radiusTextField;

private javax.swing.JTable seleksiTable;

private javax.swing.JButton simpanButton;

private javax.swing.JButton submitButton;

private javax.swing.JButton tandaiSemuaButton;

private javax.swing.JButton tentangButton;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 241: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

220

LAMPIRAN 11

Outlier Plot

1. Data set Mahasiswa 2007-2008 Jalur Test Tertulis pada Semester 1.

2. Data set Mahasiswa 2007-2008 Jalur Test Tertulis pada Semester 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 242: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

221

3. Data set Mahasiswa 2007-2008 Jalur Test Tertulis pada Semester 3.

4. Data set Mahasiswa 2007-2008 Jalur Test Tertulis pada Semester 4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 243: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

222

5. Data set Mahasiswa 2007-2008 Jalur Prestasi pada Semester 1.

6. Data set Mahasiswa 2007-2008 Jalur Prestasi pada Semester 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 244: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

223

7. Data set Mahasiswa 2007-2008 Jalur Prestasi pada Semester 3.

8. Data set Mahasiswa 2007-2008 Jalur Prestasi pada Semester 4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 245: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

224

9. Data set Mahasiswa 2007-2008 Jalur Test Tertulis dan Jalur Prestasi pada

Semester 1.

10. Data set Mahasiswa 2007-2008 Jalur Test Tertulis dan Jalur Prestasi pada

Semester 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 246: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

225

11. Data set Mahasiswa 2007-2008 Jalur Test Tertulis dan Jalur Prestasi pada

Semester 3.

12. Data set Mahasiswa 2007-2008 Jalur Test Tertulis dan Jalur Prestasi pada

Semester 4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 247: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

226

LAMPIRAN 12

Data Nilai Mahasiswa Angkatan 2007 dan 2008

1. Data set Mahasiswa 2007 – 2008 Jalur Test Tertulis

Nomor ips1 ips2 ips3 ips4 nil11 nil12 nil13 nil14 nil15

21 3.72 3.48 3.36 3.65 3.20 2.40 2.40 2.80 2.00

22 2.89 3.21 3.33 3.36 2.40 2.00 2.00 2.80 2.00

23 2.56 2.77 2.52 3.13 2.40 1.60 2.00 2.80 2.00

24 3.28 2.75 2.90 3.00 2.80 2.40 2.80 2.40 2.40

25 1.89 2.20 2.21 1.95 2.40 2.00 2.40 2.40 2.80

26 1.44 2.42 2.53 1.96 4.00 2.00 3.60 2.40 2.80

27 4.00 3.52 3.43 3.70 2.40 2.40 1.60 1.60 2.80

28 1.72 1.65 1.53 1.68 1.20 0.80 3.20 1.20 0.40

29 2.89 3.18 3.04 2.95 2.00 2.00 3.20 2.00 2.80

30 2.94 3.27 2.96 2.81 2.80 2.00 2.00 2.00 1.60

31 2.94 2.59 1.55 2.35 2.40 1.60 2.40 1.20 2.80

32 2.44 2.63 2.00 2.67 2.00 2.00 2.40 2.00 2.00

33 1.72 2.65 2.43 2.24 2.80 2.40 3.20 3.20 0.80

34 2.80 2.91 2.80 3.33 2.40 2.00 2.00 1.60 2.00

35 2.90 2.50 3.10 2.75 1.60 2.80 3.20 2.80 2.00

36 1.40 1.64 1.82 1.07 2.40 1.60 2.80 3.60 2.80

37 2.65 2.40 2.17 2.75 1.60 1.60 2.80 1.20 2.40

38 2.65 3.23 2.79 3.30 2.40 1.60 2.40 1.60 2.00

39 3.35 2.91 2.45 0.83 2.40 2.40 2.00 3.20 2.40

40 2.70 2.86 2.32 2.70 1.60 2.40 2.80 2.80 1.20

41 2.55 2.68 3.15 2.64 2.40 2.00 1.60 1.60 1.60

42 3.10 3.08 2.95 3.05 2.40 2.80 3.60 1.60 2.80

43 2.45 2.40 2.44 2.26 2.40 2.80 3.60 2.00 2.80

44 2.55 2.41 2.47 2.68 2.80 1.60 2.80 1.60 2.40

45 2.75 2.59 2.79 3.32 2.80 2.00 2.40 2.80 2.80

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 248: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

227

46 2.25 1.55 1.31 0.31 3.60 2.40 2.40 2.40 2.40

47 2.70 2.36 2.68 0.05 2.80 2.40 2.40 2.00 2.00

48 3.15 3.00 3.24 2.33 2.00 3.20 2.00 2.80 2.00

49 2.85 2.68 3.37 3.09 2.40 1.60 2.00 2.80 2.00

50 2.35 2.40 0.59 2.23 2.40 2.40 2.80 1.20 3.60

51 2.05 1.50 2.40 2.00 2.00 2.00 2.00 1.60 2.80

52 2.85 2.64 2.84 2.75 2.40 2.00 2.00 2.40 2.00

53 2.35 2.20 2.94 2.09 2.40 0.80 2.00 2.00 3.20

54 3.15 3.20 2.72 3.05 2.80 3.20 2.00 2.40 2.00

55 3.10 3.32 3.72 3.42 2.00 2.00 3.20 1.60 2.80

56 2.70 3.44 3.39 2.33 2.40 2.00 3.60 2.80 2.00

57 2.05 1.55 2.33 2.70 2.00 2.00 2.40 2.40 2.00

58 2.30 2.61 2.50 2.50 1.20 2.00 1.60 0.80 2.00

59 2.80 2.88 2.39 2.44 2.40 2.00 3.20 1.60 2.80

60 2.15 2.26 2.33 2.06 2.40 1.60 3.20 1.20 2.00

61 2.90 2.28 2.39 1.93 2.00 2.00 3.60 1.60 3.20

62 3.25 3.16 3.11 2.56 2.40 2.40 3.20 2.80 1.60

63 3.45 3.60 3.39 3.50 2.80 2.40 2.80 1.20 2.80

64 2.30 3.13 3.00 3.05 1.60 2.40 3.60 2.40 1.60

65 2.30 2.39 2.62 2.94 2.80 0.80 2.80 2.00 2.80

66 2.85 3.28 3.50 3.63 2.80 2.80 2.40 2.40 2.00

67 2.20 2.30 1.28 0.00 2.80 2.00 1.20 1.60 1.60

68 1.55 1.00 1.72 0.00 2.80 1.60 2.00 2.40 1.20

69 1.65 1.67 2.07 1.85 2.40 2.00 1.20 2.00 1.60

70 3.20 3.04 2.94 3.14 2.80 2.00 3.60 2.00 3.20

71 3.10 2.60 2.89 2.72 2.40 2.80 1.60 2.00 2.40

72 2.05 1.28 1.73 0.82 2.40 3.20 3.60 2.80 3.20

73 2.65 1.87 2.00 1.56 2.80 2.40 2.40 1.60 2.00

74 2.35 1.04 0.19 0.92 3.20 2.00 3.60 3.20 1.60

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 249: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

228

2. Data set Mahasiswa 2007 – 2008 Jalur Prestasi

Nomor ips1 ips2 ips3 ips4 final

1 2.06 2.32 2.91 3.00 2.71

2 2.72 2.50 2.96 2.38 2.71

3 3.33 3.48 3.78 3.48 2.78

4 2.39 3.00 2.43 2.82 2.86

5 2.11 2.71 2.43 2.45 2.95

6 3.00 2.96 2.61 3.29 2.70

7 3.72 3.56 3.43 3.67 3.15

8 3.44 3.04 2.88 3.48 2.85

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.92

12 3.11 3.08 2.78 3.48 2.73

13 2.00 2.00 2.29 3.00 3.08

14 3.06 2.50 2.57 2.78 2.73

15 1.67 2.24 2.52 2.16 2.72

16 3.89 3.63 3.57 3.62 2.99

17 2.61 0.32 0.69 2.85 2.72

18 2.83 2.55 3.09 3.17 2.79

19 3.72 3.74 2.87 3.52 2.77

20 3.72 3.42 3.65 3.71 2.85

75 2.40 2.65 2.57 3.24 2.95

76 0.85 2.29 2.21 2.00 2.85

77 2.65 2.75 2.11 2.74 2.74

78 2.85 3.27 2.91 2.73 2.93

79 1.85 1.71 2.40 2.06 2.98

80 2.95 2.91 3.16 3.25 2.80

81 3.35 2.48 3.00 2.14 3.00

82 2.65 2.14 2.45 2.64 2.92

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 250: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

229

83 3.35 3.09 3.42 3.25 3.11

84 2.60 3.00 2.90 3.10 2.83

85 3.50 2.92 3.27 3.04 2.85

86 3.10 2.80 3.68 3.57 3.22

87 2.25 2.05 2.29 1.83 2.80

88 2.65 2.77 2.14 0.94 2.89

89 3.65 3.74 3.70 3.90 2.97

90 3.25 3.35 2.67 3.25 2.86

91 3.40 3.00 2.73 2.47 2.92

92 2.60 1.73 3.00 2.10 2.98

93 2.50 2.82 3.35 3.57 2.87

94 1.90 1.35 2.46 1.20 2.77

95 2.45 3.00 3.25 3.70 2.98

96 2.20 1.90 2.17 2.30 2.77

97 2.30 3.00 3.24 3.00 2.72

98 3.55 3.32 3.19 3.15 3.22

99 2.45 2.55 2.44 3.15 2.81

100 3.05 3.04 3.26 3.58 2.86

101 2.60 2.64 2.58 3.33 2.87

102 3.15 3.20 2.89 3.37 2.98

103 3.20 3.52 3.37 3.52 3.19

104 2.80 3.00 3.14 3.05 2.94

105 2.60 2.73 3.05 3.38 3.06

106 2.05 1.95 2.63 2.35 2.83

107 3.30 3.92 3.76 3.78 3.33

108 2.70 2.32 3.00 2.78 2.85

109 2.85 1.73 2.56 2.76 3.08

110 2.40 2.75 3.05 3.32 2.89

111 3.45 3.36 2.95 2.82 3.05

112 2.60 2.55 3.00 2.96 2.87

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 251: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

230

113 2.65 2.14 2.22 3.11 2.78

114 2.75 3.00 3.21 3.53 2.75

115 2.75 3.36 3.33 3.13 2.92

116 2.40 2.20 2.06 2.22 2.73

117 2.60 1.70 2.00 2.76 2.89

118 3.45 3.24 3.48 3.57 3.06

119 2.65 2.95 2.48 3.15 2.83

120 2.85 2.82 3.14 3.42 2.81

121 2.55 2.74 2.94 2.53 2.69

122 2.30 2.43 2.28 1.47 3.05

123 3.35 3.04 3.00 3.20 2.83

124 1.45 0.44 2.47 2.65 2.90

125 3.30 3.16 3.22 3.25 2.77

126 3.20 3.40 3.72 3.10 2.81

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 252: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

231

3. Data set Mahasiswa 2007 – 2008 Jalur Test Tertulis dan Jalur Prestasi

Nomor ips1 ips2 ips3 ips4 final

1 2.06 2.32 2.91 3.00 2.71

2 2.72 2.50 2.96 2.38 2.71

3 3.33 3.48 3.78 3.48 2.78

4 2.39 3.00 2.43 2.82 2.86

5 2.11 2.71 2.43 2.45 2.95

6 3.00 2.96 2.61 3.29 2.70

7 3.72 3.56 3.43 3.67 3.15

8 3.44 3.04 2.88 3.48 2.85

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.92

12 3.11 3.08 2.78 3.48 2.73

13 2.00 2.00 2.29 3.00 3.08

14 3.06 2.50 2.57 2.78 2.73

15 1.67 2.24 2.52 2.16 2.72

16 3.89 3.63 3.57 3.62 2.99

17 2.61 0.32 0.69 2.85 2.72

18 2.83 2.55 3.09 3.17 2.79

19 3.72 3.74 2.87 3.52 2.77

20 3.72 3.42 3.65 3.71 2.85

21 3.72 3.48 3.36 3.65 2.60

22 2.89 3.21 3.33 3.36 2.20

23 2.56 2.77 2.52 3.13 2.08

24 3.28 2.75 2.90 3.00 2.56

25 1.89 2.20 2.21 1.95 2.36

26 1.44 2.42 2.53 1.96 2.96

27 4.00 3.52 3.43 3.70 2.32

28 1.72 1.65 1.53 1.68 1.12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 253: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

232

29 2.89 3.18 3.04 2.95 2.28

30 2.94 3.27 2.96 2.81 2.16

31 2.94 2.59 1.55 2.35 2.12

32 2.44 2.63 2.00 2.67 2.04

33 1.72 2.65 2.43 2.24 2.36

34 2.80 2.91 2.80 3.33 2.08

35 2.90 2.50 3.10 2.75 2.32

36 1.40 1.64 1.82 1.07 2.40

37 2.65 2.40 2.17 2.75 1.84

38 2.65 3.23 2.79 3.30 2.00

39 3.35 2.91 2.45 0.83 2.44

40 2.70 2.86 2.32 2.70 2.00

41 2.55 2.68 3.15 2.64 1.96

42 3.10 3.08 2.95 3.05 2.64

43 2.45 2.40 2.44 2.26 2.68

44 2.55 2.41 2.47 2.68 2.24

45 2.75 2.59 2.79 3.32 2.52

46 2.25 1.55 1.31 0.31 2.76

47 2.70 2.36 2.68 0.05 2.40

48 3.15 3.00 3.24 2.33 2.44

49 2.85 2.68 3.37 3.09 2.08

50 2.35 2.40 0.59 2.23 2.56

51 2.05 1.50 2.40 2.00 2.12

52 2.85 2.64 2.84 2.75 2.16

53 2.35 2.20 2.94 2.09 2.00

54 3.15 3.20 2.72 3.05 2.64

55 3.10 3.32 3.72 3.42 2.24

56 2.70 3.44 3.39 2.33 2.36

57 2.05 1.55 2.33 2.70 2.08

58 2.30 2.61 2.50 2.50 1.60

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 254: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

233

59 2.80 2.88 2.39 2.44 2.36

60 2.15 2.26 2.33 2.06 2.04

61 2.90 2.28 2.39 1.93 2.36

62 3.25 3.16 3.11 2.56 2.36

63 3.45 3.60 3.39 3.50 2.52

64 2.30 3.13 3.00 3.05 2.12

65 2.30 2.39 2.62 2.94 2.12

66 2.85 3.28 3.50 3.63 2.56

67 2.20 2.30 1.28 0.00 2.04

68 1.55 1.00 1.72 0.00 2.00

69 1.65 1.67 2.07 1.85 1.96

70 3.20 3.04 2.94 3.14 2.64

71 3.10 2.60 2.89 2.72 2.40

72 2.05 1.28 1.73 0.82 2.96

73 2.65 1.87 2.00 1.56 2.36

74 2.35 1.04 0.19 0.92 2.56

75 2.40 2.65 2.57 3.24 2.95

76 0.85 2.29 2.21 2.00 2.85

77 2.65 2.75 2.11 2.74 2.74

78 2.85 3.27 2.91 2.73 2.93

79 1.85 1.71 2.40 2.06 2.98

80 2.95 2.91 3.16 3.25 2.80

81 3.35 2.48 3.00 2.14 3.00

82 2.65 2.14 2.45 2.64 2.92

83 3.35 3.09 3.42 3.25 3.11

84 2.60 3.00 2.90 3.10 2.83

85 3.50 2.92 3.27 3.04 2.85

86 3.10 2.80 3.68 3.57 3.22

87 2.25 2.05 2.29 1.83 2.80

88 2.65 2.77 2.14 0.94 2.89

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 255: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

234

89 3.65 3.74 3.70 3.90 2.97

90 3.25 3.35 2.67 3.25 2.86

91 3.40 3.00 2.73 2.47 2.92

92 2.60 1.73 3.00 2.10 2.98

93 2.50 2.82 3.35 3.57 2.87

94 1.90 1.35 2.46 1.20 2.77

95 2.45 3.00 3.25 3.70 2.98

96 2.20 1.90 2.17 2.30 2.77

97 2.30 3.00 3.24 3.00 2.72

98 3.55 3.32 3.19 3.15 3.22

99 2.45 2.55 2.44 3.15 2.81

100 3.05 3.04 3.26 3.58 2.86

101 2.60 2.64 2.58 3.33 2.87

102 3.15 3.20 2.89 3.37 2.98

103 3.20 3.52 3.37 3.52 3.19

104 2.80 3.00 3.14 3.04 2.94

105 2.60 2.73 3.05 3.38 3.06

106 2.05 1.95 2.63 2.35 2.83

107 3.30 3.92 3.76 3.78 3.33

108 2.70 2.32 3.00 2.78 2.85

109 2.85 1.73 2.56 2.76 3.08

110 2.40 2.75 3.05 3.32 2.89

111 3.45 3.36 2.95 2.82 3.05

112 2.60 2.55 3.00 2.96 2.87

113 2.65 2.14 2.22 3.11 2.78

114 2.75 3.00 3.21 3.53 2.75

115 2.75 3.36 3.33 3.13 2.92

116 2.40 2.20 2.06 2.22 2.73

117 2.60 1.70 2.00 2.76 2.89

118 3.45 3.24 3.48 3.57 3.06

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 256: DETEKSI OUTLIER MENGGUNAKAN ALGORITMA · Data mining (penambangan data) adalah suatu proses untuk menemukan suatu pengetahuan atau informasi yang berguna dari data berskala besar

235

119 2.65 2.95 2.48 3.15 2.83

120 2.85 2.82 3.14 3.42 2.81

121 2.55 2.74 2.94 2.53 2.69

122 2.30 2.43 2.28 1.47 3.05

123 3.35 3.04 3.00 3.20 2.83

124 1.45 0.44 2.47 2.65 2.90

125 3.30 3.16 3.22 3.25 2.77

126 3.20 3.40 3.72 3.10 2.81

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI