150 likes | 357 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 C n2 1+2/n + 1/n2 C JadiC = 4 ; n0 = 1
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 Cn3 8 + 5/n + 7/n3 C JadiC = 8 ; n0 = 1
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 C1 2 + 1/n – 7/n2 C2 C1= 3/4, C2 = 2, n0 = 2 C1n2 5n2 – 2n C2n2 C1 5 – 2/n C2 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
Latihan A. TentukanapakahfungsiberikutO (x2)? 3x + 7 x2 + x + 1 2x2 – 7 x3 + 2x2 – 4x + 1 B. Tentukanapakahfungsipada (A) berikut(x2)? 3x + 7 x2 + x + 1 2x2 – 7 x3 + 2x2 – 4x + 1