You are on page 1of 23

Kompleksitas Algoritma

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah waktu dan ruang (space) memori yang dibutuhkan untuk menjalankannya. Algoritma yang mangkus ialah algoritma meminimumkan kebutuhan waktu dan ruang. yang

• •

Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan jumlah data yang diproses. Kemangkusan algoritma dapat digunakan untuk menilai algoritma yang terbaik. Mengapa Kita Memerlukan Algoritma yang Mangkus?

1

Model Perhitungan Kebutuhan Waktu/Ruang

Kita dapat mengukur waktu yang diperlukan oleh sebuah algoritma dengan menghitung banyaknya operasi instruksi yang dieksekusi. !ika kita mengetahui besaran waktu (dalam satuan detik) untuk melaksanakan sebuah operasi tertentu, maka kita dapat menghitung berapa waktu sesungguhnya untuk melaksanakan algoritma tersebut.

Contoh 1. Menghitung rerata a1 a" a#
%arik bilangan bulat

$

a
n

procedure HitungRerata(input a1, a2, ..., an : integer, output r : real) { Menghitung nilai rata-rata dari sekumpulan elemen larik integer a1, a2, ..., an. Nilai rata-rata akan disimpan di dalam peubah r. Masukan: a1, a2, ..., an Keluaran: r (nilai rata-rata) } Deklarasi k : integer jumlah : real Algoritma jumlah←0 k←1 while k ≤ n do jumlah←jumlah + ak k←k+1 endwhile { k > n } r ← jumlah/n nilai rata!rata "

"

k←k+1. jumlah←jumlah+ak. • Selain bergantung pada komputer. Komputer dengan arsitektur yang berbeda akan berbeda pula lama waktu untuk setiap jenis operasinya. # .ormasi berapa waktu sesungguhnya untuk melaksanakan suatu operasi tertentu ". kebutuhan waktu sebuah program juga ditentukan oleh compiler bahasa yang digunakan. k←1. +alam praktek kita tidak mempunyai in. dan k+1) !umlah seluruh operasi penjumlahan adalah t" ' n ( n ' "n (iii) &perasi pembagian (jumlah/n) !umlah seluruh operasi pembagian adalah t# ' 1 )otal kebutuhan waktu algoritma HitungRerata* t ' t1 ( t" ( t# ' (# ( "n)a ( "nb ( c detik • Model perhitungan kebutuhan waktu seperti di atas kurang dapat diterima* 1.(i) &perasi pengisian nilai (jumlah←0. dan r ← jumlah/n) !umlah seluruh operasi pengisian nilai adalah t1 ' 1 ( 1 ( n ( n ( 1 ' # ( "n (ii) &perasi penjumlahan (jumlah+ak.

-esaran yang dipakai untuk menerangkan model abstrak pengukuran waktu ruang ini adalah kompleksitas algoritma. T(n). kompleksitas waktu dihitung berdasarkan jumlah operasi abstrak yang mendasari suatu algoritma. Kompleksitas ruang. diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai .am kompleksitas algoritma. kita dapat menentukan laju peningkatan waktu (ruang) yang diperlukan algoritma dengan meningkatnya ukuran masukan n. Ada dua ma.ungsi dari ukuran masukan n. dan memisahkan analisisnya dari implementasi. diukur dari memori yang digunakan oleh struktur data yang terdapat di dalam algoritma sebagai . &perasi yang mendasar pada algoritma tersebut adalah operasi penjumlahan elemen0elemen ak (yaitu jumlah←jumlah+ak). 1 .ungsi dari ukuran masukan n. kompleksitas waktu dan kompleksitas ruang. )injau algoritma menghitung rerata pada /ontoh 1. S(n). Contoh 2. yaitu • • • Kompleksitas waktu. • • Kompleksitas Waktu • +alam praktek. +engan menggunakan besaran kompleksitas waktu ruang algoritma.• Model abstrak pengukuran waktu ruang harus independen dari pertimbangan mesin dan compiler apapun.

