Anda di halaman 1dari 44

GREDDY ALGORITMA

Nama: Cut Yenni Lestari


NIM : 1557301062
Kelas : IT 3.4
GREDDY ALGORITMA
 Definisi Algoritma Greedy

Algoritma greedy merupakan metode yang paling populer untuk


memecahkan persoalan optimasi.

Kata Greedy sendiri diambil dari bahasa inggris yang artinya


rakus, tamak atau serakah

 Prinsip algoritma greedy adalah: “take what you can get now!”.
GREDDY ALGORITMA
 Definisi Algoritma Greedy
Algoritma greedy merupakan jenis algoritma yang
menggunakan pendekatan penyelesaian masalah dengan
mencari nilai maksimum sementara pada setiap langkahnya.
Nilai maksimum sementara ini dikenal dengan istilah local
maximum. Pada kebanyakan kasus, algoritma greedy tidak akan
menghasilkan solusi paling optimal, begitupun algoritma
greedy biasanya memberikan solusi yang mendekati nilai
optimum dalam waktu yang cukup cepat.
GREDDY ALGORITMA
 Persoalan optimasi (optimization problems) adalah
persoalan mencari solusi optimum.

 Hanya ada dua macam persoalan optimasi:


1. Maksimasi (maximization)
2. Minimasi (minimization)

 Solusi optimum (terbaik) adalah solusi yang bernilai


minimum atau maksimum dari sekumpulan alternatif
solusi yang mungkin.
GREDDY ALGORITMA
 Elemen persoalan optimasi:

1. kendala (constraints)

2. fungsi objektif(atau fungsi optiamsi)

 Solusi yang memenuhi semua kendala disebut solusi


layak (feasible solution).

 Solusi layak yang mengoptimumkan fungsi optimasi


disebut solusi optimum.
GREDDY ALGORITMA
 Contoh masalah sehari-hari yang menggunakan
prinsip greedy:
1. Memilih beberapa jenis investasi (penanaman
modal)
2. Mencari jalur tersingkat dari Bandung ke
Surabaya
3. Memilih jurusan di Perguruan Tinggi
4. Bermain kartu remi

 Algoritma greedy membentuk solusi langkah per


langkah (step by step).
GREDDY ALGORITMA
 Algoritma greedy adalah algoritma yang memecahkan
masalah langkah per langkah, pada setiap langkah:
1. mengambil pilihan yang terbaik yang dapat
diperoleh pada saat itu tanpa memperhatikan
konsekuensi ke depan (prinsip “take what you can
get now!”)
2. berharap bahwa dengan memilih optimum lokal
pada setiap langkah akan berakhir dengan
optimum global.

 Pada setiap langkah diperoleh optimum lokal.Bila


algoritma berakhir, kita berharap optimum lokal
menjadi optimum global.
GREDDY ALGORITMA
 Contoh : ( Masalah Penukaran Uang):
Diberikan uang senilai A. Tukar A dengan koin-koin
uang yang ada. Berapa jumlah minimum koin yang
diperlukan untuk penukaran tersebut?
Contoh: tersedia koin-koin 1, 5, 10, dan 25
Uang senilai 32 dapat ditukar dengan cara berikut:
32 = 1 + 1 + … + 1 (32 koin)
32 = 5 + 5 + 5 + 5 + 10 + 1 + 1 (7 koin)
32 = 10 + 10 + 10 + 1 + 1 (5 koin)
… dan seterusnya
 Minimum: 32 = 25 + 5 + 1 + 1 ) hanya 4 koin
GREDDY ALGORITMA
 Strategi greedy yang digunakan adalah:
1. Pada setiap langkah, pilihlah koin dengan nilai
sebesar mungkin dari himpunan koin yang tersisa
dengan syarat (kendala) tidak melebihi nilai uang
yang ditukarkan.

2. Tinjau masalah menukarkan uang 32 dengan koin


1, 5, 10, dan 25:
GREDDY ALGORITMA
Langkah langkah penyelesaian masalah

 Langkah 1: pilih 1 buah koin 25 (Total = 25)

 Langkah 2: pilih 1 buah koin 5 (Total = 25 + 5 = 30)

 Langkah 3: pilih 2 buah koin 1 (Total = 25+5+1+1= 32)

 Solusi: Jumlah koin minimum = 4 (solusi optimal!)

 Pada setiap langkah di atas kita memperoleh optimum


lokal, dan pada akhir algoritma kita memperoleh
optimum global (yang pada contoh ini merupakan solusi
optimum).
GREDDY ALGORITMA
 Algoritma Huffman
Algoritma merupakan algoritma yang dikembangkan
oleh David A. Huffman yang digunakan untuk
menemukan prefix code yang optimal dan
dipublikasikan dalam sebuah paper “A Method for the
Construction of Minimum-Redundancy Codes” pada
tahun 1952. yang optimal.
GREDDY ALGORITMA
 Algoritma Huffman
Algoritma Huffman menggunakan prinsip pengkodean
yang mirip dengan kode Morse, yaitu tiap karakter
(simbol) dikodekan hanya dengan rangkaian beberapa
bit, dimana karakter yang sering muncul dikodekan
dengan rangkaian bit yang pendek dan karakter yang
jarang muncul dikodekan dengan rangkaian bit yang
lebih panjang.
GREDDY ALGORITMA
 Algoritma Huffman
Berdasarkan tipe peta kode yang digunakan untuk
mengubah pesan awal (isi data yang dimasukkan)
menjadi sekumpulan code-word, algoritma Huffman
termasuk ke dalam kelas algoritma yang menggunakan
metode statik, yaitu metode yang selalu menggunakan
peta kode yang sama. Metode ini membutuhkan dua
fase (two-phase), yaitu fase pertama untuk menghitung
probabilitas kemunculan tiap simbol dan menentukan
peta kodenya, dan fase kedua untuk mengubah pesan
menjadi kumpulan kode yang akan ditransmisikan.
GREDDY ALGORITMA
 Algoritma Huffman
Sedangkan berdasarkan teknik pengkodean simbol
yang digunakan, algoritma Huffman menggunakan
metode symbol-wise, yaitu metode yang menghitung
kemunculan dari setiap simbol dalam satu waktu,
dimana simbol yang sering muncul diberi kode lebih
pendek dibandingkan dengan simbol yang jarang
muncul.
GREDDY ALGORITMA
Pembentukan Pohon Huffman
 Kode Huffman pada dasarnya merupakan kode prefiks
(prefix code), yaitu himpunan yang berisi sekumpulan kode
biner, dimana pada kode prefiks ini tidak ada kode biner
yang menjadi awalan bagi kode biner yang lain. Kode prefiks
biasanya direpresentasikan sebagai pohon biner yang
diberikan nilai atau label.

 Untuk cabang kiri pada pohon biner diberi label 0,


sedangkan pada cabang kanan pada pohon biner diberi label
1. Rangkaian bit yang terbentuk pada setiap lintasan dari
akar ke daun merupakan kode prefiks untuk karakter yang
berpadanan. Pohon biner ini biasa disebut pohon Huffman.
GREDDY ALGORITMA
Langkah-langkah pembentukan pohon Huffman:
 Baca semua karakter di dalam teks untuk menghitung
frekuensi kemunculan setiap karakter. Setiap karakter
penyusun teks dinyatakan sebagai pohon bersimpul tunggal.
Setiap simpul di-assign dengan frekuensi kemunculan
karakter tersebut.
 Terapkan strategi algoritma sebagai berikut, gabungkan dua
buah pohon yang mempunyai frekuensi terkecil pada sebuah
akar. Setelah digabungkan, akar tersebut akan mempunyai
frekuensi yang merupakan jumlah dua buah pohon-pohon
penyusunnya.
 Ulangi langkah 2 sampai hanya tersisa satu buah pohon
Huffman. Agar pemilihan dua pohon yang akan
digabungkan berlangsung cepat, maka semua pohon yang
ada selalu terurut menaik berdasarkan frekuensi.
GREDDY ALGORITMA
Contoh Judul Artikel yang menggunakan Algoritma
Huffman:
 Irfan Hanif, Kompresi Teks Menggunakan Algoritma dan
Pohon Huffman, Jurnal Ilmiah Program Studi Teknik
Informatika,Intitut Teknologi Bandung
 Fandi Susanto, Aplikasi Penggambar Pohon Biner Huffman
Untuk Data Teks, Jurnal Imiah STMIK MDP Palembang Vol.5,
No 1, Maret 2009 hal 7-9
 Syura Fauzan,Muhammad Saepulloh,Nanang Ismail,Eki Ahmad
Zaki Hamidi, Entrophy Naskah Bahasa Sunda dan Bahasa
Jawa Untuk Kompresi Teks Menggunakan Algoritma
Binary Huffman Code, Jurnal Imiah Teknik Elektro UIN Sunan
Gunung Djati Bandung
GREDDY ALGORITMA
 Algoritma Dijkstra:
Algortima ini ditemukan oleh Edsger W. Dikstra dan di
publikasi pada tahun 1959 pada sebuah jurnal
Numerische Mathematik yang berjudul “A Note on Two
Problems in Connexion with Graphs“[1].Algoritma ini
sering digambarkan sebagai algoritma greedy (tamak).

Sebagai contoh, ada pada buku Algorithmics(Brassard


and Bratley [1988, pp. 87-92])
GREDDY ALGORITMA
Algoritma Dijkstra:
 Djikstra merupakan salah satu varian bentuk algoritma
popular dalam pemecahan persoalan terkait masalah
optimasi pencarian lintasan terpendek sebuah lintasan
yang mempunyai panjang minimum dari verteks a ke z
dalam graph berbobot, bobot tersebut adalah bilangan positif
jadi tidak dapat dilalui oleh node negatif.

 Namun jika terjadi demikian, maka penyelesaian yang


diberikan adalah infiniti (Tak Hingga). Pada algoritma
Dijkstra,node digunakan karena algoritma Dijkstra
menggunakan graph berarah untuk penentuan rute listasan
terpendek
GREDDY ALGORITMA
Contoh Judul Artikel yang menggunakan Algoritma
Dijkstra:
 Shaga Bogas Priatmoko, Algoritma Dijkstra Untuk Pencarian
Jalur Terdekat dan Rekomendasi Objek Pariwisata Di
Pulau Bali, Jurnal Ilmiah Program Studi Teknik
Informatika,Universitas Dian Nuswantoro
 Ferdiansyah,Ahmat Rizal, Penerapan Algoritma Djikstra
Untuk Menentukan Rute Terpendek Pembacaan Water
Meter Induk PDAM Tirta Kerta Raharja Kabupaten
Tanggerang, Jurnal TICOM Vol.2 No.1 September 2013 hal:51-57
 Rendio Halda, Ahmad Yani Ranius,S.Kom,M,m , Hadi
Syaputra,M.Kom, Implementasi Algoritma Dijkstra Untuk
Menentukan Jalur Terpendek Rumah Sakit Di Kota
Palembang, Jurnal Ilmiah Bina Darma Palembang
GREDDY ALGORITMA
Algoritma Spanning Tree:

GREDDY ALGORITMA
Algoritma Kruskal:
 Idenya adalah mendapatkan satu demi satu sisi mulai dari
yang berbobot terkecil untuk membentuk tree, suatu sisi
walaupun berbobot kecil tidak akan diambil jika membentuk
siklik dengan sisi yang sudah termasuk dalam tree. Yang
menjadi masalah dalam implementasinya adalah keperluan
adanya pemeriksaan kondisi siklik tersebut.

 Salah satu pemecahaannya adalah dengan subsetting yaitu


pembentukan subset-subset yang disjoint dan secara
bertahap dilakukan penggabungan atas tiap dua subset
yang berhubungan dengan suatu sisi dengan bobot
terpendek.

GREDDY ALGORITMA
Algoritma Kruskal:
 Tahap pertama, jika dalam V terdapat n verteks maka
diinisialisasi n buah subset yang disjoint, masing-masing
berisi satu verteks, sebagai subset-subset awal.
 Tahap berikutnya, urutkan sisi-sisi dengan bobot yang
terkecil hingga terbesar.
 Mulai dari sisi dengan bobot terkecil hingga terbesar
lakukan dalam iterasi: jika sisi tsb. menghubungkan dua
vertex dalam satu subset (berarti membentuk siklik) maka
skip sisi tersebut dan periksa sisi berikutnya jika tidak
(berarti membentuk siklik) maka kedua subset dari verteks-
verteks yang bersangkutan digabungkan menjadi satu
subset yang lebih besar. Iterasi akan berlangsung hingga
semua sisi terproses.

GREDDY ALGORITMA
Contoh Judul Artikel yang menggunakan Algoritma
Kruskal:
 Umi Latifah,Endang Sugiharti , Penerapan Algoritma
Prim dan Kruskal Pada Jaringan Distribusi Air PDAM
Tirtal Moedal Cabang Semarang Utara, UNNES Jurnal
of Mathematics Vol.4 No.1 2015 hal:48-57
 Debby Kurnia Dwiyanto, Sri Nurhayati, M.T,
Implementasi Algoritma Kruskal Untuk Distribusi
Listrik (Studi Kasus PT.PNL Cabang UPJ.Jatibarang),
Jurnal Imiah Teknik Komputer Unikom,Bandung
GREDDY ALGORITMA
Algoritma Prim:
 Algoritma Prim adalah sebuah algoritma dalam teori
graf untuk mencari pohon rentang minimum untuk
sebuah graf berbobot yang saling terhubung. Ini berarti
bahwa sebuah himpunan bagian dari edge yang
membentuk suatu pohon yang mengandung node, di
mana bobot keseluruhan dari semua edge dalam pohon
diminimalisasikan.
 Bila graf tersebut tidak terhubung, maka graf itu
hanya memiliki satu pohon rentang minimum untuk
satu dari komponen yang terhubung.
GREDDY ALGORITMA
Langkah Langkah untuk mencari bobot minimum
menggunakan Algoritma Prim:

1. Ambil sisi dari graph (G) yang berbobot minimum,


masukkan dalam Tree ( T ).

2. Pilih sisi yang mempunyai bobot minimum dan


bersisian dengan simpul di T ,tetapi sisi tersebut
tidak membentuk sirkuit di T, kemudian
tambahkan sisi tersebut ke dalam T.

3. Ulangi langkah 2 sebanyak (N -2 ) kali.


GREDDY ALGORITMA
Contoh Judul Artikel yang menggunakan Algoritma
Prim:
 Umi Latifah,Endang Sugiharti , Penerapan Algoritma
Prim dan Kruskal Pada Jaringan Distribusi Air PDAM
Tirtal Moedal Cabang Semarang Utara, UNNES Jurnal
of Mathematics Vol.4 No.1 2015 hal:48-57
 Debby Kurnia Dwiyanto, Sri Nurhayati, M.T,
Implementasi Algoritma Kruskal Untuk Distribusi
Listrik (Studi Kasus PT.PNL Cabang UPJ.Jatibarang),
Jurnal Imiah Teknik Komputer Unikom,Bandung
 Deny Wiria Nugraha, Implementasi Algoritma Prim
Pada Jaringan Distribusi Listrik Primer Dengan
Menggunakan Program Berbasis GIS, Mektek Tahun
XIII NO.2, Mei 2011
GREDDY ALGORITMA
Algoritma Job Schedulling:
 Algoritma penjadwalan berfungsi untuk menentukan
proses manakah yang ada di ready queue yang akan
dieksekusi oleh CPU.

 Algoritma Penjadwalan ini terbagi dalam:


1. FCFS (First Come First Served)
2. SJF (Shortest Job First)
3. Priority Scheduling
4. Round Robin
5. Multilevel Queue
6. Multilevel Feedback Queue
GREDDY ALGORITMA
Algoritma Round Robin:
 Algoritma ini menggilir proses yang ada di antrian.
Proses akan mendapat jatah sebesar time quantum.
Jika time quantum-nya habis atau proses sudah selesai,
CPU akan dialokasikan ke proses berikutnya.
Jadi,,semua proses mendapat jatah waktu yang sama
dari CPU yaitu (1/n), dan tak akan menunggu lebih
lama dari (n-1)q dengan q adalah lama 1 quantum.
GREDDY ALGORITMA
Algoritma Priority Scheduling:
 Priority Scheduling merupakan algoritma penjadwalan
yang mendahulukan proses yang memiliki prioritas
tertinggi. Setiap proses memiliki prioritasnya masing-
masing.
 Priority scheduling juga dapat dijalankan
secara preemptive maupun non-preemptive.
 Kelemahan pada priority scheduling adalah dapat
terjadinya indefinite blocking( starvation).
 Suatu proses dengan prioritas yang rendah,memiliki
kemungkinan untuk tidak dieksekusi jika terdapat
proses lain yang memiliki prioritas lebih tinggi darinya.
GREDDY ALGORITMA
Algoritma Multilevel Queue:
 Ide dasar dari algoritma ini berdasarkan pada sistem
prioritas proses. Prinsipnya, jika setiap proses dapat
dikelompokkan berdasarkan prioritasnya
 Algoritma ini pun memiliki kelemahan, yaitu sangat
