ai newsDo., 22. Okt.
EilmeldungNVIDIA Nsight Python Tutorial: How to Profile GPU Kernels

Mengapa Mahasiswa Lulus Terlambat? Membaca Riset Prediksi Kelulusan Tepat Waktu dengan Deep Learning

Hamzah Rabbani , Magister Teknik Informatika (Konsentrasi Data Science), Universitas Pamulang, 22 Oktober 2026. Di selasar kampus, pertanyaan yang paling sering terdengar bukan soal kuis atau revisi proposal, melainkan: “Kira-kira, saya bisa lulus tepat waktu atau tidak?” Kelulusan tepat waktu buka

dev.toDonnerstag 04:01 · 22.10.8 Min. Lesezeit
Bild: dev.to

Hamzah Rabbani, Magister Teknik Informatika (Konsentrasi Data Science), Universitas Pamulang, 22 Oktober 2026.

Di selasar kampus, pertanyaan yang paling sering terdengar bukan soal kuis atau revisi proposal, melainkan: “Kira-kira, saya bisa lulus tepat waktu atau tidak?”

Kelulusan tepat waktu bukan hanya urusan pribadi. Bagi perguruan tinggi, angka ini menjadi indikator kinerja dalam penjaminan mutu dan akreditasi. Masalahnya, mahasiswa yang berisiko terlambat sering baru ketahuan menjelang semester akhir, ketika waktu untuk membantu sudah sempit.

Dari keresahan itu saya mengangkat tesis tentang prediksi kelulusan mahasiswa tepat waktu dengan deep learning (Multi-Layer Perceptron/MLP), yang akan saya bandingkan dengan model berbasis pohon seperti Random Forest dan XGBoost. Untuk tugas UTS ini, saya membaca tiga artikel jurnal 2026 yang paling dekat dengan topik tersebut, lalu menutup dengan tutorial Python yang bisa Anda jalankan sendiri. Semua artikel punya tautan unduh di bawahnya.

Setiap artikel saya bedah dengan tiga pertanyaan: apa masalahnya, bagaimana cara menyelesaikannya, dan seperti apa hasilnya. Di bagian akhir tiap ulasan, saya tambahkan catatan pribadi yang relevan untuk tesis saya.

Caesarita, Y., Wahyudi, N., & Faisol, A. K. (2026). Jurnal Inter Tech, 4(1), 38–45. Universitas PGRI Delta.

Masalah. Kampus ingin tahu sejak dini mahasiswa mana yang akan lulus terlambat, sementara data akademik cenderung tidak seimbang antara kelas tepat waktu dan terlambat.

Cara menyelesaikan. Penulis membandingkan Random Forest dan XGBoost pada 2.456 data mahasiswa. Fiturnya mencakup IPK semester, jumlah SKS, serta atribut demografis dan non-akademik seperti organisasi dan beasiswa. Ketidakseimbangan kelas ditangani dengan SMOTE.

Hasil. XGBoost unggul di semua metrik: akurasi 91,7% berbanding 89,2% untuk Random Forest, dengan AUC-ROC 0,962 berbanding 0,945. Fitur terpenting menurut XGBoost adalah rata-rata IP semester 1 sampai 4 (28,4%), disusul jumlah SKS (19,2%).

Catatan saya. Ada beberapa hal yang membuat saya berhati-hati. Pertama, pengujian dilakukan pada data yang sudah diseimbangkan SMOTE, sehingga hasilnya bisa lebih optimistis daripada kondisi nyata. Kedua, nilai precision yang dilaporkan (0,912) tidak cocok dengan confusion matrix pada artikel yang sama, yang jika dihitung memberi sekitar 0,94. Ketiga, penulis menyebut fitur teratas sebagai IPK semester 1 di narasi, tetapi di tabel tertulis rata-rata semester 1 sampai 4. Artikel ini tetap berguna sebagai pembanding awal untuk model pohon, tetapi angkanya sebaiknya tidak saya salin mentah-mentah ke tesis.

Irawan, A., Abidin, Z., & Jamhuri, M. (2026). Jurnal Riset Mahasiswa Matematika, 5(4), 267–277. UIN Maulana Malik Ibrahim Malang.

Masalah. Pemantauan akademik membutuhkan prediksi yang akurat, tetapi belum jelas seberapa besar nilai tambah data non-akademik dan bagaimana melatih jaringan saraf agar hasilnya stabil.

