Design and Analysis of Algorithm

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

Design and Analysis of Algorithm

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

Design and Analysis of Algorithm

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

Design and Analysis of Algorithm

Design and Analysis of Algorithm

Decrease and Conquer

Design and Analysis Algorithm

Design and Analysis of Algorithms CNH2G3- Week 8 Greedy Algorithm

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

Kata kunci: definisi, relasi rekursi linier berkoefisien konstan, solusi relasi rekurensi, dan solusi homogen & partikelir

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

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

BAB I PENDAHULUAN Latar Belakang

Design and Analysis of Algorithm

RESUME ALGORITMA MERGE SORT DAN REKURENS

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

Karena relasi rekurens menyatakan definisi barisan secara rekursif, maka kondisi awal merupakan langkah basis pada definisi rekursif tersebut.

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

Algoritma Pemrograman

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

Relasi Rekursi. Definisi Relasi Rekursi

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

CHAPTER 8. Advanced Counting Techniques

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

Analisis dan Strategi Algoritma

Logika dan Algoritma Yuni Dwi Astuti, ST 2

UNIVERSITAS GUNADARMA

Algoritma Pemrograman

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

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

BAB VII ALGORITMA DIVIDE AND CONQUER

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

MUHAMMAD BURHANUDDIN. Teknik Industri Universitas Borobudur (NIM # )

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.

Analisis Kecepatan Sorting Dengan Notasi Big O

STRATEGI DIVIDE AND CONQUER

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Algoritma Pemrograman

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865

Relasi Rekursi. Matematika Informatika 4. Onggo

Recursion, Algoritma, Struktur Data. Recursion. Erick Pranata. Edisi II

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

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

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

Kompleksitas Waktu untuk Algoritma Rekursif. ZK Abdurahman Baizal

Perulangan Rekursif dan Perulangan Iteratif

Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

Analisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc.

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

RENCANA PEMBELAJARAN SEMESTER (RPS)

Algoritma Pemrograman 2B (Pemrograman C++)

RENCANA PEMBELAJARAN SEMESTER (RPS)

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

ANALISA RUNNING TIME

ANALISIS ALGORITMA BINARY SEARCH

Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB

Kompleksitas Komputasi

FUNGSI BESSEL. 1. PERSAMAAN DIFERENSIAL BESSEL Fungsi Bessel dibangun sebagai penyelesaian persamaan diferensial.

UNIVERSITAS GUNADARMA

CCH1A4 / Dasar Algoritma & Pemrogramanan

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

Metode Koefisien Tak Tentu untuk Penyelesaian PD Linier Homogen Tak Homogen orde-2 Matematika Teknik I_SIGIT KUSMARYANTO

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

BAB II PROSES REKURSI DAN ITERASI

Design and Analysis Algorithm

Pengantar Metode Perturbasi Bab 1. Pendahuluan

Algoritma Divide and Conquer. (Bagian 2)

I Putu Gede Darmawan

Komparasi Algoritma Mergesort dengan Quicksort pada Pengurutan Data Integer

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Penyelesaian Masalah Josephus Sederhana dalam Bentuk Eksplisit

Algoritma dan Struktur Data

Kompleksitas Algoritma

BAB V Tujuan 5.1 Rekursi Dasar

Kunci Jawaban & Hint Try Out OSK 2017 Oleh : Lie, Maximilianus Maria Kolbe

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

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

Kompleksitas Algoritma

Multithreading untuk Algoritma Divide and Conquer

Penerapan Divide And Conquer Dalam Mengalikan Polinomial

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Recursion, Algoritma, Struktur Data. Recursion. Erick Pranata. Edisi I

Analisis Kompleksitas Algoritma dalam Operasi BigMod

Solusi UTS Stima. Alternatif 1 strategi:

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Transkripsi:

Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 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 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 34

Exercise 1 Tentukan kompleksitas waktu Big-Oh untuk relasi rekursi berikut: { 1, n = 1 T (n) = T (n 1) + 1, n 2 (1.1) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 34

Exercise 2 Tentukan kompleksitas waktu Big-Oh untuk relasi rekursi berikut: { 2, n = 0 T (n) = T (n 1) + T (n 2), n 1 (1.2) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 34

Metode Karakteristik:Solusi Umum Relasi rekursi dibedakan menjadi dua, yakni relasi rekursi non homogen dan homogen. Penyelesaian menggunakan metode karakteristik, dibedakan berdasarkan tipe dari relasi rekursi. Berikut adalah diberikan tahapan penyelesaian secara umum bentuk relasi rekursif: Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 34

Rekursif Diberikan bentuk rekursif: T (n) = α 1 T (n 1) + α 2 T (n 2) + + α k T (n k) + f (n) (2.1) dengan: f (n) = t n P d (n) (2.2) P d (n) = b 0 n d + b 1 n d 1 + + b k (2.3) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 34

Rekursif Langkah pertama dalam menyelesaikan relasi rekursi menggunakan metode karakteristik adalah mengasumsikan bahwa relasi rekursi dalam tipe homogen yakni f (n) = 0, sehingga relasinya: T (n) = α 1 T (n 1) + α 2 T (n 2) + + α k T (n k). (2.4) Selanjutnya dengan memisalkan T (n) = x n, sehingga didapat: x n = α 1 x n 1 + α 2 x n 2 + + α k x n k, (2.5) x n α 1 x n 1 α 2 x n 2 α k x n k = 0. (2.6) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 34

Rekursif Selanjutnya dengan memisalkan T (n) = x n, sehingga didapat: x n = α 1 x n 1 + α 2 x n 2 + + α k x n k, (2.7) x n α 1 x n 1 α 2 x n 2 α k x n k = 0. (2.8) Kemudian, jika x n k merupakan suku dengan orde terkecil, maka Persamaan (2.8) dibagi dengan x n k menjadi x k α 1 x k 1 α 2 x k 2 α k = 0 (2.9) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 34

Rekursif Sehingga diperoleh persamaan karakteristik: (x k α 1 x k 1 α 2 x k 2 α k ) (x t) d+1 = 0 (2.10) dengan t dan d didapatkna dari langkah 1 (INGAT suku (x t) d+1 hanya berlaku untuk kasus relasi rekursi NON HOMOGEN, JIka HOMOGEN maka bernilai 1). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 34

Rekursif Cari solusi dari Persamaan (2.10). Secara umum, solusi dari persamaan karakteristik ada dua macam kasus: Kasus solusi berbeda: Jika semua akar persamaan karakteristik berbeda {x 1, x 2, x 3, }, maka solusi umumnya adalah: T (n) = c 1 x n 1 + c 2 x n 2 + c 3 x n 3 + (2.11) dengan c 1, c 2, c 3, merupakan konstanta yang harus dicari. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 34

Rekursif Kasus solusi sama: Jika semua akar persamaan karakteristik sama {x 1 = x 2 = x 3 = = x}, maka solusi umumnya adalah: T (n) = (c 1 + c 2 n + c 3 n 2 + )x n (2.12) dengan c 1, c 2, c 3, merupakan konstanta yang harus dicari. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 34

Algoritma Berikut Algoritma untuk menggunakan Metode Karakteristik: 1 Start. 2 Tentukan bentuk persamaan rekursif. 3 Selesaikan bentuk rekursif dalam bentuk HOMOGEN dan misalkan T (n) = x m, kemudian bagi dengan suku orde terkecil. 4 Bentuk persamaan Karakteristik. 5 Bentuk solusi umum berdasarkan akar-akar persamaan Karakteristik. 6 Temukan koefisien-koefisien dari solusi umum. 7 End. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 34

Homogen Berikut akan diberikan contoh-contoh untuk menyelesaikan relasi rekursi bentuk Homogen: Diberikan relasi berikut 0, n = 0 T (n) = 1, n = 1 (3.1) 3T (n 1) 2T (n 2), n 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 34

Homogen Exercise: diberikan relasi rekursi dari masalah Barisan Fibonacci berikut 0, n = 0 T (n) = 1, n = 1 (3.2) T (n 1) + T (n 2), n 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 34

Homogen Exercise: diberikan relasi rekursi berikut 0, n = 0 1, n = 1 T (n) = 2, n = 2 7T (n 1) 15T (n 2) + 9T (n 3), n 3 (3.3) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 34

Non-Homogen Berikut akan diberikan contoh-contoh untuk menyelesaikan relasi rekursi bentuk Non-Homogen: Diberikan relasi rekursi untuk masalah faktorial { 0, n = 0 T (n) = (4.1) T (n 1) + 1, n > 1 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 34

Non-Homogen Diberikan relasi rekursi untuk masalah Menara Hanoi { 1, n = 1 T (n) = 2T (n 1) + 1, n > 1 (4.2) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 34

Non-Homogen Diberikan relasi rekursi untuk masalah Minimum dan Maksimum 0, n = 1 T (n) = 1, n = 2 2T ( (4.3) ) n 2 + 2, n > 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 34

Teorema Master Pembahasan menggunakan metode karakteristik untuk algoritma rekursif pada bab sebelumnya hanya berlaku untuk kasus umum. Kasus khusus yakni untuk strategi Divide & Conquer, Kompleksitas waktu asimtotik dapat dicari menggunakan teorema Master Theorem (Master) Untuk suatu general Divide and Conquer recurrence: ( n ) T (n) = at + f (n) (5.1) b Jika f (n) O(n d ) dengan d 0, dalam persamaan general Divide and Conquer recurrence di atas, maka O(n d ) a < b d T (n) O(n d log n) a = b d (5.2) O(n b log a ) a > b d Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 34

Teorema Master Exercise Gunakan Teorema Master untuk mencari kompleksitas waktu asimtotik pada relasi rekursi untuk masalah Minimum dan Maksimum di bawah ini: 0, n = 1 T (n) = 1, n = 2 2T ( (5.3) ) n 2 + 2, n > 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 34

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 26 / 34

Outline 1 Review 2 Metode Karakteristik:Solusi Umum Metode Karakteristik:Solusi Umum 3 Menyelesaikan relasi rekursi HOMOGEN Menyelesaikan relasi rekursi HOMOGEN 4 Menyelesaikan relasi rekursi NON-HOMOGEN Menyelesaikan relasi rekursi NON-HOMOGEN 5 Teorema Master Teorema Master 6 References References 7 Exercise Exercise Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 34

Exercise 1 Selesaikan relasi rekurensi berikut: { 0, n = 1 T (n) = T (n 1) + 5, n 2 (7.1) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 34

Exercise 2 Selesaikan relasi rekurensi berikut: { 4, n = 1 T (n) = 3T (n 1), n 2 (7.2) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 34

Exercise 3 Selesaikan relasi rekurensi berikut: { 0, n = 0 T (n) = T (n 1) + n, n > 0 (7.3) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 34

Exercise 4 Selesaikan relasi rekurensi berikut: { 1, n = 1 T (n) = T (n/2) + n, n > 1 (7.4) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 34

Exercise 5 Selesaikan relasi rekurensi berikut: { 1, n = 1 T (n) = T (n/3) + 1, n > 1 (7.5) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 34

Exercise 6 Diberikan algoritma untuk menghitung jumlah pangkat 3 dari deret, S(n) = n 3 + (n 1) 3 + + 2 3 + 1 3. ALGORITHM S(n) //Input: A positive integer n //Output: The sum of the first n cubes if n = 1 return 1 else return S(n - 1) + n * n * n 1 Tentukan relasi rekursi dari algoritma di atas dan selesaikan. 2 Bandingkan dengan algoritma yang tidak ditulis dengan rekursif. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 34

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