Anda di halaman 1dari 29

Analisis Algoritma

Pertemuan 6
Teorema dan Aturan Matematis Notasi Asimptotik
Dosen : Chrismikha Hardyanto S.Kom., M.Kom.

1
AGENDA PERKULIAHAN

 Teorema Notasi Big Oh (O)

 Aturan Matematis Notasi Big Oh (O)

 Latihan & Contoh Kasus

2
Setelah Mempelajari Notasi Asimptotik, Maka
langkah selanjutnya adalah menerapkannya untuk
menghitung kebutuhan waktu suatu algoritma

Notasi asimptotik yang akan sering digunakan untuk menghitung


Kebutuhan waktu adalah Big Oh (O)
Bagian 1 :
Teorema Pada Notasi Big Oh (O)
Teorema 1
Bila suatu fungsi kompleksitas waktu algoritma adalah
polinom derajat m, Maka T(n) = O(nm)

5
Teorema 2
Misalkan maka :

T1(n) + T2(n) =

6
Teorema 3
Misalkan maka :

T1(n) T2(n) =

7
Teorema 4
Misalkan terdapat sebuah konstanta (c) yang mengalikan
fungsi Big Oh, Maka hilangkan konstanta tersebut :

8
Teorema 5
Misalkan terdapat sebuah fungsi waktu f(n), maka bisa
langsung menjadi fungsi dari Big Oh:

9
Bagian 2 :
Cara Perhitungan Notasi Big Oh
Apabila fungsi kompleksitasi waktu T(n) sudah
diketahui maka bisa langsung menggunakan
Teorema 1. Akan tetapi apabila belum diketahui,
berikut aturan perhitungannya …
Aturan 1 (Operasi dasar)
Jenis Struktur / Operasi :

O(1)

12
Aturan 2 (Operasi Akses Struktur Data)
Jenis Struktur / Operasi :

O(1)

13
Aturan 3 (Percabangan if)
Jenis Struktur / Operasi :
Tc + max(Ts1, Ts2)

14
Aturan 4 (Perulangan for)
Jenis Struktur / Operasi :

Kompleksitas Waktu Asimptotik :

15
Aturan 5 (Perulangan Bersarang)
Jenis Struktur / Operasi :
Kompleksitas waktu pengulangan bersarang adalah jumlah pengulangan terluar dikali
dengan total kompleksitas waktu dari pengulangan didalam badannya

Kompleksitas Waktu Asimptotik :

16
Aturan 6 (Perulangan While & Repeat)
Jenis Struktur / Operasi :

Pengulangannya

Kompleksitas Waktu Asimptotik :

17
Aturan 7 (Perulangan Kondisi Tidak diketahui)
Jenis Struktur / Operasi :

18
Bagian 3 :
Latihan & Contoh Kasus
Contoh Kasus 1
Procedure HitungRerata(input a1,a2,…,an : integer, output rata2 : real)
{IS : nilai setiap elemen array dari a1 s/d an}
{FS : rata – rata(r)}
Deklarasi
k, n : integer
jumlah : real

Algoritma
jumlah  0
k  1
while k < n do
jumlah  jumlah + ak
k  k + 1
endwhile
rata2  jumlah / n
Penyelesaian
Kompleksitas waktu O :
= O(1) + O(1) + n * {O(1) + O(1) + O(1)} + O(1)
= O (max(1,1)) + O(n) * {O(max(1,1,1))}+ O(1)
= O(1) + O(n) * O(1) + O(1)
= O(1) + O(n.1) + O(1)
= O(1) + O(n) + O(1)
= O(max(1,n,1))
= O(n)
Contoh Kasus 2
Procedure CariMaks(input a1,a2,…,an : integer, output maks : real)
{IS : nilai setiap elemen array dari a1 s/d an}
{FS : nilai terbesar didalam array}
Deklarasi
i : integer

Algoritma
maks  a1
i  2
while i < n do
if ai > maks then
maks  ai
endif
i  i + 1
endwhile
Penyelesaian
Kompleksitas waktu Asimtotik :
= O(1) + O(1) + (n-1) * {O(1) + O max(O(1))+O(1))}
= O(1) +O(1) + O(n - 1) * {O(1) + O(1)}
= O(max(1,1)) + O(n) * {O(max(1,1)}
= O(1) + O(n) * O(1)
= O(1) + O(n.1)
= O(1) + O(n)
= O(max(1,n)) = O(n)
Contoh Kasus 3
Contoh Kasus 3
Contoh Kasus 4
Tugas 2
Deskripsi Tugas

Hitung kebutuhan waktu algoritma pada


Contoh Kasus 3 & 4 menggunakan notasi
asimptotik Big Oh

Detail tugas dapat dilihat di LMS pertemuan 6


Terima Kasih

30

Anda mungkin juga menyukai