SEARCHING

SEARCHING, atau biasa disebut dengan pencarian 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 :

1.    1. Pencarian Beruntun (Sequential Search)
2.    2. Pencarian Bagi Dua (Binary Search)

Sequential Search : teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir. berdasarkan key yang di cari Kelebihan dari proses pencarian secara sequential ini.

Binary Search : hanya dapat dilakukan pada data yang sudah terurut.


CODING SEQUENTIAL SEARCH

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int angka[]={0,90,8,7,6,5,4,3,2,1,509};
    int a,cari,index,b;
    index=sizeof(angka)/sizeof(int);
    printf("cari yang mana akhi : "), scanf("%d", &cari);
    a=0;
    while(a<index){
        if(angka[a]==cari){
            printf("angka %d ada di index ke %d",cari,a );
        return 0;
        }
        a++;
    }
    a=0;
    while(a<index){
        if(angka[a]!=cari){
            printf("gak ketemu");
        break;
        }
        else{
            printf("");
        }
        a++;
    }
    return 0;
}

CODING BINARY SEARCH

#include<stdio.h>
int main()
{
    //deklarasi variabel
    int A[10], i,j,k,tkr,top,bottom,middle,tm;
    //proses penginputan data
    for(i=0;i<10;i++)
    {
        printf("Data ke-%d:",i+1);
        scanf("%d",&A[i]);
    }
    printf("Masukkan data yang akan anda cari:");
    scanf("%d",&k);
    //proses pengurutan data
    
    for(i=0;i<10;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if (A[i]>A[j])
            {
                tkr=A[i];
                A[i]=A[j];
                A[j]=tkr;
            }
        }
    }
    //proses pencarian data
    ///SEACRH
//TOP = puncak
//MIDDLE = Tengah
//bottom = bawah

    tm=0;
    top=9;
    bottom=0;
    while(top>=bottom)
    {
        middle=(top+bottom)/2;
        if(A[middle]==k)
        {
            tm++;
        }
        if(A[middle]<k)
        {
            bottom=middle+1;
        }
        else
        {
            top=middle-1;
        }
    }
    if (tm>0)
    {
      printf("Data %d yang dicari ada dalam array\n",k);
    }
    //jika tidak ditemukan
    else
    {
      printf("Data tidak ditemukan dalam array\n");
    
    }
getch();
return 1;
}

SELENGKAPNYA BISA DIDOWNLOAD DISINI : 

1.
2.

Komentar

Postingan populer dari blog ini

STRUCK DAN ADT

ANALISIS REKURENS / REKURSIF