ALGORITMA PENGURUTAN & PENCARIAN

dokumen-dokumen yang mirip
STRUKTUR DATA SORTING ARRAY

Algoritma dan Struktur Data. Searching dan Sorting

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

STRUKTUR DATA (3) sorting array. M.Cs

SORTING (PENGURUTAN DATA)

Pengurutan (Sorting) Algoritma Pemrograman

MODUL IV PENCARIAN DAN PENGURUTAN

7. SORTING DAN SEARCHING

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

BAB 8 SORTING DAN SEARCHING

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

BAB VI SEARCHING (PENCARIAN)

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

SEARCHING & SORTING. Pendahuluan

SORTING. Brigida Arie Minartiningtyas, M.Kom

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Kompleksitas Algoritma (1)

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Gambar 13.1 Ilustrasi proses algoritma sorting

Pengertian Algoritma Pengurutan

Kompleksitas Algoritma

Kompleksitas Algoritma

Modul 8 SORTING (PENGURUTAN)

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Searching [pencarian] Algoritma Pemrograman

BAB V SORTING (PENGURUTAN) INTERNAL

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

Algoritma dan Struktur Data

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

Pengurutan (Sorting)

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

Algoritma dan Pemrograman Searching/Pencarian

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

METODE DEVIDE AND CONQUER

BAB VI Pengurutan (Sorting)

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Modul Praktikum Algoritma dan Struktur Data

BAB VI SORTIR ATAU PENGURUTAN

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Powered by icomit.wordpress.com

Kompleksitas Algoritma Sorting yang Populer Dipakai

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Sorting Algorithms. Buble Sort

Bubble Sort (Pengurutan Gelembung / Pemberatan)

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

PERTEMUAN 10 METODE DEVIDE AND CONQUER

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

STRATEGI DIVIDE AND CONQUER

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Algoritma dan Pemrograman 2 PENGURUTAN

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program

ARRAY, SORTING & SEARCHING

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

BAB VIII Pencarian(Searching)

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

# TEN Sorting PENDAHULUAN

SORTING (BAGIAN II) Proses kelima

Algoritma Sorting (Selection Insertion)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

Sorting. Pertemuan ke 14.

Algoritma Bubble Sort dan Quick Sort

Outline STRUKTUR DATA. VII. Sorting

BAB 2 LANDASAN TEORI

Algoritma Brute Force

ANALISIS KOMPLEKSITAS ALGORITMA UNTUK BERBAGAI MACAM METODE PENCARIAN NILAI (SEARCHING) DAN PENGURUTAN NILAI (SORTING) PADA TABEL

Kompleksitas Algoritma

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

BAB I PENDAHULUAN.

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Struktur Data Linier. Input. Program untuk menyelesaikan masalah. Algoritma Penyelesaian. Proses. Masalah. Struktur Data. Output

Sorting Algorithms. Definisi

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritme dan Pemrograman

Analisis Kecepatan Sorting Dengan Notasi Big O

Transkripsi:

Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan Pengurutan Pengurutan internal dilakukan terhadap sekumpulan data yang disimpan dalam media internal komputer yang dapat diakses secara langsung pada setiap elemennya. Pengurutan eksternal dilakukan terhadap data yang disimpan di dalam memori sekunder dan digunakan pada data yang cukup besar. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 1 2

Metoda Pengurutan Pengurutan didasarkan kepada: Perbandingan (comparison-based sorting) Bubble sort, exchange sort Prioritas (priority queue sorting) Selection sort, heap sort (menggunakan tree) Penyisipan & penjagaan terurut (insert & keep sorted ) Insertion sort, tree sort Pembagian & penguasaan (devide and conquer) Quick sort, merge sort Berkurang menurun (diminishing increment sort ) Shell sort (pengembangan insertion) Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 2 3 Bubble sorting (1/2) Merupakan proses pengurutan secara bergerak atau berpindah ke posisi yang tepat diibaratkan gelembung yang keluar dari sebuah gelas bersoda. Mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.` Pengurutan Ascending: Jika elemen sekarang lebih besar dari elemen berikutnya, maka kedua elemen tersebut ditukar. A[1] A[2] A[3] A[4] A[n] Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 3 4

Bubble sorting (2/2) Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar. D[1] D[2] D[3] D[4] D[n] Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau sebaliknya Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses tersebut, dan seterusnya sampai dengan iterasi sebanyak n-1. Proses pengurutan berakhir jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 4 5 Ilustrasi (1/2) Proses 1 67 25 38 13 16 9 67 25 38 13 9 16 67 25 38 9 13 16 67 25 9 38 13 16 67 9 25 38 13 16 9 67 25 38 13 16 Proses 2 9 67 25 38 13 16 9 67 25 38 13 16 9 67 25 13 38 16 9 67 13 25 38 16 9 13 67 25 38 16 9 13 67 25 38 16 Proses 3 9 13 67 25 38 16 9 13 67 25 16 38 9 13 25 16 25 38 9 13 16 67 25 38 9 13 16 67 25 38 9 13 16 67 25 38 6 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 5 `

