LAPORAN PRAKTIKUM
ALGORITMA
PEMOGRAMAN 2
Searching (Sequentian
dan Binary Seacrh)
Flowchart Binary
Search
Oleh:
RATIH
1801301059
Dosen
Pengampu :
Veri
Julianto, S.Si, M.Si
PROGRAM
STUDI TEKNIK INFORMATIKA
POLITEKNIK
NEGERI TANAH LAUT
PELAIHARI
2019
1.
Judul
Materi
Searching
2.
Kemampuan
Akhir Tahap Pembelajaran (KATP)
Mahasiswa
dapat menerapkan metode searching dan membedakan metode-metode searching
pada bahasa pemrograman C++ secara tepat (C3,
A3, P4)
3.
Alat
dan Bahan
Alat dan bahan yang diperlukan adalah: Personal Computer (PC)/Laptop, Terminal,
dan Codeblocks.
4.
Teori
Singkat
Algoritma
pencarian (searching algorithm) adalah algoritma yang menerima sebuah
argumen kunci dan dengan langkah-langkah tertentu akan mencari argument kunci
tersebut pada data yang telah dimiliki. Setelah proses pencarian dilaksanakan,
akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari
ditemukan (successful) atau tidak ditemukan (unsuccessful).
Ada
dua macam teknik pencarian yaitu pencarian sekuensial (sequential search)
dan pencarian biner (binary search). Perbedaan dari dua teknik ini
terletak pada keadaan data. Pencarian sekuensial digunakan apabila data dalam
keadaan acak atau tidak terurut. Sebaliknya, pencarian biner digunakan pada
data yang sudah dalam keadaan urut.
5.
Pelaksanaan
Praktikum
Tahapan
pelaksanaan praktikum adalah sebagai berikut.
a. Tahapan
uraian materi, yaitu penjelasan singkat tentang materi Sequential dan Binary search.
b. Tahapan
latihan,
i.
mahasiswa berlatih membuat Algoritma Sequential dan Binary search dalam bentuk flowchart
ii. mahasiswa
berlatih menerapkan sequential search untuk mencari argument kunci pada kasus yang diberikan
iii. pemberian
source code kepada mahasiswa tentang sequential
search dalam pemrograman C++ pada codeblocks,
iv. mahasiswa
berlatih menerapkan binary search untuk
mencari argument kunci pada kasus yang diberikan
v. pemberian
source code kepada mahasiswa tentang binary
search dalam pemrograman C++ pada codeblocks,
c. Tahapan
tindak lanjut, yaitu pemberian tugas kepada mahasiswa.
a. Sequential Search
i.
Manual
Algoritma
pencarian dapat dijelaskan sebagai berikut : pencarian dimulai dari data paling
awal, kemudian ditelusuri dengan menaikkan indeks data, apabila data sama
dengan kunci pencarian dihentikan dan diberikan nilai pengembalian true,
apabila sampai indeks terakhir data tidak ditemukan maka diberikan nilai
pengembalian false.
Ilustrasi
dari algoritma sequential search
adalah sebagai berikut :
Kunci=3
ii.
Program
|
#include <iostream>
using namespace std;
int
A[]={2,6,3,5,12,14,1,7,20,21,19};
int cari, a, ketemu =0, i;
int main()
{
cout<<"input data yang
dicari : ";cin>>cari;
a= sizeof(A)/sizeof(A[0]);
for(int i=0; i<a; i++) ///akan
menghitung data
{
if (A[i]=cari)///== perbandingan
true/falsh
{
ketemu=!ketemu;
break;
}
}
if (ketemu>0)
{
cout<<cari<<"
ditemukan"<<endl;
}
else
{
cout<<cari<<"
tidak ditemukan"<<endl;
}
return 0;
}
|
iii.
Hasil Running
a. Binary Search
i. Program
|
#include <iostream>
#include <conio.h>
Using namespace std;
int BinarySearch(int Data[], int
x, int n)
{
int L = 0, R = n-1, m, ketemu = 0;
while((L <= R) && (!ketemu))
{
m = (L + R) / 2;
if(Data[m] == x)
ketemu = !ketemu;
else if (x < Data[m])
R = m - 1;
else
L = m + 1;
}
if(ketemu)
return m+1;
else
return -1;
}
int main()
{
int
Data[]={1,2,3,4,5,6,7,8,9,10};
int
n = sizeof(Data);
int
cari; cout<<"Masukkan data yang dicari : ";cin>>cari;
int
ketemu = BinarySearch(Data, cari, n);
if(ketemu>0)
cout<<"Data ditemukan di
posisi : "<<ketemu;
else
cout<<"Data tidak
ditemukan";
getch();
}
|






