Sorting + Binary Search

Pada postingan sebelumnya, aku sudah menjelaskan mengenai binary search. Kali ini aku akan sedikit share mengenai implementasi binary search dengan data yang telah disorting...

Berikut yaitu pola programnya :

public class BinarySearch {
    static int[]sort(int[]data){
        int temp=0;
        for(int i=0;i
<data.length;i++){ 
            for(int j=i+1;j<data.length;j++){
                if(data[j] < data[i]){
                    temp=data[j];
                    data[j]=data[i];
                    data[i]=temp;
                }
            }
            System.out.println("data index ke ["+i+"] = "+data[i]);
        }
        return data;
    }
    static int binarySearch(int[]arrNilai, int cari){
        int data[]=sort(arrNilai);
        int BBawah=0;
        int BAtas=data.length-1;
        int BTengah=0;
        boolean ketemu=false;

        while(!ketemu){
            BTengah=(BBawah+BAtas)/2;
            if(BBawah>BAtas){
                System.out.println(cari+" tidak ditemukan");
                break;
            }else{
                if(cari==data[BTengah]){
                    System.out.println(cari+" ditemukan pada index ke ["+BTengah+"]");
                    ketemu=true;
                }else if(cari < data[BTengah]){
                    BAtas=BTengah-1;
                }else if(cari > data[BTengah]){
                    BBawah=BTengah+1;
                }
            }
        }
        return BTengah;
    }
    public static void main(String[]args){
        int data[]={11,2,13,43,50,16,7,18,19,10};
        binarySearch(data,13);
    }
}


Output :

data index ke [0] = 2
data index ke [1] = 7
data index ke [2] = 10
data index ke [3] = 11
data index ke [4] = 13
data index ke [5] = 16
data index ke [6] = 18
data index ke [7] = 19
data index ke [8] = 43
data index ke [9] = 50
13 ditemukan pada index ke [4]

Comments

Popular posts from this blog

Pewarnaan Objek Geometri Di Java 2D

Tugas Komplemen Terakhir

Konsep Oop Encapsulation