Top Banner
Strategi Algoritma Pertemuan ke-1: Pengantar Perkuliahan Husni Lab. Sistem Terdistribusi JTIF UTM
36

Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Jan 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Strategi AlgoritmaPertemuan ke-1: Pengantar Perkuliahan

Husni

Lab. Sistem Terdistribusi

JTIF UTM

Page 2: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Dosen Pengampu

• Husni, S.Kom., MT.• Graduated from University of Gadjah Mada (2001) and Bandung Institute of

Technology (2010)

• Research area

• Web Information Retrieval (Text Mining)

• Data Science (Analytics)

• Internetworking Technology: Web Services

• Industry experience

• Internetworking

• Software Development

• IT Blueprint

2

Page 3: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Outline

• Pengantar Strategi Algoritma

• Aturan Perkuliahan

Page 4: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Apakah Strategi Algoritma itu?

• Strategi algoritma (algorithm strategies) adalah:• pendekatan umum

• untuk memecahkan persoalan secara algoritmis

• yang dapat diterapkan pada bermacam-macam persoalan

• dari berbagai bidang komputasi [Levitin, 2003]

• Nama lain: algorithm design technique

Page 5: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Persoalan (Problem)

• Persoalan: pertanyaan atau tugas yang kita cari jawabannya.

• Contoh-contoh persoalan:

1. [Persoalan pengurutan] Diberikan senarai (list) S yang terdiri dari n buah integer. Bagaimana mengurutkan n buah integer tersebutsehingga terurut secara menaik?

Jawaban: barisan nilai di dalam senarai yang terurut menaik.

Page 6: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

2. [Persoalan pencarian] Tentukan apakah suatu bilangan x terdapat di dalam sebuah senarai S yang berisi n buah bilangan bulat!

Jawaban: “ya” jika x ditemukan di dalam senarai, atau “tidak” jika x tidak terdapat di dalam senarai.

Page 7: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Instansiasi persoalan: parameter nilai yang diasosiasikan di dalampersoalan.

• Jawaban terhadap instansiasi persoalan disebut solusi

• Contoh: Selesaikan persoalan pengurutan untuk

S = [15, 4, 8, 11, 2, 10, 19] n = 7

Solusi: S = [2, 4, 8, 10, 11, 15, 19].

Page 8: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Beberapa Contoh Persoalan Klasik

Persoalan: Diberikan n buah kota serta diketahui jarak antara setiap kota satu sama lain. Temukan perjalanan (tour) terpendek yang dimulaidari sebuah kota dan melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan.

1. Travelling Salesperson Problem (TSP)

Page 9: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diberikan n buah objek dan sebuah knapsack (karung, tas, buntilan, dsb) dengan kapasitas bobot K. Setiap objekmemiliki propert bobot (weigth) wi dan keuntungan (profit) pi.

• Bagaimana memilih objek-objek yang dimasukkan ke dalam knapsack sedemikiansehingga tidak melebihi kapasitas knapsack namun memberikan keuntungan maksimal?

2. Integer Knapsack Problem

Page 10: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Misalkan terdapat n orang dan n buah pekerjaan (job).

• Setiap orang akan di-assign dengansebuah pekerjaan.

• Penugasan orang ke-i denganpekerjaan ke-j membutuhkan biayasebesar c(i, j).

• Bagaimana melakukan penugasansehingga total biaya penugasanadalah seminimal mungkin?

3. Persoalan penugasan (assignment problem)

Page 11: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Contoh instansiasi persoalan:

Page 12: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diberikan sebuahpapan catur yang berukuran

• N × N dan N buah bidak ratu.

• Bagaimana menempatkan N buah ratu (Q) itu pada petak-petak papan catur sedemikiansehingga tidak ada dua ratu ataulebih yang terletak pada satubaris yang sama, atau pada satu kolom yang sama, atau pada satu diagonal yang sama ?

4. Persoalan N-Ratu (The N-Queens Problem)

Page 13: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diberikan n buah titik, tentukan dua buah titik yang terdekat satu sama lain.

5. Mencari Pasangan Titik Terdekat (Closest Pair)

Page 14: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diberikan sebuah 15-puzzle yang memuat 15 buah ubin(tile) yang diberi nomor 1 sampai 15, dan satu buah slot kosong yang digunakan untuk menggerakkan ubin ke atas, ke bawah, ke kiri, dan ke kanan. Misalkan diberikan keadaan awal dan keadaaan akhirsusunan ubin. Kita ingin mentransformasikan susunan awal menjadi susunan akhir.

