Anda di halaman 1dari 17

LAPORAN PRAKTIKUM

Algoritma Pemrograman

MODUL IIX
SEARCHING

Disusun oleh:
Raditya Hidayat
2211102323
S1 IF-10-H

PROGRAM STUDI S1 INFORMATIKA


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
2022
LATIHAN KELAS – GUIDED
1. Guided 1
Source Code
#include <iostream>

using namespace std;

int sequential_search (int data[], int n, int k){

int posisi, i, ketemu;

if (n <= 0)

posisi = -1;

else {

ketemu = 0;

i = 1;

while ((i < n-1) && !ketemu){

if (data[i] == k){

posisi = i;

ketemu = 1;

} else {

i++;

if (!ketemu){

posisi = -1;

return posisi;

}
int main()

int n = 7;

int data[] = {3,1,5,6,4,7,0};

int k = 4;

int posisi = sequential_search(data, n, k);

if (posisi != -1){

cout << " key " << k << " was found at indeks " <<
endl;

else {

cout << " key " << k << " not found " << endl;

return 0;

Screenshoot program

Deskripsi program
program ini adalah program yang dibuat untuk mencari posisi angka dalam indeks
array, program ini menggunakan sistem sequential search untuk mencari indeks di
dalam array.
2. Guided 2
Source code
#include <iostream>

using namespace std;

int sequentialsearch (int arr[], int n, int kuncipencarian)

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

if (arr[i] == kuncipencarian)

return i;

return -1;

int main()

int angka [] = {1,5,7,2,3,9};

int n = 6;

int idx_ditemukan;

int yangdicari;

cout << "masukkan angka yang ingin dicari : ";

cin >> yangdicari;

idx_ditemukan = sequentialsearch(angka, n, yangdicari);

if (idx_ditemukan != -1)

cout << yangdicari << " ditemukan pada indeks " <<
idx_ditemukan;

else{
cout << yangdicari << "tidak ditemukan " << endl;

return 0;

Screenshoot program

Deskripsi program
Program ini adalah program ini adalah program yang dibuat untuk mencari posisi
angka dalam indeks array, program ini menggunakan sistem sequential search untuk
mencari indeks di dalam array. Program ini akan meminta pengguna untuk
memasukan angka lalu program akan mencari angka tersebut di dalam indeks.
3. Guided 3
Source code

#include <iostream>

using namespace std;

int binarySearch (int arr[], int n, int k){


int kiri, kanan, tengah;
kiri = 0;
kanan = n;
int posisi = -1;
bool ketemu = false;

while(kiri <= kanan)


{
tengah = (kanan+kiri)/2;

if (k == arr [tengah]){
posisi = tengah;
break;
}
else if (k < arr[tengah]){
kanan = tengah-1;
}
else if (k > arr[tengah]){
kiri = tengah+1;
}
}
return posisi;
}

int main()
{
int angka [6] = {1,5,7,8,11,15};
int idx_ditemukan;
int yangDicari;

cout << "masukkan angka yang ingin dicari : ";


cin >> yangDicari;

idx_ditemukan = binarySearch(angka, 6, yangDicari);

if (idx_ditemukan != -1)
{
cout << yangDicari << " ditemukan pada indeks " <<
idx_ditemukan << endl;
}
else{
cout << yangDicari << " tidak ditemukan " << endl;
}

return 0;
}
Screenshot program

Desikripsi program
Program ini adalah program ini adalah program ini adalah program yang dibuat untuk
mencari posisi angka dalam indeks array, program ini menggunakan sistem binary
search untuk mencari indeks di dalam array. Program ini akan meminta pengguna
untuk memasukan angka lalu program akan mencari angka tersebut di dalam indeks
LATIHAN KELAS – UNGUIDED
1. Unguided 1
Source code
#include <iostream>

using namespace std;

int Sequentialsearch(double arr[], int n ,double


kunciPencarian){

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

if (arr[i] == kunciPencarian){

return i;

return -1;

int main() {

double angka[6] = {1.43,5.32,7.6,2.1,3.6,9.33};

int idx_ditemukan;

double yangDicari;

cout << "Masukkan angka yang ingin dicari : ";

cin >> yangDicari;

idx_ditemukan = Sequentialsearch(angka ,6 ,yangDicari);

if(idx_ditemukan != -1){

cout << yangDicari << " Ditemukan Pada Indeks " <<
idx_ditemukan << endl;

}else{

cout << yangDicari << " Tidak Ditemukan" << endl;

return 0;
}

Screenshoot program

Deskripsi program
Program ini adalah program ini adalah program ini adalah program yang dibuat untuk
mencari posisi angka dalam indeks array, program ini menggunakan sistem
sequential search untuk mencari indeks di dalam array. Program ini akan meminta
pengguna untuk memasukan angka lalu program akan mencari angka tersebut di
dalam indeks. Tipe data yang digunakan pada program ini adalah double untuk
bilangan desimal
2. Unguided 2
Source code

#include <iostream>

using namespace std;int binarySearch(char arr[], int n, char


k){

int kiri, kanan, tengah;

kiri = 0;

kanan = n;

int posisi = -1;

while(kiri <= kanan){

tengah = (kanan+kiri)/2;

if(k == arr[tengah]){

posisi = tengah;

break;

}else if (k < arr[tengah]){

kanan = tengah-1;

}else if (k > arr[tengah]){

kiri = tengah+1;

return posisi;

int main() {

char huruf[6] = {'a','d','e','f','i','z'};

int idx_ditemukan;

char yangDicari;

cout << "Masukkan huruf yang ingin dicari : ";

cin >> yangDicari;

idx_ditemukan = binarySearch(huruf, 6, yangDicari);

if(idx_ditemukan != -1){

cout << yangDicari << " ditemukan pada indeks " <<
idx_ditemukan <<endl;
}else{

cout << yangDicari << " tidak ditemukan " << endl;

return 0;

Screenshoot program

Deskripsi program
Program ini adalah Program ini adalah program ini adalah program ini adalah
program yang dibuat untuk mencari posisi angka dalam indeks array, program ini
menggunakan sistem binary search untuk mencari indeks di dalam array. Program ini
akan meminta pengguna untuk memasukan huruf lalu program akan mencari huruf
tersebut di dalam indeks. Tipe data yang digunakan pada program ini adalah char
untuk memasukan huruf.
TUGAS
1. Tugas
Source code
#include <iostream>

using namespace std;

int Sequentialsearch(string arr[], int n ,string


kunciPencarian){
for (int i = 0; i < n; i++){
if (arr[i] == kunciPencarian){
return i;
}
}
return -1;
}
int main()
{
string plat [10] = {"R 300 SR", "R 1234 DJ", "R 3218 RR",
"R 701 LP", "R 007 TU", "R 3 ST", "R 999 RT", "R 210 RO", "R
1111 II", "R 4987 LH"};
int index_plat;
string nomorPlat;

cout << "Masukan Nomor Plat : ";


getline(cin , nomorPlat);

index_plat = Sequentialsearch(plat, 10, nomorPlat);

if(index_plat != -1){
cout << nomorPlat << " Ditemukan Pada Indeks " <<
index_plat << endl;
}else{
cout << nomorPlat << " Tidak Ditemukan" << endl;
}
return 0;
}
Screenshot program

Deskripsi program
Program ini adalah program ini adalah program ini adalah program yang dibuat untuk
mencari posisi angka dalam indeks array, program ini menggunakan sistem
sequential search untuk mencari indeks di dalam array. Program ini akan meminta
pengguna untuk memasukan nomor plat lalu program akan mencari nomor plat
tersebut di dalam indeks. Tipe data yang digunakan pada program ini adalah string
untuk gabungan antara angka dan huruf.
2. Tugas 2
Souce code
#include <iostream>

using namespace std;

int binarySearch (int arr[], int n, int k){


int kiri, kanan, tengah;
kiri = 0;
kanan = n;
int posisi = -1;
bool ketemu = false;

while(kiri <= kanan)


{
tengah = (kanan+kiri)/2;

if (k == arr [tengah]){
posisi = tengah;
break;
}
else if (k < arr[tengah]){
kanan = tengah-1;
}
else if (k > arr[tengah]){
kiri = tengah+1;
}
}
return posisi;
}
int main()
{
int nim323[13] = {12102001, 12102002, 12102003, 12102004,
12102005, 12102006, 12102007, 12102008, 12102009, 12102010,
12102011, 12102012, 12102013};
int indxDitemukan;
int nimDicari;

cout << "Masukan Nim yang ingin dicari : "; cin >>
nimDicari;

indxDitemukan = binarySearch(nim323, 6, nimDicari);

if (indxDitemukan != -1)
{
cout << nimDicari << " ditemukan pada indeks " <<
indxDitemukan << endl;
}
else{
cout << nimDicari << " tidak ditemukan " << endl;
}

return 0;
}
Screenshoot program

Deskripsi program
Program ini adalah program ini adalah program ini adalah program yang dibuat untuk
mencari posisi angka dalam indeks array, program ini menggunakan sistem binary
search untuk mencari indeks di dalam array. Program ini akan meminta pengguna
untuk memasukan nim lalu program akan mencari nim tersebut di dalam indeks.
3. Tugas 3
Source code

#include <iostream>

using namespace std;

int binarySearch (int arr[], int n, int k){


int kiri, kanan, tengah;
kiri = 0;
kanan = n;
int posisi = -1;
bool ketemu = false;

while(kiri <= kanan)


{
tengah = (kanan+kiri)/2;

if (k == arr [tengah]){
posisi = tengah;
break;
}
else if (k < arr[tengah]){
kanan = tengah-1;
}
else if (k > arr[tengah]){
kiri = tengah+1;
}
}
return posisi;
}
int main()
{
int angka [10] = {21, 61, 28, 72, 44, 68, 37, 52, 75, 75};
int idx_ditemukan;
int yangDicari;

cout << "masukkan angka yang ingin dicari : ";


cin >> yangDicari;

idx_ditemukan = binarySearch(angka, 6, yangDicari);

if (idx_ditemukan != -1)
{
cout << yangDicari << " ditemukan pada indeks " <<
idx_ditemukan << endl;
}
else{
cout << yangDicari << " tidak ditemukan " << endl;
}

return 0;
}
Screenshot program

Deskripsi program
Program ini adalah Program ini adalah program ini adalah program ini adalah
program yang dibuat untuk mencari posisi angka dalam indeks array, program ini
menggunakan sistem binary search untuk mencari indeks di dalam array. Program ini
akan meminta pengguna untuk memasukan angka lalu program akan mencari angka
tersebut di dalam indeks.

Anda mungkin juga menyukai