1 / 23

SEARCHING DAN SORTING

SEARCHING DAN SORTING. Jurusan Teknik Informatika Universitas Ahmad Dahlan Revisi 2004. Motivasi. Data dikumpulkan Informasi data yang sudah diolah (dicari, di-resume, …) Masalah : Menyimpan sulit, mudah pengambilannya Menyimpan mudah, sulit pengambilannya.

coy
Download Presentation

SEARCHING DAN SORTING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEARCHING DAN SORTING Jurusan Teknik Informatika Universitas Ahmad Dahlan Revisi 2004

  2. Motivasi • Data dikumpulkan • Informasi data yang sudah diolah (dicari, di-resume, …) • Masalah : • Menyimpan sulit, mudah pengambilannya • Menyimpan mudah, sulit pengambilannya

  3. Pencarian Linier (Linear search) • Input : array aray dengan banyak data sebanyak ukuran. • Output : data kunci dalam array aray. • Prinsip : • setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk (worst case)).

  4. Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i. • Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.

  5. Algoritma 8.1. Linear Search

  6. Pencarian Biner (Binary Search) • Asumsi : data sudah dalam keadaan terurut (naik) • Contoh : • Buku telepon, presensi kuliah, dll.

  7. Pencarian Biner (Binary Search) • kunci akan selalu dibandingkan dengan data yang berada di tengah (middle) • bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah).

  8. Pencarian Biner (Binary Search) • Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan). • Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).

  9. Algoritma 8.2.Binary Search

  10. Ilustrasi

  11. Sorting (Pengurutan) • Usaha : mengurutkan dari data tak terurut menjadi data terurut  perlu waktu • Masalah : efisiensi (peningkatan kecepatan pencarian) • Metode : bubble (gelembung), insertion (penyisipan), selection (pemilihan), merge (penggabungan), quick, shell, radix, dll.

  12. Merge Sort • dikerjakan dengan cara rekursif. • Langkah dari algoritma ini adalah sebagai berikut : • barisan data dibagi menjadi 2 subbarisan • sort secara rekursif • gabung hasil langkah 2 dari 2 subbarisan yang terurut menjadi barisan yang terurut.

  13. Ilustrasi

  14. Quick Sort Langkah-langkahnya : • dipilih sebuah elemen, yaitu elemen pivot (p). Elemen ini akan digunakan sebagai pembanding elemen-elemen yang lain untuk disusun dengan komposisi : • lakukan hal yang sama pada elemen sebelah kiri dan elemen sebelah kanan dari p.

  15. Ilustrasi

  16. Algoritma 8.7. Quick Sort

  17. Bacaan • Mastering Algorithms with C • By Kyle Loudon : Chapter 12 • Tugas : Pilih salah satu : • Buat analisis dan implementasi : • Counting sort • Radix sort • Dikumpulkan sesudah kuliah minggu depan (langsung ke asisten)

  18. Struktur Laporan Tugas • Penjelasan cara kerja algoritma • Contoh sorting (minimal 8 elemen) • Program dalam bentuk class • Penjelasan program (bila perlu per baris program !) • Uji coba program : • Input menggunakan contoh manual di atas • Output : tampilan setiap langkah perubahan

More Related