Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan.

Presentasi serupa


Presentasi berjudul: "14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan."— Transcript presentasi:

1 14. KOMPLEKSITAS ALGORITMA

2 Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan fungsi berkaitan erat dengan waktu yang diperlukan oleh sebuah komputer untuk menyelesaikan suatu tugas tertentu. Notasi-notasi yang digunakan untuk membandingkan pertumbuhan adalah: 14.1 PERTUMBUHAN FUNGSI

3 Notasi O besar (big O) Definisi Jika terdapat f(n) dan g(n), serta bilangan positif C dan n 0 maka f(n) = O (g(n)) sedemikian, sehingga 0  f(n)  Cg(n) untuk  n  n 0 Dengan kata lain pertumbuhan f(n) tidak akan melebihi Cg(n) Cg(n) disebut batas atas (upper bound) Pasangan C dan n 0 tidak unik. Artinya ada beberapa C dan n 0. f(n) = O(g(n)) dibaca : f(n) is big “O” of g(n)

4 f(n) Cg(n) n n0n0 f(n) = O (g(n))

5 Contoh 14.1 Tunjukkan bahwa n 2 + 2n + 1 = O(n 2 ) Penyelesaian n 2 + 2n + 1  n 2 + 2n 2 + n 2 n 2 + 2n + 1  4n 2 untuk n  1 Jadi C = 4 ; n 0 = 1 atau C = 3 ; n 0 = 2 atau C = 2 ; n 0 = 3

6 Notasi  Definisi Jika terdapat f(n) dan g(n), serta bilangan positif C dan n 0 maka f(n) =  (g(n)) sedemikian, sehingga 0  Cg(n)  f(n) untuk  n  n 0 Cg(n) disebut batas bawah (lower bound) Pasangan C dan n 0 tidak unik. Artinya ada beberapa C dan n 0.

7 f(n) Cg(n) n n0n0 f(n) =  (g(n))

8 Contoh 14.2 Tunjukkan bahwa 8n 3 + 5n 2 + 7 =  (n 3 ) Penyelesaian 8n 3 + 5n 2 + 7  8n 3 untuk n  1 Jadi C = 8 ; n 0 = 1 atau C = 7 ; n 0 = 1 atau C = 6 ; n 0 = 1 dst.

9 Notasi  Definisi Jika terdapat f(n) dan g(n), maka f(n) =  (g(n)), jika terdapat bilangan positif C 1 dan C 2 dan n 0 sedemikian, sehingga memenuhi : 0  C 1 g(n)  f(n)  C 2 g(n) untuk  n  n 0 Dengan kata lain, f(n) =  (g(n)) jika f(n) = O(g(n)) dan f(n) =  (g(n)) untuk  n  n 0. f(n) =  (g(n)) dibaca “f(n) adalah tetha g(n)” atau f(n) order g(n)

10 f(n) =  (g(n)) f(n) C 1 g(n) n n0n0 C 2 g(n)

11 Contoh 14.3 Tunjukkan bahwa a) 2n 2 + n – 7 dan b) 5n 2 – 2n =  (n 2 ) Penyelesaian a)C 1 n 2  2n 2 + n – 7  C 2 n 2 n 2  2n 2 + n – 7  3n 2 untuk n  4 C 1 = 1, C 2 = 3, n 0 = 4 b) C 1 n 2  5n 2 – 2n  C 2 n 2 3n 2  5n 2 – 2n  5n 2 untuk n  1 C 1 = 3, C 2 = 5, n 0 = 1

12 nn2n2 3n23n2 5n 2 – 2n5n25n2 11335 24121620 39273945 416487280 52575115125 636108168180 749147231245 864192304320 981243387405

13 nn2n2 4n24n2 5n 2 – 2n5n25n2 11435 2416 20 39363945 416647280 525100115125 636144168180 749196231245 864256304320 981324387405

14 o (little o) f(n) = o(g(n) jika pertumbuhan f(n) lebih lambat dari pertumbuhan g(n) untuk n yang sangat besar. Secara formal f(n) = o(g(n), jika Contoh 14.4 Tunjukkan bahwa 2n 2 = o(n 3 ) Penyelesaian: f(n) = 2n 2 g(n) = n 3

15  (little omega) f(n) =  (g(n) jika pertumbuhan f(n) lebih cepat dari pertumbuhan g(n) untuk n yang sangat besar. Secara formal f(n) =  (g(n), jika Contoh 14.5 Tunjukkan bahwa 2n 3 =  (n 2 ) Penyelesaian f(n) = 2n 3 g(n) = n 2


Download ppt "14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan."

Presentasi serupa


Iklan oleh Google