Minggu, 11 Juni 2017

Binary Search - C

Binary search atau pencarian dibagi dua adalah salah satu metode pencarian data, binary search mempunyai kelebihan dan kekurangan bila dibandingkan dengan linear search. Salah satunya binary search pencariannya lebih cepat tapi agak sedikit susah untuk di mengerti bila dibandingkan dengan linear search yang lumayan simpel. Binary search ini sering kita terapkan pada kehidupan kita sehari-hari, salah satu contoh nya yaitu saat kita mencari kata dikamus, kita akan membuka buku itu menjadi dua bagian dan membukanya lagi menjadi dua bagian dan seterusnya sampai ketemu.
Berikut contoh programnya.

#include <stdio.h>

int main()
{
    int c, awal, akhir, tengah, n, cari, array[100];
    printf("Masukkan jumlah data:\n");
    scanf("%d", &n);
    printf("Masukkan %d data:\n", n);
    for(c=0;c<n;c++)
        scanf("%d", &array[c]);
    printf("Nilai yang dicari:\n");
    scanf("%d", &cari);
    awal=0;
    akhir=n-1;
    tengah=(awal+akhir)/2;
    while(awal<=akhir)
    {
        if(array[tengah]<cari)
            awal=tengah+1;
        else if(array[tengah]==cari)
        {
            printf("%d ditemukan didata ke %d", cari, tengah+1);
            break;
        }
        else
            akhir=tengah-1;
        tengah=(awal+akhir)/2;
    }
    if(awal>akhir)
        printf("Tidak ditemukan, %d tidak ada dalam data.", cari);
    return 0;
}

Saya berharap bisa membantu teman semua, ini contoh outputnya silahkan mencoba dan jangan ragu.
yang diatas ini untuk hasil yang ditemukan, nah yang dibawah ini hasil yang tidak ditemukan.
Oke kalau begitu terima kasih udah mau lihat lihat. Jangan lupa like, comment and subscribe. Terima kasih.

Dilarang berkomentar SARA, dan menyebarkan HOAX. Kami akan menghargai bila kalian sopan. Terima kasih.