SKRIPSI
EVALUASI KINERJA AKADEMIK MAHASISWA BERDASAR PENDEKATAN NAÏVE BAYES
STUDI KASUS: MAHASISWA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
Disusun oleh : Yohanes Elkana Muhartoyo
NIM : 145314095
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
YOGYAKARTA
2021
THESIS
STUDENT ACADEMIC PERFORMANCE EVALUATION BASED ON NAÏVE BAYES APPROACH
CASE STUDY: STUDENT OF FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
Arranged by :
Yohanes Elkana Muhartoyo Student ID Number :
145314095
INFORMATION ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
YOGYAKARTA
2021
HALAMAN PERSETUJUAN PEMBIMBING SKRIPSI
EVALUASI KENERJA AKADEMⅢ MAHASISWA BERDÅSAR PENDEKATAN NA羊VE BAYES
STUDI KASUS: MAHASISWA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARRA
Te看ah Disetujui Oleh:
Pembimbing Tugas Akhir
」 ̄二三孝二二
Dr.Cyprianus Kuntoro Adi, S.J. M.A., M.Sc・
HALAMAN PENGESAHAN SKRIPSI
EVALUASI KENERJA AKADEMIK MAHASISWA BERDASAR PENDEKATAN NAIVE BAYES
STUDI KASUS: MAHASISV座しFAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
Dipersiapkan dan drfulis oleh:
YOHANES ELKANA MUHARTOYO
/妄簑箋¥ 参ミミ
di d言説tia Peng可i
Fakultas Sains d狐TeknoIogi
Universitas Sanata Dharma Dekan,
図星困
i朗ungkasi, S.Si., M.Math.Sc.,Ph.D
PERNYATAAN KEASLIAN KARYA
Saya menyatakan bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, Sebagaimana layaknya karya ilmiah.
Yogyakarta,.里三甲卑∴ ÷沖
P enulis
Yohanes Elkana Muhartoyo
、 項
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, Saya mahsiswa Universitas Sanata Dharma : Nama : Yohanes Elkana Muhartoyo
NIM : 145314095
Demi pengembangan ilmu pengetahuan, Saya memberikan k印ada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
EVALUASI KINERJA AKADEMIK MAHASISWA BERDASAR PENDEKATAN NAIVE BAYES
STUDI KASUS: MAHASISWA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dhama hak untuk menylmPan, mengalihkan, dalam bentuk media lain, mengelolanya dalam bentuk pangkalan
data, mendistribusikan secara terbatas, dan mempublikasikamya di intemet atau
media lain untuk kepentingan akademis tanpa perlu memintaむvn dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya Sebagai penulis. Dengan demikian pemyataan ini saya buat dengan sebenamya.
Dibuat di Yogyakarta Yang menyatakan,
(Yohanes Elkana Muhartoyo)
HALAMAN PERSEMBAHAN Skripsi ini saya persembahkan untuk:
1. Tuhan Yesus Kristus yang selalu membimbing, memberi, dan
mengarahkan penulis agar senantiasa dapat merealisasikan skripsi ini.
2. Orang tua, kakak, serta seluruh keluarga yang selalu memberikan doa, dukungan, dan semangat.
3. Seluruh dosen dan karyawan yang telah mendukung dan memberi pengetahuan selama perkuliahan.
4. Teman – teman seluruh angkatan yang telah mendukung, memberi semangat, dan motivasi.
“NRIMO ING PANDUM”
Nrimo atau narima sebagaimana dalam pitutur nrima ing pandum merupakan versi nge-pop dari salah satu bait serat Kalatida.
Karya Ranggawarsita.
Nrima, berterima atas kenyataan hidup, dianggap sebagai perwujudkan dari kematangan moral masyarakat Jawa.
Abstrak
Di dalam dunia perkuliahan terdapat pula manfaat dan tujuan yang banyak. Salah satu contoh dari manfaat kuliah adalah mendapatkan ilmu yang memang dibutuhkan. Selama ini mahasiswa hanyalah menjalani masa perkuliahan dengan apa adanya dan dapat dikatakan tidak terlalu perduli dengan konsekuensi yang akan diterima jika kinerja dari mahasiswa tersebut kurang baik dan kemudian menyesalinya di akhir masa perkuliahan.
Penelitian yang akan dilakukan dengan metode Naive Bayes untuk mengetahui evaluasi pola akademik untuk mengetahui tepat waktunya atau tidak dalam proses kelulusan. Penelitian ini dibantu dengan pembuatan tools untuk mempermudah pencarian hasil dengan bahasa pemrograman Java dan basis data MySQL. Pengujian data akan dibagi dengan cross validation sedangkan untuk perhitungan akurasi digunakan dengan pendekatan Confusion matrix.
Hasil dari dari penelitian ini dengan klasifikasi 2 kelas menghasilkan nilai akurasi yang lebih tinggi dibandingkan dengan jumlah target 4 kelas dengan nilai rata – rata berkisar 80 % dibandingkan dengan pengujian dengan 4 kelas dengan berkisar 50%. hal ini terjadi dikarenakan distribusi kelas yang tidak terlalu beragam dibandingkan dengan jumlah data keseluruhan. Dengan adanya pembagian target kelas dengan 2 label yang menginformasikan Lulus Tepat waktu dan Lulus tidak tepat waktu menghasilkan akurasi maksimal.
Kata Kunci : Akademik, pengujian, akurasi, Naive Bayes.
ABSTRACK
In the world of education there are also many benefits and goals. One example of the benefits of college is getting the knowledge that is needed. So far, students are only going through their lectures as they are and it can be said that they don't really care about the consequences that will be received if the student's performance is not good and then regrets it at the end of the lecture period.
The research will be carried out using the Naive Bayes method to determine the evaluation of academic patterns to find out on time or not in the graduation process. This research is assisted by making tools to make it easier to find results using the Java programming language and MySQL database. Testing the data will be divided by cross validation, while the accuracy calculation is used with the Confusion matrix approach.
The results of this study with the classification of 2 classes produce a higher accuracy value than the target number of 4 classes with an average value of around 80% compared to testing with 4 classes with a range of 50%. This happens because the class distribution is not too diverse compared to the total data. With the division of class targets with 2 labels that inform Passing on time and Passing not on time produces maximum accuracy.
Keywords: Academic, testing, accuracy, Naive Bayes.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa atas berkah dan penyertaannya, sehingga penulis dapat menyelesaikan tugas akhir ini sebagai salah satu syarat akademik jurusan Informatika Universitas Sanata Dharma Yogyakarta.
Pada kesempatan ini, penulis mengucapkan terima kasih kepada seluruh pihak yang telah membantu dalam proses pengerjaan tugas akhir ini. Ucapan terimakasih disampaikan kepada:
1. Tuhan Yesus Kristus yang selalu membimbing dan memberi penyertaan.
2. Bapak Sudi Mungkasi, S.Si, M.Math.Sc., Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
3. Bapak Robertus Adi Nugroho S.T., M.Eng. selaku Ketua Prodi Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
4. Romo Dr. Cyprianus Kuntoro Adi, S.J. M.A., M.Sc. selaku Dosen Pembimbing yang selalu mendukung, mengarahkan, dan sabar selama bimbingan tugas akhir.
5. Bapak Antonius Joko Muhartoyo, SH dan Ibu Bernadheta Rusminarsih selaku kedua orang tua saya yang telah memberikan semangat, motivasi, biaya, dan segalanya untuk kesuksesan penulis dalam hal menyelesaikan tugas akhir ini.
6. Chaterina Rosalia Muhartoyo, S.Farm., Apt. selaku kakak kandung yang selalu mengarahkan dan memberi semangat agar cepat menyelesaikan yang sudah menjadi tanggung jawab penulis.
7. Teman – teman Informatika dari segala angkatan terutama angkatan 2014 yang sama – sama berjuang menyelesaikan tugas akhir.
DAFTAR ISI
Halaman Persetujuan ………..i
Halaman Pengesahan ……….ii
Halaman Pernyataan Keaslian Karya ………iii
Halaman Pernyataan Persetujuan Publikasi ………..iv
Halaman Persembahan ………...v
Halaman Motto ………..vi
Abstrak ... I Abstract ………..II Kata Pengantar ………..III DAFTAR ISI ... 1
BAB I PENDAHULUAN ... 5
1.1 Latar Belakang ... 5
1.2 Perumusan Masalah... 7
1.3 Batasan Masalah ... 7
1.4 Maksud Dan Tujuan ... 8
1.5 Sistematika Penulisan ... 8
BAB II LANDASAN TEORI ... 10
2.1 Data Mining ... 10
2.2 Metode Data Mining ... 13
2.3 Metode Klasifikasi Data Mining... 15
2.4 Metode Naive Bayes ... 16
2.5 Cross Validation ... 17
2.6 Confusion Matrix ... 18
BAB III ANALISIS DAN PERANCANGAN ... 20
3.1 Metodelogi Penelitian... 20
3.1.1 Jalan Penelitian ... 20
3.1.2 Jenis dan Sumber Data ... 20
3.1.3 Metode Pengumpulan Data ... 21
3.2 Alat Penelitan ... 21
3.2.1 Perangkat Lunak ... 22
3.2.2 Perangkat Keras ... 22
3.3 Desain Alur Sistem ... 22
3.3.1 Data Mahasiswa ... 23
3.3.2 Preprocessing ... 23
3.3.3 Modeling dengan Naive Bayes ... 24
3.3.4 Model ... 24
3.3.5 Hasil ... 25
3.3.6 Data Uji Model ... 25
3.4 Analisis Data ... 25
3.5 Analisis Kebutuhan sistem ... 33
3.6 Perancangan Interface ... 35
3.6.1 Halaman Login ... 35
3.6.2 Halaman Beranda ... 35
3.6.3 Halaman Admin ... 36
3.6.4 Halaman Data Upload ... 37
3.6.5 Halaman Data Mahasiswa ... 37
3.6.6 Halaman Akurasi Pembagian ... 38
3.6.7 Halaman Akurasi Hasil ... 38
3.6.8 Halaman Olah Pengujian ... 39
3.7 Rencana Pengujian ... 40
BAB IV IMPLEMANTASI DAN PEMBAHASAN... 42
4.1 Implementasi Sistem ... 42
4.2 Pembahasan Basis Data Dan Tabel ... 42
4.2.1 Tabel Admin. ... 42
4.2.2 Tabel Mahasiswa. ... 43
4.2.3 Tabel Mahasiswa Training. ... 43
4.2.4 Tabel Mahasiswa Testing. ... 44
4.2.5 Tabel Mahasiswa Tunggal. ... 44
4.3 Pembuatan Sistem Master Data ... 45
4.3.1 Koneksi Basis Data ... 45
4.3.1 Skrip Simpan Data ... 45
4.3.2 Skrip Tampil Data ... 46
4.3.3 Skrip Ubah Data ... 46
4.3.4 Skrip Hapus Data ... 47
4.4 Tahapan Implementasi Metode ... 47
4.4.1 Pengambilan Data File Excel ... 47
4.4.2 Transformasi Data IPK ... 48
4.4.3 Pembagian Data Training dan Testing ... 48
4.4.4 Proses Pengujian Bayes ... 49
4.4.5 Menampilkan Hasil Testing ... 50
4.4.5 Menampilkan Akurasi... 51
4.6 Pembahasan Antarmuka ... 52
4.4.1 Halaman Login ... 52
4.4.2 Halaman Beranda ... 52
4.4.3 Halaman Data Admin ... 53
4.4.4 Halaman Import ... 54
4.4.5 Halaman Data Mahasiswa ... 55
4.4.6 Halaman Pengujian Akurasi ... 56
4.4.7 Halaman Pengujian Tunggal ... 56
4.7 Uji coba program dan sistem ... 57
4.5.1 White Box testing ... 58
4.5.2 Black Box testing ... 58
4.7 Pengujian Naive Bayes ... 60
4.7.1 Pengujian Perhitungan Manual ... 60
4.7.2 Pengujian Fold 3... 61
BAB V KESIMPULAN ... 82
5.1 Kesimpulan ... 82
5.2 Saran ... 83
DAFTAR PUSTAKA ... 84
LAMPIRAN ... 85
BAB I PENDAHULUAN
1.1 Latar Belakang
Sebagian orang yang belum mengalami kehidupan perkuliahan, menganggap jika fase kuliah hanyalah proses perkuliahan, belajar, ujian dan kemudian lulus. Namun pada kenyataannya yang dialami oleh mahasiswa tidaklah semudah itu, karena didalam perkuliahan harus memenuhi berbagai persyaratan untuk dinyatakan telah lulus kuliah. Pada umumnya syarat yang harus dipernuhi oleh seorang mahasiswa untuk dinyatakan lulus adalah telah menyelesaikan tugas akhir dan menyelesaikan jumlah mata kuliah yang telah ditentukan serta berbagai pesyaratan lainnya.
Di dalam dunia perkuliahan terdapat pula manfaat dan tujuan yang banyak.
Salah satu contoh dari manfaat kuliah adalah mendapatkan ilmu yang memang dibutuhkan. Misalkan mahasiswa tersebut berminat di bidang otomotif lalu mahasiswa tersebut kuliah di jurusan teknik mesin, maka mahasiswa tersebut akan mendapatkan ilmu-ilmu yang mempelajari tentang mesin dan masalah yang terkadang muncul di mesin dan cara mengatasinya. Lalu untuk tujuan kuliah pada umumnya untuk mendapatkan ilmu yang lebih yang nantinya akan digunakan untuk bekerja dibidang yang sudah dipelajari selama di dunia perkuliahan.
Selama ini mahasiswa hanyalah menjalani masa perkuliahan dengan apa adanya dan dapat dikatakan tidak terlalu perduli dengan konsekuensi yang akan diterima jika kinerja dari mahasiswa tersebut kurang baik dan kemudian menyesalinya di akhir masa perkuliahan. Maka dari itu penulis mengangkat kasus
ini untuk melakukan penelitian dengan mencoba memprediksi tepat waktu atau tidaknya seorang mahasiswa akan lulus dari bangku perkuliahan dengan menggunakan nilai IPK sebagai acuan dan metode Naive Bayes untuk mengolah data.
Penelitian tentang mengevaluasi Prestasi Akademik Mahasiswa Universitas Nusantara PGRI Kediri dengan algoritma Naive Bayes pernah dilakukan dengan menggunakan data mahasiswa angkatan 2010 sampai 2012.
Atribut yang digunakan antara lain atribut kota asal, sekolah asal, pekerjaan dan penghasilan orang tua, nilai Indeks Prestasi Komulatif (IPK) serta Indeks Prestasi (IP) semester satu sampai lima. Hasil penelitian berupa klasifikasi prestasi akademik mahasiswa berdasarkan pola prestasi akademik mahasiswa periode sebelumnya. Hasil evaluasi menghasilkan kategori kelulusan tepat dan tidak dengan menunjukkan akurasi sebesar 66,6% dengan perbandingan data training dan uji 70:30 (Farida, 2017).
Penelitian yang kedua mengenai Prediksi Kelulusan Mahasiswa Menggunakan Algoritma Naïve Bayes Classifier pada Universitas Telkom.
Dataset diperoleh dari Direktorat Sistem Informasi (SISFO), Universitas Telkom yang berisi 4000. Hasil penelitian ini membuktikan bahwa NBC berhasil diimplementasikan untuk memprediksi kelulusan mahasiswa.dengan menghasilkan akurasi sebesar 73.72. Sutoyo (2020).
Penelitian tentang prediksi kelulusan mahasiswa dilakukan di Universitas Pendidikan Ganesha. Variabel yang digunakan adalah jurusan, asal sekolah, jalur masuk perguruan tinggi, indek prestasi kumulatif, SKS kumulatif, dan tahun lulus
mahasiswa. Akurasi algoritme teorema bayes untuk memprediksi kelulusan mahasiswa sebesar 80.96% dengan data latih sebanyak 3892 data (Subawa, 2019).
Berdasarkan latar belakang dan penelitian yang terkait maka penulis mengangkat permasalahan tentang evaluasi akademik dengan algoritma Naive Bayes.
1.2 Perumusan Masalah
Berdasarkan latar belakang diatas, maka rumusan masalah untuk penelitian ini adalah sebagai berikut:
1. Bagaimana pendekatan Naive Bayes secara otomatis memprediksi kinerja kelulusan dengan baik ?
2. Berapa akurasi metode Naive Bayes memprediksi kinerja mahasiswa ?
1.3 Batasan Masalah
Batasan masalah pada penelitian ini adalah:
1. Ruang lingkup penelitian dibatasi pada data mahasiswa Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Data menggunakan data Mahasiswa Fakultas Sains dan Teknologi Tahun Akademik 2010-2014 yang sudah dinyatakan lulus dan tidak lulus (DO).
3. Variabel yang digunakan dalam penelitian ini berupa jurusan, jenis kelamin, IP semester 1 sampai dengan 4, dan IPK kelulusan.
4. Variabel mahasiswa yang digunakan dipilih berdasarkan data dengan status mahasiswa lulus.
5. Pengujian dilakukan dengan metode K-Fold cross validation dengan nilai fold 3.
6. Pengukuran akurasi kinerja naive bayes menggunakan pendekatan Confusion matrix.
7. Hasil dari penelitian ini berupa nilai akurasi Naive Bayes dengan 2 pendekatan klasifikasi kelulusan yaitu dengan 4 klasifikasi dan 2 klasifikasi.
1.4 Maksud Dan Tujuan
Maksud dan tujuan dari penelitian ini adalah untuk memprediksi cepat atau lambatnya mahasiswa akan lulus berdasarkan nilai IPK(Indeks Prestasi Kumulatif).
1.5 Sistematika Penulisan
Sistematika di dalam penulisan tugas akhir ini dapat dipaparkan sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini akan diuraikan mengenai latar belakang , rumusan masalah, batasan masalah, maksud dan tujuan, dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini akan diuraikan landasan teori-teori yang mendasari pembahasan secara detail terkait. Teori yang ada diantaranya bahasan tentang data mining, klasifikasi dan metode yang digunakan.
BAB III ANALISIS DAN PERANCANGAN
Pada bab ini akan membahas tentang tahapan penelitian yang dilakukan, desain sistem, analisis data dan perancangan tampilan.
BAB IV IMPLEMENTASI DAN PEMBAHASAN
Pada bab ini membahas tentang hasil dari implementasi sistem. Selain itu dibahas pembuatan sistem, serta pengujian sistem dan pengujian algoritma Naive Bayes.
BAB V PENUTUP
Pada bab ini membahas kesimpulan dan saran dengan penelitian.
BAB II LANDASAN TEORI
2.1 Data Mining
Secara sederhana data mining adalah penambangan atau penemuan informasi baru dengan mencari pola atau aturan tertentu dari sejumlah data yang sangat besar (Davies, 2004). Menurut Pramudiono (2007), Data Mining juga disebut sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tiak diketahui secara manual dari suatu kumpulan data.
Menurut Santoso (2007), Data Mining sering juga disebut sebagai knowledge discovery in database(KDD). KDD adalah kegiatan yang meliputi pengumpulan, pemakaian data, historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar. Data mining terdapat 7 tahap, yaitu:
1. Pembersihan data (data cleaning)
Pembersihan data merupakan proses menghilangkan noise dan data yang tidak konsisten atau data tidak relevan. Pada umumnya data yang diperoleh, baik dari database suatu perusahaan maupun hasil eksperimen, memiliki isian-isian yang tidak sempurna seperti data yang hilang, data yang tidak valid atau juga hanya sekedar salah ketik. Selain itu, ada juga atribut-atribut data yang tidak relevan dengan hipotesa data mining yang dimiliki. Data-data yang tidak relevan itu juga lebih baik dibuang.
Pembersihan data juga akan mempengaruhi performasi dari teknik data
mining karena data yang ditangani akan berkurang jumlah dan kompleksitasnya.
2. Integrasi data (data integration)
Integrasi data merupakan penggabungan data dari berbagai database ke dalam satu database baru. Tidak jarang data yang diperlukan untuk data mining tidak hanya berasal dari satu database tetapi juga berasal dari beberapa database atau file teks. Integrasi data dilakukan pada atribut- aribut yang mengidentifikasikan entitas-entitas yang unik seperti atribut nama, jenis produk, nomor pelanggan dan lainnya. Integrasi data perlu dilakukan secara cermat karena kesalahan pada integrasi data bisa menghasilkan hasil yang menyimpang dan bahkan menyesatkan pengambilan aksi nantinya. Sebagai contoh bila integrasi data berdasarkan jenis produk ternyata menggabungkan produk dari kategori yang berbeda maka akan didapatkan korelasi antar produk yang sebenarnya tidak ada.
3. Seleksi Data (Data Selection)
Data yang ada pada database sering kali tidak semuanya dipakai, oleh karena itu hanya data yang sesuai untuk dianalisis yang akan diambil dari database. Sebagai contoh, sebuah kasus yang meneliti faktor kecenderungan orang membeli dalam kasus market basket analysis, tidak perlu mengambil nama pelanggan, cukup dengan id pelanggan saja.
4. Transformasi data (Data Transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam data mining. Beberapa metode data mining membutuhkan format
data yang khusus sebelum bisa diaplikasikan. Sebagai contoh beberapa metode standar seperti analisis asosiasi dan clustering hanya bisa menerima input data kategorikal. Karenanya data berupa angka numerik yang berlanjut perlu dibagi-bagi menjadi beberapa interval. Proses ini sering disebut transformasi data.
5. Penambangan Data (Data Mining)
Penambangan data merupakan proses utama mencari pengetahuan dari informasi tersembunyi. Penambangan data adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu. Teknik dalam data mining sangat bervariasi, pemilihan teknik yang tepat sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
6. Evaluasi pola (pattern evaluation)
Untuk mengidentifikasi pola-pola menarik kedalam knowledge based yang ditemukan. Dalam tahap ini hasil dari teknik data mining berupa pola-pola yang khas maupun model prediksi dievaluasi untuk menilai apakah hipotesa yang ada memang tercapai. Bila ternyata hasil yang diperoleh tidak sesuai hipotesa ada beberapa alternatif yang dapat diambil seperti menjadikannya umpan balik untuk memperbaiki proses data mining, mencoba metode data mining lain yang lebih sesuai, atau menerima hasil ini sebagai suatu hasil yang di luar dugaan yang mungkin bermanfaat.
7. Presentasi pengetahuan (knowledge presentation),
Merupakan visualisasi dan penyajian pengetahuan mengenai metode yang digunakan untuk memperoleh pengetahuan yang diperoleh pengguna.
Tahap terakhir dari proses data mining adalah bagaimana memformulasikan keputusan atau aksi dari hasil analisis yang didapat. Ada kalanya hal ini harus melibatkan orang-orang yang tidak memahami data mining. Karenanya presentasi hasil data mining dalam bentuk pengetahuan yang bisa dipahami semua orang adalah satu tahapan yang diperlukan dalam proses data mining. Dalam presentasi ini, visualisasi juga bisa membantu mengkomunikasikan hasil data mining (Han, 2006)
2.2 Metode Data Mining
Secara umum, metode data mining dapat dibagi menjadi dua : deskriptif dan prediktif. Deskriptif berarti data mining digunakan untuk mencari pola-pola yang dapat dipahami manusia yang menjelaskan karakteristik data. Sedangkan prediktif berarti data mining digunakan untuk membentuk sebuah model pengetahuan yang akan digunakan untuk melakukan prediksi (Suyanto, 2017).
Metode yang ada dalam data mining adalah sebagai berikut : 1. Klasifikasi
Klasifikasi merupakan proses untuk menemukan sekumpulan model yang dijelaskan kelas-kelas data, sehingga model tersebut dapat digunakan untuk memprediksi nilai suatu kelas yang belum diketahui pada sebuah objek. Untuk mendapatkan model, kita harus melakukan analisis terhadap data latih. Sedangkan data uji digunakan untuk
mengetahui tingkat akurasi dan model yang telah dihasilkan.
Klasifikasi dapat digunakan untuk memprediksi nama atau nilai dari suatu objek data.
2. Clustering
Pengelompokan data yang tidak diketahui label kelasnya kedalam sejumlah kelompok tertentu sesuai dengan ukuran kemiripanya.
Metode inilah yang digunakan dalam tugas akhir ini.
3. Association
Tujuan dari metode ini yaitu untuk menghasilkan sejumlah rule yang menjelaskan sejumlah data yang terhubung kuat dengan yang lainya.
4. Regression
Regression mirip dengan klasifikasi. Perbedaan utamanya adalah terletak pada atribut yang diproduksi nilai yang kontinyu.
5. Forecasting
Prediksi (forecasting) berfungsi untuk melakukan prediksi kejadian yang akan diproses berdasarkan data sejarah yang ada.
6. Sequence Analiysis
Tujuan dari metode ini adalah untuk mengenali pola dari data diskrit sebagai contoh adalah menemukan kelompok gen dengan tingkat ekspresi yang mirip.
7. Deviation Analiysis
Tujuan dari metode ini adalah untuk menemukan penyebab perbedaan antara data yang satu dengan data yang lain dan biasa disebut sebagai
outlier detection. Sebagai contoh adalah apakah sudah terjadi penipuan terhadap pengguna kartu kredit dengan melihat catatan transaksi yang tersimpan dalam basis data perusahaan tersebut.
2.3 Metode Klasifikasi Data Mining
Klasifikasi adalah proses penemuan model (atau fungsi) yang menggambarkan dan membedakan kelas data atau konsep yang bertujuan agar bisa digunakan untuk memprediksi kelas dari objek yang label kelasnya tidak diketahui (Kamber, 2006). Klasifikasi data terdiri dari 2 langkah proses. Pertama adalah learning (fase training), dimana algoritma klasifikasi dibuat untuk menganalisis data training lalu direpresentasikan dalam bentuk rule klasifikasi.
Proses kedua adalah klasifikasi, dimana data tes digunakan untuk memperkirakan akurasi dari rule klasifikasi (Kamber dan Kamber, 2006). Proses klasifikasi didasarkan pada empat komponen (Gorunescu, 2011): a. kelas, variabel dependen yang berupa kategorikal yang merepresentasikan „label‟ yang terdapat pada objek.
Contohnya: resiko penyakit jantung, resiko kredit, customer loyalty, jenis gempa.
b. predictor, variabel independen yang direpresentasikan oleh karakteristik (atribut) data. contohnya: merokok, minum alkohol, tekanan darah, tabungan, aset, gaji c. training dataset satu set data yang berisi nilai dari kedua komponen di atas yang digunakan untuk menentukan kelas yang cocok berdasarkan predictor d.
testing dataset, berisi data baru yang akan diklasifikasikan oleh model yang telah dibuat dan akurasi klasifikasi dievaluasi.
2.4 Metode Naive Bayes
Metode Naive Bayes adalah pengklasifikasian statistik yang dapat digunakan untuk memprediksi probabilitas keanggotaan suatu class. Bayesian classification didasarkan pada teorema Bayes yang memiliki kemampuan klasifikasi serupa dengan decesion tree dan neural network. Bayesian Classification terbukti memiliki akurasi dan kecepatan yang tinggi saat diaplikasikan ke dalam database dengan data yang besar (Kusrini, 2009). Klasifikasi Naive Bayes diasumsikan bahwa ada atau tidak ciri tertentu dari sebuah kelas tidak ada hubungannya dengan ciri dari kelas lainnya. Persamaan
dari teorema Bayes adalah:
( | ) ( | ) ( )
( ) (2.1)
Keterangan :
X : Data dengan class yang belum diketahui
H : Hipotesis data X merupakan suatu class spesifik P(H|X) : Probabilitas hipotesis H berdasar kondisi X (posteriori P (H) : Probabilitas hipotesis H (prior probability)
P(X|H) : Probabilitas X berdasarkan kondisi pada hipotesis H P(X) : Probabilitas X
Untuk menjelaskan teorema Naive Bayes, perlu diketahui bahwa proses klasifikasi memerlukan sejumlah petunjuk untuk menentukan kelas apa yang cocok bagi sampel yang dianalisis tersebut.
Naïve Bayes lebih mudah untuk menghitung fitur bertipe kategoris, namun untuk fitur bertipe numerik (kontinu) ada perlakuan khusus, yaitu (Kamber dan Han, 2006):
1. Melakukan diskretisasi pada setiap fitur kontinu dan mengganti nilai fitur tersebut dengan nilai interval diskret.
2. Menggunakan distribusi Gaussian untuk mempresentasikan probabilitas bersyarat dari fitur kontinu pada sebuah kelas P(Xi|Y). Distribusi Gaussian dikarakteristikkan dengan dua parameter yaitu mean (𝜇) dan varian (𝜎2) untuk setiap kelas yj, probabilitas bersyarat kelas yj untuk fitur X𝑖 adalah :
( -𝑖 𝑖 | 𝑖 )
√
( )
(2.2)
Keterangan:
Parameter 𝜇𝑖 bisa didapat dari mean sampel Xi dari semua data latih yang menjadi milik kelas ij.
Sedangkan 𝜎2ij didapat dari varian sampel data latih.
2.5 Cross Validation
Cross validation adalah prosedur untuk memperkirakan generalisasi kinerja dalam sebuah metode pemodelan. Cross-validation adalah metode yang paling sering digunakan untuk evaluasi kinerja prediktif dari sebuah model, yakni model yang diberikan sebelumnya atau model yang telah dikembangkan oleh prosedur pemodelan (Yadav & Shukla, 2016). Data biasanya akan dibagi menjadi dua bagian pada bagian pertama dilakukan pelatihan sementara pada bagian lainnya dilakukan uji kinerja, skema pelatihan dan pengujian bekerja dengan baik pada model klasifikasi di dalam machine learning, beberapa record dalam dataset dijadikan data training untuk dilatih sementara record lainya di dalam dataset digunakan sebagai data testing, hal tersebut adalah prinsip dasar dari cross
validation, karena hal tersebutlah cross-validation sangat diterima dalam komunitas data mining dan machine learning dan berfungsi sebagai prosedur standar untuk pemilihan model atau pemilihan prosedur pemodelan (Yadav &
Shukla, 2016). Penggunaan cross dapat di gambar pada Gambar 2.1
Gambar 2.1 Contoh Skenario Cross Validation
Dalam Gambar 2.1 dapat dijelaskan skenario dengan contoh pengujian dengan 4 fold, keseluruhan data dibagi menjadi 4 golongan. Pengujian dilakukan dengan 4 kali percobaan dengan setiap percobaan data testing yang digunakan pada kelompok yang berbeda.
2.6 Confusion Matrix
Confusion matrix memberikan keputusan yang diperoleh dalam training dan testing, confusion matrix memberikan penilaian performance klasifikasi berdasarkan objek dengan benar atau salah. Confusion matrix berisi informasi aktual (actual) dan prediksi (predicted) pada sistem klasifikasi.
Tabel 2.1 Confusion Matrix untuk 2 Kelas
Classification Predicted Class
Observed Class
Class = Yes Class = No
Class = Yes
A (true positif – tp)
B (false negative – fn)
Class = No
C (false positif – fp)
D (true negative – tn)
Keterangan:
a. True Positive (tp) = proporsi positif dalam data set yang diklasifikasikan positif.
b. True Negative (tn) = proporsi negatif dalam data set yang diklasifikasikan negatif.
c. False Positive (fp) = proporsi negatif dalam data set yang diklasifikasikan potitif.
d. False Negative(fn) = proporsi negatif dalam data set yang diklasifikasikan negatif
BAB III
ANALISIS DAN PERANCANGAN
3.1 Metodelogi Penelitian 3.1.1 Jalan Penelitian
Dalam penelitian ini dimana tahap pertama yaitu perumusan masalah, Tahap selanjutnya melakukan studi literature, dalam tahap ini ada 3 jenis studi yaitu wawancara, obervasi, dan studi pustaka. Setelah data terkumpul penulis melakukan tabulasi data. Apabila tabulasi data belum cukup maka proses studi literature akan diulang kembali, apabila data yang diperlukan sudah cukup akan dilanjutkan pada tahap analisis data. Tahap pengolahan data yaitu penulis mengolah data untuk melakukan suatu analisis dan perancangan sistem. Proses perhitungan algoritma Naive Bayes juga dilakukan untuk pemahaman fungsi alur algoritma yang digunakan. Kemudian tahap berikutnya yaitu analisis , dimana penulis menganalisis tentang kebutuhan sistem dilanjutkan melakukan perancangan sistem yang akan digunakan. Dan tahap terakhir yaitu implementasi sistem dan pengujian.
3.1.2 Jenis dan Sumber Data a. Data Primer
Adalah data yang diperoleh dari pihak yang bersangkutan atau langsung diperoleh dari pihak responden. Dalam penelitian ini data primer diperoleh dari Fakultas Sains dan Teknologi Universitas Sanata Dharma secara langsung pihak yang terkait. Data yang diperoleh berupa data sheet dalam
format excel mengenai informasi data mahasiswa dari berbagai jurusan dengan variabel ipk, jurusan, nim, dan lama kelulusan.
b. Data Sekunder
Data Sekunder adalah data yang langsung dikumpulkan oleh peneliti sebagai penunjang dari data primer. Sumber data sekunder pada penelitian ini adalah literatur, buku, artikel, serta situs di internet
3.1.3 Metode Pengumpulan Data
Untuk mendapatkan data yang dibutuhkan dalam penelitian ini, penulis menggunakan beberapa metode pengumpulan data sebagai berikut :
a. Observasi
Dalam tahapan ini penulis melakukan observasi pada Fakultas Sains dan Teknologi Universitas Sanata Dharma terkait data yang dibutuhkan.
b. Wawancara
Proses wawancara dilakukan dengan pihak Fakultas Sains dan Teknologi Universitas Sanata Dharma dengan terlebih dahulu menyiapakan daftar pertanyaan untuk wawancara mengenai kebutuhan data yang ada.
c. Studi Pustaka
Studi pustaka yang dilakukan oleh penulis mencari karya tulis yang berhubungan mengenai penelitian tentang algoritma naive bayes maupun tentang penelitian mengenai evaluasi kinerja akademik.
3.2 Alat Penelitan
Dalam proses penelitian ini menggunakan sebuah perangkat keras, perangkat lunak dan sumber daya manusia sebagai alat bantu
3.2.1 Perangkat Lunak
Perangkat lunak (software) yang digunakan dalam membangun aplikasi Naive Bayes dapat dilihat pada Tabel 3.1.
Tabel 3.1 Perangkat Lunak
No Jenis Perangkat Lunak
1 Sistem Operasi Windows 10
2 Text Editor Netbeans
3 Dokumentasi Office 2013
4 Desain Visio
5 Bahasa Pemrograman Java
6 Database MySQL
3.2.2 Perangkat Keras
Perangkat keras (hardware) yang digunakan dalam membangun aplikasi Naive Bayes dapat dilihat pada Tabel 3.2.
Tabel 3.2 Perangkat Keras
No Jenis Perangkat Keras
1 Procesor I3-4003U [email protected]
2 Ram 4 Gb
3 Hardisk 500 Gb
4 VGA Dell NVIDIA GeForce 920M
3.3 Desain Alur Sistem
Desain alur sistem menggambarkan gambaran umum secara keseluruhan.
Dalam desain alur dimulai dari data mahasiswa dilanjutkan tahap preprosesing, kemudian dibagi kedalam 2 dimodelkan dan pengujian uji model. Hasil model
dapat dilakukan pengujian tunggal untuk didapatkan hasil dari proses klasifikasi dengan data yang ada. Desain alur sistem dapat dilihat dalam gambar 3.1
Gambar 3.1 Desain Alur Sistem 3.3.1 Data Mahasiswa
Dalam yang digunakan dalam penelitian ini merupakan data mahasiswa dari Universitas Sanata Dharma yang diambil dari jurusan Teknik Mesin, Teknik Informatika, Teknik Elektro dan Matematika. Data diambil dari periode waktu kelulusan mahasiswa dari angkatan 2010 sampai dengan 2014. Total keseluruhan data yang digunakan sejumlah 1413.
3.3.2 Preprocessing
Tahapan preprocessing digunakan untuk pengolah data yang akan dilakukan dalam proses data mining. Dalam penelitian ini ada beberapa tahapan yang dilakukan dalam preprocessing yang meliputi:
a. Pembersihan Data
Dalam tahapan pemebersihan data, semua data yang di import dari file excel akan dicek apakah ada data yang kosong, kalau ada data yang kosong maka akan diabaikan dan tidak dimasukan kedalam basis data.
b. Seleksi Data
Tahapan seleksi data memilih variabel yang digunakan dala proses perhitungan naive bayes, variabel yang dipilih diantara nya jk, jurusan, ip semester 1 sampai dengan semester 4, ipk dan lama studi.
c. Transformasi Data
Tahapan terakhir adalah transformasi data, dalam tahapan transformasi data beberapa variabel akan diubah atau ditransformasikan. Dalam penelitian variabel yang akan diubah meliputi ipk semester 1 sampai dengan semester 4, IPK, dan lama studi dibuat data kategorial untuk dapat dihitung probabilitasnya.
3.3.3 Modeling dengan Naive Bayes
Modeling naive bayes merupakan tahapan perhitungan algoritma naïve bayes dengan variabel apa saja yang digunakan. Dalam tahapan modeling naive bayes digunakan variabel kelas tujuan dibagi kedalam 4 kelompok dari L1 sampai dengan L4, dan variabel probabilitas berupa ip semester 1 sampai dengan semester 4 serta ipk dengan pembagian 4 kelas, jurusan dengan 4 variasi, jk dengan 2 variasi.
3.3.4 Model
Model yang dimaksud adalah tahapan perhitungan naive bayes dimulai dari tahapan pencarian kelas target, pencarian probabilitas setiap variabel dan
hasil dari perhitungan yang menentukan termasuk kedalam kelas mana setiap data yang dihitung.
3.3.5 Hasil
Hasil perhitungan naive bayes merupakan hasil dari perhitungan yang dilakukan dengan sejumlah data dengan pengujian fold 3 sehingga didaptkan akurasi hasil pengujian dari data yang digunakan.
3.3.6 Data Uji Model
Data uji model merupakan tahapan akhir dari pengujian perhitungan data yang digunakan diluar dari data yang digunakan dalam pengujian. Dalam uji data model disediakan dialog untuk menginputkan setiap variabel yang dibutuhkan untuk probabilitas Naive Bayes.
3.4 Analisis Data
Data mahasiswa yang dilengkapi dengan data kriteria yang menjadi acuan.
Hasil data di ambil sample beberapa yang dapat ditampilkan dalam tabel 3.3 Tabel 3.3 Data Awal
No JK Jurusan Ip1 Ip2 Ip3 Ip4 IPK Lulus
1 L Teknik Mesin 2,85 2,16 2,4 2,7 2,94 9
2 L Teknik Mesin 2,65 1,95 2,5 2,13 2,47 10
3 L Teknik Mesin 2,1 1,89 2,3 2,75 2,64 9
4 L Teknik Mesin 2,15 2 2,6 2,57 2,72 10
5 L Teknik Mesin 3,3 3,13 3,26 3,21 3,42 8
6 L Teknik Mesin 2,35 2 2,25 0,7 2,51 12
7 L Teknik Mesin 2,85 1,83 2,21 1,65 2,39 10 8 L Teknik Mesin 3,15 2,74 3,1 3,05 3,19 10
9 L Teknik Mesin 1,90 0,74 1,45 0 2,44 14
10 L Teknik Mesin 3,20 2,63 2,95 3,55 3,19 10
11 L Teknisk Elektro 3,42 3,47 3,62 3,62 3,11 7 12 L Teknisk Elektro 3,00 2,69 2,73 3,32 3,19 9 13 L Teknisk Elektro 3,15 3,12 2,95 2,95 3,1 9 14 L Teknisk Elektro 3,50 3,42 3,79 3,45 3,67 9 15 L Teknisk Elektro 1,70 2 2,2 2,71 2,79 10 16 L Teknisk Elektro 2,95 3,27 2,27 3,43 3,15 10 17 L Teknisk Elektro 3,80 3,83 3,25 3,52 3,57 9 18 L Teknisk Elektro 2,75 3,14 3,2 3,19 3,28 10 19 L Teknisk Elektro 2,15 2,45 2,9 2,1 3,03 10 20 L Teknisk Elektro 2,65 2,41 2,17 2,1 2,76 11 21 L Informatika 2,30 1,65 2,11 1,9 2,47 14 22 L Informatika 2,90 3,17 2,95 3,05 3,19 8 23 P Informatika 2,25 2,95 2,75 2,67 2,84 10 24 L Informatika 2,75 2,83 2,55 2,61 2,76 12
25 P Informatika 2,50 2,36 3 2,37 2,77 11
26 P Informatika 1,90 0 1,88 1,96 2,4 14
27 P Informatika 2,95 3,04 2,9 3,53 3,35 10 28 L Informatika 3,55 3,55 3,55 3,81 3,76 9 29 L Informatika 2,45 3,18 3,25 3,33 3,37 9 30 P Informatika 2,85 2,55 2,5 3,11 2,95 10 31 P Metematika 2,05 2,45 1,73 1,68 2,56 10
32 P Metematika 3,63 3,32 3,27 3,82 3,59 9
33 L Metematika 3,00 2,82 3,41 2,72 3,14 10 34 P Metematika 3,21 3,41 3,59 3,68 3,53 10
35 L Metematika 2,79 3,5 3,18 2,95 3,43 10
36 P Metematika 3,26 3,14 3,45 3,2 3,56 9
37 P Metematika 2,74 2,23 2 2,56 3,06 9
38 L Metematika 2,42 2,23 2,05 1,92 2,62 10
39 P Metematika 2,00 1,64 1,4 1,42 2,57 10
40 P Metematika 3,47 3,23 2,95 2,86 3,31 9
Berdasarkan sample data yang diperoleh data yang sudah ada dikelompokan nilai kriterianya. Dalam penelitian ini variabel yang dapat dilakukan pengelompokan data yaitu jurusan, IP semester 1 sampai dengan semester 4, dan IPK. Hasil transformasi data bisa dilihat dalam tabel 3.4 sampai dengan 3.9 dalam tabel transformasi data
.Tabel 3.4. Tabel Kategori IP Semester 1 Kategori Keterangan
A1 IP rentang dari IP >= 0 dan IP <=1 A2 IP rentang dari IP >1 dan IP <=2 A3 IP rentang dari IP >2 dan IP <=3 A4 IP rentang dari IP >3 dan IP <=4
Tabel 3.5. Tabel Kategori IP Semester 2 Kategori Keterangan
B1 IP rentang dari IP >= 0 dan IP <=1 B2 IP rentang dari IP >1 dan IP <=2 B3 IP rentang dari IP >2 dan IP <=3 B4 IP rentang dari IP >3 dan IP <=4
Tabel 3.6. Tabel Kategori IP Semster 3 Kategori Keterangan
C1 IP rentang dari IP >= 0 dan IP <=1 C2 IP rentang dari IP >1 dan IP <=2 C3 IP rentang dari IP >2 dan IP <=3 C4 IP rentang dari IP >3 dan IP <=4
Tabel 3.7. Tabel Kategori IP Semester 4 Kategori Keterangan
D1 IP rentang dari IP >= 0 dan IP <=1 D2 IP rentang dari IP >1 dan IP <=2 D3 IP rentang dari IP >2 dan IP <=3 D4 IP rentang dari IP >3 dan IP <=4
Tabel 3.8. Tabel Kategori IP Komulatif Kategori Keterangan
K1 IP rentang dari IP >= 0 dan IP <=1 K2 IP rentang dari IP >1 dan IP <=2 K3 IP rentang dari IP >2 dan IP <=3 K4 IP rentang dari IP >3 dan IP <=4
Tabel 3.9. Tabel Kategori Lulus Kategori Keterangan
L1 Lulus rentang semester 7 dan 8 L2 Lulus rentang semester 9 dan 10 L3 Lulus rentang semester 11 dan 12 L4 Lulus rentang semester 13 dan 14
Dari hasil tabel penggolongan kategori golongan kriteria diatas maka akan dihasilkan data seperti pada tabel 3.10.
Tabel 3.10 Tabel data hasil transformasi
No JK Jurusan Ip1 Ip2 Ip3 Ip4 IPK Lulus
1 L Teknik Mesin A3 B3 C3 D3 K3 L2
2 L Teknik Mesin A3 B2 C3 D3 K3 L2
3 L Teknik Mesin A3 B2 C3 D3 K3 L2
4 L Teknik Mesin A3 B2 C3 D3 K3 L2
5 L Teknik Mesin A4 B4 C4 D4 K4 L1
6 L Teknik Mesin A3 B2 C3 D1 K3 L3
7 L Teknik Mesin A4 B2 C3 D2 K3 L2
8 L Teknik Mesin A4 B3 C4 D3 K4 L2
9 L Teknik Mesin A2 B1 C2 D1 K3 L4
10 L Teknik Mesin A4 B3 C3 D4 K4 L2
11 L Teknik Elektro A4 B4 C4 D4 K4 L1
12 L Teknik Elektro A3 B3 C3 D4 K4 L2
13 L Teknik Elektro A4 B4 C3 D3 K4 L2
14 L Teknik Elektro A4 B4 C4 D4 K4 L2
15 L Teknik Elektro A2 B2 C3 D3 K3 L2
16 L Teknik Elektro A3 B4 C3 D4 K4 L2
17 L Teknik Elektro A4 B4 C4 D4 K4 L2
18 L Teknik Elektro A3 B4 C4 D4 K4 L2
19 L Teknik Elektro A3 B3 C3 D3 K4 L2
20 L Teknik Elektro A3 B3 C3 D3 K3 L3
21 L Informatika A3 B2 C3 D2 K3 L4
22 L Informatika A3 B4 C3 D4 K4 L1
23 P Informatika A3 B3 C3 D3 K3 L2
24 L Informatika A3 B3 C3 D3 K3 L3
25 P Informatika A3 B3 C3 D3 K3 L3
26 P Informatika A2 B1 C2 D2 K3 L4
27 P Informatika A3 B4 C3 D4 K4 L2
28 L Informatika A4 B4 C4 D4 K4 L2
29 L Informatika A3 B4 C4 D4 K4 L2
30 P Informatika A3 B3 C3 D4 K3 L2
31 P Metematika A3 B3 C2 D2 K3 L2
32 P Metematika A4 B4 C4 D4 K4 L2
33 L Metematika A3 B3 C4 D3 K4 L2
34 P Metematika A4 B4 C4 D4 K4 L2
35 L Metematika A3 B4 C4 D3 K4 L2
36 P Metematika A4 B4 C4 D4 K4 L2
37 P Metematika A3 B3 C2 D3 K3 L2
38 L Metematika A3 B3 C3 D2 K3 L2
39 P Metematika A2 B2 C2 D2 K3 L2
40 P Metematika A4 B4 C3 D3 K4 L2
Dari tabel 3.10 terdapat 40 hasil data dimana dari data tersebut 40 di antaranya akan digunakan untuk training dan menentukan klasifikasi dari data yang ke 41 atas nama Syafi Arkan dengan rincian data berupa
Jenis Kelamin : Laki – Laki Jurusan : Informatika (U2) IP1 : 2.81 (A3)
IP2 : 2.75 (B3) IP3 : 2.70 (C3) IP4 : 2.95 (D3) IPK : 2.9 (K3)
Tahapan dalam proses perhitungan Naive Bayes dimulai dengan dengan perhitungan kelas atau label yang ada berdasarakan jumlah kelas. Tahapan selanjutnya menghitung jumlah kasus yang sama berdasarakan jumlah kelas yang ada untuk dicari probabilitasnya. Tahapan ketiga melakukan perkalian setiap probalilitas kelas yang ada dan semua probabilitas terhadap variabel yang berpengaruh. Tahapan terakhir membandingan nilai hasil kelas, dimana nilai yang tertinggi dijadikan oleh acuan kelas (Kusrini, 2009). Contoh tahapan perhitungan dapat dilihat dalam urutan sebagai berikut:
1. Menghitung Jumlah Class/ Label.
P(Y=L1) = 3/40 P(Y=L2) = 30/40
P(Y=L3) = 4/40 P(Y=L4) = 3/40
2. Menghitung jumlah kasus yang sama dengan class yang sama.
P(Jenis Kelamin = Laki-laki| Y=L1) = 3/3 P(Jenis Kelamin = Laki-laki| Y=L2) = 20/30 P(Jenis Kelamin = Laki-laki| Y=L3) = 3/4 P(Jenis Kelamin = Laki-laki| Y=L4) = 2/3
P(Jurusan = Informatika| Y=L1) = 1/3 P(Jurusan = Informatika| Y=L2) = 5/30 P(Jurusan = Informatika| Y=L3) = 2/4 P(Jurusan = Informatika| Y=L4) = 2/3 P(IP1 = A3| Y=L1) = 1/3
P(IP1 = A3| Y=L2) = 17/30 P(IP1 = A3| Y=L3) = 14/4 P(IP1 = A3| Y=L4) = 1/3
P(IP2 = B3| Y=L1) = 0/3 P(IP2 = B3| Y=L2) = 12/30 P(IP2 = B3| Y=L3) = 3/4 P(IP2 = B3| Y=L4) = 0/3
P(IP2 = C3| Y=L1) = 1/3 P(IP2 = C3| Y=L2) = 16/30 P(IP2 = C3| Y=L3) = 4/4 P(IP2 = C3| Y=L4) = 1/3
P(IP2 = D3| Y=L1) = 0/3 P(IP2 = D3| Y=L2) = 13/30
P(IP2 = D3| Y=L3) = 4/4 P(IP2 = D3| Y=L4) = 0/3
P(IP2 = K3| Y=L1) = 0/3 P(IP2 = K3| Y=L2) = 12/30 P(IP2 = K3| Y=L3) = 4/4 P(IP2 = K3| Y=L4) = 3/3
3. Mengalikan semua hasil variabel setiap klasifikasi.
P(Y=L1) * P(Jenis Kelamin = L| Y=L1) * P(IP1 = A3| Y=L1) * P(IP2 = B3| Y=L1) * P(IP3 = C3| Y=L1) * P(IP4 = D3| Y=L1) * P(IPK = K3| Y=L1)
= 3/40 * 3/3 * 1/3 * 1/3 * 0/3 * 1/3 * 0/3 * 0/3
= 0,0750 * 1 * 0,3333 * 0,3333 * 0 * 0,3333 * 0 * 0
= 0
P(Y=L2) * P(Jenis Kelamin = L| Y=L2) * P(IP1 = A3| Y=L2) * P(IP2 = B3| Y=L2) * P(IP3 = C3| Y=L2) * P(IP4 = D3| Y=L2) * P(IPK = K3| Y=L2)
= 3/40 * 20/30 * 5/30 * 17/30 * 12/30 * 16/30 * 13/30 * 12/30
= 0,7500 * 0,6667 * 0,1667 * 0,5667 * 0,4000 * 0,5333 * 0,4333 * 0,4000
= 0,0017
P(Y=L3) * P(Jenis Kelamin = L| Y=L3) * P(IP1 = A3| Y=L3) * P(IP2 = B3| Y=L3) * P(IP3 = C3| Y=L3) * P(IP4 = D3| Y=L3) * P(IPK =
= 3/40 * 3/4 * 2/4 * 4/4 * 3/4 * 4/4 * 3/4 * 4/4
= 0,1000 * 0,7500 * 0,5000 * 1, * 0,7500 * 1, * 0,7500 * 1,
= 0,0211
P(Y=L4) * P(Jenis Kelamin = L| Y=L4) * P(IP1 = A3| Y=L4) * P(IP2 = B3| Y=L4) * P(IP3 = C3| Y=L4) * P(IP4 = D3| Y=L4) * P(IPK = K3| Y=L4)
= 3/40 * 2/3 * 2/3 * 1/3 * 0/3 * 1/3 * 0/3 * 3/3
= 0,0750 * 0,6667 * 0,6667 * 0,3333 * 0 * 0,3333 * 0 * 1
= 0
4. Membandingkan setiap hasil class dalam klasifikasi.
Dari hasil diatas, nilai probabilitas tertinggi ada pada kelas (P| L3) dengan nilai 0,0211 sehingga dapat disimpulkan mahasiswa dikatakan lulus pada periode semester 11 atau 12.
3.5 Analisis Kebutuhan sistem
Analisis kebutuhan sistem sangat dibutuhkan guna menunjang penerapan sistem baru, apakah sistem baru yang akan diterapkan sesuai dengan kebutuhan organisasi atau tidak, apakah sesuai dengan tujuan yang ingin dicapai institusi
Kebutuhan fungsional merupakan pernyataan layanan sistem yang harus disediakan, bagaimana sistem harus bereaksi terhadap input tertentu dan bagaimana sistem harus berperilaku dalam situasi tertentu. Sebagai contoh adalah bagaimana sistem beroperasi terhadap input, informasi atau bentuk informasi yang bagaimana yang harus ditampilkan, dan sebagainya. Analisis kebutuhan dalam sistem yang akan dibangun meliputi
1. Sistem dapat mengolah data training data.
2. Sistem dapat meng import data training dari excel.
3. Sistem dapat membagi data mahasiswa ke training dan testing.
4. Sistem dapat mengolah hasil akurasi 5. Sistem dapat mengolah data pengujian.
6. Sistem dapat menghitung hasil pengujian.
3.6 Perancangan Interface 3.6.1 Halaman Login
Halaman login merupakan halaman yang digunakan oleh admin sebelum masuk ke dalam halaman utama. Dalam halaman login, admin harus meng inputkan username dan password yang sesuai dengan basis data agar dapat masuk ke halaman utama admin.
Gambar 3.6 Halaman Login 3.6.2 Halaman Beranda
Halaman beranda merupakan halaman yang digunakan untuk mengakses menu yang ada. Dalam halaman ini admin akan ditampilkan menu yang meliputi data admin, upload data, data mahasiswa, pengujian akurasi, dan pengujian tunggal.
Gambar 3.7 Halaman Beranda 3.6.3 Halaman Admin
Halaman pengguna merupakan halaman yang digunakan untuk mendata pengguna. Dalam halaman admin dapat mengolah data berupa menambah, menghapus ataupun merubah data yang ada.
Gambar 3.8 Halaman Admin
3.6.4 Halaman Data Upload
Halaman ini merupakan halaman yang digunakan untuk menginputkan data mahasiswa. Dalam halaman ini admin bisa memilih file excel dengan format yang sudah ditentukan untuk meng upload data mahasiswa. Admin bisa memilih opsi hapus semua untuk menghapus data lama terlebih dahulu.
Gambar 3.9 Halaman Data Upload 3.6.5 Halaman Data Mahasiswa
Halaman data mahasiswa merupakan halaman yang digunakan untuk menampilkan informasi data mahasiswa. Dalam halaman ini admin dapat melihat informasi data mahasiswa yang dimasukan. Halaman ini dapat menginformasikan jumlah data yang digunakan sebagai data trainig dan data testing
Gambar 3.10 Halaman Data Mahasiswa 3.6.6 Halaman Akurasi Pembagian
Halaman ini merupakan halaman yang digunakan untuk membagi data mahasiswa kedalam 2 jenis data yaitu training dan testing. Dalam halaman ini juga akan dibagi jumlah data yang ditentukan untuk dihitung nilai akurasi dari proses perhitungan naive bayes.
Gambar 3.11 Halaman Akurasi Pembagian 3.6.7 Halaman Akurasi Hasil
Halaman akurasi hasil merupakan halaman yang digunakan untuk menampilkan hasil akurasi perhitungan. Akan ditampilkan kecocokan data lama dengan data baru dan dihitung nilai akurasinya dengan confusion matrix. Halaman ini juga menampilkan detail mahasiswa yang dijadikan hasil testing.
Gambar 3.12 Halaman Akurasi Hasil 3.6.8 Halaman Olah Pengujian
Halaman olah pengujian merupakan halaman yang dilakukan oleh admin dalam proses pengujian. Dalam halaman ini admin bisa menginputkan data mahasiswa yang akan dilakukan perhitungan dengan meninputkan kriteria yang ada.
Hasil dari perhitungan ini akan mengkategorikan kedalam mahaiswa dengan informasi prediksi lama lulus.
Gambar 3.13 Halaman Olah Pengujian 3.7 Rencana Pengujian
Tahapan rencana pengujian dilakukan dengan 2 jenis yaitu pengujian program / sistem yang sudah dibangun dengan 2 jenis pengujian yaitu pengujian white box testing dan pengujian blackbox testing. Pengujian sistem dilakukan untuk mencari fitur kebutuhan sistem apakah sudah sesuai dengan kebutuhan fungsional atau belum, selain itu untuk menguji penanganan kesalahan sistem.
Pengujian yang kedua adalah dengan pengujian Algoritma Naive Bayes dilakukan terlebih dahulu terhadap pengujian perhitungan manual yang sudah dilakukan, apakah sistem menghasilkan nilai yang sama atau tidak. Setelah pengujian manual mendapatkan hasil yang sama dilakukan ke tahapan pengujian selanjtnya.
Pengujian akurasi dilakukan dengan perhitungan akurasi dengan bantuan Confussion Matrix. Dalam proses pengujian yang dilakukan menggunakan pendekatan 3 Fold, artinya dalam setiap data set akan dibagi kedalam 3 kelompok data dengan 1 kelompok sebagai testing dan sisanya sebagai data training, kemudian akan dihasilkan akurasi setiap kelompok. Hasil akurasi setiap kelompok akan didapatkan nilai akurasi setiap unit uji.
Pengujian untuk pencarian nilai akurasi yang terbaik dilakukan dengan pendekatan perhitungan dengan simulasi 2 target kelas dan 4 target kelas. Selain itu akan diuji masing - masing dengan pendekatan probabilitas Gauss atau Probabilitas yang sudah ditentukan dalam penelitian ini. Hasil Skenario uji dapat dilihat dengan mudah seperti pada tabel 3.11
Tabel 3.11 Skenario Uji Akurasi Pendekatan Metode Target Kelas
Probabilitas 2 (L1,L2)
Gaussian 2 (L1,L2)
Probabilitas 4 (L1,L2,L3,L4)
Gaussian 4(L1,L2,L3,L4)
BAB IV
IMPLEMANTASI DAN PEMBAHASAN 4.1 Implementasi Sistem
Pada tahap ini harus dipastikan basis data dan program telah sesuai dengan perencanaan yang sudah kita analisis pada bab sebelumnya. Tujuan dari tahap implementasi adalah menyiapkan semua kegiatan penerapan sistem sesuai dengan rancangan yang telah ditentukan. Setelah itu baru dilakukan tahapan pengujian sistem guna meminimalisir segala kemungkinan kesalahan yang terjadi.
4.2 Pembahasan Basis Data Dan Tabel
Pembuatan basis data dan tabel adalah langkah awal dalam mengimplementasikan sebuah sistem. Selanjutnya membuat tabel yang telah dibutuhkan untuk sistem, ada 6 tabel yang akan di implementasi kan sesuai dengan perencanaan yang sudah dibuat. Berikut ini merupakan tabel-tabel yang digunakan pada sistem ini
4.2.1 Tabel Admin.
Tabel admin terdiri dari 3 kolom, dengan idadmin sebagai primary key. Tabel admin berfungsi untuk menyimpan data admin yang ada dalam sistem ini untuk proses login ke sistem.
4.2.2 Tabel Mahasiswa.
Tabel mahasiswa terdiri dari 16 kolom, dengan iddata sebagai primary key.
Tabel mahasiswa berfungsi untuk menyimpan data mahasiswa untuk dilakukan pengujian perhitungan yang akan dibagi ke data testing dan training.
Gambar 4.2 Tabel Mahasiswa 4.2.3 Tabel Mahasiswa Training.
Tabel training terdiri dari 2 kolom, tabel ini berfungsi menyimpan data yang digunakan sebagai data training.
Gambar 4.3 Tabel Mahasiswa Training
4.2.4 Tabel Mahasiswa Testing.
Tabel mahasiswa testing terdiri dari 3 kolom, tabel ini berfungsi menyimpan data yang digunakan sebagai data testing dengan menyimpan informasi hasil perbandingan di kolom keterangan.
Gambar 4.4 Tabel Mahasiswa Testing 4.2.5 Tabel Mahasiswa Tunggal.
Tabel mahasiswa tunggal berfungsi untuk menyimpan data mahasiswa yang dilakukan pengujian tunggal berdasarkan data master yang ada di tabel mahasiswa Hasil perhitungan akan di tampilan di kolom hasil dan keterangan.
Gambar 4.5 Tabel Mahasiswa Tunggal
4.3 Pembuatan Sistem Master Data
Sistem informasi yang dibangun terdiri beberapa bagian. Tahapan pembuatan sistem dimulai dengan pengolahan data master. Pengolahan data meliputi proses simpan data, ubah data, hapus data serta menampilkan data. Sistem akan berjalan terlebih dahulu dengan adanya proses koneksi ke dalam basis data.
4.3.1 Koneksi Basis Data
Sebelum data yang ada dalam database digunakan, maka yang harus dilakukan adalah melakukan koneksi database. Dalam aplikasi ini, kita bisa membuat skrip koneksi di dalam modul program yang dapat dipanggil di setiap halaman. Berikut script yang digunakan untuk koneksi database.
1. public class config {
2. private static Connection mysqlconfig;
3. public static Connection configDB()throws SQLException{
4. try {
5. String url="jdbc:mysql://localhost:3306/db_evaluasi_akademik";
6. String user="root"; //user database 7. String pass=""; //password database
8. DriverManager.registerDriver(new com.mysql.jdbc.Driver());
9. mysqlconfig=DriverManager.getConnection(url, user, pass);
10. } catch (SQLException e) {
11. System.err.println("koneksi gagal "+e.getMessage()); //perintah menampilkan error pada koneksi
12. }
13. return mysqlconfig;
14. } 15. }
4.3.1 Skrip Simpan Data
Skrip yang digunakan untuk menyimpan data ke basis data yang akan disimpan. Proses ini kita memanfaatkan query insert yang ada dalam basis data yang digunakan.
1. String sql="";
2. sql = "INSERT INTO tb_admin (username,password) VALUES (";
3. sql=sql +"'"+txtnama.getText()+"',";
4. sql=sql +"'"+txtpassword.getText()+"')";
5. java.sql.Connection conn=(Connection)config.configDB();
6. java.sql.PreparedStatement pst=conn.prepareStatement(sql);
7. pst.execute();
8. JOptionPane.showMessageDialog(null, "Penyimpanan Data Berhasil");
4.3.2 Skrip Tampil Data
Skrip yang digunakan untuk menampilkan data pada basis data yang akan ditampilkan pada tabel yang disediakan pada halaman yang disediakan . Proses ini memanfaatkan query select yang ada dalam basis data yang digunakan.
1. int no=1;
2. String sql = "select * from tb_admin where username like '%"+ par +"%'";
3. java.sql.Connection conn=(Connection)config.configDB();
4. java.sql.Statement stm=conn.createStatement();
5. java.sql.ResultSet res=stm.executeQuery(sql);
6. while(res.next()){
7. model.addRow(new Object[]{no++, 8. res.getString(1),
9. res.getString(2), 10. res.getString(3)});}
11. jTable1.setModel(model);
4.3.3 Skrip Ubah Data
Skrip yang digunakan untuk mengubah data yang ada dalam basis dara.
Proses ini kita memanfaatkan query update yang ada dalam basis data yang digunakan.
1. String sql;
2. sql = "UPDATE tb_admin SET username = '"+txtnama.getText()+"',";
3. sql = sql + "password = '"+txtpassword.getText()+"',";
4. sql = sql + "WHERE idadmin = '"+ idadmin +"'";
5. java.sql.Connection conn=(Connection)config.configDB();
6. java.sql.PreparedStatement pst=conn.prepareStatement(sql);
7. pst.execute();
8. JOptionPane.showMessageDialog(null, "Data berhasil di Ubah");}
4.3.4 Skrip Hapus Data
Skrip yang digunakan untuk data yang ada dalam basis data Proses ini kita memanfaatkan query delete yang ada dalam basis data yang digunakan.
1. String sql ="delete from tb_admin where idadmin='"+ idadmin +"'";
2. java.sql.Connection conn=(Connection)config.configDB();
3. java.sql.PreparedStatement pst=conn.prepareStatement(sql);
4. pst.execute();
5. JOptionPane.showMessageDialog(this, "Data Berhasil di hapus");}
4.4 Tahapan Implementasi Metode
Tahapan implementasi algoritma Naive Bayes dibagi ke dalam beberapa tahapan dimulai dari tahapan pengambilan data dari basis data sampai dengan proses perhitungan nilai akurasi yang didapatkan.
4.4.1 Pengambilan Data File Excel
Pengambilan data diambil dari file excel yang sudah disediakan dengan format tertentu agar bisa dibaca oleh sistem.
1. String sql="insert into
tb_mahasiswa(`idadmin`,`jk`,`jurusan`,`ip1`,`ip2`,`ip3`,`ip4`,`ipk`,`lulus`,`k_ip1`,`k_ip2`
,`k_ip3`,`k_ip4`,`k_ipk`,`lama_lulus`) VALUES";
2. File namaFileExcel = new File(TextBrowse.getText());
3. Workbook w = null;try {
4. w = Workbook.getWorkbook(namaFileExcel);
5. } catch (IOException ex) {
6. Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, null, ex);
7. } catch (BiffException ex) {
8. Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, null, ex);}
9. Sheet sheet = w.getSheet(0);
10. try {java.sql.Connection conn=(Connection)config.configDB();
11. java.sql.PreparedStatement pst=conn.prepareStatement(sql);
12. pst.execute();
13. } catch (SQLException | HeadlessException e) {
14. JOptionPane.showMessageDialog(this, e.getMessage());}
Dari skrip di atas dapat dijelaskan kode untuk proses penyimpanan data dari excel ke basis data. Kode no 1 digunakan untuk proses query basis data. Kode no 2 untuk mengambil nama file excel. Kode no 9 digunakan untuk membaca sheet yang ada di excel. Kode 11 untuk proses eksekusi simpan ke basis data.
4.4.2 Transformasi Data IPK
Transformasi data dilakukan untuk nilai variabel yang bersifat kontinyu sehingga bisa dilakukan probabilitas dengan perhitungan naive bayes.
1. public String _IPK(float ipk,String jenis){
2. if(ipk>=0 && ipk<=1) 3. return jenis+"1";
4. else if (ipk>1 && ipk<=2) 5. return jenis+"2";
6. else if (ipk>2 && ipk<=3) 7. return jenis+"3";
8. else if (ipk>3 && ipk<=4) 9. return jenis+"4";
10. else
11. return "0";}
Dari skrip di atas dapat dijelaskan kode nomor 1 digunakan untuk memberikan nama fungsi yang digunakan, potongan kode no 2 untuk pengecekan nilai transformasi yang pertama sehingga menghasilkan nilai seperti pada potongan kode no 3. Proses transformasi dilakukan sebanyak 4 macam yang dapat dilihat dari kode no 2 sampai dengan no 9.
4.4.3 Pembagian Data Training dan Testing
Proses pembagian data training dan testing berfungsi untuk dilakukan proses pengujian akurasi sehingga didapat nilai performa algoritma yang digunakan.
1. try { 2. int no=0;
3. String sql = "select * from tb_mahasiswa order by iddata asc";
4. java.sql.Connection conn=(Connection)config.configDB();
5. java.sql.Statement stm=conn.createStatement();
6. java.sql.ResultSet res=stm.executeQuery(sql);
7. while(res.next()){
8. no++;
9. if(no==cross){
10. SimpanTesting(res.getString(1), "", "");
11. no=0;
12. }else{
13. SimpanTraining(res.getString(1), res.getString(16));
14. }}} catch (SQLException e) { 15. System.out.println(e.toString());
16. }
Dari skrip di atas dapat dijelaskan kode untuk proses pembagian data ke dalam testing dan training. Kode no 3 untuk mengambil data di basis data. Kode no 10 untuk menyimpan sebagai data testing dan kode o 13 menyimpan data ke training.
4.4.4 Proses Pengujian Bayes
Proses pengujian naive bayes dilakukan dengan terlebih dahulu mempersiapkan kelas yang ada kemudian dihitung setiap probabilitas setiap variabel yang terkandung.
1. String[] kelas = {"L1", "L2", "L3", "L4"};
2. double[] hasil= new double[4];
3. hasil[0]=1;
4. hasil[1]=1;
5. hasil[2]=1;
6. hasil[3]=1;
7. int terbesarhasil=0;
8. Double terbesarnilai=0.0;
9. for (int i =0;i<kelas.length; i++) { 10. hasil[i]*=KelasLulus(kelas[i])/All;
11. hasil[i]*=(KelasVariabel(kelas[i],"jk",jk)/KelasLulus(kelas[i]));
12. hasil[i]*=(KelasVariabel(kelas[i],"jurusan",jurusan)/KelasLulus(kelas[i]));
13. hasil[i]*=(KelasVariabel(kelas[i],"k_ip1",ip1)/KelasLulus(kelas[i]));
14. hasil[i]*=(KelasVariabel(kelas[i],"k_ip2",ip2)/KelasLulus(kelas[i]));