“Searching (Sequential)”
Yo sobat Mahasiswa, mari kita lanjutkan materi koding yaitu "Searching Sequential". Silahkan juga lihat Contoh Program Besar pada postingan sebelumnya.
- Searching Sequential
Pencarian berurutan dalam C++ juga disebut pencarian linear. Teknik pencarian ini sangat sederhana, untuk melakukan teknik ini pengguna mulai loop dari indeks nol array ke indeks terakhir array. Dimulai dari indeks pertama dan membandingkan nilai yang diperlukan dengan nilai pertama.
Jika nilai yang diperlukan ditemukan, maka akan menunjukkan hasil sebaliknya membandingkan nilai indeks berikutnya dan akan berlanjut sampai nilai yang diperlukan ditemukan atau loop selesai tanpa menemukan nilai apa pun.
Jika sobat mencari elemen yang berada di dekat bagian depan array, pencarian berurutan akan menemukannya dengan cepat. Semakin banyak data yang harus dicari, semakin lama waktu yang dibutuhkan untuk menemukan data yang cocok dengan kunci menggunakan proses ini, Oleh karena itu diperlukan suatu metode untuk mempersingkat hal tersebut.
Jika sobat mencari elemen yang berada di dekat bagian depan array, pencarian berurutan akan menemukannya dengan cepat. Semakin banyak data yang harus dicari, semakin lama waktu yang dibutuhkan untuk menemukan data yang cocok dengan kunci menggunakan proses ini, Oleh karena itu diperlukan suatu metode untuk mempersingkat hal tersebut.
Contoh:
i = 0;
ulang:
if (i != n)
{
if (nama[i] == x)
cout << " Nama yang dicari ditemukan pada data " << i+1;
else
{
i++;
goto ulang;
}
}
else
{
cout << " Data tidak ada\n";
}
return 0;
Penjelasan:
Dalam algoritma searching sequential diatas, i didefinisikan sebagai variabel yang mencarikan data yang sobat inputkan dan dicari. Lalu program memeriksa algoritma penyeleksian kondisi, dimana jika i tidak sama dengan n (n = jumlah data) maka kondisi 1 (if) akan dijalankan, jika tidak maka kondisi 2 (else) yang dijalankan.
Dalam kondisi 1 (if) ada algoritma penyeleksian kondisi lagi yang dimana dalam algoritma tersebut jika nama[i] sama dengan data/sesuai (nama[i] == x) maka program akan menjalankan kondisi 1 dengan perintah output "Nama yang dicari ditemukan pada data ....". Namun, jika tidak maka kondisi 2 yang dijalankan dimana i akan diproses (i++) sehingga i yang semula 0 menjadi 1 (0 = 0 + 1) karena i++ sama saja dengan i+1, lalu ada deklarasi goto ulang untuk perintah mengulang proses ke dimana ulang berada.
Jika dalam proses pencarian data sudah selesai, maka proses akan di return untuk mengakhiri program (mengembalikan nilai awal semua).
Dalam algoritma searching sequential diatas, i didefinisikan sebagai variabel yang mencarikan data yang sobat inputkan dan dicari. Lalu program memeriksa algoritma penyeleksian kondisi, dimana jika i tidak sama dengan n (n = jumlah data) maka kondisi 1 (if) akan dijalankan, jika tidak maka kondisi 2 (else) yang dijalankan.
Dalam kondisi 1 (if) ada algoritma penyeleksian kondisi lagi yang dimana dalam algoritma tersebut jika nama[i] sama dengan data/sesuai (nama[i] == x) maka program akan menjalankan kondisi 1 dengan perintah output "Nama yang dicari ditemukan pada data ....". Namun, jika tidak maka kondisi 2 yang dijalankan dimana i akan diproses (i++) sehingga i yang semula 0 menjadi 1 (0 = 0 + 1) karena i++ sama saja dengan i+1, lalu ada deklarasi goto ulang untuk perintah mengulang proses ke dimana ulang berada.
Jika dalam proses pencarian data sudah selesai, maka proses akan di return untuk mengakhiri program (mengembalikan nilai awal semua).
- Contoh Program
#include <iostream> #include <windows.h> using namespace std; main() { int n, i = 0; string nama[10], x; cout << " Masukan banyak data : "; cin >> n; for (i = 0; i < n; i++) { cout << " Orang " << i+1 << " = "; cin >> nama[i]; } system("cls"); cout << " Masukan nama yang dicari : "; cin >> x; i = 0; ulang: if (i != n) { if (nama[i] == x) cout << " Nama yang dicari ditemukan pada data " << i+1; else { i++; goto ulang; } } else { cout << " Data tidak ada\n"; } return 0; }
Sobat bisa mencoba kodingan diatas dan memahaminya. Contoh programnya sendiri memiliki banyak variasi tergantung dari kreativitas oleh penulis program.
Sekian dari postingan blog kali ini. Semoga artikel ini dapat bermanfaat bagi sobat baik untuk mengerjakan tugas, menambah ilmu, maupun untuk sekedar menambah wawasan untuk media pembelajaran koding.