Wednesday 28 November 2012

Bubble Sort dan Binary Search pada Java


import java.util.Random;
import java.util.Scanner;
 
class SortingSearching {
 
    static int[] BubbleSort(int[] A) {
        int temp;
 
        // bubble sort
        for (int i=0; i<A>i; j--) {
                // jika nilai A[j] lebih kecil dari A[i]
                if (A[j] < A[i]) {
                    // lakukan pertukaran
                    temp = A[i];
                    A[i] = A[j];
                    A[j] = temp;
                }
            }
        }
 
        return A;
 
    }
 
    static void BinarySearch(int[] A) {
        Scanner sekener = new Scanner(System.in);
        int cari, tengah = 0, awal, akhir;
        boolean ketemu;
 
        System.out.print("\n\n\nMasukan angka yang ingin dicari : ");
        cari = sekener.nextInt();
 
        // binary search (pencarian biner)
        awal = 0;
        akhir = A.length;
        ketemu = false;
        while (!ketemu && awal = A.length) break;
 
            if (A[tengah] == cari) {
                ketemu = true;
            } else {
                if (cari < A[tengah]) {
                    akhir = tengah-1;
                } else {
                    awal = tengah+1;
                }
            }
 
        }
 
        if (ketemu == true) {
            System.out.println("\n\nAngka " + cari + " ditemukan pada index ke-" + tengah);
        } else {
            System.out.println("\n\nAngka " + cari + " tidak ditemukan");
        }
    }
 
    public static void main(String args[]) {
        int[] A = new int[50];
        Random randomGenerator = new Random();
 
        // generate 50 angka acak
        for (int i=0; i<50 ;i++) {
            int randomInt = randomGenerator.nextInt(100);
            A[i] = randomInt;
        }
 
        // tampilkan array A sebelum diurutkan
        System.out.println("\nSebelum diurutkan : ");
        for (int i=0; i<A.length; i++) {
            System.out.print(A[i] + " ");
        }
 
        A = BubbleSort(A);
 
        // tampilkan array A yang sudah diurutkan
        System.out.println("\n\n\nSetelah diurutkan : ");
        for (int i=0; i<A.length; i++) {
            System.out.print(A[i] + " ");
        }
 
        BinarySearch(A);
    }
}

No comments:

Post a Comment