Analisis algoritma

2,428 views
2,140 views

Published on

Analisis Algoritma untuk perbandingan Running-Time pada Sequensial Search dan Binary Search.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,428
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
102
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Analisis algoritma

  1. 1. Analisis Algoritma Perbandingan Waktu Running Sequensial Search dan Binary Search Jayner E. Wennyi Susana O. Kase Maria C. P. Yamin, Daud Meko Happy M. Hadi Kurniasih, Jurusan Ilmu Komputer - Fakultas Sains dan Teknik - UNDANA
  2. 2. PENCARIAN Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Sebagai contoh, jika kita menggunakan Kamus untuk mencari kata-kata dalam Bahasa Inggris yang belum diketahui terjemahannya dalam Bahasa Indonesia.
  3. 3. PENCARIAN Ada dua macam teknik pencarian yaitu Pencarian Sekuensial dan Pencarian Biner. Perbedaan dari dua teknik ini terletak pada keadaan data. Pencarian sekuensial digunakan apabila data dalam keadaan acak atau tidak terurut. Sebaliknya, pencarian biner digunakan pada data yang sudah dalam keadaan urut.
  4. 4. ANALISIS ALGORITMA Berfungsi untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut. Analisis algoritma dapat dilakukan terhadap suatu algoritma dengan melihat pada Running Time
  5. 5. Running time dari suatu algoritma adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.
  6. 6. Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah: • • • • Banyaknya langkah Besar dan jenis input data Jenis operasi Komputer dan kompilator
  7. 7. Algoritma Brute Force Brute force adalah sebuah pendekatan yang sangat jelas (straightforward) untuk memecahkan suatu persoalan, biasanya didasarkan pada problem statement dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas. Pencarian sequensial adalah salah satu contoh dari algoritma brute force.
  8. 8. Sequensial Search Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari. Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.
  9. 9. Skema Umum Algoritma Brute Force : function pangkat(input a, n : integer) integer {Menghitung an, a > 0 dan n bilangan bulat tak-negatif Masukan: a, n Keluaran: nilai perpangkatan. } Deklarasi k, hasil : integer Algoritma: hasil←1 for k←1 to n do hasil←hasil * a endfor return hasil
  10. 10. Algoritma Divide and Conquer Algoritma Divide and Conquer merupakan algoritma yang sangat popular di dunia Ilmu Komputer. Divide and Conquer merupakan algoritma yang berprinsip memecah-mecah permasalahan yang terlalu besar menjadi beberapa bagian kecil sehingga lebih mudah untuk diselesaikan. Pencarian binary adalah salah satu contoh dari algoritma divide and conquer.
  11. 11. Langkah-langkah umum algoritma Divide and Conquer : Divide Conquer Combine : Membagi masalah menjadi beberapa masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama). : Memecahkan (menyelesaikan) masing-masing masalah (secara rekursif). : Menggabungkan solusi masingmasing masalah sehingga membentuk solusi masalah semula.
  12. 12. • Ilustrasi Pemecahan Masalah dengan • Divide and Conquer •
  13. 13. Skema Umum Algoritma Brute Force : prosedure DIVIDE_n_CONQUER(input n : integer) { Masukan: masukan yang berukuran n Keluaran: solusi dari masalah semula } Deklarasi r, k : integer Algoritma if n ≤ n0 then { masalah sudah cukup kecil } SOLVE sub-masalah yang berukuran n ini else Bagi menjadi r sub-masalah, masing-masing Berukuran n/k for masing-masing dari r upa-masalah do DIVIDE_n_CONQUER(n/k) endfor COMBINE solusi dari r sub-masalah menjadi solusi masalah semula endif
  14. 14. Binary Search Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam ilmu komputer.
  15. 15. PERCOBAAN
  16. 16. Grafik Kompleksitas Pencarian Sequensial dan Pencarian Binary :
  17. 17. Algoritma pencarian sequensial (secara linear) melakukan proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Sehingga cocok untuk pencarian pada data yang tidak terurut. Algoritma ini melakukan pengulangan sebanyak 1 kali untuk kasus terbaik (apabila value sama dengan elemen pertama dalam tabel) dan n_max kali untuk kasus terburuk. Sehingga algoritma ini mempunyai kompleksitas algoritma O(n).
  18. 18. Kelebihan dan kelemahan pencarian sequensial Kelebihan : • Pencarian sequensial adalah salah satu contoh metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability). • Pencarian sequensial dilakukan secara sederhana, langsung dan jelas. • Apabila data yang dicari ada pada elemen pertama maka hanya perlu dilakukan satu kali proses dan data segera ditemukan • Dapat digunakan pada data yang tidak terurut
  19. 19. Kelebihan dan kelemahan pencarian sequensial Kelemahan : • Pencarian sequensial kurang efektif • Apabila data yang dicari ada pada elemen terakhir maka proses perlu dilakukan sebanyak jumlah data yang ada sehingga waktu yang diperlukan cukup banyak
  20. 20. Kelebihan dan kelemahan pencarian binary Kelebihan : • Kompleksitas algoritmanya yang lebih kecil daripada kompleksitas algoritma sequential search. Hal ini menyebabkan waktu yang dibutuhkan algoritma binary search data lebih kecil daripada waktu yang dibutuhkan algoritma sequential search. • Seringkali sangat efisien ( O (log n))
  21. 21. Kelebihan dan kelemahan pencarian binary Kelemahan : • Tidak dapat digunakan pada data yang tidak terurut.
  22. 22. KESIMPULAN • Masing-masing algoritma pencarian memiliki keunggulan dan kelemahan. Pencarian sequensial dapat digunakan pada data yang berurut maupun tidak, tetapi ketika data yang dicari ada pada elemen terakhir maka waktu yang diperlukan lebih banyak. • Pada pencarian binary search efektif dengan kompleksitas waktu yang lebih kecil dibandingkan dengan sequensial searh, tetapi menjadi tidak efektif apabila dilakukan pada data yang tidak terurut karena akan membutuhkan waktu untuk mengurutkan data. • Kedua algoritma ini dapat digunakan sesuai dengan kebutuhan pengguna.

×