Dokumen tersebut membahas dua teknik pencarian data, yaitu teknik sequential search dan binary search. Teknik sequential search adalah metode pencarian yang paling sederhana dengan membandingkan setiap elemen secara berurutan. Sedangkan binary search digunakan untuk mencari data pada array yang sudah terurut dengan menebak posisi tengah dan membandingkannya. Dokumen ini memberikan penjelasan algoritma dan contoh soal untuk kedua teknik tersebut.
4. Teknik
Sequential
Pengertian Teknik
Sequential
Algoritma/ caranya
Contoh soal dan
pembahasannya
Teknik Binary
Search
Pengertian Teknik Binary
Search
Algoritma/ caranya
Contoh soal dan
pembahasannya
5. Pencarian Sekuensial (sequential searching) atau
pencarian berurutan sering disebut encparian linear
merupakan metode pencarian yang paling sederhana. Pencarian
beruntun adalah proses membandingkan setiap elemen larik satu per satu
secara beruntun, mulai dari elemen pertama sampai elemen yang dicari
ditemukan atau seluruh elemen sudah diperiksa.
Sequential Search (Pencarian Berurutan)
6. Data yang ada dibandingkan satu per satu
secara berurutan dengan yang dicari sampai
data tersebut ditemukan atau tidak
ditemukan.
Pada dasarnya, pencarian ini hanya
melakukan pengulangan dari 1 sampai
dengan jumlah data.
Pencarian berurutan
menggunakan prinsip sebagai
berikut :
7. Pada setiap pengulangan, dibandingkan data ke-i
dengan yang dicari.
Apabila sama, berarti data telah ditemukan.
Sebaliknya apabila sampai akhir pengulangan tidak
ada data yang sama, berarti data tidak ada.
8. kita mencari data 5 dari array [,1,2,4,3,5]
maka akan mengecek dari awal sampai data ketemu, jadi
akan di periksa satu persatu ,
dengan cara membandingkan seperti ini
apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 4 False
apakah 5 = 3 False
apakah 5 = 5 True
ALGORITMA /
CARANYA
9. jika ada ada di tengah maka akan berhenti ketika kondis
menjadi true, dan tidak akan di ualang lagi contoh kita
mencari data 5 dari array [,1,2,5,3,4]
apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 5 True
Jika data sudah ketemu maka tdk akan diproses lagi.
10. CONTOH SOAL :
Array :
int a [5] = {3,5,4,9,1} (index array padabahasa C++
dimulaidari index ke 0 !!!) jika kita ingin mencari
bilangan 4 dalam array tersebut, maka proses yang
terjadi kita mencari
11. dari array index ke-0, yaitu 3, dicocokan dengan bilangan yang
akan dicari, jika tidak sama, maka mencari ke index berikutnya.
pada array index ke-1, juga bukan bilangan yang dicari, maka kita
mencari lagi pada index berikutnya.
pada array index ke-2, ternyata bilangan yang kita cari ada
ditemukan, maka kita keluar dari looping pencarian.
JAWAB :
12. Teknik Binary Search
` Binary Search adalah algoritma pencarian untuk data
yang telah terurut, yaitu data yang diurutkan dari yang besar ke kecil
ataupun sebaliknya, pencarian dilakukan dengan langsung menebak
apakah data yang dicari berada ditengah-tengah data yang lainnya,
kemudian membandingankan data yang ditengah dengan data yang
dicari, apabila sama maka dapat dikatakan data ditemukan, namun
apabila data yang dicari ternyata lebih kecil daripada elemen tengah,
maka pencarian dilakukan dari bagian tengah ke bawah.
13. ALGORITMA /
CARANYA
Tentukan posisi awal = 0 dan posisi akhir = N – 1.
Hitung posisi tengah = (posisi awal + posisi akhir) / 2.
Bandingkan data yang dicari dengan elemen posisi tengah.
Jika data yang dicari sama maka catat posisi dan cetak
kemudian berhenti.
14. Jika lebih besar maka akan dilakukan
pencarian kembali ke bagian kiri dengan nilai
posisi awal = posisi tengah + 1 dan posisi
akhir tetap kemudian ulangi mulai poin 2
Jika nilai datanya lebih kecil maka akan
dilakukan pencarian kembali ke bagian kiri
dengan nilai posisi awal tetap dan nilai posisi
akhir = posisi tengah – 1 kemudian ulangi
mulai poin 2.
15. Misalkan kita memiliki int arr[] = {70, 60, 30,
50, 40,20}, data para int arr harus diurutkan
terlebih dahulu menggunakan teknik sorting
seperti bubble sort. Sehingga array kita akan
menjadi int arr[] = {20,30,40,50,60,70}.
CONTOH
17. 1st Cycle:
(20,30,40,50,60,70)
LOW = 0
HIGH = N
MID = (LOW + HIGH)/2 = (0+6)/2 = 3
(arr[MID] == 40)
(20,30,40,50,60,70)
(50==40) // FALSE
HIGH = MID-1
*Array di mulai dari index ke 0, maka index ke 3 berisi nilai 50.
20. PEMBAHASAN
Jika data ditemukan, maka program akan keluar dari
looping. Jika kita ingin menampilkan index dari data
yang dicari, kita tinggal menyimpan index dari array
tersebut dan menampilkan nya.
26. Dari pembahasan contoh soal di atas dapat disimpulkan
bahwa jika mencari data yang sudah terurut maka metode yang paling
efisien digunakan adalah metode Binary Search dan sebaliknya jika
kita ingin mencari data yang teracak metode yang sebaiknya
digunakan adalah metode Sequantial Search
KESIMPULAN