Ilustrasi (2/2) Proses 4 9 13 16 67 25 38 9 13 16 67 25 38 9 13 16 25 67 38 9 13 16 25 67 38 9 13 16 25 67 38 9 13 16 25 67 38 Proses 5 9 13 16 25 67 38 9 13 16 25 38 67 9 13 16 25 38 67 9 13 16 25 38 67 9 13 16 25 38 67 9 13 16 25 38 67 7 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 6 Algoritma Bubble sort ba := n i := 1 if A[i] < A[i+1] then temp := A[i] A[i] := A[i+1] A[i+1] := temp Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 7 8

Selection sorting Merupakan kombinasi antara sorting & searching. Cara pengurutannya yaitu membandingkan elemen sekarang dengan elemen berikutnya sampai elemen yang terakhir. Untuk setiap proses akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar untuk dipertukarkan ke posisi yang tepat. Selama proses berlangsung, pembandingan dan pengubahan hanya dilakukan pada index pembanding saja, pertukaran data secara fisik terjadi pada akhir proses. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 8 9 Ilustrasi (1/2) 13 67 38 25 9 30 Pembanding Posisi 13 < 67 0 13 < 38 0 13 < 25 0 13 > 9 * 4 9 < 30 4 Penukaran data idx-0 (13) idx-4 (9) 9 67 38 25 13 30 9 67 38 25 13 30 Pembanding Posisi 67 > 38 2 38 > 25 3 25 > 13 4 13 < 30 4 Penukaran data idx-1 (67) idx-4 (13) 9 13 38 25 67 30 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 9 10

Ilustrasi (2/2) 9 13 38 25 67 30 Pembanding Posisi 38 > 25 3 25 < 67 * 4 67 > 30 4 Penukaran data idx-2 (38) idx-3 (25) 9 13 25 38 67 30 9 13 25 38 67 30 Pembanding Posisi 38 < 67 4 67 > 30 * 5 Penukaran data idx-3 (38) idx-5 (30) 9 13 25 30 67 38 9 13 25 30 67 38 Pembanding Posisi 67 > 38 * 5 Penukaran data idx-4 (67) idx-5 (38) 9 13 25 30 38 67 11 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 10 Algoritma Selection sorting min A 1 max A i for I 2 to n do if A i < min then min A i endif if A i > max then maks A i endif endfor Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 11 12

Insertion sorting Dapat digambarkan seperti melakukan pengurutan kartu, dimana selembar demi selembar kartu diambil dan kemudian disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (di-insert) pada posisi yang seharusnya. Pada penyisipan elemen tersebut, maka elemen-elemen lain akan bergeser ke belakang Keuntungan: - Implementasi yang sederhana. - Efesien untuk ukuran data yang kecil. - langsung melakukan pengurutan ketika ada data baru. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 12 13 Ilustrasi Iterasi [0] [1] [2] [3] [4] [5] [6] [7] [8] Awal 90 30 80 10 40 99 50 70 20 60 i=1 30 90 80 10 40 99 50 70 20 60 i=2 30 80 90 10 40 99 50 70 20 60 i=3 10 30 80 90 40 99 50 70 20 60 i=4 10 30 40 80 90 99 50 70 20 60 i=5 10 30 40 80 90 99 50 70 20 60 i=6 10 30 40 50 80 90 99 70 20 60 i=7 10 30 40 50 70 80 90 99 20 60 i=8 10 20 30 40 50 70 80 90 99 60 i=9 10 20 30 40 50 60 70 80 90 99 [9] Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 13 14

