Anda di halaman 1dari 17

LAPORAN PRAKTIKUM

“ALGORITMA PEMROGRAMAN”

MODUL XI

SEARCHING 1

Oleh:

MUHAMMAD IBNU SOFYAN

2311103053

S1SI-07 E

PROGRAM STUDI S1 SISTEM INFORMASI

FAKULTAS INFORMATIKA

INSTITUT TEKNOLOGI TELKOM PURWOKERTO

2023

1
DAFTAR ISI
I. DASAR TEORI 3

1. Definisi Searching 3

2. Sequential Search 3

2.1 Algoritma Sequential Search 3

II. GUIDED 5

1. Latihan 1 5

2. Latihan 2 8

III. UNGUIDED 10

1. Soal 1 10

2. Soal 2 14

IV. SUMBER 17

2
I. DASAR TEORI
1. Definisi Searching

Searching adalah sebuah metode pencarian guna menemukan data / informasi yang sedang
dicari di dalam sebuah kumpulan data yang memiliki type data sama. Pencarian diperlukan untuk
mendapatkan informasi/data dari kumpulan data yang belum diketahui. Pencarian dapat
dilakukan terhadap data yang secara keseluruhan berada dalam memory komputer ataupun yang
berada dalam penyimpanan ekternal (hardisk).

Pencarian yang dilakukan terhadap data yang berada dalam komputer di kenal dengan pencarian
internal sedangkan pencarian yang dilakukan pada media penyimpanan eksternal disebut
pencarian ekternal. Pencarian internal meliputi Pencarian Sekuensial (Sequential Search) dan
Pencarian Biner (Binary Search).

2. Sequential Search

Sequential Search adalah metode pencarian sebuah data dari suatu kumpulan data dimana data
dicari dari depan ke belakang atau dari awal sampai akhir data tanpa harus data tersebut
terurut. Konsepnya yaitu dengan melakukan perbandingan data satu-persatu secara berurutan
sampai data tersebut ditemukan ataupun tidak di temukan.

2.1 Algoritma Sequential Search

1. Data melakukan perbandingan satu per satu secara berurutan dalam kumpulan data
dengan data yang dicari sampai data tersebut ditemukan atau tidak ditemukan.

2. Pada dasarnya, pencarian ini hanya melakukan pengulangan data dari 1 sampai dengan
jumlah data (n).

3. Setiap pengulangan, dibandingkan data ke-i dengan data yang sedang dicari.

3
4. Apabila data sama dengan yang dicari, berarti data telah berhasil ditemukan.Sebaliknya
apabila sampai akhir melakukan pengulangan tidak ada data yang sama dengan yang
dicari, berarti data tidak ada yang ditemukan.

Pada contoh ini saya ingin mencari angka/elemen 36, pada data array { 15, 19, 17, 25, 36, 14 }

Pada iterasi pertama dimulai dengan membandingkan 36 dengan elemen pada index 0 yaitu 15,
maka 15 bukanlah angka tidak sesuai dengan yang dicari. Oleh karena itu harus melakukan
iterasi lagi.

Pada iterasi kedua, membandingkan elemen pada index 1 yaitu 19, maka elemen tersebut tidak
sesuai dengan elemen yang saya cari, maka melakukan iterasi lagi.

Pada iterasi ketiga, membandingkan elemen pada index 2 yaitu 17, hasilnya elemen tersebut
tidak sesuai dengan elemen yang ingin saya cari (36).
4
Pada iterasi keempat, membandingkan elemen pada index 4 yaitu 36, nahh pada index 4 terdapat
elemen 36 yang sesuai dengan elemen yang dicari.

II. GUIDED

1. Latihan 1

Analisa dan jelaskan jalan program Sequential Search dibawah:

Code Program
#include <iostream>
using namespace std;
int main()
{
const int panjangArray = 6;
int data[panjangArray] = {13, 16, 14, 21, 76, 15};
int cari, penghitung = 0;
bool ketemu = 0;
cout << "Masukkan data yang ingin dicari = ";
cin >> cari;
for (int i = 0; i < panjangArray; i++)
{
penghitung++;
if (data[i] == cari)
{
ketemu = 1;
break;

5
}
}
if (ketemu == 1)
{
cout << "Data ada!" << endl;
cout << "Proses perbandingan terjadi sebanyak : " << penghitung << endl;
}
else
{
cout << "Data tidak ada!" << endl;
}
return 0;
}

