Linear Search merupakan sebuah teknik pencarian data dengan menelusuri semua data satu per satu. Apabila ditemukan kecocokan data maka program akan mengembalikan output, jika tidak pencarian akan terus berlanjut hingga akhir dari array tersebut. Algoritma ini tidak cocok untuk set data dengan jumlah besar karena kompleksitas dari algorithma ini adalah Ο(n) di mana n adalah jumlah item. Jika data yang dicari berada pada paling akhir dari array, maka program harus menelusuri semua array terlebih dahulu.

Misalkan angka yang dicari adalah angka 40, berikut gambaran dari implementasi LinearSearch:

1st Cycle:
(70, 60, 30, 50, 40,20)
(70==40) //FALSE

2nd Cycle:
(70, 60, 30, 50, 40,20)
(60==40) //FALSE

3rd Cycle:
(70, 60, 30, 50, 40,20)
(30==40) //FALSE

4th Cycle:
(70, 60, 30, 50, 40,20)
(50==40) //FALSE

5th Cycle:
(70, 60, 30, 50, 40,20)
(40==40) //TRUE

Jika data ditemukan, maka program akan keluar dari looping. Jika kita ingin menampilkan index dari data yang dicari, kita tinggal menyimpan index dari array tersebut dan menampilkan nya.

Berikut implementasi dari Linear Search menggunakan Bahasa C:

#include <stdio.h>

 

int main()

{

int arr[]={70, 60, 30, 50, 40, 20};

int n = sizeof(arr)/sizeof(int);

int index=-1; //index array mulai dari 0, maka di set -1

int find=40;

for(int i=0;i<n;i++){

if(arr[i]==find){ //linear search

index=i;

break;

}

}

 

if(index==-1){

printf(“Data tidak ditemukan\n”);

}

else{

printf(“Data berada pada index ke-%d\n”,index);

}

return 0;

}

Reference:

Paul Deitel & Harvey Deitel. (2016). C how to program : with an introduction to C++. 08. Pearson  Education. Hoboken. ISBN: 9780133976892.