Cara menyelesaikan. Penulis melatih MLP dengan tiga hidden layer pada tiga kelompok fitur: akademik saja, non-akademik saja, dan gabungan. Mereka juga membandingkan empat cara optimasi (SGD dengan momentum, RMSProp, Adam, dan Hessian-free). Targetnya adalah predikat kelulusan empat kelas, ditambah analisis tambahan berupa penyaringan risiko biner.

Hasil. Gabungan fitur akademik dan non-akademik memberi hasil terbaik, dengan akurasi 0,8478 dan F1 tertimbang 0,8274. Optimasi Hessian-free konsisten menjadi yang terbaik di semua skenario. Pada penyaringan risiko, program studi muncul sebagai prediktor individual terkuat.

Catatan saya. Targetnya adalah predikat kelulusan, bukan ketepatan waktu, jadi angkanya tidak bisa dibandingkan langsung dengan artikel pertama. Pelajaran terbesarnya ada pada desain eksperimen: menguji kelompok fitur secara terpisah membuat kontribusi data non-akademik terlihat jelas. Saya ingin meniru pola ini di tesis.

Yáñez, A., et al. (2026). Biomimetics, 11(7), 512. Akses terbuka.

Masalah. Sudah banyak studi tentang prediksi kelulusan, tetapi belum ada sintesis yang fokus pada ketepatan waktu lulus, lama studi, dan penyelesaian studi.

Cara menyelesaikan. Penulis menyusun tinjauan pustaka sistematis berprotokol PRISMA, lalu memetakan jenis model, data, dan teknik optimasi yang dipakai di studi-studi tersebut.

Hasil. Pendekatan jaringan saraf dan deep learning lebih jarang dipakai dibanding model pohon dan machine learning klasik, tetapi muncul di beberapa studi ketepatan waktu lulus. Interpretabilitas masih menjadi kelemahan, dan penggunaan metaheuristik untuk optimasi di bidang ini masih terbatas.

Catatan saya. Artikel ini membantu saya menjawab pertanyaan “apa celah risetnya?”. Ruang untuk perbandingan yang adil antara deep learning dan model pohon pada kelulusan tepat waktu masih terbuka, terutama dengan penjelasan model yang dapat dipertanggungjawabkan.

Tautan: Halaman DOI | Teks lengkap (PMC)

Bacaan tambahan. Muresan, Cardei, dan Cardei (2026) memakai graph deep learning untuk memprediksi keberhasilan mahasiswa lebih awal. Pada sekitar 7% awal semester, model mereka mencapai F1 validasi 68,6%, sekitar 4,7 poin di atas model machine learning terbaik pembandingnya. Topiknya keberhasilan studi secara umum, bukan kelulusan tepat waktu, tetapi menarik untuk prediksi dini. Baca di arXiv.

Dari ketiga artikel, saya menarik empat pegangan. Model pohon adalah pembanding yang kuat dan harus ada di tesis, bukan sekadar pelengkap. Fitur akademik semester awal hampir selalu paling berpengaruh, tetapi fitur non-akademik layak diuji terpisah. Penanganan data tidak seimbang harus dilakukan hanya pada data latih agar evaluasi tidak bocor. Terakhir, akurasi saja tidak cukup: yang paling penting dalam praktik adalah seberapa banyak mahasiswa yang benar-benar berisiko terlambat berhasil terdeteksi ( recall kelas “terlambat”).

Hipotesis awal saya: model pohon akan setara atau lebih baik daripada MLP pada data tabular berukuran kecil sampai menengah, dan nilai tambah MLP perlu dibuktikan, bukan diasumsikan. Tesis saya akan menguji hipotesis ini pada data kampus yang sesungguhnya.

Kode berikut bisa dijalankan di Google Colab tanpa instalasi tambahan, karena hanya memakai scikit-learn. Datanya simulasi: target “tepat waktu” dibangkitkan dari kombinasi IPK, SKS, kehadiran, beasiswa, dan keaktifan organisasi, ditambah noise. Jadi angkanya hanya untuk memperlihatkan alur kerja, bukan bukti performa pada mahasiswa sungguhan.

