design and analysis of algorithm - simulation...
TRANSCRIPT
![Page 1: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/1.jpg)
Design and Analysis of AlgorithmWeek 4: Kompleksitas waktu algoritma rekursif part 1
Dr. Putu Harry Gunawan1
1Department of Computational ScienceSchool of ComputingTelkom University
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 48
![Page 2: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/2.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 48
![Page 3: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/3.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 48
![Page 4: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/4.jpg)
Exercise 1
Quiz I
Kuis I dimulai selama 45 menit.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 48
![Page 5: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/5.jpg)
Exercise 1
Buatlah algoritma rekursif untuk menghitung faktorial!Contoh
10! = 10× 9× · · · × 2× 1 (2.1)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 48
![Page 6: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/6.jpg)
Exercise 2
Buatlah algoritma rekursif untuk menentukan nilai baris fibonanci ke-nContoh: Baris fibonanci ke 6
1, 1, 2, 3, 5, 8 (2.2)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 48
![Page 7: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/7.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 48
![Page 8: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/8.jpg)
Pendahuluan
Pada bab ini, akan dibahas mengenai menghitung waktu asismtotik untukalgoritma rekursif. Kita mulai dengan definisi-definisi algoritma rekursif:
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 48
![Page 9: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/9.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 48
![Page 10: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/10.jpg)
Rekursif
Dikatkan bentuk rekursif:
1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.
2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin
3 dengan rekursi, program akan lebih mudah dilihat.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48
![Page 11: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/11.jpg)
Rekursif
Dikatkan bentuk rekursif:
1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.
2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin
3 dengan rekursi, program akan lebih mudah dilihat.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48
![Page 12: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/12.jpg)
Rekursif
Dikatkan bentuk rekursif:
1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.
2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin
3 dengan rekursi, program akan lebih mudah dilihat.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48
![Page 13: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/13.jpg)
Rekursif
Dikatkan bentuk rekursif:
1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.
2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin
3 dengan rekursi, program akan lebih mudah dilihat.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48
![Page 14: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/14.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 48
![Page 15: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/15.jpg)
Rekursif
Tujuan dibuat rekursif:
1 menyederhanakan penulisan program
2 menggantikan bentuk iterasi
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48
![Page 16: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/16.jpg)
Rekursif
Tujuan dibuat rekursif:
1 menyederhanakan penulisan program
2 menggantikan bentuk iterasi
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48
![Page 17: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/17.jpg)
Rekursif
Tujuan dibuat rekursif:
1 menyederhanakan penulisan program
2 menggantikan bentuk iterasi
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48
![Page 18: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/18.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 48
![Page 19: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/19.jpg)
Rekursif
Syarat bentuk rekursif:
1 ada kondisi terminal
2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal
Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48
![Page 20: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/20.jpg)
Rekursif
Syarat bentuk rekursif:
1 ada kondisi terminal
2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal
Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48
![Page 21: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/21.jpg)
Rekursif
Syarat bentuk rekursif:
1 ada kondisi terminal
2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal
Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48
![Page 22: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/22.jpg)
Rekursif
Syarat bentuk rekursif:
1 ada kondisi terminal
2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal
Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48
![Page 23: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/23.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 48
![Page 24: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/24.jpg)
Faktorial
Perhatikan algoritma berikut:
Function Factorial(input n: integer) -> integer
Algoritma
if n=0 then return 1
else
return (n * Factorial(n-1))
endif
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 48
![Page 25: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/25.jpg)
Faktorial
Kompleksitas waktu:
untuk kasus basis, tidak ada operasi perkalian → 0
untuk kasus rekurens, kompleksitas waktu diukur dari jumlahperkalian (1) ditambah kompleksitas wasktu untuk faktorial (n-1).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 48
![Page 26: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/26.jpg)
Faktorial
Sehingga relasi rekursinya dapat dibentuk menjadi:
T (n) =
{0, n = 0,
T (n − 1) + 1, n > 0.(4.1)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 48
![Page 27: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/27.jpg)
Faktorial
Jadi menghitung waktunya adalah
T (n) = 1 + T (n − 1)
= 1 + 1 + T (n − 2) = 2 + T (n − 2)
= 2 + 1 + T (n − 3) = 3 + T (n − 3)
= · · ·= n + T (0)
= n + 0
Jadi T (n) = n→ O(n).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 48
![Page 28: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/28.jpg)
Generally
Secara umum, untuk menganalisis waktu efisiensi dari algoritma rekursif:
1 Putuskan dalam parameter, yang mengindikasikan ukuran inputan.
2 Identifikasi operasi dasar algoritma
3 Cek apakah jumlah operasi dasar akan berbeda jika ukuran masukanberbeda?, kalau iya maka dapat dihitung, waktu terbaik, terburuk,dan rata-rata secara terpisah.
4 Buat relasi rekursi dengan kondisi awal yang sesuai, untuk jumlahoperasi dasar yang dijalankan.
5 Selesaikan relasi rekursi, atau paling tidak tentukan orde kenaikannya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 48
![Page 29: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/29.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 48
![Page 30: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/30.jpg)
Hanoi Tower
Selanjutnya adalah contoh masalah yang dikenal sebagai the Tower ofHanoi puzzle. Dalam permainan ini, pemain diberikan tiga buah batu yangmemiliki ukuran berbeda. Batu-batu tersebut selanjutnya disusunberdasarakan ukuran, yakni ukuran terbesar berada paling bawah.
Tujuan dari permainan ini adalah, memindahkan tumpukan batu di tiang Ake B tanpa mengubah posisi batu besar paling bawah. Disediakan tiang Csebagai perantara.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 48
![Page 31: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/31.jpg)
Hanoi Tower
Selanjutnya adalah contoh masalah yang dikenal sebagai the Tower ofHanoi puzzle. Dalam permainan ini, pemain diberikan tiga buah batu yangmemiliki ukuran berbeda. Batu-batu tersebut selanjutnya disusunberdasarakan ukuran, yakni ukuran terbesar berada paling bawah.Tujuan dari permainan ini adalah, memindahkan tumpukan batu di tiang Ake B tanpa mengubah posisi batu besar paling bawah. Disediakan tiang Csebagai perantara.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 48
![Page 32: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/32.jpg)
Hanoi Tower
Figure : Solusi rekursif untuk masalah Menara Hanoi.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 48
![Page 33: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/33.jpg)
Hanoi Tower
Procedure Hanoi (input n, A, B, C:integer)
Algoritma
If n=1 then
Write (Pindahkan piringan dari,A,ke,B)
Else
Hanoi(n-1,A,C,B)
Writeln(Pindahkan piringan dari,A,ke,B)
Hanoi(n-1,C,B,A)
Endif
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 48
![Page 34: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/34.jpg)
Hanoi Tower
Operasi dasar dari algoritma Hanoi adalah ’Writeln()’, sehingga denganjelas bahwa pergerakan T (n) bergantung pada n yang relasi rekursinyaberupa:
T (n) = T (n − 1) + 1 + T (n − 1) ∀n > 1 (5.1)
Dengan kondisi awal T (1) = 1, maka relasi rekursinya ditulis ulang dalambentuk:
T (n) =
{1, n = 1
2T (n − 1) + 1, n > 1(5.2)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 48
![Page 35: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/35.jpg)
Hanoi Tower
Maka kompleksitas waktunya dapat dihitung sebagai berikut:
T (n) = 2T (n − 1) + 1
= 2(2T (n − 2) + 1) + 1 = 22T (n − 2) + 2 + 1
= 22(2T (n − 3) + 1) + 2 + 1 = 23T (n − 3) + 22 + 2 + 1
= · · ·= 2n−2(2T (n − (n − 1)) + 1) + 2n−3 + · · ·+ 22 + 2 + 1
= 2n−2 · 2T (1) +(2n−2 + 2n−3 + · · ·+ 22 + 2 + 1
)= 2n−1 + 2n−2 + 2n−3 + · · ·+ 22 + 2 + 1
= 2n − 1
Sehingga T (n) = 2n − 1→ O(2n).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 26 / 48
![Page 36: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/36.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 48
![Page 37: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/37.jpg)
Min Max
Perhatikan algoritma mencari data maksimum dan minimum dari suatutabel berikut
procedure MinMaks2(input A : TabelInt, i, j : integer, output min, maks : integer)
{ Mencari nilai maksimum dan minimum di dalam tabel A
yang berukuran n elemen secara Divide and Conquer.
Masukan: tabel A yang sudah terdefinisi elemen- elemennya
Keluaran: nilai maksimum dan nilai minimum tabel
}
Deklarasi
min1, min2, maks1, maks2 : integer
if i=j then {Jika satu elemen}
min <-- A[i]
maks <-- A[i]
else
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 48
![Page 38: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/38.jpg)
Min Max
else
if (i = j-1) then {Jika dua elemen}
if A[i] < A[j] then
maks <-- A[j]
min <-- A[i]
else
maks <-- A[i]
min <-- A[j]
endif
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 48
![Page 39: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/39.jpg)
Min Max
else
k=(i+j) div 2 { bagidua tabel pada posisi k }
MinMaks2(A, i, k, min1, maks1)
MinMaks2(A, k+1, j, min2, maks2)
if min1 < min2 then
min <-- min1
else
min <-- min2
endif
if maks1<maks2 then
maks <-- maks2
else
maks <-- maks2
endif
endif
endif
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 48
![Page 40: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/40.jpg)
Min Max
Dari algoritma tersebut dapat dibuat relasi rekursi sebagai berikut:
T (n) =
0, n = 1
1, n = 2
2T (n/2) + 2, n > 2
(6.1)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 48
![Page 41: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/41.jpg)
Min Max
Sehingga waktu asismtotiknya bisa dicari yaitu:Misal n = 2k , sehingga
T (n) = 2T (n/2) + 2
= 2(2T (n/4) + 2) + 2 = 4T (n/4) + 4 + 2
= 4(2T (n/8) + 2) + 4 + 2 = 8T (n/8) + 8 + 4 + 2
= 23T (2k/23) + 8 + 4 + 2 = 23T (2k−3) + 23 + 22 + 21, n = 2k
= · · ·= 2k−1T (2) + 2k−1 + · · ·+ 22 + 21
= 2k−1 +k−1∑i=1
2i
= 2k−1 + 2k − 2
Selanjutnya bawa ke bentuk n atau k =2 log n,
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 48
![Page 42: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/42.jpg)
Min Max
T (n) = 2k−1 + 2k − 2
= 22 log n−1 + 2
2 log n − 2
=n
2+ n − 2
=3n
2− 2 ∈ O(n)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 48
![Page 43: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/43.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 48
![Page 44: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/44.jpg)
Tambahan
Untuk mengetahui kompleksitas bentuk rekursif, maka T (n) harus diubahdalam bentuk yang bukan rekursif.Bagaimana mengubah bentuk rekursif ke non rekursif ? Ada dua macamcara untuk menyelesaikan masalah ini, yaitu cara coba-coba dan denganpersamaan karakteristik :
1 Cara coba-coba (deret).
2 Metode dengan persamaan karakteristik
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 35 / 48
![Page 45: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/45.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 36 / 48
![Page 46: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/46.jpg)
Metode Coba-Coba
Cara ini dilakukan dengan menentukan pola deret yang terbentuk (caraderet). Contoh untuk cara ini telah ditunjukkan dalam mencarikompleksitas waktu untuk beberapa bentuk rekursif sebelumnya. Cara iniagak sulit dan perlu pengalaman.
Example
Tentukan waktu rekursi berikut:
T (n) =
{a, n = 1, 2
T (n − 1) + T (n − 2) + b, n ≥ 3(7.1)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 37 / 48
![Page 47: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/47.jpg)
Metode Coba-Coba
Solusi dari contoh diatas dengan cara coba coba adalah sebagi berikut:
T (1) = T (2) = a
T (3) = T (2) + T (1) + b = a + a + b = 2a + b
T (4) = T (3) + T (2) + b = (2a + b) + a + b = 3a + 2b
T (5) = T (4) + T (3) + b = (3a + 2b) + (2a + b) + b = 5a + 4b
T (6) = T (5) + T (4) + b = (5a + 4b) + (3a + 2b) + b = 8a + 7b
· · ·
Sangat sulit untuk bisa diformulasikan. Sehingga harus mencari cara lainutntuk menghitung waktu algoritma. Salah satu caranya adalah denganmenggunakan metode karakteristik. Metode ini akan dijelaskan padaperetemuan selanutnya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 38 / 48
![Page 48: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/48.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 39 / 48
![Page 49: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/49.jpg)
References
References1 Anany, L. (2003). Introduction to the design and analysis of
algorithms. Villanova University.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 40 / 48
![Page 50: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/50.jpg)
Outline1 Quiz I
Quiz I2 Review3 Pendahuluan
PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:
4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial
5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower
6 Relasi Rekursi Min MaxRelasi Rekursi Min Max
7 TambahanTambahanCara coba-coba
8 ReferencesReferences
9 ExerciseExercise
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 41 / 48
![Page 51: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/51.jpg)
Exercise 1
Selesaikan relasi rekurensi berikut:
T (n) =
{0, n = 1
T (n − 1) + 5, n ≥ 2(9.1)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 42 / 48
![Page 52: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/52.jpg)
Exercise 2
Selesaikan relasi rekurensi berikut:
T (n) =
{4, n = 1
3T (n − 1), n ≥ 2(9.2)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 43 / 48
![Page 53: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/53.jpg)
Exercise 3
Selesaikan relasi rekurensi berikut:
T (n) =
{0, n = 0
T (n − 1) + n, n > 0(9.3)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 44 / 48
![Page 54: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/54.jpg)
Exercise 4
Selesaikan relasi rekurensi berikut:
T (n) =
{1, n = 1
T (n/2) + n, n > 1(9.4)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 45 / 48
![Page 55: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/55.jpg)
Exercise 5
Selesaikan relasi rekurensi berikut:
T (n) =
{1, n = 1
T (n/3) + 1, n > 1(9.5)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 46 / 48
![Page 56: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/56.jpg)
Exercise 6
Diberikan algoritma untuk menghitung jumlah pangkat 3 dari deret,S(n) = n3 + (n − 1)3 + · · ·+ 23 + 13.
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 47 / 48
![Page 57: Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Selanjutnya adalah contoh masalah yang dikenal sebagai](https://reader031.vdocuments.us/reader031/viewer/2022021801/5b29a53d7f8b9ad5438b4662/html5/thumbnails/57.jpg)
The end of week 4
Thank you for your attention!
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 48 / 48