Searching Tugas Pendahuluan & Tugas Akhir UNPAM

Jawaban Tugas Pendahuluan

1. Jelaskan yang dimaksud dengan Searching!

Searching adalah proses yang fundamental dalam pemrograman, guna menemukan data (nilai) tertentu didalam sekumpulan data yang bertipe sama.

 

2. Jelaskan kelebihan dan kekurangan searching pada bahasa C/C++!

Searching mempunyai kelebihan apabila data yang dicari letaknya pada data-data awal sehingga prosesnya berjalan cepat. namun searching mempunyai kelemahan apabila data yang dicari letaknya pada data terakhir maka dalam penggunaan waktu, proses ini berjalan lama.

3. Sebagai programmer, mengapa anda menggunakan searching!

Karena dapat memudahkan pencarian data.

 

4. Buatlah contoh algoritma dan program sederhana menggunakan searching dengan memakai flowchart!

#include<iostream>
#include<conio.h>
using namespace std;
int binary_search(int[], int, int);
main()
{
printf(” Nama : Nur Rahman Kelas : 02TPLP021 NIM: 17101140**** “);
printf(” ======================== “);
const int array_size=10;
int array[array_size]={0, 6, 9, 12, 20, 23, 29, 32, 47, 79};
cout<<” isi dari array adalah : “<<endl;
cout<<” array:”<<”         data:”<<endl;
for(int count=0; count<array_size; count++)
{
cout<<” “<<“array[“<<count<<“]”<<” “;
cout<<array[count]<<endl;
}
int searching_element=0;
int flag=0;
cout<<” masukan data yang anda cari = “;
cin>>searching_element;
flag=binary_search(array,array_size,searching_element);
if(flag !=-1)
cout<<” data tersebut ditemukan pada posisi: array[“<<flag<<“]”;
else
cout<<” data tersebut tidak ditemukan”;
getch();
return 0;
}

int binary_search(int array[], int array_size, int element)
{
int start=0;
int end=array_size-1;
int middle;
int position=-1;
middle=(start+end)/2;
do
{
if(element<array[middle])
end=middle-1;
else if(element>array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=element);
if(array[middle==element])
position=middle;
return position;
}