Misal nilai yang dicari adalah X = 21, maka elemen yang diperiksa adalah 13,
87, 14, 21. (ditemukan)
Jadi indeks larik yang dikembalikan : I = 4
Misal nilai yang dicari adalah X = 15, maka elemen yang diperiksa adalah 13,
87, 14, 21, 75, 53. (tidak ditemukan)
Jadi indeks larik yang dikembalikan : I = 0
DETAIL PROGRAM
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int data[21] = {13, 87, 14, 21, 75, 53};
int cari;
int flag=0;
printf("masukkan data yang ingin dicari = ");
scanf("%d",&cari);
for(int i=0;i<21;i++){
if(data[i] == cari) flag=4;}
if(flag==1) printf("Data ada!\n");
else printf("Data tidak ada!\n");}
DETAIL PROGRAM
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int data[100] = {55,56,78,80,100,156,199};
int cari;
int flag=0;
printf("masukkan data yang ingin dicari = ");
scanf("%d",&cari);
for(int i=0;i<100;i++){
if(data[i] == cari) flag=1;}
if(flag==1) printf("Data ada!\n");
else printf("Data tidak ada!\n");}
Dari program diatas, terlihat bahwa dilakukan perulangan untuk mengakses semua
elemen array data satu persatu berdasarkan indeksnya.
Program menggunakan sebuah variabel flag yang berguna untuk menadai ada atau
tidaknya data yang dicari dalam array data. Hanya bernilai 0 atau 1.
Flag pertama kali diinisialiasasi dengan nilai 0.
Jika ditemukan, maka flag akan diset menjadi 1, jika tidak ada maka flag akan tetap
bernilai 0.
Semua elemen array data akan dibandingkan satu persatu dengan data yang dicari dan
diinputkan oleh user.
c. Contoh Program
Program pencarian ;
Uses crt;
Label 1;
Var
L:array [1..100] of integer;
Bil,I,n:integer;
ul:char;
procedure tampil;
begin
write (‘masukan banyak data:’); readln (n);
for i:=1 to n do
begin
write (‘data [‘,I,’] :’);readln (L [i]);
end;
end;
procedure seq_search;
begin
write (‘angka yang akan di cari:’);readln (bil);
i : =1;
while (I <n) and (L[i] <> bil) do
begin
i:=i+1;
end;
if (L[i]=bil)then
writeln (‘ditemukan pada elemen larik ke’,i)
else
writeln (‘tidak ditemukan’);
end;
begin
1:
Clrscr;
Writeln (‘----------------------------------------------------------’);
Writeln (‘------ PROGRAM PENCARIAN ANGKA ----‘);
Writeln (‘----------------------------------------------------------‘);
Tampil;
Seq_search;
Writeln ;
Delay (3000);
Write (‘apakah anda ingin mengulangi [Y/T] ? : ‘);readln (ul);
If (ul =’Y’) or (ul =’y’) then
Goto 1 ;
Readkey;
End.
Program
Hasil Run
BAB III
KESIMPULAN