Pencarian Data pada Data yang telah terurut Menggunakan Bahasa C

Pemrograman Bahasa C-- Pada bahasa C dan pemrograman dasar di kuliah teknik informatika, kita akan selalu di ajari bagaimana mencari data dari sekumpulan data yang tersimpan pada array tertentu. Hasil pencariannya bisa menghasilkan output bermacam-macam, salah satunya bisa menghasilkan keluaran tulisan “Ada” atau angka yang di cari misalnya “X” atau angka tertentu yang menandai bahwa data pencarian di ketemukan pada Array tersebut.


Sebenarnya pada Aplikasi CodeBlock telah mendukung berbagai macam fungsi (baca : prosedur dan fungsi pada bahasa C) di library yang bisa di pakai, namun, untuk berlatih logika berpikir pada mahasiswa Kuliah Pemrograman dasar pada Program Studi Teknik Informatika alangkah baiknya belajar membuat Fungsi Pencarian sendiri.

Sebagai contohnya nanti kita akan menggunakan fungsi “caribin” yang memiliki masukan berupa Array X, jumlah anggota dari array X, kemudian angka yang di cari.
Koding untuk pencarian angka pada array sejajar sangat mudah langsung saja ini kita berikan kodingnya. Ingat data di bawah ini merupakan data yang telah terurut. untuk pencarian angka pada array yang belum terurut datanya bisa di tunggu di postingan yang lainnya :D

#include<stdio.h>

int caribin(int data[], int n, int k)
{
int ada, atas, bawah, tengah, posisi;
ada=0;
bawah=0;
atas=n-1;

while (atas>=bawah){
tengah=(atas+bawah)/2;
    if(k>data[tengah])
        bawah=tengah+1;
    else if (k<data[tengah])
            atas=tengah-1;
            else{
            ada=1;
            posisi=tengah;
            bawah=atas+1;
            }
}
if (!ada)
    posisi=-1;
return posisi;
}
int main(){
    int data[]={2, 10, 15, 26, 29, 30, 38, 43, 70, 101, 204, 400, 505, 750, 1000};
    int dicari=10;
    printf(" keluaran 1 jika ada dan 0 bila tidak ada\n");
    printf("posisi %d dalam larik data= %d\n",dicari,caribin(data,15,dicari));

return 0;

}

Comments