Salah satu penyakit yang ditimbulkan akibat kesalahan pola gaya hidup adalah Diabetes Mellitus (DM). Gejala penyakit diabetes sering dilalaikan oleh kebanyakan orang, sehingga mereka cenderung untuk mengabaikannya dan tidak mau melakukan medical check up. Di Indonesia jumlah penderita DM terus mengalami peningkatan dari tahun ke tahun. World Health Organization (WHO) memperkirakan jumlah penderita DM tipe 2 di Indonesia akan mengalami peningkatan secara signifikan hingga 21,3 juta jiwa pada tahun 2030 mendatang. Ternyata dengan bantuan ilmu data mining, data pasien diabetes dapat digunakan untuk memprediksi apakah sesorang positif diabetes atau tidak. Tahapan awal dilakukan preprocessing data untuk menangani missing dan non numeric values. Kemudian traning dan testing menggunakan k-fold cross validation dengan algoritma K-Nearest Neighbors (KNN), random forest dan naive bayesian. Pengujian dilakukan dengan menghitung accuracy, sensitivity dan specificity. Dari hasil uji 10-fold cross validation diperoleh rata-rata akurasi tertinggi ketika menggunakan naive bayesian yaitu 75,65%, sedangkan KNN 75,53% dan random forest 73,69%. Perhitungan sensitivity dan specificity dengan membagi 786 data menjadi 594 data training dan 192 data testing. Untuk KNN diperoleh sensitivity 56,72% dan specificity 78,68%, random forest diperoleh sensitivity 53,73% dan specificity 86,4%, sedangkan naive bayesian diperoleh sensitivity 62,69% dan specificity 84%. Implementasi restful web service diterapkan pada model dengan akurasi tertinggi yaitu naive bayesian dengan format json sebagai return value.