Anda di halaman 1dari 12

UNIVERSITAS PERWIRA PURBALINGGA

“Entrepreneur University”

KOMPLEKSITAS WAKTU
ASIMPTOTIK

Perancangan dan Analisis Algoritma


UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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+
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

Notasi Big Oh
❖ Definisi 1 : waktu terburuk
iff ada dua bilangan konstanta c dan no ∍

Theorema : Misal
adalah suatu polinom derajat n. Maka
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

Notasi Theta
❖ Definisi 2 : waktu tercepat

iff ada dua konstanta c dan no ∍


UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

Notasi Omega
❖ Definisi 3 : waktu rata-rata

iff ada tiga konstanta positif c1, c2, dan no ∍


UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

7
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

Fungsi Kompleksitas
8
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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
◻ Fungsi Kompleksitas menyatakan seberapa kompleksnya sebuah algoritma
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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 :


UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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.
UNIVERSITAS PERWIRA PURBALINGGA
“Entrepreneur University”

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”

Anda mungkin juga menyukai