SEQUENTIAL SEARCH - dinus.ac.iddinus.ac.id/repository/docs/ajar/5_Sequential_Search.pdf · Tim...

12
SEQUENTIAL SEARCH Tim Algoritma Pemrograman Teknik Informatika

Transcript of SEQUENTIAL SEARCH - dinus.ac.iddinus.ac.id/repository/docs/ajar/5_Sequential_Search.pdf · Tim...

SEQUENTIAL SEARCHTim Algoritma Pemrograman

Teknik Informatika

RENCANA KEGIATAN PERKULIAHAN SEMESTER

W Pokok Bahasan

1 Fungsi

2 Prosedur

3Sorting

4

5Searching

6

7 Review 1-6

8 Ujian Tengah Semester

W Pokok Bahasan

9Analisa Rekuren

10

11 Struct & ADT

12

13 Pointer

14

15 Presentasi Proyek Akhir

16 Ujian Akhir Semester

Referensi

Anany Levitin – introduction to the Design & Analysis of Algorithm3rd

Edition (2012)

Introduction

Sequential Search merupakan algoritma pencarianbrute force

Disebut juga Linear Search

Proses pencarian membandingkan nilai Kunci dengansemua elemen nilai

Membandingkan nilai Kunci dengan elemen pertamasampai elemen terakhir, atau

Proses terhenti jika nilai kunci cocok dengan nilai elementanpa harus membandingkan semua elemen

Sequential Search – Case 1

1 3 10 5 4

10 10

Proses pencarian berhenti jika nilai kunci cocok dengan nilai elementanpa harus membandingkan semua elemen

Kunci

Tabel A[0..n]

Sequential Search – Case 2

1 3 2 5 4

10 10

Membandingkan nilai Kunci dengan elemen pertama sampai elemen terakhir

Kunci

Tabel A[0..n]

Pseudocode Sequential Search

SequentialSearch (A[0..n-1], K)

//pencarian diimplementasikan dalam array menggunakan sequential

search

//input: sebuah array A[0..n-1] dan kunci pencarian K

//output: index elemen awal pada A cocok dengan K atau -1 jika tidak

ada elemen yang cocok / ditemukan

i ← 0

while i < n and A[i] ≠ K do

i ← i + 1

if i < n return i

else return -1

Latihan 1

Diberikan tabel berisi integer A[0..n] yang telah diisi

n=5, Tabel A berisi {3,1,2,4,6} dengan nilai kunci adalah K= 5

Diberikan tabel berisi integer A[0..n] yang telah diisi

n=5, tabel A berisi {10,12,9,7,20} dengan nilai kunci adalah K=9

Lakukan proses pencarian sequential search dari contoh diatas danjelaskan outputnya ?

Latihan 2

Diberikan tabel berisi integer A[0..n] yang telah diisi

n=5, Tabel A berisi {3,1,2,4,6} dengan nilai kunci adalah K= 5

Diberikan tabel berisi integer A[0..n] yang telah diisi

n=5, tabel A berisi {10,12,9,7,20} dengan nilai kunci adalah K=9

Gunakan Algoritma Sorting (selection Sort dan Bubble sort)

Dalam proses pencarian dan jelaskan outputnya

Sequential Search dengan Sentinel

Sequential search dengan teknik sentinel, yaitu menambahkanelemen pada array setelah elemen terakhir tabel

Sering disebut elemen fiktif, dimana nilainya adalah sama denganelemen yang dicari yaitu kunci K

Prosedurnya adalah, pencarian elemen selalu ditemukan / cocok, namun harus diperiksa lagi apakah posisinya cocok diantara elementabel atau sesudah elemen terakhir (elemen tidak ketemu)

Pseudocode Sequential Search

dengan Sentinel

//implementasi sequential search dengan nilai kunci sebagai

sentinel

//Input: sebuah Array A dari n element dan nilai kunci

pencarian K

//output: index dari elemen A[0..n-1]dimana nilai sama dengan K

atau -1 jika tidak ada elemen yang ditemukan

A[n] ← K

i ← 0

while A[i] ≠ K do

i ← i + 1

if i < n return i

else return -1

Latihan 3

Diberikan tabel berisi integer A[0..n] yang telah diisi

n=5, Tabel A berisi {3,1,2,4,6} dengan nilai kunci adalah K= 5

Lakukan proses pencarian sequential search dengan menggunakanteknik sentinel dari contoh diatas dan jelaskan outputnya ?