6. Permainan 15-Puzzle

(a) Susunan awal (b) Susunan akhir

Page 15: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Persoalan: Diberikan sebuah labirindengan satu atau lebih pintu masuk dan satu atau lebih pintu keluar. Temukanjalan yang harus dilalui sehinggaseseorang dapat keluar dengan selamatdari labirin tersebut (tidak tersesat di dalamnya).

7. Menemukan jalan keluar dari labirin (Maze Problem)

Page 16: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diberikan sebuah graf G dengan n buah simpul dan disediakan m buah warna. Warnailah seluruh simpul graf G sedemikian sehingga tidak ada dua buah simpul bertetangga yang mempunyai warna sama (Perhatikan juga bahwa tidak seluruh warnaharus dipakai)

8. Pewarnaan Graf (Graph Colouring)

Page 17: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• Persoalan: Diketahui n buah kotadan diberikan jarak antara dua buah kota yang bertetangga. Tentukan lintasan terpendek darisebuah kota asal ke sebuah kotatujuan.

9. Lintasan terpendek (shortest path)

Page 18: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Algoritma

• Untuk persoalan dengan instansiasi yang besar, solusinya menjadilebih sulit ditentukan.

• Perlu sebuah prosedur umum yang berisi langkah-langkahpenyelesaian persoalan algoritma

• Algoritma: urutan langkah-langkah untuk memecahkan suatupersoalan, dengan memproses masukan menjadi keluaran.

Page 19: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Analisis Algoritma

• Tujuan analis: mengukur kinerja (performance) algoritma dari segi kemangkusannya (efficient)

• Alat ukur kemangkusan algoritma:1. Kompleksitas waktu, T(n)

2. Kompleksitas ruang, S(n)

• n = ukuran masukan yang diproses oleh algoritma

Page 20: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

• T(n) : jumlah tahap komputasi yang dilakukan untuk menjalankansebuah algoritma sebagai fungsi dari ukuran masukan n.

• S(n): ruang memori yang dibutuhkan algoritma sebagai fungsi dariukuran masukan n .

• Tiga notasi kebutuhan waktu asimptotik:1. O(g(n)): batas lebih atas kebutuhan waktu algoritma

2. W(g(n)): batas lebih bawah kebutuhan waktu algoritma

3. Q(g(n)) : jika dan hanya jika O(g(n)) = W(g(n))

Page 21: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Strategi Algoritma

1. Algoritma Brute-Force

2. Algoritma Greedy

3. Algoritma Divide and Conquer

4. Algoritma Decrease and Conquer

5. Algoritma Bactracking

6. Algoritma Branch and Bound

7. Dynamic programming

Page 22: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Mengapa Perlu Mempelajari Strategi Algoritma?

• Ada dua alasan (Levitin, 2003):1. Memberikan panduan (guidance) untuk merancang algoritma bagi

persoalan baru.

2. Dapat mengklasifikasikan algoritma berdasarkan gagasan perancangan yang mendasarinya.

Page 23: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Klasifikasi Strategi Algoritma

1. Strategi solusi langsung (direct solution strategies)• Algoritma Brute Force

• Algoritma Greedy

2. Strategi berbasis pencarian pada ruang status (state-space base strategies)• Algoritma Backtracking

• Algoritma Branch and Bound

Page 24: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

3. Strategi solusi atas-bawah (top-down solution strategies)• Algoritma Divide and Conquer

• Algoritma Decrease and Conquer

4. Strategi solusi bawah-atas (bottom-up solution strategies)• Dynamic Programming.

• Catatan: klasifikasi ini tidak kaku, dapat berbeda bergantungpendekatan yang digunakan.

Klasifikasi Strategi Algoritma

Page 25: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Tujuan Umum

• Mahasiswa memahami beberapa strategi yang digunakan dalammemecahkan persoalan secara mangkus sesuai dengan karakteristikpersoalan tersebut

Page 26: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Tujuan Khusus

• Mahasiswa mampu: 1. Memilih strategi yang tepat untuk menyelesaikan suatu persoalan.

2. Membuat program untuk menyelesaikan persoalan dengan strategi yang tepat.