Tmax(n) * kompleksitas waktu untuk kasus terburuk (worst case). a2. a2. . an.ari elemen terbesar di dalam sebuah larik (array) yang berukuran n elemen. Contoh 3. Masukan: a1..ara rata0rata 3 . Kompleksitas waktu #ari$lemen%er&e'ar * T(n) ' n 2 1.. !lemen terbesar akan disimpan di dalam maks.Kompleksitas waktu HitungRerata adalah T(n) ' n. Algoritma untuk men... . Tavg(n)* kompleksitas waktu untuk kasus rata0rata (average case)  kebutuhan waktu se.am * 1. an : integer.  kebutuhan waktu maksimum. ) mak'). Kompleksitas waktu dibedakan atas tiga ma. a2. #. Tmin(n) * kompleksitas waktu untuk kasus terbaik (best case).. ". an Keluaran: maks (nilai terbesar) } Deklarasi k : integer Algoritma mak'←a1 k←2 while k ≤ n do i( ak ) mak' then mak'←ak endi( i←i+1 endwhile { k > n } Kompleksitas waktu algoritma dihitung berdasarkan jumlah operasi perbandingan elemen larik (*+i... . output mak' : integer) { Men ari elemen terbesar dari sekumpulan elemen larik integer a1.. procedure #ari$lemen%er&e'ar(input a1.  kebutuhan waktu minimum..