mungkin bahwa suatu proses pada queue dengan prioritas
rendah bisa saja tidak mendapat jatah CPU. Untuk
mengatasi hal tersebut, salah satu caranya adalah dengan
memodifikasi algoritma ini dengan adanya jatah waktu
maksimal untuk tiap antrian, sehingga jika suatu antrian
memakan terlalu banyak waktu, maka prosesnya akan
dihentikan, dan digantikan oleh antrian dibawahnya, dan
tentu saja batas waktu untuk tiap antrian bisa saja sangat
berbeda tergantung pada prioritas masing-masing antrian.
GREDDY ALGORITMA
Algoritma Multilevel Feedback Queue:
 Algoritma ini mirip sekali dengan algoritma multilevel
queue. Perbedaannya ialah algoritma ini mengizinkan proses
untuk pindah antrian. Jika suatu proses menyita CPU
terlalu lama, maka proses itu akan dipindahkan ke antrian
yang lebih rendah. Hal ini menguntungkan proses interaksi
karena proses ini hanya memakai waktu CPU yang sedikit.
Demikian pula dengan proses yang menunggu terlalu lama.
Proses ini akan dinaikkan tingkatannya.
 Biasanya prioritas tertinggi diberikan kepada proses
dengan CPU burst terkecil, dengan begitu CPU akan
terutilisasi penuh dan M/K dapat terus sibuk. Semakin
rendah tingkatannya, panjang CPU burst proses juga
semakin besar.
GREDDY ALGORITMA
Algoritma First Come Firs Served:
 Algoritma ini merupakan algoritma penjadwalan yang
paling sederhana yang digunakan CPU. Dengan
menggunakan algoritma ini setiap proses yang berada
pada status ready dimasukkan kedalam FIFO
queue atau antrian dengan prinsip first in first out,
sesuai dengan waktu kedatangannya. Proses yang tiba
terlebih dahulu yang akan dieksekusi.
GREDDY ALGORITMA
Algoritma Knapsack Problem:
 Knapsack adalah tas atau karung yang digunakan
untkmemasukkan sesuatu.Tapi tidak semua barang
bisa ditampung ke dalam karung tersebut.Karung
tersebut hanya dapat menyimpan beberapa objek
dengan total ukurannya (weight) lebih kecil atau sama
dengan ukuran kapasitas karung.
 Benda-benda yang akan dimasukkan ini masing-
masing memiliki berat dan sebuah nilai yang
digunakan untuk menentukan prioritasnya dalam
pemilihan tersebut.
GREDDY ALGORITMA
Algoritma Knapsack Problem:
 Nilainya dapat berupa tingkat kepentingan, harga
barang,nilai sejarah,atau yang lainnya.Wadah yang
dimaksud disini juga memiliki nilai konstata yang
merupakan nilai pembatas untuk benda-benda yang
akan dimasukkan ke dalam wadah tersebut sehingga
harus diambil sebuah cara memasukkan benda0benda
tersebut ke dalam wadah sehingga menghasilkan hasil
optimum tetapi tidak melebihi kemampuan wadah
untuk menampungnya.
GREDDY ALGORITMA
Masalah Jalur Terpendek (Shortes Path Problem):
 Masalah lintasan terpendek adalah bagaimana kita
mencari sebuah jalur pada graph yang meminimumkan
jumlah bobot sisi pembentuk jalur tersebut.
 Terdapat bermacam persoalan lintasan terpendek antara
lain:
1. Lintasan terpendek antara dua buah simpul tertentu (a pair
shortest path).
2. Lintasan terpendek antara semua pasangan simpul (all pairs
shortest path)
3. Lintasan terpendek dari simpul tertentu ke semua simpul
yang lain (single-source shortest path)
4. Lintasan terpendek antara dua buah simpul yang melalui
beberapa simpul tertentu (Intermediate Shortest Path).
GREDDY ALGORITMA
Jenis Jenis Algoritma Knapsack Problem:
Terdapat beberapa variasi Knapsack problem:
 0/1 Knapsack problem
Setiap barang hanya tersedia 1 unit, take it or leave it.
 Fractional Knapsack Problem

Barang boleh dibawa sebagian saja (unit dalam pecahan).


Versi problem ini menjadi masuk akal apabila barang yang
tersedia dapat dibagi-bagi misalnya gula, tepung,dan
sebagainya.
 Bounded Knapsack problem

Setiap barang tersedia sebanyak N unit (jumlahnya


terterbatas).
 Unbounded Knapsack problem

Setiap barang tersedia lebih dari 1 unit, jumlahnya tidak


