Perancangan dan Analisis Algoritma - subakti.com · rancangan algoritma yang optimal terhadap suatu...

Preview:

Citation preview

Perancangan dan

Analisis AlgoritmaIF184401

Rully Soelaiman

rully130270@gmail.com

Departemen Informatika

Fakultas Teknologi Informasi dan Komunikasi

Institut Teknologi Sepuluh Nopember

1. Peserta mata kuliah dapat memodelkan persoalan komputasi secara algoritmik.

2. Peserta mata kuliah dapat menerapkan rancangan algoritma yang optimal terhadap suatu model persoalan komputasi tertentu.

3. Peserta mata kuliah mampu menganalisis rancangan algoritma yang meliputi aspek kebenaran dan kompleksitas.

4. Peserta mata kuliah mampu mengimplemen-tasikan rancangan algoritma dengan melibatkan struktur data yang efisien dengan menggunakan bahasa pemrograman berorientasi obyek (C++).

1. Chapter 02. Getting Started

2. Chapter 03. Growth of Functions

3. Chapter 04. Divide-and-Conquer

4. Chapter 15. Dynamic Programming

5. Chapter 16. Greedy Algorithms

6. Chapter 22. Elementary Graph Algorithms

7. Chapter 24. Single-Source Shortest Paths

8. Chapter 25. All-Pairs Shortest Paths

9. Chapter 33. Computational Geometry

Penelitian

Desain dan Analisis Algoritma

Penelitian

Desain dan Analisis Algoritma

Penelitian

Desain dan Analisis Algoritma

Publikasi Ilmiah

Referensi Utama

• Tugas (Analisis dan Coding) 50%

❑ Kelas atau Take Home

• Evaluasi Tengah Semester 20%

• Evaluasi Akhir Semester 20%

• Absensi 10%

• Algorithm

• Outline, the essence of a computational

procedure, step-by-step instructions

• Program – an implementation of an

algorithm in some programming language

• Data structure

• Organization of data needed to solve the

problem

Data Structures and Algorithms

Overall Picture

Data Structure and

Algorithm Design Goals

Implementation

Goals

Correctness

Efficiency

Robustness

Adaptability

Reusability

Sort

Example: Sorting

INPUTsequence of numbers

a1, a2, a3,….,anb1,b2,b3,….,bn

OUTPUTa permutation of the

sequence of numbers

2 5 4 10 7 2 4 5 7 10

Correctness

For any given input the algorithm

halts with the output:

• b1 < b2 < b3 < …. < bn

• b1, b2, b3, …., bn is a

permutation of a1, a2, a3,….,an

Running time

Depends on

• number of elements (n)

• how (partially) sorted

they are

• algorithm

Designing Algorithms

• Several techniques/patterns for designing

algorithms exist

• Incremental approach: builds the solution one

component at a time

• Divide-and-conquer approach: breaks original

problem into several smaller instances of the

same problem

SPOJ Problem Set (classical)

5196. Monotonous numbers

Kombinasi dengan Repetisi

SPOJ Problem Set (classical)

5196. Monotonous numbers• Solusi Kombinatorik

+

+=

−+

=

+−

+−

=8

1

!8

9

9

91

1101

N

Ni

i

N

N

N

N

N

Rasio

SPOJ Problem Set (classical)

5196. Monotonous numbers

Recommended