klasifikasi prestasi akademik mahasiswa berdasarkan tes …
TRANSCRIPT
KLASIFIKASI PRESTASI AKADEMIK MAHASISWA BERDASARKAN
TES POTENSI AKADEMIK DENGAN ALGORITMA
MODIFIED K-NEAREST NEIGHBOR
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer Program Studi Infromatika
Oleh :
Kristianus Yuli Kurniawan
165314050
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2021
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
CLASSIFICATION OF STUDENT ACADEMIC ACHIEVEMENT BASED
ON ACADEMIC POTENTIAL TEST RESULT WITH ALGORITHM
MODIFIED K-NEAREST NEIGHBOR
THESIS
Presented as Partial Fulfillment of The Requirements To Obtain the Sarjana
Komputer Degree in Departement of Informatics
By :
Kristianus Yuli Kurniawan
165314050
INFORMATIC STUDY PROGRAM
COMPUTER TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2021
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PERSETUJUAN
Dr. Anastasia Rita Widiarti Tanggal : 26 Januari 2021
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN PENGESAHAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
“ Jangan ragu dan harus selalu OPTIMIS ”
Skripsi ini kupersembahkan untuk :
Kedua orang tuaku Bapak Martinus Saptono dan Ibu Yohana Sarbini
Ketiga Saudaraku Ana Paramita P, Yohanes Aditya V.S, dan Andreas Adven H
Partnerku Maria Steffi Rosaria Dempo
Teman seperjuanganku Rangga, Deo, Erda, Yovita, Klara, Gesta, Stella, Glory,
Johan, Ega, Ferdi, Kevin, Ricky, Yan, Yos, Albi, dan Vero.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERNYATAAN PESETUJUAN PUBLIKASI KARYA ILMIAH
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Tes Potensi Akademik (TPA) adalah suatu tes yang bertujuan untuk memprediksi
kemampuan calon mahasiswa dalam mengikuti proses perkuliahan dan lulus tepat
waktu pada program studi yang dipilihnya. TPA di Universitas Sanata Dharma
meliputi tes penalaran verbal, tes kemampuan numberik, tes penalaran mekanik, tes
hubungan ruang, dan tes dasar bahasa inggris.
Memprediksi kemampuan calon mahasiwa sangatlah penting bagi seorang Dosen
Pembimbing Akademik (DPA) yang akan membimbing calon mahasiswa tersebut.
Memprediksi potensi akademik dapat dilakukan dengan salah satu ilmu komputer,
yaitu penambangan data (data mining) menggunakan algoritma Modified K –
Nearest Neighbor. Data penelitian ini berupa data nilai TPA mahasiswa Fakultas
Keguruan Ilmu Pendidikan dan Fakultas Sains dan Teknologi Universitas Sanata
Dharma angkatan 2015, 2016, 2017 dan 2018. Pengujian akurasi dilakukan
menggunakan 5-fold cross validation dengan tetangga terdekat sebanyak, 3, 5, 7, 9,
11, 13, 15, 17, 19, 21, 23, dan 25 berdasarkan IPK 1 - 4.
Dari hasil pecobaan didapatkan rata akurasi tertinggi pada dataset program studi
PGSD, dengan akurasi tertinggi pada IPK 3 dengan tetangga terdekat sebanyak 3
sebesar 66,7% dan ketika jumlah tetangga lebih dari 3 hasil akan menurun.. FKIP
55,1% dan FST 41,9% IPK 4 Dengan demikian dapat disimpulkan bahwa metode
Modified K – Nearest Neighbor tidak dapat diterapkan untuk mengklasifikasikan
prestasi akademik mahasiswa berdasarkan hasil tes potensi akademik.
Kata Kunci : klasifikasi, tes potensi akademik, data mining, Modified K – Nearest
Neighbor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Academic Potential Test were a test aimed to predict prospective students’
competence in the future learning process so that they are able to pass the courses
on time in the program they have chosen. Potential Test in Sanata Dharma
University covers verbal reasoning test, numerical reasoning test, mechanical
reasoning test, spatial reasoning test, and basic English test.
Predicting students’ competence is important for Academic Advisors who will
guide those students. Predicting academic potential was done by applying one of
the computer sciences, namely data mining using Modified K – Nearest Neighbor
algorithm. The data taken in this research was the Academic Potential Test scores
of Faculty of Education and Faculty of Science and Technology students in Sanata
Dharma University class of 2015, 2016, 2017, and 2018. The accuracy was tested
using 5-fold cross validation with the nearest neighbors 3, 5, 7, 9, 11, 13, 15, 17,
19, 21, 23, and 25 based on GPA 1-4.
The result shows that the highest accuracy comes from PGSD program study
dataset, with the highest accuracy at GPA 3 and the nearest neighbors are 3 with
the amount of percentage 66,7% and when the nearest neighbors are more than 3
the results will decrease. Then in FKIP 51,1% and FST 41,9% using a GPA 4. Thus,
it can be concluded that Modified K – Nearest Neighbor cannot be applied to
classify students’ academic achievements which are based on the result of academic
potency.
Keywords: classification, academic potential test, data mining, Modified K –
Nearest Neighbor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yang Maha Esa atas
limpahan berkat, rahmat dan kesehatan yang diberikan, sehingga penulis dapat
menyelesaikan skripsi ini.
Pembuatan skripsi dengan judul “Klasifikasi Prestasi Akademik Mahasiswa
Berdasarkan Tes Potensi Akademik dengan Algoritma Modified K-Nearest
Neighbor ” diajukan untuk memenuhi salah satu syarat untuk memperoleh gelar
sarjana pada Program Studi Informatika, Fakultas Sains dan Teknologi, Universitas
Sanata Dharma.
Dalam menyelesaikan skripsi ini, penulis mendapatkan bantuan, bimbingan,
dan arahan dari berbagai pihak. Oleh karena itu, penulis mengucapkan terima kasih
kepada :
1. Tuhan Yesus Kristus yang selalu memberikan kekuatan, petunjuk, dan
selalu menyertai dalam proses menyelesaikan tugas akhir ini.
2. Bapak, mamah, kakak, dan adik, kekasih dan sahabat yang selalu
memberikan saran, semangat, dukungan, dan motivasi hingga skripsi ini
dapat diselesaikan.
3. Ibu Dr. Anastasia Rita Widiarti selaku Dosen Pembimbing yang telah
sabar dan banyak meluangkan waktu untuk memberikan bimbingan dan
arahan dalam penyusunan skripsi ini.
4. Seluruh Dosen Prodi Informatika Universitas Sanata Dharma yang telah
mendidik dan memberi ilmu pengetahuan yang berguna dalam
penulisan tugas akhir ini.
5. Teman-teman Kontrakan Idaman, The Crips, dan Panti PSM 2017-2018
yang selalu menghibur dan mendukung dalam pengerjaan tugas akhir
ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
6. Saudara Johan Satria Kesuma dan Christianto Ega yang telah
meluangkan waktu dan pikiran untuk membantu dan menemani penulis
bertukar pikiran dalam pengerjaan tugas akhir ini.
7. Teman-teman Prodi Informatika Universitas Sanata Dharma khususnya
angkatan 16 yang telah berdinamika bersama selama proses
perkuliahan.
8. Teman-teman PSM Cantus Firmus yang telah mewarnai hari-hari
penulis diluar proses perkuliahan.
9. Semua pihak yang tidak dapat disebutkan satu per satu.
Penulis menyadari bahwa skipsi ini masih memiliki banyak kekurangan,
oleh karena itu penulis mengharapkan kritik dan saran yang bermanfaat untuk
penulisan berikutnya. Semoga skripsi ini dapat bermanfaat bagi pembaca.
Yogyakarta , 26 Januari 2021
Kristianus Yuli Kurniwan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN PERSETUJUAN ............................................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
HALAMAN PERSEMBAHAN ............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERNYATAAN PESETUJUAN PUBLIKASI KARYA ILMIAH.... vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
DAFTAR GAMBAR ........................................................................................... xiv
DAFTAR TABEL ................................................................................................ xvi
BAB I ...................................................................................................................... 1
PENDAHULUAN .................................................................................................. 1
1.1 Latar Belakang .................................................................................................... 1
1.2 Rumusan Masalah ............................................................................................... 3
1.4 Batasan Masalah ................................................................................................. 4
BAB II ..................................................................................................................... 5
LANDASAN TEORI .............................................................................................. 5
2.1 Penambangan Data .............................................................................................. 5
2.2 Proses Penambangan Data .................................................................................. 5
2.3 Knowedge Discovery in Database ...................................................................... 7
2.4 Information Gain ................................................................................................ 9
2.5 Normalisasi Data ............................................................................................... 10
2.6 Klasifikasi ......................................................................................................... 10
2.7 Modified KNN ................................................................................................... 11
2.8 Evaluasi dan Validasi ........................................................................................ 13
2.9 Perhitungan Manual .......................................................................................... 15
BAB III ................................................................................................................. 22
METODOLOGI PENELITIAN ............................................................................ 22
3.1 Sumber Data ...................................................................................................... 22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
3.2 Spesifikasi Alat ................................................................................................. 22
3.3 Tahapan Penelitian ............................................................................................ 22
3.4 Perancangan Sistem .......................................................................................... 27
3.5 Pembuatan Program .......................................................................................... 32
3.6 Skenario Pengujian ........................................................................................... 32
BAB IV ................................................................................................................. 34
IMPLEMENTASI DAN ANALSIS ..................................................................... 34
4.1 Data ................................................................................................................... 34
4.2 Implementasi Information Gain ........................................................................ 34
4.3 Implementasi Preprocessing ............................................................................. 34
4.4 Implementasi Modified K-Nearest Neightbor ................................................... 38
4.5 Evaluasi ............................................................................................................. 38
4.6 Pengujian Perangkat Lunak .............................................................................. 39
4.7 Pengujian Menggunakan Dataset ...................................................................... 42
BAB V ................................................................................................................... 48
PENUTUP ............................................................................................................. 48
5.1 KESIMPULAN ................................................................................................. 48
5.2 SARAN ............................................................................................................. 48
DAFTAR PUSTAKA ........................................................................................... 50
LAMPIRAN .......................................................................................................... 52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
2.1 K Fold Cross Validation ......................................................................... 14
3.1 Diagram Use Case untuk pengguna ....................................................... 27
3.2 Flowchart algoritma modified k-nearest neighbor ................................. 29
3.3 Halaman Muka ........................................................................................ 30
3.4 Halaman Prediksi ................................................................................... 30
3.5 Halaman Bantuan .................................................................................... 31
3.6 Halaman Tentang .................................................................................... 31
4.1 Tampilan WEKA ..................................................................................... 34
4.2 Source Code Menghapus nilai 0 ............................................................. 35
4.3 Output sebelum nilai 0 dihapus ............................................................. 35
4.4 Output setelah nilai 0 dihapus ................................................................. 35
4.5 Source Code Kategorikal ........................................................................ 36
4.6 Output sebelum Kategorikal ................................................................... 36
4.7 Output setelah Kategorikal ..................................................................... 36
4.8 Source Code Normalisasi Min-max ........................................................ 37
4.9 Output sebelum normalisasi ................................................................... 37
4.10 Output setelah normalisasi ...................................................................... 37
4.11 Import library MKNN ............................................................................. 38
4.12 Memisahkan data latih dan data uji ........................................................ 38
4.13 Permodelan MKNN ................................................................................ 38
4.14 Klafisikasi model yang terbentuk ........................................................... 38
4.15 Import library KFold dan Cross Validation ........................................... 38
4.16 Parameter KFold ..................................................................................... 39
4.17 Hitung akurasi ......................................................................................... 39
4.18. Pengujian Validasi Modified K-Nearest Neightbor Menggunakan
perangkat lunak pada fold-1 .................................................................... 40
4.19 Pengujian Weight Voting Modified K-Nearest Neightbor Menggunakan
Perangkat Lunak ..................................................................................... 41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
4.20 Perhitungan Akurasi Modified K-Nearest Neightbor Menggunakan
Perangkat Lunak pada fold-1 .................................................................. 42
4.21 Grafik Akurasi program studi PGSD ...................................................... 44
4.21 Grafik Akurasi FKIP dan FST ................................................................. 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
2.1 Confusion matrix .................................................................................... 14
2.2 Data Latih dan Data Uji Sebelum Normalisasi dan Transformasi .......... 15
2.3 Data Latih dan Data Uji Setelah Normalisasi dan Transformasi ............ 15
2.4 Hasil Perhitungan Euclidian Data Latih untuk menghitung validitas ..... 17
2.5 Hasil Perhitungan Validitas .................................................................... 18
2.6 Hasil Perhitungan Euclidian Data Uji ke setiap Data Latih
untuk menghitung weight voting ............................................................ 19
2.7 Hasil Perhitungan Weight Voting ............................................................ 19
2.8 Hasil Pencarian Nilai Weight Voting Terbesar Sebanyak Nilai k .......... 20
2.9 Hasil Klasifikasi M-KNN Fold 1.............................................................. 22
3.1 Tabel Nama dan Penjelasan Data Mahasiswa ........................................ 24
3.2 Tabel Nama dan Penjelasan Serta Jangkauan Data Mahasiswa .......... 25
3.3 Tabel Nama dan Penjelasan Serta Jangkauan Data Mahasiswa
Setelah di Transformasi .......................................................................... 26
3.4 Tabel Predikat Kualifikasi Yudisium ..................................................... 26
3.5 Gambaran Umum Use Case ................................................................... 28
4.1 Akurasi program studi PGSD ................................................................. 42
4.2 Akurasi FKIP dan FST ........................................................................... 42
4.3 Tabel Akurasi tertinggi program studi PGSD ........................................ 45
4.4 Tabel Variasi Atribut prodi PGSD ......................................................... 46
4.5 Tabel Variasi Atribut FKIP .................................................................... 47
4.5 Tabel Variasi Atribut FST ...................................................................... 47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Universitas Sanata Dharma merupakan salah satu dari sekian banyak
perguruan tinggi yang ada di Yogyakarta. Agar dapat melanjutkan studi
disini calon mahasiswa dapat mendaftarkan diri melalui beberapa jalur,
antara lain; jalur rapot/prestasi, jalur nilai ujian nasional, jalur kerjasama
dan jalur tes. Salah satu tahap yang harus dilalui calon mahasiwa yang
mendaftarkan diri melalui jalur tes adalah Tes Potensi Akademik (TPA) .
Tes Potensi Akademik (TPA) adalah suatu tes yang bertujuan untuk
memprediksi kemampuan calon mahasiswa dalam mengikuti proses
perkuliahan dan lulus tepat waktu pada program studi yang dipilihnya. TPA
di Universitas Sanata Dharma meliputi tes penalaran verbal, tes kemampuan
numberik, tes penalaran mekanik, tes hubungan ruang, dan tes dasar bahasa
inggris. Apabila hasil dari TPA ini cukup tinggi maka mereka akan diterima
menjadi mahasiswa Sanata Dharma, dan bila hasilnya kurang memuaskan
maka mereka dapat dianggap kurang mampu dalam mengikuti proses
perkuliahan dan lulus tepat waktu pada program studi yang mereka pilih
sehingga calon mahasiswa tersebut tidak akan diterima sebagai mahasiswa
Sanata Dharma.
Memprediksi kemampuan calon mahasiwa sangatlah penting bagi
seorang Dosen Pembimbing Akademik (DPA) yang akan membimbing
calon mahasiswa tersebut. Sehingga dalam menjalankan perkuliahan
nantinya, bila nilai Indek Prestasi Kumulatif (IPK) yang diperoleh kurang
dari prediksi yang dilakukan, maka DPA dapat melakukan pendekatan-
pendekatan kepada calon mahasiswa tersebut, agar mengetahui kesulitan
yang dihadapi sehingga dapat membantunya guna mendapatkan IPK yang
memuaskan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Memprediksi potensi akademik dapat dilakukan dengan salah satu
ilmu komputer, yaitu penambangan data (data mining). Penambangan data
adalah proses yang menggunakan beberapa teknik antaralain; teknik
statistik, matematika, kecerdasan buatan, machine learning untuk
mengekstrak dan mengidentifikasi informasi yang bermanfaat dan
pengetahuan yang terkait dari berbagai database besar (Turban dkk, 2005).
Sebelumnya Prediksi Prestasi Akademik Mahasiswa Berdasarkan
Tes Potensi Akademik sudah pernah diteliti oleh Kurniawan (2019). Yang
membedakan penelitian ini dengan penelitian sebelumnya adalah
algoritmanya. Kurniawan (2019) pada penelitiannya menggunakan
algoritma K-Nearest Neightbor dengan akurasi tertinggi pada data set IPK
1 sebesar 65,417% diperoleh ketika k =21, 23, 25, akurasi data IPK 2
tertinggi sebesar 69,167% ketika k = 21, 25, akurasi data IPK 3 68,750%
ketika k = 9, 15, dan akurasi IPK 4 tertinggi sebesar 70,000% diperoleh
ketika k = 25 dengan menggunakan cross validation dan confusion matrix
sebagai metode uji akurasi (Kurniawan, 2019).
Dengan berkembangnya zaman, algoritma K-Nearest Neightbor pun
ikut berkembang menjadi Modified K-Nearest Neightbor. Mughniy dkk
(2019) menyimpulkan bahwa Modified K-Nearest Neightbor dapat
memperoleh akurasi yang lebih baik dibandingkan K-Nearest Neightbor.
Berdasarkan pengujian yang dilakukan pada sistem menggunakan metode
Modified K Nearest Neighbor diperoleh rata-rata akurasi maksimum sebesar
67,95% pada 90% dataset, rata-rata akurasi sebesar 63,58% menggunakan
4-fold Cross Validation, rata-rata Sensitivity serta Specificity sebesar
23,64% dan 92,34%, perbandingan akurasi MKNN dengan KNN adalah
63,58% banding 57,11%, serta akurasi maksimum sebesar 55,26%.
Wafiyah dkk (2017) menggunakan data 133 data pasien demam berdarah,
tifoid dan malaria didapati nilai akurasi klasifikasi dengan MKNN
pengujian data latih terhadap akurasi adalah 87,89% dengan nilai akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
tertinggi 96,97% untuk pengujian komposisi data seimbang 25 Tifoid, 25
Maria, dan 25 Demam berdarah.
Oleh karena hal diatas, maka penulis tertarik untuk membuat sistem
yang dapat mengimplementasikan algoritma modified k-nearest-neighbor
untuk memprediksi prestasi akademik mahasiwa berdasarkan tes potensi
akademik.
1.2 Rumusan Masalah
Dari latar belakang diatas, dapat ditemukan masalah yaitu :
1. Bagaimana mengimplementasikan algoritma modified-k-nearest-
neighbor untuk memprediksi pretasi akademik mahasiswa
berdasarkan tes potensi akademik ?
2. Berapa akurasi dari hasil implementasi algoritma modified-k-
nearest-neighbor dalam memprediksi prestasi akademik mahasiswa
berdasarkan tes potensi akademik ?
1.3 Tujuan
Berdasarkan rumusan masalah diatas, didapatkan beberapa tujuan sebagai
berikut :
1. Mengimplementasikan algoritma modified-k-nearest-neighbor
untuk memprediksi pretasi akademik mahasiswa berdasarkan tes
potensi akademik.
2. Mengetahui akurasi dari hasil implementasi algoritma modified-k-
nearest-neighbor dalam memprediksi prestasi akademik mahasiswa
berdasarkan tes potensi akademik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.4 Batasan Masalah
Berdasarkan rumusan masalah maka dapat ditentukan batasan masalah
sebagai berikut :
1. Data yang akan digunakan adalah data nilai mahasiswa Fakultas
Keguruan Ilmu Pendidikan dan Fakultas Sains dan Teknologi
Universitas Sanata Dharma angkatan 2015, 2016, 2017, dan 2018.
2. Data yang akan digunakan adalah data nilai hasil Tes Potensi
Akademik dan Indeks Prestasi Komulatif semester 1 sampai 4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1 Penambangan Data
Data mining adalah salah satu bidang yang berkembang pesat karena
besarnya kebutuhan akan nilai tambah dari database skala besar yang makin
banyak terakumulasi sejalan dengan pertumbuhan teknologi informasi.
Definisi umum dari data mining adalah serangkaian proses untuk menggali
nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini
tidak diketahui secara manual. Patut diingat bahwa kata mining sendiri
berarti usaha untuk mendapatkan sedikit barang berharga dari sejumlah
besar material dasar. Karena itu data mining sebenarnya memiliki akar yang
panjang dari bidang ilmu seperti kecerdasan buatan (artificial intelligent),
machine learning, statistik dan database.
Beberapa teknik yang sering disebut-sebut dalam literatur data
mining antara lain : clustering, classification, association rule mining,
neural network, genetic algorithm dan lain-lain (Pramudiono, 2014).
2.2 Proses Penambangan Data
Proses yang umumnya dilakukan oleh data mining antara lain:
deskripsi, prediksi, estimasi, klasifikasi, clustering dan asosiasi. Secara rinci
proses data mining dijelaskan sebagai berikut (Larose, 2005):
2.2.1. Deskripsi
Dekripsi bertujuan untuk mengidentifikasi pola yang muncul
secara berulang pada suatu data dan mengubah pola tersebut menjadi
aturan dan kriteria yang dapat mudah dimengerti oleh para ahli pada
domain aplikasinya. Aturan yang dihasilkan harus mudah
dimengerti agar dapat dengan efektif meningkatkan tingkat
pengetahuan (knowledge) pada sistem. Tugas deskriptif merupakan
tugas data mining yang sering dibutuhkan pada teknik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
postprocessing untuk melakukan validasi dan menjelaskan hasil dari
proses data mining. Postprocessing merupakan proses yang
digunakan untuk memastikan hanya hasil yang valid dan berguna
yang dapat digunakan oleh pihak yang berkepentingan.
2.2.2. Prediksi
Prediksi memiliki kemiripan dengan klasifikasi, akan tetapi
data diklasifikasikan berdasarkan perilaku atau nilai yang
diperkirakan pada masa yang akan datang. Contoh dari tugas
prediksi misalnya untuk memprediksikan adanya pengurangan
jumlah pelanggan dalam waktu dekat dan prediksi harga saham
dalam tiga bulan yang akan datang.
2.2.3. Estimasi
Estimasi hampir sama dengan prediksi, kecuali variabel
target estimasi lebih ke arah numerik dari pada ke arah kategori.
Model dibangun menggunakan record lengkap yang menyediakan
nilai dari variabel target sebagai nilai prediksi. Selanjutnya, pada
peninjauan berikutnya estimasi nilai dari variabel target dibuat
berdasarkan nilai variabel prediksi. Sebagai contoh, akan dilakukan
estimasi tekanan darah sistolik pada pasien rumah sakit berdasarkan
umur pasien, jenis kelamin, berat badan, dan level sodium darah.
Hubungan antara tekanan darah sistolik dan nilai variabel prediksi
dalam proses pembelajaran akan menghasilkan model estimasi.
2.2.4. Klasifikasi
Klasifikasi merupakan proses menemukan sebuah model
atau fungsi yang mendeskripsikan dan membedakan data ke dalam
kelas-kelas. Klasifikasi melibatkan proses pemeriksaan karakteristik
dari objek dan memasukkan objek ke dalam salah satu kelas yang
sudah didefinisikan sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.2.5. Clustering
Clustering merupakan pengelompokan data tanpa
berdasarkan kelas data tertentu ke dalam kelas objek yang sama.
Sebuah kluster adalah kumpulan record yang memiliki kemiripan
suatu dengan yang lainnya dan memiliki ketidak miripan dengan
record dalam kluster lain. Tujuannya adalah untuk menghasilkan
pengelompokan objek yang mirip satu sama lain dalam kelompok-
kelompok. Semakin besar kemiripan objek dalam suatu cluster dan
semakin besar perbedaan tiap kluster maka kualitas analisis cluster
semakin baik.
2.2.6. Asosiasi
Asosiasi dalam data mining adalah menemukan atribut yang
muncul dalam suatu waktu. Dalam dunia bisnis lebih umum disebut
analisis keranjang belanja (market basket analisys). Tugas asosiasi
berusaha untuk mengungkap aturan untuk mengukur hubungan
antara dua atau lebih atribut.
2.3 Knowedge Discovery in Database
Penambangan data merupakan salah satu dari rangkaian Knowedge
Discovery in Database (KDD) yang umumnya meliputi data data
preprocessing, data mining dan post processing (Han dan Kamber, 2006).
Tahapan yang dilakukan pada proses data mining diawali dari
seleksi data dari data sumber ke data target, tahap preprocessing untuk
memperbaiki kualitas data, transformasi, data mining serta tahap
interpretasi dan evaluasi yang menghasilkan output berupa pengetahuan
baru yang diharapkan memberikan kontribusi yang lebih baik. Secara detail
dijelaskan sebagai berikut (Fayyad, 1996):
1. Data selection
Pemilihan (seleksi) data dari sekumpulan data operasional
perlu dilakukan sebelum tahap penggalian informasi dalam KDD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
dimulai. Data hasil seleksi yang digunakan untuk proses data
mining, disimpan dalam suatu berkas, terpisah dari basis data
operasional.
2. Pre-processing / cleaning
Sebelum proses data mining dapat dilaksanakan, perlu
dilakukan proses cleaning pada data yang menjadi fokus KDD.
Proses cleaning mencakup antara lain membuang duplikasi data,
memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada
data.
3. Transformation
Coding adalah proses transformasi pada data yang telah
dipilih, sehingga data tersebut sesuai untuk proses data mining.
Proses coding dalam KDD merupakan proses kreatif dan sangat
tergantung pada jenis atau pola informasi yang akan dicari dalam
basis data.
4. Data mining
Data mining adalah proses mencari pola atau informasi
menarik dalam data terpilih dengan menggunakan teknik atau
metode tertentu. Teknik, metode, atau algoritma dalam data mining
sangat bervariasi. Pemilihan metode atau algoritma yang tepat
sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
5. Interpretation / evalution
Pola informasi yang dihasilkan dari proses data mining perlu
ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang
berkepentingan. Tahap ini merupakan bagian dari proses KDD yang
disebut interpretation. Tahap ini mencakup pemeriksaan apakah
pola atau informasi yang ditemukan bertentangan dengan fakta atau
hipotesis yang ada sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.4 Information Gain
Information Gain merupakan teknik seleksi fitur yang memakai
metode scoring untuk nominal ataupun pembobotan atribut kontinu yang
didiskritkan menggunakan maksimal entropy. Suatu entropy digunakan
untuk mendefinisikan nilai information gain. Entropy menggambarkan
banyaknya informasi yang dibutuhkan untuk mengkodekan suatu kelas.
Information Gain (IG) dari suatu term diukur dengan menghitung jumlah
bit informasi yang diambil dari prediksi kategori dengan ada atau tidaknya
term dalam suatu dokumen. (Maulida, Suyatno, & Hatta, 2016).
Teknik seleksi fitur dengan information gain artinya adalah memilih
simpul fitur dari pohon keputusan berdasar nilai information gain. Nilai
information gain sebuah fitur diukur dari pengaruh fitur tersebut terhadap
keseragaman kelas pada data yang dipecah menjadi subdata dengan nilai
fitur tertentu. Keseragaman kelas (entropy) dihitung pada data sebelum
dipecah dengan persamaan 2.1 dan pada data setelah dipecah dengan
persamaan 2.2 berikut ini.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) = ∑ (𝑃𝑖)𝑙𝑜𝑔2(𝑃𝑖)𝑘𝑖=1
(2.1)
Dengan nilai Pi adalah proporsi data S dengan kelas i. K adalah
jumlah kelas pada output S.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆, 𝐴) = ∑ (𝑆𝑣
𝑣𝑥 𝐸𝑛𝑡𝑜𝑟𝑝𝑦(𝑆𝑣))𝑣
𝑖=1 (2.2)
Dengan nilai v adalah semua nilai yang mungkin dari atribut A, Sv
adalah subset sari S dimana atribut A bernilai v. Nilai information gain
dihitung dengan persamaan 2.3 berikut ini:
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆, 𝐴) (2.3)
Dengan nilai Gain (S,A) adalah nilai information gain. Entropy (S)
adalah nilai entropy sebelum pemisah. Entropy(S,A) adalah nilai entropy
setelah pemisah. Besarnya nilai information gain menunjukkan seberapa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
besar pengaruh suatu atribut terhadap pengklasifikasian data. (Rasywir &
Purwarianti, 2016)
2.5 Normalisasi Data
Normalisasi data adalah metode statistika yang digunakan untuk
mengatur nilai yang diukur pada suatu skala menjadi nilai pada skala
berbeda yang lebih umum sehingga seluruh atribut dari data memiliki
jangkauan nilai yang sama. (Han dkk, 2011).
Normalisasi min-max merupakan metode normalisasi dengan
melakukan transformasi linier terhadap data asli. Mendapatkan nilai
normalisasi min-max menggunakan persamaan (Han dkk, 2011).
Ndata =(𝑣−min)+(𝑁𝑚𝑎𝑥+𝑁𝑚𝑖𝑛)
max−min + Nmin (2.4)
Dimana :
Ndata = data hasil normalisasi
v = data yang akan dinormaliasasi
min = skala minimum yang user berikan
max = skala maksimum yang user berikan
Nmin = nilai minimum dari data
Nmax = nilai maksimum dari data
2.6 Klasifikasi
Klasifikasi adalah proses menemukan sekumpulan model/fungsi
yang menjelaskan dan membedakan data kedalam kelas-kelas tertentu,
dengan tujuan menggunakan model tersebut dalam menentukan kelas dari
suatu objek yang belum diketahui kelasnya. (Han dkk, 2011).
Pada 2 proses dalam klasifikasi, yaitu :
a. Proses learning/training
Melakukan pembangunan model menggunakan data training.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
b. Proses testing
Melakukan tes terhadap data testing menggunakan model yang telah
diperoleh dari proses training.
2.7 Modified KNN
Algoritma modified k-nearest neighbor (MKNN) merupakan
pengembangan dari metode KNN dengan penambahan beberapa proses
yaitu, perhitungan nilai validitas dan perhitungan bobot. Algoritma k-
nearest neighbor (KNN) merupakan algoritma clustering yang sangat
sederhana dengan cara mengelompokkan data baru dengan K tetangga
terdekat.( Wafiyah, dkk. 2017).
Untuk mencari tetangga terdekat kita bisa menggunakan Euclidean
distance. Euclidean distance merupakan metode perhitungan jarak dari dua
buah titik dalam Euclidean space. Euclidean ini berkaitan dengan Teorema
Phytagoras dan biasanya diterapkan pada 1,2 dan 3 dimensi, tapi juga
sederhana jika diterapkan pada dimensi yang lebih tinggi. Persamaan (2.5)
mendefinisikan metode Euclidean distance yang akan digunakan dalam
penelitian ini.
𝑑(𝑥, 𝑦) = √∑ (𝑥𝑖 − 𝑦𝑖)2𝑛𝑖=1
(2.5)
dimana:
d : (distance) / jarak
𝑥𝑖 : sampel data ke-i
𝑦𝑖 : data uji / testing ke-i
n : dimensi data
Dalam algoritma MKNN, setiap data pada data training harus
divalidasi terlebih dahulu pada awalnya. Validitas setiap data tergantung
pada setiap tetangganya. Proses validasi dilakukan untuk semua data pada
data training. Setelah dihitung validitas tiap data maka nilai validitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
tersebut digunakan sebagai informasi lebih mengenai data tersebut.
Persamaan yang digunakan untuk menghitung nilai validitas pada setiap
data training adalah seperti persamaan 2.6.
𝑉𝑎𝑙𝑖𝑑𝑖𝑡(𝑥) = 1
𝐻∑ 𝑆(𝑙𝑏𝑙(𝑥), 𝑙𝑏𝑙(𝑁𝑖(𝑥))) (2.6)
Dimana:
𝐻 : jumlah titik terdekat 𝑙𝑏𝑙
(𝑥) : kelas x
𝑙𝑏(𝑁𝑖(𝑥)) : label kelas titik terdekat x
Fungsi S digunakan untuk menghitung kesamaan antara titik x dan
data ke-i dari tetangga terdekat. Yang dituliskan dalam persamaan 2.7 ini
mendefinisikan fungsi S pada persamaan .
S(𝑎, 𝑏) = {1, 𝑗𝑖𝑘𝑎 𝑎 = 𝑏
0, 𝑗𝑖𝑘𝑎 𝑎 ≠ 𝑏 } (2.7)
Keterangan:
a = kelas a pada data training.
b = kelas lain selain a pada data training ( Wafiyah, dkk. 2017).
Dalam metode MKNN, pertama weight masing-masing tetangga
dihitung dengan menggunakan 1 / (de + 0.5). Kemudian, Validitas dari tiap
data pada data training dikalikan dengan weighted berdasarkan pada jarak
Euclidian. Dalam metode MKNN, weight voting tiap tetangga.
(𝑖) = 𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦(𝑖) 𝑥 1 𝑑𝑒 + 𝛼 (2.8)
Dimana:
(𝑖) : Perhitungan Weight Voting
𝑉𝑎𝑙𝑖𝑑𝑖𝑡y(𝑖) : Nilai Validitas
𝑑𝑒 : Jarak Euclidean
𝛼 : smoothing regulator, bernilai 0,5
Teknik weighted voting ini mempunyai pengaruh yang lebih penting
terhadap data yang mempunyai nilai validitas lebih tinggi dan paling dekat
dengan data. Selain itu, dengan mengalikan validitas dengan jarak dapat
mengatasi kelemahan dari setiap data yang mempunyai jarak dengan weight
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
yang memiliki banyak masalah dalam outlier. Jadi, algoritma MKNN
diusulkan secara signifikan lebih kuat daripada metode KNN tradisional
yang didasarkan hanya pada jarak (Parvin, 2008).
2.8 Evaluasi dan Validasi
Untuk membuat sebuah model prediksi kita diperlukan pengukuran
akurasi dari model tersebut. Cara utuk menghitung akurasi dari suatu
algoritma terdapat beberapa merode, antara lain cross-validation dan
confusion matrix.
2.8.1 Cross Validation
Cross Validation merupakan metode statistik yang
digunakan untuk melakukan evaluasi dan perbandingan algoritma.
Pada ranah statistika, metode ini lebih dikenal sebagai metode
alternatif yang digunakan untuk melakukan penilaian terhadap
tingkat akurasi sebuah model regresi dalam memprediksi kasus yang
belum terlihat (Shao, 1993). Metode ini dilakukan dengan cara
membagi data menjadi dua segmen. Segmen pertama merupakan
data training dan lainnya merupakan data testing. Data training
digunakan untuk membentuk model regresi sedangkan data testing
digunakan pada saat melakukan validasi terhadap model tersebut. K
fold cross validation digambarkan seperti gambar ini.
Gambar 2.1 K fold cross validation
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Cross Validation akan membagi dataset mejadi 2 buah
bagian yaitu, data testing dan data training. Dari setiap fold cross-
validation dihitung tingkat akurasinya, lalu dihitung akurasi dari
setiap fold untuk medapatkan akurasi dari keseluruhan data yang
ada.
2.8.2 Confusion matrix
Confusion matrix menggunakan table jika dataset hanya
terdisi dari 2 kelas. Satu kelas bernilai positif (true), dan kelas
lainnya bernilai negative (false). True positif adalah jumlah record
positif yang diklasifikasikan sebagai positif, false positif adalah
jumlah record negatif yang diklasifikasikan sebagai positif, false
negatif adalah jumlah record positif yang diklasifikasikan sebagai
negatif , true negatif adalah jumlah record negatif yang
diklasifikasikan sebagai negatif (Bramer,2007).
2.1 Tabel Confusion matrix.
Klasifikasi yang benar Hasil Klasifikasi
Positif (true) Negatif (false)
Positif (true) True positif False negative
Negatif (false) False positif True negative
Setelah data uji dimasukkan ke dalam confusion matrix,
hitung nilai-nilai yang telah dimasukan tersebut untuk dihitung
akurasinya. Untuk menghitung akurasinya digunakan persamaan di
bawah ini (Han, 2012) :
Accuracy =𝑇𝑃+𝑇𝑁
(𝑃+𝑁) (2.9)
di mana :
TP = jumlah true positif
TN = jumlah true negative
P = jumlah record positif
N = jumlah record negative.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.9 Perhitungan Manual
Perhitungan manual berfungsi untuk memberikan gambaran
umum perancangan sistem yang dibangun. Dari metode Modified K-
Nearest Neighbor (MK-NN) langkah-langkah perhitungannya
adalah sebagai berikut:
Langkah 1 : Menentukan nilai k
Pada perhitungan manual ini ditentukan nilai dari k adalah 3.
Langkah 2 : Melakukan proses normalisasi dan transformasi data
Pada langkah ini dilakukan proses normalisasi data untuk
menyamakan sebaran. Untuk menghitung normalisasi menggunakan
persamaan 2.4. Data latih dan uji sebelum normalisasi dapat dilihat
pada Tabel 2.2 dan data latih dan uji hasil normalisasi dapat dilihat
pada Tabel 2.3.
Tabel 2.2 Data Latih dan Data Uji Sebelum Normalisasi dan
Transformasi
No Tes 1 Tes 2 Tes 3 Tes 4 Tes 5 IPK4 D
AT
A L
AT
IH
1 5 8 6 5 5 3,81
2 5 7 5 7 5 3,48
3 7 6 4 3 4 3,41
4 5 6 6 6 2 3,26
5 6 5 4 7 2 3,31
6 4 5 4 4 6 3,48
7 3 6 2 5 6 3,19
8 4 6 5 2 5 3,54
9 7 6 6 9 1 3,34
10 6 6 8 7 4 3,35
11 5 5 6 6 6 2,92 DATA
UJI 12 5 5 4 6 5 3,3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 2.3 Data Latih dan Data Uji Setelah Normalisasi dan
Transformasi
No Nilai Tes
1
Nilai Tes
2
Nilai Tes
3
Nilai Tes
4
Nilai Tes
5 IPK4
DA
TA
LA
TIH
1 0,5 1 0,6666667 0,4285714 0,8 A
2 0,5 0,6666667 0,5 0,7142857 0,8 B
3 1 0,3333333 0,3333333 0,1428571 0,6 B
4 0,5 0,3333333 0,6666667 0,5714286 0,2 B
5 0,75 0 0,3333333 0,7142857 0,2 B
6 0,25 0 0,3333333 0,2857143 1 B
7 0 0,3333333 0 0,4285714 1 B
8 0,25 0,3333333 0,5 0 0,8 A
9 1 0,3333333 0,6666667 1 0 B
10 0,75 0,3333333 1 0,7142857 0,6 B
11 0,5 0 0,6666667 0,5714286 1 B DATA
UJI 12 0,5 0 0,3333333 0,5714286 0,8 B
Langkah 3. Menetukan K-Fold Cross Validation
Pada bagian ini data yang akan digunakan dibagi menjadi 2
yaitu data latih dan data uji sesuai dengan k-fold Cross Validation.
Jumlah k dalam k-fold akan diinputkan oleh pengguna. Dalam
penelitian ini akan dilakukan percobaan menggunakan 3-fold Cross
Validation artinya akan dilakukan 3 kali percobaan dengan data latih
dan uji yang berbeda disetiap percobaan. Data akan dipecah menjadi
3 bagian. Pada kasus ini telah diambil 8 sampel acak untuk data latih
dan 4 sampel acak untuk data uji.
Fold 1 (data dari Tabel 2.3 )
Data latih no : 1, 2, 6, 7, 8, 9, 10, 12
Data uji no : 3, 4, 5, 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Fold 2 (data dari Tabel 2.3 )
Data latih no : 3, 4, 5, 6, 9, 10, 11, 12
Data uji no : 1, 2, 7, 8
Fold 3 (data dari Tabel 2.3 )
Data latih no : 1, 2, 3, 4, 5, 7, 8, 11
Data uji no : 6, 9, 10, 12
Langkah 4. Menghitung jarak antar data latih menggunakan
euclidian distance untuk menghitung validitas.
Melakukan perhitungan pada semua data latih di setiap fold
yang digunakan sebagai sampel menggunakan persamaan euclidian
distance 2.5. Set data yang digunakan sebagai contoh merupakan set
data fold pertama.
𝑑(1,2) = √(0,5 − 0,5)2
+ (1 − 0,667)2
+ (0,667 − 0,5)2
+(0,428 − 0,714)2 + (0,8 − 0,8)2
𝑑(1,2) = 0,22
Hasil perhitungan Euclidian pada semua data latih dapat dilihat pada
Tabel 2.4.
Tabel 2.4 Hasil Perhitungan Euclidian Data Latih untuk menghitung
validitas.
EUCLIDEAN DISTANCE untuk VALIDITY
J 1 J 2 J 6 J 7 J 8 J 9 J 10 J 12 IPK4
0 0,220 1,234 1,178 0,718 1,66 0,739 1,131 A
0,22 0 0,758 0,732 0,683 1,11 0,463 0,492 B
1,234 0,758 0 0,305 0,26 2,294 1,149 0,184 B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
EUCLIDEAN DISTANCE untuk VALIDITY
J 1 J 2 J 6 J 7 J 8 J 9 J 10 J 12 IPK4
1,178 0,732 0,305 0 0,536 2,77 1,804 0,532 B
0,718 0,683 0,260 0,536 0 2,23 1,05 0,527 A
1,660 1,110 2,294 2,77 2,23 0 0,615 1,295 B
0,739 0,463 1,1495 1,804 1,05 0,615 0 0,678 B
1,131 0,492 0,184 0,532 0,527 1,295 0,678 0 B
Keterangan:
J 1 = Jarak data latih 1 J 8 = Jarak data latih 8
J 2 = Jarak data latih 2 J 9 = Jarak data latih 9
J 6 = Jarak data latih 6 J 10 = Jarak data latih 10
J 7 = Jarak data latih 7 J 12 = Jarak data latih 12
Langkah 5. Menghitung validitas data latih
Langkah keempat yaitu menghitung nilai validitas data latih
dengan menggunakan persamaan 2.6, kemudian untuk menentukan
nilai k maka dihitung nilai validitas dari data latih yang memiliki
jarak terdekat.
𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑎𝑠(1) = 1
3∑ 𝑆 (𝑙𝑎𝑏𝑒𝑙(𝑥 = 1), (𝑙𝑎𝑏𝑒𝑙 (𝑁𝑖(𝑥 = 2))))
3
𝑖=1
=1
3𝑥 (0 + 1 + 0)
= 0,333333333
Melakukan perhitungan yang sama untuk semua data latih.
Hasil perhitungan validitas dapat dilihat pada Tabel 2.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 2.5 Hasil Perhitungan Validitas
VALIDITY – Terdekat ke :
1 2 3 NILAI VALIDITAS
0 1 0 0,333333333
0 1 1 0,666666667
1 0 1 0,666666667
1 1 0 0,666666667
0 0 0 0
1 1 1 1
1 1 1 1
1 1 0 0,666666667
Langkah 6. Menghitung jarak antar data uji ke setiap data latih
menggunakan euclidian distance untuk menghitung weight voting
dengan menggunakan persamaan 2.5.
Tabel 2.6 Hasil Perhitungan Euclidian Data Uji ke setiap Data Latih
untuk menghitung weight voting.
EUCLIDEAN DISTANCE untuk WEIGHT VOTING
UJI 3 - SEMUA UJI 4 - SEMUA UJI 5 – SEMUA UJI 11 - SEMUA
0,962906127 0,908213966 1,270922407 1,029761217
0,869148722 0,720622684 0,945897575 0,729815309
0,924131633 1,003172406 1,03618216 0,505216552
1,163075133 1,163981361 1,227336496 0,908825461
0,806651065 0,881367341 1,12209312 0,75360434
1,098091521 0,688239398 0,637459705 1,242893632
0,912948551 0,594995189 0,845905169 0,682004681
0,76471209 0,763034876 0,665513458 0,388730126
Keterangan:
Uji 3 – Semua : Jarak data uji 3 terhadap seluruh data latih
Uji 4 – Semua : Jarak data uji 4 terhadap seluruh data latih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Uji 5 – Semua : Jarak data uji 5 terhadap seluruh data latih
Uji 11 – Semua : Jarak data uji 11 terhadap seluruh data latih
Langkah 7. Menghitung weight voting
Pada tahapan menghitung nilai weight voting yang didapat
dari masukkan nilai validitas dan nilai Euclidian dan dilakukan
perhitungan untuk data uji 3. Melakukan perhitungan yang sama
untuk semua data uji. Hasil perhitungan weight voting pada data uji
3 dapat dilihat pada Tabel 2.7.
Tabel 2.7 Hasil Perhitungan Weight Voting
WEIGHT VOTING
UJI 3 - SEMUA UJI 4 - SEMUA UJI 5 – SEMUA UJI 11 - SEMUA IPK4
0,227856954 0,236706453 0,188225826 0,217898931 A
0,486920563 0,546169325 0,461074614 0,542086817 B
0,468121521 0,443506456 0,433976311 0,663207013 B
0,40086383 0,400645514 0,385950663 0,473207424 B
0 0 0 0 A
0,62574639 0,841581252 0,879152022 0,573758479 B
0,707739853 0,913246022 0,742994397 0,846020338 B
0,527129196 0,527829183 0,571993967 0,75013398 B
Keterangan:
Kolom Warna Kuning = Nilai weight voting terbesar
Langkah 8. Menentukan kelas dari data uji
Setelah didapatkan nilai weight voting dari semua data latih
maka dilakukan pencarian nilai weight voting yang terbesar
sebanyak nilai k yang telah ditentukan. Hasil pencarian nilai weight
voting terbesar dapat dilihat pada Tabel 2.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Tabel 2.8 Hasil Pencarian Nilai Weight Voting Terbesar Sebanyak
Nilai k
UJI K -1 K -2 K -3 IPK
3 0,707739853 0,62574639 0,527129196 B
4 0,913246022 0,841581252 0,546169325 B
5 0,879152022 0,742994397 0,571993967 B
11 0,846020338 0,75013398 0,663207013 B
Keterangan:
K – 1 = 1 tetangga terdekat dari data uji
K – 2 = 2 tetangga terdekat dari data uji
K – 3 = 3 tetangga terdekat dari data uji
Langkah 9. Membuat Tabel Confusion Matrix untuk setiap fold dan
menghitung akurasi menggunakakan persamaan 2.5
Tabel 2.9 Hasil Klasifikasi M-KNN Fold 1
HASIL KLASIFIKASI
UJI AKTUAL PREDIKSI 3-NN
3 B B
4 B B
5 B B
11 B B
Dari tabel hasil klasifikasi diatas karena semua hasil prediksi
sama dengan kelas aktualnya, maka akurasi fold-1 klasifikasinya
sebesar 100%.
Dari perhitungan diatas yang terdiri dari 8 data latih dan 4 data uji
dengan menggunakan 3 fold cross validation dan k = 3, didapati akurasi
sebesar 83,33%. Untuk akurasi fold-2 sebesar 50% dan akurasi fold-3
sebesar 100%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
BAB III
METODOLOGI PENELITIAN
3.1 Sumber Data
Data yang digunakan dalam penelitian ini berupa data
berformat.xlsx. Sumber dari database Biro Administrasi Perencanaan dan
Sistem Informasi (BAPSI) Universitas Sanata Dharma. Data penelitian ini
berupa data nilai TPA mahasiswa Fakultas Keguruan Ilmu Pendidikan dan
Fakultas Sains dan Teknologi Universitas Sanata Dharma angkatan 2015,
2016, 2017 dan 2018. Data atribut berupa data angkatan, jurusan, nilai Tes
Potensi Akademik yang meliputi penalaran verbal, kemampuan numerik,
penalaran mekanik, hubungan ruang dan bahasa inggris, total nilai Tes
Potensi Akademik, Indeks Prestasi Semester (IPS) dari semester satu sampai
empat, dan Indeks Prestasi Kumulatif (IPK) dari semester satu sampai
empat.
3.2 Spesifikasi Alat
3.2.1. Perangkat Keras
Perangkat keras yang digunakan dalam penelitian ini adalah
laptop Acer Aspire E1 – 532 dengan spesifikasi processor Intel
Celeron 2955U, RAM 6 GB, HDD I TB, dan SSD 128 GB.
3.2.2. Perangkat Lunak
Perangkat Lunak yang digunakan dalam penelitian ini adalah
Sistem Operasi Windows 10 Pro 64-bit, Microsoft Word 2019,
Microsoft Excel 2019,WEKA, Visual Studio Code dan Qt Designer.
3.3 Tahapan Penelitian
3.3.1. Studi Kasus
Tes Potensi Akademik (TPA) adalah suatu tes yang
bertujuan untuk memprediksi kemampuan calon mahasiswa dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
mengikuti proses perkuliahan dan lulus tepat waktu pada program
studi yang dipilihnya. Apabila hasil dari TPA ini cukup tinggi maka
mereka akan diterima menjadi mahasiswa Sanata Dharma, dan bila
hasilnya kurang memuaskan maka mereka dapat dianggap kurang
mampu dalam mengikuti proses perkuliahan dan lulus tepat waktu
pada program studi yang mereka pilih.
3.3.2. Penelitian Pustaka
Dalam melakukan penelitian ini, penulis mengumpulkan dan
mencari literatur sebagai referensi teori-teori yang akan digunakan
dalam penelitian ini. Literatur digunakan sebagai pendukung proses
penelitian ini. Literatur yang penulis gunakan berasal dari buku,
jurnal ilmiah, dan karya ilmiah.
3.3.3. Knowledge Discovery in Database (KDD)
Penambangan data merupakan salah satu dari rangkaian
Knowledge Discovery in Database (KDD) yang umumnya meliputi
data preprocessing, dana mining , dan post processing. (Han &
Kamber, 2006).
Tahapan dalam Knowledge Discovery in Database (KDD).
(Dunhan,2003).
a. Seleksi
Data yang diperoleh dari Biro Administrasi
Perencanaan dan Sistem Informasi (BAPSI) Universitas
Sanata Dharma masih terpisah dalam beberapa tabel sesuai
dengan jurusan dan angkatan, sehingga pada tahap ini data
akan digabungkan menjadi satu tabel yang berisi kolom nilai
1, nilai 2, nilai 3, nilai 4, nilai 5, total nilai, IPS 1, IPS 2, IPS
3, IPS 4, IPK 1, IPK 2, IPK 3, dan IPK 4. Berikut tabel 1.1
menjelaskan nama kolom dan penjelasan tiap kolom.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.1 Tabel Nama dan Penjelasan Data Mahasiswa
Nama Kolom Penjelasan
Nilai 1 Hasil tes penalaran verbal
Nilai 2 Hasil tes kemampuan numerik
Nilai 3 Hasil tes penalaran mekanik
Nilai 4 Hasil tes hubungan ruang
Nilai 5 Hasil tes bahasa inggris
totalNilai Nilai total akhir TPA
IPS 1 IPS mahasiswa semester 1
IPS 2 IPS mahasiswa semester 2
IPS 3 IPS mahasiswa semester 3
IPS 4 IPS mahasiswa semester 4
IPK 1 IPK mahasiswa semester 1
IPK 2 IPK mahasiswa semester 2
IPK 3 IPK mahasiswa semester 3
IPK 4 IPK mahasiswa semester 4
b. Preprocessing
Data yang akan digunakan dalam penelitian ini adaah
kolom nilai 1, nilai 2, nilai 3, nilai 4, IPK 1, IPK 2, IPK 3,
dan IPK 4. Dari data kolom yang terpilih kemudian diproses
selanjutnya mungkin memiliki data yang hilang atau data
yang kurang tepat. Data yang kurang tepat bisa diperbaiki
atau dihilangkan, sedangkan untuk data yang hilang bisa
diisi dengan memprediksinya. Berikut tabel 3.2 menunjukan
nama kolom beserta penjelasan serta jangkauan nilai setiap
data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.2 Tabel Nama dan Penjelasan Serta Jangkauan Data
Mahasiswa
Nama Kolom Penjelasan Jangkauan Nilai
Nilai 1 Hasil tes penalaran verbal 0.00 – 10.00
Nilai 2 Hasil tes kemampuan numerik 0.00 – 10.00
Nilai 3 Hasil tes penalaran mekanik 0.00 – 10.00
Nilai 4 Hasil tes hubungan ruang 0.00 – 10.00
Nilai 5 Hasil tes bahasa inggris 0.00 – 10.00
IPK 1 IPK mahasiswa semester 1 0.00 – 4.00
IPK 2 IPK mahasiswa semester 2 0.00 – 4.00
IPK 3 IPK mahasiswa semester 3 0.00 – 4.00
IPK 4 IPK mahasiswa semester 4 0.00 – 4.00
c. Transformasi
Pada tahap ini, data yang telah diseleksi dan dibersihkan
akan ditransformasikan ke dalam bentuk yang sesuai untuk
ditambang. Transformasi data dilakukan dengan cara
menormalisasikan data menggunakan min-max
normalization.
Pada atribut nilai1, nilai2, nilai3, nilai4 dilakukan
proses transformasi untuk memperkecil jangkauan nilai, agar
lebih mudah untuk ditambang. Berikut tabel 3.3 menunjukan
nama kolom beserta penjelasan serta jangkauan nilai setiap
data setelah ditransformasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.3 Tabel Nama dan Penjelasan Serta Jangkauan Data
Mahasiswa Setelah di Transformasi
Nama Kolom Penjelasan Jangkauan Nilai
Nilai 1 Hasil tes penalaran verbal 0.00 – 1.00
Nilai 2 Hasil tes kemampuan numerik 0.00 – 1.00
Nilai 3 Hasil tes penalaran mekanik 0.00 – 1.00
Nilai 4 Hasil tes hubungan ruang 0.00 – 1.00
Nilai 5 Hasil tes bahasa inggris 0.00 – 1.00
Dan untuk atribut IPK1, IPK2, IPK3, dan IPK4
dilakukan proses kategorikal menggunakan aturan yudisium
berdasarkan nilai IPK yang berlaku di Universitas Sanata
Dharma (Universitas Sanata Dharma, 2010). Berikut tabel
3.4 menunjukan nama kolom beserta penjelasan serta
jangkauan nilai setiap data setelah ditransformasi.
3.4 Tabel Predikat Kualifikasi Yudisium
IPK Predikat Kategori
3.51 – 4.00 Dengan Pujian A
2.76 – 3.50 Sangat Memuaskan B
2.25 – 2.75 Memuaskan C
< 2.25 - D
d. Penambangan data
Tahap ini mengimplementasikan algoritma
penambangan data yang digunakan untuk mengubah data
yang telah disiapkan untuk menghasilkan hasil yang
diinginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
e. Interpretasi/evaluasi
Pada tahap ini, hasil dari proses penambangan data
dipresentasikan kepada pengguna agar informasi dari hasil
luaran bisa digunakan secara umum. Pada tahap ini dapat
menggunakan visualisasi dan tampilan untuk membantu
mejelaskan luaran sistem.
3.4 Perancangan Sistem
Pada tahap ini penulis akan membuat rancangan dan kebutuhan
sistem, antara lain arsitektur sistem, diagram use case, dan diagram UML.
3.4.1. Diagram Use Case
Agar program bisa berjalan dengan lancar, maka pengguna
harus memasukan dataset yang akan diproses, kemudian
memasukan nilai k yang akan digunakan. Kemudian pengguna dapat
melihat hasil klasifikasi yang diberikan oleh sistem. Gambar 3.1
adalah diagram use case untuk pengguna.
Gambar 3.1 Diagram Use Case untuk pengguna
Gambaran umum dari setiap use case yang ada pada diagram
dapat dilihat pada tabel 3.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Tabel 3.5 Gambaran Umum Use Case
ID Use Case Nama Use Case Deksripsi Aktor
1. Pilih File Proses memilih file
berekstensi .xlsx yang
digunakan sebagai model
untuk membuat prediksi
User
2. Proses Nilai Proses mencari akurasi terbaik
menggunakan algoritma
modified-k-nearest-neighbor
User
3. Prediksi IPK Proses memprediksi IPK
berdasarkan nilai TPA yang di
input.
User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.4.2. Flowchart Algoritma Modified K-Nearest Neighbor
Flowchart algoritma modified k-nearest neighbor dapat
dilihat pada gambar 3.2.
Gambar 3.2 Flowchart algoritma modified k-nearest neighbor
Mulai
Tentukan nilai k
Hitung jarak antara data
latih dan data uji
Cari nilai k terdekat
Menghitung nilai validitas
data latih
Menghitung Weight
Voting
Cari label mayoritas
Tampilkan hasil prediksi
IPK
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3.4.3. Desain Antar Muka
Perangkat lunak ini akan memiliki 4 halaman, yaitu halaman
Home (awal), halaman Prediksi, halaman bantuan, dan halaman
tentang.
Antarmuka halaman Home (awal) dapat diihat pada gambar
berikut :
Gambar 3.3 Halaman Muka
Halaman Home adalah halaman awal yang dapat diakses
ketika menjalankan perangkat lunak ini. Pada halaman ini terdapat
3 buah tombol untuk masuk ke halaman lainnya. Tombol “UJI”
untuk masuk halaman proses data dan prediksi, tombol
“BANTUAN” untuk masuk ke halaman bantuan, dan tombol
“TENTANG” untuk masuk ke halaman tentang.
Antarmuka halaman Klasifikasi dapat diihat pada gambar
berikut :
Gambar 3.4 Halaman Klasifikasi
APLIKASI KLASIFIKASI IPK
DENGAN ALGORITMA MKNN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Halaman prediksi merupakan halamanyang digunakan untuk
memasukan data nilai tes potensi akademik dan memprediksi IPK
mahasiswa berdasarkan nilai tes potensi akademik. Pada halaman ini
terdapat tombol “Pilih” yang digunakan unuk memilih file
berekstensi .xlsx dari direktori komputer. Tombol “Kembali”
digunakan pengguna untuk kembali ke halaman awal (home).
Antarmuka halaman Bantuan dapat diihat pada gambar
berikut :
Gambar 3.5 Halaman Bantuan
Halaman bantuan merupakan halaman yang berisi panduan
untuk menjalankan perangkat lunak dengan benar. Pada halaman ini
terdapat tombol “Kembali” digunakan pengguna untuk kembali ke
halaman awal (home).
Antarmuka halaman Tentang dapat diihat pada gambar
berikut :
Gambar 3.6 Halaman Tentang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Halaman tentang merupakan halaman yang berisi profil dan
latar belakang singkat mengenai pembuat perangkat lunak. Pada
halaman ini terdapat tombol “Kembali” digunakan pengguna untuk
kembali ke halaman awal (home).
3.5 Pembuatan Program
Pada tahap ini rancangan sistem yang telah dibuat akan
diimpleentasikan kedalam bentuk kode dengan menggunakan bahasa
pemrograman Phyton.
3.6 Skenario Pengujian
Pada tahap ini mula-mula dilakukan perhitungan Information Gain
terhadap seluruh program studi menggunakan IPK 1 – 4, yang akan
digunakan untuk memperdalam pengaruh Information Gain terhadap
akurasi. Kemudian barulah melakukan pengujian akurasi untuk setiap
program studi tanpa melibakan Information Gain terlebih dahulu. Pengujian
akurasi dilakukan menggunakan 5-fold cross validation dengan tetangga
terdekat sebanyak, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, dan 25 berdasarkan
IPK 1 -4. Setelah ditemukan rata-rata akurasi tertinggi dari suatu prodi,
barulah kita melakukan uji akurasi terhadap prodi tersebut menggunakan 5-
fold cross validation dengan tetangga terdekat sebanyak, 3, 5, 7, 9, 11, 13,
15, 17, 19, 21, 23, dan 25 berdasarkan IPK 1 – 4 serta variasi atribut sesuai
hasil Information Gain yang telah kita hitung sebelumnya.
Pada percobaan lainnya dilakukan penggabungan data seluruh
program studi ke dalam 1 file berdasarkan fakultasnya, sehingga akan
terbentuk dua dataset yaitu datset FKIP dan dataset FST. Selanjutnya akan
dilakukan pengimbangan data kelas setiap fold-nya secara manual, barulah
kemudian dilanjutkan dengan mencari Information Gainnya. Setelah
Information Gainnya ditemukan barulah kita melakukan uji akurasi
terhadap prodi tersebut menggunakan 5-fold cross validation dengan
tetangga terdekat sebanyak, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, dan 25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
berdasarkan IPK 4 serta variasi atribut sesuai hasil Information Gain yang
telah kita hitung sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
BAB IV
IMPLEMENTASI DAN ANALSIS
4.1 Data
Data yang akan digunakan adalah data Nilai Tes Potensi Akademik
dan Nilai IPK dari mahasiswa Fakultas Sains dan Teknologi dan Fakultas
Keguruan Ilmu Pendidikan yang berjumlah 3.474 data. Setiap data yang
digunakan akan melalu proses preprocessing yaitu menghapus nilai 0 atau
null, dan menyamakan skala dengan min-max scaler.
4.2 Implementasi Information Gain
Untuk mencari Information Gain penulis menggunakan aplikasi
WEKA. Melalui fungsi Select attributes menggunakan
InfoGainAttributesEval dan metode pencarian Ranker. Dengan memilih 6
atribut yaitu Verbal, Numerik, Mekanik, Ruang, Bahasa Inggris, dan salah
satu IPK yang akan digunakan sebagai label berdasarkan data prodi PGSD.
Gambar 4.1 Tampilan WEKA
4.3 Implementasi Preprocessing
4.3.1. Menghapus nilai 0
Untuk menghapus nilai 0 penulis tidak menggunakan kelas
khusus dari library phyton, tetapi dengan perintah sederhana. Yaitu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
jika ada nilai 0 dalam suatu baris data maka baris tersebut akan di
hapus.
Gambar 4.2 Source Code Menghapus nilai 0
Gambar 4.3 Output sebelum nilai 0 dihapus
Gambar 4.4 Output setelah nilai 0 dihapus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
4.3.2. Kategorikal
Data yang telah dipilih sebagai kelas label kemudian dibaca
dan akan dilakukan transformasi. Data yang awalnya bertipe integer
akan diubah menjadi data yang bertipe String. Kategorikal label
kelas menggunakan aturan yudisium berdasarkan nilai IPK yang
berlaku di Universitas Sanata Dharma. Aturan kategorikal dapat
dilihat pada tabel tabel 3.4.
Gambar 4.5 Source Code Kategorikal
Gambar 4.6 Output sebelum Kategorikal
Gambar 4.7 Output setelah Kategorikal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
4.3.3. Normalisasi
Data yang telah dibaca kemudian akan dilakukan
normalisasi, menggunakan min-max normalization dari library
sklearn. Data yang awalnya memiliki rentang dari 1 - 10 akan
dinormalisasi sehingga rentang datannya menjadi 0 – 1.
Gambar 4.8 Source Code Normalisasi Min-max
Gambar 4.9 Output sebelum normalisasi
Gambar 4.10 Output setelah normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
4.4 Implementasi Modified K-Nearest Neightbor
Pada proses ini data yang telah dibagi menjadi attr dan label
kemudian dimodeling menggunakan mknn. Modeling dilakukan sebanyak
n kali sesuai jumlah fold. Model mknn di-import dari library MKNN.
Gambar 4.11 Import library MKNN
Setelah mengimport library tersebut kita memisahkan data latih dan
data uji untuk tiap fold.
Gambar 4.12 Memisahkan data latih dan data uji
Setelah dataset dipisah menjadi latih dan uji dilakukan pemodelan
mknn. Dalam pemodelan ini proses validasi dan weight voting dilakukan.
Gambar 4.13 Permodelan MKNN
Setelah model terbentuk maka selanjutnya adalah
mengklasifikasikan data uji dengan model yang telah dibentuk sebelumnya.
Gambar 4.14 Klafisikasi model yang terbentuk
4.5 Evaluasi
Proses evaluasi dilakukan dengan menggunakan cross validation,
data dibagi menjadi n-fold menggunakan library dari scikit learn.
Gambar 4.15 Import library KFold dan Cross Validation
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Pembagian data dilakukan dengan mengisi nilai n untuk parameter
n_split.
Gambar 4.16 Parameter KFold
Untuk menghitung akurasi penulis menggunakan confusion matrix
dari library scikit learn. Dengan menggunakan fungsi ini kita memasukkan
2 parameter yaitu y_test(label data testing), y_pred(label hasil prediksi dari
y_train).
Setelah memanggil fungsi confusion matrix selanjutnya kita
menghitung hasil akurasi, nilai akurasi didapatkan dengan menggunakan
fungsi akurasi.
Gambar 4.17 Hitung akurasi
4.6 Pengujian Perangkat Lunak
4.6.1 Pengujian Validasi Modified K-Nearest Neightbor Secara
Manual
Pengujian hasil validasi secara manual menggunakan 12 data
dari 3.474 data nilai tes potensi akademil dan IPK 1 mahasiswa
FKIP. Proses penghitungan manual dilakukan dengan menggunakan
Microsoft Excel. Dalam perhitungan manual ini ditetapkan tetangga
terdekat sebanyak 3 menggunakan 3-fold. Proses perhitungan
manual dan hasil validasi dapat dilihat pada tabel 2.7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
4.6.2 Pengujian Validasi Modified K-Nearest Neightbor Menggunakan
Perangkat Lunak
Pengujian hasil validasi menggunakan perangkat lunak
menggunakan 12 data dari 3.474 data nilai tes potensi akademil dan
IPK 1 mahasiswa FKIP. Proses penghitungan menggunakan
perngkat lunak dilakukan dengan membuka data dengan fomat file
.xlsx, kemudian ditetapkan tetangga terdekat sebanyak 3
menggunakan 3-fold yang harus kita isi secara manual pada text box
yang tersedia. Proses perhitungan menggunakakan perangkat lunak
dan hasil validasi dapat dilihat pada gambar 4.18.
Gambar 4.18. Pengujian Validasi Modified K-Nearest
Neightbor Menggunakan perangkat lunak pada fold-1.
4.6.3 Pengujian Weight Voting Modified K-Nearest Neightbor Secara
Manual
Pengujian hasil weight voting secara manual menggunakan
12 data dari 3.474 data nilai tes potensi akademil dan IPK 1
mahasiswa FKIP. Proses penghitungan manual dilakukan dengan
menggunakan Microsoft Excel. Dalam perhitungan manual ini
ditetapkan tetangga terdekat sebanyak 3 menggunakan 3-fold.
Proses perhitungan manual dan hasil weight voting dapat dilihat
pada tabel 2.8.
4.6.4 Pengujian Weight Voting Modified K-Nearest Neightbor
Menggunakan Perangkat Lunak
Pengujian hasil weight voting menggunakan perangkat lunak
menggunakan 12 data dari 3.474 data nilai tes potensi akademil dan
IPK 1 mahasiswa FKIP. Proses penghitungan menggunakan
perngkat lunak dilakukan dengan membuka data dengan fomat file
.xlsx, kemudian ditetapkan tetangga terdekat sebanyak 3
menggunakan 3-fold yang harus kita isi secara manual pada text box
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
yang tersedia. Proses perhitungan menggunakakan perangkat lunak
dan hasil validasi dapat dilihat pada gambar 4.19.
Gambar 4.19 Pengujian Weight Voting Modified K-Nearest
Neightbor Menggunakan Perangkat Lunak
4.6.5 Penghitungan Akurasi Modified K-Nearest Neightbor Secara
Manual
Pengujian hasil akurasi menggunakan perangkat lunak
menggunakan 12 data dari 3.474 data nilai tes potensi akademil dan
IPK 1 mahasiswa FKIP. Proses penghitungan menggunakan
perngkat lunak dilakukan dengan membuka data dengan fomat file
.xlsx, kemudian ditetapkan tetangga terdekat sebanyak 3
menggunakan 3-fold yang harus kita isi secara manual pada text box
yang tersedia. Proses perhitungan menggunakakan perangkat lunak
dan hasil validasi pada fold-1 sebesar 100%.
4.6.6 Penghitungan Akurasi Modified K-Nearest Neightbor
Menggunakan Perangkat Lunak
Pengujian hasil akurasi menggunakan perangkat lunak
menggunakan 12 data dari 3.474 data nilai tes potensi akademil dan
IPK 1 mahasiswa FKIP. Proses penghitungan menggunakan
perngkat lunak dilakukan dengan membuka data dengan fomat file
.xlsx, kemudian ditetapkan tetangga terdekat sebanyak 3
menggunakan 3-fold yang harus kita isi secara manual pada text box
yang tersedia. Proses perhitungan menggunakakan perangkat lunak
dan hasil validasi dapat dilihat pada gambar 4.20.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4.20 Perhitungan Akurasi Modified K-Nearest Neightbor
Menggunakan Perangkat Lunak pada fold-1
4.6.7 Evaluasi Perhitungan Manual dan Perangkat Lunak
Hasil validasi, weight voting, dan akurasi dari perhitungan
manual sama dengan hasil dari perangkat lunak. Oleh karena itu
dapat disimpulkan bahwa perangkat lunak dapat berjalan dengan
baik sesuai dengan yang diharapkan penulis.
4.7 Pengujian Menggunakan Dataset
4.7.1 Information Gain
Pengujian untuk mencari information gain dari setiap prodi
menggunakan aplikasi WEKA. Sebelumnya penulis terlebih dahulu
memisahkan data dari setiap prodi ke dalam sebuah file yang
berbeda-beda, kemudian melakukan kategorikal IPK secara manual
mengunakan perintah sederhana if – else. Pada saat pengujian untuk
mencari information gain, setiap prodi akan dilakukan 4 kali
penghitungan sesuai dengan label IPK 1, IPK 2, IPK 3 dan IPK 4
untuk mencari information gain dari setiap lebel yang akan
digunakan dalam klasifikasi.
Hasil dari perhitungan tersebut menunjukkan bahwa kelima
atribut berupa Tes Verbal, Tes Numerik, Tes Bangun Ruang, Tes
Bahasa Inggris dan Tes Mekanik memiliki bobot yang kurang lebih
sama terhadap semua program studi, sehingga penulis merasa bahwa
kelima atribut berguna dan akan menggunakan kelima atribut untuk
pengujian selanjutnya. Hasil information gain setiap program studi
dapat dilihat pada lampiran 2. Penulis juga akan melihat pengaruh
dari setiap atribut terhadap program studi setelah ditemukannya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
akurasi tertinggi dari suatu program studi pada pengujian
selanjutnya.
4.7.2 Modified K-Nearest Neightbor
Pada tahapan penelitian ini, dilakukan pengujian untuk
mencari akurasi tertinggi pada setiap dataset yang akan
menggunakan modified k-nearest neightbor menggunakan 5-fold
cross-validation dengan tetangga terdekat sebesar 3, 5, 7, 9, 11, 13,
15, 17, 19, 21, 23, dan 25. Hasil akurasi setiap program studi dan
fakultas dapat dilihat pada lampiran. Berdasarkan tabel pada
lampiran, diperoleh akurasi tertinggi pada dataset program studi
Pendidikan Guru Sekolah Dasar (PGSD). Tabel 4.1 dibawah ini
merupakan hasil percobaan dengan dataset program studi PGSD
yang berisi 521 data. Dan pada tabel 4.2 merupakan hasil percobaan
dengan dataset FKIP dan FST .
Tabel 4.1. Akurasi program studi PGSD
PGSD
Rata Akurasi IPK
K 1 2 3 4
3 0,665253921 0,655601195 0,66725168 0,634410007
0,639946633
5 0,642120986 0,64598581 0,64798357 0,628547423
7 0,647946229 0,644044063 0,642176998 0,626643017
9 0,651829724 0,640197909 0,638274832 0,6304705
11 0,647927558 0,638256161 0,64023525 0,634335325
13 0,647946229 0,638256161 0,636351755 0,6304705
15 0,651811053 0,642139656 0,636314414 0,622759522
17 0,649869305 0,640197909 0,636333084 0,630489171
19 0,647927558 0,638256161 0,632486931 0,630489171
21 0,649869305 0,638256161 0,628603435 0,626624347
23 0,647927558 0,638256161 0,63246826 0,624682599
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
PGSD
Rata Akurasi IPK
K 1 2 3 4
25 0,649869305 0,640197909 0,634410007 0,624682599
Tabel 4.2. Akurasi FKIP dan FST
IPK 4
K FKIP FST
3 0,521985618 0,359116022
5 0,538022325 0,371270718
7 0,554451965 0,379005525
9 0,554038752 0,385635359
11 0,549108086 0,396685083
13 0,54746453 0,388950276
15 0,546644865 0,390055249
17 0,54664402 0,403314917
19 0,544586407 0,402209945
21 0,545411142 0,406629834
23 0,545410297 0,401104972
25 0,547058078 0,402209945
Gambar 4.21 Grafik Akurasi program studi PGSD
0,62
0,63
0,64
0,65
0,66
0,67
0 5 10 15 20 25 30
Aku
rasi
Tetangga Terdekat
Grafik Akurasi PGSD
1 2 3 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 4.22 Grafik Akurasi FKIP dan FST
Berdasarkan hasil akurasi yang telah didapat serta grafik yang telah
dibuat, dapat dilihat bahwa akurasi cenderung turun seiring naiknya
jumlah tetangga terdekat ketika data belum diseimbangkan. Akurasi
tertinggi didapat ketika jumlah tetangga sebesar 3. Jumlah tetangga
yang optimal menghasilkan akurasi terbaik dari masing-masing IPK
dapat dilihat pada tabel berikut.
Tabel 4.3. Tabel Akurasi tertinggi program studi PGSD
Akurasi Jumlah Tetangga
IPK 1 0,665253921 3
IPK 2 0,655601195 3
IPK 3 0,66725168 3
IPK 4 0,634410007 3
Berdasarkan akurasi yang dihasilkan, dosen pembimbing
akademik program studi PGSD, FKIP dan FST tidak dapat
menggunakan metode ini untuk memprediksi IPK berdasarkan tes
potensi akademik.
0
0,1
0,2
0,3
0,4
0,5
0,6
3 5 7 9 11 13 15 17 19 21 23 25
Grafik Akurasi FKIP dan FST
FKIP FST
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
4.7.3 Pengaruh Information Gain
Percobaan berikutnya dilakukan untuk mengetahui pengaruh
penggunaan atribut pada klasifikasi. Pada percobaan ini dilakukan
percobaan sebanyak 9 variasi atribut bersaaman dengan variasi pada
jumlah tetangga terdekat, yaitu 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23,
dan 25 terhadap program studi yang memiliki rata akurasi tertinggi.
Berdasarkan hasil perhitungan rata-rata akurasi berbagai percobaan
diatas dengan 5-fold, seperti terlihat dalam lampiran 4 diperoleh
rangkuman data PGSD dengan IPK 1 dan FKIP serta FST dengan
IPK 4 sebagai berikut ;
Tabel 4.4. Tabel Variasi Atribut prodi PGSD
No Variasi Atribut IPK 1
1 Numerik – Ruang – Verbal – Inggris – Mekanik 0,650023338
2 Numerik – Ruang – Verbal – Inggris 0,650987989
3 Numerik – Ruang – Verbal 0,647112273
4 Numerik – Ruang 0,650339183
5 Numerik 0,650511887
6 Ruang 0,647775081
7 Verbal 0,643602191
8 Inggris 0,649709049
9 Mekanik 0,648426998
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Tabel 4.5. Tabel Variasi Atribut FKIP
No Variasi Atribut IPK 4
1 Numerik - Verbal - Inggris - Ruang - Mekanik 0,544861037
2 Numerik - Verbal - Inggris - Ruang 0,540104092
3 Numerik - Verbal - Inggris 0,540130499
4 Numerik - Verbal 0,428743349
5 Numerik 0,261764519
6 Verbal 0,306084183
7 Inggris 0,3083227
8 Ruang 0,272699938
9 Mekanik 0,237115553
Tabel 4.5. Tabel Variasi Atribut FST
No Variasi Atribut IPK 4
1 Numerik – Ruang – Verbal – Inggris – Mekanik 0,393370166
2 Numerik - Ruang - Verbal - Inggris 0,398434622
3 Numerik - Ruang - Verbal 0,381860037
4 Numerik - Ruang 0,413627993
5 Numerik 0,338950276
6 Ruang 0,299171271
7 Verbal 0,20626151
8 Inggris 0,33480663
9 Mekanik 0,324677716
Berdasarkan pengujian akurasi ditemukan bahwa setiap
variasi atribut yang digunakan memiliki perbedaan akurasi yang
tidak signifikan dan akurasi tertinggi diperolah ketika menggunakan
lebih dari satu atribut. Oleh karena itu sebaiknya kelima atribut
digunakan dalam proses pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
BAB V
PENUTUP
5.1 KESIMPULAN
Berdasarkan hasil penelitian dengan menggunakan algoritma
modified k-nearest neightbor untuk melakukan prediksi prestasi akademik
mahasiswa berdasarkan hasil tes potensi akademik mahasiwa, menghasilkan
kesimpulan sebagai berikut :
1. Algoritma modified k-nearest neightbor tidak dapat diterapkan untuk
mengklasifikasi prestasi akademik mahasiswa berdasarkan hasil tes
potensi akademik karena akurasinya tidak mencapai 70%.
2. Akurasi tertinggi diperoleh pada prodi PGSD ketika jumlah tetangga
terdekat 3 menggunakan IPK 3 dengan akurasi sebesar 66,7% dan ketika
jumlah tetangga lebih dari 3 hasil akan menurun. Lalu pada FKIP 55,1%
dan FST 41,9% menggunakan IPK 4.
5.2 SARAN
Dari hasil penelitian klasifikasi prestasi akademik mahasiswa
berdasarkan hasil nilai tes potensi akademik menggunakan algoritma
modified k-nearest neighbor, penulis memberikan saran sebagai berikut :
1. Perangkat lunak mampu membaca data berekstensi selain.xls
seperti .csv, .dat, tab, dll.
2. Dilakukan penelitian selanjutnya dengan menggunakan nilai
UTS serta tugas-tugas, selain itu juga dapat menambahkan
atribut seperti penghasilan orang tua, asal sekolah, lingkungan
mahasiswa, status bekerja atau keaktifan mahasiswa sebagai
faktor penunjang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
3. Dilakukan penelitian selanjutnya dengan menerapkan
algoritma atau metode lain untuk mendapatkan akurasi yang
lebih tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
DAFTAR PUSTAKA
Bramer, M. (2007). Principles of data mining (Vol. 180). London: Springer.
Chawla, N. V., Japkowicz, N., & Kotcz, A. (2004). Special issue on learning from
imbalanced data sets. ACM SIGKDD explorations newsletter, 6(1), 1-6.
Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996). From data mining to
knowledge discovery in databases. AI magazine, 17(3), 37-37.
Han, J. and Kamber, M. (2006). Data Mining Concepts and Techniques. 2nd
Edition, Morgan Kaufmann Publishers, San Francisco.
Han, J., & Kamber, M. (2012). Data Mining Concepts and Techniques, ed Elsevier
Inc.
Han, Jiawei, Jian Pei, Micheline Kamber. (2011). Data Mining: Concepts and
Techniques, Edisi 3.
Kurniawan, Vincentius Bayu Fajar.(2019) : Prediksi Prestasi Akademik Mahasiswa
Berdasarkan Tes Potensi Akademik dengan Algoritma K-Nearest Neightbor.
Larose, Daniel T.(2005). Discovering Knowledge In Data: An Introduction To Data
Mining, A John Wiley & Sonns,Inc,Publication.
Margaret H.. Dunham. (2003). Data mining: introductory and advanced topics.
prentice Hall.
Maulida, I., Suyatno, A., & Hatta, H. R. (2016). Seleksi Fitur Pada Dokumen
Abstrak Teks Bahasa Indonesia Menggunakan Metode Information
Gain. Jurnal SIFO Mikroskil, 17(2), 249-258.
Mughniy, M., Wihandika, R. C., & Prasetio, B. H. (2017). Sistem Rekomendasi
Psikotes untuk Penjurusan Siswa SMA Menggunakan Metode Modified K-
Nearest Neighbor. Jurnal Pengembangan Teknologi Informasi dan Ilmu
Komputer e-ISSN, 2548, 964X.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Parvin, H., Alizadeh, H., & Minaei-Bidgoli, B. (2008, October). MKNN: Modified
k-nearest neighbor. In Proceedings of the world congress on engineering and
computer science (Vol. 1). Newswood Limited.
Pramudiono, I. (2014). Pengantar Data Mining: Menambang Permata Pengetahuan
di Gunung Data, 2003. IlmuKomputer. Com.
Rasywir, E., & Purwarianti, A. (2016). Eksperimen pada sistem klasifikasi berita
hoax berbahasa Indonesia berbasis pembelajaran mesin. Jurnal
Cybermatika, 3(2).
Shao, J. (1993). Linear model selection by cross-validation. Journal of the
American statistical Association, 88(422), 486-494.
Turban, E.(2005). Decision Support Systems and Intelligent Systems Edisi Bahasa
Indonesia Jilid 1.
Universitas Sanata Dharma.(2010). Peraturan Akademik. Yogyakarta.
Wafiyah, F., Hidayat, N., & Perdana, R. S. (2017). Implementasi Algoritma
Modified K-Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit
Demam. J. Pengemb. Teknol. Inf. dan Ilmu Komput. Univ. Brawijaya, 1(10),
1210-1219.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Lampiran 1 : Perhitungan Manual
Data set
DATA SET
X Nilai Tes 1 Nilai Tes 2 Nilai Tes 3 Nilai Tes 4 Nilai Tes 5 IPK4
0 1 0,5 1 0,666666667 0,428571429 0,8 A
1 2 0,5 0,666666667 0,5 0,714285714 0,8 B
2 3 1 0,333333333 0,333333333 0,142857143 0,6 B
3 4 0,5 0,333333333 0,666666667 0,571428571 0,2 B
4 5 0,75 0 0,333333333 0,714285714 0,2 B
5 6 0,25 0 0,333333333 0,285714286 1 B
6 7 0 0,333333333 0 0,428571429 1 B
7 8 0,25 0,333333333 0,5 0 0,8 A
8 9 1 0,333333333 0,666666667 1 0 B
9 10 0,75 0,333333333 1 0,714285714 0,6 B
10 11 0,5 0 0,666666667 0,571428571 1 B
11 12 0,5 0 0,333333333 0,571428571 0,8 B
Fold 1
DATA SET
TRAINING
X Nilai Tes
1 Nilai Tes 2 Nilai Tes 3 Nilai Tes 4
Nilai Tes 5
IPK4
1 0,5 1 0,666666667 0,428571429 0,8 A
2 0,5 0,666666667 0,5 0,714285714 0,8 B
6 0,25 0 0,333333333 0,285714286 1 B
7 0 0,333333333 0 0,428571429 1 B
8 0,25 0,333333333 0,5 0 0,8 A
9 1 0,333333333 0,666666667 1 0 B
10 0,75 0,333333333 1 0,714285714 0,6 B
12 0,5 0 0,333333333 0,571428571 0,8 B
TESTING
3 1 0,333333333 0,333333333 0,142857143 0,6 B
4 0,5 0,333333333 0,666666667 0,571428571 0,2 B
5 0,75 0 0,333333333 0,714285714 0,2 B
11 0,5 0 0,666666667 0,571428571 1 B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
EUCLIDEAN DISTANCE - VALIDITY
NT1 - ALL NT2 - ALL NT3 - ALL NT4 - ALL NT5 - ALL NT6 - ALL NT7 - ALL NT8 - ALL IPK4
0 0,220521542 1,234019274 1,178888889 0,718395692 1,660975057 0,739688209 1,131519274 A
0,220521542 0 0,758395692 0,732743764 0,683815193 1,110521542 0,463611111 0,492630385 B
1,234019274 0,758395692 0 0,305130385 0,260521542 2,294926304 1,149229025 0,184132653 B
1,178888889 0,732743764 0,305130385 0 0,536173469 2,770975057 1,804132653 0,532630385 B
0,718395692 0,683815193 0,260521542 0,536173469 0 2,230277778 1,050204082 0,527919501 A
1,660975057 1,110521542 2,294926304 2,770975057 2,230277778 0 0,615243764 1,295895692 B
0,739688209 0,463611111 1,149229025 1,804132653 1,050204082 0,615243764 0 0,678463719 B
1,131519274 0,492630385 0,184132653 0,532630385 0,527919501 1,295895692 0,678463719 0 B
VALIDITY
K = 1 K = 2 K = 3 NILAI VALIDITAS
0 1 0 0,333333333
0 1 1 0,666666667
1 0 1 0,666666667
1 1 0 0,666666667
0 0 0 0
1 1 1 1
1 1 1 1
1 1 0 0,666666667
EUCLIDEAN DISTANCE - WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
0,962906127 0,908213966 1,270922407 1,029761217
0,869148722 0,720622684 0,945897575 0,729815309
0,924131633 1,003172406 1,03618216 0,505216552
1,163075133 1,163981361 1,227336496 0,908825461
0,806651065 0,881367341 1,12209312 0,75360434
1,098091521 0,688239398 0,637459705 1,242893632
0,912948551 0,594995189 0,845905169 0,682004681
0,76471209 0,763034876 0,665513458 0,388730126
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
IPK4
0,227856954 0,236706453 0,188225826 0,217898931 A
0,486920563 0,546169325 0,461074614 0,542086817 B
0,468121521 0,443506456 0,433976311 0,663207013 B
0,40086383 0,400645514 0,385950663 0,473207424 B
0 0 0 0 A
0,62574639 0,841581252 0,879152022 0,573758479 B
0,707739853 0,913246022 0,742994397 0,846020338 B
0,527129196 0,527829183 0,571993967 0,75013398 B
HASIL KLASIFIKASI
TESTING AKTUAL PREDIKSI 3-NN
3 B B
4 B B
5 B B
11 B B
CONFUSION MATRIX PREDIKSI
A B C D
AKTUAL
A 0 0 0 0
B 0 4 0 0
C 0 0 0 0
D 0 0 0 0
AKURASI
100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Fold 2
DATA SET
TRAINING
X Nilai Tes
1 Nilai Tes 2 Nilai Tes 3 Nilai Tes 4
Nilai Tes 5
IPK4
3 1 0,333333333 0,333333333 0,142857143 0,6 B
4 0,5 0,333333333 0,666666667 0,571428571 0,2 B
5 0,75 0 0,333333333 0,714285714 0,2 B
6 0,25 0 0,333333333 0,285714286 1 B
9 1 0,333333333 0,666666667 1 0 B
10 0,75 0,333333333 1 0,714285714 0,6 B
11 0,5 0 0,666666667 0,571428571 1 B
12 0,5 0 0,333333333 0,571428571 0,8 B
TESTING
1 0,5 1 0,666666667 0,428571429 0,8 A
2 0,5 0,666666667 0,5 0,714285714 0,8 B
7 0 0,333333333 0 0,428571429 1 B
8 0,25 0,333333333 0,5 0 0,8 A
EUCLIDEAN DISTANCE - VALIDITY
NT1 - ALL NT2 - ALL NT3 - ALL NT4 - ALL NT5 - ALL NT6 - ALL NT7 - ALL NT8 - ALL IPK4
0 0,70478458 0,660141723 0,854019274 1,205804989 0,833475057 0,815895692 0,58478458 B
0,70478458 0 0,305130385 1,006354875 0,473673469 0,354019274 0,751111111 0,582222222 B
0,660141723 0,305130385 0 1,073673469 0,406354875 0,715555556 0,834019274 0,442908163 B
0,854019274 1,006354875 1,073673469 0 2,294926304 1,149229025 0,255243764 0,184132653 B
1,205804989 0,473673469 0,406354875 2,294926304 0 0,615243764 1,54478458 1,295895692 B
0,833475057 0,354019274 0,715555556 1,149229025 0,615243764 0 0,465130385 0,678463719 B
0,815895692 0,751111111 0,834019274 0,255243764 1,54478458 0,465130385 0 0,151111111 B
0,58478458 0,582222222 0,442908163 0,184132653 1,295895692 0,678463719 0,151111111 0 B
VALIDITY
K = 1 K = 2 K = 3 NILAI VALIDITAS
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
EUCLIDEAN DISTANCE - WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
0,962906127 0,869148722 1,163075133 0,806651065
0,908213966 0,720622684 1,163981361 0,881367341
1,270922407 0,945897575 1,227336496 1,12209312
1,110864202 0,870859169 0,552386084 0,510413109
1,288788213 1,053812859 1,664624599 1,493411456
0,860051283 0,680889941 1,343180052 1,024794653
1,029761217 0,729815309 0,908825461 0,75360434
1,063728948 0,701876332 0,729815309 0,726580691
WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
IPK4
0,683570861 0,730380845 0,601295744 0,76531526 B
0,71011936 0,819253987 0,60096827 0,723920401 B
0,564677479 0,691611921 0,578925995 0,616487418 B
0,620784793 0,729469535 0,950221611 0,989694206 B
0,559037673 0,643578147 0,461973868 0,50165258 B
0,735266392 0,846818967 0,542540594 0,655826014 B
0,653696792 0,813130226 0,709811135 0,797699855 B
0,639497019 0,832032359 0,813130226 0,815274533 B
HASIL KLASIFIKASI
TESTING AKTUAL PREDIKSI 3-NN
1 A B
2 B B
7 B B
8 A B
CONFUSION MATRIX PREDIKSI
A B C D
AKTUAL
A 0 2 0 0
B 0 2 0 0
C 0 0 0 0
D 0 0 0 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
AKURASI
50
Fold 3
DATA SET
TRAINING
X Nilai Tes
1 Nilai Tes 2 Nilai Tes 3 Nilai Tes 4
Nilai Tes 5
IPK4
1 0,5 1 0,666666667 0,428571429 0,8 A
2 0,5 0,666666667 0,5 0,714285714 0,8 B
3 1 0,333333333 0,333333333 0,142857143 0,6 B
4 0,5 0,333333333 0,666666667 0,571428571 0,2 B
5 0,75 0 0,333333333 0,714285714 0,2 B
7 0 0,333333333 0 0,428571429 1 B
8 0,25 0,333333333 0,5 0 0,8 A
11 0,5 0 0,666666667 0,571428571 1 B
TESTING
6 0,25 0 0,333333333 0,285714286 1 B
9 1 0,333333333 0,666666667 1 0 B
10 0,75 0,333333333 1 0,714285714 0,6 B
12 0,5 0 0,333333333 0,571428571 0,8 B
EUCLIDEAN DISTANCE - VALIDITY
NT1 - ALL NT2 - ALL NT3 - ALL NT4 - ALL NT5 - ALL NT6 - ALL NT7 - ALL NT8 - ALL IPK4
0 0,220521542 0,927188209 0,824852608 1,615243764 1,178888889 0,718395692 1,060408163 A
0,220521542 0 0,755419501 0,519297052 0,894722222 0,732743764 0,683815193 0,532630385 B
0,927188209 0,755419501 0 0,70478458 0,660141723 1,352743764 0,650685941 0,815895692 B
0,824852608 0,519297052 0,70478458 0 0,305130385 1,354852608 0,77680839 0,751111111 B
1,615243764 0,894722222 0,660141723 0,305130385 0 1,506354875 1,259092971 0,834019274 B
1,178888889 0,732743764 1,352743764 1,354852608 1,506354875 0 0,536173469 0,825963719 B
0,718395692 0,683815193 0,650685941 0,77680839 1,259092971 0,536173469 0 0,567919501 A
1,060408163 0,532630385 0,815895692 0,751111111 0,834019274 0,825963719 0,567919501 0 B
VALIDITY
K = 1 K = 2 K = 3 NILAI VALIDITAS
0 1 0 0,333333333
0 1 1 0,666666667
0 1 1 0,666666667
1 1 1 1
1 1 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
0 1 1 0,666666667
0 0 0 0
1 0 1 0,666666667
EUCLIDEAN DISTANCE - WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
1,110864202 1,288788213 0,860051283 1,063728948
0,870859169 1,053812859 0,680889941 0,701876332
0,924131633 1,098091521 0,912948551 0,76471209
1,003172406 0,688239398 0,594995189 0,763034876
1,03618216 0,637459705 0,845905169 0,665513458
0,552386084 1,664624599 1,343180052 0,729815309
0,510413109 1,493411456 1,024794653 0,726580691
0,505216552 1,242893632 0,682004681 0,388730126
WEIGHT VOTING
TESTING 1 - ALL
TESTING 2 - ALL
TESTING 3 - ALL
TESTING 4 - ALL
IPK4
0,206928264 0,186345891 0,245088797 0,213165673 A
0,486313023 0,429052098 0,564545978 0,554688239 B
0,468121521 0,41716426 0,471826569 0,527129196 B
0,665259684 0,841581252 0,913246022 0,791743774 B
0,650964466 0,879152022 0,742994397 0,857990951 B
0,633481074 0,307982579 0,361693729 0,542086817 B
0 0 0 0 A
0,663207013 0,382505653 0,564013559 0,75013398 B
HASIL KLASIFIKASI
TESTING AKTUAL PREDIKSI 3-NN
6 B B
9 B B
10 B B
12 B B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
CONFUSION MATRIX PREDIKSI
A B C D
AKTUAL
A 0 0 0 0
B 0 4 0 0
C 0 0 0 0
D 0 0 0 0
AKURASI
100
TOTAL AKURASI
83,33333333
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Lampiran 2 : Information Gain Setiap Program Studi dan Fakultas
BK - IPK 1 BK - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.21 Verbal 0.225 Inggris
0.2 Inggris 0.224 Verbal
0.182 Ruang 0.204 Ruang
0.179 Numerik 0.193 Numerik
0.16 Mekanik 0.182 Mekanik
BK - IPK 3 BK - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.242 Inggris 0.217 Inggris
0.213 Verbal 0.202 Verbal
0.191 Numerik 0.168 Numerik
0.167 Mekanik 0.16 Mekanik
0.163 Ruang 0.155 Ruang
IPPAK - IPK 1 IPPAK - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.187 Numerik 0.1795 Numerik
0.1381 Inggris 0.1322 Verbal
0.1245 Verbal 0.1026 Inggris
0.092 Ruang 0.0954 Ruang
0.0696 Mekanik 0.0762 Mekanik
IPPAK - IPK 3 IPPAK - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.1716 Numerik 0.1822 Numerik
0.1302 Verbal 0.1451 Verbal
0.101 Inggris 0.0996 Ruang
0.0914 Ruang 0.0907 Inggris
0.0714 Mekanik 0.0777 Mekanik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
PAKU - IPK 1 PAKU - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.35 Mekanik 0.301 Mekanik
0.291 Ruang 0.286 Ruang
0.291 Numerik 0.257 Inggris
0.284 Inggris 0.248 Verbal
0.264 Verbal 0.215 Numerik
PAKU - IPK 3 PAKU - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.304 Ruang 0.31 Ruang
0.27 Mekanik 0.286 Mekanik
0.259 Verbal 0.259 Verbal
0.228 Inggris 0.25 Inggris
0.198 Numerik 0.226 Numerik
PBI - IPK 1 PBI - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.273 Inggris 0.238 Inggris
0.232 Mekanik 0.222 Ruang
0.229 Numerik 0.191 Mekanik
0.197 Ruang 0.188 Numerik
0.135 Verbal 0.164 Verbal
PBI - IPK 3 PBI - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.215 Inggris 0.204 Ruang
0.203 Ruang 0.196 Mekanik
0.193 Numerik 0.194 Inggris
0.185 Mekanik 0.181 Numerik
0.147 Verbal 0.144 Verbal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
PBIO - IPK 1 PBIO - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.267 Numerik 0.235 Inggris
0.235 Inggris 0.222 Numerik
0.192 Ruang 0.197 Ruang
0.182 Verbal 0.176 Verbal
0.175 Mekanik 0.16 Mekanik
PBIO - IPK 3 PBIO - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.25 Inggris 0.229 Inggris
0.224 Numerik 0.228 Verbal
0.213 Ruang 0.225 Ruang
0.2 Verbal 0.218 Numerik
0.167 Mekanik 0.198 Mekanik
PBSI - IPK 1 PBSI - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.311 Inggris 0.263 Inggris
0.299 Numerik 0.26 Verbal
0.251 Verbal 0.253 Numerik
0.209 Ruang 0.184 Ruang
0.182 Mekanik 0.18 Mekanik
PBSI - IPK 3 PBSI - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.302 Numerik 0.291 Numerik
0.241 Inggris 0.227 Inggris
0.214 Verbal 0.214 Verbal
0.201 Mekanik 0.213 Mekanik
0.184 Ruang 0.168 Ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
PEKO - IPK 1 PEKO - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.311 Numerik 0.342 Numerik
0.25 Mekanik 0.27 Mekanik
0.236 Ruang 0.233 Ruang
0.218 Inggris 0.231 Inggris
0.192 Verbal 0.221 Verbal
PEKO - IPK 3 PEKO - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.342 Numerik 0.318 Numerik
0.27 Mekanik 0.279 Ruang
0.233 Ruang 0.248 Mekanik
0.231 Inggris 0.21 Verbal
0.221 Verbal 0.207 Inggris
PFIS - IPK 1 PFIS - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.339 Numerik 0.331 Numerik
0.254 Inggris 0.271 Verbal
0.228 Ruang 0.253 Inggris
0.226 Verbal 0.199 Ruang
0.214 Mekanik 0.188 Mekanik
PFIS - IPK 3 PFIS - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.316 Numerik 0.314 Numerik
0.242 Inggris 0.227 Verbal
0.229 Verbal 0.223 Inggris
0.198 Ruang 0.193 Ruang
0.172 Mekanik 0.18 Mekanik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
PGSD - IPK 1 PGSD - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.2415 Numerik 0.2588 Numerik
0.1164 Ruang 0.113 Ruang
0.0969 Verbal 0.1092 Verbal
0.0963 Inggris 0.096 Mekanik
0.0888 Mekanik 0.0809 Inggris
PGSD - IPK 3 PGSD - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.2352 Numerik 0.2248 Numerik
0.1121 Verbal 0.1129 Verbal
0.1009 Mekanik 0.0927 Mekanik
0.0907 Ruang 0.0914 Ruang
0.0762 Inggris 0.0683 Inggris
PKIM - IPK 1 PKIM - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.1995 Numerik 0.1862 Numerik
0.147 Inggris 0.126 Verbal
0.1216 Verbal 0.1138 Inggris
0.0916 Mekanik 0.0936 Mekanik
0.0828 Ruang 0.0888 Ruang
PKIM - IPK 3 PKIM - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.1837 Numerik 0.187 Numerik
0.1244 Verbal 0.1408 Verbal
0.117 Inggris 0.1051 Inggris
0.087 Mekanik 0.095 Mekanik
0.0847 Ruang 0.0819 Ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
PMAT - IPK 1 PMAT - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.1475 Numerik 0.1377 Numerik
0.0982 Verbal 0.1068 Mekanik
0.0908 Inggris 0.0942 Ruang
0.0873 Ruang 0.0925 Verbal
0.0768 Mekanik 0.0781 Inggris
PMAT - IPK 3 PMAT - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.1182 Numerik 0.1262 Numerik
0.1045 Mekanik 0.1028 Mekanik
0.0964 Verbal 0.092 Verbal
0.074 Ruang 0.0734 Ruang
0.0722 Inggris 0.0722 Inggris
PSEJ - IPK 1 PSEJ - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.2275 Numerik 0.2848 Numerik
0.1654 Verbal 0.1616 Verbal
0.1275 Ruang 0.1219 Ruang
0.1189 Inggris 0.0998 Inggris
0.0815 Mekanik 0.0955 Mekanik
PSEJ - IPK 3 PSEJ - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.2623 Numerik 0.251 Numerik
0.1415 Verbal 0.1482 Verbal
0.1058 Ruang 0.0979 Inggris
0.0968 Inggris 0.0952 Ruang
0.0949 Mekanik 0.0919 Mekanik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
ELEKTRO - IPK 1 ELEKTRO - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.175 Numerik 0.1789 Numerik
0.1233 Verbal 0.1179 Mekanik
0.1216 Inggris 0.1079 Inggris
0.1082 Mekanik 0.1036 Verbal
0.0873 Ruang 0.0967 Ruang
ELEKTRO - IPK 3 ELEKTRO - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.1816 Numerik 0.1907 Numerik
0.1251 Mekanik 0.1124 Verbal
0.1036 Verbal 0.1065 Mekanik
0.0985 Ruang 0.1027 Inggris
0.0955 Inggris 0.0963 Ruang
INFORMATIKA - IPK 1 INFORMATIKA - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.256 Numerik 0.2144 Numerik
0.1755 Verbal 0.1711 Verbal
0.1249 Inggris 0.1265 Mekanik
0.0941 Mekanik 0.0968 Inggris
0.091 Ruang 0.0917 Ruang
INFORMATIKA - IPK 3 INFORMATIKA - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.196 Numerik 0.203 Numerik
0.159 Verbal 0.167 Verbal
0.124 Mekanik 0.128 Inggris
0.114 Inggris 0.124 Mekanik
0.104 Ruang 0.116 Ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
MATEMATIKA - IPK 1 MATEMATIKA - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.2262 Numerik 0.1693 Numerik
0.1351 Verbal 0.1455 Verbal
0.1058 Inggris 0.1102 Mekanik
0.0849 Ruang 0.0981 Ruang
0.0794 Mekanik 0.0973 Inggris
MATEMATIKA - IPK 3 MATEMATIKA - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.181 Numerik 0.1947 Numerik
0.1403 Verbal 0.1402 Verbal
0.1128 Inggris 0.1261 Inggris
0.11 Mekanik 0.1164 Mekanik
0.0943 Ruang 0.0994 Ruang
MESIN - IPK 1 MESIN - IPK 2
Information Gain
Atribut Information
Gain Atribut
0.1861 Numerik 0.2211 Numerik
0.0991 Verbal 0.1195 Verbal
0.0902 Inggris 0.112 Ruang
0.077 Ruang 0.1035 Mekanik
0.0695 Mekanik 0.0766 Inggris
MESIN - IPK 3 MESIN - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.2055 Numerik 0.216 Numerik
0.0997 Mekanik 0.133 Mekanik
0.0972 Ruang 0.114 Ruang
0.0892 Verbal 0.109 Verbal
0.0826 Inggris 0.102 Inggris
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
FKIP - IPK 4 FST - IPK 4
Information Gain
Atribut Information
Gain Atribut
0.2824 Numerik 0.2122 Numerik
0.2345 Verbal 0.2064 Ruang
0.2148 Inggris 0.1698 Verbal
0.1928 Ruang 0.0928 Inggris
0.0583 Mekanik 0.204 Mekanik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Lampiran 3 : Hasil Akurasi Setiap Program Studi dan Fakultas
BK
Rata Akurasi IPK
K 1 2 3 4
3 0,604902868 0,65226642 0,63052729 0,63080481
0,629625347
5 0,604902868 0,65226642 0,63052729 0,63080481
7 0,604902868 0,65226642 0,63052729 0,63080481
9 0,604902868 0,65226642 0,63052729 0,63080481
11 0,604902868 0,65226642 0,63052729 0,63080481
13 0,604902868 0,65226642 0,63052729 0,63080481
15 0,604902868 0,65226642 0,63052729 0,63080481
17 0,604902868 0,65226642 0,63052729 0,63080481
19 0,604902868 0,65226642 0,63052729 0,63080481
21 0,604902868 0,65226642 0,63052729 0,63080481
23 0,604902868 0,65226642 0,63052729 0,63080481
25 0,604902868 0,65226642 0,63052729 0,63080481
PBSI
Rata Akurasi IPK
K 1 2 3 4
3 0,543707483 0,547789116 0,56462585 0,535629252
0,553156888
5 0,539540816 0,552040816 0,564710884 0,552040816
7 0,543707483 0,560459184 0,576870748 0,523129252
9 0,547789116 0,556207483 0,57287415 0,535544218
11 0,547789116 0,56037415 0,568792517 0,518962585
13 0,547789116 0,560289116 0,580952381 0,523129252
15 0,547789116 0,560289116 0,572789116 0,531462585
17 0,547789116 0,560289116 0,576870748 0,531462585
19 0,547789116 0,564370748 0,568707483 0,523214286
21 0,547789116 0,564370748 0,576870748 0,535544218
23 0,547789116 0,564370748 0,580952381 0,539540816
25 0,547789116 0,564370748 0,580952381 0,543622449
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
PBI
Rata Akurasi IPK
K 1 2 3 4
3 0,528309179 0,563478261 0,568115942 0,532850242
0,550609903
5 0,599033816 0,559613527 0,56821256 0,564057971
7 0,563671498 0,551014493 0,559516908 0,563671498
9 0,577198068 0,524347826 0,572657005 0,546086957
11 0,568502415 0,542318841 0,546280193 0,554975845
13 0,581642512 0,555362319 0,568309179 0,537584541
15 0,568115942 0,542028986 0,546376812 0,550724638
17 0,581545894 0,529082126 0,541932367 0,537487923
19 0,559613527 0,53352657 0,542222222 0,537487923
21 0,559903382 0,515748792 0,537874396 0,541835749
23 0,54647343 0,533719807 0,533429952 0,524347826
25 0,564541063 0,529275362 0,550917874 0,524251208
PBIO
Rata Akurasi IPK
K 1 2 3 4
3 0,563265306 0,530612245 0,657142857 0,632653061
0,593197279
5 0,546938776 0,551020408 0,636734694 0,640816327
7 0,542857143 0,575510204 0,632653061 0,636734694
9 0,526530612 0,587755102 0,624489796 0,620408163
11 0,530612245 0,587755102 0,624489796 0,612244898
13 0,530612245 0,587755102 0,632653061 0,620408163
15 0,530612245 0,587755102 0,636734694 0,616326531
17 0,530612245 0,587755102 0,636734694 0,620408163
19 0,534693878 0,587755102 0,636734694 0,616326531
21 0,534693878 0,587755102 0,636734694 0,612244898
23 0,534693878 0,587755102 0,636734694 0,612244898
25 0,534693878 0,587755102 0,636734694 0,616326531
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
PAKU Rata
Akurasi IPK
K 1 2 3 4
3 0,36996997 0,402702703 0,358708709 0,43048048
0,39164477
5 0,386786787 0,436186186 0,359009009 0,425825826
7 0,359309309 0,408258258 0,375675676 0,381531532
9 0,36996997 0,435585586 0,381381381 0,386486486
11 0,375525526 0,424774775 0,397897898 0,41951952
13 0,359009009 0,391591592 0,386786787 0,403303303
15 0,386786787 0,402702703 0,364564565 0,409159159
17 0,386786787 0,391441441 0,375675676 0,42012012
19 0,392042042 0,435585586 0,353453453 0,392792793
21 0,397447447 0,38033033 0,364564565 0,403603604
23 0,381231231 0,396996997 0,381231231 0,409459459
25 0,375525526 0,397147147 0,364564565 0,409459459
PEKO Rata
Akurasi IPK
K 1 2 3 4
3 0,354679803 0,461330049 0,503694581 0,488669951
0,42865353
5 0,326847291 0,397536946 0,503694581 0,453448276
7 0,312315271 0,44679803 0,546059113 0,460591133
9 0,339655172 0,45320197 0,532019704 0,460591133
11 0,304679803 0,452955665 0,517487685 0,467241379
13 0,304926108 0,424630542 0,50320197 0,453448276
15 0,290394089 0,446059113 0,488916256 0,45320197
17 0,332019704 0,431773399 0,474876847 0,45320197
19 0,318965517 0,438916256 0,460591133 0,45320197
21 0,340147783 0,438916256 0,453448276 0,45320197
23 0,340147783 0,438916256 0,460344828 0,45320197
25 0,332758621 0,438916256 0,460344828 0,45320197
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
PFIS
Rata Akurasi IPK
K 1 2 3 4
3 0,418333333 0,475 0,508 0,533
0,495708333
5 0,467666667 0,483666667 0,5 0,524333333
7 0,435 0,482333333 0,516 0,524333333
9 0,459666667 0,475333333 0,524333333 0,524333333
11 0,467666667 0,507666667 0,524333333 0,541
13 0,467666667 0,499333333 0,508 0,524333333
15 0,467666667 0,5 0,5 0,524333333
17 0,467666667 0,483333333 0,5 0,524333333
19 0,467666667 0,483666667 0,508333333 0,524333333
21 0,467666667 0,458666667 0,508333333 0,524333333
23 0,467666667 0,458333333 0,5 0,524333333
25 0,467666667 0,45 0,6 0,524333333
PGSD
Rata Akurasi IPK
K 1 2 3 4
3 0,665253921 0,655601195 0,66725168 0,634410007
0,639946633
5 0,642120986 0,64598581 0,64798357 0,628547423
7 0,647946229 0,644044063 0,642176998 0,626643017
9 0,651829724 0,640197909 0,638274832 0,6304705
11 0,647927558 0,638256161 0,64023525 0,634335325
13 0,647946229 0,638256161 0,636351755 0,6304705
15 0,651811053 0,642139656 0,636314414 0,622759522
17 0,649869305 0,640197909 0,636333084 0,630489171
19 0,647927558 0,638256161 0,632486931 0,630489171
21 0,649869305 0,638256161 0,628603435 0,626624347
23 0,647927558 0,638256161 0,63246826 0,624682599
25 0,649869305 0,640197909 0,634410007 0,624682599
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
IPPAK
Rata Akurasi IPK
K 1 2 3 4
3 0,567567568 0,578378378 0,545945946 0,513513514
0,529166667
5 0,540540541 0,545945946 0,47027027 0,47027027
7 0,562162162 0,540540541 0,47027027 0,486486486
9 0,562162162 0,562162162 0,486486486 0,486486486
11 0,545945946 0,562162162 0,497297297 0,518918919
13 0,556756757 0,562162162 0,464864865 0,524324324
15 0,52972973 0,583783784 0,481081081 0,52972973
17 0,567567568 0,535135135 0,497297297 0,518918919
19 0,562162162 0,567567568 0,475675676 0,513513514
21 0,567567568 0,567567568 0,486486486 0,52972973
23 0,578378378 0,556756757 0,497297297 0,513513514
25 0,567567568 0,562162162 0,491891892 0,497297297
PKIM Rata
Akurasi IPK
K 1 2 3 4
3 0,458181818 0,46 0,48 0,401818182
0,46905303
5 0,478181818 0,54 0,481818182 0,441818182
7 0,5 0,541818182 0,52 0,483636364
9 0,5 0,501818182 0,461818182 0,44
11 0,48 0,501818182 0,365454545 0,443636364
13 0,5 0,521818182 0,385454545 0,423636364
15 0,5 0,521818182 0,383636364 0,423636364
17 0,5 0,521818182 0,383636364 0,463636364
19 0,5 0,521818182 0,365454545 0,483636364
21 0,5 0,521818182 0,365454545 0,483636364
23 0,5 0,521818182 0,385454545 0,483636364
25 0,5 0,521818182 0,365454545 0,483636364
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
PMAT
Rata Akurasi IPK
K 1 2 3 4
3 0,479089616 0,53200569 0,542532006 0,516073969
0,520000593
5 0,468847795 0,53200569 0,5371266 0,542958748
7 0,468847795 0,53200569 0,5371266 0,542958748
9 0,468847795 0,53200569 0,5371266 0,542958748
11 0,468847795 0,53200569 0,5371266 0,542958748
13 0,468847795 0,53200569 0,5371266 0,542958748
15 0,468847795 0,53200569 0,5371266 0,542958748
17 0,468847795 0,53200569 0,5371266 0,542958748
19 0,468847795 0,53200569 0,5371266 0,542958748
21 0,468847795 0,53200569 0,5371266 0,542958748
23 0,468847795 0,53200569 0,5371266 0,542958748
25 0,468847795 0,53200569 0,5371266 0,542958748
PSEJ
Rata Akurasi IPK
K 1 2 3 4
3 0,483655914 0,450967742 0,490107527 0,483870968
0,476854839
5 0,457419355 0,476989247 0,49655914 0,496774194
7 0,464086022 0,463655914 0,496344086 0,49655914
9 0,464086022 0,450537634 0,48344086 0,483655914
11 0,483655914 0,469892473 0,483225806 0,483655914
13 0,483655914 0,470322581 0,489677419 0,464086022
15 0,470537634 0,470322581 0,483225806 0,470322581
17 0,470537634 0,450752688 0,483225806 0,483655914
19 0,477204301 0,463870968 0,476774194 0,490322581
21 0,477204301 0,457419355 0,48344086 0,496989247
23 0,477204301 0,463870968 0,476774194 0,490322581
25 0,477204301 0,470537634 0,476774194 0,483655914
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
INFORMATIKA
Rata Akurasi IPK
K 1 2 3 4
3 0,392156863 0,439215686 0,415686275 0,423529412
0,417156863
5 0,368627451 0,450980392 0,396078431 0,396078431
7 0,407843137 0,447058824 0,415686275 0,392156863
9 0,388235294 0,431372549 0,4 0,4
11 0,411764706 0,431372549 0,411764706 0,403921569
13 0,411764706 0,439215686 0,411764706 0,411764706
15 0,407843137 0,443137255 0,419607843 0,403921569
17 0,4 0,447058824 0,419607843 0,411764706
19 0,411764706 0,447058824 0,415686275 0,411764706
21 0,411764706 0,447058824 0,423529412 0,411764706
23 0,411764706 0,447058824 0,419607843 0,415686275
25 0,415686275 0,447058824 0,419607843 0,415686275
MATEMATIKA
Rata Akurasi IPK
K 1 2 3 4
3 0,508496732 0,41503268 0,495424837 0,484313725
0,452042484
5 0,473202614 0,356862745 0,495424837 0,496078431
7 0,462091503 0,321568627 0,495424837 0,496078431
9 0,473202614 0,389542484 0,495424837 0,496078431
11 0,473202614 0,388888889 0,495424837 0,496078431
13 0,473202614 0,34379085 0,495424837 0,496078431
15 0,473202614 0,332679739 0,495424837 0,496078431
17 0,473202614 0,355555556 0,495424837 0,496078431
19 0,473202614 0,29869281 0,495424837 0,496078431
21 0,473202614 0,309150327 0,495424837 0,496078431
23 0,473202614 0,310457516 0,495424837 0,496078431
25 0,473202614 0,286928105 0,495424837 0,496078431
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
ELEKTRO
Rata Akurasi IPK
K 1 2 3 4
3 0,483610188 0,418161683 0,43200443 0,403986711
0,41460179
5 0,484053156 0,460022148 0,422812846 0,38538206
7 0,493355482 0,403986711 0,390143965 0,362236988
9 0,512292359 0,42248062 0,399003322 0,385160576
11 0,507530454 0,403654485 0,403875969 0,412956811
13 0,484053156 0,399114064 0,385160576 0,352048726
15 0,483942414 0,408637874 0,371096346 0,366223699
17 0,479180509 0,404097453 0,390254707 0,361683278
19 0,474529347 0,403986711 0,390254707 0,361683278
21 0,469767442 0,403986711 0,371539313 0,352380952
23 0,469767442 0,41351052 0,37641196 0,343078627
25 0,479069767 0,399335548 0,376301218 0,343078627
MESIN
Rata Akurasi IPK
K 1 2 3 4
3 0,48 0,414285714 0,345714286 0,442857143
0,428869048
5 0,477142857 0,408571429 0,374285714 0,442857143
7 0,477142857 0,422857143 0,4 0,428571429
9 0,477142857 0,425714286 0,388571429 0,417142857
11 0,477142857 0,425714286 0,4 0,44
13 0,477142857 0,425714286 0,4 0,428571429
15 0,477142857 0,417142857 0,405714286 0,428571429
17 0,477142857 0,42 0,382857143 0,414285714
19 0,477142857 0,422857143 0,394285714 0,417142857
21 0,477142857 0,422857143 0,388571429 0,431428571
23 0,477142857 0,422857143 0,4 0,411428571
25 0,477142857 0,422857143 0,397142857 0,425714286
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
IPK 4
K FKIP Rata Akurasi
3 0,521985618
0,545068841
5 0,538022325
7 0,554451965
9 0,554038752
11 0,549108086
13 0,54746453
15 0,546644865
17 0,54664402
19 0,544586407
21 0,545411142
23 0,545410297
25 0,547058078
IPK 4
K FST Rata Akurasi
3 0,359116022
0,390515654
5 0,371270718
7 0,379005525
9 0,385635359
11 0,396685083
13 0,388950276
15 0,390055249
17 0,403314917
19 0,402209945
21 0,406629834
23 0,401104972
25 0,402209945
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Lampiran 4 : Hasil Akurasi Setiap Kombinasi Atribut Program Studi PGSD , FKIP dan FST
PGSD
IPK 1
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK RUANG VERBAL INGGRIS MEKANIK
0,663330844
0,640179238
0,649887976
0,649869305
0,647927558
0,649869305
0,649869305
0,651811053
0,649869305
0,649869305
0,647927558
0,649869305
NUMERIK RUANG VERBAL INGGRIS
0,663330844
0,66150112
0,647908887
0,644044063
0,64598581
0,64598581
0,651811053
0,649869305
0,651811053
0,649869305
0,649869305
0,649869305
NUMERIK RUANG VERBAL
0,634316654
0,638181479
0,649831964
0,64598581
0,646004481
0,651811053
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
NUMERIK RUANG
0,638144137
0,649869305
0,642064974
0,647946229
0,647946229
0,651811053
0,661463779
0,657580284
0,653752801
0,651811053
0,651811053
0,649869305
NUMERIK
1 0,64986
9305 0,65179
2382 0,64986
9305 0,64986
9305 0,64986
9305 0,64986
9305 0,65179
2382 0,64986
9305 0,64986
9305 0,64986
9305 0,64986
9305
RUANG
0,626680358
0,647927558
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
VERBAL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
0,630619866
0,615123226
0,644081404
0,644081404
0,644081404
0,646023152
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
INGGRIS
0,647946229
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
MEKANIK
0,649869305
0,632561613
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
0,649869305
IPK 2
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK RUANG VERBAL MEKANIK INGGRIS
0,6517177
0,647946229
0,642102315
0,640197909
0,638256161
0,638256161
0,642139656
0,640197909
0,638256161
0,638256161
0,638256161
0,640197909
NUMERIK RUANG VERBAL MEKANIK
0,663368185
0,655675878
0,636333084
0,642158327
0,64598581
0,646004481
0,644062733
0,644044063
0,638274832
0,640197909
0,640197909
0,640197909
NUMERIK RUANG VERBAL
0,646023152
0,622852875
0,62673637
0,64798357
0,638237491
0,636351755
0,640197909
0,642139656
0,642139656
0,640197909
0,640197909
0,640197909
NUMERIK RUANG
0,628622106
0,657692308
0,655694548
0,657580284
0,653659447
0,663330844
0,655657207
0,663330844
0,659447349
0,655638536
0,649831964
0,642102315
NUMERIK
1 0,64210
2315 0,64983
1964 0,65373
413 0,64789
0217 0,64596
714 0,64789
0217 0,64789
0217 0,64789
0217 0,64596
714 0,64596
714 0,64981
3294
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
RUANG
0,638274832
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
VERBAL
0,590197909
0,614992532
0,605395818
0,630582524
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
MEKANIK
0,640197909
0,624813294
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
INGGRIS
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
0,640197909
IPK 3
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK VERBAL MEKANIK RUANG INGGRIS
0,665328603
0,651867065
0,644118745
0,638274832
0,638293503
0,636351755
0,636314414
0,636333084
0,632486931
0,628603435
0,63246826
0,634410007
NUMERIK VERBAL MEKANIK RUANG
0,657598954
0,651829724
0,644100075
0,646004481
0,647964899
0,642120986
0,642120986
0,647908887
0,64021658
0,630563854
0,630563854
0,632505601
NUMERIK VERBAL MEKANIK
0,64596714
0,669268111
0,663386856
0,669286781
0,671153846
0,653715459
0,671135176
0,659466019
0,651792382
0,636351755
0,642158327
0,642158327
NUMERIK VERBAL
0,605582524
0,590011202
0,619025392
0,622834205
0,634410007
0,620873786
0,620911128
0,644156087
0,63448469
0,651811053
0,644100075
0,636314414
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
NUMERIK
1 0,64212
0986 0,62856
6094 0,64212
0986 0,63048
9171 0,63631
4414 0,63631
4414 0,63825
6161 0,62279
6863 0,63050
7842 0,65371
5459 0,65365
9447
VERBAL
0,522292756
0,591766243
0,595761763
0,588125467
0,609241972
0,6267177
0,6267177
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
MEKANIK
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
RUANG
0,564507095
0,616990291
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
INGGRIS
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
0,630563854
IPK 4
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK VERBAL MEKANIK RUANG INGGRIS
0,636333084
0,628547423
0,62470127
0,6304705
0,634335325
0,6304705
0,622759522
0,630489171
0,630489171
0,626624347
0,624682599
0,624682599
NUMERIK VERBAL MEKANIK RUANG
0,640141897
0,638200149
0,638162808
0,626605676
0,632393577
0,636277072
0,634316654
0,634316654
0,630489171
0,62470127
0,62470127
0,626643017
NUMERIK VERBAL MEKANIK
0,651773712
0,663461538
0,651811053
0,665309933
0,665365945
0,655675878
0,642102315
0,649813294
0,638256161
0,642102315
0,640123226
0,643988051
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
NUMERIK VERBAL
0,595761763
0,599589246
0,62470127
0,6304705
0,622796863
0,626643017
0,622796863
0,644100075
0,644118745
0,646060493
0,642120986
0,640179238
NUMERIK
1 0,64790
8887 0,65955
9373 0,65955
9373 0,64790
8887 0,64790
8887 0,64790
8887 0,64206
4974 0,64019
7909 0,64785
2875 0,64591
1128 0,64591
1128
VERBAL
0,518371919
0,566486184
0,593745332
0,601493652
0,599551904
0,595668409
0,595668409
0,618932039
0,62470127
0,62470127
0,62470127
0,62470127
MEKANIK
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
RUANG
0,531702763
0,61695295
0,622778193
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
INGGRIS
0,615085885
0,609167289
0,503024645
0,620817774
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
0,62470127
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
FKIP
IPK 4
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK VERBAL INGGRIS RUANG MEKANIK
0,520336147
0,548694028
0,551161474
0,551570462
0,549107241
0,546230808
0,544588942
0,54582013
0,544588097
0,546232498
0,545411987
0,544590632
NUMERIK VERBAL INGGRIS RUANG
0,511706847
0,521979703
0,533069688
0,541296761
0,546237568
0,542540624
0,546649935
0,54664909
0,547881968
0,548294336
0,547882813
0,547059768
NUMERIK VERBAL INGGRIS
0,507186858
0,514979593
0,541289156
0,542940317
0,545401847
0,544169814
0,550339274
0,542936936
0,547051318
0,548289266
0,551166544
0,54581506
NUMERIK VERBAL
0,389651093
0,390879746
0,405255997
0,43072984
0,44634235
0,4401712
0,415511953
0,433187991
0,408127361
0,422511218
0,47305752
0,48949392
NUMERIK
0 0,25567
8928 0,25444
6895 0,22565
8056 0,22565
8056 0,24457
5422 0,26305
5915 0,27004
2504 0,27580
2131 0,27826
6197 0,31116
6037 0,31116
6037
VERBAL
0,254817012
0,300872056
0,300872056
0,300872056
0,300050701
0,300050701
0,300050701
0,331709213
0,332119891
0,321031595
0,320620918
0,309943299
INGGRIS
0,263045774
0,297162437
0,297162437
0,297162437
0,287306175
0,287306175
0,287306175
0,314821575
0,325909871
0,325909871
0,358389738
0,358389738
RUANG
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
0,233441495
0,230150159
0,243303673
0,26468426
0,268785966
0,297975342
0,295927869
0,295927869
0,295927869
0,295927869
0,287710092
0,262636787
MEKANIK
0,218651186
0,227694544
0,227694544
0,227694544
0,241669413
0,233866538
0,236741282
0,239205347
0,239205347
0,236330604
0,243722801
0,272910487
FST
IPK 4
3 5 7 9 11 13 15 17 19 21 23 25
NUMERIK RUANG VERBAL INGGRIS MEKANIK
0,38121547
0,360220994
0,391160221
0,384530387
0,393370166
0,398895028
0,39558011
0,401104972
0,403314917
0,403314917
0,403314917
0,40441989
NUMERIK RUANG VERBAL INGGRIS
0,367955801
0,370165746
0,382320442
0,386740331
0,388950276
0,403314917
0,407734807
0,415469613
0,41878453
0,415469613
0,419889503
0,40441989
NUMERIK RUANG VERBAL
0,291712707
0,335911602
0,37679558
0,392265193
0,394475138
0,408839779
0,407734807
0,415469613
0,401104972
0,387845304
0,387845304
0,382320442
NUMERIK RUANG
0,391160221
0,406629834
0,382320442
0,403314917
0,398895028
0,417679558
0,428729282
0,413259669
0,41878453
0,435359116
0,439779006
0,427624309
NUMERIK
0 0,15911
6022 0,28287
2928 0,34475
1381 0,37900
5525 0,39558
011 0,4 0,4 0,4 0,4 0,38784
5304 0,39779
0055
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
RUANG
0,110497238
0,154696133
0,201104972
0,208839779
0,348066298
0,361325967
0,370165746
0,367955801
0,366850829
0,366850829
0,366850829
0,366850829
VERBAL
0,155801105
0,155801105
0,152486188
0,154696133
0,154696133
0,139226519
0,21878453
0,21878453
0,286187845
0,286187845
0,286187845
0,266298343
INGGRIS
0,131491713
0,160220994
0,339226519
0,373480663
0,379005525
0,383425414
0,380110497
0,372375691
0,380110497
0,380110497
0,369060773
0,369060773
MEKANIK
0,15359116
0,161325967
0,279558011
0,366850829
0,366850829
0,366850829
0,366850829
0,366850829
0,366850829
0,366850829
0,366850829
0,366850829
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
Lampiran 5 : Source Code MKNN
Class MKNN
from pandas.core.reshape.pivot import pivot_table
from .mknn_utils import distances_matrix, validity, find_majority
from .exceptions import DistanceException
import pandas as pd
class MKNN(object):
def __init__(self, k=3, distance='euclidean'):
"""
Parameter
----------
k\t= jumlah tetangga terdekat\n
distance = 'euclidean', 'manhattan', 'cosine
"""
self.distance_list = [
'euclidean',
'manhattan',
'cosine'
]
self.k = k
if distance not in self.distance_list:
raise DistanceException('jarak {} tidak dikenal'.format(distance))
self.distance_index = self.distance_list.index(distance)
self.distance_method = self.distance_list[self.distance_index]
def fit(self, X, y):
"""
Parameter
---------
X : X training -> data training tanpa label\n
y = y Training -> label data training\n
"""
self.X_train = X
if isinstance(y, pd.Series):
self.y = y.values.ravel()
else:
self.y = y
self.distance = distances_matrix(X, X, distance=self.distance_method)
self.validity = validity(self.distance, self.y, self.k)
def predict(self, X_test):
"""
Parameter
----------
X_test : data test Pandas DataFrame\n
Return
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
----------
list - hasil prediksi
"""
if isinstance(X_test, pd.Series):
test = X_test.values
else:
test = X_test
predicted_label = []
distances = distances_matrix(X_test, self.X_train, self.distance_method)
print(distances)
for i in distances:
weight = []
for j in range(len(self.validity)):
weight_j = self.validity[j] * (1 / (i[j] + 0.5))
weight.append(weight_j)
sorted_index = sorted(range(len(weight)),
key=lambda k: weight[k], reverse=True)
f_label = []
y = self.y
for i in range(self.k):#menyimpan data terbesar
f_label.append(y[sorted_index[i]])
majority, count = find_majority(f_label)#mencari mayoritas dari data terbesar
print("Weight Voting",f_label)
predicted_label.append(majority)
return predicted_label
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
Class MKNN_UTILS
from sklearn.metrics.pairwise import euclidean_distances, manhattan_distances,
cosine_distances
def find_majority(k):
myMap = {}
maximum = ('', 0) # (occurring element, occurrences)
for n in k:
if n in myMap:
myMap[n] += 1
else:
myMap[n] = 1
# Keep track of maximum on the go
if myMap[n] > maximum[1]:
maximum = (n, myMap[n])
return maximum
def distances_matrix(a, b, distance='euclidean'):
if distance == 'euclidean':
return euclidean_distances(a, b)
elif distance == 'manhattan':
return manhattan_distances(a, b)
elif distance == 'cosine':
return cosine_distances(a, b)
else:
return False
def validity(distance, y, k):
v = []
current_index = 0
for i in distance:
sorted_index = sorted(range(len(i)), key=lambda k: i[k])
fk = []
for j in range(k):
fk.append(y[sorted_index[j + 1]])#tidak termasuk dirinya sendiri
same_label = 0
print('{} -> {}'.format(y[current_index], fk))
for label in fk:
if check_label(y[current_index], label):
same_label += 1
val = 1 / k * same_label
v.append(val)
current_index += 1
return v
def check_label(label1, label2):
if label1 == label2:
return True
return False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
Class Load
from mknn.mknn_utils import validity
import sys
from tkinter.constants import FALSE
from PyQt5.QtWidgets import QProgressBar
from table_gui import TableModel
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import uic
from table import TableModel
import pandas as pd
from sklearn import preprocessing
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import KFold, cross_val_score
import numpy as np
from sklearn.metrics.pairwise import euclidean_distances
from sklearn.metrics import accuracy_score
from mknn import MKNN
from PyQt5.QtCore import QDir
import tkinter as tk
from tkinter import filedialog
from imblearn.over_sampling import SMOTE
from pandas.api.types import is_string_dtype
# LOAD GUI
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
uic.loadUi("GUI FIX.ui", self)
self.attrs = []
self.label = []
self.isdrop = False
self.stackedWidget.setCurrentIndex(0)
self.Prediksi.clicked.connect(self.proses)
self.Bantuan.clicked.connect(self.bantuan)
self.Tentang.clicked.connect(self.tentang)
self.Prediksi.clicked.connect(self.proses)
self.Kembali_Proses.clicked.connect(self.kembali_proses)
self.Kembali_Tentang.clicked.connect(self.kembali_tentang)
self.Kembali_Bantuan.clicked.connect(self.kembali_bantuan)
self.akurasiTombol.clicked.connect(self.lihat_akurasi)
self.prediksi.clicked.connect(self.dataBaru)
self.Pilih.clicked.connect(self.pilihFile)
self.Verbal.stateChanged.connect(self.check1)
self.Numerik.stateChanged.connect(self.check2)
self.Mekanik.stateChanged.connect(self.check3)
self.Ruang.stateChanged.connect(self.check4)
self.Inggris.stateChanged.connect(self.check5)
self.pilihIPK.currentTextChanged.connect(self.comboBoxIPK)
self.label.append(self.pilihIPK.currentText())
self.Prodi.currentTextChanged.connect(self.comboBoxJurusan)
self.label.append(self.Prodi.currentText())
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
# SETTING HALAMAN
def Home_page(self):
self.stackedWidget.setCurrentIndex(0)
def mknn_page(self):
self.stackedWidget.setCurrentIndex(1)
def tentang_page(self):
self.stackedWidget.setCurrentIndex(2)
def bantuan_page(self):
self.stackedWidget.setCurrentIndex(3)
def proses(self):
self.stackedWidget.setCurrentIndex(1)
def tentang(self):
self.stackedWidget.setCurrentIndex(2)
def bantuan(self):
self.stackedWidget.setCurrentIndex(3)
def kembali_proses(self):
self.stackedWidget.setCurrentIndex(0)
def kembali_tentang(self):
self.stackedWidget.setCurrentIndex(0)
def kembali_bantuan(self):
self.stackedWidget.setCurrentIndex(0)
def pilihFile(self):
self.nama_file = QtWidgets.QFileDialog.getOpenFileName(
self, QDir.homePath(), "*.xlsx")
if self.nama_file[0] == '' or self.nama_file == None:
return
self.namaFile.setText(str(self.nama_file))
self.df = pd.read_excel(self.nama_file[0])
self.dataset2 = pd.ExcelFile(self.nama_file[0])
self.list_jurusan = self.dataset2.sheet_names
self.Prodi.clear()
self.Prodi.addItems(self.list_jurusan)
def check1(self, state):
if state == 2:
self.attrs.append('Verbal')
else:
self.attrs.remove('Verbal')
print(self.attrs)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
def check2(self, state):
if state == 2:
self.attrs.append('Numerik')
else:
self.attrs.remove('Numerik')
print(self.attrs)
def check3(self, state):
if state == 2:
self.attrs.append('Mekanik')
else:
self.attrs.remove('Mekanik')
print(self.attrs)
def check4(self, state):
if state == 2:
self.attrs.append('Ruang')
else:
self.attrs.remove('Ruang')
print(self.attrs)
def check5(self, state):
if state == 2:
self.attrs.append('Inggris')
else:
self.attrs.remove('Inggris')
print(self.attrs)
def comboBoxJurusan(self, text):
self.stackedWidget.setCurrentIndex(1)
print(self.Prodi.currentIndex())
self.df = pd.read_excel(self.nama_file[0],self.list_jurusan[self.Prodi.currentIndex()])
self.model =
TableModel(pd.read_excel(self.nama_file[0],self.list_jurusan[self.Prodi.currentIndex()]))
self.isdrop = False
print(self.model._data)
self.tableView.setModel(None)
self.tableView.setModel(self.model)
def comboBoxIPK(self, text):
self.stackedWidget.setCurrentIndex(1)
self.label.clear()
self.label.append(text)
print(self.label)
# self.smote()
def dataBaru(self):
self.stackedWidget.setCurrentIndex(1)
nilai1 = int(self.nT1.text())
nilai2 = int(self.nT2.text())
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
nilai3 = int(self.nT3.text())
nilai4 = int(self.nT4.text())
nilai5 = int(self.nT5.text())
inp = np.array([[nilai1, nilai2, nilai3, nilai4, nilai5]])
scaled = self.min_max_scaler.transform(inp)
mi = int(0)
predicted = self.hasil[0]['model'][mi].predict(scaled)
self.outPrediksi.setText(predicted[0])
def lihat_akurasi(self):
# LOADEXCEL
print(self.df)
# Drop nilai 0 atau NaN pada tabel
if not self.isdrop :
self.df = self.df[~(self.df == 0).any(axis=1)]
# print("Drop Nilai 0")
# print(self.df)
self.isdrop = True
# Bagi data x = atribute dan y = label
x = self.df[self.attrs].astype(float)
# Mengkategori kelas(Y)
# if not is_string_dtype(self.df[self.label[0]]) :
# self.df[self.label[0]] = pd.cut(self.df[self.label[0]], bins=[
# 0, 2.25, 2.75, 3.51, 4], labels=['D', 'C', 'B', 'A'])
# NORMALISASI
self.min_max_scaler = preprocessing.MinMaxScaler()
# BUAT DATA FRAME
x_scaled = self.min_max_scaler.fit_transform(x)
df_xscaled = pd.DataFrame(x_scaled, columns=x.columns, index=x.index)
x.update(df_xscaled)
# MENAMBAHKAN ATRIBUT CLASS
self.df[self.attrs] = x
# print("Normalisasi MIN - MAX dan Kategorikal " )
# print(self.df)
# MENDEKLARASIKAN LABEL DAN ATRIBUT
labels = [self.label[0]] # Kolom Kelas Melalui Inputan Keyboard
attrs = [self.attrs] # Kolom Atribut
n_folds = [int(self.kFoldQ.text())] # Menentukan K-Fold Melalui Inputan Keyboard
hasil = []
for attr_i, label_i in zip(attrs, labels):
attr = self.df[attr_i]
label = self.df[label_i]
# print("attr", attr)
# UNTUK SETIAP FOLD
for n in n_folds:
# RESULT=[]
kf = KFold(n_splits=n, shuffle = True, random_state = 1)
mknn_list = []
akurasi_list = []
sum_akurasi = 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
for train_index, test_index, in kf.split(attr):
# INDEX TRAINING DAN TESTING
print("TRAIN", train_index, "TEST", test_index)
# AMBIL DATA TRAIN
x_train, y_train = attr.iloc[train_index], label.iloc[train_index]
# AMBIL DATA TEST
x_test, y_test = attr.iloc[test_index], label.iloc[test_index]
mknn = MKNN(k=int(self.tetanggaQ.text())) # Menentukan M-K-NN Melalui
Inputan Keyboard
mknn.fit(x_train, y_train)
# print("Validity",mknn.validity)
mknn_list.append(mknn)
y_predict = mknn.predict(x_test)
print(y_predict)
print(len(y_predict))
akurasi = accuracy_score(y_test, y_predict)
sum_akurasi += akurasi
print(akurasi)
rata_akurasi = sum_akurasi/n
hasil.append(
{'model': mknn_list,
'akurasi': akurasi_list,
'rata_akurasi': rata_akurasi})
print(rata_akurasi)
self.hasil = hasil
self.outAkurasi.setText(str(hasil[0]['rata_akurasi']))
# LANJUT BACA GUI
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI