• Tidak ada hasil yang ditemukan

Pemrograman Berorientasi Objek ... - UNIKOM Kuliah Online

N/A
N/A
Protected

Academic year: 2023

Membagikan "Pemrograman Berorientasi Objek ... - UNIKOM Kuliah Online"

Copied!
26
0
0

Teks penuh

(1)

MATERI PERKULIAHAN

ANALISIS ALGORITMA

DYNAMIC PROGRAMMING

7

Ken Kinanti Purnamasari

(2)

Strategi Algoritma

1. Strategi Solusi Langsung (Direct Solution)

Brute-Force, Greedy

2. Strategi Berbasis Ruang Status (State-space Base)

Backtracking, Branch & Bound

3. Strategi Solusi Atas-Bawah (Top-Down Solution)

Divide & Conquer

4. Strategi Solusi Bawah-Atas (Down-Top Solution)

Dynamic Programming

(3)

DYNAMIC PROGRAMMING

(4)

An idea, like a ghost … must be spoken to a little, before it will explain itself.

Charles Dickens

(5)

Introduction

Richard

Bellman, 1950

Dynamic Programming

Programming =≠ Planning Computer Programming

(6)

Definisi

Dynamic Programming adalah pemecahan

masalah yang menguraikan solusi menjadi sekumpulan langkah, sehingga solusi

merupakan rangkaian keputusan yang saling berkaitan.

TSP

Shortest Path 0/1 Knapsack

Dynamic Programming

(7)

Greedy VS Dynamic Prog.

- Greedy : 1 rangkaian keputusan

- Dynamic Programming : banyak rangkaian keputusan

Dynamic Programming

(8)

Karakter Masalah

- Terdapat sejumlah berhingga pilihan yang mungkin.

- Solusi di suatu tahap dibangun sebagai hasil solusi tahap sebelumnya.

- Digunakan persyaratan optimasi untuk membatasi jumlah pilihan yang

dipertimbangkan.

Dynamic Programming

(9)

Prinsip Optimalitas

“ Jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal ”

Cost[k + 1] = Cost[k] + Cost[k] ke [k+1]

Dynamic Programming

(10)

Karakter Penyelesaian

- Masalah dibagi jadi beberapa tahap.

- Setiap tahap dapat menghasilkan suatu keputusan.

- Setiap tahap memiliki sejumlah status yang berhubungan dengan tahap tersebut.

- Cost meningkat secara teratur sesuai bertambahnya tahapan.

Dynamic Programming

(11)

Jenis DP

- Maju (forward)

bergerak mulai dari tahap 1 sampai n.

- Mundur (backward)

bergerak mulai dari tahap n sampai 1.

Dynamic Programming

(12)

Langkah Penyelesaian

- Tentukan karakter solusi optimal

- Definisikan secara rekursif nilai solusi optimal

- Hitung nilai solusi optimal dengan cara maju/

mundur

- Konstruksi solusi optimal

Dynamic Programming

(13)

Contoh Kasus

- TSP

- Shortest Path - 1/0 Knapsack

- Binary Search Tree - Algoritma Warshall - Algoritma Floyd

Dynamic Programming

(14)

Shortest Path

CONTOH KASUS 1

Mencari jalur terpendek antara dua buah lokasi tertentu.

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(15)

MUNDUR - Langkah Dinamis 4 :

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

ASAL

SOLUSI OPTIMUM

Bobot 4(ASAL) X4

8

3

10

9

4

10

88 99

10 10

(16)

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(17)

MUNDUR - Langkah Dinamis 3 :

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

ASAL

KEMUNGKINAN TUJUAN SOLUSI OPTIMUM

8 9 Bobot 3(ASAL) X3

5

4

8

6 9

7

7 6 7

8 9

55 66 77

4 7 6 8

8 9

(18)

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(19)

MUNDUR - Langkah Dinamis 2 :

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

ASAL

KEMUNGKINAN TUJUAN SOLUSI OPTIMUM

5 6 7 Bobot (ASAL)2 X2

2 11 11 12

3 7 9 10

4 8 8 11

5 22

33 44

11

7 8

5 66 7

5

5 6

(20)

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(21)

MUNDUR - Langkah Dinamis 1 :

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

ASAL

KEMUNGKINAN TUJUAN SOLUSI OPTIMUM

5 6 7 Bobot(ASAL)1 X1

2 13 11 11

2

11 11

3 4

3 4

(22)

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(23)

CONTOH KASUS 1

Shortest Path Shortest Path

Dynamic Programming

1 3

2

4

5

6

7

8

9

1 0

7

2

4

3

1

3

4

5

3 3

3 6 4

4 1 6

4 3

2

4

(24)

Shortest Path : Bobot

11

1 – 3 – 5 – 8 – 10 1 – 4 – 5 – 8 – 10 1 – 4 – 6 – 9 - 10

CONTOH

KASUS 1

Dynamic Programming

Shortest Path Shortest Path

(25)

Bagaimana dengan

Forward DP ???

(26)

Ada Pertanyaan???

Ada Pertanyaan???

Referensi

Dokumen terkait