Sesi 14 Kompleksitas Algoritma PDF
Sesi 14 Kompleksitas Algoritma PDF
Pendahuluan
Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus
(efisien).
Kompleksitas Algoritma
Algoritma yang mangkus ialah algoritma yang meminimumkan
kebutuhan waktu dan ruang.
Sesi 14 Kemangkusan algoritma diukur dari berapa jumlah waktu dan
ruang (space) memori yang dibutuhkan untuk menjalankannya.
Analisis Algoritma
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.
2
1
3 4 RMB/CS3024 15/2/2006
1
12/9/2011
2
12/9/2011
9 10
3
12/9/2011
4
12/9/2011
17 18
Contoh
Tunjukkan bahwa T(n) = 2n2 + 6n + 1 = O(n2).
Penyelesaian:
2n2 + 6n + 1 = O(n2)
karena
2n2 + 6n + 1 ≤ 2n2 + 6n2 + n2 = 9n2 untuk semua n ≥ 1
(C =9 dan n0 = 1).
atau karena
2n2 + 6n + 1 ≤ n2 + n2 + n2 = 3n2 untuk semua n ≥ 6
(C =3 dan n0 = 6).
19 20
5
12/9/2011
Contoh Contoh
Tunjukkan bahwa T(n) = 5 = O(1).
Tunjukkan bahwa T(n) = 3n + 2 = O(n).
Penyelesaian:
Penyelesaian: 5 = O(1) karena 5 ≤ 6.1 untuk n ≥ 1.
3n + 2 = O(n) (C = 6 dan n0 = 1)
karena Kita juga dapat memperlihatkan bahwa
3n + 2 ≤ 3n + 2n = 5n untuk semua n ≥ 1 5 = O(1) karena 5 ≤ 10 ⋅ 1 untuk n ≥ 1
(C = 5 dan n0 = 1).
21 22
Contoh Contoh
Tunjukkan bahwa kompleksitas waktu algoritma pengurutan Tunjukkan T(n) = 1 + 2 + .. + n = O(n2)
seleksi (selection sort) adalah T(n) = n(n – 1)/2 =O (n2). Penyelesaian:
Penyelesaian: 1 + 2 + .. + n ≤ n + n + … + n = n2 untuk n ≥ 1
n(n – 1)/2 =O (n2) karena
n(n – 1)/2 ≤ n2/2 + n2/2 = n2 Tunjukkan T(n) = n! = O(nn)
Penyelesaian:
untuk semua n ≥ 1 (C = 1 dan n0 = 1).
n! = 1 . 2 . … . n ≤ n . n . … . n =nn untuk n ≥ 1
Tunjukkan T(n) = 6*2n + 2n2 = O(2n)
Penyelesaian:
6*2n + 2n2 = O(2n) karena
6*2n + 2n2 ≤ 6*2n + 2*2n = 8*2n
23 24
untuk semua n ≥ 1 (C = 8 dan n0 = 1).
6
12/9/2011
7
12/9/2011
Jadi, algoritma membutuhkan konstanta kali f(n) unit waktu. O (1) < O (log n ) < O ( n ) < O ( n log n ) < O ( n 2 ) < O ( n 3 ) < ... < O ( 2 n ) < O ( n! )
14 4 44 4 4 4 4 44 424 4 44 4 4 4 4 4 443 144244 3
31 32
8
12/9/2011
Θ-notation
Θ(g(n)) ={f(n) : there exist
positive constants c1, c2, and
nonnegative integer no such that
c2g(n)≥f(n) ≥c1g(n)≥0
for all n ≥ no}
f(n) = Θ(g(n)) indicates that f(n) is
a member of the set Θ(g(n))
33 34
Contoh
Tentukan notasi Ω dan Θ untuk T(n) = 2n2 + 6n + 1.
Penyelesaian:
Karena 2n2 + 6n + 1 ≥ 2n2 untuk n ≥ 1,
maka dengan C = 2 kita memperoleh
2n2 + 6n + 1 = Ω(n2)
35 36
9
12/9/2011
Contoh Contoh
Tunjukkan bahwa kompleksitas waktu algoritma pengurutan Tentukan notasi notasi O, Ω dan Θ untuk T(n) = 5n3 + 6n2 log n.
seleksi (selection sort) adalah T(n) = n(n – 1)/2 =Θ(n2). Penyelesaian:
Penyelesaian: Karena 0 ≤ 6n2 log n ≤ 6n3, maka 5n3 + 6n2 log n ≤ 11n3 untuk n ≥
1. Dengan mengambil C = 11, maka
n(n – 1)/2 =O(n2) karena 5n3 + 6n2 log n = O(n3)
n(n – 1)/2 ≤ n2/2 + n2/2 = n2
untuk semua n ≥ 1 (C = 1 dan n0 = 1). Karena 5n3 + 6n2 log n ≥ 5n3 untuk n ≥ 1, maka maka dengan
n(n – 1)/2 = Ω (n2) karena mengambil C = 5 kita memperoleh
n(n – 1)/2 ≥ n2/4 – n2/8 = n2/8 untuk n ≥ 2 5n3 + 6n2 log n = Ω(n3)
Karena n(n – 1)/2 =O(n2) dan n(n – 1)/2 = Ω (n2) maka
Karena 5n3 + 6n2 log n = O(n3) dan 5n3 + 6n2 log n = Ω(n3), maka
n(n – 1)/2 = Θ(n2).
5n3 + 6n2 log n = Θ(n3)
37 38
39 40
10
12/9/2011
Property of asymptotic
If f1(n)єO(g1(n)) and f2(n)єO(g2(n)), then
f1(n) + f2(n) є O(max(g1(n),g2(n)))
41 rmb/cs3024 19/2/06 42
Asymptotic Analogy
43 44
11
12/9/2011
45 46
integer d is called the degree of the polynomial.
47 48
12
12/9/2011
class name
1 constant
log n logarithmic
n linear
n log n n log n polynomial
n2 quadratic
n3 cubic
2n exponential exponential
n! factorial
49 50
51 52
13
12/9/2011
Referensi
1. Rinaldi Munir. “Materi Kuliah Matematika Diskrit”,Informatika-
ITB.Bandung.2003
2. Rinaldi Munir. “Matematika Diskrit”.Informatika. Bandung.
2001
3. Levitin, Anany. “Introduction to the design and analysis of
algorithm”.Addison Wesley. 2003
4. Cormen., Leiserson., Rivest. “Introduction to algorithms”
55
14