160 likes | 328 Views
14. KOMPLEKSITAS ALGORITMA. 14.1 PERTUMBUHAN FUNGSI. 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
E N D
14. KOMPLEKSITAS ALGORITMA
14.1 PERTUMBUHAN FUNGSI Untukkeperluananalisisalgoritma, kitaperlu mengetahuiseberapacepatpertumbuhanatau perkembangansuatufungsi. Pertumbuhanfungsiberkaitaneratdengan waktu yang diperlukanolehsebuahkomputer untukmenyelesaikansuatutugastertentu. Notasi-notasi yang digunakanuntuk membandingkanpertumbuhanadalah:
Notasi O besar (big O) Definisi Jikaterdapat f(n) dan g(n), sertabilanganpositif C dan n0maka f(n) = O (g(n)) sedemikian, sehingga 0 f(n) Cg(n) untuk n n0 Dengankata lain pertumbuhan f(n) tidakakan melebihi Cg(n) Cg(n) disebutbatasatas (upper bound) Pasangan C dan n0tidakunik. Artinyaada beberapa C dan n0. f(n) = O(g(n)) dibaca : f(n) is big “O” of g(n)
Cg(n) f(n) n n0 f(n) = O (g(n))
Contoh 14.1 Tunjukkanbahwa n2 + 2n + 1 = O(n2) Penyelesaian n2 + 2n + 1 n2 + 2n2 + n2 n2 + 2n + 1 4n2untuk n 1 Jadi C = 4 ; n0 = 1 atauC = 3 ; n0 = 2 atauC = 2 ; n0 = 3
Notasi Definisi Jikaterdapat f(n) dan g(n), sertabilanganpositif C dan n0maka f(n) = (g(n)) sedemikian, sehingga 0 Cg(n) f(n) untuk n n0 Cg(n) disebutbatasbawah (lower bound) Pasangan C dan n0tidakunik. Artinyaadabeberapa C dan n0.
f(n) Cg(n) n n0 f(n) = (g(n))
Contoh 14.2 Tunjukkanbahwa 8n3 + 5n2 + 7 = (n3) Penyelesaian 8n3 + 5n2 + 7 8n3untuk n 1 Jadi C = 8 ; n0 = 1 atauC = 7 ; n0 = 1 atauC = 6 ; n0 = 1 dst.
Notasi Definisi Jikaterdapat f(n) dan g(n), maka f(n) = (g(n)), jika terdapatbilanganpositif C1dan C2dan n0sedemikian, sehinggamemenuhi : 0 C1 g(n) f(n) C2 g(n) untuk n n0 Dengankata lain, f(n) = (g(n)) jika f(n) = O(g(n)) dan f(n) = (g(n)) untukn n0. f(n) = (g(n)) dibaca “f(n) adalahtetha g(n)” atau f(n) order g(n)
C2g(n) f(n) C1g(n) n n0 f(n) = (g(n))
Contoh 14.3 Tunjukkanbahwa a) 2n2 + n – 7 dan b) 5n2 – 2n = (n2) Penyelesaian C1n2 2n2 + n – 7 C2n2 n2 2n2 + n – 7 3n2untuk n 4 C1 = 1, C2 = 3, n0 = 4 b) C1n2 5n2 – 2n C2n2 3n2 5n2 – 2n 5n2untuk n 1 C1 = 3, C2 = 5, n0 = 1
o (little o) f(n) = o(g(n) jikapertumbuhan f(n) lebihlambatdari pertumbuhan g(n) untuk n yang sangatbesar. Secara formal f(n) = o(g(n), jika Contoh 14.4 Tunjukkanbahwa 2n2 = o(n3) Penyelesaian: f(n) = 2n2 g(n) = n3
(little omega) f(n) = (g(n) jikapertumbuhan f(n) lebihcepatdari pertumbuhan g(n) untuk n yang sangatbesar. Secara formal f(n) = (g(n), jika Contoh 14.5 Tunjukkanbahwa 2n3 = (n2) Penyelesaian f(n) = 2n3 g(n) = n2