Algoritma Greedy
• Activity-Selection
• Penjadwalan Job dengan Tenggat Waktu
• Pemampatan Data dengan Algoritma Huffman
• Minimum Spanning Tree
• Minimisasi Waktu di dalam Sistem
• Penataan Peti Kemas pada Kapal Pengangkut
• Penentuan Jalur Angkot
• Algoritma Greedy Pada Vending Machine
Penjadwalan Job dengan Tenggat Waktu
(Job Schedulling with Deadlines)
Persoalan:
§ Ada n buah job yang akan dikerjakan oleh sebuah
mesin;
§ tiap job diproses oleh mesin selama 1 satuan waktu dan
tenggat waktu (deadline) setiap job i adalah di 0;
§ job i akan memberikan keuntungan sebesar pi jika dan
hanya jika job tersebut diselesaikan tidak melebihi
tenggat waktunya;
§ Bagaimana memilih job-job yang akan dikerjakan oleh
mesin sehingga keuntungan yang diperoleh dari
pengerjaan itu maksimum?
§ https://www.youtube.com/watch?v=Hq4VrKqAb88
• Fungsi obyektif persoalan ini:
Maksimasi F = p i
iJ
indeks 1 2 3 4
Job j1 j4 j3 j2
Deadline 2 1 2 1
Profit 50 30 15 10
indeks 1 2 3 4
Job j1 j4 j3 j2
Deadline 2 1 2 1
Profit 50 30 15 10
i=1
k=min(dmax,deadline(i))
k>=1 ?
Time slot(k) is empty ?
Time slot 1 2
status j4 j1
Pemampatan Data dengan Algoritma Huffman
Karakter a b c d e f
----------------------------------------------------------------
Frekuensi 45% 13% 12% 16% 9% 5%
Kode 000 001 010 011 100 111
Karakter a b c d e f
------------------------------------------------------------------------
Frekuensi 45% 13% 12% 16% 9% 5%
Kode 0 101 100 111 1101 1100
Nisbah pemampatan:
Karakter a b c d e f
-------------------------------------------------------
Frekuensi 45 13 12 16 9 5
Minimum Spanning Trees
[ahw] 47
Minimisasi Waktu di dalam Sistem (Penjadwalan)
• Teorema.
Jika t1 t2 … tn maka pengurutan ij = j, 1 j n
meminimumkan
T=