Screenshot Hasil Program

Penjelasan

int main()
{
const int panjangArray = 6;
int data[panjangArray] = {13, 16, 14, 21, 76, 15};
int cari, penghitung = 0;
bool ketemu = 0;
cout << "Masukkan data yang ingin dicari = ";
cin >> cari;
pada awal program, mendeklarasikan variabel konstanta Panjang array sebesar 6. Kemudian
mendeklarasikan data[panjangArray] dengan data array yaitu {13, 16, 14, 21, 76, 15}.
Selanjutnya, mendeklarasikan variabel cari dengan tipe data integer dan variabel penghitung

6
dengan diinisialisasi 0. Lalu mendeklarasikan variabel ketemu dengan tipe data boolean dan
diinisialisasi 0. Diakhir terdapat cout untuk menampilkan “Masukkan data yang ingin dicari =”
dan meminta user untuk menginput data yang ingin dicari kemudian menyimpannya ke dalam
variabel cari.

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


{
penghitung++;
if (data[i] == cari)
{
ketemu = 1;
break;
}
}
Pada bagian ini, program melakukan perulangan for sebanyak i < PanjangArray. kemudian
memeriksa data[i] sama dengan cari, dan program akan mengubah nilai ketemu menjadi 1 lalu
keluar.

if (ketemu == 1)
{
cout << "Data ada!" << endl;
cout << "Proses perbandingan terjadi sebanyak : " << penghitung << endl;
}
else
{
cout << "Data tidak ada!" << endl;
}
Pada bagian program ini, terdapat if jika ketemu sama dengan 1. Maka program akan
menampilkan “Data ada!” dan “Proses perbandingan terjadi sebanyak :” lalu menampilkan nilai
yang ada pada variabel penghitung. Selanjutnya, kondisi else jika ketemu tidak bernilai 1 maka
program akan menampilkan “Data tidak ada!”.

7
2. Latihan 2

Buatlah fungsi/prosedur untuk pencarian data bertipe bilangan bulat dengan menggunakan
algoritme sequential search.

Code Program

#include<iostream>
using namespace std;

void sequential ( int arr[], int n, int key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Angka " << key << " Ada di index ke- : " << i << endl;
return;
}
}
cout << "angka yang dicari : "<< key <<" tidak ada";

}
int main ()
{
const int jumlah = 5;
int angka[jumlah] = {6, 8, 3, 9, 7};
int cari;

system("cls");
cout << " \t\tSEQUENTIAL SEARCH \n";
cout<<endl;
cout << "\tData Array Tersedia { 6, 8, 3, 9, 7 }\n";
cout<<endl;
cout << "Masukkan Angka yang ingin Anda Cari : ";
cin >> cari;

sequential (angka, jumlah, cari);

return 0;
}

8
Screenshot Hasil Program

Penjelasan

void sequential ( int arr[], int n, int key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Angka " << key << " Ada di index ke- : " << i << endl;
return;
}
}
cout << "angka yang dicari : "<< key <<" tidak ada";

}
Pada program ini program membuat fungsi sequential dengan parameter int arr[] untuk array, int
n untuk banyaknya elemen dalam data array, dan int key untuk angka yang ingin dicari.
Selanjutnya terdapat perulangan for dengan i<n yaitu kurang dari jumlah data. Kamudian if, jika
arr[i] sama dengan key, maka program akan menampilkan “Angka “ lalu nilai dalam variabel
key kamudian “Ada di index ke- : “ dan menampilkan nilai i. selain itu, terdapat program untuk
menampilkan “Angka yang dicari : “ / “ tidak ada” jika arr[i] tidak sama dengan key.

int main ()

