Cari Blog Ini

Kamis, 02 Mei 2019

BINERY C++ ( SEARCHING )


SEARCHING C++





1.    Pengertian Searching

Searching adalah mencari data yang dibutuhkan. Searching dalam pemrograman bisa dilakukan untuk mencari data yang ada di dalam memory komputer.Dalam kehidupan sehari-hari kita juga sering melakukan kegiatan searching seperti mencari data/informasi yang ada dalam internet. Ada beberapa metode yang dapat digunakan untuk searching, ada yang dinamakan:

·             Sequential Search

·             Binary Search

2.  Binary Search

Binary Search merupakan metode pencarian dimana data harus diurutkan terlebih dahulu sebelum dilakukan proses pencarian. Pada metode pencarian ini, data dibagi menjadi dua bagian untuk setiap tahap pencarian.

Algoritma binary search :

  1. Data diambil dari posisi 1 sampai posisi akhir n
  2. Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2
  3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar?
  4. Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1
  5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah – 1
  6. Jika data sama, berarti ketemu.

Berikut Program dari binary search :



#include

using namespace std;

int main ()

{

    int d,i,awal,akhir,tengah,bin;

    int data[10];



    cout << "Masukkan Jumlah Data = "; cin >> d;

    for (i=0; i

    {

        cout << "Data Ke- "<> data[i];

    }

    cout << "Mencari data dengan binary = "; cin >>  bin;

        awal=0;

        akhir=d-1;

        do

        {

            tengah=(awal+akhir)/2;

            if(bin

                akhir=tengah-1;

            else

                awal=tengah+1;

        }

        while ((akhir>=awal)&&(data[tengah]!=bin));

        if(data[tengah]==bin)

        {

            cout << "Data " << bin << " Pada Posisi " << tengah+1;

        }

        else

            cout << "Data Tidak Ditemukan" << endl;

            cout << endl;



}



Hasil running :




Sebuah Program dengan binery dan sequential :



 #include



using namespace std;



int main()

{

    int n, awal, akhir, data, tengah, i;

    string studio[10], pil, x, bangku[10];



    cout << " |==========================================| "<< endl;

    cout << " |=========== BIOSKOP UCUYDI xIx ===========| "<< endl;

    cout << " |==========================================| "<< endl << endl << endl;

    cout << " Pilihan Metode pencarian :"<

    cout << " 1/A. Sequential " << endl;

    cout << " 2/B. Binery " << endl;

    kembali:

    cout <<" Masukkan pilihan : ";cin >> pil;

    if (pil=="A" || pil=="1")

    {

        cout << " Anda memilih metode Sequential! " << endl;

        cout << " Banyak data adalah : ";cin >> data;

        cout << endl;

        for(i=0; i

        {

            cout << "++ Studio ke - "<> studio[i];

            cout << "++ Bangku ke - "<<" : ";cin >> bangku[i];

            cout << endl;

        }

        cout << " Masukkan data yang ingin dicari : ";cin >> x;

        i=0;

        ulang:

        if (i!=data)

        {

            if(studio[i]==x)

            {

                cout << " ++ Studio yang anda cari ditemukan di data :" << i+1 << endl;

                cout << " ++ Urutan Bangku yang anda dapat :" << bangku[i];

            }

            else if (bangku[i]==x)

            {

                cout << " ++ Bangku yang anda cari ditemukan di data :" << i+1 << endl;

                cout << " ++ Studio yang anda dapat :"<

            }

            else

            {

                i++;

                goto ulang;

            }

        }

        else

        {

            cout << "++ Studio atau nama yang anda cari tidak ditemukan";

        }

    }

        else if (pil=="B" || pil=="2")

        {

            cout << "++ Anda memilih Binery!" << endl;

            cout << "++ Masukkan jumlah data : ";cin >> n;

            cout << endl;

            for(int i=0; i

            {

                cout << "++ Studio ke - "<> studio[i];

                cout << "++ Bangku ke - " << " : "; cin >> bangku[i];

                cout << endl;

            }

            cout << "++  Masukkan bangku yang dicari : ";cin >> x;

            awal=0;

            akhir=n-1;

            do

            {

                tengah=(awal + akhir)/2;

                if(x

                {

                    akhir = tengah -1;

                }

                else

                {

                    awal = tengah +1;

                }

            }

            while((akhir>=awal)&&(bangku[tengah]!=x));

            {

                if(x == bangku[tengah])

                {

                    (cout << " data " << x << " Pada posisi : " << tengah+1);

            }



            else

            {

                cout << "++ Bangku atau Studio tidak ditemukan";

            }

        }

    }

    return 0;

}



Hasil Running :





DAFTAR PUSTAKA




RIDHO RAMADHAN

1801301095

TERIMAKASIH!!