IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR Studi Kinerja Algoritma K-Nearest Neighbors (KNN) untuk Klasifikasi Pasien Diabetes Edelweiss Rinjani Bawana1, . Erni Seniwati*2, . Peni Febrian Kristami 3, . Arsellina Milka Martin4, . Ninik Tri Hartanti 5, . Fakultas Ilmu Komputer. Program Studi Sistem Informasi Universitas Amikom Yogyakarta. Jl. Padjajaran. Ring Road Utara. Yogyakarta 55283. Indonesia Author Emails Corresponding author: erni. s@amikom. edelweissrinjb@student. id, . penifebriankristami@student. arsellinamilka@student. id, . t@amikom. Abstract. Diabetes is a chronic disease whose number of sufferers continues to increase every year, including in Indonesia. Early detection and accurate classification are crucial to aid the diagnosis and appropriate treatment process, thus minimizing the risk of complications. This study aims to build a diabetes patient classification model and assess the performance of the K-Nearest Neighbor (KNN) algorithm in classifying diabetes patients based on medical data. The dataset used in this study is the Pima Indians Diabetes Dataset, which contains patient health information such as pregnancies (Pregnancie. , glucose levels (Glucos. , blood pressure (BloodPressur. , insulin levels (Insuli. BMI (BMI), age (Ag. , and patient diagnostic status (Outcom. The research process includes 6 stages of activities carried out. In this study, the parameter value k = 8 is the optimal k value. Model performance evaluation using a confusion matrix produced an accuracy of 0. 83 or 83%, precision . , recall . , and F1-score . The model was also implemented interactively using Jupyter Notebook and Streamlit as the user interface, allowing users to conduct consultations by entering medical data and simultaneously obtaining predictions. Test results showed that the KNN algorithm performed quite well in classifying patients with and without diabetes. Keywords : Algorithm. Diabetes. Classification. K-Nearest Neighbors (KNN). Abstraksi. Penyakit diabetes merupakan salah satu penyakit kronis yang jumlah penderitanya terus meningkat setiap tahun termasuk di Indonesia. Deteksi dini dan klasifikasi yang akurat sangat penting untuk membantu proses diagnosis dan penanganan yang tepat sehingga meminimalkan resiko komplikasi. Penelitian ini bertujuan untuk membangun model klasifikasi pasien diabetes serta mengkaji kinerja algoritma K-Nearest Neighbor (KNN) dalam melakukan klasifikasi pasien diabetes berdasarkan data medis. Dataset yang digunakan dalam penelitian ini adalah Pima Indians Diabetes Dataset, yang berisi informasi kesehatan pasien seperti kehamilan (Pregnancie. , tingkat glukosa (Glucos. , tekanan darah (Blood Pressur. , kadar insulin (Insuli. , nilai BMI (BMI), usia (Ag. dan status diagnosa pasien (Outcom. Proses penelitian mencakup 6 tahapan kegiatan yang dilakukan. Pada penelitian ini menghasilkan parameter nilai k=8 adalah nilai k optimal. Evaluasi performa model menggunakan confusion matrix yang menghasilkan akurasi yang menghasilkan 0. atau 83%, presisi . , recall . dan F1-score . Model juga diimplementasikan secara interaktif menggunakan Jupyter Notebook serta penggunaan Streamlit sebagai userinterface sehingga memungkinkan pengguna dapat melakukan konsultasi dengan memasukkan data medis dan sekaligus mendapatkan hasil prediksi. Hasil pengujian menunjukkan bahwa algoritma KNN mampu memberikan performa yang cukup baik dalam mengklasifikasikan pasien yang terkena diabetes dan tidak terkena diabetes. Kata Kunci : Algoritma. Diabetes. Klasifikasi. K-Nearest Neighbor (KNN). IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR PENDAHULUAN Di era digital saat ini, perkembangan teknologi informasi telah memberikan dampak signifikan di berbagai sektor, termasuk bidang kesehatan. Salah satu penerapannya adalah pemanfaatan machine learning dalam deteksi penyakit secara otomatis dan lebih cepat. Teknologi ini memungkinkan komputer untuk mengenali pola pada data medis dan melakukan klasifikasi terhadap kondisi pasien, untuk deteksi dini penyakit. Dalam konteks penyakit tidak menular seperti diabetes, penggunaan teknologi menjadi semakin penting seiring dengan bertambahnya jumlah kasus. Menurut data dari International Diabetes Federation (IDF), pada tahun 2024 terdapat sekitar 20,426,400 kasus diabetes di Indonesia, yang merupakan 11,3% dari total populasi dewasa sebanyak 185 juta orang. Jumlah ini menjadikan Indonesia sebagai salah satu negara dengan beban diabetes terbesar di kawasan Western Pacific. IDF juga memperkirakan jumlah penderita diabetes akan terus meningkat secara global hingga mencapai 254 juta orang di kawasan ini pada tahun 2050. Oleh karena itu, dibutuhkan pendekatan teknologi yang dapat membantu proses deteksi Penelitian ini dilakukan untuk merancang model klasifikasi diabetes menggunakan pendekatan machine learning yang dapat mendukung upaya tersebut. Algoritma yang digunakan adalah K-Nearest Neighbors (K-NN), karena kemampuannya dalam mengenali pola-pola data berdasarkan kemiripan antar individu. Model klasifikasi dalam penelitian ini dibangun berdasarkan dataset Pima Indians Diabetes yang telah banyak digunakan sebagai acuan dalam pengembangan sistem deteksi penyakit. Dataset ini mengandung beberapa atribut penting seperti jumlah kehamilan, kadar glukosa, tekanan darah, kadar insulin, indeks massa tubuh (BMI), usia, dan status diagnosa pasien . ositif atau negatif diabete. Nilai parameter k algoritma K-Nearest Neighbors kemudian dihitung dengan melakukan uji coba pada berbagai skenario. Ini dilakukan untuk menentukan jumlah tetangga terdekat yang memiliki kinerja terbaik. Untuk mengevaluasi model, metrik seperti akurasi, precision, recall, dan skor F1 Metode ini memungkinkan model memprediksi pasien baru berdasarkan kemiripan dengan data Tujuannya adalah agar proses ini dapat diterapkan pada sistem berbasis perangkat lunak atau aplikasi ponsel untuk skrining awal di fasilitas kesehatan tingkat pertama. Selain itu, penggunaan algoritma yang sederhana namun efektif seperti K-Nearest Neighbors memungkinkan pengembangan teknologi yang murah dan mudah Hal ini sangat penting untuk memenuhi kebutuhan deteksi dini di daerah dengan layanan kesehatan yang Studi ini memiliki keterkaitan yang kuat dengan upaya nasional untuk mengatasi masalah diabetes di Indonesia. Menurut data dari IDF (International Diabetes Federatio. , pada tahun 2024, lebih dari 20 juta orang dewasa di Indonesia akan hidup dengan kondisi diabetes, dan jumlah ini diperkirakan akan terus bertambah tanpa adanya tindakan yang sesuai. Solusi potensial untuk meningkatkan deteksi dini terletak pada pendekatan teknologi, seperti machine learning, terutama melalui digitalisasi dalam pelayanan kesehatan. Berdasarkan uraian diatas maka dengan menciptakan model yang didasarkan pada data medis seperti yang diusulkan di dalam penelitian ini, proses deteksi diabetes dapat dilakukan secara fleksibel . apat dilakukan dari mana pu. dan biaya terjangkau. Melalui pendekatan ini, diharapkan dapat mengurangi beban layanan kesehatan akibat penyakit kronis dengan cara yang lebih efektif dalam pencegahan dan deteksi awal. Inti dari penelitian ini adalah kombinasi antara data, algoritma, dan tujuan sosial. Di masa mendatang, pendekatan serupa juga mungkin dapat digunakan untuk mengidentifikasi penyakit lain yang berdampak signifikan terhadap kesehatan masyarakat. METODOLOGI PENELITIAN Pada metodologi penelitian ini dijelaskan bahwa terdapat 5 tahapan yang dilakukan yaitu . Pengumpulan data, . Processing data, . Penerapan algoritma K-Nearest Neighbors, . Evaluasi model, dan . Deployment. Pada bagian deployment menggunakan bahasa pemrograman Python dan library Streamlit yang ada pada Python digunakan untuk Alur penelitian yang terdapat pada metodologi ini dapat dilihat pada Gambar 1. IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR GAMBAR 1. Alur Penelitian Pengumpulan Data Pada https://w. com/datasets/nancyalaswad90/review dengan informasi yang tersedia berupa informasi medis. Data tersebut mencakup beberapa variabel penting, seperti kehamilan (Pregnancie. , tingkat glukosa (Glucos. , tekanan darah (BloodPressur. , kadar insulin (Insuli. , nilai BMI (BMI), usia (Ag. dan status diagnosa pasien (Outcom. Pada diagnosanya sendiri sudah dilabeli dengan angka 1 jika pasien terindikasi diabetes dan 0 jika pasien tidak terindikasi diabetes. Berdasarkan dataset Pima Indians Diabetes ini terdapat fitur-fitur yang digunakan pada dataset dapat dilihat pada Tabel 1. TABEL 1. Tabel Fitur Dataset Nomor Nama Fitur Pregnancies Glucose BloodPressure Insulin BMI Age Outcome Keterangan Fitur Pada dataset ini digunakan sebagai prediksi jumlah kehamilan yang pernah Pada dataset ini digunakan sebagai penyimpanan kadar glukosa plasma 2 jam dalam tes toleransi glukosa oral . g/d. Digunakan untuk menyimpan data tekanan darah diastolik Penyimpanan data kadar insulin serum Digunakan untuk menyimpan data berat badan Digunakan untuk menyimpan data umur Digunakan sebagai label data uang sudah dinyatakan positif . atau negative . Processing Data Tahap Processing Data merupakan tahap penting untuk digunakan dalam proses model machine learning yaitu K-Nearest Neighbors (KNN). Dalam penelitian ini, berikut beberapa langkah processing data yang dilakukan Seleksi Fitur Pada tahap ini, dilakukan pemilihan kolom atau atribut untuk mendukung proses klasifikasi. Beberapa fitur yang dipilih yaitu Pregnancies. Glucose. BloodPressure. BMI. Insulin, dan Age, sedangkan untuk kolom Outcome digunakan sebagai label target. Tujuan dari pemilihan fitur ini adalah untuk menyederhanakan IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR struktur model, sehingga membuat model lebih efisien selama proses pemrosesan data. Eksplorasi Data Proses eksplorasi data dilakukan dengan mengecek jumlah data pada masing-masing label Outcome, serta menghitung nilai rata-rata dan standar deviasi dari tiap fitur yang tersedia. Dari hasil eksplorasi, bisa dilihat apakah data tergolong seimbang dan bagaimana persebaran nilainya di tiap fitur. Normalisasi Data Setelah itu, data dinormalisasi menggunakan StandardScaler, agar semua fitur berada dalam skala yang Dengan normalisasi, proses penghitungan jarak antar data jadi lebih seimbang dan hasil prediksinya jadi lebih akurat. Split Data Pada tahap berikutnya, data dipisahkan menjadi dua bagian yaitu data latih dan data uji, menggunakan fungsi train_test_split. Tujuan dari pembagian ini adalah agar model dapat dilatih menggunakan data latih, lalu diuji kemampuannya menggunakan data uji. Penerapan Algoritma KNN Model yang dipakai pada penelitian ini adalah K-Nearst Neighbors. Dengan tujuan utamanya adalah untuk mengklasifikasi apakah pasien masuk ke kategori diabetes atau tidak, berdasarkan data medis yang sudah ada. Cara kerja K-Nearest Neighbors yaitu K-Nearest Neighbors akan memeriksa seberapa mirip data pasien baru dengan data pasien lain yang sudah pernah dicatat sebelumnya. Jadi, keputusan diambil berdasarkan data-data yang memiliki jarak paling dekat untuk membuat prediksi. Evaluasi Model Evaluasi model pada penelitian ini dilakukan dengan tujuan untuk mengukur seberapa baik algoritma KNearest Neighbors (K-NN) dalam melakukan klasifikasi terhadap data pasien, apakah berdasarkan data pasien maka pasien tersebut tergolong menderita diabetes atau tidak. Pada penelitian ini, tahap evaluasi model dilakukan dengan menggunakan beberapa metrik seperti classification report yang yang mencakup untuk mengetahui tingkat akurasi . accuracy serta confusion matrix untuk mengetahui jumlah prediksi yang benar . erkena diabete. dan salah . idak terkena diabete. , ketepatan . , sensitivitas . , dan keseimbangan performa model secara keseluruhan melalui nilai F1-score. Pada tahap evaluasi ini juga untuk dapat melihat performa algoritma K-Nearest Neighbors dalam prediksi data uji. Deployment Deployment merupakan tahap yang dijalankan oleh model machine learning yaitu K-Nearest Neighbors, agar bisa diakses langsung oleh pengguna lewat antarmuka aplikasi. Dalam studi ini, proses deployment dilakukan menggunakan bahasa pemrograman Python dan library streamlit, yang dimana model klasifikasi diabetes ditampilkan dalam bentuk web. Dengan adanya antarmuka ini, pengguna dapat memasukkan data yang ada dan mendapatkan langsung hasil prediksi. Tahap deployment merupakan bagian krusial dalam penelitian ini, karena menentukan apakah model klasifikasi dapat digunakan dalam konteks nyata. Dengan mengimplementasikan model K-Nearest Neighbors ke dalam bahasa pemrograman Python dan menghubungkannya melalui antarmuka web, pengguna dapat memanfaatkan teknologi ini untuk melakukan deteksi dini diabetes. Langkah deployment yang dilakukan juga mempertimbangkan aspek validasi input, keamanan, dan skalabilitas sistem. HASIL DAN PEMBAHASAN Pengumpulan Dataset Pada penelitian ini melibatkan 768 data pasien yang merupakan gabungan dari pasien yang positif diabetes ataupun yang negatif diabetes. IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR GAMBAR 2. Tampilan Dataset Pada Gambar 2 merupakan tampilan dataset yang dihasilkan dengan melakukan import semua library pada Python yang dibutuhkan untuk mendukung pemrosesan data. Dataset dapat dibaca pada Python dengan disimpan dengan file Processing Data Pada bagian ini dilakukan pemisahan antara fitur . dan target . dengan memilih kolom-kolom yaitu Pregnancies. Glucose. Blood Pressure. BMI. Insulin, dan Age sebagai fitur, sementara untuk kolom Outcome sebagai label. GAMBAR 3. Seleksi Fitur dan Eksplorasi Fitur Berdasarkan output yang tampil pada Gambar 3, diketahui bahwa ada 500 pasien tidak mengidap diabetes . dan 268 pasien yang terdiagnosis positif diabetes . Selanjutnya, dilakukan perhitungan nilai rata-rata dari tiap fitur menggunakan X. mean() untuk mengetahui nilai tengah dari masing-masing variabel. Kemudian dihitung standar deviasinya dengan X. std() untuk melihat seberapa besar penyebaran data terhadap nilai rata-ratanya. Kemudian dilanjutkan dengan normalisasi fitur yang dapat dilihat pada gambar 4. IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR GAMBAR 4. Hasil Normalisasi Data Pada proses ini, dilakukan normalisasi fitur dengan tujuan untuk menyamakan skala fitur agar model tidak bingung dengan fitur yang memiliki perbedaan nilai yang spesifik. Rumus perhitungan ini menggunakan Z-score. Penerapan Algoritma KNN Penerapan algoritma K-Nearest Neighbors menggunakan bahasa pemrograman Python yang dapat dilihat pada Gambar 5. GAMBAR 5. Latih Model KNN Dari Gambar 5 dapat dilihat bahwa pada kode Ausplit dataAy digunakan untuk membagi data menjadi 2, x_train untuk fitur data latih, x_test untuk fitur data uji, y_train untuk label data latih, dan y_test untuk label data uji. test_size=0. adalah 20% dari data digunakan untuk pengujian, sedangkan 80% digunakan untuk pelatihan. Dan random_state=0 digunakan agar pembagian data konsisten setiap kali dijalankan. Kemudian pada kode Aulatih model K-Nearest Neighbors. PrediksiAy menggunakan KneighborsClassifier. _neighbors=. untuk membuat model K-Nearest Neighbors dengan 8 tetangga terdekat dilanjut kode . _train, y_trai. untuk mrlatih model dengan data pelatihan. Dan pada kode AuprediksiAy model K-Nearest Neighbors yang telah dilatih digunakan untuk memprediksi label dari x_test, yang hasilnya disimpan di y_pred. Kemudian pada kode AuevaluasiAy digunakan untuk menampilkan hasil evaluasi model menggunakan precision, recall dan F1-score. Dilanjutkan dengan kode pada Auconfusion MatrixAy yang mana kode ini digunakan untuk membuat confusion matrix dalam bentuk grafik : true positive, true negatives, false positives, false negatives. Sns. heatmap digunakan untuk menampilkan matriks sebagai heatmap . eta warn. IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR Evaluasi Model GAMBAR 6. Hasil Evaluasi Model Menggunakan Confusion Matrix Pada Gambar 6 menunjukkan hasil confusion matrix, terlihat bahwa model K-Nearest Neighbors memprediksi 99 pasien negatif diabetes dan 29 pasien positif diabetes. Namun, terdapat 8 pasien negatif yang diprediksi sebagai positif, serta 18 pasien positif yang diprediksi sebagai negatif. Model ini mencatat akurasi sebesar 83% yang menandakan bahwa model cukup baik dalam memprediksi data. Untuk nilai precision, kelas negatif . menunjukkan angka tertinggi yaitu 0. 85, sedangkan pada kelas positif . nilainya sedikit lebih rendah, yaitu 0. Deployment Pada saat melakukan deployment ini menggunakan streamlit, diperlukan beberapa dari file yang telah dibuat pada proses pengembangan model. Beberapa file tersebut diunggah ke GitHub dan dihubungkan dengan aplikasi streamlit. GAMBAR 7. Hasil Deployment Pada Gambar 7 diujicobakan dengan memberikan data terhadap fitur yang ada dan sekaligus dapat dilihat hasil prediksi untuk positif atau negatif diabetes. IJCSR: The Indonesian Journal of Computer Science Research E-ISSN 2963-9174 DOI prefix 10. Volume 4. No. 2 Juli 2025 https://subset. id/index. php/IJCSR KESIMPULAN Model yang telah dibuat pada penelitian ini kemudian telah di-deploy ke dalam bentuk prediksi berbasis web, menggunakan streamlit dari Python. Hal ini menunjukkan bahwa model dapat diimplementasikan dalam sistem nyata dan digunakan secara langsung oleh pengguna untuk melakukan deteksi dini diabetes secara digital secara fleksibel yang dapat dilakukan dari mana pun. Pada Penelitian ini juga menunjukkan bahwa algoritma K-Nearest Neighbors dapat digunakan untuk melakukan deteksi potensi diabetes berdasarkan data medis pasien. Dengan menggunakan dataset yang didapat dari Kaggle dengan beberapa informasi yang ada, model K-Nearest Neighbors mampu melakukan klasifikasi pasien ke dalam kategori positif atau negatif diabetes. Proses preprocessing data seperti seleksi fitur dan norm``alisasi data menggunakan Z-score kemudian hasil implementasi model menggunakan nilai k =8. Evaluasi model menggunakan metrik akurasi yang menghasilkan 0. 83 atau 83%, presisi . , recall . dan F1score . Model juga diimplementasikan secara interaktif menggunakan Jupyter Notebook serta penggunaan Streamlit sebagai user interface sehingga memungkinkan pengguna dapat melakukan konsultasi dengan memasukkan data medis dan sekaligus mendapatkan hasil prediksi. Sistem yang telah dibentuk pada penelitian ini dapat mengalami pengembangan yang bersifat fleksibel dan dapat dikembangkan lebih lanjut dengan integrasi fitur tambahan seperti visualisasi data, riwayat pasien, atau penggabungan dengan model machine learning lainnya untuk meningkatkan akurasi dan interpretabilitas. TINJAUAN PUSTAKA Asmarani et al. AuImplementasi Algoritma K-Nearst Neighbor Untuk Memprediksi Penyakit Diabetes,Ay J. Inform. Dan Rekayasa Komputer(JAKAKOM), vol. 2, no. 2, pp. 231Ae239, 2022, doi: 33998/jakakom. Karo Karo and H. Hendriyana. AuKlasifikasi Penderita Diabetes menggunakan Algoritma Machine Learning dan Z-Score,Ay J. Teknol. Terpadu, vol. 8, no. 2, pp. 94Ae99, 2022, doi: 10. 54914/jtt. Saputra. Sidabuke. Sinulingga, and R. Tamba. AuAnalisis Metode Algoritma K-Nearest Neighbor (KNN) dan Naive Bayes Untuk Klasifikasi Diabetes Mellitus,Ay J. TEKINKOM, vol. 6, no. 2, pp. 723Ae729, 2023, doi: 10. 37600/tekinkom. Azizah. Riyad Firdaus. Suyaningsih, and F. Indrayatna. AuPenerapan Algoritma Klasifikasi K-Nearest Neighbor pada Penyakit Diabetes,Ay Pros. Semin. Nas. Stat. Aktuaria, vol. 2, no. 1, pp. 119Ae126, 2023, [Onlin. Available: https://prosidingsnsa. id/?journal=prosidingsnsa&page=article&op=view &pat h[]=344 Hasanah. Putri Natasya, and V. Utami. AuPenerapan Algoritma K-Nearest Neighbor (Kn. Untuk Diagnosis Penyakit Diabetes Melitus,Ay J. Ilmu Komput. , vol. 8, no. 1, pp. 86Ae89, 2024. Gunawan and I. Fenriana. AuDesign of Diabetes Prediction Application Using K-Nearest Neighbor Algorithm,Ay bit-Tech, vol. 6, no. 2, pp. 110Ae117, 2023, doi: 10. 32877/bt. Dwi Fasnuari. Yuana, and M. Chulkamdi. AuPenerapan Algoritma K-Nearest Neighbor Untuk Klasifikasi Penyakit Diabetes Melitus,Ay Antivirus J. Ilm. Tek. Inform. , vol. 16, no. 2, pp. 133Ae142, 2022, doi: 35457/antivirus. Aswin Ardiansyah. Enos C. Telaumbanua. Aron S. Gultom, and Angelita A. Limbong. AuKlasifikasi Penyakit Diabetes Menggunakan Metode SVM Dan KNN,Ay J. Penelit. Rumpun Ilmu Tek. , vol. 3, no. 1, pp. 77Ae83. Dec. 2023, doi: 10. 55606/juprit. Fortuna. Karuniawati. Purnamasari, and D. Purlinda. AuFaktor Ae Faktor yang Mempengaruhi Komplikasi pada Pasien Diabetes Mellitus di RSUD Dr. Moewardi,AyPharmacon Farm. Indones. , vol. 27Ae35. Jul. 2023, doi: 23917/pharmacon. Yustika R. , & Nugroho A. Pengantar Machine Learning: Teori dan Implementasi Python. Yogyakarta: Deepublish.