Pencarian Data Pada Java

Pencarian atau searching suatu data pada sekumpulan data merupakan proses yang sangat penting. Proses pencarian dilakukan untuk mengetahui apakah data yang dicari terdapat pada sekumpulan data yang ada. Selain untuk mengetahui keberadaan data, informasi yang lain yang bisa didapat adalah letak dari data tersebut. Adapun jenis pencarian yaitu:

  • Pencarian Beruntun (Sequential Search)
  • Pencarian Bagi Dua (Binary Search)

Pencarian Beruntun (Sequential Search)

Sequential Search dapat dilakukan pada data yang belum terurut mau pun yang sudah terurut.Pencarian dilakukan dengan melakukan penelurusan data satu-persatu kemudian dicocokan dengan data yang dicari, jika tidak sama maka penelusuran dilanjutkan, jika sama maka penelurusan dihentikan, berarti data telah ditemukan.

Langkah-langkah Pencarian

  • Misalkan terdapat data 89 23 54 26 93 43 64 76 35 58
  • Ingin diketahui apakah pada sekumpulan data terdapat data 43?
  • Maka dilakukan pencarian dengan mencocokan setiap nilai data dari data awal sampai data terakhir dan berhenti bila data sudah ditemukan.

Contoh Kode Program Pencarian Beruntun

Berikut ini contoh kode program pencarian beruntun:

import java.util.Scanner;
public class Beruntun {
    public static void main(String[] args) {
        int tabInt[]={24,17,18,15,22,26, 13,21, 16, 28}; 
        int ketemu; 
        int cariData; 
        int i; 
        
         Scanner masukan= new Scanner(System.in);
        
        System.out.print("Masukkan data yang dicari = "); 
        cariData = masukan.nextInt();
        i=0; 
        ketemu=0; 
        while (i<10 && ketemu!=1){ 
            if (tabInt[i]==cariData){ 
            ketemu=1; 
            }else{ 
                i++; 
            } 
        } 
        if(ketemu==1){ 
            System.out.print("Data "+cariData+ " terdapat pada kumpulan data\n"); 
        }else{ 
            System.out.print("Data "+cariData+ " tidak terdapat pada kumpulan data\n"); 
        } 
    }
}

Pencarian Bagi Dua (Binary Search)

Pencarian bagi dua atau pencarian biner, hanya dapat dilakukan pada data yang sudah terurut. Bila data belum terurut dan akan dilakukan pencarian menggunakan metode ini maka terlebih dahulu harus diurutkan. Untuk data yang besar metode ini lebih efektif dibandingkan dengan metode pencarian beruntun (sequential search).

Proses Pencarian

  • Misalkan terdapat data 99 12 23 67 56 60 34 78 29 84
  • Misalkan yang di cari adalah data 84
  • Langkah pertama adalah mengurutkan data
    • 12 23 29 34 56 60 67 78 84 99
  • Pencarian dimulai dari tengah
    • 12 23 29 34 56 60 67 78 84 99
  • Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari diabaikan
    • 60 67 78 84 99
  • Pencarian dimulai dari tengah
    • 60 67 78 84 99
  • Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data yang dicari diabaikan
    • 78 84 99
  • Pencarian dimulai dari tengah, maka data 84 ditemukan

Contoh Kode Program Pencarian Bagi Dua

Berikut ini contoh kode program pencarian bagi dua :

import java.util.Scanner;
public class BagiDua {
    public static void main(String[] args) {
        int tabInt[] = {12,23,29,34,56,60,67,78,84,99}; 
        int i,j,k; 
        int cariData,ketemu; 
        Scanner masukan= new Scanner(System.in);
        System.out.print("Masukkan data yang dicari = "); 
        cariData = masukan.nextInt();
        i = 0; j = 9;ketemu = 0; 
            while((ketemu == 0) && (i<=j)){ 
                k = (int)(i + j) / 2; 
                if(tabInt[k] == cariData){ 
                ketemu = 1; 
            } 
            else{ 
                if(tabInt[k] > cariData){ 
                    j = k - 1; 
                } 
                else{ 
                    i = k + 1; 
                } 
            } 
        } 
        if(ketemu==1){ 
            System.out.print("Data "+cariData+ " terdapat pada kumpulan data\n"); 
        }else{ 
            System.out.print("Data "+cariData+ " tidak terdapat pada kumpulan data\n"); 
        } 
    }
}

Demikian penjelasan mengenai proses pencarian data pada Java, silahkan eksplorasi lebih lanjut.

Be the first to comment

Leave a Reply

Your email address will not be published.


*