Pertemuan 6
Teorema dan Aturan Matematis Notasi Asimptotik
Dosen : Chrismikha Hardyanto S.Kom., M.Kom.
1
AGENDA PERKULIAHAN
2
Setelah Mempelajari Notasi Asimptotik, Maka
langkah selanjutnya adalah menerapkannya untuk
menghitung kebutuhan waktu suatu algoritma
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 :
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
16
Aturan 6 (Perulangan While & Repeat)
Jenis Struktur / Operasi :
Pengulangannya
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
30