Page 27: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Prasyarat Kuliah

• Algoritma Pemrograman

• Struktur Data

• Matematika Diskrit

Page 28: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

LingkupBahasan

1. Pengantar Strategi Algoritma

2. Algoritma Brute Force

3. Exhaustive Search + Heuristic

4. Algoritma Greedy

5. Algoritma Divide and Conquer

6. Algoritma Decrease and Conquer

7. DFS dan BFS

8. Algoritma Backtracking

9. Branch and Bound

10. Algoritma A* , Best First Search, dan UCS

11. Pattern Matching

12. Dynamic Programming

13. Teori P, NP, dan NP-C

Page 29: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

ReferensiAnany Levitin, Introduction to The Design & Analysis of Algorithms, 3rd Edition, Pearson Education Limited 2012

1. Introduction

2. Fundamentals of the Analysis of Algorithm

Efficiency

3. Brute Force and Exhaustive Search

4. Decrease-and-Conquer

5. Divide-and-Conquer

6. Transform-and-Conquer

7. Space and Time Trade-Offs

8. Dynamic Programming

9. Greedy Technique

10. Iterative Improvement

11. Limitations of Algorithm Power

12. Coping with the Limitations of Algorithm Power

Page 30: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Referensi

1. Introduction to complexity

2. Divide-and-conquer

3. Greedy algorithms

4. Dynamic programming

5. Amortized analysis

6. NP-completeness

7. Exercises on NP-completeness

8. Beyond NP-completeness

9. Exercises going beyond NP-completeness

10. Reasoning to assess a problem complexity

11. Chains-on-chains partitioning

12. Replica placement in tree networks

13. Packet routing

14. Matrix product, or tiling the unit Square

15. Online scheduling

Anne Benoit, Yves Robert, Frederic Vivien, A Guide To Algorithm Design Paradigms, Methods, and Complexity Analysis, CRC Press, 2014

Page 31: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Referensi

1. Preliminaries

2. Greedy Algorithms

3. Divide and Conquer

4. Dynamic Programming

5. Online Algorithms

6. Randomized Algorithms

7. Algorithms in Linear Algebra

8. Computational Foundations

9. Mathematical Foundations

Michael Soltys, An Introduction To The Analysis Of Algorithms, 3rd Edition, World Scientific Publishing, 2018

Page 32: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2018-2019/stima18-19.htm

Referensi

Page 33: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Apa yang Akan Didiskusikan?

Pekan Tanggal Topik

1. 21-08-2019 Pengantar Strategi Algoritma, Aturan Perkuliahan

2. 28-08-2019 Algoritma Brute ForceExhaustive Search + Heuristic

3. 04-09-2019 Algoritma Greedy

4. 11-09-2019 Algoritma Divide and Conquer

5. 18-09-2019 Algoritma Divide and Conquer Algoritma Decrease and Conquer

6. 25-09-2019 Algoritma Decrease and Conquer, DFS dan BFS

7. 02-10-2019 DFS dan BFS, Review Pra-UTS

8. 09-10-2019 Ujian Tengah Semester (UTS)

Page 34: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Apa yang Akan Didiskusikan?

Pekan Tanggal Topik

9. 16-10-2019 Algoritma Backtracking

10. 23-10-2019 Branch and Bound

11. 30-10-2019 Branch and Bound Algoritma A* , Best First Search, dan UCS

12. 06-11-2019 Pattern Matching

13. 13-11-2019 Dynamic Programming

14. 20-11-2019 Teori P, NP, dan NP-C

15. 27-11-2019 Review Pra-UAS

16. 11-12-2019 Ujian Akhir Semester (UAS)

Page 35: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Penilaian

• Ujian Tengah Semester (UTS) : 25%• Materi tertutup, tertulis, soal dari mahasiswa

• Ujian Akhir Semeter (UAS) : 30%• Materi terbuka, tertulis

• Proyek Pemrograman : 45%• Proposal dua halaman (25%)

• Presentasi 30 menit (30%)

• Laporan (makalah) 5 halaman (45%)

Page 36: Strategi Algoritma Pertemuan ke-1: Pengantar …...•Persoalan: Diberikan sebuah papan catur yang berukuran •N × N dan N buah bidak ratu. •Bagaimana menempatkan N buah ratu (Q)

Pertanyaan?

Thank You