PERTEMUAN 13 Penyelesaian Dengan Algoritma Pemrograman Greedy Penyelesaian

  • Slides: 30
Download presentation
PERTEMUAN 13 Penyelesaian Dengan Algoritma Pemrograman Greedy

PERTEMUAN 13 Penyelesaian Dengan Algoritma Pemrograman Greedy

Penyelesaian Dengan Algoritma Pemrograman Greedy Algoritma GREEDY KNAPSACK. PROCEDURE GREEDY KNAPSACK ( W, x,

Penyelesaian Dengan Algoritma Pemrograman Greedy Algoritma GREEDY KNAPSACK. PROCEDURE GREEDY KNAPSACK ( W, x, n) float W[n], x[n], M, isi; Int i, n; x(1 : 1) 0 ; isi M ; FOR i 1 TO n { IF W[i] > M ; EXIT ENDIF x[i] 1 isi – W[i] } IF i n ; x[i] isi / W[i] ENDIF END_GREEDY KNAPSACK

Algoritma Pemrograman Greedy (Lanjutan) Efektif jk data (Pi/Wi) disusun scr non decreasing dahulu. Penyelesaiannya

Algoritma Pemrograman Greedy (Lanjutan) Efektif jk data (Pi/Wi) disusun scr non decreasing dahulu. Penyelesaiannya : Dengan Algoritma Prg. Greedy. Diket. bhw kapasitas M = 20 kg, dgn jmlh brg n=3 Berat Wi masing 2 brg = (W 1, W 2, W 3) = (18, 15, 10) Nilai Pi masing 2 brg = (P 1, P 2, P 3) = (25, 24, 15) Lakuk’ p’urutan scr tdk naik thdp hasil Pi/Wi, misalnya : P 1/Wi 25/18 = 1, 39 menjadi urutan ke 3 P 2/W 2 24/15 = 1, 60 menjadi urutan ke 1 P 3/W 3 15/10 = 1. 50 menjadi urutan ke 2 Sehingga m’hasilk’ pola urutan data yg baru, yaitu W 1, W 2, W 3 15, 10, 18 dan P 1, P 2, P 3 24, 15, 25

Algoritma Pemrograman Greedy (Lanjutan) Lalu data 2 tsb diinputk’ pd Alg. Greedy, terjadi proses

Algoritma Pemrograman Greedy (Lanjutan) Lalu data 2 tsb diinputk’ pd Alg. Greedy, terjadi proses : x(1: n) 0 ; isi 20 ; i = 1 W(i) > isi ? 15 > 20 ? kondisi SALAH x(1) = 1 b’arti bhw brg tsb dpt dimuat seluruhnya. Isi = 20 - 15 kapasitas ransel b’kurang dgn sisa 5 kg i =2 W(2) > isi ? ? 10 > 5 ? ? kondisi BENAR x(2)=5/10=1/2 benda 10 kg hanya dpt dimuat 1/2 bgn yaitu 5 kg. i=3 Endif diakhiri krn ransel sdh penuh (max =20 kg) Profit nilai yang didapat adalah : P 1 + P 2 + P 3 yaitu: 24. 1+ 15. 1/2 + 18. 0 = 24 + 7. 5 = 31. 5

PROBLEMA DAN MODEL GRAPH DALAM METODE GREEDY 1. TRAVELLING SALESMAN Untuk menentukan waktu perjalanan

PROBLEMA DAN MODEL GRAPH DALAM METODE GREEDY 1. TRAVELLING SALESMAN Untuk menentukan waktu perjalanan seorang salesman seminimal mungkin. Permasalahan: Setiap minggu sekali, seorang petugas kantor telepon berkeliling untuk mengumpulkan coin-coin pada telepon umum yang dipasang diberbagai tempat. Berangkat dari kantornya, ia mendatangi satu demi satu telepon umum tersebut dan akhirnya kembali ke kantor lagi. Masalahnya ia menginginkan suatu rute perjalanan dengan waktu minimal.

MODEL GRAPH TRAVELLING SALESMAN 8 10 7 1 12 11 11 4 2 9

MODEL GRAPH TRAVELLING SALESMAN 8 10 7 1 12 11 11 4 2 9 5 8 9 10 3 Misalnya : Kantor pusat adalah simpul 1 dan misalnya ada 4 telepon umum, yg kita nyatakan sebagai simpul 2, 3, 4 dan 5 dan bilangan pada tiap-tiap ruas menunjukan waktu ( dalam menit ) perjalanan antara 2 simpul.

Langkah penyelesaian Model Graph TRAVELLING SALESMAN 1. Dimulai dari simpul yg diibaratkan sebagai kantor

Langkah penyelesaian Model Graph TRAVELLING SALESMAN 1. Dimulai dari simpul yg diibaratkan sebagai kantor pusat yaitu simpul 1. 2. Dari simpul 1 pilih ruas yg memiliki waktu yg minimal. 3. Lakukan terus pada simpul – simpul yg lainnya tepat satu kali yg nantinya Graph akan membentuk Graph tertutup karena perjalanan akan kembali ke kantor pusat. 4. Problema diatas menghasilkan waktu minimalnya adalah 45 menit dan diperoleh perjalanan sbb :

Langkah penyelesaian Model Graph TRAVELLING SALESMAN (Lanjutan) Problema diatas menghasilkan waktu minimalnya adalah 45

Langkah penyelesaian Model Graph TRAVELLING SALESMAN (Lanjutan) Problema diatas menghasilkan waktu minimalnya adalah 45 menit dan diperoleh perjalanan sbb : 7 1 2 12 8 5 10 4 3 8

2. MINIMUM SPANNING TREE Kasus MST Problem = m’cari min. biaya (cost) spanning tree

2. MINIMUM SPANNING TREE Kasus MST Problem = m’cari min. biaya (cost) spanning tree dr setiap ruas (edge) graph yg m’btk pohon (tree). Solusi dr p’masalah’ ini : a. Dgn memilih ruas suatu graph yg memenuhi kriteria dr optimisasi yg m’hasilk’ biaya min. b. Penambah’ dr setiap ruas pd seluruh ruas yg m’btk graph akan m’hasilk’ nilai/biaya yg kecil (minimum cost). Kriteria 2 dr spanning tree, yakni : 1. Setiap ruas pada graph harus terhubung (conected) 2. Setiap ruas pd graph hrs mpy nilai (label graph) 3. Setiap ruas pd graph tdk mpy arah (graph tdk berarah)

MINIMUM SPANNING TREE (Lanjutan) Proses Total minimum cost terbentuknya graph dgn tahapan sbb: •

MINIMUM SPANNING TREE (Lanjutan) Proses Total minimum cost terbentuknya graph dgn tahapan sbb: • Dari graph yg terbentuk, apakah memenuhi kriteria MST. • Lakukan secara urut dr simpul ruas awal s/d ruas akhir • Pada setiap simpul ruas perhatikan nilai/cost dr tiap-tiap ruas • Ambil nilai yg paling kecil (jarak tertpendek setiap ruas). • Lanjutkan s/d semua simpul ruas tergambar pd spanning tree • Jumlahkan nilai/cost yg dipilih tadi.

Permasalahan MINIMUM SPANNING TREE Tentukanlah nilai Minimum Spanning Tree dari Graph Z dibawah ini,

Permasalahan MINIMUM SPANNING TREE Tentukanlah nilai Minimum Spanning Tree dari Graph Z dibawah ini, dengan menentukan ruas (edge) yang membentuknya. 10 1 2 45 30 50 40 4 3 35 25 20 5 55 6 15

Penyelesaian MINIMUM SPANNING TREE • Perhatikan Kriteria dari MST, yaitu: 1. Graph Z sudah

Penyelesaian MINIMUM SPANNING TREE • Perhatikan Kriteria dari MST, yaitu: 1. Graph Z sudah merupakan graph terhubung 2. Graph Z merupakan graph yang tidak berarah 3. Masing-masing ruasnya mempunyai label • Menghitung MST dari tiap-tiap ruas yang membentuk graph tersebut dengan cara: a. Dilakukan secara urut dari ruas/edge pertama sampai dengan edge terakhir. b. Setiap ruas/edge harus digambarkan pada spanning tree yang terbentuk.

Tahapan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) (1, 2)

Tahapan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) (1, 2) (2, 6) Cost (Biaya) 10 Spanning Tree 1 2 (25) 6

Tabel Lanjutan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) Cost

Tabel Lanjutan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) Cost (Biaya) (3, 6) 15 Spanning Tree 1 2 3 6 (4, 6) 20 1 2 4 6 3

Tabel Lanjutan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) (3,

Tabel Lanjutan Proses Penyelesaian dari edge (ruas), Cost(biaya) dan spanning tree Edge (Ruas) (3, 5) Cost (Biaya) 35 Spanning Tree 1 2 4 5 6 Total Cost 105 3

3. SHORTEST PATH PROBLEM Permasalahan : Menghitung jalur terpendek dr sbh graph berarah. Kriteria

3. SHORTEST PATH PROBLEM Permasalahan : Menghitung jalur terpendek dr sbh graph berarah. Kriteria utk permasalahan jalur terpendek/SP problem tsb : 1. Setiap ruas pd graph hrs mpy nilai (label graph) 2. Setiap ruas pd graph tdk hrs terhubung (unconnected) 3. Setiap ruas pd graph tsb hrs mempunyai arah (graph berarah). 45 A 10 50 20 B 20 15 E 10 35 30 C 15 F D 3

Proses SHORTEST PATH PROBLEM 45 A 10 50 20 B 20 15 E 10

Proses SHORTEST PATH PROBLEM 45 A 10 50 20 B 20 15 E 10 35 30 C 15 F D 3 1. Hitung jarak satu per satu sesuai dengan arah yang ditunjukkan oleh tiap-tiap ruas. 2. Perhitungan dilakukan terhadap ruas graph yang memiliki jalur awal dan akhir.

Penyelesaian SHORTEST PATH PROBLEM • Pertama: Melihat proses simpul yang mempunyai awal dan akhir

Penyelesaian SHORTEST PATH PROBLEM • Pertama: Melihat proses simpul yang mempunyai awal dan akhir tujuan dari graph, yaitu: A – B, A – C, A – D, A – E • Kedua: Mencari jalur terpendek dari tiap-tiap proses keempat jalur tersebut dengan menghitung panjang tiap-tiap jalur.

Langkah 1 Penyelesaian SHORTEST PATH PROBLEM Jalur A - B • A–B • A–C–D–B

Langkah 1 Penyelesaian SHORTEST PATH PROBLEM Jalur A - B • A–B • A–C–D–B • A–E–D–B = 50 = 10 + 15 + 20 = 45 + 30 + 20 = 95 Jalur terpendek untuk simpul A tujuan B adalah: A – C – D – B = 45

Langkah 2 Penyelesaian SHORTEST PATH PROBLEM Jalur A - C • • A–C A–B–E–D–B–C

Langkah 2 Penyelesaian SHORTEST PATH PROBLEM Jalur A - C • • A–C A–B–E–D–B–C A–E–D–B–C = 10 = 50 + 15 = 65 = 50 + 10 + 30 + 20 + 15 = 125 = 45 +30 +20 + 15 = 110 Jalur terpendek untuk simpul A tujuan C adalah: A – C = 10

Langkah 3 Penyelesaian SHORTEST PATH PROBLEM Jalur A - D • • A–C–D A–B–E–D

Langkah 3 Penyelesaian SHORTEST PATH PROBLEM Jalur A - D • • A–C–D A–B–E–D A–B–C–D A–E–D = 10 + 15 = 25 = 50 + 10 + 30 = 90 = 50 + 15 = 80 = 45 + 30 = 75 Jalur terpendek untuk simpul A tujuan D adalah: A – C – D = 25

Langkah 4 Penyelesaian SHORTEST PATH PROBLEM Jalur A - E • • A–E A–B–E

Langkah 4 Penyelesaian SHORTEST PATH PROBLEM Jalur A - E • • A–E A–B–E A–C–D–E = 45 = 50 + 10 = 60 = 10 + 15 + 30 + 10 = 65 = 10 + 15 + 35 = 60 Jalur terpendek untuk simpul A tujuan E adalah A – E = 45

Tabel Jalur SHORTEST PATH PROBLEM Jalur Panjang jarak A–C 10 A–C–D 25 A–C–D–B 45

Tabel Jalur SHORTEST PATH PROBLEM Jalur Panjang jarak A–C 10 A–C–D 25 A–C–D–B 45 A–E 45

Latihan • Buatlah Shortest Path Problem untuk graph dibawah ini. 25 A B 55

Latihan • Buatlah Shortest Path Problem untuk graph dibawah ini. 25 A B 55 15 D 20 C 5 10 E 45 35

PERTEMUAN 13 LATIHAN SOAL

PERTEMUAN 13 LATIHAN SOAL

Latihan Soal 1. Menghitung jarak satu persatu sesuai dengan arah dari graph yang ditunjuk

Latihan Soal 1. Menghitung jarak satu persatu sesuai dengan arah dari graph yang ditunjuk oleh tiap-tiap ruas/edge dan dilakukan terhadap ruas dari graph yang memiliki jalur awal dan jalur akhir adalah proses untuk mendapatkan solusi optimal dari permasalahan : a. Knapsack d. Minimum Spanning Tree b. Shortest Path Problem e. Salah Semua c. Knapsack Problem 2. Short Path Problem digunakan untuk mencari jalur …… a. Terpanjang d. Terdepan b. Terpendek e. Salah Semua c. Terlama

Latihan Soal 2. Short Path Problem digunakan untuk mencari jalur ……… a. Terpanjang d.

Latihan Soal 2. Short Path Problem digunakan untuk mencari jalur ……… a. Terpanjang d. Terdepan b. Terpendek e. Salah Semua c. Terlama 3. Penyelesaian kasus knapsack problem, yang paling optimal, efektif dan efisien adalah dengan Cara : a. Matematika b. Algoritma Greedy c. Kriteria Greedy d. Pemrograman Greedy e. Salah Semua

Latihan soal 3. Penyelesaian kasus knapsack problem, yang paling optimal, efektif dan efisien adalah

Latihan soal 3. Penyelesaian kasus knapsack problem, yang paling optimal, efektif dan efisien adalah dengan Cara : a. Matematika d. Pemrograman Greedy b. Algoritma Greedy e. Salah Semua c. Kriteria Greedy 4. Graph yang nantinya dihasilkan dalam masalah TRAVELLING SALESMAN adalah : a. Graph terbuka d. Graph tertutup b. Graph sederhana e. Salah Semua c. Graph semi tertutup

Latihan soal 4. Graph yang nantinya dihasilkan dalam masalah TRAVELLING SALESMAN adalah : a.

Latihan soal 4. Graph yang nantinya dihasilkan dalam masalah TRAVELLING SALESMAN adalah : a. Graph terbuka d. Graph tertutup b. Graph sederhana e. Salah Semua c. Graph semi tertutup 5. Fungsi utama / tujuan dari masalah Knapsack adalah : a. Maksimum Pi. Xi b. Maksimum Pi. Wi c. Minimum Pi. Xi d. Minimum Pi. Wi e. Salah Semua

Latihan soal 5. Fungsi utama / tujuan dari masalah Knapsack adalah : a. Maksimum

Latihan soal 5. Fungsi utama / tujuan dari masalah Knapsack adalah : a. Maksimum Pi. Xi d. Minimum Pi. Wi b. Maksimum Pi. Wi e. Salah Semua c. Minimum Pi. Xi 1. Menghitung jarak satu persatu sesuai dengan arah dari graph yang ditunjuk oleh tiap-tiap ruas/edge dan dilakukan terhadap ruas dari graph yang memiliki jalur awal dan jalur akhir adalah proses untuk mendapatkan solusi optimal dari permasalahan : a. Knapsack d. Minimum Spanning Tree b. Shortest Path Problem e. Salah Semua c. Knapsack Problem