hobingoding.com - Halo coders. Sequential search merupakan salah satu algoritma pencarian data yang mungkin tanpa disadari telah kita pergunakan dalam kehidupan sehari-hari. Jika dianalogikan cara kerja dari algoritma ini dapat diibaratkan dengan kondisi ketika kita sedang mencari buku di dalam rak buku. Tentunya kita akan mencari buku yang kita inginkan dengan melihat buku-buku yang ada di dalam rak tersebut secara berurut.
Selain algoritma sequential search sebenarnya terdapat algoritma lain yang dapat dengan lebih cepat menemukan data yang diinginkan. Namun sebagai permulaan tidak ada salahnya kita belajar membuat program sequential search terlebih dahulu.
Permasalahan
Buatlah program untuk mencari posisi indeks sebuah data dalam sebuah kumpulan (sebanyak n) data dengan menggunakan teknik sequential search.
Test Case
Input Data : 10 5 8 12 15 22 24 18
Input Cari Data : 22
Hasil : Data ditemukan pada indeks ke-5
Kode Program
print("Pencarian Data dengan Algoritma Sequential Search")
print("visit us hobingoding.com")
print()
ketemu = False
data = []
# Input Data
data = input("Input Data : ").split()
# Input Cari Data
cari = input("Input Cari Data : ")
# Algoritma Sequential Search
for i in range(len(data)):
if(cari == data[i]):
ketemu = True
print("Hasil : Data ditemukan pada indeks ke-%d"%i)
break
if(not(ketemu)):
print("Hasil : Data tidak ditemukan")
Lihat source code melalui github: fandipres
Output Program
Penjelasan Program
Pada program di atas pertama sekali saya menginisiasikan dua buah variabel yaitu ketemu bertipe boolean dan data bertipe array. Kemudian saya meminta pengguna untuk menginputkan kumpulan data yang akan kita cari datanya dengan menggunakan perintah input().split(). Split di sini berfungsi agar data dapat diinput dengan sekali input saja dalam bentuk satu baris data. Nantinya data tersebut akan dipecah menjadi array data dengan membaca pemisah berupa spasi.
Setelah data diinput saya kemudian meminta pengguna untuk memasukkan data yang ingin dicari yang saya simpan dalam variabel cari. Lalu saya membuatkan perulangan dengan parameter len(data) agar perulangan dilakukan sesuai dengan jumlah panjang data. Di dalam perulangan inilah saya mencocokkan setiap data pada indeks ke-i dengan data yang dicari sebelumnya. Jika datanya ditemukan, maka saya mengubah variabel ketemu yang sebelumnya menjadi True serta mencetak keterangan posisi dari data. Di sini saya juga menggunakan perintah break untuk menghentikan perulangannya. Sebaliknya, jika datanya tidak ditemukan maka saya mencetak keterangan data tidak ditemukan yang saya buat kondisinya di luar perulangan dengan mengecek nilai dari variabel ketemu.
Masih bingung atau punya pertanyaan lain? Feel free to ask me in comment section below guys.
terimakasih atas sharing ilmunya,,,
BalasHapus