Algoritma insertion sorting for i 2 to n do y A[i] j i 1 found false while j i i and (not found) do if y < A[j] then A[j + 1] A[j] j j 1 else found true endif endwhile A[j + 1] y endfor Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 14 15 Shell sorting Merupakan pengurutan yang paling efesien & memiliki algoritma yang kompleksitas, tetapi sederhana. Pengurutan dengan metoda perbandingan dan pertukaran. Membandingkan jarak elemen yang telah ditentukan dan selanjutnya dipertukarkan. Penukaran dilakukan terhadap sepasang elemen untuk mencapai keadaan urut. Melakukan pass atau traversal berkali-kali & setiap kali pass mengurutkan sejumlah nilai yang sama dengan ukuran set menggunakan insertion set. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 15 16

Algoritma shell sorting jarak n div 2 while jarak > 0 do for I 1 to n jarak do J I + jarak if A[I] > A[J] then tukar(a[i],a[j]) endif jarak jarak div 2 endfor endwhile Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 16 17 Ilustrasi Pass 1 (step = 5) 90 30 80 10 40 99 50 70 20 60 1 2 3 4 5 6 7 8 9 10 90... 99 30... 50 70... 80 10... 20 40... 60 Pass 2 (step = 3) Pass 3 (step = 1) 90 30 70 10 40 99 50 80 20 60 1 2 3 4 5 6 7 8 9 10 10... 50... 60...90 30... 40... 80 20... 70... 99 10 30 20 50 40 70 60 80 99 90 1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 99 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal.17 18

Penggabungan tabel Penggabungan secara terurut dilakukan dengan memeriksa elemen isi tabel-1 & tabel-2 yang selanjutnya dibandingkan agar isi tabel-3 (tabel baru) menjadi terurut. T1 T2 T3 1 13 24 2 15 27 30 1 1 13 24 2 15 27 30 1 2 1 13 24 2 15 27 30 1 2 13 1 13 24 2 15 27 30 1 2 13 15 1 13 24 2 15 27 30 1 2 13 15 24 1 13 24 2 15 27 30 1 2 13 15 24 27 1 13 24 2 15 27 30 1 2 13 15 24 27 30 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 18 19 Perbandingan waktu sorting N Waktu (detik) Bubble Selection Insertion Shell 5000 0.52 0.22 0.17 0.02 7000 0.98 0.44 0.34 0.02 9000 1.66 0.72 0.56 0.02 11000 2.47 1.05 0.83 0.03 13000 3.50 1.47 1.17 0.05 15000 4.55 1.97 1.55 0.05 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 19 20

Pencarian seringkali dibutuhkan dalam pembacaan kembali informasi (retrieval information). Pencarian/searching cara untuk mendapat data yang diinginkan dengan cara menelusuri data-data tersebut. Pencarian elemen data pada Java terbagi atas: Linier / sequential searching melakukan pengujian setiap item. digunakan pada data yang masih acak & berurut. Binary searching dengan membagi dua data: (N+1) div 2 digunakan pada data yang berurut Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 20 21 Pencarian data pada array Tempat pencarian data dapat berupa array dalam memori, bisa juga pada file pada external storage Searching terbagi atas: Internal searching algoritma pencarian yang dilakukan dalam memori komputer. External searching algoritma pencarian yang melibatkan external media dan menambahkan ke memori utama. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 21 22

Pencarian sequential Proses pencarian dilakukan dengan membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa serta dapat dilakukan dalam kondisi data apapun. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 22 23 Algoritma Pencarian sequential (1/2) 52 87 93 28 76 21 1 2 3 4 5 6 Nilai yang dicari: 28 Elemen yang diperiksa : 52 87 93 28 Index : 4 Nilai yang dicari: 52 Elemen yang diperiksa : 52 Index : 1 Nilai yang dicari: 55 Elemen yang diperiksa : 52 87 93 28 76 21 Index : 0 Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 23 24

Algoritma Pencarian sequential (2/2) 1. begin 2. index 1 3. while index <= n 4. if key(cari) = key(index) 5. result index 6. goto 11 7. end if 8. index index + 1 9. end while 10. hasil not found 11. end Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 24 25 Pencarian biner Pencarian Biner (Binary Search) dilakukan untuk : memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya. Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulangulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan). Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 25 26

