PERBANDINGAN KINERJA ALGORITMA K-NEAREST NEIGHBORS DAN ALGORITMA NAIVE BAYES DALAM MEMPREDIKSI
PRESTASI MAHASISWA
SKRIPSI
EDDY 141401079
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2021
PERBANDINGAN KINERJA ALGORITMA K-NEAREST NEIGHBORS DAN ALGORITMA NAIVE BAYES DALAM MEMPREDIKSI PRESTASI
MAHASISWA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
EDDY 141401079
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2021
iii
PERNYATAAN
PERBANDINGAN KINERJA ALGORITMA K-NEAREST NEIGHBORS DAN ALGORITMA NAIVE BAYES DALAM MEMPREDIKSI PRESTASI MAHASISWA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.
Medan, Agustus 2021
Eddy
141401079
iv
UCAPAN TERIMA KASIH
Segala puji, syukur, hormat, serta kemuliaan hanya bagi Tuhan Yesus Kristus,Allah luar biasa yang telah memberikan kesempatan kepada penulis untuk mengerjakan dan menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. Dalam pengerjaan studi dan penulisan skripsi ini, penulis telah menerima banyak dukungan berupa doa, pemikiran, kerjasama, semangat, dan dana dari berbagai pihak. Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar– besarnya kepada : 1. Bapak Dr. Muryanto Amin, S.Sos., M.Si. selaku Rektor Universitas Sumatera
Utara.
2. Ibu Dr. Maya Silvi Lydia, B.Sc., M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara, dosen pembimbing akademik dan sekaligus Dosen Pembanding I penulis selama menempuh pendidikan S1 di Ilmu Komputer Universitas Sumatera Utara serta memberikan kritik dan saran untuk penyempurnaan skripsi ini.
4. Bapak Herriyance, ST, M.Kom., selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan sekaligus Dosen Pembanding II penulis selama menempuh pendidikan S1 Ilmu Komputer serta memberikan kritik dan saran untuk penyempurnaan skripsi ini.
5. Bapak Jos Timanta Tarigan, S.Kom, M.Sc. selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Sri Melvani Hardi, S.Kom., M.Kom., selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
7. Bapak Alm. Dr. Sajadin Sembiring, S.Si., M.Comp.Sc. selaku Dosen Pembimbing II yang lama telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
8. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU.
v
10. Edrea Cioksidy, ST dan Daniel H. Silalahi, S.Kom. yang telah memberikan doa dan dukungan yang diberikan agar penulis tetap semangat dalam mengerjakan skripsi ini.
11. Ayahanda Susanto dan Ibunda Deliana yang selalu memberikan doa dan dukungan serta kasih sayang kepada penulis, serta adik – adik tersayang Cindy dan Frincillia yang telah memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.
12. Bapak Atek Hu, SE selaku paman yang telah memberikan semangat dan motivasi untuk menyelesaikan skripsi ini.
13. Komunitas Developer Student Clubs Google Indonesia (Felicia Giovanni Tjahyamulia, S.Kom.) yang telah memberikan banyak doa, dukungan dan semangat selama menjalani proses perkuliahan dan penyelesaian skripsi ini.
14. Adik-adik dari Developer Student Clubs Universitas Sumatera Utara (Sinta Anjelina dan Charity, S.Kom.) yang telah memberikan doa dan dukungan kepada penulis untuk mengerjakan skripsi ini.
15. Adik-adik dari Developer Student Clubs STMIK TIME (Winston Tehru, S.Kom.
dan Veirry Augusman, S.Kom.) yang telah memberikan doa dan dukungan kepada penulis untuk mengerjakan skripsi ini.
16. Adik-adik dari Developer Student Clubs Universitas Pelita Harapan Medan (Celine Nathasya) yang telah memberikan doa dan dukungan kepada penulis untuk mengerjakan skripsi ini.
17. Bapak Dr. Muhammad Andri Budiman, ST, M.Comp.Sc., MEM, S.C.J.P, dan Bapak Albert Suwandhi, ST., M.TI., yang telah memberikan motivasi dan dukungan untuk menyelesaikan skripsi ini.
18. Teman – teman kuliah Ilmu Komputer Stambuk 2014 khususnya untuk KOM A yang telah banyak memberikan motivasi dan semangat dalam menyelesaikan skripsi ini.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Tuhan Yang Maha Esa.
Medan, Agustus 2021
Penulis
vi
ABSTRAK
Sistem prediksi prestasi mahasiswa dengan menggunakan dataset mahasiswa telah banyak dikembangkan dan diteliti oleh berbagai peneliti-peneliti sebelumnya. Namun, hasil penelitian yang telah dikembangkan dan diimplementasikan kurang maksimal karena penggunaan variabel-variabel untuk memprediksi prestasi mahasiswa masih kurang beragam. Adapun sistem yang telah digunakan dinilai belum memenuhi kebutuhan dari pihak Universitas Sumatera Utara Sistem yang telah dikembangkan hanya berfokus kepada implementasi model dan akurasi yang didapatkan dalam proses training dan testing. Model yang digunakan biasanya hanya 1 (satu) model dalam sistem prediksi prestasi mahasiswa sehingga kurang beragam untuk dibandingkan saat melakukan proses training dan testing. Adapun yang menggunakan beberapa model akan tetapi kurang maksimal dalam mengevaluasi proses karena tidak adanya pembuktian korelasi variabel yang digunakan saat mengimplementasikan dataset. Dalam suatu proses data science, ada beberapa tahapan yang harus dilakukan, yaitu: memasukkan dataset, melakukan preprocessing data, membagi data menjadi data training dan testing, mengimplementasi model yang ingin dicoba dan melakukan validasi akurasi. Pada penelitian ini, membandingkan kedua algoritma yaitu k-Nearest Neighbors dan Naive Bayes. Pada hasil akurasi, pada k-Nearest Neighbors didapatkan akurasi sebesar 55,45% dengan memvalidasi akurasi dengan menggunakan metrics accuracy sedangkan menggunakan 10 fold Cross Validation didapatkan akurasi 56%.
Pada Naive Bayes, didapatkan hasil akurasi menggunakan metrics accuracy sebesar 48,51% untuk Gaussian Bayes, 39,6% untuk Multinominal Bayes dan 40,26% untuk Bernoulli Bayes sedangkan menggunakan 10 fold Cross Validation didapatkan hasil akurasi sebesar 54,26%. Pada hasil korelasi variabel, variabel yang memiliki tertinggi adalah korelasi antara Indeks Prestasi Semester dengan jenis kelamin dengan nilai sebesar 0.23 dengan menggunakan Spearman Correlation sedangkan menggunakan Pearson Correlation didapatkan hasil sebesar 0.25 dengan korelasi variabel antara variabel program studi dan variabel Indeks Prestasi Semester.
Kata Kunci : Klasifikasi, Data Science, k-Nearest Neighbors, Naive Bayes,
Spearman Correlation, Pearson Correlationvii
COMPARSION OF PERFORMANCE OF K-NEAREST NEIGHBORS ALGORITHM AND NAIVE BAYES ALGORITHM IN
PREDICTING STUDENT PERFORMANCE
ABSTRACT
Prediction student academic performance system by using university student’s dataset has been developed and researched for several researchers before. However, the result of the researchs don’t optimize because the variable that used for predict student academic performance isn’t various. The system that has been used is considered to have not met the needs of Universitas Sumatera Utara. The system has been developed only focus to result of model and accuracy where come from training and testing. The model has been implemented usually 1 (one) model in prediction student academic performance where there is no various for comparison while training and testing.
Some of them used several models but those are given best result for evaluate the proses because there is no correlation variable’s proof while implemented the dataset.
In processing of data science, there is several steps that must do, like import dataset, data preprocessing, separate dataset into data training and data testing, implements model that you want to try and evaluate accuracy. In this research, the result of k- Nearest Neighbors is 55,45% with validate accuracy using metrics accuracy and by using 10 fold Cross Validation that we get result is 56%. By using Naive Bayes, the result that implement metrics accuracy is 48,51% for Gaussian Bayes, 39,6% for Multinominal Bayes and 40,26% for Bernoulli Bayes. By using 10 fold Cross Validation the accuracy is 54,26%. For correlation variable, the highest correlation variable is Indeks Prestasi Semester’s variable between Jenis Kelamin’s variable where the result is 0,23 by using Spearman Correlation. By using Pearson Correlation, the highest correlation variable is between Program Studi’s variable and Indeks Prestasi Semester’s variable and the result is 0,25.
Keywords : Classification, Data Science, k-Nearest Neighbors, Naive Bayes,
Spearman Correlation, Pearson Correlationviii
DAFTAR ISI
Persetujuan... ii
Pernyataan ... iii
Penghargaan ...iv
Abstrak ...vi
Abstract ... vii
Daftar Isi ... viii
Daftar Tabel ... xii
Daftar Gambar ... xiii
Daftar Lampiran ... xv
BAB 1 PENDAHULUAN 1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan Penelitian... 3
1.5. Manfaat Penelitian ... 3
1.6. Metodologi Penelitian... 4
1.7. Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI 2.1. Machine Learning ... 7
2.2. Jenis – jenis Metode Pembelajaran Machine Learning ... 7
2.2.1. Supervised Learning ... 7
2.2.2. Unsupervised Learning ... 8
2.2.3. Reinforcement Learning ... 8
2.2.4. Neural Network dan Deep Learning ... 9
2.3. Jenis-jenis Algoritma Machine Learning ... 9
2.3.1. Bayesian ... 9
2.3.2. Clustering ... 9
2.3.3. Decision Tree ... 10
ix
2.3.4. Reduksi Dimensi... 10
2.3.5. Berbasis Contoh ... 10
2.3.6. Jaringan Saraf Tiruan dan Deep Learning ... 10
2.3.7. Regresi Linear ... 10
2.4. Data Mining ... 10
2.5. Data Science ... 11
2.6. Pengertian Algoritma ... 12
2.7. Python... 12
2.8. Algoritma k-Nearest Neighbors ... 12
2.9. Algoritma Naive Bayes ... 13
2.9.1. Bernoulli Naive Bayes... 14
2.9.2. Multinominal Naive Bayes ... 14
2.9.3. Gaussian Naive Bayes... 14
2.10. Cross Validation ... 15
2.9.1. Random Subsampling... 15
2.9.2. K-Fold Cross Validation ... 15
2.9.3. Leave-one-out Cross Validation ... 15
2.11. Analisis Korelasi ... 15
2.11.1. Pearson Correlation Coefficient ... 15
2.11.2. Spearman Correlation Coefficient ... 16
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem ... 19
3.1.1. Analisis Masalah... 19
3.1.2. Analisis Kebutuhan ... 21
3.1.2.1. Kebutuhan Fungsional ... 21
3.1.2.2. Kebutuhan Nonfungsional ... 22
3.1.3. Analisis Proses... 22
3.2. Arsitektur Sistem ... 22
3.2.1. Arsitektur Sistem pada k-Nearest Neighbors ... 24
3.2.2. Arsitektur Sistem pada Naive Bayes ... 25
3.3. Pemodelan Sistem ... 26
3.3.1. Use-case Diagram ... 26
3.3.2. Activity Diagram... 28
x
3.3.2.1. Activity Diagram Algoritma k-Nearest Neighbors ... 28
3.3.2.2. Activity Diagram Algoritma Naive Bayes ... 29
3.3.3. Sequence Diagram ... 30
3.3.3.1. Flowchart Algoritma k-Nearest Neighbors ... 31
3.3.3.2. Flowchart Algoritma Naive Bayes ... 33
3.3.4. Perancangan Antarmuka ... 34
3.3.4.1. Halaman Awal ... 34
3.3.4.2. Halaman Pengujian ... 35
3.3.4.3. Halaman Prediksi ... 36
3.3.4.4. Halaman Tentang ... 37
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1. Implementasi Sistem ... 38
4.1.1. Analisis Masalah... 38
4.1.2. Analisis Kebutuhan ... 38
4.2. Tampilan Antarmuka Sistem ... 39
4.2.1. Tampilan Antarmuka Form Utama ... 39
4.2.2.
Tampilan Antarmuka Form Tentang... 39
4.2.3.
Tampilan Antarmuka Form Percobaan... 40
4.2.4.
Tampilan Antarmuka Form Hasil... 41
4.2.5.
Tampilan Antarmuka Google Colab... 41
4.4. Algoritma k-Nearest Neighbors ... 42
4.5. Algoritma Naive Bayes ... 44
4.6. Pengujian Sistem ... 47
4.6.1. Visualisasi Data ... 48
4.6.2. Pengujian Sistem Website ... 52
4.6.2.1. Pengujian Sistem Website algoritma k-Nearest Neighbors ... 52
4.6.2.2.
Pengujian Sistem Website algoritma Naive Bayes ...55
4.6.3. Pengujian Algoritma k-Nearest Neighbors ... 58
4.6.4. Pengujian Algoritma Naive Bayes ... 61
4.7. Pengujian Korelasi Variabel ... 63
4.7.1. Pengujian Korelasi Variabel Pearson Correlation ... 64
4.7.2. Pengujian Korelasi Variabel Spearman Correlation ... 65
x
iBAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan ... 67
5.2. Saran ... 68
DAFTAR PUSTAKA ... 69
LAMPIRAN
xii
DAFTAR TABEL
Tabel 3.1 Dokumentasi Naratif Use-case Diagram Algoritma k-Nearest Neighbors ... 27
Tabel 3.2 Dokumentasi Naratif Use-case Diagram Algoritma Naive Bayes ... 28
Tabel 3.3 Keterangan Gambar Rancangan Tampilan Halaman Awal ... 34
Tabel 3.4 Keterangan Gambar Rancangan Tampilan Halaman Pengujian ... 35
Tabel 3.5 Keterangan Gambar Rancangan Tampilan Halaman Prediksi ... 36
Tabel 3.6 Keterangan Gambar Rancangan Tampilan Halaman Tentang ... 37
Tabel 4.1 Tabel Sampel Data Mahasiswa ... 42
Tabel 4.2 Tabel Hasil Perhitungan Euclidian Distance ... 43
Tabel 4.3 Tabel Pengurutan Terdekat Berdasarkan Nilai Jarak ... 44
Tabel 4.4 Tabel Sampel Data Mahasiswa ... 45
Tabel 4.5 Tabel Hasil Perhitungan Klasifikasi Data dengan menggunakan Algoritma Naive Bayes ... 47
Tabel 4.6 Tabel Hasil Pengujian Sistem Algoritma k-Nearest Neighbors ... 52
Tabel 4.7 Tabel Hasil Pengu3ian Sistem Algoritma Naive Bayes ... 55
Tabel 4.8 Hasil Akurasi Pengujian Training dan Testing Algoritma k-Nearest Neighbors menggunakan Metrics Accuracy dan 10 fold Cross Validation ... 58
Tabel 4.9 Hasil Akurasi Pengujian Training dan Testing Algoritma Naive Bayes
menggunakan Metrics Accuracy dan 10 fold Cross Validation ... 61
xiii
DAFTAR GAMBAR
Gambar 3.1 Ishikawa Diagram Sistem ... 20
Gambar 3.2 Arsitektur Sistem ... 23
Gambar 3.3 Arsitektur Sistem pada k-Nearest Neighbors ... 24
Gambar 3.4 Arsitektur Sistem pada Naive Bayes ... 25
Gambar 3.5 Use-case Diagram Sistem ... 27
Gambar 3.6 Activity Diagram Sistem Prediksi Prestasi Mahasiswa dengan algoritma k-Nearest Neighbors ... 29
Gambar 3.7 Activity Diagram Sistem Prediksi Prestasi Mahasiswa dengan algoritma Naive Bayes ... 30
Gambar 3.8 Sequence Diagram ... 31
Gambar 3.9 Flowchart Sistem Memprediksi Prestasi Mahasiswa dengan algoritma k- Nearest Neighbors... 32
Gambar 3.10 Flowchart Sistem Memprediksi Prestasi Mahasiswa dengan algoritma Naive Bayes ... 33
Gambar 3.11 Rancangan Tampilan Halaman Awal ... 34
Gambar 3.12 Rancangan Tampilan Halaman Pengujian ... 35
Gambar 3.13 Rancangan Tampilan Halaman Prediksi ... 36
Gambar 3.14 Rancangan Tampilan Halaman Tentang ... 37
Gambar 4.1 Tampilan Antarmuka Form Utama... 39
Gambar 4.2 Tampilan Antarmuka Form Tentang ... 40
Gambar 4.3 Tampilan Antarmuka Form Percobaan ... 40
Gambar 4.4 Tampilan Antarmuka Form Hasil ... 41
Gambar 4.5 Tampilan Antarmuka Google Colab ... 42
Gambar 4.6 Informasi Jumlah Data Mahasiswa pada setiap Kolom Dataset ... 48
Gambar 4.7 Grafik Jumlah Data Mahasiswa berdasarkan Pengelompokkan Jenis Kelamin ... 49
Gambar 4.8 Grafik Jumlah Data Mahasiswa berdasarkan Jalur Masuk ... 49
xiv
Gambar 4.9 Grafik Jumlah Data Mahasiswa berdasarkan Program Studi ... 50
Gambar 4.10 Grafik Jumlah Data Mahasiswa berdasarkan Indeks Prestasi Semester ... 50
Gambar 4.11 Grafik Jumlah Data Mahasiswa Terbesar berdasarkan Asal Daerah ... 51
Gambar 4.12 Grafik Jumlah Data Mahasiswa Terkecil berdasarkan Asal Daerah ... 51
Gambar 4.13 Grafik Jumlah Data Mahasiswa berdasarkan Status Mahasiswa... 52
Gambar 4.14 Grafik Akurasi dari Hasil Pengujian algoritma k-Nearest Neighbors dengan menggunakan Metrics Akurasi ... 59
Gambar 4.15 Grafik Akurasi dari Hasil Pengujian algoritma k-Nearest Neighbors dengan menggunakan 10 fold Cross Validation ... 59
Gambar 4.16 Hasil Confusion Matrix Penujian k-Nearest Neighbors ... 60
Gambar 4.17 Hasil Confusion Matrix Penujian Gaussian Bayes ... 61
Gambar 4.18 Hasil Confusion Matrix Penujian Multinominal Bayes ... 62
Gambar 4.19 Hasil Confusion Matrix Penujian Bernoulli Bayes ... 62
Gambar 4.20 Hasil Pengujian Korelasi Variabel dengan mengguunakan Pearson Correlation ... 63
Gambar 4.21 Grafik Hasil Korelasi Variabel dengan mengguunakan Pearson Correlation ... 66
Gambar 4.22 Hasil Pengujian Korelasi Variabel dengan mengguunakan Spearman Correlation ... 65
Gambar 4.23 Grafik Hasil Korelasi Variabel dengan mengguunakan Spearman
Correlation ... 65
xv
DAFTAR LAMPIRAN
LAMPIRAN 1 Listing Program ... A - 1
LAMPIRAN 2 Curriculum Vitae ... B – 1
LAMPIRAN 3 Surat Izin Riset ... C – 1
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Pemanfaatan teknologi informasi semakin meluas di zaman modern ini. Hal itu dikarenakan pemanfaatan teknologi informasi yang semakin mempermudah berbagai sektor kehidupan manusia terutama pada bidang akademik dan pendidikan. Salah satu pemanfaatan teknologi informasi pada bidang akademik dan pendidikan adalah dengan membantu pihak universitas dalam menganalisis prestasi akademik mahasiswa sehingga bisa menjadi bahan pertimbangan untuk proses penyeleksian mahasiswa baru.
Dalam bidang Ilmu Komputer terutama pada Machine Learning, ada banyak algoritma yang dapat digunakan untuk memprediksi prestasi mahasiswa diantaranya adalah algoritma k-Nearest Neighbors dan algoritma Naive Bayes.
Algoritma k-Nearest Neighbors merupakan algoritma untuk mengklasifikasikan data-data yang berasal dari dataset. Algoritma k-Nearest Neighbors memiliki kelebihan yaitu dapat melabeli data-data sesuai dengan data-data yang ada kemudian langsung dimasukkan ke dalam kelas yang mana (Widodo Budiharto, 2016). Hal itu memberikan kemudahan untuk mengelompokkan nilai-nilai mahasiswa yang ada. Akan tetapi, algoritma k-Nearest Neighbors memiliki kelemahan, yaitu algoritma ini tidak mampu mencari data secara cepat karena harus mencari data secara keseluruhan terlebih dahulu.
Algoritma Naive Bayes merupakan algoritma untuk mengklasifikasikan data- data berdasarkan kondisi naive di mana dapat dimplementasikan berdasarkan kondisi yang terjadi (Giuseppe Bonaccorso, 2017). Algoritma Naive Bayes memiliki kelebihan yaitu mampu mengklasifikasikan data berdasarkan kondisi-kondisi tertentu sehingga cepat mendapatkan solusi berdasarkan masalah yang ada tanpa membandingkan kondisi-kondisi yang lain. Akan tetapi, algoritma Naive Bayes
memiliki kelemahan, yaitu algoritma Naive Bayes kurang mampu mengolah permasalahan1
2
yang memiliki korelasi dengan
permasalahan yang lain yang lebih dari satu (Giuseppe Bonaccorso, 2017).
Bentuk implementasi kedua algoritma tersebut yaitu dapat diterapkan dalam membantu pihak akademik terutama pihak Universitas Sumatera Utara yang memiliki data cukup besar namun belum adanya sistem yang memadai untuk mengelola data tersebut sehingga dapat dipergunakan dalam mengevaluasi prestasi mahasiswa dengan variabel yang dimiliki oleh tiap mahasiswa. Pada penelitian, penulis tertarik membandingkan kedua algoritma dengan menggunakan data mahasiswa Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara angkatan 2014, angkatan 2015, angkatan 2016 dan angkatan 2017 dalam memprediksi prestasi mahasiswa berdasarkan variabel variabel yaitu nama program studi, jenis kelamin, jalur masuk, asal daerah, Indeks Prestasi Semester dan status prestasi akademik untuk melihat bagaimana hasil perbandingan akurasi algoritma k-Nearest Neighbors dan algoritma Naive Bayes dengan memvalidasi akurasi menggunakan Cross Validation, dalam dataset terdapat beberapa features atau variabel. Untuk meneliti adanya korelasi variabel dapat digunakan pearson correlation dan spearman correlation untuk menguji nilai korelasi antar variabel dalam memprediksi prestasi mahasiswa.
1.2. Rumusan Masalah
Berikut adalah beberapa rumusan masalah yang menjadi acuan pada penelitian ini sebagai berikut:
1. Bagaimana perbandingan kinerja dari pengklasifikasian menggunakan algoritma k-Nearest Neighbors dan algoritma Naive Bayes dalam memprediksi prestasi mahasiswa?
2. Bagimana hasil perbandingan korelasi antar variabel dari dataset yang dipakai dengan menggunakan spearman correlation dan pearson correlation?
3. Bagaimana hasil perbandingan akurasi dari evaluasi algoritma dengan menggunakan metrics Accuracy dan 10-fold Cross Validation?
4. Bagaimana hasil evaluasi model yang digunakan?
1.3. Batasan Masalah
Untuk menghindari penyimpangan atau perluasan yang tidak diperlukan dalam
melakukan penelitian, berikut ini adalah beberapa batasan yang sudah ditetapkan.
3
1. Penelitian yang dilakukan untuk membandingkan algoritma k-Nearest Neighbors dan algoritma Naive Bayes dengan menggunakan memvalidasi akurasi menggunakan metode Cross Validation.
2. Variabel yang digunakan adalah program studi, jenis kelamin, jalur masuk , asal daerah, Indeks Prestasi Semester, dan status prestasi akademik Mahasiswa mahasiswa Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Penelitian yang dilakukan untuk membandingkan antara variabel dengan mengimplementasikan pearson correlation dan spearman correlation serta membandingkannya.
4. Data yang diambil hanya berasal dari mahasiswa Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara angkatan 2014, 2015, 2016 dan 2017.
1.4. Tujuan Penelitian
Tujuan yang dilakukan pada penelitian ini adalah
1. Membandingkan kinerja algoritma antara algoritma k-Nearest Neighbors dan algoritma Naive Bayes berdasarkan korelasi antar variabel dan tingkat akurasinya.
2. Mengetahui nilai k maksimum pada algoritma k-Nearest Neighbors yang mencapai akurasi tertinggi dan jenis algoritma Naive Bayes manakah yang mampu mencapai akurasi tertinggi.
3. Mengetahui variabel manakah yang memiliki hubungan korelasi tertinggi terhadap variabel lainnya dari hasil perbandingan pearson correlation dan spearman correlation.
4. Membantu pihak Universitas Sumatera Utara untuk mengevaluasi prestasi mahasiswa Fakultas Ilmu Komputer dan Teknologi Informasi.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah:
1. Mengetahui algoritma manakah yang lebih unggul antara algoritma k-Nearest Neighbors dan algoritma Naive Bayes.
2.
Mengetahui variabel manakah yang memiliki korelasi tertinggi jika dibandingkan menggunakan pearson correlation dan spearman correlation.4
3. Memberikan kemudahan kepada pihak Universitas Sumatera Utara terutama pihak Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dalam menganalisis prestasi akademik mahasiswa.
4. Menambah referensi penelitian-penelitian yang berhubungan dengan data science, algoritma k-Nearest Neighbors, algoritma Naive Bayes dan korelasi variabel.
1.6. Metodologi Penelitian
Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:
1. Studi Pustaka
Pada tahap ini penelitian dimulai dengan mencari referensi dari berbagai sumber terpercaya dan melakukan peninjauan pustaka melalui buku-buku, artikel ilmiah, dan penelitian-penelitian lainnya dalam bentuk jurnal yang berhubungan dengan Algoritma k-Nearest Neighbors, Algoritma Naïve Bayes, 10 fold Cross Validation, Pearson Correlation dan Spearman Correlation.
2. Pengumpulan dan Analisa Data
Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian seperti pengumpulan data mahasiswa Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Perancangan Sistem
Berdasarkan ruang lingkup penelitian, penulis melakukan analisa terhadap apa saja yang akan dibutuhkan dalam penelitian untuk segera dirancang dalam sebuah Flowchart, Arsitektur Sistem, Unified Modeling Language (UML), User Interface sehingga menjadi informasi.
4. Implementasi
Pada tahap ini, aplikasi dibuat dengan menggunakan HTML5 dan CSS3 sebagai frontend dan Flask Framework dan bahasa Python sebagai backend.
5. Pengujian
Pada tahap ini, prototype sistem yang telah dirancang dilakukan uji coba menggunakan bahasa pemrograman Python berbasis website.
6. Dokumentasi
Pada tahap ini, penelitian yang telah dilakukan, didokumentasikan mulai dari tahap analisa sampai kepada pengujian dalam bentuk skripsi.
5
1.7. Sistematika Penulisan
Agar pembahasan menjadi lebih sistematis, skripsi ini dibuat dalam lima bab, meliputi:
BAB 1
PENDAHULUANBab ini berisi latar belakang penelitian judul skripsi “Perbandingan Kinerja Algoritma k-Nearest Neighbors dan Algoritma Naive Bayes dalam Memprediksi Prestasi Mahasiswa”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, tinjauan pustaka, dan sistematika penulisan skripsi ini.
BAB 2
LANDASAN TEORIBab ini berisi penjelasan singkat mengenai algoritma k-Nearest Neighbors, algoritma Naive Bayes teori – teori yang berhubungan dengan Kecerdasan Buatan, yaitu Data Science, Machine Learning, algoritma k-Nearest Neighbors, algoritma Naive Bayes, Cross Validation, Korelasi Variabel dan beberapa penelitian terdahulu yang relevan.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi uraian dari analisis system mengenai proses kerja dari
sistem temu kembali video menggunakan algoritma k-Nearest
Neighbors dan algoritma Naive Bayes dalam memprediksi prestasi
mahasiswa dengan menggunakan data mahasiswa yang terdiri dari,
analisis kebutuhan, analisis proses, arsitektur sistem, Unified Modeling
Language (UML) Diagram, flowchart, dan design interface system.
6
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEMMerupakan hasil penelitian yang dilakukan. Berisi tentang penjelasan implementasi sistem berdasarkan analisis dan perancangan sistem, skenario pengujian terhadap sistem yang telah dibangun serta pembahasan hasil pengujian.
BAB 5
KESIMPULAN DAN SARANBab terakhir akan memuat kesimpulan isi dari keseluruhan uraian
penelitian dari bab-bab sebelumnya dan saran-saran dari hasil yang
diperoleh yang diharapkan dapat bermanfaat dalam pengembangan
selanjutnya.
BAB 2
LANDASAN TEORI
2.1. Machine Learning
Machine Learning adalah bagian bidang ilmu yang berkaitan dengan statistik, kecerdasan buatan dan ilmu komputer yang dapat memprediksi hasil analisis dan dapat mempelajari data (Andreas C. Muller & Sarah Guido, 2017).
Proses Machine Learning sama dengan data mining. Keduanya mencari pola, akan tetapi pada machine learning menggunakan data untuk meningkatkan pemahaman program sendiri. (Widodo Budiharto, 2016).
Dengan menggunakan Machine Learning dapat memberikan keuntungan dengan mengolah data yang ada sehingga dapat merencanakan apa yang kita ingin ubah dan kita lakukan untuk ke depannya. (Judith Hurwitz & Daniel Kirsch, 2018)
2.2. Jenis-Jenis Metode Pembelajaran Machine Learning 2.2.1. Supervised Learning
Supervised Learning menerapkan konsep pengajaran yang dilakukan oleh seorang guru terhadap siswa. Dengan mengimplementasikan algoritma dan disediakan data training yang relevan, dapat dijalankan dan diukur pada setiap iterasi dan dapat diketahui perbedaan antara nilai yang diprediksi dan nilai yang diharapkan. (Giuseppe Bonaccorso, 2017)
Supervised Learning menerapkan pembelajaran yang paling sederhana dimana mesin belajar dari contoh yang benar dan contoh yang salah. Mesin mempelajari beberapa kasus, kemudian regression dimana keluarannya dilakukan secara kontinu. (Ethem Alpaydin, 2014). Algoritma yang di-training dengan menggunakan contoh preprocessed dan kinerja dari algoritmanya dievaluasi berdasarkan hasil tes data.
Terkadang pola diidentifikasi sebagai bagian dari data dan tidak bisa dideteksi pada data training yang besar. Jika model hanya merepresentasikan pola yang telah ada di subset training, maka terjadilah overfitting.
7
8
Overfitting berarti model yang dipakai untuk data training tidak dapat diaplikasikan ke data training yang lebih besar dan tidak diketahui. (Judith Hurwitz & Daniel Kirsch, 2018)
2.2.2. Unsupervised Learning
Unsupervised Learning, dilakukan mapping dari input ke outpu dimana nilai yang benar telah disediakan oleh pengguna. Dalam unsupervised learning, pengguna hanya memasukkan data training tanpa perlu melabelin data training. (Ethem Alpaydin, 2010).
Unsupervised Learning mampu belajar sendiri tanpa adanya pengawasan dan tentunya ada pengukuran kesalahan. Cara ini sangat ampuh dilakukan untuk mengelompokkan suatu objek berdasarkan tingkat kemiripan. Pendekatan pembelajaran menggunakan model ini berdasarkan bagaimana elemen-elemen dikelompokkan berdasarkan tingkat kemiripan. (Giuseppe Bonaccorso, 2017).
Unsupervised Learning mengcocokkan data menjadi kelompok-kelompok features.
Data yang tidak dilabelin membuat nilai parameter dan mengklasifikasikan data.
Proses penambahan label pada data biasanya dilakukan di supervised learning.
Unsupervised Learning dapat memberikan hasil ketika ada data yang cukup. Dengan kata lain, pengguna tidak tahu data apa yang dianalisis. Unsupersived Learning sangat membantu dalam menangani data training yang besar dan tidak terlabelin. (Judith Hurwitz & Daniel Kirsch, 2018)
2.2.3. Reinforcement Learning
Reinforcement Learning melakukan cara pembelajaran dengan melakukan sistem decision-making di mana mesin melakukan suatu perbuatan dalam lingkungannya sendiri dan menerima penghargaan atau pinalti dari perbuatan yang dilakukannya dalam menyelesaikan suatu masalah. Reinforcement Learning menggunakan sistem trial and error hingga mendapatkan nilai maksimun dan mencapai titik maksimunnya.
(Ethem Alpaydin, 2014). Reinforcement Learning adalah pemodelan pembelajaran
yang berdasarkan perilaku. Algoritma menerima umpan balik dari analisis data
sehingga pengguna cukup memandunya untuk mendapatkan hasil yang terbaik. Ynag
membedakan dari reinforcement learning dengan jenis-jenis pembelajaran yang
lainnya adalah reinforcement learning tidak memerlukan sampel data apapun. Sistem
9
dijalankan dengan cara trial and error.
Salah satu contoh implementasi reinforcement learning adalah pada bidang robotika dan aplikasi permainan. Reinforcement Learning juga biasanya digunakan pada sistem mobil cerdas. Dalam beberapa kasus, melakukan training sistem mobil cerdas cukup konmpleks karena terdiri dari banyak kendala. (Judith Hurwitz & Daniel Kirsch, 2018)
2.2.4. Neural Network dan Deep Learning
Deep Learning adalah salah satu metode dari machine learning yang menggabungkan neural network dalam memeplajari data secara interatif. Deep Learning sangat berguna jika diterapkan pada pembelajaran pola dari data yang tidak beraturan. Deep Learning bekerja seperti otak manusia sehingga hasil dari training dengan abstraksi dan permasalahan yang samar-samar.
Deep Learning adalah salah satu teknik di machine learning yang menggunakan hierarki neural network yang berasal dari kombinasi supervised learning dan unsupervised learning. Deep Learning biasanya disebut sebagai subbagian dari machine learning.
Neural network memiliki tiga layer, diantaranya adalah input layer, beberapa hidden layer dan output layer. Data dimasukkan ke input layer kemudian diproses di hidden layer dan di output layer dikelompokkan berdasarkan berat yang telah diaplikasi di tiap-tiap nodes. (Judith Hurwitz & Daniel Kirsch, 2018)
2.3. Jenis-Jenis Algoritma Machine Learning 2.3.1. Bayesian
Bayesian melakukan pelabelan data tentang model seperti apa nantinya, dan independensi data. Bayesian memiliki banyak fokus dalam pemodelan data. Bayesian sangat efektif jika diterapkan pada data training yang tidak banyak.
2.3.2. Clustering
Clustering adalah teknik untuk memahami suatu object dengan parameter yang sama
sehingga dapat dikelompokkan secara bersama. Semua objek yang dikelompokkan
berdasarkan tingkat kemiripan dengan satu sama lain. Clustering biasanya digunakan
oleh algoritma yang menerapkan unsupervised learning.
10
2.3.3. Decision Tree
Decisionn Tree menggunakan struktur ranting yang mengilustrasikan hasil dari keputusan. Decision Tree bisa digunakan untuk proses mapping untuk melihat hasil kemungkinan dari keputusan. Tiap node dari decision tree direpresentasikan dari hasil kemungkinannya. Persentasi yang digunakan untuk menetapkan nodes berdasarkan kemiripan hasil yang terjadi.
2.3.4. Reduksi Dimensi
Reduksi Dimensi membantu sistem mengurangi data yang tidak digunakan dalam tahap analisis. Kelompok algoritma ini menghilangkan redudansi data, dan data-data yang tidak berguna lainnya. Pengurangan dimensi berguna ketika menganalisis data pada penerapan Internet of Things (IoT).
2.3.5. Berbasis Contoh
Algoritma yang berbasis contoh biasanya digunakan saat mengkategorikan data berdasarkan tingkat kemiripan data training. Algoritma jenis ini juga disebut sebagai lazy learners karena tidak ada proses training. Sebagai gantinya, algoritma ini biasanya mencocokkan data dengan data training dan mengkategorikannya menjadi kategori data yang baru berdasarkan tingkat kemiripan pada data training.
2.3.6. Jaringan Saraf Tiruan dan Deep Learning
Jaringan saraf tiruan menyerupai saraf manusia dalam pendekatan suatu permasalahan dan menggunakan layer-layer yang saling terhubung satu sama lain dalam
menganalisis data. Jika terdapat lebih dari satu hidden layer maka disebut deep learning.
2.3.7. Regresi Linear
Algoritma regresi biasanya digunakan dalam menganalisis dalam bentuk statistika.
Algoritma regresi menganalisis hubungan model dengan data. Algoritma regresi dapat mengukur korelasi di antara variable yang ada di data training. Dalam tambahannya, analisis regresi bisa digunakan dalam memprediksi nilai dari data berdasarkan nilai historisnya. (Judith Hurwitz & Daniel Kirsch, 2018)
2.4. Data Mining
Data Mining adalah istilah yang digunakan untuk menguraikan penemuan adanya
informasi dalam database. (Mustakim & Giantika Oktaviani, 2016). Data Mining
11
merupakan proses semi-otomatis yang melibatkan statistika, matematika, kecerdasan buatan dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang berguna dan bermanfaat dari basis data yang besar (Ketut Artaye, 2015).
Teknik data mining digunakan untuk membangun model-model dari data yang belum kita ketahui yang akan kita cari informasi dari data tersebut. Setiap teknik data mining selalu menunjukkan suatu relasi yang baru dan attribut dependensi dalam data yang diteliti. (Edin Osmanbegovic & Mirza Suijic, 2012).
Dalam data mining, dilakukan pengklasifikasian nilai berdasarkan kategori- kategorinya dengan membangun sebuah model berdasarkan satu atau lebih variable kategori. Fungsi pengklasifikasian adalah untuk mencapai suatu pemahaman struktur basis data. Ada beberapa cara pengklasifikasian, yaitu Decision Tree, Bayesian Network, Lazy Classifier dan Rule based Classifier. (Aman Kataria & M.D. Singh 2013).
Salah satu metode dalam pengumpulan data dalam data mining adalah metode CRISP-DM (Cross Industry Standard Process for Data Mining) yang terdiri dari 6 tahapan, yaitu (Eka Sabua & Muhardi, 2016) :
1. Pemahaman terhadap bisnis.
2. Memahami data.
3. Mempersiapkan data.
4. Pemodelan algoritma.
5. Evaluasi hasil pengujian model.
6. Penyebaran atau pengunggahan produk.
2.5. Data Science
Statistika merupakan dasar dari ilmu data science yang telah ditemukan oleh Pierre Simon Laplace (1749-1827) dan Thomas Bayes (1701-1761).
Dalam Data Science, terdapat empat cara yang berbeda dalam mengeksplorasi data, yaitu:
1. Pencarian Kenyataan
Data bisa diambil dengan metode yang pasif atau aktif. Dalam berbagai kasus, data
dapat direpresentasikan sebagai respon dunia terhadap aksi kita. Jika kita
menganalisisnya dapat sangat bernilai ketika kita mengambil tindakan keputusan.
12
2. Pencarian Pola
Divide and conquer adalah pendekatan heuristic yang lama yang dapat digunakan untuk menyelesaikan permasalahan. Akan teatpi, tidak semua permasalahan dapat diimplementasikan dengan metode ini.
3. Memprediksi masa depan
Salah satu hal yang penting dalam pertanyaan ilmiah adalah bisa memprediksi apa yang terjadi pada masa yang akan dating dengan menggunkan sample data.
Analisis prediktif memberikan kita keputusan untuk mengambil Tindakan di masa yang akan dating. Tentu saja, yang diprediksi di masa depan.
4. Mengerti pengguna dan dunia.
Perusahaan besar dan pemerintah menyadari potensi ini sehingga banyak yang berinvestasi besar dalam bidang ilmu ini, seperti memahami bahasa manusia, computer vision, psikologi dan neuroscience. Pada proses ini, dibutuhkan proses yang sebenarnya yang menyeraupai keputusan dan perilaku seperti manusia.
(Laura Igual & Santi Segui, 2017).
2.6. Pengertian Algoritma
Algoritma adalah sekumpulan prosedur yang terdefinisi dengan baik yang memerlukan beberapa nilai, atau sekumpulan nilai, sebagai input dan menghasilkan beberapa nilai, atau sekumpulan nilai sebagai output. Sebuah algoritma adalah urutan atau langkah-langkah komputasi yang dapat mengubah input menjadi output. (Thomas Cormen & dkk, 2009).
2.7. Python
Python ditemukan oleh Guido van Rossum di Centrum Wiskunde &
Informatica (CWI) di Belanda pada tahun 1980-an. Bahasa pemrograman ini dinamakan Python berasal dari salah satu acara komedi kesukaan Guido, yaitu
“Monthy Python Flying Circus”. (John Hunt, 2019). Python merupakan bahasa
pemrograman yang memiliki struktur yang sempurna untuk para pemula. Python
merupakan bahasa pemrograman yang mudah dibaca, penggunaan memori yang
dinamis dan mudah diterjemahkan. Python dapat dikompilasi secara interpreter
sehingga kode dapat dieksekusi langsung did alam console Python tanpa
membutuhkantahap menerjemahkan ke dalam bahasa mesin. (Laura Igual & Santi Segui, 2017).
13
2.8. Algoritma k-Nearest Neighbors
Algoritma k-Nearest Neighbors adalah algoritma paling sederhana di Machine Learning. Cara penggunaanya adalah membangun sebuah model machine learning untuk menyimpan data training set dan membuat prediksi untuk data point yang baru, kemudian akan mencari data point terdekat. (Andreas C. Muller & Sarah Guido, 2017). Algoritma k-Nearest Neighbors merupakan algoritma supervised learning.
(Mustakim, Giantika Oktaviani, 2016).
Prinsip dari algoritma k-Nearest Neighbors adalah dengan menggunakan metode non-parametrik yang biasa digunakan pada klasifikasi dan regresi (Widodo Budiharto, 2016).
Langkah-langkah yang digunakan dalam mengimplementasikan algoritma k-Nearest Neighbors adalah sebagai berikut:
1. Kumpulkan data dengan berbagai metode.
2. Menghitung nilai jarak (distance calculation).
Pada perhitungan jarak, dapat menggunakan rumus euclidian distance yang dirumuskan sebagai berikut:
𝑑(𝑥, 𝑦) = √(𝑥
1− 𝑦
1)
2+ (𝑥
2− 𝑦
2)
2Jika x = (x
1, .... xn) dan y = (y
1, .... yn), maka dapat dirumuskan sebagai berikut (Miroslav Kubat, 2017):
𝑑
𝐸(𝑥, 𝑦) = √∑
𝑛𝑖=1(𝑥
𝑖− 𝑦
𝑖)
23. Menganalisis data dengan berbagai metode.
4. Memproses data training 5. Menghitung error rate.
6. Memasukkan data dan menjalankan algoritma sehingga dapat menentukan kelas mana yang sesuai dengan data tersebut. (Widodo Budiharto, 2016).
2.9. Algoritma Naive Bayes
Algoritma Naïve Bayes adalah teknik pengklasifikasian data yang cukup handal dan dapat diandalkan dengan menggunakan keluaran probabilitas dari sekumpulan kondisi menggunakan teorema Bayes. (Giuseppe Bonnaccorso, 2017).
Prinsip kerja dari algoritma Naive Bayes adalah dengan mengkalkulasikan
peluang dari tiap kelas-kelas data yang telah dikelompokkan berdasarkan kriteria-
14
kriteria tertentu. (Ethem Alpaydin, 2010).
Naive Bayes Classifier diturunkan dari pengklasifikasian metode Bayesian.
Dalam pengklasifikasian Bayesian, menggunakan persamaan rumus peluang dari label yang diberikan beberapa feature. Sehingga dapat dituliskan menjadi 𝑃(𝐿 | features).
Persamaannya dapat ditulis sebagai berikut:
𝑃(𝐿|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) = 𝑃(𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠|𝐿)𝑃(𝐿) 𝑃(𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠)
Jika kita ingin memutuskan di antara 2 (dua) label, maka L dapat diasumsikan menjadi L
1dan L
2maka cara satu-satunya adalah dengan membuat rumus perhitungan rasio peluang dari tiap labelnya. Persamaanya dapat ditulis sebagai berikut (Jake VanderPlas, 2017):
𝑃(𝐿
1|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠)
(𝐿
2|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) = 𝑃(𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠|𝐿
1)𝑃(𝐿
1) 𝑃(𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠|𝐿
2)𝑃(𝐿
2)
2.9.1. Bernoulli Naive Bayes
Jika x adalah variable acak maka x adalah Bernoulli-distributed, bisa diasumsikan sebagai dua nilai yang dapat dianggap sebagai 0 dan 1, maka peluangnya adalah:
𝑃(𝑋) = { 𝑝 𝑖𝑓 𝑋 = 1
𝑞 𝑖𝑓 𝑋 = 0 dimana q = 1 – p dan 0 < p < 1 2.9.2. Multinominal Naive Bayes
Distribusi multinominal sangat berguna pada tipe model feature vectors dimana setiap nilainya memrepresentasikan jumlah occurrences atau frekuensi relatifnya. Jika vektor feature memiliki jumlah sebanyak n dan setiap n diasumsukan ke dalam nilai k yang berbeda dengan peluang p
k’maka:
𝑃(𝑋
1= 𝑥
1∩ 𝑋
2= 𝑥
2∩ … ∩ 𝑋
𝑘= 𝑥
𝑘) = 𝑛!
∏ 𝑥
𝑖 1! ∏ 𝑝
𝑖𝑥𝑖𝑖
2.9.3. Gaussian Naive Bayes
Gaussian Naive Bayes dapat diterapkan pada nilai yang bersifat kontinu dimana peluang bisa dimodelkan ke dalam distribusi Gaussian.
𝑃(𝑥) = 1
√2𝜋𝜎
2𝑒
(𝑥−𝜇)2 2𝜎2
Kondisi peluang 𝑃(𝑥
𝑖|𝑦) juga termasuk distribusi Gaussian. Untuk memperkirakan
rata-rata dan variance dari tiap-tiap distribusi menggunakan pendekatan maximum
15
likelihood. Persamaannya dapat dituliskan sebagai berikut:
𝐿(𝜇; 𝜎
2; 𝑥
1|𝑦) = log ∏ 𝑃(𝑥
𝑖(𝑘)|𝑦) = ∑ log 𝑃(𝑥
𝑖(𝑘)|𝑦)
𝑘
2.10. Cross Validation
Ada 3 (tiga) macam Cross Validation, yaitu:
2.10.1. Random Subsampling
Random Subsampling atau lebih dikenal sebagai metode Monte Carlo Cross Validation. Metode ini menggunakan data latih dan data uji yang dibagi secara acak.
Pemilihan data latih dan data uji secara acak pada dataset yang sama dapat dilakukan secara berulang sehingga menghasilkan error estimasi rata-rata dari percobaan 1.
2.10.2. K-Fold Cross Validation
Dalam teknik ini, data dibagi menjadi k bagian dimana masing-masing memiliki jumlah data yang sama. Bagian pertama digunakan sebagai data uji dan sisanya dijadikan sebagai data latih. Selanjutnya, bagian kedua digunakan sebagai data uji baru, bagian sisanya untuk data latih yang baru, dan begitu seterusnya hingga sebanyak k kali
2.10.3. Leave-one-out Cross Validation
Leave-one-out Cross Validation merupakan turunan dari metode K-Fold Cross Validation, dimana K merupakan konstanta sebesar jumlah data. (Wesley, 2019).
2.11. Analisis Korelasi
Korelasi Koefisien adalah suatu cara untuk mengukur tingkat keterkaitan antara variabel X dengan variabel Y dan sebaliknya. Nilai korelasi variabel berkisar dari -1 hingga 1 dimana -1 artinya variabel tersebut memiliki anti korelasi, 0 artinya tidak memiliki korelasi atau bisa dibilang variabel tersebut independent dan 1 artinya memiliki korelasi yang sangat kuat.
Ada 2 (dua) jenis metode dalam pencarian korelasi variabel, yaitu:
2.11.1. Pearson Correlation Coefficient
Pearson Correlation Coefficient menggunakan korelasi secara linear dalam pencarian
korelasi variabel antara dua variabel secara kontinu. Dua variabel dapat diasumsikan
16
sebagai X dan Y yang memiliki n banyak sampel penelitian. Maka, dapat dirumuskan sebagai berikut:
𝑟 = (𝑁 ∑ 𝑋
𝑖𝑌
𝑖− ∑ 𝑋
𝑖∑ 𝑌
𝑖)
√𝑁𝑋
𝑖2− (∑ 𝑋
1)
2√𝑁𝑌
𝑖2− (∑ 𝑌
1)
2Nilai maksimum pada r adalah 1 sedangkan nilai paling rendah pada r adalah -1. Jika X dan Y memiliki korelasi yang sangat kuat atau positive correlation maka nilai r adalah 1. Jika X dan Y memiliki korelasi yang tidak jelas, maka nilai r adalah 0. Jika X dan Y tidak memiliki korelasi atau negative correlation maka nilai r adalah -1 (HongHui Xu & Yong Deng, 2017).
2.11.2. Spearman Correlation Coefficient
Pada Spearman Correlation, pada dasarnya untuk menghitung korelasi variabel dengan menggunakan sistem peringkat pada data-data yang terdapat pada variabel- variabel yang ingin direliti korelasinya.
Asumsikan ada data (x
1, y
1) dan (x
2, y
2) dimana x
1< x
2dan y
1< y
2maka akan menghasilkan nilai yang positif dimana memiliki korelasi yang cukup baik. Apabila y
2< y
1maka mendapatkan nilai yang negatif menandkan anti-korelasi dari variabel- variabel yang diteliti.
Dalam mencari korelasi variabel, dapat menggunakan rumus sebagai berikut:
𝜌 = 1 − 6 ∑ 𝑑
𝑖2𝑛(𝑛
2− 1)
Pada persamaan diatas dimana d
imerupakan 𝑑
𝑖= 𝑟𝑎𝑛𝑘(𝑥
𝑖) − 𝑟𝑎𝑛𝑘(𝑦
𝑖) . Dalam
pencarian nilai tertinggi pada korelasi non-linear, spearman correlation kurang
sensitif dibandingkan dengan pearson correlation. (Steven S. Skiena, 2018)
17
2.6. Penelitian yang Terdahulu
No. Nama Judul Hasil Penelitian
1 Slamet Wiyono,
Comparative Study Algoritma KNN dapat memprediksidkk. of Machine memprediksi dengan baik jika nilai
Learning KNN, SVM
k = 5. Algoritma SVM dapat a
nd Decision Treememprediksi prestasi mahasiswa Algorithm to dengan baik jika nilai C = 1.
Predict Student Algoritma Decision Tree dengan Performance
nilai cp = 0.6689113. Algoritmadengan akurasi tertinggi adalah algoritma SVM dengan nilai 95%
Dibandingkan dengan algoritma Decision Tree dengan akurasi 93%
Dan algoritma KNN dengan akurasi
92% dalam memprediksi prestasi Mahasiswa.
2 Aman Kataria, A Review of Data Dengan melakukan perbandingan dkk. Classification euclidian distance dengan
distances
Using k-Nearest lainnya dan jika dibandingkan Neighbors dengan algoritma Naive Bayes, Algorithm algoritma k-Nearest Neighbors
lebih efisien. Dengan
mengkombinasikan algoritma Genetika menjadi hampir 100%.
3 Moch Aziz K-Nearest
Kelemahan dari algoritma k-NearestMuslim, dkk. Neighbors
Neighbors adalah waktu pemrosesanand Naive Bayes dan tingkat akurasi yang rendah Classifier
Algorithm
18
In Determining The Classification of Healthy Card Indonesia Giving to The Poor
4 Mustakim, dkk Algoritma Prediksi prestasi mahasiswa
k-Nearest menghasilkan nilai akurasi sebesar
Neighbors
82%. Pengujian algoritmaClassification
dilakukan menggunakan perhitunganSebagai Sistem confusion matrix.
Prediksi Prestasi
Mahasiswa
5 Babajide O. Afeni, Hypertension Dengan melakukan perbandingan dkk. Prediction System dengan Naive Bayes dan Decision
Using Naive BayesTree dengan menggunakan k-fold Classifier
Validation dalam 10 kali pengujianmenyatakan bahwa tingkat akurasi Dari Naive Bayes sebesar 83.67%
dan Decision Tree sebesar 77.57%
6 Ketut Artaye Implementation Dari sampel 50 data training dari of Naive Bayes
setiap class dengan total persentaseClassification 42% Fast Class, 12% time class Method to Predict
Dan 46% late class. TahapGraduation Time of
Berikutnya diuji dengan 20 data IBI Darmajaya training dengan total persentase Scholar 20% fast class, 35% time class,
dan 45% late class.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem merupakan teknik dalam menguraikan suatu permasalahan sebuah sistem menjadi komponen-komponen yang lebih sederhana sehingga mampu mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk mencapai tujuan sistem. Analisis sistem dapat dilakukan untuk mengidentifikasi hal-hal yang diperlukan pada sistem, agar sistem dapat dibangun dan bekerja sesuai kebutuhan pengguna. Selain itu, analisis sistem dapat dilakukan untuk mengevaluasi kelayakan sistem, analisis teknis dan ekonomis, mengalokasikan fungsi untuk perangkat lunak, perangkat keras, pengguna dan elemen lainnya.
Pada penelitian ini, sistem yang akan dibangun adalah sistem cerdas yang dapat belajar sendiri yang difungsikan untuk memprediksi prestasi mahasiswa berdasarkan dataset yang dikumpulkan dari pengisian kuesioner untuk mendapatkan data-data yang akurat dari pengguna sendiri.
Tahapan-tahap yang akan dilakukan dalam analisis sistem adalah sebagai berikut:
3.1.1. Analisis Masalah
Pemanfaatan sistem cerdas dalam mempermudah pengguna dalam menyelesaikan pekerjaan dan memberikan solusi terhadap suatu permasalahan. Seperti yang telah dijelaskan dalam latar belakang penulisan tugas akhir ini, permasalahan yang dapat diselesaikan adalah mampu memprediksi prestasi mahasiswa secara akurat dan kemampuan dari sistem tersebut dapat diperbaharui. Untuk menyelesaikan masalah tersebut, dibuatlah suatu sistem cerdas yang dapat membantu pengguna untuk memprediksi prestasi mahasiswa berdasarkan dataset yang terkumpulkan dari berbagai
19
20
kalangan mahasiswa aktif dengan menggunakan algoritma k-Nearest Neighbors dan algoritma Naive Bayes untuk menentukan tingkat akurasi yang terbaik dalam memprediksi prestasi mahasiswa.
Pada penelitian ini, dataset yang digunakan merupakan data dengan format .csv yang terdiri dari 1026 data mahasiswa aktif angkatan 2014 sampai angkatan 2017 Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dengan variable pembanding, yaitu: jenis kelamin, nama program studi, jalur masuk dan asal daerah yang digunakan dan variable utamanya adalah status prestasi mahasiswa.
Jumlah data terdiri masing-masing 507 data mahasiswa Ilmu Komputer dan 519 data mahasiswa Teknologi Informasi. Setiap data akan diekstraksi berdasarkan kategori variable dan dilakukan preprocessing data. Dataset yang telah diproses akan dibagi menjadi 70% data training dan 30% data testing. Data training kemudian dilatih dengan menggunakan algoritma k-Nearest Neighbors dan algoritma Naive Bayes dan dilakukan testing dengan menggunakan data testing yang divalidasi menggunakan metode Cross Validation sehingga mendapatkan akurasi yang maksimal.
Untuk mengidentifikasi masalah tersebut, penulis menggunakan Ishikawa diagram (fishbone/cause-effect diagram). Ishikawa diagram adalah diagram yang menunjukkan penyebab – penyebab dari sebuah kejadian yang spesifik. Ishikawa diagram diperkenalkan oleh Kaoru Ishikawa pada tahun 1968. Diagram ini umumnya digunakan untuk mengidentifikasi faktor-faktor yang signifikan memberi efek pada sebuah kejadian. Ishikawa diagram pada sistem ini dapat dilihat pada Gambar 3.1.
Gambar 3.1. Ishikawa Diagram Sistem
21
Dari gambar diatas dapat dilihat bagaimana sistem akan memprediksi prestasi mahasiswa. Diagram diatas terbagai atas dua bagian, yaitu head dan bone. Bone terdiri dari empat aspek yaitu material, metode, manusia dan mesin. Material adalah hal-hal yang diperlukan untuk menjalankan sistem yaitu memprediksi prestasi mahasiswa dengan membandingkan algoritma k-Nearest Neighbors dan algoritma Naive Bayes.
Metode adalah kebutuhan yang spesifik dari proses berupa ekstraksi fitur, preprocessing data. Manusia adalah pengguna yang melakukan proses interaksi dengan sistem yaitu menentukan dataset yang akan digunakan pada sistem agar sistem dapat dilatih dan diuji dengan baik. Metode adalah suatu kebutuhan yang spesifik dari proses berupa ekstraksi fitur, validasi hasil training menggunakan 10 fold Cross Validation dan preprocessing data. Mesin adalah hal yang dilakukan oleh sistem pakar dengan memberikan hasil prediksi prestasi mahasiswa yaitu dengan validasi hasil training dengan data testing dan diuji dengan menggunakan metode 10 fold Cross Validation dan metrics accuracy.
3.1.2. Analisis Kebutuhan
Analisis kebutuhan adalah sebuah proses penguraian dari sebuah sistem yang utuh ke dalam elemen-elemen yang dibutuhkan dengan tujuan untuk mengidentifikasi dan mengevaluasi permasalahan, hambatan dan kebutuhan yang ada untuk mendukung sistem dapat berjalan dengan optimal.
3.1.2.1.
Kebutuhan FungsionalKebutuhan fungsional adalah suatu proses yang menggambarkan dan menjelaskan kebutuhan-kebutuhan yang diperlukan sistem sehingga sistem dapat bekerja dengan baik dan sesuai dengan yang diharapkan. Adapun kebutuhan fungsional dari sistem ini yaitu: