Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Kompleksitas Waktu Asimptotik
Anna Kurniawati
2
Kompleksitas Waktu Asimptotik
Definisi : Notasi asimtotik merupakan himpunan fungsi yang dibatasi oleh suatu fungsi n N yang cukup besar. Fungsi : N → R (sering R+) Notasi Asimtotik digunakan untuk menentukan kompleksitas suatu algoritma dengan melihat waktu tempuh algoritma. Waktu tempuh algoritma merupakan fungsi : N → R+
3
Kompleksitas Waktu Asimptotik
Terdapat tiga macam yaitu : Keadaan terbaik (best case) Dilambangkan dengan notasi (...) dibaca Theta Keadaan rata-rata (average case) Dilambangkan dengan notasi (...) dibaca Omega Keadaan terburuk (worst case) Dilambangkan dengan notasi O(...) dibaca Big-O Kinerja sebuah algoritma biasanya diukur dengan menggunakan patokan keadaan terburuk (worst case) yang dinyatakan dengan Big-O
4
Notasi Big Oh Definisi 1 : waktu terburuk
iff ada dua bilangan konstanta c dan no Theorema : Misal adalah suatu polinom derajat n. Maka
5
Notasi Theta Definisi 2 : waktu tercepat
iff ada dua konstanta c dan no
6
Notasi Omega Definisi 3 : waktu rata-rata
iff ada tiga konstanta positif c1, c2, dan no
8
Fungsi Kompleksitas
9
MENGHITUNG WAKTU PROSES (1)
Contoh : Pseudocode Selection Sort (pseudocode 3.6) 1 for i=1 to N-1 do 2 min=i 3 for j=i+1 to N do 4 if A[j]<A[min] then min=j 6 end if 7 end for 8 swap(A[i],A[min]) 9 end for Hitung waktu proses algoritma yang diperlukan untuk mengurutkan deretan yang berisi 8 angka acak ! Bagaimana jika ukuran input belum diketahui? Dinyatakan dengan N Waktu proses dinyatakan dengan sebuah persamaan N, selanjutnya disebut Fungsi Kompleksitas Fungsi Kompleksitas menyatakan seberapa kompleksnya sebuah algoritma
10
MENGHITUNG WAKTU PROSES (2)
Asumsi bahwa nilai N belum diketahui Bisa dihitung bahwa untuk setiap perulangan i akan terjadi perulangan j sebanyak N-1, N-2, N-3, ..., 1 kali Misalkan nilai N adalah 5, berarti kita perlu menghitung (rumus deret hitung) Dengan nilai a dan b = 1 diperoleh :
11
FUNGSI KOMPLEKSITAS Fungsi Kompleksitas algoritma Selection Sort di atas Dengan rumus Fungsi Kompleksitas N(N+1)/2 berarti jika N=5 maka waktu proses adalah 15. Jika nilai N diperbesar menjadi 8, maka waktu proses menjadi 36. Nilai N dan waktu proses bisa dipetakan dalam sebuah koordinat Cartesius dengan N di sumbu x dan waktu proses di sumbu y. Terlihat bahwa waktu proses algoritma Selection Sort bertumbuh (growth rate) secara linear.
12
MEMBACA BIG-OH O(1) artinya algoritma konstan
O(n) artinya algoritma linear O(n2) artinya algorritma quadratic O(n3) artinya algoritma qubic O(log n) contohnya pada full balanced Binary Search Tree O(nm) artinya algoritma eksponensial Notasi Big-O bisa berisi kombinasi dari contoh di atas Penyederhanaan Big-O dilakukan pada komponen yang “less important”
13
LATIHAN Hitunglah Fungsi Kompleksitas untuk algoritma bilangan Fibonacci
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.