Anda di halaman 1dari 5

TUGAS ALGORITMA PEMROGRAMAN II

SEQUENTIAL SEARCH

Ditujukan untuk memenuhi salah satu tugas matakuliah Algoritma Pemrograman 2

Oleh:

Erwin Jaya Santosa 061304002

JURUSAN TEKNIK INFORMATIKA

UNIVERSITAS WIDYATAMA

BANDUNG
SEQUENTIAL SEARCH

A. Pengertian Searching
Pencarian (searching) merupakan proses yang sering digunakan dalam
pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam
sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Search
algoritma adalah algoritma yang menerima argument A dan mencoba untuk mencari
record yang mana keynya adalah A.
Algoritma bisa mengembalikan nilai record, atau pointer ke record. Reord
sendiri adalah tipe data yang terdiri atas kumpulan variabel disebut field. Sequential
search (penelusuran sequensial) yaitu proses mengunjungi melalui suatu pohon dengan
cara setiap simpul di kunjungi hanya satu kali yang disebut dengan tree transversal /
kunjungan pohon.
Data dapat disimpan secara temporer dalam memori utama atau disimpan secara
permanen di dalam memori sekunder (tape atau disk). Di dalam memori utama, struktur
penyimpanan data yang umum adalah berupa larik atau tabel (array), sedangkan di dalam
memori sekunder berupa aesip (file).
Aktivitas yang berkaitan dengan pengolahan data ini sering di dahului dengan
proses pencarian. Sebagai contoh, untuk mengubah (update) data tertentu, langkah
pertama yang harus dilakukan adalah mencari keberadaan data tersebut di dalam
kumpulannya. Aktivitas yang awal sama juga dilakukan pada proses penambahan (insert)
data yang baru. Proses penambahan data dimulai dengan mencari apakah data yang
ditambahkan sudah terdapat di dalam kumpulan. Jika sudah dan mengasumsikan tidak
boleh ada duplikasi data,maka data tersebut tidak perlu di tambahkan, tetapi jika belum
ada, maka tambahkan. Algoritma pencarian yang akan dibicarakan adalah algoritma
pencarian yang paling sederhana yaitu pencarian beruntun atau sequential search.

B. Pengertian Sequential Search

Sequential Search adalah proses membandingkan setiap elemen larik satu per satu
secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau
seluruh elemen sudah diperiksa. Algoritma pencarian secara linear digunakan untuk
mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian pada tabel.
Algoritma ini mempunyai dua jenis metode yaitu dengan boolean dan tanpa boolean.
Algoritma pencairan secara linear melakukan pengulangan sebanyak 1 kali untuk kasus
terbaik (value sama dengan elemen pertama dalam tabel) dan Nmax kali untuk kasus
terburuk. Sehingga algoritma ini mempunyai kompleksitas algoritma O(n).

Proses pencarian data dengan metode ini cukup sederhana dan mudah dipahami.
Dalam pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari
dengan semua data yang ada dalam kelompok data. Proses pencarian data dilakukan
dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam
kelompok data. Proses pencocokan data dilakukan secara berurut satu demi satu dimulai
dari data ke-1 hingga data pada ururtan terakhir. Jika data yang dicari mempunyai harga
yang sama dengan data yang ada dalam kelompok data, berarti data telah ditemukan.
Tetapi jika data yang dicari tidak ada yang cocok dengan data-data dalam sekelompok
data, berarti data tersebut tidak ada dalam sekelompok data. Selanjutnya kita tinggal
menampilkan hasil yang diperoleh tersebut.

Dapat disimpulkan bahwa sequential search, akan mencari data dengan cara
membandingkannya satu-persatu dengan data yang ada. Prosesnya tentu saja akan singkat
jika data yang diolah sedikit, dan akan lama jika data yang diolah banyak. Disarankan proses
ini digunakan pada jumlah data yang sedikit saja.

C. Ilustrasi Metode Linier Search :

Misalnya terdapat array satu dimensi sebagai berikut:

Index 0 1 2 3 4 5 6 7

Value 8 10 12 6 7 1 50 100

Kemudian program akan meminta data yang akan dicari, misalnya 6 (x = 6).
Iterasi :
            6 = 8 (tidak!)
            6 = 10 (tidak!)
            6 = 12 (tidak!)
            6 = 6 (Ya!) => output : “Ada” pada index ke-3

Jika sampai data terakhir tidak ditemukan data yang sama maka output : “ data yang
dicari tidak ada”.
D. Contoh Coding Program Sequential Search:
#include<stdio.h>
void main(){
//deklarasi variabel
int A[10],index[10], i,j,k;
//proses penginputan data
for(i=0;i<10;i++){
printf("Data ke-%d:",i+1);
scanf("%d",&A[i]);
}
//memasukkan data yang akan dicari ke dalam K
printf("Masukkan data yang akan anda cari:");
scanf("%d",&k);
//proses pencarian data
j=0;
for (i=0;i<10;i++)
{
if(A[i]==k){
index[j]=i;
j++;
}}
//jika data ditemukan dalam array
if (j>0)
{
printf("Data %d yang dicari ada %d buah\n",k,j);
printf("Data tersebut terdapat dalam index ke :");
for(i=0;i<j;i++)
{
printf(" %d ",index[i]);
}
printf("\n");
}
//jika tidak ditemukan
else
{
printf("Data tidak ditemukan dalam array\n");
}
}

Gambaran Kerja
Pada program diatas jumlah data yang akan diolah berjumlah 10 data dan disimpan kedalam
array A[10] yang bejenis integer, array index[10] digunakan untuk mencatat index pada array A
dimana data ditemukan daya tampung array sama dengan array A karena ada kemungkinan data yang
akan dicari adalah semua data yang ada dalam array A. sedangkan variable I digunakan sebagai
counter dalam proses perulangan, variable j digunakan sebagai counter untuk menghitung jumlah data
yang ditemukan dan variable k digunakan untuk menyimpan data yang akan dicari.

Proses pertama adalah memasukkan data-data yang akan diolah ke dalam array A dan data
yang akan dicari ke dalam variable K. setelah itu akan dilakukan perulangan sebanyak data yang ada
dalam array A untuk mencari apakah ada data dalam variable K didalam array A, jika ada maka
counter j akan mencatat jumlahnya dan array index akan mencatat pada index ke berapa data tersebut
ditemukan. Setelah proses perulangan selesai, tampilkanlah hasil yang terdapat pada variable j dan
array index ke layer.

Anda mungkin juga menyukai