9
{
const int jumlah = 5;
int angka[jumlah] = {6, 8, 3, 9, 7};
int cari;
pada fungsi main, program mendeklarasikan jumlah dengan tipe data konstanta yang berarti nilai
dalam variabel jumlah punya nilai tetap. Selanjutnya, mendeklarasikan variabel angka dengan isi
data array sebanyak jumlah yaitu {6, 8, 3, 9, 7}. Lalu mendekalarasikan variabel cari dengan
tipe data integer.

cout << " \t\tSEQUENTIAL SEARCH \n";


cout<<endl;
cout << "\tData Array Tersedia { 6, 8, 3, 9, 7 }\n";
cout<<endl;
cout << "Masukkan Angka yang ingin Anda Cari : ";
cin >> cari;

sequential (angka, jumlah, cari);


yang pertama, program untuk menampilkan “SEQUENTIAL SEARCH” berfungsi sebagai judul.
Kemudian menampilkan data array yang tersedia. Selanjutnya menampilkan “Masukkan angka
yang ingin anda cari : “ dan meminta user untuk menginputkan angka yang dicari kemudian
menyimpannya dalam variabel cari. Pada akhir program memanggil fungsi sequential.

III. UNGUIDED

1. Buatlah program C++ untuk melakukan pencarian sekuensial (sequential search) pada
suatu array. Program ini harus mampu mencari nilai tertentu dalam array dan memberikan
informasi apakah nilai tersebut ditemukan atau tidak.
Instruksi:

a. Buatlah program C++ yang memungkinkan pengguna untuk memasukkan panjang


array dan elemen-elemen array.
b. Program harus meminta pengguna untuk memasukkan nilai yang ingin dicari
dalam array.

10
c. Implementasikan algoritma sequential search untuk mencari nilai dalam array.
d. Tampilkan pesan apakah nilai tersebut ditemukan atau tidak.

Code Program
#include<iostream>
using namespace std;

void sequentialSearch ( int arr[], int n, int key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Angka " << key << " Ada di index ke- :" << i << endl;
return;
}
}
cout << "angka yang dicari " << key << " tidak ada";
}

int main ()
{

int n;
int key;

system("cls");
cout << " \t\tSEQUENTIAL SEARCH\n";
cout << endl;
cout << " Program untuk mencari elemen dengan cara Sequential\n";
cout << endl;

cout << "Masukkan jumlah data array : ";


cin >> n;

int arr[n];

cout << "Masukkan elemen array : ";


for (int i = 0; i < n; i++)
{
cin >> arr[i];
}

11
cout << "Masukkan Elemen yang Anda Cari : ";
cin >> key;

sequentialSearch( arr, n, key );

return 0;
}

Screenshot hasil program

Penjelasan

void sequentialSearch ( int arr[], int n, int key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Angka " << key << " Ada di index ke- :" << i << endl;
return;
}
}
cout << "angka yang dicari " << key << " tidak ada";
}

Pada program ini program membuat fungsi sequential dengan parameter int arr[] untuk array, int
n untuk banyaknya elemen dalam data array, dan int key untuk angka yang ingin dicari.

12
Selanjutnya terdapat perulangan for dengan i<n yaitu kurang dari jumlah data. Kamudian if, jika
arr[i] sama dengan key, maka program akan menampilkan “Angka “ lalu nilai dalam variabel
key kamudian “Ada di index ke- : “ dan menampilkan nilai i. selain itu, terdapat program untuk
menampilkan “Angka yang dicari : “ / “ tidak ada” jika arr[i] tidak sama dengan key.

