SEARCHING
Searching atau yang biasa yang disebut dengan Pencarian adalah sebuat struktur data yang digunakan untuk mencari data yang tersusun dalam sebuah algoritma dan menemukan data yang ingin ditemukan. Dalam Searching, ada beberapa metode dalam pencarian data. Sekarang, saya akan menjelaskan tentang Sequential/Linear Searching dan Binary Search.
1. SEQUENTIAL/LINEAR SEARCHING
Metode ini cukup mudah diimplementasikan. Program yang ditulis menggunakan Bahasa Pemrograman C++ ini akan melakukan pencarian, diawali dari ujung sebelah kiri dan membandingkan masing-masing elemen yang diakses dengan elemen pencarian. Jika sudah ditemukan, pencarian akan segera berhenti, sementara jika elemen yang dicari tidak ditemukan hingga akhir dari larik, maka data yang dicari memang tidak ada.
SOURCE CODE SEQUENTIAL SEARCH
Berikut ini adalah source code atau syntax program dari Sequential Searching yang menggunakan Bahasa Pemrograman C++.
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
void main()
{
//deklarasi variabel
int A[10],index[10], i,j,k,n;
//proses penginputan data
cout<<"Masukkan jumlah data [Max 10] : ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Masukkan Data ke - "<<(i+1)<<" = ";
cin>>A[i];
}
//memasukkan data yang akan dicari ke dalam K
cout<<"Masukkan data yang anda akan cari : ";
cin>>k;
//proses pencarian data
j=0;
for (i=0;i<n;i++)
{
if(A[i]==k)
{
index[j]=i;
j++;
}
}
//jika data ditemukan dalam array
if (j>0)
{
cout<<"Data" <<k<< "yang dicari ada" <<j<< "buah"<<endl;
cout<<"Data tersebut terdapat dalam index ke : ";
for(i=0;i<j;i++)
{
cout<<index[i]<<" ";
}
cout<<endl;
}
//jika tidak ditemukan
else
{
cout<<"Data tidak ditemukan dalam array"<<endl;;
}
getch();
}
2. BINARY SEARCHING
Binary search adalah metode pencarian dengan cara mengurutkan data dan mengambil posisi awal, tengah dan akhir. Prinsip kerja binary search :
• Mula-mula, mengambil posisi awal 0 dan akhir N=-1, lalu mencari posisi tengah dari data tersebut dengan rumus (posisi awal+posisi akhir)/2.
• Kemudian, bandingkan data yang dicari dengan data tengah.
• Jika lebih kecil, maka proses dilakukan kembali dengan posisi akhir dianggap sama dengan data tengah -1.
• Jika lebih besar, maka proses dilakukan kembali dengan posisi akhir dianggap sama dengan data tengah +1.
• Jika sama, maka data yang dicari telah ditemukan.
SOURCE CODE BINARY SEARCH
Disini, saya akan memberikan Source Code / Syntax Program untuk Binary Search pada Bahasa Pemrograman C++.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
//deklarasi variabel
int A[10],n, i,j,k,tkr,right,left,middle,tm;
//proses penginputan data
cout<<"Masukkan jumlah data = ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Masukkkan data ke - "<<(i+1)<<" = ";
cin>>A[i];
}
cout<<"Masukkan data yang akan anda cari :";
cin>>k;
//proses pengurutan data
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if (A[i]>A[j])
{
tkr=A[i];
A[i]=A[j];
A[j]=tkr;
}
}
}
//proses pencarian data
tm=0;
right=n;
left=0;
while(right>=left)
{
middle=(right+left)/2;
if(A[middle]==k)
{
tm++;
}
if(A[middle]<k)
{
left=middle+1;
}
else
{
right=middle-1;
}
}
if (tm>0)
{
cout<<"Data " << k << " yang dicari ada dalam array"<<endl;
}
//jika tidak ditemukan
else
{
cout<<"Data tidak ditemukan dalam array"<<endl;
}
getch();
}
Referensi dari Buku Karya Adi Nugroho yang berjudul Algoritma & Struktur Data dengan C#
Komentar
Posting Komentar