KOMPLEKSITAS WAKTU ASIMPTOTIK Kompleksitas Waktu Asimptotik Definisi Notasi
- Slides: 13
KOMPLEKSITAS WAKTU ASIMPTOTIK
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+
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) Kinerja sebuah algoritma diukur dengan Dilambangkan denganbiasanya notasi O(. . . ) dibaca Big-O menggunakan patokan keadaan terburuk (worst case) yang dinyatakan dengan Big-O
Notasi Big Oh v Definisi 1 : waktu terburuk no iff ada dua bilangan konstanta c dan Theorema : Misal adalah suatu polinom derajat n. Maka
Notasi Theta v Definisi 2 : waktu tercepat iff ada dua konstanta c dan no
Notasi Omega v Definisi 3 : waktu rata-rata iff ada tiga konstanta positif c 1, c 2, dan no
7
Fungsi Kompleksitas 8
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 5 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 menyatakan seberapa kompleksnya sebuah algoritma
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 5+4+3+2+1 (rumus deret hitung) Dengan nilai a dan b = 1 diperoleh :
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.
MEMBACA BIG-OH O(1) artinya algoritma konstan O(n) artinya algoritma linear O(n 2) artinya algorritma quadratic O(n 3) 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”
LATIHAN Hitunglah Fungsi Kompleksitas untuk algoritma bilangan Fibonacci
- Notasi big o
- Notasi theta
- Contoh kalimat deskriptif dalam algoritma
- Notasi yang menyerupai notasi bahasa
- Pengertian notasi vektor
- Teknik notasi ilmiah
- Perbedaan sinyal waktu kontinyu dan sinyal waktu diskrit
- Asimptotik sapmasızlık nedir
- Asimptotik notasyonlar
- Asimptotik notasyonlar örnekleri
- Asimptotik sapmasızlık nedir
- Kelas efisiensi algoritma
- Kompleksitas algoritma brute force
- Contoh kompleksitas dalam organisasi