“ALGORITMA PEMROGRAMAN”
MODUL XI
SEARCHING 1
Oleh:
2311103053
S1SI-07 E
FAKULTAS INFORMATIKA
2023
1
DAFTAR ISI
I. DASAR TEORI 3
1. Definisi Searching 3
2. 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.
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
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;
}
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.
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;
}
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;
return 0;
}
8
Screenshot Hasil Program
Penjelasan
}
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.
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:
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;
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;
int arr[n];
11
cout << "Masukkan Elemen yang Anda Cari : ";
cin >> key;
return 0;
}
Penjelasan
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.
int arr[n];
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;
}
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;
return 0;
}
Penjelasan
}
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.
16
IV. SUMBER
https://repository.unikom.ac.id/62323/1/SEARCHING-P4.pptx
17