Struktur Data : Searching (Dinamic)

Script ini saya kembangkan dari script Searching menggunakan bahasa pemrograman C/C++. Jadi sama lah.
Untuk penjelasan teori bisa dilihat di sini.

Untuk script dalam Bahasa Pemrograman Java-nya (J2SE), ini nih....
Silahkan kalau mau dikembangkan.....

//----------------------------------------------------------------
//                       created by
//                         TheGunk
//                www.blognapibelog.blogspot.com
// ----------------------------------------------------------------
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

class searching1{
    int [] data = {10,20,30,40,50,60,70,80,90,100};
    int n = 9;
    int tanda = 0;
    int x;
    int cari;

    int input(){
        InputStreamReader input = new InputStreamReader(System.in);
        BufferedReader buf = new BufferedReader(input);

        try{
            System.out.print("Masukkan bilangan yang akan dicari : ");
            String bantu = buf.readLine();
            cari = Integer.parseInt(bantu);
        }
        catch(Exception ex){
            System.err.print(ex);
        }

        return cari;
    }

    int Sequential(){
        for(x=0;x<=9;x++){
            if(cari == data[x]){
                tanda = 1;
            }
        }

        return tanda;
    }

    int Binary(){
        int kiri=0, kanan=n, tengah;

        while((kiri<=kanan) && (flag==0)){
            tengah = (kiri + kanan)/2;

            if(cari == data[tengah]){
                flag = 1;
            }
            else if(cari < data[tengah]){
                kanan = tengah - 1;
            }
            else{
                kiri = tengah + 1;
            }
        }
        return tanda;
    }

    void tampil(){
        if (tanda == 1){
            System.out.print("DATA ADA\n");
        }
        else{
            System.out.print("DATA TIDAK ADA\n");
        }
    }
}

public class Searching_Dinamic1 {
    public static void main (String[] args){
        int pil;
        char ulang;

        InputStreamReader input = new InputStreamReader(System.in);
        BufferedReader buf = new BufferedReader(input);

        searching1 alih = new searching1();
       

        System.out.println("=====================================");
        System.out.println("|         PROGRAM SEARCHING         |");
        System.out.println("=====================================\n");
        System.out.println("1. Sequential Search");
        System.out.println("2. Binary Search");

        try{
            System.out.print("\nMasukkan pilihan Anda! ");
            String pilx = buf.readLine();
            pil = Integer.parseInt(pilx);
           
            switch(pil){
                case 1:
                    System.out.println("\n------------------------------------");
                    System.out.println("          Sequential Search           ");
                    System.out.println("\n");
                   
                    alih.input();
                    alih.Sequential();
                    alih.tampil();
                break;
                
                case 2:
                    System.out.println("\n-----------------------------------");
                    System.out.println("           Binary Search             ");
                    System.out.println("\n");
                   
                    alih.input();
                    alih.Binary();
                    alih.tampil();
                break;
                
                default:
                    System.out.println("Tidak ada dalam pilihan");
                break;
            }
        }
        catch(Exception ex){
            System.err.print(ex);
        }

    }

}


Oya, untuk yang inputan-ya Statis, menyusul ya.....
makasi.....

1 komentar:


EmoticonEmoticon