15
ALGORITMA PENCARIAN (SEARCHING ALGORITHM) STT Wastukancana – Informatika Pagi B

Algoritma pencarian (searching algorithm)

Embed Size (px)

Citation preview

Page 1: Algoritma pencarian (searching algorithm)

ALGORITMA PENCARIAN (SEARCHING

ALGORITHM)

STT Wastukancana – Informatika Pagi B

Page 2: Algoritma pencarian (searching algorithm)

RICKY JANWARSYAHAKHMAD RAMDHANI

M. FARLLYM. IBNU F

YOYO HARYONO-

KELOMPOK 6

Page 3: Algoritma pencarian (searching algorithm)

Pembahasan

Algoritma Pencarian, merupakan teknik algoritma untuk mencari data dengan langkah-langkah tertentu, dengan berdasarkan data masukan (key) dan memproses pencarian berdasarkan data masukan (key) tersebut untuk mencapai keputusan “Ditemukan” dan “Tidak Ditemukan”.

Dua Metode Pencarian Data : Pencarian Internal (Internal Searching) Pencarian Eksternal (External Searching)

Page 4: Algoritma pencarian (searching algorithm)

Pencarian Internal (Internal Searching), semua data yang diperlukan dan dikenali sudah ada pada memori di program.

Pencarian Eksternal (External Searching), tidak semua data yang diperlukan dan dikenali berada di memori program, tetapi dengan menambahkan data dari memori luar (File pada Harddisk atau Database).

Page 5: Algoritma pencarian (searching algorithm)

Pengelompokan Metode Pencarian : Pencarian Statis (Static Searching) Pencarian Dinamis (Dynamic Searching)

Pencarian Statis (Static Searching), pencarian dengan banyaknya nilai data di memori program yang diketahui dianggap tetap.

Pencarian Dinamis (Dynamic Searching), pencarian dengan banyaknya nilai data di memori program yang diketahui bisa berubah-ubah yang disebabkan penambahan atau pengurangan suatu data pada memori program.

Page 6: Algoritma pencarian (searching algorithm)

Teknik-Teknik Algoritma Pencarian : Pencarian Berurutan (Sequential

Searching)Pencarian Berurutan, digunakan

apabila data dalam keadaan acak atau tidak terurut.

Pencarian Binari (Binary Searching)

Pencarian Dinamis, digunakan apabila data dalam keadaan terurut.

Page 7: Algoritma pencarian (searching algorithm)

Pencarian Berurutan (Sequential Searching)

Teknik Sederhana dengan melakukan pencarian secara

beturut-turut dan satu persatu pada sebuah data di memori program

yang bernilai acak untuk mencapai keputusan, atas data yang dicari.

Page 8: Algoritma pencarian (searching algorithm)

Pencarian Berurutan (Sequential Searching)o Pencarian ini hanya melakukan pengulangan

dari sampai dengan jumlah data (n). o Pada setiap pengulangan, data masukan

(key) dibandingkan dengan data ke-i. Apabila data masukan (key) sama dengan data ke-i, berarti data telah “Ditemukan”.

o Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data “Tidak Ditemukan”.

Page 9: Algoritma pencarian (searching algorithm)

1) Read n2) i ← 0, Ketemu ← 03) For i=0;i<n;i++

• Input Data[i]4) Endfor5) Read x6) For i=0;i<n;i++

• If Data[i]=x then• Ketemu ← 1• If Ketemu=1 then

• Write “Data Ditemukan!”• Endif

• Endif7) Endfor8) If Ketemu=0 then

• Write “Data Tidak Ditemukan !”9) Endif

0 1 2 … n

? ? ? … ?

Indeks Data[i]

Nilai Data[i]

Page 10: Algoritma pencarian (searching algorithm)

Running Program Seq_Alg.cpp

Page 11: Algoritma pencarian (searching algorithm)

Pencarian Binari (Binary Searching)

Teknik Pencarian pada data yang sudah berurut nilainya, proses pencariannya, dengan melakukan perbandingan nilai data masukan (key) dengan nilai data

yang berada pada indeks tengah Array, jadi pada pencarian Binari, apabila nilai

data tidak berurut proses pencarian tidak akan bisa menghasilkan keputusan yang

benar.

Page 12: Algoritma pencarian (searching algorithm)

Pencarian Binari (Binary Searching)o Pencarian dengan menentukan posisi awal = 0 dan

posisi akhir = n-1 o Lalu mencari posisi tengah dengan rumus (posisi

awal + posisi akhir) / 2

o Kemudian data masukan (key) dibandingkan dengan data tengah, jika data masukan (key) lebih kecil dari data tengah maka pencarian akan di lakukan dari posisi awal dan menentukan posisi akhir pada data tengah, sebaliknya apabila data masukan (key) lebih besar dari data tengah maka pencarian akan dilakukan dari posisi tengah yang ditentukan sebagai posisi awal.

Page 13: Algoritma pencarian (searching algorithm)

Indeks Data[i]

Nilai Data[i]

0 1 2 3 4 5 6 7 8 9

? ? ? ? ? ? ? ? ? ?

AwalTenga

hAkhir

1) Read n2) i ← 0, Ketemu ← 03) For i=0;i<n;i++

• Input Data[i] {Data Masukan Berikutnya

Harus Lebih besar}4) Endfor5) Read x6) Awal ← 0, Akhir ← n-17) While (Awal<=Akhir &&

Ketemu=0)• Tengah = (Awal+Akhir)/2• Write Data[Tengah]• If Data[Tengah] = x then

• Ketemu ← 1Else

• If (x < Data[Tengah])• Write “Cari di Kiri”• Akhir ← Tengah-1Else• Write “Cari di

Kanan”• Awal ← Tengah+1

• Endif8) Endwhile9) If (Ketemu=1) then

• Write “Data Ditemukan”Else• Write “Data Tidak

Ditemukan”Endif

Page 14: Algoritma pencarian (searching algorithm)

Running Program Bin_Alg.cpp

Page 15: Algoritma pencarian (searching algorithm)

End Slide