sd pertemuan 5 & 6

13
SEARCHING ARRAY Amidatus Sholihat

Upload: muissyahril

Post on 27-Jul-2015

49 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 1: Sd   pertemuan 5 & 6

SEARCHING ARRAY

Amidatus Sholihat

Page 2: Sd   pertemuan 5 & 6

2

Pengertian

Yang dimaksud dengan Searching pada teknik pemrograman adalah berfungsi untuk mencari sebuah data dengan cara menelusuri tempat penyimpanan data tersebut. Tempat penyimpanan tersebut dapat berupa array dalam memory atau dalam suatu file pada external storage.

Beberapa metode searching diantaranya adalah : – sequential search– binary search

Page 3: Sd   pertemuan 5 & 6

3

Algoritma sequential search mencari ADA atau TIDAK ADA

Pada array 1 dimensi yang sudah ada isi/datanya,dicari sebuah nilai apakah ada atau tidak pada data array tersebut. Misalnya pada variabel array 1 dimensi A dengan jumlah N elemen berisi data-data dengan tipe data integer, dicari nilai yang diwakili variabel x (bisa berupa input) yang juga bertipe data integer. Diperiksa apakah data-data pada A ada atau tidak ada yang nilainya sama dengan nilai pada x, jika ada maka outputnya mencetak kata “Ada” jika tidak akan mencetak kata-kata “Tidak Ada”.

Page 4: Sd   pertemuan 5 & 6

4

Metode Sequential Search

• Pencarian beruntun dapat digunakan untuk melakukan pencarian data baik pada array yang terurut maupun yang belum terurut

• Proses pencarian1. Membaca array data2. Menentukan data yang dicari3. Mulai dari data pertama sampai dengan data terakhir,

data yang dicari dibandingkan dengan masing-masing data dalam array

a. Jika data yang dicari tidak ditemukan maka semua data dalam elemen dibandingkan sampai selesai

b. Jika data yang dicari ditemukan maka perbandingan akan dihentikan

Page 5: Sd   pertemuan 5 & 6

5

Flowchart

Cara 1

Page 6: Sd   pertemuan 5 & 6

6

Flowchart

Cara 2

Page 7: Sd   pertemuan 5 & 6

7

Flowchart

Teknik Sentinel

Page 8: Sd   pertemuan 5 & 6

8

Algoritma sequential search mencari nilai MAXIMUM dan MINIMUM

Proses searching yang dilakukan adalah untuk mencari nilai yang terbesar (maximum) dan atau nilai yang terkecil (minimum) pada deret nilai suatu variabel array. Sama dengan pada proses searching sebelumnya algoritma untuk menjelaskan metode ini dimisalkan pada variabel array 1 dimensi A dengan jumlah N elemen berisi data-data dengan tipe data integer.

Page 9: Sd   pertemuan 5 & 6

9

Flowchart

Cara 1

Page 10: Sd   pertemuan 5 & 6

10

Algoritma Sequential Search

ketemu = 0;i = 0;while(ketemu==0 && i<n){

if(data[i] == dt){

ketemu = 1;posisi = i;

}else

i = i + 1;}

Page 11: Sd   pertemuan 5 & 6

11

Metode Binary Search• Pencarian biner hanya digunakan pada data yang

sudah terurut• Proses pencarian binary search

1. Membaca array data2. Apabila array belum terurut maka diurutkan dahulu3. Menentukan data yang akan dicari4. Menentukan elemen tengah dari array5. Jika elemen tengah sama dengan data yang dicari

maka pencarian selesai6. Jika nilai elemen tengah tidak sama dengan data yang

dicari, makaa. Jika nilai elemen tengah lebih besar daripada data yang

dicari maka pencarian dilakukan pada setengah array pertama

b. Jika nilai elemen tengah lebih kecil daripada data yang dicari maka pencarian dilakukan pada setengah array berikutnya

Page 12: Sd   pertemuan 5 & 6

12

Algoritma Binary Searchketemu = 0;

tengah = (n/2) + 1;eltengah = data[tengah];i = 0;if(dt == eltengah){ ketemu = 1; posisi = tengah; }else { if(dt < eltengah){

i = 0;while(ketemu == 0 && i < tengah && data[i] <=

dt) { if(data[i] == dt) { ketemu = 1; posisi = i; } else i = i + 1; }}else { i = tengah + 1; while(ketemu == 0 && i < n && data[i] <= dt) { if(data[i] == dt) {

ketemu = 1;posisi = i; }

elsei = i + 1;

} } }

Page 13: Sd   pertemuan 5 & 6

13

Tugas

Buatlah presentasi mengenai stack dan queue (dengan arrray)