PREDIKSI MAHASISWA BERPRESTASI RENDAH MENGGUNAKAN SUPPORT VECTOR MACHINE DAN ADABOOST
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
Disusun Oleh:
Yossa Andika Laksana 175314099
PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2021
PREDICTION OF LOW ACHIEVEMENT STUDENTS USING SUPPORT VECTOR MACHINE AND ADABOOST
A THESIS
Submitted to Meet One of the Requirements To Obtain Bachelor's Degree in Computer
Informatics Study Program
By :
Yossa Andika Laksana 175314099
INFORMATICS STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2021
iii
HALAMAN PERSETUJUAN
iv
HALAMAN PENGESAHAN
v PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak mengandung atau menuai hasil orang lain, kecuali telah disebutkan dalam daftar pustaka dan kutipan selayaknya karya ilmiah
Yogyakarta, 27 September 2021 Penulis
Yossa Andika Laksana
vi
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama Yossa Andika Laksana
NIM : 175314099
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PREDIKSI MAHASISWA BERPRESTASI RENDAH MENGGUNAKAN SUPPORT VECTOR MACHINE DAN ADABOOST
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, me- ngalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Klaten, 5 Maret 2022
Yossa Andika Laksana
vii ABSTRAK
Prestasi mahasiswa memerankan peranan penting dalam mengingkatkan dan menjaga mutu suatu institusi perguruan tinggi. Pihak institusi seringkali perlu melakukan pembimbingan intensif bagi mahasiswa berprestasi rendah. Namun tidak jarang pihak institusi terlambat dalam menyikapi masalah ini karena tidak dapat memprediksi mahasiswa mana yang memerlukan bimbingan lebih intensif karena prestasinya yang rendah. Klasifikasi menjadi salah satu solusi yang dapat dipergunakan untuk memprediksi mahasiswa berprestasi rendah. Pada penelitian ini metode klasifikasi Support Vector Machine dan Adaboost dipergunakan untuk melakukan prediksi terhadap data mahasiswa Fakultas Sains dan Teknologi Universitas Sanata Dharma yang berprestasi rendah. Tujuan penelitian ini adalah untuk mengkaji kinerja metode klasifikasi Support Vector Machine dan Adaboost dengan cara membandingkan akurasi kedua metode tersebut. Perbandingan dilakukan dengan menguji beberapa variasi parameter yaitu jenis kernel (polynomial, linear, dan RBF), jumlah atribut, nilai C, serta nilai k pada cross validation. Pengujian dilakukan terhadap 1063 data yang tidak dikenai proses balancing maupun yang dikenai proses balancing. Dari hasil pengujian diperoleh akurasi terbaik sebesar 93,24% pada model klasifikasi Adaboost dengan menggunakan optimasi SVM pada kernel polynomial, nilai C = 0,01, nilai k-fold
= 5, terhadap data yang terdiri dari 9 atribut yaitu PenalaranVerbal, KemampuanNumerik, BahasaInggris, SKS1, IPS1, SKS2, IPS2, SKS3, IPS3 yang dikenai proses balancing menggunakan Synthetic Minority Over-sampling Technique (SMOTE).
Kata kunci: Mahasiswa Berprestasi Rendah, Support Vector Machine, Adaboost, Klasifikasi.
vii ABSTRACT
Student Achievement plays an important role in improving and maintaining the quality of a higher education institution. The institution often needs to conduct intensive mentoring of low achieving students. However, it is common for parties to be late in responding to this problem because they cannot predict which students need more intensive guidance because of their low achievements. Classification is a solution that can be used to predict low achieving students. In this study, the Support Vector Machine and Adaboost classification methods were used to predict the data of low achieving students of the Faculty of Science and Technology, Sanata Dharma University. The purpose of this study was to examine the assessment of the Support Vector Machine and Adaboost classification methods by comparing the accuracy of the two methods.
The comparison is done by testing several variations of parameters, namely the type of kernel (polynomial, linear, and RBF), the number of attributes, the value of C, and the value of k in cross validation. Tests were carried out on 1063 data that were not subjected to the balancing process as well as those that were subjected to the balancing process. The tests resulted the best accuracy of 93.24%
on the Adaboost classification model using SVM optimization on the polynomial kernel, the value of C = 0.01, the value of k-fold = 5, on data consisting of 9 attributes namely Verbal Reasoning, Numerical Ability, Language English, SKS1, IPS1, SKS2, IPS2, SKS3, IPS3 which are subjected to a balancing process using the Synthetic Minority Over-sampling Technique (SMOTE).
Keywords: Low Achievement Students, Support Vector Machine, Adaboost, Classification.
viii DAFTAR ISI
PREDIKSI MAHASISWA BERPRESTASI RENDAH MENGGUNAKAN
SUPPORT VECTOR MACHINE DAN ADABOOST ... i
PREDICTION OF LOW ACHIEVEMENT STUDENTS USING SUPPORT VECTOR MACHINE AND ADABOOST ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vi
ABSTRAK ... vii
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xiii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan ... 3
1.4. Batasan Masalah... 3
1.5. Manfaat Penelitian ... 3
1.6. Sistematika Penulisan ... 4
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ... 6
2.1. Tinjauan Pustaka ... 6
ix
2.2. Landasan Teori ... 6
2.2.1. Klasifikasi ... 6
2.2.2.1. Synthetic Minority Over-sampling Technique (SMOTE) ... 7
2.2.2. Support Vector Machine ... 8
2.2.3. Adaboost ... 11
2.2.4. K-Fold Cross Validation ... 13
2.2.5. Confusion Matrix ... 13
2.2.6. Min-Max Normalization ... 15
BAB III METODOLOGI PENELITIAN ... 16
3.1. Gambaran Umum Penelitian ... 16
3.2. Pengambilan Data ... 17
3.3. Data Preprocessing ... 19
3.3.1. Data Cleaning ... 20
3.3.2. Selection ... 21
3.3.3. Data Transformation ... 22
3.4. Metode dan Pemodelan ... 25
3.4.1. Pemodelan Support Vector Machine ... 26
3.4.2. Pemodelan Adaboost... 29
3.5. Rancangan Pengujian ... 33
3.6. Kebutuhan Sistem ... 34
3.6.1. Perangkat Keras ... 34
3.6.2. Perangkat Lunak ... 34
3.7. Desain Antarmuka Pengguna ... 34
BAB IV IMPLEMENTASI DAN ANALISIS HASIL ... 36
4.1. Tahap Preprocessing ... 36
x
4.1.1. Data Cleaning ... 36
4.1.2. Selection ... 37
4.1.3. Data Transformation ... 38
4.2. Perangkingan Atribut ... 39
4.3. Balancing ... 40
4.4. Klasifikasi ... 42
4.5. Pengujian ... 44
4.6. Analisis Hasil ... 62
4.7. Antarmuka Pengguna ... 66
BAB V PENUTUP ... 69
5.1. Kesimpulan ... 69
5.2. Saran ... 70
DAFTAR PUSTAKA ... 66
xi
DAFTAR TABEL
Tabel 2. 1 Confusion Matrix ... 14
Tabel 3. 1 Penejelasan Atribut ... 17
Tabel 3. 2 Sampel Data Sebelum Transformasi ... 22
Tabel 3. 3 Nilai Maksimum dan Minimum Sampel Data ... 23
Tabel 3. 4 Sampel Data Hasil Normalisasi ... 25
Tabel 3. 5 Sampel Data Training ... 26
Tabel 3. 6 Sampel Data Testing ... 26
Tabel 3. 7 Pengujian Data Testing ... 28
Tabel 3. 8 Tabel Confusion Matrix ... 29
Tabel 3. 9 Sampel Data Adaboost ... 29
Tabel 3. 10 Penambahan Bobot Amatan Pada Sampel Data ... 30
Tabel 3. 11 Error Rate Dengan T = 3,5 ... 31
Tabel 3. 12 Menambahkan Bobot Amatan Baru ... 32
Tabel 3. 13 Tabel Confusion Matrix ... 33
Tabel 3. 14 Spesifikasi Perangkat Keras ... 34
Tabel 4. 1 Contoh Data Sebelum Normalisasi ... 39
Tabel 4. 2 Contoh Data Sesudah Normalisasi ... 39
Tabel 4. 3 Hasil Perankingan Atribut ... 40
Tabel 4. 4 Hasil Pengujian Dengan 11 Atribut Terbaik ... 44
Tabel 4. 5 Hasil Pengujian Dengan 10 Atribut Terbaik ... 46
Tabel 4. 6 Hasil Pengujian Dengan 9 Atribut Terbaik ... 47
Tabel 4. 7 Hasil Pengujian Dengan 8 Atribut Terbaik ... 49
Tabel 4. 8 Hasil Pengujian Dengan 7 Atribut Terbaik ... 51
Tabel 4. 9 Hasil Pengujian Dengan 6 Atribut Terbaik ... 52
Tabel 4. 10 Hasil Pengujian Dengan 5 Atribut Terbaik ... 54
Tabel 4. 11 Hasil Pengujian Dengan 4 Atribut Terbaik ... 56
Tabel 4. 12 Hasil Pengujian Dengan 3 Atribut Terbaik ... 57
Tabel 4. 13 Hasil Pengujian Dengan 2 Atribut Terbaik ... 59
xii
Tabel 4. 14 Hasil Pengujian Dengan 1 Atribut Terbaik ... 60 Tabel 4. 15 Perbandingan Akurasi Terbaik SVM dan Adaboost ... 63
xiii
DAFTAR GAMBAR
Gambar 2. 1 Hyperplane yang memisahkan 2 kelas positif dan kelas negatif. ... 8
Gambar 2. 2 Contoh k-fold cross validation ... 13
Gambar 3. 1 Diagram Alur Penelitian... 16
Gambar 3. 2 Contoh data yang sudah diberi label ... 19
Gambar 3. 3 Contoh data yang sudah diberi label (lanjutan) ... 19
Gambar 3. 4 Data sebelum dilakukan pembersihan ... 20
Gambar 3. 5 Data setelah dilakukan pembersihan ... 21
Gambar 3. 6 Desain interface yang akan digunakan... 35
Gambar 4. 1 Implementasi data cleaninig pada program ... 36
Gambar 4. 2 Implementasi selection pada program ... 37
Gambar 4. 3 Implementasi pembagian data training dan testing... 38
Gambar 4. 4 Implementasi transformasi data pada program ... 38
Gambar 4. 5 Implementasi information gain pada program ... 40
Gambar 4. 6 Grafik kelas sebelum dilakukan balancing ... 41
Gambar 4. 7 Implementasi algoritma SMOTE pada program ... 41
Gambar 4. 8 Grafik kelas setelah diterapkan SMOTE ... 42
Gambar 4. 9 Implementasi model klasifikasi Support Vector Machine ... 43
Gambar 4. 10 Implementasi model klasifikasi Adaboost... 43
Gambar 4. 11 Grafik akurasi terbaik (sumbu x: banyak atribut, sumbu y: akurasi) ... 66
Gambar 4. 12 Tampilan antarmuka pengguna ... 67
1 BAB I PENDAHULUAN
1.1. Latar Belakang
Institusi perguruan tinggi merupakan penyelenggara pendidikan akademik bagi mahasiswa yang diharapkan dapat menyelenggarakan pendidikan yang berkualitas untuk menghasilkan sumberdaya manusia yang berilmu, cakap dan kreatif untuk mendukung tercapainya pembangunan nasional. Pendidikan dikatakan berhasil apabila telah memenuhi tujuan pendidikan nasional dan proses belajar mengajar yang dilaksanakan secara efektif dan efisien. Keberhasilan atau prestasi belajar mahasiswa sering dilihat sebagai kesuksesan dan keunggulan pihak institusi perguruan tinggi. Sebaliknya, kegagalan atau rendahnya kualitas mahasiswa dilihat sebagai ketidakmampuan pihak institusi dalam menyelenggarakan proses pendidikan (Nurhayati, Kusrini & Luthfi, 2015).
Dengan kata lain, mahasiswa menjadi salah satu aspek yang mempengaruhi mutu dan citra dari institusi perguruan tinggi dalam meningkatkan kualitas pendidikan di Indonesia. Sehingga sangat diperlukan pengembangan kualitas mahasiswa.
Kualitas mahasiswa dapat dilihat melalui prestasi yang didapatkan mahasiswa. IP atau indeks prestasi merupakan ukuran penilaian berdasarkan rata- rata dari nilai mata kuliah yang diambil untuk mengetahui tingkat keberhasilan mahasiswa dalam mengikuti program pembelajaran. Jika terdapat banyak mahasiswa yang memiliki nilai indeks prestasi rendah, secara tidak langsung hal tersebut dapat mempengaruhi mutu institusi perguruan tinggi, karena pihak institusi akan dianggap gagal dalam membimbing proses pendidikan mahasiswa.
Berdasarkan penjelasan tersebut, perlu dilakukan penelitian terkait prediksi mahasiswa berprestasi rendah untuk mendapatkan sebuah alat yang menyediakan informasi yang dapat membantu pihak institusi perguruan tinggi dalam upaya membimbing mahasiswa yang memiliki prestasi rendah. Sehingga baik mutu institusi perguruan tinggi dan mutu mahasiswa dapat ditingkatkan.
2
Salah satu teknik yang dapat dipergunakan untuk memprediksi prestasi mahasiswa adalah data mining. Data Mining merupakan proses semi otomatik yang menggunakan teknik statistik, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifiksi informasi pengetahuan potensial dan berguna yang tersimpan di dalam database besar (Turban et. al, 2005). Dalam penelitian ini, data mining akan diaplikasikan untuk memprediksi mahasiswa berprestasi rendah berdasarkan data nilai mahasiswa.
Beberapa metode/model data mining yang umum digunakan dalam klasifikasi atau prediksi adalah metode Support Vector Machine dan Adaboost.
Support Vector Machine bekerja menggunakan prinsip Structural Risk Minimazattion (SRM) dengan cara menemukan hyperplane terbaik yang memisahkan dua kelas pada ruang input (Nugroho et. al, 2003). Sedangkan Adaboost merupakan metode pengklasifikasian yang digunakan untuk meningkatkan kinerja algoritma pengklasifikasian lain yang lebih sederhana (Bisri, 2015).
Kedua metode ini sudah banyak digunakan dalam penelitian dan terbukti mampu menyelesaikan masalah klasifikasi dengan baik. Berdasarkan hal tersebut, peneliti melakukan penelitian dengan membandingkan tingkat akurasi metode Support Vector Machine dan Adaboost untuk memprediksi mahasiswa berprestasi rendah. Mahasiswa dikategorikan memiliki prestasi rendah apabila mahasiswa tersebut memiliki predikat nilai D lebih dari 15% dari total SKS yang diambil dan IPK lebih rendah dari 2.00 (Universitas Sanata Dharma, 2018).
1.2. Rumusan Masalah
Berdasarkan latar belakang masalah, maka rumusan masalah yang didapatkan pada penelitian ini adalah:
1. Bagaimana memprediksi mahasiswa berprestasi rendah dengan menggunakan metode Support Vector Machine dan Adaboost?.
3
2. Bagaimana perbandingan tingkat akurasi Support Vector Machine dan Adaboost dalam memprediksi mahasiswa berprestasi rendah?.
1.3. Tujuan
Berdasarkan rumusan masalah di atas, maka tujuan yang akan dicapai dalam penelitian ini adalah:
1. Menerapkan metode Support Vector Machine dan Adaboost untuk memprediksi mahasiswa berprestasi rendah
2. Membandingkan akurasi metode Support Vector Machine dan Adaboost dalam memprediksi mahasiswa berprestasi rendah.
1.4. Batasan Masalah
Untuk menghindari terjadinya penyimpangan dari judul penelitian, maka diberikan batasan masalah untuk mencapai tujuan penelitian, yaitu :
1. Data yang digunakan dalam penelitian merupakan data mahasiswa Universitas Sanata Dharma Fakultas Sains dan Teknologi angkatan 2014 sampai 2018.
2. Data yang digunakan adalah data nilai masuk, IPS, dan SKS hingga semester 4 sesuai dengan aturan akademik program Sarjana Universitas Sanata Dharma mengenai predikat kelulusan program sarjana dan sisip program.
3. Mahasiswa berprestasi rendah ialah mahasiswa yang memiliki nilai predikat D melebihi 15% dari total SKS yang telah diambil dan memiliki IPK lebih rendah dari 2.00 (Universitas Sanata Dharma, 2018).
1.5. Manfaat Penelitian
Manfaat yang didapatkan dari penelitian ini : Bagi Akademik
4
Hasil penelitian ini dapat dipergunakan untuk membangun model sistem pendukung pengambilan keputusan bagi perguruan tinggi dan Dosen Pembibing Akademik dalam membimbing mahasiswa yang memiliki memiliki prestasi rendah, dalam rangka menjaga dan meningkatkan mutu atau kualitas dari institusi perguruan tunggi.
Bagi Pembaca
Manfaat yang diperoleh untuk pembaca melalui penelitian ini adalah sebagai salah satu sumber referensi dan pengetahuan dalam melakukan penelitian maupun pengembangan menggunakan metode Support Vector machine dan Adaboost.
1.6. Sistematika Penulisan
Sistematika penulisan pada penelitian ini dibagi menjadi 5 bab, antaralain : 1. BAB I PENDAHULUAN
Pada bab ini menjelaskan latar belakang, rumusan masalah, tujuan, manfaat, batasan masalah, dan sistematika penulisan yang akan dilakukan.
2. BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
Bab ini berisi mengenai tinjauan penelitian terkait, serta teori-teori yang akan digunakan sebagai dasar penelitian klasifikasi dan prediksi menggunakan metode Support Vector Machine dan Adaboost.
3. BAB III METODOLOGI PENELITIAN
Bab ini berisi tentang gambaran umum penelitian, data yang digunakan, tahap-tahap penelitian, rancangan, pengujian, serta desain alat uji.
4. BAB IV IMPLEMENTASI DAN ANALIS HASIL
5
Pada bab ini berisi tahap-tahap yang berkaitan dengan implementasi metode SVM dan Adaboost, pengujian, eksperimen yang dilakukan serta analisisnya.
5. BAB V PENUTUP
Pada bab ini akan dijelaskan kesimpulan yang diperoleh dari penelitian yang telah dilakukan serta saran yang berguna untuk penelitian selanjutnya.
6 BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1. Tinjauan Pustaka
Terdapat banyak penelitian terkait penggunaan metode Support Vector Machine dan Adaboost yang telah dilakukan. Seperti penelitian yang dilakukan oleh Defri Kurniawan (2013) dalam penilaian resiko kredit, dimana didapatkan hasil akurasi terbaik sebesar 86.09% dengan menggunakan model klasifikasi Adaboost-SVM. Listiana & Muslim (2017) melakukan penelitian untuk meningkatkan akurasi SVM menggunakan Adaboost pada klasifikasi diagnosa chronic kidney disease. Penelitian ini mengasilkan akurasi terbaik sebesar 99,5%
pada pengingkatan akurasi SVM menggunakan Adaboost.
Selain itu penelitian terkait prestasi mahasiswa juga sudah dilakukan oleh Mulyati & Setiyani (2018) dengan menggunakan metode Naive Bayes yang menghasilkan akurasi sebesar 82,57% dengan menggunakan 5 atribut dan 63 data.
Asogbon, et. al (2016) juga melakukan prediksi kinerja akademik siswa menggunakan multi-class SVM yang menghasilkan akurasi terbaik sebesar 72,25% pada percobaan cross validation.
2.2. Landasan Teori
Pada sub bab ini akan dijelaskan secara singkat mengenai teori-teori yang akan digunakan dalam penelitian, antara lain, klasifikasi, SMOTE, Support Vector Machine, Adaboost, k-fold cross validation, Min-Max Normalization, dan confusion matrix.
2.2.1. Klasifikasi
Klasifikasi merupakan sebuah metode untuk mengelompokan data sesuai dengan karakteristik atau ciri yang sama. Hal ini sejalan dengan pengertian klasifikasi menurut Kamus Besar Bahasa Indonesia (KBBI) yang menyatakan
7
bahwa klasifikasi merupakan penyusunan bersistem dalam kelompok atau golongan menurut kaidah atau standar yang ditetapkan. Hamakonda & Tairas (1991) juga berpendapat bahwa klasifikasi merupakan pengelompokan yang sistematis dari obyek, gagasan, buku atau benda-benda lain ke dalam kelas atau golongan tertentu berdasarkan ciri-ciri yang sama.
Klasifikasi data dilakukan melalui 2 langkah proses. Langkah pertama adalah pembuatan model, dimana algoritma pengklasifikasian dibuat untuk menganalisa data training dan direpresentasikan dalam bentuk rule klasifikasi. Langkah ke dua adalah penggunaan model, dimana algoritma klasifikasi akan digunakan pada data testing untuk memperkirakan akurasi dari rule klasifikasi (Kamber & Han, 2006).
Dalam klasifikasi terkadang dapat ditemui permasalahan mengenai ketidakseimbangan data (imbalance). Data tidak seimbang (imbalance) merupakan kondisi dimana distribusi kelas data tidak seimbang, jumlah kelas data (instance) yang satu lebih sedikit atau lebih banyak dibandingkan dengan jumlah kelas lainnya. Kelompok kelas data yang lebih sedikit dikenal dengan kelompok minoritas (minority), kelompok kelas data yang lainnya disebut dengan kelompok mayoritas (mayority). Kondisi ini akan menyulitkan metode klasifikasi dalam melakukan fungsi generalisasi pada proses machine learning karena beberapa model klasifikasi tidak dilengkapi kemampuan untuk menangani masalah ketidak seimbangan kelas (Siringoringo, 2018).
Untuk mengatasi hal tersebut salah satu solusi yang dapat diterapkan adalah dengan melakukan teknik penyeimbangkan data (balancing).
2.2.2.1. Synthetic Minority Over-sampling Technique (SMOTE)
Metode Synthetic Minority Over-sampling Technique (SMOTE) merupakan metode yang populer diterapkan dalam rangka menangani ketidak seimbangan kelas. Teknik ini mensintesis sampel baru dari kelas minoritas untuk menyeimbangkan dataset dengan cara membuat instance
8
baru dari minority class dengan pembentukan convex kombanasi dari instances yang saling berdekatan. metode ini dapat membuat dataset menjadi seimbang tanpa mengalami overfitting, yaitu dengan membuat sample synthetic daripada dengan melakukan duplicate sample (Arwan et. al, 2018).
2.2.2. Support Vector Machine
Support Vector Machine merupakan sebuah algoritma yang dapat digunakan untuk prediksi, baik dalam kasus pengklasifikasian maupun regresi. Algoritma ini sudah banyak digunakan oleh peneliti untuk menyelesaikan berbagai masalah dalam banyak bidang kehidupan. Baik dalam bidang pendidikan, kesehatan, finansial, dan lain-lain.
Gambar 2. 1 Hyperplane yang memisahkan 2 kelas positif dan kelas negatif. Sumber: Nugroho dkk (2015).
Secara teori, Support Vector Machine dikembangkan untuk masalah klasifikasi dengan dua kelas sebagai usaha mencari hyperplane terbaik.
Hyperplane merupakan fungsi pemisah antara dua kelas pada input space (Vapnik, 1992). Pada gambar 2.1 diperlihatkan terdapat beberapa data yang merupakan anggota dari 2 kelas yaitu kelas positif (+1) dan kelas negatif (- 1). Proses pembelajaran klasifikasi dilakuakan untuk menemukan garis yang
9
memisahkan dua kelas tersebut. Pada gambar juga diperlihatkan terdapat beberapa data yang berada pada garis hyperplane dua kelas. Garis putus yang terdapat pada gambar menunjukan hyperplane terbaik, yang terletak tepat di tengah-tengah ke dua kelas, sementara garis transparan pada gambar menunjukan hasil support vector. Inti dari analisis ini adalah menemukan hyperplane terbaik yang memisahkan dua kelas dengan meminimalkan kesalahan klasifikasi dan memaksimalkan grafiknya.
Nugroho et. al (2003) mengatakan, data pada Support Vector Machine dinotasikan sebagai 𝑥⃗⃗⃗ ∈ 𝑅𝑖 𝑑, sedangkan masing masing label kelas dinotasikan dengan 𝑦𝑖 ∈ {−1,1} untuk i = 1, 2, ..., n dimana n merupakan banyaknya data. Jika diasumsikan kedua kelas -1 dan 1 terpisah secara sempurna oleh hyperplane berdimensi d, yang didefinisikan dengan
𝑦𝑖(𝑤⃗⃗ ∙ 𝑥⃗⃗⃗ + 𝑏) ≥ 0 𝑖 (2.1)
Pola 𝑥⃗⃗⃗ yang termasuk kelas 1 dapat diasumsikan menjadi pola yang 𝑖 memenuhi pertidaksamaan
𝑤⃗⃗ ∙ 𝑥⃗⃗⃗ + 𝑏 ≥ 1 𝑖 (2.2)
Sementara pola 𝑥⃗⃗⃗ yang termasuk kelas -1 dapat diasumsikan menjadi pola 𝑖 yang memenuhi pertidaksamaan
𝑤⃗⃗ ∙ 𝑥⃗⃗⃗ + 𝑏 ≤ −1 𝑖 (2.3)
Jika data dalam kelas -1 (misal 𝑥𝑎) bertempat pada hyperplane, maka kelas -1 akan dinotasikan
𝑤⃗⃗ ∙ 𝑥⃗⃗⃗⃗ + 𝑏 = 0 𝑎 (2.4)
Sementara kelas 1 (misal 𝑥𝑏) akan memenuhi persamaan
𝑤⃗⃗ ∙ 𝑥⃗⃗⃗⃗ + 𝑏 = 0 𝑏 (2.5)
Keterangan : w = vector bobot x = nilai masuk atribut b = bias
10
Dengan mengurangkan persamaan (2.5) dengan persamaan (2.4), maka didapatkan : 𝑥𝑎− 𝑥𝑏 yang merupakan vektor pararel di posisi hyperplane dan diarahkan dari 𝑥𝑎 ke 𝑥𝑏.
Margin terbesar dapat ditemukan dengan cara memaksimalkan nilai jarak antara hyperplane dengan titik terdekatnya, yaitu 1
‖𝑤⃗⃗ ‖. Hal ini dapat dirumuskan sebagai Quadratic Programming (QP) problem, yaitu mencari titik minimal (2.6), dengan memperhatikan nilai persamaan constrain (2.7).
min𝑤⃗⃗ 𝑇(𝑤) = 1
2 ‖𝑤⃗⃗ ‖2 (2.6)
𝑦𝑖(𝑥⃗⃗⃗ ∙ 𝑤𝑖 ⃗⃗ + 𝑏) − 1 ≥ 0, ∀𝑖 (2.7)
Problem ini dapat diselesaikan menggunakan teknik komputasi Lagrange Multiplier.
𝐿𝑑(𝑤⃗⃗ , 𝑏, 𝑎) = 1
2‖𝑤⃗⃗ ‖2− ∑𝑛𝑖=1𝑎𝑖(𝑦𝑖(𝑥⃗⃗⃗ ∙ 𝑤𝑖 ⃗⃗ + 𝑏) − 1)) (2.8)
Dengan 𝑎𝑖 ≥ 0 adalah Largrange Multipliers, nilai optimal dari persamaan tersebut dapat dihitung dengan memaksimalkan nilai n terhadap w dan b, serta memaksimalkan nilai n terhadap 𝑎𝑖. Dengan titik optimal gradient n = 0, maka persamaan (2.8) dapat dimodifikasi dengan memaksimalkan
∑ 𝑎𝑖− 1
2 ∑𝑛𝑖=1𝑎𝑖. 𝑎𝑗. 𝑦𝑖. 𝑦𝑗. 𝑥𝑖. 𝑥𝑗
𝑛𝑖=1 (2.9)
𝑎𝑖 ≥ 0 (𝑖 = 1,2, … 𝑛) ∑𝑛𝑖,𝑖=1𝑎𝑖𝑦𝑖 = 0 (2.10)
Maksimalisasi ini menghasilkan nilai 𝑎𝑖 positif. Data-data yang berhubungan dengan nilai 𝑎𝑖 inilah yang nantinya akan disebut sebagai support vector, dengan fungsi pemisah sebagai berikut.
11
𝑔(𝑥) ≔ 𝑠𝑔𝑛(𝑓(𝑥)) (2.11)
Dengan 𝑓(𝑥) = 𝑤𝑡𝑥 + 𝑏 (2.12)
Pada pembelajarannya, selain dapat menyelesaikan masalah linier SVM juga dapat mengatasi permasalahan non-linier dengan menggunakan fungsi kernel. Dalam fungsi non-linier, SVM pertama kali akan memetakan data x menggunakan fungsi Φ(𝑥⃑) ke ruang vektor dengan dimensi yang tinggi.
Sebagai contoh terdapat sebuah data dua dimensi yang tidak dapat dipisahkan secara linier. Maka, fungsi Φ akan memetakan setiap data ke ruang vektor baru dengan dimensi yang lebih tinggi. Sehingga kedua kelas dapat terpisah secara linier oleh sebuah hyperplane.
Terdapat emapat fungsi kernel yang dapat digunakan dalam proses pengklasifikasian, yaitu :
1. Kernel linier 𝐾(𝑥, 𝑥𝑖) = 𝑥𝑘𝑇𝑥 (2.13) 2. Kernel Polynomial 𝐾(𝑥, 𝑥𝑘) = (𝑥𝑘𝑇𝑥 + 1)𝑑 (2.14) 3. Kernel Gaussian (RBF) 𝐾(𝑥, 𝑥𝑘) = exp{−‖𝑥 − 𝑥𝑘‖22/𝜎2 (2.15) 4. Kernel Sigmoid 𝐾(𝑥, 𝑥𝑘) = tanh[𝑘𝑥𝑘𝑇𝑥 + 𝜃] (2.16)
Fungsi kernel dapat memberi kemudahan karena hanya perlu mengetahui fungsi kernel yang akan dipakai untuk menentukan support vector. Kemudian SVM akan melakukan proses klasifikasi yang diformulasikan dengan
persamaan.
𝑓(𝑥) = ∑𝑛𝑖=1,𝑥𝑖 ∈ 𝑆𝑉𝑎𝑖𝑦𝑖𝐾(𝑥, 𝑥𝑖) + 𝑏 (2.17)
2.2.3. Adaboost
Adaboost merupakan algoritma machine learning yang dirumuskan oleh Yoav Freund dan Robert Schapire pada tahun 1995 (Zulhanif, 2015).
12
Algoritma Adaboost merupakan algoritma klasifikasi kuat yang mengkombinasikan sejumlah model klasifikasi lemah.
Persamaan Adaboost adalah:
𝐹(𝑥) = ∑𝑇𝑡=1∝𝑡 ℎ𝑡(𝑥) (2.18)
Dimana:
ℎ𝑡(𝑥) : Pengklasifikasian dasar atau lemah
∝𝑡 : Tingkat pembelajaran
𝐹(𝑥) : Pengklasifikasian kuat atau hasil 𝑇 : Banyak iterasi
𝑡 : Banyaknya perulangan
Adaboost dapat digunakan dalam berbagai bidang karena dasar teorinya yang kuat, prediksi yang kuat, dan kesederhanaan yang besar. Langakah- langkah algoritma Adaboost (Zhou & Yu, 2009) adalah sebagai berikut:
1. Input: kumpulan sampel penelitian dengan label {(𝑥𝑖, 𝑦𝑖), … , (𝑥𝑛, 𝑦𝑛)}, suatu klasifikasi lemah, jumlah perputaran T.
2. Initialize: bobot amatan 𝑤𝑖1 = 1/𝑁, untuk semua nilai i = 1, ..., N.
3. Do for t=1, ..., T
a. Melatih pembelajaran lemah ℎ𝑡 dari w menggunakan distribusi 𝑤𝑡 ℎ𝑡= 𝐿(𝑤, 𝑤𝑡)
b. Menghitung kesalahan dari ℎ𝑡 ∶ 𝜀𝑡 = 𝑃𝑟𝑥~𝑤𝑡,𝑦𝐼[ℎ𝑡(𝑥𝑖) ≠ 𝑦𝑖 c. If 𝜀𝑡 > 0.5 then break
d. Menetapkan bobot dari ℎ𝑡: ∝𝑡=1
2In (1−𝜀𝑡
𝜀𝑡 ) 𝑤𝑡+1(𝑖) = 𝑤𝑧𝑡
𝑡 × {exp(−∝𝑡) 𝑖𝑓 ℎ𝑡(𝑥𝑖) = 𝑦𝑖 exp(∝𝑡) 𝑖𝑓 ℎ𝑡(𝑖) ≠ 𝑦𝑖
e. Memperbaharui distribusi, dimana Zt adalah faktor normalisasi yang mengaktifkan 𝑤𝑡+1 menjadi distribusi :
13
wt(i)exp (−∝tyiht(xi)) Zt
4. End
5. pengklasifikasian akhir: 𝐻(𝑥) = 𝑠𝑖𝑔𝑛(∑𝑇𝑡=1∝𝑡ℎ𝑡(𝑥)) (2.19)
2.2.4. K-Fold Cross Validation
Merupakan salah satu teknik dari validasi silang yang memecah data menjadi k bagian set data dengan ukuran sama. Penggunaan k-fold cross validation untuk menghilangkan bias pada data. Pelatihan dan pengujian dilakukan sebanyak k kali. Pada percobaan pertama, subset S1 diberlakukan sebagai data pengujian dan subset lainya diberlakukan sebagai data pelatihan, pada percobaan kedua subset S1, S3, ...Sk menjadi data pelatihan dan S2 menjadi data pengujian, dan seterusnya (Tempola dkk, 2018). Gambar 2.1 berikut merupakan contoh cross validation dengan nilai k=3.
Gambar 2. 2 Contoh k-fold cross validation
2.2.5. Confusion Matrix
Menurut Han, et. al confusion matrix merupakan ukuran evaluasi untuk menilai kualitas suatu classifier. Confusion matrix menyatakan jumlah data uji yang diklasifikasikan. Ukuran yang digunakan confusion matrix dalam model klasifikasi adalah akurasi, error rate, recall atau sensitivity, specificity, precision, dan F-score.
14
Pada penelitian ini, confusion matrix akan digunakan untuk mengevaluasi akurasi dan error rate pada pengklasifikasian. Rumus akurasi dan error rate adalah sebagai berikut :
Akurasi = 𝑇𝑃+𝑇𝑁
𝑃+𝑁 (2.20)
Error rate = 𝐹𝑃+𝐹𝑁
𝑃+𝑁 (2.21)
Dimana :
TP = jumlah tuple positif yang dilabeli dengan benar.
TN = jumlah tuple negatif yang dilabeli dengan benar.
FP = jumlah tuple negatif yang salah dilabeli.
FN = jumlah tuple positif yang salah dilabeli.
Tabel 2. 1 Confusion Matrix
Ya Tidak Jumlah
Kelas aktual Ya TP FN P
Tidak FP TN N
Jumlah P’ N’ P + N
TP dan TN menyatakan bahwa classifier mengenali tuple dengan benar, yang berarti tuple negatif dikenal sebagai negatif dan tuple positif dikenal sebagai positif. Sedangkan FP dan FN menyatakan bahwa classifier salah mengenali tuple, tuple negatif dikenal sebagai positif dan tuple positif dikenal sebagai tuple negatif. P’menyatakan jumlah tuple positif dan N’ menyatakan jumlah tuple negatif (Suyanto, 2019).
15 2.2.6. Min-Max Normalization
Tujuan dilakukannya normalisasi adalah untuk memberikat bobot yang sama antara tiap data dalam suatu atribut. Jika bobot tiap data memiliki rentang nilai yang terlampau jauh, proses klasifikasi akan terganggu dan tingkat akurasi menurun. Berikut adalah rumus normalisasi min-max:
𝑉𝑖 = 𝑥−min (𝑥)
max(𝑥)−min (𝑥) (𝑛𝑒𝑤_𝑚𝑎𝑥𝐴− 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴) + 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴 (2.22) Dimana:
Vi : normalisasi
X : data yang akan dinormalisasi Min(x) : jumlah minimum data
Max(x) : jumlah maksimum data 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴 : jarak minimum data 𝑛𝑒𝑤_𝑚𝑎𝑥𝐴 : jarak maksimum data
16 BAB III
METODOLOGI PENELITIAN
3.1. Gambaran Umum Penelitian
Pada penelitian ini model klasifikasi Support Vector Machine dan Adaboost akan digunakan untuk mengklasifikasikan data mahasiswa Universitas Sanata Dharma Fakultas Sains dan Teknologi angkatan 2014-2018. Hasil pengklasifikasian selanjutnya akan dibandingkan untuk mencari model mana yang lebih baik berdasarkan tingkat akurasi yang diperoleh.
Gambar 3. 1 Diagram Alur Penelitian
Pada gambar 3.1. digambarkan diagram alur penelitian yang dilakukan sekaligus sebagai gambaran mekanisme kerja alat uji dalam penelitian ini. Berikut merupakan penjelasan dari tiap tahapan pada gambar 3.1. :
1. Membaca data mahasiswa.
2. Melakukan proses preprocessing pada data. Proses preprocessing tersebut antara lain adalah data cleaning, data selection dan data transformation.
3. Melakukan perankingan atribut menggunakan information gain.
4. Melakukan balancing menggunakan SMOTE untuk menyeimbangkan jumlah kelas pada data.
17
5. Setelah dilakukan balancing maka akan didapatkan dataset yang akan dibagi menjadi data training dan testing menggunakan k-fold cross validation untuk digunkan pada proses selanjutnya.
6. Membuat model pengklasifikasian SVM dan Adaboost menggunakan data training.
7. Menguji model klasifikasi dengan menghitung hasil akurasi pemodelan SVM dan Adaboost menggunakan data testing.
8. Setelah hasil akurasi kedua model didapatkan, dilakukan perbandingan akurasi keduanya untuk mendapatkan akurasi yang lebih baik.
3.2. Pengambilan Data
Data yang digunakan adalah data nilai mahasiswa Fakultas Sains dan Teknologi Universitas Sanata Dharma angkatan 2014-2018 yang didapatkan melalui BAPSI Universitas Sanata Dharma. Data yang digunakan terdiri dari 1109 data dan 18 atribut yang digunakan sebagai input dalam pengklasifikasian. Pada data sebelumnya belum terdapat label yang mendukung proses klasifikasi, sehingga perlu ditambahkan label kelas rendah dan tidak rendah pada data dengan memanfaatkan atribut SKS4, IPS4, IPK_SAMPAI_SMT_4 dan J_DEF_SMT_4_SKS, sesuai dengan ketentuan Universitas Sanata Dharma.
Berikut merupakan tabel penjelasan atribut dan gamabr sampel data nilai mahasiswa yang digunakan.
Tabel 3. 1 Penejelasan Atribut
No. Atribut Penjelasan
1. Prodi Program studi Fakultas Sains dan Teknologi Universitas Sanata Dharma.
Program Studi tersebut terdiri dari Teknik Mesin, Teknik Elektro,
18
Informatika, Matematika.
2. Angkatan Tahun masuk menjadi mahasiswa aktif Universitas Sanata Dharma.
3. Penalaran Verbal Nilai pemahaman mengenai suatu struktus tulisan dengan penalaran secara umum.
4. Kemampuan Numerik Nilai kemampuan intelektual dalam operasi perhitunga
5. Penalaran Mekanik Nilai pemahaman konsep-konsep mekanis dan pemecahan masalah mekanis.
6. Hubungan Ruang Nilai hasil pengamatan dan penilaian secara subjektif.
7. Bahasa inggris Nilai kemampuan dalam berbahasa Inggris.
8. SKS1 jumlah SKS yang diambil mahasiswa
pada semester 1
9. IPS1 Indeks Prestasi mahasiswa pada semester 1
10. SKS2 jumlah SKS yang diambil mahasiswa
pada semester 2
11. IPS2 Indeks Prestasi mahasiswa pada semester 2
12. SKS3 jumlah SKS yang diambil mahasiswa
pada semester 3
13. IPS3 Indeks Prestasi mahasiswa pada semester 3
14. SKS4 jumlah SKS yang diambil mahasiswa
pada semester 4
15. IPS4 Indeks Prestasi mahasiswa pada semester
19 4
16. IPK_SAMPAI_SMT_4 Indeks Prestasi Kumulatif mahasiswa dari semester 1-4
17. J_DEF_SMT_4_SKS jumlah SKS yang gagal dengan nilai D, E, dan F pada semester 1-4
18. STATUS status mahasiswa yang memiliki prestasi rendah dan tidak rendah.
Gambar 3. 2 Contoh data yang sudah diberi label
Gambar 3. 3 Contoh data yang sudah diberi label (lanjutan)
3.3. Data Preprocessing
Pada tahap ini data akan melalui proses preprocessing yang meliputi data cleaning, data selection dan data transformation.
20 3.3.1. Data Cleaning
Tahap ini dilakukan untuk membersihkan data dari noise atau missing value yang dapat mengganggu proses klasifikasi. Terdapat kondisi dalam melakukan pembersihan data, dimana jika dalam data tersebut mahasiswa tidak memiliki nilai IPS1 (Indeks Prestasi Semester 1) maka data tersebut akan dihilangkan karena mahasiswa dianggap membatalkan pilihannya untuk masuk prodi tersebut. Sementara jika mahasiswa sudah memiliki nilai IPS1 namun jumlah SKS dan nilai IPS pada semester selanjutnya merupakan missing value, maka data tersebut akan diisi dengan nilai 0. Hal ini dilakukan untuk menjaga keutuhan data sehingga pengklasifikasian dapat lebih akurat. Setelah dilakukan pembersihan, data yang semula berjumlah 1109 berkurang menjadi 1063 data. Gambar 3.4 dan 3.5 berikut ini menunjukkan penggalan data sebelum dan sesudah pembersihan data.
Gambar 3. 4 Data sebelum dilakukan pembersihan
21
Gambar 3. 5 Data setelah dilakukan pembersihan
3.3.2. Selection
Tahap ini dilakukan untuk memilah atribut dan kelas yang akan digunakan. Pemilihan atribut didasarkan kepada keterikatan penilaian predikat kelulusan sesuai dengan pedoman Universitas Sanata Dharma.
Dengan mengikuti pedoman predikat kelulusan Universitas Sanata Dharma, didapatkan 16 atribut (PenalaranVerbal, KemapuanNumerik, PenalaranMekanik, HubunganRuang, BahasaInggris, SKS1, SKS2, SKS3, SKS4, IPS1, IPS2, IPS3, IPS4, IPK_SAMPAI_SMT_4, J_DEF_SMT_4_SKS dan STATUS) yang dapat digunakan dalam penelitian ini. Namun, dari 16 atribut tersebut hanya 12 atribut yang akan digunakan untuk memprediksi mahasiswa berprestasi rendah, atribut tersebut antaralain PenalaranVerbal, KemapuanNumerik, PenalaranMekanik, HubunganRuang, BahasaInggris, SKS1, SKS2, SKS3, IPS1, IPS2, IPS3, dan STATUS. Hal ini dilakukan karena atribut SKS4, IPS 4, IPK_SAMPAI_SMT_4 dan J_DEF_SMT_4_SKS digunakan untuk membuat label kelas, sehingga tidak dapat digunakan sebagai acuan dalam klasifkasi.
22 3.3.3. Data Transformation
Tranformasi data pada penelitian ini dilakukan dengan dua cara.
Pertama, dilakukan tranformasi data pada label kelas dengan mengubah kolom STATUS menjadi numerik agar dapat dilakukan proses klasifikasi.
Transformasi yang dilakukan adalah sebagai berikut :
TIDAK RENDAH = 1
RENDAH = 0
Kedua, transformasi yang dilakukan adalah dengan menormalisasi data agar setiap atribut memiliki bobot yang sama sehingga tidak ada salah satu nilai atribut yang mendominasi dan mencegah data menjadi bias.
Proses normalisasi dilakukan dengan metode min-max normalization, dimana metode ini akan mentransformasi data bedasarkan nilai maksimum dan nilai minimum dari tiap atribut dataset. Berikut adalah contoh kerja min-max normalization pada sampel data yang terdapat dalam Tabel 3.2.
Tabel 3. 2 Sampel Data Sebelum Transformasi
No. IPS2 SKS2 STATUS
1 2.27 20 1
2 3.06 20 1
3 2.04 24 0
4 2.29 20 0
5 0.67 20 0
6 1.56 20 0
7 2.19 24 0
8 2.24 20 1
9 2.98 20 1
10 1.92 24 0
23
Berdasarkan Tabel 3.2 dapat diketahui nilai maksimum dan minimum dari sempel data yang selanjutnya dapat diaplikasikan pada persamaan (2.22) untuk mendapatkan hasil normalisasi nilai data.
Tabel 3. 3 Nilai Maksimum dan Minimum Sampel Data
IPS2 SKS2
Nilai max 3.06 24
Nilai min 0.67 20
Normalisasi atribut J_DEF_SMT_4_SKS
Pada baris pertama dengan x = 9 𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke dua dengan x = 2
𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke tiga dengan x = 3 𝑉𝑖 = 24 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 1
Pada baris ke empat dengan x = 15
24 𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke lima dengan x = 61 𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke enam dengan x = 42 𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke tujuh dengan x = 13 𝑉𝑖 = 24 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 1
Pada baris ke delapan dengan x = 14 𝑉𝑖 = 20 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 0
Pada baris ke sembilan dengan x = 2
𝑉𝑖 = 20 − 20
24 − 2 (1 − 0) + 0
25 𝑉𝑖 = 0
Pada baris ke sepuluh dengan x = 23 𝑉𝑖 = 24 − 20
24 − 20 (1 − 0) + 0
𝑉𝑖 = 1
Hasil normalisasi sampel data dalam Tabel 3.2 tersaji dalam Tabel 3.4 berikut ini.
Tabel 3. 4 Sampel Data Hasil Normalisasi
No. IPS2 SKS2 STATUS
1 0.669456 0 1
2 1 0 1
3 0.573222 1 0
4 0.677824 0 0
5 0 0 0
6 0.372385 0 0
7 0.635983 1 0
8 0.656904 0 1
9 0.966527 0 1
10 0.523013 1 0
3.4. Metode dan Pemodelan
Dalam penelitian ini model klasifikasi Support Vector Machine dan Adaboost akan diterapkan untuk membandingkan hasil akurasinya. Oleh karena
26
itu, dilakukan pemodelan model klasifikasi Support Vector Machine dan Adaboost untuk mengetahui hasil akurasi kedua model tersebut.
3.4.1. Pemodelan Support Vector Machine
Pada model klasifikasi SVM akan ditentukan nilai weight (w) dan bias (b) dari data menggunakan fungsi persamaan g(x) = sgn(f(x)), fungsi sgn digunakan untuk mengelompokan semua nilai diatas 0 menjadi +1 dan semua nilai dibawah 0 menjadi -1, sehingga didapatkan fungsi hyperplane yang memisahkan dua macam objek. Tabel 3.5 menunjukkan sampel data training, sedangkan Tabel 3.6 menunjukkan sampel data testing.
Tabel 3. 5 Sampel Data Training
No. IPS2 SKS2 STATUS
1 0.669456 0 1
2 1 0 1
3 0.573222 1 0
4 0.677824 0 0
5 0 0 0
6 0.372385 0 0
Tabel 3. 6 Sampel Data Testing
No. IPS2 SKS2 STATUS
1 0.635983 1 0
2 0.656904 0 1
3 0.966527 0 1
4 0.523013 1 0
27
Pada Tabel 3.5. dan 3.6. terlihat bahwa sampel data memiliku 2 fitur (IPS2 dan SKS2), maka nilai weight juga memiliki 2 fitur (w1 dan w2) sehingga pada pemodelan Support Vector Machine didapatkan persamaan sebagai berikut.
min𝑤⃗⃗ 𝑇(𝑤) = 1 2 ‖𝑤⃗⃗ ‖2
dengan syarat ∶ 𝑦𝑖(𝑤⃗⃗ ∙ 𝑥⃗⃗⃗ + 𝑏) ≥ 1 𝑖
(1) (0.67𝑤1+ 𝑏) ≥ 1, untuk y = 1; x1 = 0.67; dan x2 = 0.11 (2) (𝑤1+ 𝑏) ≥ 1, untuk y = 1; x1 = 1; dan x2 = 0
(3) (−0.57𝑤1− 𝑤2− 𝑏) ≥ 1, untuk y = 0; x1 = 0.57; dan x2 = 0.35 (4) (−0.67𝑤1− 𝑏) ≥ 1, untuk y = 0; x1 = 0.67; dan x2 = 0.22 (5) (−𝑤2− 𝑏) ≥ 1, untuk y = 0; x1 = 0; dan x2 = 01
(6) (−0.37𝑤1− 𝑏) ≥ 1, untuk y = 0; x1 = 0.37; dan x2 = 0.67
Melalui persamaan yang didapat, selanjutnya akan dicari nilai w dan b melalui eliminasi sebagai berikut.
(0.67𝑤1+ 𝑏) ≥ 1 (−0.37𝑤1− 𝑏) ≥ 1
0.3𝑤1 = 2 𝑤1 = 6.66
+
Selanjutnya akan dicari nilai w dan b sebagai berikut.
(𝑤1+ 𝑏) ≥ 1 (6.66 + 𝑏) ≥ 1 𝑏 = 1 − 6.66 𝑏 = −5.66
Selanjutnya akan dicari nilai w dan b sebagai berikut.
(−𝑤2− 𝑏) ≥ 1
28 𝑤2 = 1 − 5.66
𝑤2 = −4.66
Melalui eliminasi persamaan tersebut maka didapatkan persamaan hyperplane Support Vector Machine sebagai berikut :
𝑤1𝑥1+ 𝑤2𝑥2+ 𝑏 = 0 6.66𝑥1 − 4.66𝑥2− 5.66 = 0
Dengan menggunakan fungsi persamaan hyperplane f(x) = 6.66x1− 4.66x2 − 5.66 = 0 dengan g(x) = sgn(f(x)).
Didapatkan hyperplane yang dapat digunakan dalam pengklasifikasian data uji testing. Pengunaan hyperplane pada data dapat dilihat pada Tabel 3.7.
Tabel 3. 7 Pengujian Data Testing
no data uji Klasifikasi
X1 X2 y f(x) = sign(x1-x2-x3)
1 0.635983 0.186441 0 Sign(-2.3) = 0 2 0.656904 0.20339 1 Sign(-2.26) = 0
3 0.966527 0 1 Sign(0.73)= 1
4 0.523013 0.355932 0 Sign(-3.82) = 0
Melalui Tabel 3.7 dapat diketahui hasil klasifikasi data sampel dengan atribut IPS2 dan SKS2 terdapat 1 data yang salah diklasifikasikan, yaitu data pada baris 2. Menggunakan confusion matrix maka didapatkan akurasi sebesar :
29
Tabel 3. 8 Tabel Confusion Matrix
Tidak Rendah Rendah Jumlah
Kelas aktual Tidak Rendah 1 0 P
Rendah 1 2 N
Jumlah 2 2 P + N
Akurasi = 𝑇𝑃+𝑇𝑁
𝑃+𝑁
Akurasi = 1+2
4 = 0.75
3.4.2. Pemodelan Adaboost
Pada model klasifikasi Adaboost, klasifikasi dilakukan dengan cara menggabungkan pengklasifikasian lemah berdasarkan pohon keputusan tingkat 1 untuk mendapatkan model klasifikasi yang kuat. Dalam penelitian ini, SVM akan digunakan sebagai base estimator atau model klasifikasi lemah yang nantinya akan digunakan dalam melatih model klasifikasi Adaboost. Berikut merupakan langkah-langkah klasifikasi Adaboost secara matematis.
Tabel 3. 9 Sampel Data Adaboost
No. IPS2 SKS2 STATUS
1 0.669456 0 1
2 1 0 1
3 0.573222 1 0
4 0.677824 0 0
5 0 0 0
6 0.372385 0 0
7 0.635983 1 0
30
8 0.656904 0 1
9 0.966527 0 1
10 0.523013 1 0
Langkah pertama adalah dengan memberikan bobot amatan pada sampel data dengan persamaan wi1 = 1/N, untuk semua i = 1, 2, ...., N.
Sehingga didapatkan Tabel data sampel sebagai berikut.
Tabel 3. 10 Penambahan Bobot Amatan Pada Sampel Data No
. IPS2 SKS2 STATUS Bobot
Amatan
1 0.669456 0 1 1/10
2 1 0 1 1/10
3 0.573222 1 0 1/10
4 0.677824 0 0 1/10
5 0 0 0 1/10
6 0.372385 0 0 1/10
7 0.635983 1 0 1/10
8 0.656904 0 1 1/10
9 0.966527 0 1 1/10
10 0.523013 1 0 1/10
Dari Tabel 3.10. didapatkan nilai T berdasarkan transisi klasifikasi pada sampel data yaitu diantaranya pada data ke-3 dan ke-4, data ke-6 dan ke-7,dan data ke-9 dan ke-10. Sehingga didapatkan nilai T 3,5; 6,5; dan 9,5. Nilai T yang didapatkan selanjutnya akan digunakan untuk mencari error rate.
Pada nilai T = 3,5 semua data yang lebih kecil dari 3,5 akan dilkasifikasikan sebagai 0 dan semua data yang lebih besar dari 3,5 akan diklasifikasikan sebagai 1. Dari Tabel 3.11 diketahui bahwa data 3, 4, 5, 6, 8 dan 9 salah diklasifikasikan sehingga pada nilai T = 3,5 didapatkan error rate sebesar 0,6.
31
Tabel 3. 11 Error Rate Dengan T = 3,5 No
. IPS2 SKS2 STATUS Bobot
Amatan
1 0.669456 0 0 1/10
2 1 0 0 1/10
3 0.573222 1 0 1/10
4 0.677824 0 1 1/10
5 0 0 1 1/10
6 0.372385 0 1 1/10
7 0.635983 1 1 1/10
8 0.656904 0 1 1/10
9 0.966527 0 1 1/10
10 0.523013 1 1 1/10
Pada nilai T = 6,5 semua data yang lebih kecil dari 6,5 akan dilkasifikasikan sebagai 0 dan semua data yang lebih besar dari 6,5 akan diklasifikasikan sebagai 1. Melalui hasil perhitungan diketahui bahwa data 3, 8 dan 9 salah diklasifikasikan sehingga pada nilai T = 6,5 didapatkan error rate sebesar 0,3.
Pada nilai T = 9,5 semua data yang lebih kecil dari 9,5 akan dilkasifikasikan sebagai 0 dan semua data yang lebih besar dari 9,5 akan diklasifikasikan sebagai 1. Melalui hasil perhitungan diketahui bahwa data 3 dan 7 salah diklasifikasikan sehingga pada nilai T = 9,5 didapatkan error rate sebesar 0,2.
Melalui hasil perhitungan error rate, maka akan dipilih nilai error rate terendah yaitu 0,2. Nilai error rate selanjutnya akan digunakan untuk menghitung nilai bobot amatan baru. Perhitungan nilai bobot amatan baru dapat dilihat sebagai berikut.
32 𝑤𝑡+1(𝑖) = 𝑤𝑡
𝑧𝑡 × {exp(−∝𝑡) 𝑖𝑓 ℎ𝑡(𝑥𝑖) = 𝑦𝑖 exp(∝𝑡) 𝑖𝑓 ℎ𝑡(𝑖) ≠ 𝑦𝑖 ℎ1 = 𝐼(𝑥 < 9,5)
𝜀2 = 0,2
∝1= 1
2 ln(1−0,20,2 ) = 0,69
𝑐𝑥= {𝑒−0,69 = 0.5 𝑢𝑛𝑡𝑢𝑘 𝑛𝑖𝑙𝑎𝑖 𝑇𝑟𝑢𝑒 𝑒0,69= 1,99 𝑢𝑛𝑡𝑢𝑘 𝑛𝑖𝑙𝑎𝑖 𝐹𝑎𝑙𝑠𝑒
setelah bobot amatan baru (cx) didapatkan maka akan dilakukan pembaharuan pada data sampel seperti pada Tabel 3.12.
Tabel 3. 12 Menambahkan Bobot Amatan Baru No
. IPS2 SKS2 STAT
US
Bobot lama
Pre- norm
Bobot baru
1 0.669456 0 1 1/10 0,19 0,07
2 1 0 1 1/10 0,19 0,07
3 0.573222 1 0 1/10 0,05 0,02
4 0.677824 0 0 1/10 0,19 0,07
5 0 0 0 1/10 0,19 0,07
6 0.372385 0 0 1/10 0,19 0,07
7 0.635983 1 0 1/10 0,05 0,02
8 0.656904 0 1 1/10 0,19 0,07
9 0.966527 0 1 1/10 0,19 0,07
10 0.523013 1 0 1/10 0,19 0,07
𝑓(𝑥) = 0,69 ( 𝑥 < 9,5), 2 𝑒𝑟𝑟𝑜𝑟
Langkah kedua, proses akan terus berulang hingga tidak ditemukan error pada f(x), proses perulangan bergantung pada berapa n estimator yang dgunakan pada Adaboost. Nilai ∝ yang didapatkan akan digunakan
33
sebagai keputusan akhir dalam pengklasifikasian Adaboost. Dikarenakan dalam perhitungan manual hanya dilakukan satu kali klasifikasi Adaboost, maka dapatkan akurasi yang dapat dilihat pada Tabel 3.13 berikut.
Tabel 3. 13 Tabel Confusion Matrix
Tidak Rendah Rendah Jumlah
Kelas aktual Tidak Redah 4 2 P
Rendah 0 4 N
Jumlah 4 6 P + N
Akurasi = 𝑇𝑃+𝑇𝑁
𝑃+𝑁
Akurasi = 4+4
10 = 0.8
3.5. Rancangan Pengujian
Proses pengujian pada penelitan ini dilakukan melalui beberapa variasi, diantaranya :
1. Variasi atribut berdasarkan perangkingan menggunakan information gain dengan cara menghapus satu persatu atribut terburuk hingga terbaik.
2. Variasi penggunaan data sebelum dan sesudah balancing menggunakan metode SMOTE.
3. Variasi penggunaan nilai k pada k-fold cross validation untuk mengurangi bias pada pengklasifikasian. Nilai k yang digunakan adalah 3, 5 dan 10.
4. Variasi penggunaan nilai C pada Support Vector Machine untuk mencari margin terbaik yang dapat meminimalkan error pada pengklasifikasian data. Variasi yang digunakan adalah sebesar 0,01; 0,1; 10.
34
5. Variasi penggunaan kernel pada Support Vector Machine untuk mencari kernel yang tepat dalam pengklasifikasian. Kernel yang digunakan dalam penelitian adalah kernel polynomial, linear dan RBF.
3.6. Kebutuhan Sistem
3.6.1. Perangkat Keras
Perangkat Laptop/ PC dibutuhkan dalam menunjang pembuatan sistem ini, adapun spesifikasi yang diperlukan dalam penelitian ini antara lain :
Tabel 3. 14 Spesifikasi Perangkat Keras
Model Asus A456U
Platform Notebook-PC
Hard Disk Drive 1 TB
Graphic Processor Unit Intel HD Graphics 620 dan NVIDIA GeForce GT930MX 2GB
Operating System Microsoft Windows 10 Home
Memory 4 GB
3.6.2. Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian ini adalah Microsoft Excel, PyQt5 untuk membuat desain interface dan Spyder (anaconda3) untuk membuat dan menjalankan sistem.
3.7. Desain Antarmuka Pengguna
Gamabar 3.6 merupakan desain antarmuka yang akan digunakan dalam pengklasifikasian data mahasiswa berprestasi rendah. terdapat 2 panel yang digunakan, yaitu panel proses data dan panel uji data tunggal dan prediksi. Dalam panel proses data terdapat tombol upload yang berfungsi untuk memasukan data
35
yang akan digunakan ke dalam Tabel data, tombol split digunakan untuk membagi data, yang juga digunakan untuk membuat model klasifikasi dengan menggunakan Support Vector Machine dan Adaboost. Hasil dari aksi menekan tombol split adalah confusion matrix Support Vector Machine, confusion matrix Adaboost dan akurasi. Model klasifikasi yang sudah didapatkan juga akan digunakan dalam proses dalam panel data uji tunggal dan prediksi. Dalam panel tersebut terdapat kolom-kolom yang dapat diisi berdasarkan atribut yang dibutuhkan. Setelah pengguna selesai mengisi kolom atribut, maka pengguna dapat menekan tombol klasifikasi untuk mendapatkan hasil pengklasifikasian data, dan untuk membersihan kolom atribut, pengguna dapat menekan tombol clear.
Gambar 3. 6 Desain antarmuka yang akan digunakan
36 BAB IV
IMPLEMENTASI DAN ANALISIS HASIL
Bab ini akan menjelaskan hasil dari pengimplementasian sistem dan analisis dari output yang didapatkan dari pengolahan dan pengujian data.
4.1. Tahap Preprocessing
Tahap preprocessing ini dilakukan untuk mengolah data agar siap untuk digunakan pada proses lebih lanjut. Terdapat 3 jenis preprocessing yang digunakan, diantaranya adalah data cleaning, data selection dan data transformation.
4.1.1. Data Cleaning
Pada tahap ini, data yang memiliki missing value atau null akan dihapus dari Tabel sehingga tidak mengganggu proses klasifikasi. Pada data IPS1 yang memililiki missing value akan dihapus dari Tabel. Hal ini dilakukan karena mahasisiswa yang tidak memiliki nilai IPS1 merupakan mahasiswa yang membatalkan pilihannya untuk masuk dalam prodi tersebut, sehingga tidak diperlukan dalam proses klasifikasi. Selanjutnya, data selain nilai masuk (PenalaranVerbal, KemapuanNumerik, PenalaranMekanik, HubunganRuang, BahasaInggris) dan IPS1 yang memiliki missing value akan diganti nilainya menjadi 0 untuk menjaga keutuhan data. Melalui proses data cleaning data yang semula berjumlah 1109 data berkurang menjadi 1063 data.
Pegimplementasian data cleaning pada program dapat dilihat pada gambar 4.1.
Gambar 4. 1 Implementasi data cleaninig pada program
37
Proses data cleaning pada program dilakukan menggunakan method dropna() dan fillna() yang merupakan method dari libarary Pandas. Method dropna() berfungsi untuk menghapus missing value (data pada baris/kolom) yang ada pada Tabel. Parameter subset yang ada pada method dropna() digunakan untuk menentukan kolom yang akan dicari missing value-nya.
Sementara method fillna() digunakan untuk mengisi atau mengganti missing value dengan nilai 0.
4.1.2. Selection
Pada tahap ini, Atribut yang relevan dengan penelitian akan dipilah untuk membantu proses lebih lanjut. Melalui tahap ini data yang sebelumnya memiliki 18 atribut akan berukurang menjadi 12 atribut. Atribut-atribut tersebut diantaranya adalah PenalaranVerbal, KemapuanNumerik, PenalaranMekanik, HubunganRuang, BahasaInggris, SKS1, IPS1, SKS2, IPS2, SKS3, IPS3 dan STATUS. Pada penelitian ini atribut Prodi dan Angkatan tidak digunakan karena tidak memiliki relasi dengan prediksi mahasiswa berprestasi rendah, sementara atribut SKS4, IPS4, IPK_SAMPAI_SMT_4 dan J_DEF_SMT_4_SKS tidak digunakan karena sudah digunakan untuk pembuatan atribut STATUS. Implementasi selection pada program dapat dilihat pada gambar 4.2.
Gambar 4. 2 Implementasi selection pada program
Proses selection pada program dilakukan menggunakan method drop() yang ada pada library Pandas. Method ini berfungsi untuk menghapus indeks atau kolom yang tidak diinginkan user. Parameter axis = 1 pada method
38
drop() mengindikasikan bahwa progran akan menghapus kolom sesuai dengan list yang dimasukan user.
Pada proses ini juga dilakukan pemilihan data training dan data testing yang akan digunakan. Pemilihan dilakukan menggunakan method train_test_split() dari library sklearn.model_selection. Pembagian data dilakukan berdasarkan pembagian 70% : 30% untuk data traning dan data testing. Implementasi pembagian data training dan testing dapat dilihat pada gamabar 4.3.
Gambar 4. 3 Implementasi pembagian data training dan testing
4.1.3. Data Transformation
Melalui tahap ini, kolom/atribut yang memiliki rentang nilai yang jauh akan ditransformasi menggunakan metode normalisasi min-max. selain itu, pada atribut STATUS akan ditransformasi ke dalam bentuk kategori dimana label TIDAK RENDAH akan bernilai 1 dan label RENDAH bernilai 0.
Implementasi transformasi data pada program dapat dapat dilihat pada gambar 4.4 berikut.
Gambar 4. 4 Implementasi transformasi data pada program
39
Proses transformasi pada program dilakukan melalui library sklearn.prepocssing yang ada pada python. Untuk mengubah atribut STATUS menjadi kategori, digunakan kelas LabelEncoder() yang berfungsi untuk mengubah label kelas ke dalam bentuk kategori. Sementara untuk menormalisasi data, digunakan kelas MinMaxScaler() yang merupakan fungsi normalisasi metode min-max yang ada pada python. Contoh data hasil normalisasi dapat dilihat pada Tabel 4.1 dan 4.2 berikut.
Tabel 4. 1 Contoh Data Sebelum Normalisasi
SKS1 IPS1
20 2.25
20 2.45
20 2.35
Tabel 4. 2 Contoh Data Sesudah Normalisasi
SKS1 IPS1
0.5 0.550129
0.5 0.601542
0.5 0.575835
4.2. Perangkingan Atribut
Tahap perankingkan atribut dilakukan menggunakan information gain dari library sklearn.feature_selection. Dimana didapatkan hasil perankingan seperti pada Tabel 4.3 berikut.
40
Tabel 4. 3 Hasil Perankingan Atribut
Atribut Information Gain Ranking
IPS3 0.395404 1
IPS2 0.362864 2
IPS1 0.259358 3
SKS3 0.223093 4
SKS2 0.118955 5
KemampuanNumerik 0.074019 6
BahasaInggris 0.013742 7
PenalaranVerbal 0.000878 8
PenalaranMekanik 0 9
HubunganRuang 0 9
SKS1 0 9
Gambar 4. 5 Implementasi information gain pada program
4.3. Balancing
Proses balancing data pada tahap ini menggunakan algoritma SMOTE (Synthetic Minority Over-sampling Technique) dari library imblearn.over_sampling yang ada pada python. Sebagaimana terlihat dalam gambar 4.6 data pada penelitian ini memiliki jumlah kelas yang tidak seimbang di kedua kelas, sehingga digunakan agoritma SMOTE untuk menyeimbangkannya.
41
Gambar 4. 6 Grafik kelas sebelum dilakukan balancing
Terlihat pada gambar 4.6 jumlah kelas 0 (RENDAH) lebih kecil dari kelas 1 (TIDAK RENDAH). Melalui proses SMOTE data kelas minorotas akan mengalami penambahan data sehingga jumlahnya setara dengan kelas mayoritas.
Penerapan algoritma SMOTE pada program dapat dilihat pada gambar 4.7, dimana parameter random_state digunakan untuk menjaga jumlah data kelas tidak berubah saat program dijalankan. Sementara hasil luaran SMOTE dapat dilihat pada gambar 4.8.
Gambar 4. 7 Implementasi algoritma SMOTE pada program
42
Gambar 4. 8 Grafik kelas setelah diterapkan SMOTE
4.4. Klasifikasi
Terdapat dua model klasifikasi yang dibangun pada penelitian ini, yaitu Support Vector Machine dan Adaboost. Model klasifikasi Support Vector Machine dibangun dengan menggunakan kernel (polynomial, linear dan RBF) dan C (0.01, 0.1 dan 10) untuk meminimalkan nilai error saat dilakukan klasifikasi.
Sementara pada Adaboost diterapkan n_estimator = 10 untuk menghindari overfitting pada data yang akan diklasifikasikan. Penerapan model klasifikasi Support Vector Machine dan Adaboost dalam program dapat dilihat pada gambar 4.9 dan 4.10.
43
Gambar 4. 9 Implementasi model klasifikasi Support Vector Machine
Gambar 4. 10 Implementasi model klasifikasi Adaboost