eruntun(input a1. a2. !asus terbaik* ini terjadi bila a1 ' x. output id/ : integer) Deklarasi k : integer ketemu : &oolean { bernilai true "ika # ditemukan atau $alse "ika # tidak ditemukan } Algoritma: k←1 ketemu ← (al'e while (k ≤ n) and (not ketemu) do i( ak 0 / then ketemu←true el'e k ← k + 1 endi( endwhile { k > n %r ketemu } i( ketemu then id/←k el'e id/← 0 endi( { # ditemukan } { # tidak ditemukan } !umlah operasi perbandingan elemen tabel* 1. Algoritma sequential searc ...Contoh . !asus terburuk* bila an ' x atau x tidak ditemukan. / : integer. . maka operasi 5 . Tmin(n) ' 1 ". procedure -encarian. Tma4(n) ' n #. an : integer.. !asus rata"rata* !ika x ditemukan pada posisi ke0j.

Ta6g(n) ' /ara lain* asumsikan bahwa #(aj ' x) ' 1 n. . procedure -encarian. output id/ : integer) Deklarasi i.. !ika aj ' x maka Tj yang dibutuhkan adalah Tj $ j.. / : integer. j.iner(input a1.arian biner (bynary searc ). Algoritma pen. mid : integer ketemu : &oolean Algoritma i←1 j←n ketemu←(al'e while (not ketemu) and ( i ≤ j) do mid ← (i+j) di1 2 i( amid 0 / then ketemu ← true el'e i( amid 2 / then { ari di belahan kanan } i←mid + 1 el'e { ari di belahan kiri } j←mid ! 13 endi( endi( endwhile {ketemu %r i > " } i( ketemu then id/←mid el'e id/←0 endi( 7 .. a2. !umlah perbandingan elemen larik '' Contoh !. an : integer.

. procedure 4rut(input/output a1. Algoritma algoritma pengurutan pilih (selection sort). imak'. !asus terbaik Tmin(n) ' 1 ". an : integer) Deklarasi i. .. j.. temp : integer Algoritma (or i←n downto 2 do { pass seban&ak n ' 1 kali } imak'←1 (or j←2 to i do i( aj ) aimak' then imak'←j endi( end(or { pertukarkan aimaks dengan ai } temp←ai ai←aimak' aimak'←temp end(or (i) !umlah operasi perbandingan elemen 8ntuk setiap pass ke0i. i ' 1 → jumlah perbandingan ' n 2 1 i ' " → jumlah perbandingan ' n 2 " 9 . !asus terburuk* Tma4 (n) ' "log n Contoh ".1. a2.

. karena algoritma 4rut tidak bergantung pada batasan apakah data masukannya sudah terurut atau a. sehingga jumlah operasi pertukaran seluruhnya adalah T(n) ' n 2 1. algoritma pengurutan maksimum membutuhkan n(n 2 1 ) " buah operasi perbandingan elemen dan n 2 1 buah operasi pertukaran.ak. (ii) !umlah operasi pertukaran 8ntuk setiap i dari 1 sampai n 2 1. .i ' n 2 1 → jumlah perbandingan ' 1 T(n) ' (n 2 1) ( (n 2 ") ( $ ( 1 ' :ni adalah kompleksitas waktu untuk kasus terbaik dan terburuk. !adi. terjadi satu kali pertukaran elemen.

=5=.==1 n" 1== 1=== 1. T(n) tumbuh seperti n" tumbuh.a ?T(n) adalah %(f(n)@ yang artinya T(n) berorde paling besar f(n) ) bila terdapat konstanta ' dan n= sedemikian sehingga 1= . <ada kasus ini.=== 1.Kompleksitas Waktu Asimptotik • )injau T(n) ' "n" ( 5n ( 1 <erbandingan pertumbuhan T(n) dengan n" n 1= 1== 1=== 1=.=== T(n) ' "n" ( 5n ( 1 "51 "=51 ".=== • 8ntuk n yang besar. T(n) ' %(f(n)) (diba.==1 ".===. T(n) tumbuh seperti n" tumbuh saat n bertambah.===. pertumbuhan T(n) sebanding dengan n".==5. #$%&'&(&.===. Kita katakan bahwa T(n) berorde n" dan kita tuliskan T(n) ' %(n") • • >otasi ?%@ disebut notasi ?%0-esar@ (&ig"%) yang merupakan notasi kompleksitas waktu asimptotik.===.

Misalkan T1(n) ' %(n) dan T"(n) ' %(n"). f(n) adalah batas atas (upper bound) dari T(n) untuk n yang besar. maka (a) T1(n) ( T"(n) ' %(ma4(n.n") ' %(n#) Contoh 1-. Contoh ). ( a1n( a= adalah polinom derajat m maka T(n) ' %(nm ). %(3n") ' %(n") n" ' %(n") Aturan .. *$+R$MA.ntuk Menentukan Kompleksitas Waktu Asimptotik 11 .T(n) ≤ '(f (n)) untuk n ≥ n=. *$+R$MA. <enyelesaian* #n ( " ' %(n) karena #n ( " ≤ #n ( "n ' 3n untuk semua n ≥ 1 (' ' 3 dan n= ' 1). maka (a) T1(n) ( T"(n) ' %(f(n)) ( %(g(n)) ' %(ma4(f(n). -ila T(n) ' am nm ( am01 nm01 ( ... g(n)) (b) T1(n)T"(n) ' %(f(n))%(g(n)) ' %(f(n)g(n)) (c) %(cf(n)) ' %(f(n)). )unjukkan bahwa T(n) ' #n ( " ' %(n). n")) ' %(n") (b) T1(n)T"(n) ' %(n. Misalkan T1(n) ' %(f(n)) dan T"(n) ' %(g(n)). c adalah konstanta (d) f(n) ' %(f(n)) Contoh .

karena log(n" ( 1) ≤ log("n") ' log " ( log n" ' log " ( " log n ≤ # log n untuk n A " ⇒ (n) ' 3n" ' %(n") maka 1" .1. !ika kompleksitas waktu T(n) dari algoritma diketahui. /ontoh* (i) pada algoritma cari5mak'imum T(n) ' n 2 1 ' %(n) (ii) pada algoritma pencarian5&eruntun Tmin(n) ' 1 ' %(1) Tma4(n) ' n ' %(n) Ta6g(n) ' (n ( 1) " ' %(n).i satu per satu* ⇒ f(n) ' (n ( ") ' %(n) ⇒ g(n) ' log(n" ( 1) ' %(log n). Kita rin. Tmin(n) ' 1 ' %(1) Tma4(n) ' "log n ' %("log n) (6) T(n) ' (n ( ") log(n" ( 1) ( 3n" ' %(n") <enjelasannya adalah sebagai berikut* T(n) ' (n ( ") log(n" ( 1) ( 3n" ' f(n)g(n) ( (n). (iii) pada algoritma pencarian5&iner.

read.1)) ' %(1) (.) if # then 61 else 62B membutuhkan waktu T' ( ma4(TS1. Kompleksitas waktu asimptotik ' %(1) ( %(1) ( %(1) ' %(1) <enjelasan* %(1) ( %(1) ( %(1) ' %(ma4(1. write membutuhkan waktu %(1). kemudian menerapkan teorema %0-esar. operasi aritmetik. perbandingan. /ontoh* read(/)3 %(1) /:0/ + a+k.1)) ( %(1) ' %(1) ( %(1) ' %(ma4(1. (a) <engisian nilai (assignment).TS") /ontoh* 1# .3 %(1) ( %(1) ( %(1) ' %(1) writeln(/)3 %(1) ". n")) ' %(n") Menghitung %0-esar untuk setiap instruksi di dalam algoritma dengan panduan di bawah ini. (b) <engaksesan elemen larik atau memilih field tertentu dari sebuah record membutuhkan waktu %(1).T(n) ' (n ( ") log(n" ( 1) ( 3n" ' %(n)%(log n) ( %(n") ' %(n log n) ( %(n") ' %(ma4(n log n.

%(1)) ' %(1) ( ma4(%(1). /ontoh for i:01 to n do jumlah:0jumlah + a+i.n) ' %(n") 11 . %(1) ' %(n .1) ' %(n) /ontoh* kalang bersarang for i:01 to n do for j:01 to n do a+i. Kompleksitas waktu kalang for adalah jumlah pengulangan dikali dengan kompleksitas waktu badan (body) kalang.j.:003 %(1) Kompleksitas waktu asimptotik* n%(n) ' %(n.read(/)3 if / mod 2 0 0 then begin /:0/+13 writeln(/)3 end else writeln(/)3 %(1) %(1) %(1) %(1) %(1) Kompleksitas waktu asimptotik* ' %(1) ( %(1) ( ma4(%(1)(%(1).%(1)) ' %(1) ( %(1) ' %(1) (d) Kalang for.3 %(1) Kompleksitas waktu asimptotik ' n .

n ' n(n ( 1) " kompleksitas waktu asimptotik ' n(n ( 1) " .%(1) ' %(n(n ( 1) ") ' %(n") (e) while # do 6B dan repeat 6 until #B 8ntuk kedua buah kalang. "./ontoh* kalang bersarang dengan dua buah instruksi for i:01 to n do for j:01 to i do begin a:0a+13 %(1) &:0&!2 %(1) end3 waktu untuk a:0a+1 * %(1) waktu untuk &:0&!2 * %(1) total waktu untuk badan kalang ' %(1) ( %(1) ' %(1) kalang terluar dieksekusi sebanyak n kali kalang terdalam dieksekusi sebanyak i kali. i ' 1. /ontoh* kalang tunggal sebanyak n01 putaran i:023 %(1) while i 20 n do %(1) begin jumlah:0jumlah + a+i. kompleksitas waktunya adalah jumlah pengulangan dikali dengan kompleksitas waktu badan / dan S. $.3 %(1) i:0i+13 %(1) end3 13 .

maka kompleksitas waktu terburuknya adalah %(n) 0yaitu kasus x tidak ditemukan. <rosedur dan .ari ditemukan di dalam senarai.kunci 0 / then ketemu:0true else p:0p8. Eaktu yang dibutuhkan untuk memindahkan kendali ke rutin yang dipanggil adalah %(1). (.ungsi. pengulangan akan berhenti bila x yang di.lalu { p ( Nil %r ketemu } +i sini.Kompleksitas waktu asimptotiknya adalah ' %(1) ( (n01) C %(1) ( %(1) ( %(1) D ' %(1) ( (n01) %(1) ' %(1) ( %(n01) ' %(1) ( %(n) ' %(n) /ontoh* kalang yang tidak dapat ditentukan panjangnya* ketemu:0false3 while (p 2) 7il) and (not ketemu) do if p8. !ika jumlah elemen senarai adalah n.) Pengelompokan Algoritma /erdasarkan 'otasi O0/esar Kelompok Algoritma >ama %(1) konstan %(log n) logaritmik %(n) lanjar %(n log n) n log n " %(n ) kuadratik 15 .

il yang berukuran sama (misalnya algoritma 17 . !adi.aktorial 8rutan spektrum kompleksitas waktu algoritma adalah * algoritma polinomial algoritma eksponensial <enjelasan masing0masing kelompok algoritma adalah sebagai berikut GSH+. Algoritma yang termasuk kelompok ini adalah algoritma yang meme. T(n) ' # ' %(1). %(log n) Kompleksitas waktu logaritmik berarti laju pertumbuhan waktunya berjalan lebih lambat daripada pertumbuhan n.ormasikannya menjadi beberapa persoalan yang lebih ke. tidak bergantung pada ukuran masukan.%(n#) %("n) %(nF) kubik eksponensial ."I* %(1) Kompleksitas %(1) berarti waktu pelaksanaan algoritma adalah tetap. /ontohnya prosedur tukar di bawah ini* procedure tukar(var a:integer3 var &:integer)3 var temp:integer3 begin temp:0a3 a:0&3 &:0temp3 end3 +i sini jumlah operasi penugasan (assignment) ada tiga buah dan tiap operasi dilakukan satu kali.ahkan persoalan besar dengan mentrans.

misalnya algoritma perkalian matriks. -ila n ' 1==. 8mumnya algoritma yang termasuk kelompok ini memproses setiap masukan dalam dua buah kalang bersarang. maka waktu pelaksanaan algoritma adalah 1. maka waktu pelaksanaan algoritma meningkat menjadi empat kali semula. maka n log n menjadi dua kali semula (tetapi tidak terlalu banyak) %(n")Algoritma yang waktu pelaksanaannya kuadratik hanya praktis digunakan untuk persoalana yang berukuran ke. -ila n dijadikan dua kali semual. -ila n ' 1===. maka n log n mungkin "=. Algoritma yang diselesaikan dengan teknik bagi dan gabung mempunyai kompleksitas asimptotik jenis ini. algoritma kubik memproses setiap masukan dalam tiga buah kalang bersarang. %(n#)Seperti halnya algoritma kuadratik. %(n log n) Eaktu pelaksanaan yang n log n terdapat pada algoritma yang meme. -ila n ' 1===.il.il. misalnya. 19 .===. maka waktu pelaksanaan algoritma juga dua kali semula.===. maka waktu pelaksanaan algoritma adalah 1. misalnya pada algoritma urutJmaks.===. %(n) Algoritma yang waktu pelaksanaannya lanjar umumnya terdapat pada kasus yang setiap elemen masukannya dikenai proses yang sama.ahkan persoalan menjadi beberapa persoalan yang lebih ke.ara independen. log n meningkat sebesar sejumlah tetapan.pencarian5&iner). -ila n dijadikan dua kali semula. menyelesaikan tiap persoalan se.===. misalnya algoritma pencarian5&eruntun. -ila n dinaikkan menjadi dua kali semula.===. dan menggabung solusi masing0 masing persoalan. +i sini basis algoritma tidak terlalu penting sebab bila n dinaikkan dua kali semula.

===.ara Kbrute forceK.aktorial dari "n. -ila n ' 3.).atatan polinomial tersebut berderajat rendah.57". maka waktu pelaksanaan algoritma adalah 1"=. -ila n dijadikan dua kali semula. waktu pelaksanaan algoritma adalah 1. -ila n ' "=.1. -ila n dijadikan dua kali semula. waktu pelaksanan algoritma meningkat menjadi delapan kali semula. waktu pelaksanaan menjadi kuadrat kali semulaF %(nF) Seperti halnya pada algoritma eksponensial. algoritma jenis ini memproses setiap masukan dan menghubungkannya dengan n 0 1 masukan lainnya. misalnya algoritma <ersoalan <edagang Keliling (Travelling Salesperson #roblem 0 lihat bab .-ila n dinaikkan menjadi dua kali semula.5 #"759 (n " 1 15 "35 533#5 1". misalnya pada algoritma men. 15 #" n log n = " 9 "1 51 15= n( 1 1 15 51 "35 1="1 n) 1 9 51 31" 1=.===. !ika polinomnya 1. maka waktu pelaksanaan algoritma menjadi .).ari solusi persoalan se.am0ma. dengan .5 nF 1 " "1 #5"99= "=.am nilai n log n = 1 " # 1 3 n 1 " 1 .ari sirkuit Lamilton (lihat -ab . >ilai masing0masing . .999=== (terlalu besar ) • Sebuah masalah yang mempunyai algoritma dengan kompleksitas polinomial kasus0terburuk dianggap mempunyai algoritma yang ?bagus@B artinya masalah tersebut mempunyai algoritma yang mangkus.ungsi untuk setiap berma. %("n)Algoritma yang tergolong kelompok ini men.""79.

ahkan diper.ahkannya disebut masalah tak0terselesaikan (unsolved problem). 8ntunglah pada kebanyakan kasus.aya tidak memiliki algoritma penyelesaian dalam kompleksitas waktu polinomial untuk kasus terburuk. jika solusi masalah tersebut ditemukan. waktu yang dibutuhkan untuk mengeksekusi algoritma tersebut panjang.ontoh. masalah penghentian ( alting problem) jika diberikan program dan sejumlah masukan.I. Kelas masalah ><0 lengkap memiliki si.berderajat tinggi. Masalah yang solusinya dapat diperiksa dalam waktu polinomial dikatakan termasuk ke dalam kelas 'P (non" deterministic polynomial). Masalah yang sama sekali tidak memiliki algoritma untuk meme. apakah program tersebut berhenti pada akhirnya G!&L. Atau.at bahwa jika ada sembarang masalah di dalam kelas ini dapat dipe. karena itu dianggap intractable. maka solusinya dapat diperiksa dalam waktu polinomial. berarti semua masalah di dalam kelas tersebut dapat dipe. Sebaliknya.=I? Kebanyakan masalah yang dapat dipe. karena algoritma akan menghasilkan solusi dalam waktu yang lebih pendek GM&S.ahkan dalam waktu polinomial.. jika kita dapat • • "= . .ungsi polinomnya mempunyai derajat yang rendah. Sebagai . Masalah yang tractable termasuk ke dalam kelas P (polynomial).ahkan dalam waktu polinomial. • Suatu masalah dikatakan tractable (mudah dari segi komputasi) jika ia dapat diselesaikan dengan algoritma yang memiliki kompleksitas polinomial kasus terburuk (artinya dengan algoritma yang mangkus). !enis kelas masalah lain adalah kelas 'P0lengkap (><0complete). sebuah masalah dikatakan intractable (sukar dari segi komputasi) jika tidak ada algoritma yang mangkus untuk menyelesaikannya. )etapi.

'otasi +mega0/esar dan *etha0/esar +e. berarti kita telah membuktikan bahwa semua masalah di dalam kelas tersebut intractable.ara umum diterima.inisi Ω0-esar adalah* T(n) ' Ω(g(n)) (diba. !awab* Karena "n" ( 5n ( 1 ≥ "n" untuk n ≥ 1.ahkan dalam waktu polinomial GM&S. Se. T(n) ' Θ( (n)) (diba.ahkan masalah di dalam kelas ><0lengkap. tidak ada algoritma dalam waktu polinomial yang dapat meme. meskipun tidak terbuktikan. +e.I. maka dengan ' ' " kita memperoleh "1 . Contoh* )entukan notasi Ω dan Θ untuk T(n) ' "n" ( 5n ( 1.. Meskipun banyak penelitian telah dilakukan.a ?T(n) adalah tetha (n)@ yang artinya T(n) berorde sama dengan (n) jika T(n) ' %( (n)) dan T(n) ' Ω(g(n)).inisi Θ0-esar.a ?T(n) adalah &mega (f(n)@ yang artinya T(n) berorde paling kecil g(n) ) bila terdapat tetapan ' dan n= sedemikian sehingga T(n) ≥ '(f (n)) untuk n ≥ n=.membuktikan bahwa salah satu dari masalah di dalam kelas itu intractable. bahwa tidak ada masalah di dalam kelas ><0 lengkap yang dapat dipe.

maka 3n# ( 5n" log n ' Θ(n#) Contoh* )entukan notasi notasi &. !awab* 1 ( " ( $ ( n ' %(n") karena 1 ( " ( $ ( n ≤ n ( n ( $ ( n ' n" untuk n ≥ 1. +engan mengambil ' ' 11. Contoh* )entukan notasi notasi %. maka 3n# ( 5n" log n ≤ 11n# untuk n ≥ 1. Ω dan Θ untuk T(n) ' 3n# ( 5n" log n. !awab* Karena = ≤ 5n" log n ≤ 5n#. maka 3n# ( 5n" log n ' %(n#) Karena 3n# ( 5n" log n ≥ 3n# untuk n ≥ 1."n" ( 5n ( 1 ' Ω(n") Karena "n" ( 3n ( 1 ' %(n") dan "n" ( 5n ( 1 ' Ω(n"). 1 ( " ( $ ( n ≥ n " ( $ ( (n 2 1) ( n ≥ n " ( $ ( n " ( n " ' (n ( 1) " n " ≥ (n ")(n ") ' n" 1 "" . 1 ( " ( $ ( n ' Ω(n) karena 1 ( " ( $ ( n ≤ 1 ( 1 ( $ ( 1 ' n untuk n ≥ 1. Ω dan Θ untuk T(n) ' 1 ( " ( $ ( n. maka "n" ( 5n ( 1 ' Θ(n"). maka maka dengan mengambil ' ' 3 kita memperoleh 3n# ( 5n" log n ' Ω(n#) Karena 3n# ( 5n" log n ' %(n#) dan 3n# ( 5n" log n ' Ω(n#).

. ( a1n( a= adalah polinom derajat m maka T(n) adalah berorde nm.. 1 ( " ( $ ( n ' Θ(n") *$+R$MA. "# .Kita menyimpulkan bahwa 1 ( " ( $ ( n ' Ω(n") &leh karena itu. -ila T(n) ' am nm ( am01 nm01 ( .