Anda di halaman 1dari 4

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package nearestneighbour;

import java.util.ArrayList;
import java.util.List;

/**
*
* @author Meilani Wulandari
*/
public class NearestNeighbour {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

int totalC1=0,totalC2=0,totalC3=0,totalC4=0;
int cTraining1=0,cTraining2=0,cTraining3=0,cTraining4=0;
int cTest1=0,cTest2=0,cTest3=0,cTest4=0;
int iterationC1 = 0 , iterationC2 = 0 , iterationC3=0,iterationC4=0;

// TODO code application logic here


List<Data> dataset = new ArrayList<> ();
List<Data> dataTraining = new ArrayList<> ();
List<Data> dataTest = new ArrayList<> ();
List<Data> dataResult = new ArrayList<> ();

dataset.add(new Data(4,53,1));
dataset.add(new Data(5, 63, 1));
dataset.add(new Data(10, 59, 1));
dataset.add(new Data(9, 77, 1));
dataset.add(new Data(13, 49, 1));
dataset.add(new Data(13, 69, 1));
dataset.add(new Data(12, 88, 1));
dataset.add(new Data(15, 75, 1));
dataset.add(new Data(18, 61, 1));
dataset.add(new Data(19, 65, 1));
dataset.add(new Data(22, 74, 1));
dataset.add(new Data(27, 72, 1));
dataset.add(new Data(28, 76, 1));
dataset.add(new Data(24, 58, 1));
dataset.add(new Data(27, 55, 1));
dataset.add(new Data(28, 60, 1));
dataset.add(new Data(30, 52, 1));
dataset.add(new Data(31, 60, 1));
dataset.add(new Data(32, 61, 1));
dataset.add(new Data(36, 72, 1));
dataset.add(new Data(86, 132, 2));
dataset.add(new Data(85, 115, 2));
dataset.add(new Data(85, 96, 2));
dataset.add(new Data(78, 94, 2));
dataset.add(new Data(74, 96, 2));
dataset.add(new Data(97, 122, 2));
dataset.add(new Data(98, 116, 2));
dataset.add(new Data(98, 124, 2));
dataset.add(new Data(99, 119, 2));
dataset.add(new Data(99, 128, 2));
dataset.add(new Data(101, 115, 2));
dataset.add(new Data(108, 111, 2));
dataset.add(new Data(110, 111, 2));
dataset.add(new Data(108, 116, 2));
dataset.add(new Data(111, 126, 2));
dataset.add(new Data(115, 117, 2));
dataset.add(new Data(117, 115, 2));
dataset.add(new Data(28, 147, 3));
dataset.add(new Data(32, 149, 3));
dataset.add(new Data(35, 153, 3));
dataset.add(new Data(33, 154, 3));
dataset.add(new Data(38, 151, 3));
dataset.add(new Data(41, 150, 3));
dataset.add(new Data(38, 145, 3));
dataset.add(new Data(38, 143, 3));
dataset.add(new Data(32, 143, 3));
dataset.add(new Data(34, 141, 3));
dataset.add(new Data(44, 156, 3));
dataset.add(new Data(44, 149, 3));
dataset.add(new Data(44, 143, 3));
dataset.add(new Data(46, 142, 3));
dataset.add(new Data(47, 149, 3));
dataset.add(new Data(49, 152, 3));
dataset.add(new Data(50, 142, 3));
dataset.add(new Data(53, 144, 3));
dataset.add(new Data(52, 152, 3));
dataset.add(new Data(55, 155, 3));
dataset.add(new Data(54, 124, 3));
dataset.add(new Data(60, 136, 3));
dataset.add(new Data(63, 139, 3));
dataset.add(new Data(70, 4, 4));
dataset.add(new Data(77, 12, 4));
dataset.add(new Data(83, 21, 4));
dataset.add(new Data(61, 15, 4));
dataset.add(new Data(69, 15, 4));
dataset.add(new Data(78, 16, 4));
dataset.add(new Data(66, 18, 4));
dataset.add(new Data(58, 13, 4));
dataset.add(new Data(64, 20, 4));
dataset.add(new Data(69, 21, 4));
dataset.add(new Data(66, 23, 4));
dataset.add(new Data(61, 25, 4));
dataset.add(new Data(76, 27, 4));
dataset.add(new Data(72, 31, 4));
dataset.add(new Data(64, 30, 4));

for(Data data : dataset){


if(data.getKelas()==1)
totalC1++;
else if(data.getKelas()==2)
totalC2++;
else if(data.getKelas()==3)
totalC3++;
else if(data.getKelas()==4)
totalC4++;
}
System.out.println("jumlah Total Class 1 : "+ totalC1);
System.out.println("Jumlah Total Class 2 : "+ totalC2);
System.out.println("Jumlah Total Class 3 : "+ totalC3);
System.out.println("Jumlah Total Class 4 : "+ totalC4);

System.out.println("Data Training 80%");


cTraining1=(int)((float)totalC1 * 0.8);
cTraining2=(int)((float)totalC2 * 0.8);
cTraining3=(int)((float)totalC3 * 0.8);
cTraining4=(int)((float)totalC4 * 0.8);
System.out.println("Jumlah Data Training Class 1 : "+cTraining1);
System.out.println("Jumlah Data Training Class 2 : "+cTraining2);
System.out.println("Jumlah Data Training Class 3 : "+cTraining3);
System.out.println("Jumlah Data Training Class 4 : "+cTraining4);

cTest1=totalC1-cTraining1;
cTest2=totalC2-cTraining2;
cTest3=totalC3-cTraining3;
cTest4=totalC4-cTraining4;
System.out.println("Jumlah Data Test Class 1 : "+ cTest1);
System.out.println("Jumlah Data Test Class 2 : "+ cTest2);
System.out.println("Jumlah Data Test Class 3 : "+ cTest3);
System.out.println("Jumlah Data Test Class 4 : "+ cTest4);

for(Data data : dataset){


switch(data.getKelas()){
case 1 :
if(cTraining1 > iterationC1){
dataTraining.add(data);
}else{
dataTest.add(data);}
iterationC1++;
break;
case 2 :
if(cTraining2 > iterationC2){
dataTraining.add(data);

}else
dataTest.add(data);
iterationC2++;
break;
case 3 :
if(cTraining3 > iterationC3){
dataTraining.add(data);

}else
dataTest.add(data);
iterationC3++;
break;
case 4 :
if(cTraining4 > iterationC4){
dataTraining.add(data);

}else
dataTest.add(data);
iterationC4++;
break;
}
}

for (Data dataInput : dataTest) {


float distance = Float.MAX_VALUE;
for (Data data : dataTraining) {
float dist = (float) Math.sqrt(Math.pow(dataInput.getX() -
data.getX(), 2) + Math.pow(dataInput.getY() - data.getY(), 2));
if (distance > dist) {
distance = dist;
dataInput.setKelas(data.getKelas());
}
System.out.println("data test : " + dataInput.toString() + "\ndata
training : " +
data.toString() + "\ndistance : "+ (int)dist);
System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$");

}
dataResult.add(dataInput);
}

for (Data data : dataTest) {


System.out.println("data test : " + data.toString());
}

System.out.println("=========================");

for (Data data : dataResult) {


System.out.println("data result : " + data.toString());
}
}
}

Anda mungkin juga menyukai