2 Analysis Algorithm
2 Analysis Algorithm
2
Analysis Algorithm
Dahlia Widhyaestoeti, S.Kom
dahlia.widhyaestoeti@gmail.com
dahlia74march.wordpress.com
Analysis Suatu Algoritma
Proses dari suatu algoritma di dalam mencari solusi dari suatu masalah
memerlukan waktu tertentu. Satuan waktu yang dibutuhkan diharapkan dalam
waktu yang relatif singkat (efisien).
Jenis Operasi
Jenis operasi tersebut meliputi operasi aritmatika, operasi nalar atau logika
dll.
Definisi 1
Kompleksitas waktu adalah sebuah fungsi F(N) yang diberikan untuk waktu
tempuh dan atau kebutuhan storage dengan ukuran N input data.
Definisi 2
F(N) merupakan “big oh” dari G(N) dengan notasi F(N) = 0 (G(N)) jika dan
hanya jika terdapat 2 buah konstanta bulat positif C dan N0 sedemikian
sehingga | F(N) | ≤ C | G(N) | untuk setiap N ≥ N0
Definisi 3
F(N) merupakan “omega” dari G(N) dengan notasi F(N) = Ω (G(N)) jika dan
hanya jika terdapat dua buah konstanta positif C dan M sedemikian
sehingga | F(N) | ≥ C | G(N) | untuk setiap N ≥ M.
Definisi 4
F(N) merupakan “tetta” dari G(N) dengan notasi F(N) = (G(N)) jika dan
hanya jika terdapat dua buah konstanta positif C1, C2 dan M sedemikian
sehingga C1 |G(N)| ≤ | F(N) | ≤ C2 | G(N) | untuk setiap harga N ≥ M.
Kompleksitas Waktu (Time Complexity)
Kompleksitas Waktu (Time Complexity)
Contoh
Tentukan algoritma dari maslah penjumlahan 2 buah matriks dengan ukuran
(mxn) yang elemen-elemenya adalah bilangan riil...!
Penyelesaian
Algoritma dari penjumlahan 2 buah matrik yang berukuran (mxn), yaitu :
(1) Nyatakan A[i,j], B[i,j], C[i,j] real
(2) Untuk i ← 1 sampai dengan m kerjakan
(3) Untuk j ← 1 sampai dengan n kerjakan
(4) C(i,j) ← A[i,j] + B[i,j]
(5) Akhir j
(6) Akhir i
Kompleksitas Waktu (Time Complexity)
Contoh
Tentukan algoritma dari maslah penjumlahan 2 buah matriks dengan ukuran
(mxn) yang elemen-elemenya adalah bilangan riil...!
Analisisnya:
Jenis operasi yang digunakan adalah operator tambah
Banyaknya operasi tambah yang dilakukan adalah mn kali
Banyaknya memori yang digunakan :
Variabel yang digunakan adalah variabel berindex dengan dimensi 2
dan bertipe variabel real dengan tingkat ketelitian tunggal maka
banyaknya memori yang dibutuhkan untuk satu variabel adalah 4mn
byte. Jadi banyak memori seluruhnya yang digunakan adalah sebesar
12mn byte memori.
Fungsi F(m,n) = 13mn merupakan fungsi dari waktu tempuh dan
memori yang digunakan oleh algoritma tersebut.
(i) Operasi pengisiau nilai (j um La he--O, k~l,
j urn l ahe=j um l ah+a [k], k~k+l, dan r~jumlah/n)
Jl1111lal1 seluruh operasi peugisian nilai adalah
t1 = 1 + 1 + n + 11 + 1 = 3 + 211
'L
11 T(11) = 2ni + 611 + 1 11
10 261 100
100 2061 1000
1000 2.006.001 1.000.000
10.000 2.000.060.001 1.000.000.000
T(11) E 0(112)
Notasi "O" disebut notasi "0-Besar" (B;g-0) yang merupakan
notasi kompleksitas waktu asimptotik.
f{n) adalah batas lebih atas (upper bounds dari T(n) untuk n yang
besar.
Tunjukkan bahwa T(n) = 2n2 + 6n + 1 E O(n2).
Penyelesaian:
? ?
2n- + 6n + 1 E O(n-)
karena
? ? ? ') ')
Zn' + 6n + 1 :5 Zn" + Gn' + n: = sn: untuk semua n > 1 ( C =9
dan n0 = 1).
atau karena