Halaman Hitung Perbandingan Implementasi Antarmuka Pemakai User Interface

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.

4.3.1.2 Membandingkan Jarak Terdekat Nearest Neighbor

Langkah kedua adalah membandingkan jarak kemiripan similarity dari semua data yang telah dihitung menggunakan rumus euclidean distance untuk mendapatkan jarak terdekat nearest neighbor. Langkah pertama adalah dengan membuat suatu tempat untuk menyimpan nilai jarak terdekat ke dalam sebuah map, berikut adalah source code-nya: MapInstance, Double closest = new HashMapInstance, Double; untuk menyimpan instance dan nilai jarak terdekat double max = dm.getMaxValue; Selanjutnya untuk setiap data kanker lakukan perhitungan jarak euclidean distance antara data yang dites dengan data yang di-training dengan memanggil method euclidean distance yang telah dibuat sebelumnya. for Instance tmp : this { perulangan dilakukan sebanyak dataset double d = dm.UkurdgnEuclidinst, tmp; hitung dengan euclidean distance Kemudian lakukan perbandingan antar jarak terdekat untuk mendapatkan jarak yang paling dekat. Untuk mendapatkan jarak yang paling dekat nearest neighbor ada beberapa langkah yaitu 1 menyimpan semua hasil perhitungan euclidean distance ke sebuah hashmap, 2 mengurutkan jarak dari terdekat ke terjauh, dan 3 menghapus jarak terjauh dan mengambil jarak terdekat sesuai k yang telah ditentukan. if dm.compared, max inst.equalstmp { Cek jika sudah dicompare closest.puttmp, d; masukkan jarak terdekat Pada kode program di atas sistem akan mengecek jika jarak sudah didapatkan, jika ya maka akan dimasukkan ke dalam hashmap, kemudian setelah itu agar jumlah jarak terdekat sesuai dengan k yang telah ditentukan maka jarak yang terjauh akan dihapus. if closest.size k jika jumlah jarak terdekat melebihi k