TEKNIK
SEARCHING
ALGORITMA DAN STRUKTUR DATA I
KELOMPOK 1
WAHYU DWI SETIA
WULANDARI
BRIGITA MAILA FERIYANI
WENSEN
202001011 202001016
 Teknik Sequential.
 Teknik Binary Search.
—TEKNIK PENCARIAN TUNGGAL
Teknik
Sequential
 Pengertian Teknik
Sequential
 Algoritma/ caranya
 Contoh soal dan
pembahasannya
Teknik Binary
Search
 Pengertian Teknik Binary
Search
 Algoritma/ caranya
 Contoh soal dan
pembahasannya
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)
 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 :
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.
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
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.
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
 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 :
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.
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.
 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.
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
PEMBAHASAN
Apabila angka yang dicari adalah angka 40,
berikut gambaran dari implementasi
BinarySearch:
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.
2nd Cycle:
(20,30,40,50,60,70)
MID = (LOW + HIGH)/2 = (0+2)/2 = 1
(arr[MID] == 40)
(20,30,40,50,60,70)
(30==40) // FALSE
LOW = MID+1
3rd Cycle:
(20,30,40,50,60,70)
MID = (LOW + HIGH)/2 = (2+2)/2=2
(arr[MID] == 40)
(20,30,40,50,60,70)
(40==40) // TRUE
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.
Contoh
soal
Teknik Sequential &
Teknik Binary Search
Carilah dengan menggunakan metode
Sequantial search dan Binary Search !
Mencari x[17]
Sequansial Search
1. 17 != x[0] = yes = indeks ++
2. 17 != x[1] = no = Temukan x[1] x[1] = 17
Binary Search
1. 0 + 7/2 = 3,5 = 3
2. 0 + 3/2 = 1,5 = 1
Mencari x[23]
Sequensial Search
1. 23 != x[0] = yes = indeks ++
2. 23 != x[1] = yes = indeks ++
3. 23 != x[2] = no = Temukan x[2] = x[2] = 23
Binary Search
1. 0 + 7/2 = 3,5 = 3
2. 0 + 4/2 = 2
Mencari x[78]
Sequansial Search
1. 78 != x[0] = yes = indeks ++
2. 78 != x[1] = yes = indeks ++
3. 78 != x[2] = yes = indeks ++
4. 78 != x[3] = yes = indeks ++
5. 78 != x[4] = yes = indeks ++
6. 78 != x[5] = no = Ketemu x[5]
Binary Search
1. 0 + 7/2 = 3,5 = 3
2. 0 + 5/2 = 2,5 = 2
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
https://rexdevpro.blogspot.com/
2018/03/searching-sequential-
search-dan-binarry.html
https://4bsiblog.wordpress.com/
2016/12/21/teknik-searching/
REFERENSI
Teknik Searching

Teknik Searching

  • 1.
  • 2.
    KELOMPOK 1 WAHYU DWISETIA WULANDARI BRIGITA MAILA FERIYANI WENSEN 202001011 202001016
  • 3.
     Teknik Sequential. Teknik Binary Search. —TEKNIK PENCARIAN TUNGGAL
  • 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 (sequentialsearching) 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 yangada 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 data5 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 adadi 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 arrayindex 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  Tentukanposisi 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 lebihbesar 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 memilikiint 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
  • 16.
    PEMBAHASAN Apabila angka yangdicari adalah angka 40, berikut gambaran dari implementasi BinarySearch:
  • 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.
  • 18.
    2nd Cycle: (20,30,40,50,60,70) MID =(LOW + HIGH)/2 = (0+2)/2 = 1 (arr[MID] == 40) (20,30,40,50,60,70) (30==40) // FALSE LOW = MID+1
  • 19.
    3rd Cycle: (20,30,40,50,60,70) MID =(LOW + HIGH)/2 = (2+2)/2=2 (arr[MID] == 40) (20,30,40,50,60,70) (40==40) // TRUE
  • 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.
  • 21.
  • 22.
    Carilah dengan menggunakanmetode Sequantial search dan Binary Search !
  • 23.
    Mencari x[17] Sequansial Search 1.17 != x[0] = yes = indeks ++ 2. 17 != x[1] = no = Temukan x[1] x[1] = 17 Binary Search 1. 0 + 7/2 = 3,5 = 3 2. 0 + 3/2 = 1,5 = 1
  • 24.
    Mencari x[23] Sequensial Search 1.23 != x[0] = yes = indeks ++ 2. 23 != x[1] = yes = indeks ++ 3. 23 != x[2] = no = Temukan x[2] = x[2] = 23 Binary Search 1. 0 + 7/2 = 3,5 = 3 2. 0 + 4/2 = 2
  • 25.
    Mencari x[78] Sequansial Search 1.78 != x[0] = yes = indeks ++ 2. 78 != x[1] = yes = indeks ++ 3. 78 != x[2] = yes = indeks ++ 4. 78 != x[3] = yes = indeks ++ 5. 78 != x[4] = yes = indeks ++ 6. 78 != x[5] = no = Ketemu x[5] Binary Search 1. 0 + 7/2 = 3,5 = 3 2. 0 + 5/2 = 2,5 = 2
  • 26.
    Dari pembahasan contohsoal 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
  • 27.