terbatas
GREDDY ALGORITMA
Macam Stategi dalam Mengatasi Permasalahan Knapsack:
1. Knapsack Problem
Masalah Knapsack merupakan sebuah persoalan yang menarik.
Dalam dunia nyata permasalahan Knapsack ini sering sekali
digunakan terutama pada bidang (jasa) pengangkutan barang
(seperti pengangkutan peti kemas dalam sebuah kapal).Dalam
usaha tersebut, diinginkan suatu keuntungan yang maksimal
untuk mengangkut barang yang ada dengan tidak melebihi batas
kapasitas yang ada.Berdasarkan persoalan tersebut, diharapkan
ada suatu solusi yang secara otomatis dalam mengatasi persoalan
itu. Problem Knapsack adalah permaslahan optimasi
kombinatorial dimana kita harus mencari solusi terbaik dari
banyak kemungkinan yang dihasilkan.
GREDDY ALGORITMA
Penyelesaian Knapsack
1. Brute Force

Brute force adalah pendekatan straightforward untuk


menyelesaikan masalah, umumnya sangat bergantung
pada pernyataan masalah dan definisi dari
konsep.Jika terdapat n item untuk dipilih, maka akan
ada 2 kemungkinan kombinasi dari item-item tersebut
untuk ditempatkan di Knapsack. Sebuah item dapat
terpilih atau tidak dalam kombinasi tersebut.Angka o
dan 1 akan dibangkitkan sepanjang n. Jika I
menunjukkan 0 maka item tersebut tidak terpilih dan
jika 1 maka item tersebut dipilih.
GREDDY ALGORITMA
Penyelesaian Knapsack
1. Algoritma Greedy

Teknik pemrograman dengan menggunakan Greedy


sering digunakan untuk permasalahan optimasi.
Secara umum teknik ini menggunakan heuristic un
tuk mencari solusi suboptimum sehingga diharapkan
solusi optimum.Pada Greedy Algorithm ada beberapa
strategi yang digunakan untuk memilih objek yang
akan dimasukkan ke dalam knapsack:
GREDDY ALGORITMA
a. Greedy by profit
Pada setiap langkah, knapsack diisi dengan objek yang
mempunyai keuntungan terbesar.Strategi ini mencoba
memaksimumkan keuntungan dengan memilih objek
yang paling menguntungkan terlebih dahulu,Pertama
kali yang dilakukan adalah mengurutkan secara
menurun objek-objek berdasarkan profit-nya.
Kemudian baru diambil satu persatu objek yang dapat
ditampung oleh knapsack sampai knapsack penuh
atau sudah tidak ada objek lagi yang bisa dimasukkan.
GREDDY ALGORITMA
b. Greedy by weight
Pada setiap langkah,knapsack diisi dengan objek
yang mempunyai berat paling ringan.Strategi ini
mencoba memaksimumkan keuntungamn dengan
memasukkan sebanyak mungkin objjek ke dalam
knapsack.Pertama kali yang dilakukan adalah
mengurutkan secara menaik objek-objek berdasarkan
weightnya.Kemudian baru diambil satu-persatu objek
yang dapat ditampung oleh knapsack sampai
knapsack penuh atau sudah tidak ada objek lagi yang
bisa dimasukkan.
GREDDY ALGORITMA
c. Greedy by density
Pada setiap langkah, knapsack diisi dengan objek
yang mempunyai densitas terbesar.Strategi ini
mencoba memaksimumkan keuntukngan dengan
memilih objek yang mempunyai keuntungan perunit
berat terbesar.
1. Pertama kali yang dilakukan adalah mencari nilai profit
per unit (density) dari tiap tiap objek.
2. Kemudian objek-objek tersebut diurutkan berdasarkan
densitynya.
3. Kemudian baru diambil satu-persatu objek yang dapat
ditampung oleh knapsack sampai knapsack penuh atau
sudah tidak ada objek lagi yang bisa dimasukkan.
GREDDY ALGORITMA
Setelah tiga strategi tersebut diterapkan dan
diuji,maka didapat hasil terbaik dating dari aturan
ketiga,yaitu memilih item bernilai tinggi dari rasio
bobot terhadap berat.
Pemilihan objek berdasarkan salah satu dari ketiga
strategi di atas tidak menjamin akan
memberikan solusi optimal. Berbeda dengan stra
tegi brute force yang selalu dapat
memberikan hasil yang optimal. Tetapi greedy men
gurangi jumlah langkah (kompleksitas) pencarian.

Anda mungkin juga menyukai