Algoritma Pencarian biner (1/3) Elemen yang dicari 18 81 76 21 18 16 13 10 7 1 2 3 4 5 6 7 8 Low High 81 76 21 18 16 13 10 7 1 2 3 4 5 6 7 8 Low Middle High Langkah 1: Low = 1 dan High = 8 Elemen tengah Middle = (1+8) div 2 = 9 div 2 = 4 Langkah 2: Array[4] = X? (18 = 18) true X ditemukan dan pencarian dihentikan. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 26 27 Algoritma Pencarian biner (2/3) Elemen yang dicari 16 81 76 21 18 16 13 10 7 1 2 3 4 5 6 7 8 Low High Iterasi 1: Langkah 1: Low = 1 dan High = 8 Elemen tengah (Middle) = (1+8) div 2 = 9 div 2 = 4 Langkah 2: Array[4] = X? (18 = 16) FALSE, sehingga diputuskan pencarian di kiri atau dikanan. Jika Array[4] > 16?, (18 > 16) TRUE, lakukan pencarian disebelah kanan dengan Low = middle+1 ( 4+1 = 5) dan High = 8. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 27 28

Algoritma Pencarian biner (3/3) 16 13 10 7 5 6 7 8 Low Middle High 16 5 Low Iterasi 2: Langkah 1: Low = 5 dan High=8 Elemen tengah Middle = (5+8) div 2 = 13 div 2 = 6 Langkah 2: Array[6] = X? (13 = 16) FALSE untuk memutuskan pencarian di kiri atau di kanan. Jika Larik[6] > 16?, (13 > 16) FALSE, lakukan pencarian di sebelah KIRI --> low = 5 (TETAP) dan High = middle-1 = 5 Iterasi 3: Langkah 1: Low = 5 dan High=5 Elemen tengah Middle = (5+5) div 2 = 10 div 2 = 5 Langkah 2: Array[5] = X? (16 = 16) TRUE (X ditemukan, pencarian dihentikan) Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 28 29 Algoritma Pencarian biner (3/3) 1. Mulai 2. Awal 1 3. Akhir n 4. while Awal <= Akhir 5. Tengah (Awal + Akhir) / 2 6. if Kunci(Cari) = Kunci(Tengah) 7. Hasil Tengah 8. goto 15 9. else if Kunci(Cari) > Kunci(Tengah) 10. Awal Tengah + 1 11. else Akhir Tengah - 1 12. end if 13. end while 14. Hasil tidak ketemu 15. Selesai Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 29 30

Pencarian dengan Sentinel Proses pencarian dengan Sentinel selalu menjamin bahwa elemen data yang dicari (x) pasti berhasil ditemukan. Untuk menyimpulkan apakah x ditemukan pada elemen sentinel atau bukan, yaitu dengan melihat nilai idx. Jika idx = n+1, x ditemukan pada sentinel x tidak terdapat di dalam array semula (sebelum penambahan sentinel). jika idx < n +1, x ditemukan sebelum sentinel x sudah ada di dalam larik L semula. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 30 31 Ilustrasi Pencarian Sentinel Elemen data dicari 35 & 28: 52 87 93 28 76 21 1 2 3 4 5 6 21 6 Untuk Sentinel Di isi data sentinel sesuai dengan elemen yang dicari: 52 87 93 28 76 21 1 2 3 4 5 6 35 7 35 ditemukan pada elemen ke-n+1. Sentinel otomatis sudah ditambahkan ke dalam larik. Ukuran larik menjadi = 7. 28 ditemukan pada elemen ke-4. Sentinel batal menjadi elemen yang ditambahkan ke dalam larik. Ukuran larik tetap 6. Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 31 32

Algoritma Pencarian Sentinel (1/2) 1. Mulai 2. L[n + 1] x 3. i 1 4. while (L[i] x) do 5. i i + 1 6. endwhile 7. if idx = n + 1 then 8. idx -1 9. else 10. idx i 11. Endif 12. Selesai Hand-out: Algoritma Sorting & Searching IS1313-06 Hal. 32 33 Selesai 34