DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X...
Transcript of DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X...
![Page 1: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/1.jpg)
DESAIN DAN ANALISIS ALGORITMA
![Page 2: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/2.jpg)
Course Policy
• Grading policy– Tugas : 20% (60% final project + 40%
tugas)– Quiz : 20%– Keaktifan : 10%– UTS : 25%– UAS : 25%
2
![Page 3: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/3.jpg)
References
• Thomas H. Cormen, Charles E.Leiserson, Ronald L. Rivest, Introduction To Algorithms, MIT Press/McGraw-Hill, 2001
• AnanyLevitin, Introduction To The Design &Analysis of Algorithms, AddisonWesley, 2003
3
![Page 4: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/4.jpg)
• Kompleksitas algoritma• Model dan analisis• Algoritma Brute Force• Algoritma divide and conquer• Algoritma decrease and conquer• Algoritma greedy• Dynamic programming• Algoritma searching and sorting• Graph• Space and time tradeoff
4
![Page 5: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/5.jpg)
WHY ARE WE HERE?
![Page 6: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/6.jpg)
ALGORITMA
1
![Page 7: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/7.jpg)
ALGORITMA
Algorithm is a recipe
![Page 8: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/8.jpg)
Problem Solving
•Commands
•Iteration
•Decision
•Row-column
elements
Algorithm
Begining
![Page 9: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/9.jpg)
ASPEK PENTINGALGORITMA
2
![Page 10: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/10.jpg)
FINITENESS
![Page 11: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/11.jpg)
int a=6;main(){while(a>5){
cout<<a;a++;
}}
![Page 12: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/12.jpg)
![Page 13: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/13.jpg)
Algoritma harus berhentisetelah melalui beberapa
tahapan (langkah)
Finiteness
![Page 14: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/14.jpg)
DEFINITENESS
![Page 15: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/15.jpg)
How could we define the
“MIRACLE”?
![Page 16: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/16.jpg)
![Page 17: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/17.jpg)
Setiap langkah harusdidefinisikan secara tepat, tidakboleh membingungkan (ambigu)
Definiteness
![Page 18: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/18.jpg)
EFFECTIVENESS
![Page 19: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/19.jpg)
Setiap algoritmaharus
berhasil-guna(sangkil/ efektif)
Effectiveness
![Page 20: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/20.jpg)
Algoritma
• Recipe for getting things done successfully– "Recipe" - well defined sequence of computational
steps– "things" - computational problems specifying an
input/output relation– "done" - in finite steps and time– "successfully" – correctly
20
![Page 21: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/21.jpg)
DESAIN DAN ANALISIS ALGORITMA?
2
![Page 22: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/22.jpg)
Design dan Analysis Algorithm
• Design an algorithm (Correctness)– Prove the algorithm is correct.
• Analyze the algorithm (Efficiency)– Time– Space
22
![Page 23: DESAIN DAN ANALISIS ALGORITMATugas • Buat sebuah algoritma yang akan menerima sebuah bilangan X dari user. Tampilkan pesan “benar” jikaX habis dibagi 2, 3 atau 7 dan tampilkan](https://reader035.fdokumen.com/reader035/viewer/2022081403/608ecfeb6186c14d35279842/html5/thumbnails/23.jpg)
Tugas
• Buat sebuah algoritma yang akan menerimasebuah bilangan X dari user. Tampilkan pesan“benar” jika X habis dibagi 2, 3 atau 7 dantampilkan “salah” jika tidak habis dibagi.
• Terdapat 10 buah apel dalam sebuah keranjang. Buatlah algoritma untuk membagikan apel itu kepada sepuluh orang secara adil dengan menyisakan satu apel di keranjang