import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.ensemble import RandomForestClassifier from sklearn.neural_network import MLPClassifier from sklearn.metrics import classification_report, confusion_matrix # 1. Data simulasi: target dibangkitkan dari fitur + noise rng = np. random. default_rng ( 42 ) n = 1500 df = pd. DataFrame ({ " ipk_smt1 ": rng. uniform ( 2.0, 4.0, n ), " ipk_smt2 ": rng. uniform ( 2.0, 4.0, n ), " sks_ditempuh ": rng. integers ( 40, 75, n ), " kehadiran ": rng. integers ( 60, 100, n ), " beasiswa ": rng. integers ( 0, 2, n ), " aktif_organisasi ": rng. integers ( 0, 2, n ), }) skor = ( 1.2 * ( df. ipk_smt1 - 3 ) + 1.0 * ( df. ipk_smt2 - 3 ) + 0.05 * ( df. sks_ditempuh - 57 ) + 0.04 * ( df. kehadiran - 80 ) + 0.3 * df. beasiswa + 0.2 * df. aktif_organisasi + rng. normal ( 0, 0.8, n )) df [ " tepat_waktu " ] = ( skor + 0.5 > 0 ). astype ( int ) print ( df. tepat_waktu. value_counts ( normalize = True ). round ( 2 ). to_dict ()) # 2.

Split (stratify menjaga proporsi kelas) X, y = df. drop ( columns = " tepat_waktu " ), df. tepat_waktu X_tr, X_te, y_tr, y_te = train_test_split ( X, y, test_size = 0.2, stratify = y, random_state = 42 ) # 3. Standarisasi hanya untuk MLP (fit di data latih saja) sc = StandardScaler (). fit ( X_tr ) # 4. Model pembanding: Random Forest rf = RandomForestClassifier ( n_estimators = 200, class_weight = " balanced ", random_state = 42 ). fit ( X_tr, y_tr ) # 5.

Model deep learning: MLP 3 hidden layer mlp = MLPClassifier ( hidden_layer_sizes = ( 64, 32, 16 ), early_stopping = True, max_iter = 500, random_state = 42 ). fit ( sc. transform ( X_tr ), y_tr ) # 6. Evaluasi: lihat recall kelas "Terlambat", bukan akurasi saja nama = [ " Terlambat ", " Tepat Waktu " ] for label, pred in [( " Random Forest ", rf. predict ( X_te )), ( " MLP ", mlp. predict ( sc. transform ( X_te )))]: print ( " == ", label ) print ( confusion_matrix ( y_te, pred )) print ( classification_report ( y_te, pred, target_names = nama, digits = 2 )) Enter fullscreen mode Exit fullscreen mode Hasil yang saya peroleh pada 300 data uji (kelas “Terlambat” adalah kelas yang ingin kita tangkap):

{1: 0.69, 0: 0.31} == Random Forest [[ 62 30] [ 19 189]] precision recall f1-score support Terlambat 0.77 0.67 0.72 92 Tepat Waktu 0.86 0.91 0.89 208 accuracy 0.84 300 == MLP [[ 63 29] [ 22 186]] precision recall f1-score support Terlambat 0.74 0.68 0.71 92 Tepat Waktu 0.87 0.89 0.88 208 accuracy 0.83 300 Enter fullscreen mode Exit fullscreen mode Model Akurasi Recall “Terlambat” F1 “Terlambat” Random Forest 0,84 0,67 0,72 MLP (3 hidden layer) 0,83 0,68 0,71 Cara membacanya. Sekitar 69% mahasiswa pada data ini lulus tepat waktu, jadi model yang selalu menebak “tepat waktu” sudah mencapai akurasi sekitar 69%. Karena itu lihat recall kelas “Terlambat”: dari 92 mahasiswa yang sebenarnya terlambat, kedua model hanya menjaring sekitar dua pertiganya.

Perbedaan kedua model nyaris tidak berarti pada data simulasi sederhana ini, dan itu masuk akal karena hubungan antar variabelnya memang dibuat hampir linear.

Ingin mencoba XGBoost? Ganti baris Random Forest dengan XGBClassifier(random_state=42, eval_metric="logloss") dari library xgboost, yang sudah tersedia di Colab.

Prediksi kelulusan bukan soal mengejar angka akurasi tertinggi. Tujuannya menemukan mahasiswa yang butuh bantuan sebelum terlambat, dengan model yang bisa dijelaskan dan diuji secara jujur. Ada juga sisi etika: label “berisiko” tidak boleh berubah menjadi stigma, dan datanya harus dijaga. Saya akan melanjutkan tesis dengan data riil, penanganan data tidak seimbang yang benar, dan penjelasan model, misalnya dengan SHAP. Jika Anda juga sedang meneliti topik serupa, saya senang berdiskusi di kolom komentar atau lewat dosen pengampu.

Blog ini dibuat sebagai tugas UTS Data Science S2, Universitas Pamulang. Seluruh angka dari artikel dikutip dari versi terbitnya; data pada tutorial adalah simulasi.

Quelle: dev.to (dev.to). Original öffnen