Advertisement
hafidh

Algoritma Jarak Terdekat : Koordinat

Nov 23rd, 2011
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.46 KB | None | 0 0
  1. import java.lang.Math ;
  2. class Koordinat{
  3.     Titik[] titik;
  4.     int jum_titik;
  5.    
  6.     public void jarak(Titik ttk, Titik ttk2){
  7.         int jarak_x,jarak_y;
  8.         jarak_x = Math.abs(ttk.x - ttk2.x);
  9.         jarak_y = Math.abs(ttk.y - ttk2.y);
  10.     }
  11.     public void tampil(Titik[] arr){
  12.         for(Titik ttk:arr){
  13.             System.out.printf("Titik  x: %d y: %d\n",ttk.x,ttk.y);
  14.         }
  15.     }
  16.     public void terdekat(Titik[] arr){
  17.         int jarakx,jaraky,total;
  18.         int[] tempt = new int[arr.length];
  19.         String[] str = new String[arr.length];
  20.         int idx =0;
  21.         for(int i=0;i<arr.length;i++){
  22.             for(int j=0;j<arr.length;j++){
  23.                 if(i==j) {tempt[j]=-1;continue;}
  24.                 jarakx= Math.abs(arr[i].x-arr[j].x);
  25.                 jaraky= Math.abs(arr[i].y-arr[j].y);
  26.                 total = jarakx+jaraky;
  27.                 System.out.printf(" jarak titik %d dengan titik %d = %d",i,j,total);
  28.                 System.out.printf(" jarak x: %d y: %d\n",jarakx,jaraky);
  29.                 str[j] = "titik terdekat dari titik "+i+" yaitu titik "+j;
  30.                 tempt[j] = total;
  31.             }
  32.             // di sort, cari paling kecil
  33.             for(int j=0;j<arr.length;j++){
  34.                 for(int k=0;k<arr.length;k++){
  35.                     if(tempt[j]<tempt[k] && tempt[j]!=-1) idx = j;
  36.                 }
  37.             }
  38.             System.out.println(str[idx]);
  39.         }
  40.     }  
  41.     public static void main(String[] args){
  42.         Koordinat kord = new Koordinat();
  43.         Titik titik1 = new Titik(5,5);
  44.         Titik titik2 = new Titik(1,10);
  45.         Titik titik3 = new Titik(9,2);
  46.         Titik[] titik = {titik1,titik2,titik3};
  47.         kord.titik = titik;
  48.         kord.tampil(kord.titik);
  49.         kord.terdekat(kord.titik);
  50.     }
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement