Design and Analysis of Algorithm

dokumen-dokumen yang mirip
Design and Analysis of Algorithm

Pendahuluan. Ukuran input (input s size)

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2

Kompleksitas Algoritma

Kompleksitas Algoritma

Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

Design and Analysis of Algorithm

Design and Analysis of Algorithm

Kompleksitas Algoritma

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Algoritma dan Struktur Data

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Design and Analysis Algorithm

Algoritma dan Struktur Data. Performansi Algoritma

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 04

Pengantar Analisa Algoritma

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

Kompleksitas Algoritma

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search

Algoritma dan Kompleksitas Algoritma

Design and Analysis of Algorithm

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

Logika dan Algoritma Yuni Dwi Astuti, ST 2

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 05

Analisa Kompleksitas Algoritma. Sunu Wibirama

ALGORITHM. 2 Analysis Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:

Analisis Kecepatan Sorting Dengan Notasi Big O

Design and Analysis of Algorithms CNH2G3- Week 8 Greedy Algorithm

BAB II TINJAUAN PUSTAKA

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Kompleksitas Algoritma dalam menentukan Solvabilitas Sliding N-Puzzle

Persamaan Diferensial Parsial CNH3C3

Analisis dan Strategi Algoritma

Design and Analysis of Algorithm

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap

Analisis Algoritma Bubble Sort

Komparasi Algoritma Mergesort dengan Quicksort pada Pengurutan Data Integer

Fungsi Analitik (Bagian Pertama)

Hubungan Kompleksitas Algoritma dengan Cara Belajar

Design and Analysis of Algorithms CNH2G3- Week 3 Notasi Asymptotic dan Kelas Dasar Efisiensi

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Review Teori P dan NP

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Algoritma Brute Force (lanjutan)

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Pengantar Strategi Algoritma

Kompleksitas Algoritma dalam Strategi Algoritma Sorting

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 07

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 1 Edisi.,Volume,. Bulan.. ISSN :

Algoritma Brute Force (lanjutan)

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Pertemuan 9 : Interpolasi 1 (P9) Interpolasi. Metode Newton Metode Spline

Kompleksitas Komputasi

Bab 2 LANDASAN TEORI. 2.1 Definisi Graf

Design and Analysis Algorithm

Pertemuan ke-10: UJI PERBANDINGAN, DERET BERGANTI TANDA, KEKONVERGENAN MUTLAK, UJI RASIO, DAN UJI AKAR

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

BAB 2 TINJAUAN PUSTAKA

LEMBAR AKTIVITAS SISWA INDUKSI MATEMATIKA

Respect, Professionalism, & Entrepreneurship. Mata Kuliah : Kalkulus Kode : CIV 101. Limit Fungsi. Pertemuan - 2

Variabel Banyak Bernilai Real 1 / 1

Definisi 4.1 Fungsi f dikatakan kontinu di titik a (continuous at a) jika dan hanya jika ketiga syarat berikut dipenuhi: (1) f(a) ada,

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force

MA3231 Analisis Real

Persamaan Diferensial Parsial CNH3C3

BAB I DASAR-DASAR PEMODELAN MATEMATIKA DENGAN PERSAMAAN DIFERENSIAL

Fungsi Analitik (Bagian Kedua)

Persamaan Diferensial Parsial CNH3C3

TINJAUAN PUSTAKA. Pada bagian ini akan diberikan konsep dasar graf dan bilangan kromatik lokasi pada

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

PENGENALAN BINARY INDEXED TREE DAN APLIKASINYA

Teori Kompleksitas (Bagian 2)

Sieve of Eratosthenes, Algoritma Bilangan Prima

Matematika I : Limit. Dadang Amir Hamzah. Dadang Amir Hamzah Matematika I Semester I / 79

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik

Informatics Class A UISI CALCULUS I WEEK 2 DAY 2

MENENTUKAN PERPANGKATAN MATRIKS TANPA MENGGUNAKAN EIGENVALUE

Transformasi Laplace

Graf untuk soal nomor 7

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Design and Analysis of Algorithms CNH2G3- Week 6 Brute Force Algorithm Part 1: Design Strategy

Persamaan Diferensial Parsial CNH3C3

EFISIENSI ALGORITMA DAN NOTASI O-BESAR

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

11. FUNGSI MONOTON (DAN FUNGSI KONVEKS)

Memahami definisi barisan tak hingga dan deret tak hingga, dan juga dapat menentukan

Transkripsi:

Design and Analysis of Algorithm Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 57

Exercise 1 What the complexity of the following pseudocode x <- 0 for x <- 0 to n: for y <- 0 to n: a=c+d Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 57

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 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 57

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 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 57

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 it 6. } Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 57

Example Iteration value of i (at the top of loop) number of times line 4 1 n 1 n 2 1 2 n 1 3 1 2 n 2 k 1 2 k 1 0 2 k k+1 n Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 57

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): Thus, T (n) = log 2 (n) 1 n 2 k = 0 log 2 ( n 2 k ) = log 2 (0) log 2 n log(2 k ) = log 2 (0) k log 2 (2) = log 2 n log 2 (0) k = log 2 n 1 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 57

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), Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 57

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 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 57

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). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 57

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. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 57

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)). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 57

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. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 57

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). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 57

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(n 2 ), 2 100n + 5 O(n 2 ), 3 1 2 n(n 1) O(n2 ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 57

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(n 2 ), 2 100n + 5 O(n 2 ), 3 1 2 n(n 1) O(n2 ). Jelas bahwa dua fungsi pertama adalah fungsi linier sehingga memiliki orde di bawah orde kenaikan fungsi g(n) = n 2. Sedangkan fungsi ke-tiga merupakan fungsi kuadratik yang memiliki orde kenaikan sama dengan fungsi n 2. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 57

informal O(g(n)) Dilain pihak, 1 n 3 / O(n 2 ), 2 0.000001n 3 / O(n 2 ), 3 n 4 + n + 1 / O(n 2 ). r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 57

informal O(g(n)) Dilain pihak, 1 n 3 / O(n 2 ), 2 0.000001n 3 / O(n 2 ), 3 n 4 + n + 1 / O(n 2 ). Jelas bahwa, fungsi n 3 dan 0.000001n 3 merupakan fungsi kubik yang memiliki orde kenaikan lebih dari n 2. Begitu pula dengan polinomial n 4 + n + 1 memiliki orde kenaikan orde empat. r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 57

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: Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 57

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 n 3 Ω(n 2 ), 2 1 2 n(n 1) Ω(n2 ), tetapi 3 100n + 5 / Ω(n 2 ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 57

informal Θ(g(n)) Terakhir, Θ(g(n)) merupakan himpunan semua fungsi yang memiliki orde kenaikan sama dengan g(n). Contoh semua fungsi kuadratik an 2 + bn + c dengan a > 0 berada pada Θ(n 2 ). Hal ini juga terjadi pada fungsi lain seperti n 2 + sin n dan n 2 + log n, kenapa? Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 57

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 n 0 sehingga t(n) cg(n) for all n n 0. (4.1) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 57

Definisi O(g(n)) Dapat diilustrasikan melalui Gambar 1. Figure : Notasi Big-Oh: t(n) O(g(n)). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 57

Contoh O(g(n)) Example Mari kita buktikan secara formal 100n + 5 O(n 2 ). r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 57

Contoh O(g(n)) Example Mari kita buktikan secara formal 100n + 5 O(n 2 ). Jelas bahwa 100n + 5 100n + 5(untuk semua n 5), = 101n 101n 2. r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 57

Contoh O(g(n)) Example Mari kita buktikan secara formal 100n + 5 O(n 2 ). Jelas bahwa 100n + 5 100n + 5(untuk semua n 5), = 101n 101n 2. Sehingga terbukti terdapat c = 101 dan n 0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n 0, sehingga terdapat cara lain untuk membuktikan, Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 57

Contoh O(g(n)) Example Mari kita buktikan secara formal 100n + 5 O(n 2 ). Jelas bahwa 100n + 5 100n + 5(untuk semua n 5), = 101n 101n 2. Sehingga terbukti terdapat c = 101 dan n 0 = 5. Catatan bahwa, definisi memberikan sembarang nilai c dan n 0, sehingga terdapat cara lain untuk membuktikan, yaitu 100n + 5 100n + 5n(untuk semua n 1), = 105n 105n 2. Sehingga terbukti dengan c = 105 dan n 0 = 1. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 57

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 n 0 sehingga t(n) cg(n) untuk setiap n n 0. (4.2) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 57

Definisi Ω(g(n)) Dapat diilustrasikan melalui Gambar 2. Figure : Notasi Big-Omega: t(n) Ω(g(n)). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 57

Contoh Ω(g(n)) Example Akan dibuktikan bahwa n 3 Ω(n 2 ): n 3 n 2 untuk semua n 0. Sehingga terbukti dengan c = 1 dan n 0 = 0. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 57

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 c 1 dan c 2 dan beberapa bilangan bulat tak-negatif n 0 sehingga c 2 g(n) t(n) c 1 g(n) untuk setiap n n 0. (4.3) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 26 / 57

Definisi Θ(g(n)) Dapat diilustrasikan melalui Gambar 3. Figure : Notasi Big-Theta: t(n) Θ(g(n)). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 57

Contoh Θ(g(n)) Example Akan dibuktikan bahwa 1 2 n(n 1) Θ(n2 ). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas): 1 2 n(n 1) = 1 2 n2 1 2 n 1 2 n2 untuk semua n 0. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 57

Contoh Θ(g(n)) Example Akan dibuktikan bahwa 1 2 n(n 1) Θ(n2 ). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas): 1 2 n(n 1) = 1 2 n2 1 2 n 1 2 n2 untuk semua n 0. Kedua, akan dibuktikan pertaksamaan sebelah kiri (batas bawah) 1 2 n(n 1) = 1 2 n2 1 2 n 1 2 n2 1 2 n 1 2 n untuk semua n 2. = 1 4 n2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 57

Contoh Θ(g(n)) Example Akan dibuktikan bahwa 1 2 n(n 1) Θ(n2 ). Perta akan dibuktikan untuk pertaksamaan sebelah kanan (batas atas): 1 2 n(n 1) = 1 2 n2 1 2 n 1 2 n2 untuk semua n 0. Kedua, akan dibuktikan pertaksamaan sebelah kiri (batas bawah) 1 2 n(n 1) = 1 2 n2 1 2 n 1 2 n2 1 2 n 1 2 n untuk semua n 2. = 1 4 n2 Sehingga terbukti dengan c 2 = 1 4, c 1 = 1 2 dan n 0 = 2. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 57

Teorema polinomial Theorem Jika diberikan fungsi polinomial berderajan m, T (n) = a m n m + am 1n m 1 + + a 1 n + a 0 maka T (n) O(n m ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 57

Teorema Theorem Andaikan T 1 (n) O(f (n)) and T 2 (n) O(g(n)), maka Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 57

Teorema Theorem Andaikan T 1 (n) O(f (n)) and T 2 (n) O(g(n)), maka 1 T 1 (n) + T 2 (n) O(f (n)) + O(f (n)) O(max(f (n), g(n))) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 57

Teorema Theorem Andaikan T 1 (n) O(f (n)) and T 2 (n) O(g(n)), maka 1 T 1 (n) + T 2 (n) O(f (n)) + O(f (n)) O(max(f (n), g(n))) 2 T 1 (n)t 2 (n) O(f (n))o(g(n)) = O(f (n)g(n)) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 57

Teorema Theorem Andaikan T 1 (n) O(f (n)) and T 2 (n) O(g(n)), maka 1 T 1 (n) + T 2 (n) O(f (n)) + O(f (n)) O(max(f (n), g(n))) 2 T 1 (n)t 2 (n) O(f (n))o(g(n)) = O(f (n)g(n)) 3 O(cf (n)) = co(f (n)), c adalah sembarang konstanta Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 57

Teorema Theorem Andaikan T 1 (n) O(f (n)) and T 2 (n) O(g(n)), maka 1 T 1 (n) + T 2 (n) O(f (n)) + O(f (n)) O(max(f (n), g(n))) 2 T 1 (n)t 2 (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)) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 57

Contoh Example Misalkan T 1 (n) O(n) dan T 2 (n) O(n 2 ), maka 1 T 1 (n) + T 2 (n) O(max(n, n 2 )) = O(n 2 ) 2 T 1 (n)t 2 (n) = O(n n 2 ) = O(n 3 ) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 57

Contoh Example O(5n 2 ) = O(n 2 ) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 57

Contoh Example Diketahui T (n) = (n + 2) log(n 2 + 1) + 5n 2 maka kompleksitas waktu O(n)-nya adalah? r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 57

Contoh Example Diketahui T (n) = (n + 2) log(n 2 + 1) + 5n 2 maka kompleksitas waktu O(n)-nya adalah? Misalkan T (n) = (n + 2) log(n 2 + 1) + 5n 2 = f (n)g(n) + h(n) r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 57

Contoh Example Diketahui T (n) = (n + 2) log(n 2 + 1) + 5n 2 maka kompleksitas waktu O(n)-nya adalah? Misalkan T (n) = (n + 2) log(n 2 + 1) + 5n 2 = f (n)g(n) + h(n) Dengan pencarian satu-satu didapat: 1 f (n) = (n + 2) O(n) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 57

Contoh Example Diketahui T (n) = (n + 2) log(n 2 + 1) + 5n 2 maka kompleksitas waktu O(n)-nya adalah? Misalkan T (n) = (n + 2) log(n 2 + 1) + 5n 2 = f (n)g(n) + h(n) Dengan pencarian satu-satu didapat: 1 f (n) = (n + 2) O(n) 2 g(n) = log(n 2 + 1), karena 3 h(n) = 5n 2 O(n 2 ) log(n 2 + 1) log(2n 2 ) = log 2 + log n 2 = log 2 + 2 log n 3 log n untuk n > 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 57

Contoh Example Maka, T (n) = (n + 2) log(n 2 + 1) + 5n 2 O(n)O(log n) + O(n 2 ) = O(n log n) + O(n 2 ) = O(max(n log n, n 2 )) = O(n 2 ) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 35 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 36 / 57

Kelas 1 Kelas Nama Komentar 1 constant Efisinsi kasus terbaik. Kompleksitas O berarti waktu pelaksanaan algoritma adalah tetap, tidak bergantung pada ukuran masukan. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 37 / 57

Kelas log n Kelas Nama Komentar log n logarithmic Kompleksitas waktu logaritmik berarti laju pertumbuhan waktunya berjalan lebih lambat daripada pertumbuhan n. Algoritma yang termasuk kelompok ini adalah algoritma yang memecahkan persoalan besar dengan mentransformasikannya menjadi beberapa persoalan yang lebih kecil yang berukuran sama (misalnya algoritma pencarian biner). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 38 / 57

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 algoritma juga dua kali semula. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 39 / 57

Kelas n log n Kelas Nama Komentar n log n linearithmic Waktu pelaksanaan yang n log n terdapat pada algoritma yang memecahkan persoalan menjadi beberapa persoalan yang lebih kecil, menyelesaikan tiap persoalan secara independen, dan menggabung solusi masing- masing persoalan. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 40 / 57

Kelas n 2 Kelas Nama Komentar n 2 quadratic Algoritma yang waktu pelaksanaannya kuadratik hanya praktis digunakan untuk persoalan yang berukuran kecil. Umumnya algoritma yang termasuk kelompok ini memproses setiap masukan dalam dua buah looping bersarang, misalnya pada algoritma urut maks. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 41 / 57

Kelas n 3 Kelas Nama Komentar n 3 cubic Seperti halnya algoritma kuadratik, algoritma kubik memproses setiap masukan dalam tiga buah looping bersarang, misalnya algoritma perkalian matriks. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 42 / 57

Kelas 2 n Kelas Nama Komentar 2 n exponential Algoritma yang tergolong kelompok ini mencari solusi persoalan secara brute force, misalnya pada algoritma mencari sirkuit Hamilton. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 43 / 57

Kelas n! Kelas Nama Komentar n! factorial Seperti halnya pada algoritma eksponensial, algoritma jenis ini memproses setiap masukan dan menghubungkannya dengan n 1 masukan lainnya, misalnya algoritma Persoalan Pedagang Keliling (Travelling Salesperson Problem). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 44 / 57

Tabel fungsi kenaikan Nilai masing-masing fungsi untuk kenaikan n. log n n n log n n 2 n 3 2 n 0 1 0 1 1 2 0.3010299957 2 0.6020599913 4 8 4 0.6020599913 4 2.4082399653 16 64 16 0.9542425094 9 8.588182585 81 729 512 1.2041199827 16 19.2659197225 256 4096 65536 20 1.5051499783 32 48.1647993062 1024 32768 4294967296 2.6313 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 45 / 57

Plot fungsi kenaikan Figure : Nilai masing-masing fungsi untuk kenaikan n. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 46 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 47 / 57

Limit orde Untuk mempermudah mengidentifikasi kompleksitas waktu O, Ω dan Θ, maka cara membandingkan dapat pula dilakukan. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 48 / 57

Limit orde Untuk mempermudah mengidentifikasi kompleksitas waktu O, Ω dan Θ, maka cara membandingkan dapat pula dilakukan. Definition Terdapat tiga kasus utama dalam membandingkan waktu komputasi: t(n) 0, artinya t(n) memiliki orde lebih rendah dari g(n) lim n 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)) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 48 / 57

Contoh Example Bandingkan orde kenaikan 1 2 n(n 1) dan n2. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 49 / 57

Contoh Example Bandingkan orde kenaikan 1 2 n(n 1) dan n2. lim n 1 2n(n 1) n 2 = 1 2 lim n 2 n n n 2 = 1 2 lim (1 1 n n ) = 1 2 Karena hasil limitnya merupakan konstanta positif, yang berarti bahwa memiliki orde sama, maka dapat dinotasikan sebagai 1 2 n(n 1) Θ(n2 ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 49 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 50 / 57

References References 1 Anany, L. (2003). Introduction to the design and analysis of algorithms. Villanova University. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 51 / 57

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 Dr. 9PutuExercise Harry Gunawan (Telkom University) Design and Analysis of Algorithm 52 / 57

Exercises 1 Tentukan notasi Ω dan Θ untuk T (n) = 2n 2 + 6n + 1. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 53 / 57

Exercises 1 Tentukan notasi Ω dan Θ untuk T (n) = 2n 2 + 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n 3 + 6n 2 log n. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 53 / 57

Exercises 1 Tentukan notasi Ω dan Θ untuk T (n) = 2n 2 + 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n 3 + 6n 2 log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + + n. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 53 / 57

Exercises 1 Tentukan notasi Ω dan Θ untuk T (n) = 2n 2 + 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n 3 + 6n 2 log n. 3 Tentukan notasi O, Ω dan Θ untuk T (n) = 1 + 2 + + n. 4 Tentukan notasi O untuk T (n) = 2 + 4 + + 2n. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 53 / 57

Exercises 1 Tentukan notasi Ω dan Θ untuk T (n) = 2n 2 + 6n + 1. 2 Tentukan notasi O, Ω dan Θ untuk T (n) = 5n 3 + 6n 2 log 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). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 53 / 57

Exercise 1 Tentukan notasi O, Ω dan Θ dari pseudocode x <- 0 for x <- 0 to n: for y <- 0 to n: a=c+d Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 54 / 57

Exercise 2 Tentukan notasi O, Ω dan Θ dari pseudocode x <- 0 for x <- 0 to n: for y <- x to n-3: a=c+d Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 55 / 57

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 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 56 / 57

The end of week 3 Thank you for your attention! Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 57 / 57