• Tidak ada hasil yang ditemukan

Design and Analysis of Algorithm

N/A
N/A
Protected

Academic year: 2021

Membagikan "Design and Analysis of Algorithm"

Copied!
83
0
0

Teks penuh

(1)

Design and Analysis of Algorithm

Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi

Dr. Putu Harry Gunawan1

1Department of Computational Science

School of Computing Telkom University

(2)

Outline

1 Review 2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal 4 Formal Definition

Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References 9 Exercise

Exercise

(3)

Exercise 1

What the complexity of the following pseudocode x <- 0

for x <- 0 to n: for y <- 0 to n:

a=c+d

(4)

Exercise 2

What the complexity of the following pseudocode x <- 0

for x <- 0 to n: for y <- x to n-3:

a=c+d

(5)

Exercise 3

What the complexity of the following pseudocode x <- 0

for x <- 2 to n+2: for y <- x-1 to n:

a=c+d

(6)

Example

Example

Find the time complexity of the following codes for basic operation addition (+)

Some algorithms have logarithmic (base 2) complexity:

1. i = n; // i starts from n

2. while (i >= 1) 3. {

4. x = x + 1; // count this line

5. i = i / 2; // i becomes half at the end of every iteration 6. }

(7)

Example

Iteration value of i (at the top of loop) number of times line 4

1 n 1

2 2n1 1

3 2n2 1

k 2k−1n 1

k+1 2nk 0

(8)

Example

We are interested in what k is (because that’s the number of times the line 4 is executed). In other words,

T (n) = 1 + 1 + 1 + .. + 1 = (k × 1) | < − − kofthem − −− > | To derive k, we look at the relation at the last iteration (kth):

n 2k = 0 log2 n 2k  = log2(0) log2n − log(2k) = log2(0) k log2(2) = log2n − log2(0) k = log2n − 1

Thus, T (n) = log2(n) − 1

(9)

Outline

1 Review 2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(10)

Pendahuluan

Seperti yang sudah dibahas pada bab-bab sebelumnya, ruang lingkup analisis efisiensi berfokus pada naiknya orde jumlah operasi dasar sebagai indikator utama pada algoritma efisien. Untuk membandingkan tingkatan dari orde kenaikan kompleksitas waktu, Computer Scientist menggunakan tiga notasi berikut:

1 O (big oh),

2 Ω (big omega), dan 3 Θ (big theta).

(11)

Pendahuluan

Seperti yang sudah dibahas pada bab-bab sebelumnya, ruang lingkup analisis efisiensi berfokus pada naiknya orde jumlah operasi dasar sebagai indikator utama pada algoritma efisien. Untuk membandingkan tingkatan dari orde kenaikan kompleksitas waktu, Computer Scientist menggunakan tiga notasi berikut:

1 O (big oh),

2 Ω (big omega), dan

3 Θ (big theta).

(12)

Pendahuluan

Seperti yang sudah dibahas pada bab-bab sebelumnya, ruang lingkup analisis efisiensi berfokus pada naiknya orde jumlah operasi dasar sebagai indikator utama pada algoritma efisien. Untuk membandingkan tingkatan dari orde kenaikan kompleksitas waktu, Computer Scientist menggunakan tiga notasi berikut:

1 O (big oh),

2 Ω (big omega), dan 3 Θ (big theta).

(13)

Pendahuluan

Dalam tulisan ini, pengenalan notasi di atas akan disampaikan secara tidak formal(informal ) dalam beberapa contoh dan kemudian secara formal dalam bentuk definisi. Untuk materi selanjutnya kan diperkenalkan notasi:

1 Fungsi t(n) dan g (n) merupakan fungsi tidak negatif terdefinisi pada

himpunan bilangan asli.

2 Fungsi t(n) akan berupa waktu dari berjalannya algoritma (yang

biasanya terindikasi pada jumlah operasi dasar C (n)).

3 Fungsi g (n) akan berupa beberapa contoh fungsi yang digunakan

sebagai perbandingan.

(14)

Pendahuluan

Dalam tulisan ini, pengenalan notasi di atas akan disampaikan secara tidak formal(informal ) dalam beberapa contoh dan kemudian secara formal dalam bentuk definisi. Untuk materi selanjutnya kan diperkenalkan notasi:

1 Fungsi t(n) dan g (n) merupakan fungsi tidak negatif terdefinisi pada

himpunan bilangan asli.

2 Fungsi t(n) akan berupa waktu dari berjalannya algoritma (yang

biasanya terindikasi pada jumlah operasi dasar C (n)).

3 Fungsi g (n) akan berupa beberapa contoh fungsi yang digunakan

sebagai perbandingan.

(15)

Pendahuluan

Dalam tulisan ini, pengenalan notasi di atas akan disampaikan secara tidak formal(informal ) dalam beberapa contoh dan kemudian secara formal dalam bentuk definisi. Untuk materi selanjutnya kan diperkenalkan notasi:

1 Fungsi t(n) dan g (n) merupakan fungsi tidak negatif terdefinisi pada

himpunan bilangan asli.

2 Fungsi t(n) akan berupa waktu dari berjalannya algoritma (yang

biasanya terindikasi pada jumlah operasi dasar C (n)).

3 Fungsi g (n) akan berupa beberapa contoh fungsi yang digunakan

sebagai perbandingan.

(16)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(17)

informal O(g (n))

Secara tidak formal, O(g (n)) merupakan sebuah himpunan semua fungsi yang orde kenaikannya (order of growth) berada di bawah atau sama dengan fungsi orde kenaikan g (n).

Sebagai contoh: 1 n ∈ O(n2), 2 100n + 5 ∈ O(n2), 3 1 2n(n − 1) ∈ O(n 2).

Jelas bahwa dua fungsi pertama adalah fungsi linier sehingga memiliki orde di bawah orde kenaikan fungsi g (n) = n2. Sedangkan fungsi ke-tiga merupakan fungsi kuadratik yang memiliki orde kenaikan sama dengan fungsi n2.

(18)

informal O(g (n))

Secara tidak formal, O(g (n)) merupakan sebuah himpunan semua fungsi yang orde kenaikannya (order of growth) berada di bawah atau sama dengan fungsi orde kenaikan g (n). Sebagai contoh:

1 n ∈ O(n2),

2 100n + 5 ∈ O(n2), 3 1

2n(n − 1) ∈ O(n 2).

Jelas bahwa dua fungsi pertama adalah fungsi linier sehingga memiliki orde di bawah orde kenaikan fungsi g (n) = n2. Sedangkan fungsi ke-tiga merupakan fungsi kuadratik yang memiliki orde kenaikan sama dengan fungsi n2.

(19)

informal O(g (n))

Secara tidak formal, O(g (n)) merupakan sebuah himpunan semua fungsi yang orde kenaikannya (order of growth) berada di bawah atau sama dengan fungsi orde kenaikan g (n). Sebagai contoh:

1 n ∈ O(n2),

2 100n + 5 ∈ O(n2), 3 1

2n(n − 1) ∈ O(n 2).

Jelas bahwa dua fungsi pertama adalah fungsi linier sehingga memiliki orde di bawah orde kenaikan fungsi g (n) = n2. Sedangkan fungsi ke-tiga merupakan fungsi kuadratik yang memiliki orde kenaikan sama dengan fungsi n2.

(20)

informal O(g (n))

Dilain pihak,

1 n3∈ O(n/ 2),

2 0.000001n3∈ O(n/ 2), 3 n4+ n + 1 /∈ O(n2).

Jelas bahwa, fungsi n3 dan 0.000001n3 merupakan fungsi kubik yang memiliki orde kenaikan lebih dari n2. Begitu pula dengan polinomial n4+ n + 1 memiliki orde kenaikan orde empat.

(21)

informal O(g (n))

Dilain pihak,

1 n3∈ O(n/ 2),

2 0.000001n3∈ O(n/ 2), 3 n4+ n + 1 /∈ O(n2).

Jelas bahwa, fungsi n3 dan 0.000001n3 merupakan fungsi kubik yang memiliki orde kenaikan lebih dari n2. Begitu pula dengan polinomial n4+ n + 1 memiliki orde kenaikan orde empat.

(22)

informal Ω(g (n))

Notasi ke-dua Ω(g (n)), menyatakan himpunan dari semua fungsi yang memiliki orde kenaikan lebih besar atau sama dengan g (n). Sebagai comtoh:

1 n3 ∈ Ω(n2), 2 1

2n(n − 1) ∈ Ω(n2), tetapi

3 100n + 5 /∈ Ω(n2).

(23)

informal Ω(g (n))

Notasi ke-dua Ω(g (n)), menyatakan himpunan dari semua fungsi yang memiliki orde kenaikan lebih besar atau sama dengan g (n). Sebagai comtoh:

1 n3∈ Ω(n2), 2 1

2n(n − 1) ∈ Ω(n2), tetapi

3 100n + 5 /∈ Ω(n2).

(24)

informal Θ(g (n))

Terakhir, Θ(g (n)) merupakan himpunan semua fungsi yang memiliki orde kenaikan sama dengan g (n). Contoh semua fungsi kuadratik an2+ bn + c dengan a > 0 berada pada Θ(n2). Hal ini juga terjadi pada fungsi lain seperti n2+ sin n dan n2+ log n, kenapa?

(25)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal 4 Formal Definition

Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(26)

Definisi O(g (n))

Definition

Sebuah fungsi t(n) dikatakan berada dalam O(g (n)), dinotasikan sebagai t(n) ∈ O(g (n)), jika t(n) terbatas di atas oleh suatu konstanta positif dikalikan dengan fungsi g (n) untuk n yang terus membesar. Atau dapat dikatakan bahwa terdapat beberapa konstanta positif c dan beberapa bilangan bulat tak-negatif n0 sehingga

t(n) ≤ cg (n) for all n ≥ n0. (4.1)

(27)

Definisi O(g (n))

Dapat diilustrasikan melalui Gambar 1.

Figure : Notasi Big-Oh: t(n) ∈ O(g (n)).

(28)

Contoh O(g (n))

Example

Mari kita buktikan secara formal 100n + 5 ∈ O(n2).

Jelas bahwa 100n + 5 ≤ 100n + 5(untuk semua n ≥ 5),

= 101n ≤ 101n2.

Sehingga terbukti terdapat c = 101 dan n0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n0, sehingga terdapat cara lain untuk membuktikan, yaitu

100n + 5 ≤ 100n + 5n(untuk semua n ≥ 1), = 105n ≤ 105n2.

Sehingga terbukti dengan c = 105 dan n0 = 1.

(29)

Contoh O(g (n))

Example

Mari kita buktikan secara formal 100n + 5 ∈ O(n2). Jelas bahwa 100n + 5 ≤ 100n + 5(untuk semua n ≥ 5),

= 101n ≤ 101n2.

Sehingga terbukti terdapat c = 101 dan n0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n0, sehingga terdapat cara lain untuk membuktikan, yaitu

100n + 5 ≤ 100n + 5n(untuk semua n ≥ 1), = 105n ≤ 105n2.

Sehingga terbukti dengan c = 105 dan n0 = 1.

(30)

Contoh O(g (n))

Example

Mari kita buktikan secara formal 100n + 5 ∈ O(n2). Jelas bahwa 100n + 5 ≤ 100n + 5(untuk semua n ≥ 5),

= 101n ≤ 101n2.

Sehingga terbukti terdapat c = 101 dan n0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n0, sehingga terdapat cara lain untuk membuktikan,

yaitu

100n + 5 ≤ 100n + 5n(untuk semua n ≥ 1), = 105n ≤ 105n2.

Sehingga terbukti dengan c = 105 dan n0 = 1.

(31)

Contoh O(g (n))

Example

Mari kita buktikan secara formal 100n + 5 ∈ O(n2). Jelas bahwa 100n + 5 ≤ 100n + 5(untuk semua n ≥ 5),

= 101n ≤ 101n2.

Sehingga terbukti terdapat c = 101 dan n0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n0, sehingga terdapat cara lain untuk membuktikan, yaitu

100n + 5 ≤ 100n + 5n(untuk semua n ≥ 1), = 105n ≤ 105n2.

Sehingga terbukti dengan c = 105 dan n0 = 1.

(32)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal 4 Formal Definition

Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(33)

Definisi Ω(g (n))

Definition

Sebuah fungsi t(n) dikatakan berada dalam Ω(g (n)), dinotasikan sebagai t(n) ∈ Ω(g (n)), jika t(n) terbatas di bawah oleh suatu konstanta positif dikalikan dengan fungsi g (n) untuk n yang terus membesar. Atau dapat dikatakan bahwa terdapat beberapa konstanta positif c dan beberapa bilangan bulat tak-negatif n0 sehingga

t(n) ≥ cg (n) untuk setiap n ≥ n0. (4.2)

(34)

Definisi Ω(g (n))

Dapat diilustrasikan melalui Gambar 2.

Figure : Notasi Big-Omega: t(n) ∈ Ω(g (n)).

(35)

Contoh Ω(g (n))

Example

Akan dibuktikan bahwa n3∈ Ω(n2):

n3 ≥ n2 untuk semua n ≥ 0. Sehingga terbukti dengan c = 1 dan n0 = 0.

(36)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal 4 Formal Definition

Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(37)

Definisi Θ(g (n))

Definition

Sebuah fungsi t(n) dikatakan berada dalam Θ(g (n)), dinotasikan sebagai t(n) ∈ Θ(g (n)), jika t(n) terbatas di atas dan bawah oleh suatu konstanta positif dikalikan dengan fungsi g (n) untuk n yang terus membesar. Atau dapat dikatakan bahwa terdapat beberapa konstanta positif c1 dan c2 dan beberapa bilangan bulat tak-negatif n0 sehingga

c2g (n) ≤ t(n) ≤ c1g (n) untuk setiap n ≥ n0. (4.3)

(38)

Definisi Θ(g (n))

Dapat diilustrasikan melalui Gambar 3.

Figure : Notasi Big-Theta: t(n) ∈ Θ(g (n)).

(39)

Contoh Θ(g (n))

Example

Akan dibuktikan bahwa 12n(n − 1) ∈ Θ(n2). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas):

1 2n(n − 1) = 1 2n 21 2n ≤ 1 2n 2 untuk semua n ≥ 0.

Kedua, akan dibuktikan pertaksamaan sebelah kiri (batas bawah) 1 2n(n − 1) = 1 2n 2 1 2n ≥ 1 2n 2 1 2n 1 2n untuk semua n ≥ 2. = 1 4n 2

Sehingga terbukti dengan c2= 14, c1 = 12 dan n0 = 2.

(40)

Contoh Θ(g (n))

Example

Akan dibuktikan bahwa 12n(n − 1) ∈ Θ(n2). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas):

1 2n(n − 1) = 1 2n 21 2n ≤ 1 2n 2 untuk semua n ≥ 0.

Kedua, akan dibuktikan pertaksamaan sebelah kiri (batas bawah) 1 2n(n − 1) = 1 2n 2 1 2n ≥ 1 2n 2 1 2n 1 2n untuk semua n ≥ 2. = 1 4n 2

Sehingga terbukti dengan c2= 14, c1 = 12 dan n0 = 2.

(41)

Contoh Θ(g (n))

Example

Akan dibuktikan bahwa 12n(n − 1) ∈ Θ(n2). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas):

1 2n(n − 1) = 1 2n 21 2n ≤ 1 2n 2 untuk semua n ≥ 0.

Kedua, akan dibuktikan pertaksamaan sebelah kiri (batas bawah) 1 2n(n − 1) = 1 2n 2 1 2n ≥ 1 2n 2 1 2n 1 2n untuk semua n ≥ 2. = 1 4n 2

Sehingga terbukti dengan c2= 14, c1 = 12 dan n0 = 2.

(42)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(43)

Teorema polinomial

Theorem

Jika diberikan fungsi polinomial berderajan m,

T (n) = amnm+ am − 1nm−1+ · · · + a1n + a0 maka T (n) ∈ O(nm).

(44)

Teorema

Theorem

Andaikan T1(n) ∈ O(f (n)) and T2(n) ∈ O(g (n)), maka

1 T1(n) + T2(n) ∈ O(f (n)) + O(f (n)) ∈ O(max(f (n), g (n))) 2 T1(n)T2(n) ∈ O(f (n))O(g (n)) = O(f (n)g (n))

3 O(cf (n)) = cO(f (n)), c adalah sembarang konstanta 4 f (n) ∈ O(f (n))

(45)

Teorema

Theorem

Andaikan T1(n) ∈ O(f (n)) and T2(n) ∈ O(g (n)), maka

1 T1(n) + T2(n) ∈ O(f (n)) + O(f (n)) ∈ O(max(f (n), g (n)))

2 T1(n)T2(n) ∈ O(f (n))O(g (n)) = O(f (n)g (n)) 3 O(cf (n)) = cO(f (n)), c adalah sembarang konstanta 4 f (n) ∈ O(f (n))

(46)

Teorema

Theorem

Andaikan T1(n) ∈ O(f (n)) and T2(n) ∈ O(g (n)), maka

1 T1(n) + T2(n) ∈ O(f (n)) + O(f (n)) ∈ O(max(f (n), g (n))) 2 T1(n)T2(n) ∈ O(f (n))O(g (n)) = O(f (n)g (n))

3 O(cf (n)) = cO(f (n)), c adalah sembarang konstanta 4 f (n) ∈ O(f (n))

(47)

Teorema

Theorem

Andaikan T1(n) ∈ O(f (n)) and T2(n) ∈ O(g (n)), maka

1 T1(n) + T2(n) ∈ O(f (n)) + O(f (n)) ∈ O(max(f (n), g (n))) 2 T1(n)T2(n) ∈ O(f (n))O(g (n)) = O(f (n)g (n))

3 O(cf (n)) = cO(f (n)), c adalah sembarang konstanta

4 f (n) ∈ O(f (n))

(48)

Teorema

Theorem

Andaikan T1(n) ∈ O(f (n)) and T2(n) ∈ O(g (n)), maka

1 T1(n) + T2(n) ∈ O(f (n)) + O(f (n)) ∈ O(max(f (n), g (n))) 2 T1(n)T2(n) ∈ O(f (n))O(g (n)) = O(f (n)g (n))

3 O(cf (n)) = cO(f (n)), c adalah sembarang konstanta 4 f (n) ∈ O(f (n))

(49)

Contoh

Example

Misalkan T1(n) ∈ O(n) dan T2(n) ∈ O(n2) , maka

1 T1(n) + T2(n) ∈ O(max(n, n2)) = O(n2) 2 T1(n)T2(n) = O(n · n2) = O(n3)

(50)

Contoh

Example

O(5n2) = O(n2)

(51)

Contoh

Example

Diketahui T (n) = (n + 2) log(n2+ 1) + 5n2 maka kompleksitas waktu O(n)-nya adalah?

Misalkan

T (n) = (n + 2) log(n2+ 1) + 5n2 = f (n)g (n) + h(n)

Dengan pencarian satu-satu didapat:

1 f (n) = (n + 2) ∈ O(n) 2 g (n) = log(n2+ 1), karena

log(n2+ 1) ≤ log(2n2) = log 2 + log n2

= log 2 + 2 log n ≤ 3 log n untuk n > 2

3 h(n) = 5n2 ∈ O(n2)

(52)

Contoh

Example

Diketahui T (n) = (n + 2) log(n2+ 1) + 5n2 maka kompleksitas waktu O(n)-nya adalah?

Misalkan

T (n) = (n + 2) log(n2+ 1) + 5n2 = f (n)g (n) + h(n)

Dengan pencarian satu-satu didapat:

1 f (n) = (n + 2) ∈ O(n) 2 g (n) = log(n2+ 1), karena

log(n2+ 1) ≤ log(2n2) = log 2 + log n2

= log 2 + 2 log n ≤ 3 log n untuk n > 2

3 h(n) = 5n2 ∈ O(n2)

(53)

Contoh

Example

Diketahui T (n) = (n + 2) log(n2+ 1) + 5n2 maka kompleksitas waktu O(n)-nya adalah?

Misalkan

T (n) = (n + 2) log(n2+ 1) + 5n2 = f (n)g (n) + h(n)

Dengan pencarian satu-satu didapat:

1 f (n) = (n + 2) ∈ O(n)

2 g (n) = log(n2+ 1), karena

log(n2+ 1) ≤ log(2n2) = log 2 + log n2

= log 2 + 2 log n ≤ 3 log n untuk n > 2

3 h(n) = 5n2 ∈ O(n2)

(54)

Contoh

Example

Diketahui T (n) = (n + 2) log(n2+ 1) + 5n2 maka kompleksitas waktu O(n)-nya adalah?

Misalkan

T (n) = (n + 2) log(n2+ 1) + 5n2 = f (n)g (n) + h(n)

Dengan pencarian satu-satu didapat:

1 f (n) = (n + 2) ∈ O(n) 2 g (n) = log(n2+ 1), karena

log(n2+ 1) ≤ log(2n2) = log 2 + log n2

= log 2 + 2 log n ≤ 3 log n untuk n > 2

3 h(n) = 5n2 ∈ O(n2)

(55)

Contoh

Example Maka,

T (n) = (n + 2) log(n2+ 1) + 5n2 ∈ O(n)O(log n) + O(n2) = O(n log n) + O(n2)

= O(max(n log n, n2)) = O(n2)

(56)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(57)

Kelas 1

Kelas Nama Komentar 1 constant

Efisinsi kasus terbaik. Kompleksitas O berarti waktu pelaksanaan algoritma adalah tetap, tidak bergantung pada ukuran masukan.

(58)

Kelas log n

Kelas Nama Komentar

log n logarithmic

Kompleksitas waktu logaritmik berarti laju per-tumbuhan waktunya berjalan lebih lambat dari-pada pertumbuhan n. Algoritma yang ter-masuk kelompok ini adalah algoritma yang memecahkan persoalan besar dengan mentrans-formasikannya menjadi beberapa persoalan yang lebih kecil yang berukuran sama (misalnya algo-ritma pencarian biner).

(59)

Kelas n

Kelas Nama Komentar

n linear

Algoritma yang waktu pelaksanaannya lanjar umumnya terdapat pada kasus yang setiap elemen masukannya dikenai proses yang sama, misalnya algoritma pencarian beruntun. Bila n dijadikan dua kali semula, maka waktu pelaksanaan algo-ritma juga dua kali semula.

(60)

Kelas n log n

Kelas Nama Komentar

n log n linearithmic

Waktu pelaksanaan yang n log n terdapat pada al-goritma yang memecahkan persoalan menjadi be-berapa persoalan yang lebih kecil, menyelesaikan tiap persoalan secara independen, dan meng-gabung solusi masing- masing persoalan.

(61)

Kelas n

2

Kelas Nama Komentar

n2 quadratic

Algoritma yang waktu pelaksanaannya kuadratik hanya praktis digunakan untuk persoalan yang berukuran kecil. Umumnya algoritma yang ter-masuk kelompok ini memproses setiap ter-masukan dalam dua buah looping bersarang, misalnya pada algoritma urut maks.

(62)

Kelas n

3

Kelas Nama Komentar

n3 cubic

Seperti halnya algoritma kuadratik, algoritma ku-bik memproses setiap masukan dalam tiga buah looping bersarang, misalnya algoritma perkalian matriks.

(63)

Kelas 2

n

Kelas Nama Komentar 2n exponential

Algoritma yang tergolong kelompok ini mencari so-lusi persoalan secara ”brute force”, misalnya pada algoritma mencari sirkuit Hamilton.

(64)

Kelas n!

Kelas Nama Komentar

n! factorial

Seperti halnya pada algoritma eksponensial, al-goritma jenis ini memproses setiap masukan dan menghubungkannya dengan n − 1 masukan lain-nya, misalnya algoritma Persoalan Pedagang Ke-liling (Travelling Salesperson Problem).

(65)

Tabel fungsi kenaikan

Nilai masing-masing fungsi untuk kenaikan n.

log n n n log n n2 n3 2n n! 0 1 0 1 1 2 1 0.3010299957 2 0.6020599913 4 8 4 2 0.6020599913 4 2.4082399653 16 64 16 24 0.9542425094 9 8.588182585 81 729 512 362880 1.2041199827 16 19.2659197225 256 4096 65536 20922789888000 1.5051499783 32 48.1647993062 1024 32768 4294967296 2.63130836933694E+035

(66)

Plot fungsi kenaikan

Figure : Nilai masing-masing fungsi untuk kenaikan n.

(67)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(68)

Limit orde

Untuk mempermudah mengidentifikasi kompleksitas waktu O, Ω dan Θ, maka cara membandingkan dapat pula dilakukan.

Definition

Terdapat tiga kasus utama dalam membandingkan waktu komputasi:

lim n→∞ t(n) g (n) =     

0, artinya t(n) memiliki orde lebih rendah dari g (n) c, artinya t(n) memiliki orde sama dengan g (n) ∞, artinya t(n) memiliki orde lebih tinggi dari g (n) Catatan bahwa dua kasus pertama mengidentifikasikan t(n) ∈ O(g (n)), dua kasus terakhir mengidentifikasikan t(n) ∈ Ω(g (n)) dan kasus ke-dua mengidentifikasikan t(n) ∈ Θ(g (n))

(69)

Limit orde

Untuk mempermudah mengidentifikasi kompleksitas waktu O, Ω dan Θ, maka cara membandingkan dapat pula dilakukan.

Definition

Terdapat tiga kasus utama dalam membandingkan waktu komputasi:

lim n→∞ t(n) g (n) =     

0, artinya t(n) memiliki orde lebih rendah dari g (n) c, artinya t(n) memiliki orde sama dengan g (n) ∞, artinya t(n) memiliki orde lebih tinggi dari g (n) Catatan bahwa dua kasus pertama mengidentifikasikan t(n) ∈ O(g (n)), dua kasus terakhir mengidentifikasikan t(n) ∈ Ω(g (n)) dan kasus ke-dua mengidentifikasikan t(n) ∈ Θ(g (n))

(70)

Contoh

Example

Bandingkan orde kenaikan 12n(n − 1) dan n2.

lim n→∞ 1 2n(n − 1) n2 = 1 2n→∞lim n2− n n2 = 1 2n→∞lim(1 − 1 n) = 1 2 Karena hasil limitnya merupakan konstanta positif, yang berarti bahwa memiliki orde sama, maka dapat dinotasikan sebagai 12n(n − 1) ∈ Θ(n2).

(71)

Contoh

Example

Bandingkan orde kenaikan 12n(n − 1) dan n2.

lim n→∞ 1 2n(n − 1) n2 = 1 2n→∞lim n2− n n2 = 1 2n→∞lim(1 − 1 n) = 1 2 Karena hasil limitnya merupakan konstanta positif, yang berarti bahwa memiliki orde sama, maka dapat dinotasikan sebagai 12n(n − 1) ∈ Θ(n2).

(72)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References

9 Exercise Exercise

(73)

References

References

1 Anany, L. (2003). Introduction to the design and analysis of

algorithms. Villanova University.

(74)

Outline

1 Review

2 Pendahuluan

Pendahuluan

3 Pengantar tidak formal Pengantar informal

4 Formal Definition Notasi O Notasi Ω Notasi Θ

5 Properti notasi asimptotik Theorems

6 Kelas Dasar Efisiensi Kelas Dasar Efisiensi

7 Menggunakan Limit untuk membnadingkan orde kenaikan Limit orde

8 References References 9 Exercise

Exercise

(75)

Exercises

1 Tentukan notasi Ω dan Θ untuk T (n) = 2n2+ 6n + 1.

2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n3+ 6n2log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + · · · + n. 4 Tentukan notasi O untuk T (n) = 2 + 4 + · · · + 2n.

5 Tentukan notasi O untuk T (n) = (n + 1)(n + 3)/(n + 2).

(76)

Exercises

1 Tentukan notasi Ω dan Θ untuk T (n) = 2n2+ 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n3+ 6n2log n.

3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + · · · + n. 4 Tentukan notasi O untuk T (n) = 2 + 4 + · · · + 2n.

5 Tentukan notasi O untuk T (n) = (n + 1)(n + 3)/(n + 2).

(77)

Exercises

1 Tentukan notasi Ω dan Θ untuk T (n) = 2n2+ 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n3+ 6n2log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + · · · + n.

4 Tentukan notasi O untuk T (n) = 2 + 4 + · · · + 2n. 5 Tentukan notasi O untuk T (n) = (n + 1)(n + 3)/(n + 2).

(78)

Exercises

1 Tentukan notasi Ω dan Θ untuk T (n) = 2n2+ 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n3+ 6n2log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + · · · + n. 4 Tentukan notasi O untuk T (n) = 2 + 4 + · · · + 2n.

5 Tentukan notasi O untuk T (n) = (n + 1)(n + 3)/(n + 2).

(79)

Exercises

1 Tentukan notasi Ω dan Θ untuk T (n) = 2n2+ 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n3+ 6n2log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + · · · + n. 4 Tentukan notasi O untuk T (n) = 2 + 4 + · · · + 2n.

5 Tentukan notasi O untuk T (n) = (n + 1)(n + 3)/(n + 2).

(80)

Exercise 1

Tentukan notasi O, Ω dan Θ dari pseudocode x <- 0

for x <- 0 to n: for y <- 0 to n:

a=c+d

(81)

Exercise 2

Tentukan notasi O, Ω dan Θ dari pseudocode x <- 0

for x <- 0 to n: for y <- x to n-3:

a=c+d

(82)

Exercise 3

Tentukan notasi O, Ω dan Θ dari pseudocode x <- 0

for x <- 2 to n+2: for y <- x-1 to n:

a=c+d

(83)

The end of week 3

Thank you for your attention!

Gambar

Figure : Notasi Big-Oh: t(n) ∈ O(g (n)).
Figure : Notasi Big-Omega: t(n) ∈ Ω(g (n)).
Figure : Notasi Big-Theta: t(n) ∈ Θ(g (n)).
Figure : Nilai masing-masing fungsi untuk kenaikan n.

Referensi

Dokumen terkait

Solusi akhir dari perhitungan efisiensi relatif kriteria penjadwalan dengan kombinasi metode Algoritma Genetik dan Data Envelopment Analysis dapat dilihat pada Tabel 5.30.. Hal

Dalam bab ini dibahas mengenai model dan kerangka kerja perilaku konsumen yang dikaitkan dengan ruang lingkup perilaku konsumen pada bab sebelumnya yang terdiri

Pada bab ini dijelaskan mengenai rangkaian uji coba perangkat lunak. Pada bab ini juga akan dibahas mengenai perhitungan parameter dalam algoritma AAC. Tujuan dari

Pada Bab II dan Bab III telah dibahas bahwa algoritma propagasi balik memiliki tingkat akurasi yang cukup bagus dalam proses klasifikasi pada sistem pengenalan

Pada tulisan ini akan dibahas pembuatan aplikasi pembelajaran yang memvisualisasikan materi proses dalam Sistem Operasi yang terdiri dari teori algoritma-algoritma penjadwalan

Pada bab ini dibahas metode penelitian yang digunakan penulis dalam mengkaji skripsi yang berjudul “Kiprah Politik Harmoko pada Masa Orde Baru Melalui Analisis Biografi

Setelah melihat perbandingan kompleksitas dan running time dari ketiga algoritma yang sudah dibahas pada bab-bab sebelumnya, dapat diambil kesimpulan bahwa dynamic

Ruang Lingkup Masalah Materi yang dibahas dalam kajian literature ini adalah gambaran penanganan rehabilitasi pada penderita Low Vision, yang berfokus pada metode dan proses yang