Pencarian sekuensial (sequential search) dapat diartikan secara sederhana sebagai pencarian secara berurutan suatu data di dalam sekumpulan data (misalnya data karakter atau angka). Perhatikan bahwa yang berurutan adalah cara pencariaannya, sementara sekumpulan data itu sendiri tidak perlu berurutan.
berikut tutorial memodidikasi program searching dan sorting:
Modifikasi Contoh Program searching dan sorting sehingga jika di dalam array kumpul_angka[6]
terdapat lebih dari satu angka yang sama, maka yang dicari adalah angka yang kedua.
Script :
#include <stdio.h>
#include <stdlib.h>
int main(void){
int kumpul_angka[6], angka, n, info, Y=1;
char yesno[2];
int pencarian1(int data[6], int dicari);// prototye
printf("masukan 6 angka sembarang: \n");
for(n=0;n<6;n++){
printf("index ke-%d=", n);
scanf("%d",&kumpul_angka[n]);
}
while(Y){
printf("masukan angka yang posisinya ingin dicari: \n");
scanf("%d", &angka);
info= pencarian1(kumpul_angka, angka);//memanggil fungsi cari
if(info==-1)// membandingan
printf("angka %d tidak ada pada array kumpul_angka\n", angka);
else
printf("angka %d yang kedua ada di array kempul_angka pada indeks ke-%d\n", angka, info);
printf("\nIngin mencari angka yang lain ? <y/n>"); scanf("%s",&yesno[0]);
if (yesno[0]=='Y'||yesno[0]=='y') Y=1;
else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y') Y=0;
}
system("pause");
return 0;
}
int pencarian1 (int data[6], int dicari) {
int m=0, indeks, ada=0;
while(m<5 && !ada) {
if (data[m]==dicari) {
ada=1;
indeks=m;
do{
m++;
if (data[m]==dicari){indeks=m; break;}
}while(m<5);
}
else m++;
}
if (ada==0)
indeks=-1;
return indeks;
}
output: