Anda di halaman 1dari 7

Notasi Big O

TEOREMA 1
• Bila :
𝑇 𝑛 = 𝑎𝑚 𝑛𝑚 + 𝑎𝑚−1 𝑛𝑚−1 + ⋯ + 𝑎1 𝑛 + 𝑎0
adalah polinom derajat m maka
𝑻 𝒏 = 𝑶(𝒏𝒎 )

• Contoh :
Jika diketahui : 𝑇 𝑛 = 2𝑛2 + 6𝑛 + 1
Maka, 𝑂 𝑛 = 𝑂(𝑛2 )
TEOREMA 2
Misalkan 𝑇1 𝑛 = 𝑂 𝑓 𝑛 Contoh 𝑇1 𝑛 = 𝑂 𝑛
dan 𝑇2 𝑛 = 𝑂 𝑔 𝑛 , maka: dan 𝑇2 𝑛 = 𝑂 𝑛2 , maka:

1. 𝑇1 𝑛 + 𝑇2 𝑛 = 𝑂 𝑓 𝑛 +𝑂 𝑔 𝑛 1. 𝑇1 𝑛 + 𝑇2 𝑛 = 𝑂 𝑛 + 𝑂 𝑛2

= 𝑂 max 𝑓 𝑛 , 𝑔 𝑛 = 𝑂 max 𝑛, 𝑛2
= 𝑂(𝑛2 )

2. 𝑇1 𝑛 . 𝑇2 𝑛 = 𝑂 𝑓 𝑛 .𝑂 𝑔 𝑛 2. 𝑇1 𝑛 . 𝑇2 𝑛 = 𝑂 𝑛 . 𝑂 𝑛2
= 𝑂 𝑓 𝑛 .𝑔 𝑛 = 𝑂 𝑛 . 𝑛2
= 𝑂(𝑛3 )

3. 𝑂 𝑐𝑓 𝑛 =𝑂 𝑓 𝑛 , c adalah konstanta 3. 𝑂 5𝑛2 = 𝑂 𝑛2 ,

4. 𝑓 𝑛 =𝑂 𝑓 𝑛 4. 𝑛2 = 𝑂 𝑛2
Aturan Menentukan Kompleksitas Waktu Asimtotik
• Jika kompleksitas waktu 𝑇(𝑛) dari algoritma sudah diketahui, maka langsung
gunakan teorema big-O

• Jika belum diketahui, perhatikan panduan berikut :

PANDUAN :
1. Untuk jenis instruksi : Pengisian nilai, perbandingan, operasi aritmatika, read atau
write membutuhkan waktu 𝑶(𝟏)
2. Untuk mengakses elemen larik atau memilih field tertentu dari sebuah record
membutuhkan waktu 𝑶(𝟏)
read(x); 𝑂(1)
x:=x+a[k]; 𝑂 1 + 𝑂 1 + 𝑂 1 = 𝑂(1)
writeln(x); 𝑂(1)
Aturan Menentukan Kompleksitas Waktu Asimtotik
3. IF Condition then Statement1 else Statement2 , membutuhkan waktu

𝑻𝒄 + 𝐦𝐚𝐱(𝑻𝑺𝟏 , 𝑻𝑺𝟐 )
Contoh :

read(x); 𝑂(1) Kompleksitas waktu asimtotik:


𝒄 if x mod 2 = 0 then 𝑂(1) 𝑇 𝑛 = 𝑂 1 + 𝑂 1 + max 𝑂 1 + 𝑂 1 , 𝑂 1
begin 𝑇 𝑛 = 𝑂 1 + max 𝑂 1 , 𝑂 1
x := x + 1; 𝑂(1) 𝑇 𝑛 =𝑂 1 +𝑂 1
𝑺𝟏
writeln (x); 𝑂(1) 𝑇 𝑛 =𝑂 1
end
else
𝑺𝟐 writeln (x); 𝑂(1)
Aturan Menentukan Kompleksitas Waktu Asimtotik
4. for
jumlah pengulangan dikali dengan kompleksitas di badan pengulangan

Contoh :

for i:=1 to n do 𝑛 = 𝑂(𝑛) for i:=1 to n do 𝑛 = 𝑂(𝑛)


jumlah:=jumlah+a[i]; 𝑂(1) for j:=1 to n do 𝑛 = 𝑂(𝑛)
a[i,j]:=0; 𝑂(1)

Kompleksitas waktu asimtotik: Kompleksitas waktu asimtotik:


𝑇 𝑛 = 𝑂(𝑛) . 𝑂 1 𝑇 𝑛 = 𝑂(𝑛) . 𝑂(𝑛) . 𝑂 1
𝑇 𝑛 = 𝑂 𝑛 .1 𝑇 𝑛 = 𝑂 𝑛 .𝑛 .𝑂 1
𝑇 𝑛 =𝑂 𝑛 𝑇 𝑛 = 𝑂(𝑛2 ) . 𝑂(1)
𝑇 𝑛 = 𝑂 𝑛2 . 1
𝑇 𝑛 = 𝑂 𝑛2
Aturan Menentukan Kompleksitas Waktu Asimtotik
5. while
jumlah pengulangan dikali dengan kompleksitas waktu di badan kondisi
dan statement

Contoh :
i:=2; 𝑂(1) Kompleksitas waktu asimtotik:
while i <= n do 𝑛−1 , 𝑂 1 𝑇 𝑛 =𝑂 1 + 𝑛−1 . 𝑂 1 +𝑂 1 +𝑂 1
begin 𝑇 𝑛 =𝑂 1 + 𝑛−1 . 𝑂 1
jumlah:=jumlah+a[i]; 𝑂(1) 𝑇 𝑛 = 𝑂 1 + 𝑂(𝑛 − 1)
i := i+1; 𝑂(1) 𝑇 𝑛 = 𝑂 1 + 𝑂(𝑛)
end; 𝑇 𝑛 =𝑂 𝑛

Jika terdapat perulangan yang tidak dapat ditentukan jumlah


pengulangannya, maka ambil kompleksitas waktu terburuk

Anda mungkin juga menyukai