for int i = 0; i arr.length; i++ { if i == classIndex {
jika i=classValue classValue = arr[i];
simpan ke classValue } else {
double val; try {
val = Double.parseDoublearr[i]; } catch NumberFormatException e {
val = Double.NaN; }
if classIndex = -1 i classIndex values[i - 1] = val;
else values[i] = val;
} }
out.addnew DenseInstancevalues, classValue; }
return out; }
Pada kode program diatas dilakukan perulangan sebanyak baris yang dipisah –
pisah kemudian untuk kelas index yang ke-0 disimpan ke dalam string yaitu kelas value dan kelas index sisanya dikonversi menjadi double, kemudian disimpan di array double
yaitu values dan terakhir nilai kelas pembanding dan kelas yang dibandingkan ditambahkan ke kelas dense instance untuk kemudian nantinya menjadi data yang
dipakai untuk melakukan perhitungan klasifikasi.
4.3 Implementasi Algoritma pada Sistem
Pada subbab ini akan dibahas beberapa pengimplementasian dari algoritma ke dalam sistem. Pengimplementasian yang dibahas, yaitu 1 algoritma K-Nearest
Neighbor, 2 algoritma Naïve Bayes, dan 3 teknik Cross Validation.
4.3.1 Algoritma K-Nearest Neighbor
Pada bagian ini akan dijelaskan beberapa langkah untuk melakukan klasifikasi dengan KNN menggunakan data yang telah di preprocessing. Beberapa langkahnya
yaitu, 1 menghitung jarak kemiripan similarity antara data training dengan data test dengan menggunakan rumus euclidean distance, 2 membandingkan jarak kemiripan
similarity untuk mendapatkan tetangga terdekat nearest neighbor, dan 3 Mengambil nilai kelas dari tetangga terdekat nearest neighbor untuk dijadikan sebagai
nilai hasil klasifikasi.
4.3.1.1 Menghitung Euclidean Distance
Hal pertama yang dilakukan klasifikasi KNN adalah menghitung jarak kemiripan similarity, untuk menghitung jarak kemiripan similarity sistem
menggunakan perhitungan euclidean distance. Langkah pertama adalah memastikan bahwa data testing dan training adalah data angka, kemudian barulah sistem akan
menghitung jarak kemiripan similarity data testing dan training dengan menggunakan rumus euclidean distance, berikut adalah cuplikan kodingnya:
if Double.isNaNy.valuei Double.isNaNx.valuei isNan adalah Not a Number
sum += y.valuei - x.valuei y.valuei - x.valuei; }
return Math.sqrtsum; kembalikan nilai akar dari sum
} Setelah membuat method euclidean distance, langkah selanjutnya adalah
membuat method untuk membandingkan antar jarak untuk mendapatkan jarak yang terdekat nearest neighbor.