TI POLITALA 2A ALPRO SEARCHING BINARY

Pencarian dengan Algoritma Binary Search


Pencarian bagidua atau pencarian biner adalah metode pencarian yang diterapkan pada sekumpulan data yang sudah terurut (terurut menaik atau terurut menurun). Data yang terurut syarat mutlak penerapan algoritma ini. Salah satu keuntungan data terurut adalah memudahkan pencarian, dalam hal ini pencarian bagidua.
Misalkan indeks kiri adalah Ia dan indeks kanan adalah Ib. Kondisi awal Ia=1 dan Ib = N.
Langkah 1. Bagi dua elemen larik pada elemen tengah. Elemen tengah adalah elemen dengan indeks k = (Ia+Ib) div 2
(elemen tengah , L[k], membagi larik menjadi dua bagian, yaitu bagian kiri L[Ia..k-1] dan bagian kanan L[K+1..Ib])
Langkah 2. Periksa apakah L[k] = X.
Jika L[k] = X, pencarian dihentikan sebab X sudah ditemukan. Tetapi, jika L[k] ≠ X, harus ditentukan apakah pencarian akan dilakukan di larik bagian kiri atau di bagian kanan. Jika L[k] < X, maka pencarian dilakukan pada bagian kiri. Sebaliknya, jika L[k] > X, pencarian dilakukan pada larik bagian kanan.
Langkah 3. Ulangi langkah 1 sampai X ditemukan atau Ia > Ib (ukuran larik sudah no
 Pencarian bagidua atau pencarian biner adalah metode pencarian yang diterapkan pada sekumpulan data yang sudah terurut (terurut menaik atau terurut menurun). Data yang terurut syarat mutlak penerapan algoritma ini. Salah satu keuntungan data terurut adalah memudahkan pencarian, dalam hal ini pencarian bagidua.
Misalkan indeks kiri adalah Ia dan indeks kanan adalah Ib. Kondisi awal Ia=1 dan Ib = N.
Langkah 1. Bagi dua elemen larik pada elemen tengah. Elemen tengah adalah elemen dengan indeks k = (Ia+Ib) div 2
(elemen tengah , L[k], membagi larik menjadi dua bagian, yaitu bagian kiri L[Ia..k-1] dan bagian kanan L[K+1..Ib])
Langkah 2. Periksa apakah L[k] = X.
Jika L[k] = X, pencarian dihentikan sebab X sudah ditemukan. Tetapi, jika L[k] ≠ X, harus ditentukan apakah pencarian akan dilakukan di larik bagian kiri atau di bagian kanan. Jika L[k] < X, maka pencarian dilakukan pada bagian kiri. Sebaliknya, jika L[k] > X, pencarian dilakukan pada larik bagian kanan.
Langkah 3. Ulangi langkah 1 sampai X ditemukan atau Ia > Ib (ukuran larik sudah no



     Contoh Program ;


#include <iostream>
using namespace std;

int main()
{

     cout<<"======================================="<<endl;
    cout<<"======PROGRAM BINARY SEARCH C++ ========"<<endl;
    cout<<"======================================="<<endl<<endl;

    int n, nilai[10], awal, akhir, tengah, x, i;
    string nama[10];

    cout<<"Masukkan jumlah data : ";cin>>n;
    cout<<endl;
    for (i=0; i<n; i++)
    {
        cout<<"Nama ke-"<<i+1<<" : ";cin>>nama[i];
        cout<<"Nilai     : ";cin>>nilai[i];
        cout<<endl;
    }
    cout<<"Masukkan nilai yang dicari : ";cin>>x;
    awal=0;
    akhir=n-1;
    do
    {
        tengah=(awal+akhir)/2;
        if (x<nilai[tengah])
        {
            akhir=tengah-1;
        }
        else
        {
            awal=tengah+1;
        }
    }
    while ((awal>=akhir)&&(nilai[tengah]!=x));
        if (nilai[tengah]==x)
    {
        for (i=0; i<n; i++)
        {
            cout<<"Data "<<x<<" berada pada posisi ke-"<<tengah+1<<" dengan nama "<<nama[i];
        }
    }
    else
    {
        cout<<"Data yang anda cari tidak ditemukan";
    }
}







Listing Program







Hasil Runing





Daftar Pustaka

https://sabitlabscode.wordpress.com/2014/03/10/pencarian-dengan-algoritma-binary-search/

Komentar

Postingan populer dari blog ini

TI POLITALA ALPRO1 1A

TI POLITALA 2A ALPRO SORTING

AI (Artificial Intelligence)