int main ()
{

int n;
int key;

system("cls");
cout << " \t\tSEQUENTIAL SEARCH\n";
cout << endl;
cout << " Program untuk mencari elemen dengan cara Sequential\n";
cout << endl;
pada bagian fungsi main, program mendeklarasikan variabel n dan key dengan tipe data integer.
Kemudian menampilkan “SEQUNTIAL SEARCH” berfungsi sebagai judul, dan “Program untuk
mencai elemen dngan cara sequential” berfungsi hanya sebagai penanda bahwa melakukan
pencarian cara sequential.

cout << "Masukkan jumlah data array : ";


cin >> n;

int arr[n];

cout << "Masukkan elemen array : ";


for (int i = 0; i < n; i++)
{
cin >> arr[i];
}

cout << "Masukkan Elemen yang Anda Cari : ";


cin >> key;

sequentialSearch( arr, n, key );


pada bagian ini program menampilkan “Masukkan jumlah data array : “ dan meminta user untuk
menginput dan menyimpannya ke variabel n. kamudian program menampilkan lagi “Masukkan
elemen array : “ dengan menggunakan perulangan for sebanyak I < n, dan menyimpannya ke
arr[i]. selanjutnya program menampilkan “Masukkan elemen yang and acari : “ dan meminta

13
user untuk menginputkan elemen yang dicari lalu menyimpannya ke dalam variabel key. Pada
akhir program memanggil fungsi sequentialSearch.

2. Buatlah program c++ isi array tersebut dengan kata, kemudian lakukan pencarian untuk
kata menggunakan algoritma sequential search.

Code program
#include<iostream>
#include<string>
using namespace std;

void sequential ( string arr[], int n, string key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Negara " << key << " Ada di Index ke- : " << i << endl;
return;
}
}
cout << "Netgara yang dicari : "<< key <<" Tidak Ada";

}
int main ()
{
const int jumlah = 5;
string country[jumlah] = { "Indonesia", "Malaysia", "Singapura",
"Thailand", "Vietnam" };
string cari;

system("cls");
cout << " \t\tSEQUENTIAL SEARCH \n";
cout<<endl;
cout << "\tData Negara ASEAN yang Tersedia :\n";
cout << "- Indonesia\n";
cout << "- Malaysia\n";
cout << "- Singapura\n";

14
cout << "- Thailand\n";
cout << "- Vietnam\n";
cout<<endl;
cout << "Masukkan Negara yang ingin Anda Cari : ";
cin >> cari;

sequential (country, jumlah, cari);

return 0;
}

Screenshot Hasil Program

Penjelasan

void sequential ( string arr[], int n, string key)


{
for (int i = 0; i < n; i++)
{
if (arr[i] == key)
{
cout << "Negara " << key << " Ada di Index ke- : " << i << endl;
return;
}
}
cout << "Negara yang dicari : "<< key <<" Tidak Ada";

}
Pada program ini adalah fungsi dengan nama fungsi sequential dengan parameter string arr[], int
n, dan string key. Selanjutnya ada perulangan for sebanyak I < n (jumlah elemen dalam data
array), terdapat if jika kondisi arr[i] sama dengan key maka akan menampilkan “Negara” lalu

15
menampilkan nilai dalam key/negara yang dicari dan dilanjutkan “Ada di index ke- : “ lalu
menampilkan nilai index i. pada akhir terdapat cout “Negara yang dicari” menampilkan
elemen/negara dalam key lalu “Tidak ada”.

int main ()
{
const int jumlah = 5;
string country[jumlah] = { "Indonesia", "Malaysia", "Singapura",
"Thailand", "Vietnam" };
string cari;
pada program main, program mendeklarasikan variabel jumlah dengan tipe data const int yang
mana nilai ini dikonstantakan sebesar 5. Kemudian mendeklarasikan variabel country dengan
tipe data string yang didalamnya berisi elemen sebanyak jumlah(5) array ini berisi { “Indonesia”,
“Malaysia”, “Singapura”, “Thailand”, “Vietnam” }; . selanjutnya mendeklarasikan variabel cari
dengan tipe data string.

cout << " \t\tSEQUENTIAL SEARCH \n";


cout<<endl;
cout << "\tData Negara ASEAN yang Tersedia :\n";
cout << "- Indonesia\n";
cout << "- Malaysia\n";
cout << "- Singapura\n";
cout << "- Thailand\n";
cout << "- Vietnam\n";
cout<<endl;
cout << "Masukkan Negara yang ingin Anda Cari : ";
cin >> cari;

sequential (country, jumlah, cari);


pada program ini menampilkan menampilkan “SEQUENTIAL SEARCH” untuk menandakan
sebagai judul. Kemudian menampilkan “Data Negara ASEAN yang Tersedia :” dan dibawahnya
ada daftar negara negara ASEAN yang berguna untuk menjadi pilihan user untuk mencari
keberadaan dari index negara yang ingin user cari. Selanjutnya menampilkan “Masukkan Negara
yang ingin Anda Cari : “ dan meminta user untuk menginputkan negara yang ingin user cari lalu
menyimpannya ke dalam variabel cari. Pada akhir program memanggil fungsi sequential.

16
IV. SUMBER

https://repository.unikom.ac.id/62323/1/SEARCHING-P4.pptx

17

Anda mungkin juga menyukai