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  C n 2 1+2/n + 1/n 2  C Jadi C = 4 ; n 0 = 1

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 =  (n 3 ) Penyelesaian 8n 3 + 5n  Cn /n + 7/n 3  C Jadi C = 8 ; n 0 = 1

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 C 1  2 + 1/n – 7/n 2  C 2 C 1 = 3/4, C 2 = 2, n 0 = 2 b)C 1 n 2  5n 2 – 2n  C 2 n 2 C 1  5 – 2/n  C 2 C 1 = 3, C 2 = 5, n 0 = 1

12 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

13  (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

14 Latihan A. Tentukan apakah fungsi berikut O (x 2 )? 1.3x x 2 + x x 2 – 7 4.x 3 + 2x 2 – 4x + 1 B. Tentukan apakah fungsi pada (A) berikut  (x 2 )? 1.3x x 2 + x x 2 – 7 4.x 3 + 2x 2 – 4x + 1

15


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