PERTEMUAN 13 Penyelesaian Dengan Algoritma Pemrograman Greedy Penyelesaian
- Slides: 30
PERTEMUAN 13 Penyelesaian Dengan Algoritma Pemrograman Greedy
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 : 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 : 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 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 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 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 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 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: • 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, 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 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) (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 (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, 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 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 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 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 • 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 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 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 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 A–E 45
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
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. 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 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. 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 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
- Metode greedy dapat digunakan untuk menyelesaikan masalah:
- Realisasi algoritma dalam bahasa pemrograman disebut dengan
- Contoh bahasa pemrograman konvensional
- Pemrograman konvensional
- Jelaskan definisi pemrograman visual
- Yang termasuk bahasa pemrograman konvensional adalah
- Etiket adalah dan contohnya
- Algoritma greedy
- Algoritma greedy
- Knapsack problem example
- Algoritma greedy
- Urutan penyelesaian masalah
- Algoritma dan pemrograman
- Algoritma pemrograman 2
- Nilai hasil dari 5 equal 5 dalam ekspresi boolean adalah
- Penawaran elastis uniter terjadi jika
- Pertemuan 9
- Pendekatan aksi sosial
- Sel adalah pertemuan antara titik-titik dan titik-titik
- Sell adalah pertemuan antara
- Creat by
- Susunan acara pkh
- Pertemuan multikultural
- Array yang memiliki sangat banyak nilai nol nya disebut
- Filosofi pertemuan
- Pada pertemuan kali ini kita
- Tugas pertemuan 9 metode perancangan program
- Jumlah derajat semua simpul pada suatu graph berjumlah
- Denah ruang pertemuan
- Logo pertemuan
- Pertemuan ini