Greedy method is the most popular method for solving the optimization problem; it is often also used to obtain the optimal solution of a problem. Issues optimization (optimization problems) is a matter of looking for the optimum solution. There are two kinds of optimization problems, namely maximization (maximization) and Minimize (minimization). The problem can be solved in such Greedy method is an optimization problem in exchange of money. In this journal, taken a case on the issue of how to optimize the exchange of money amounting to 125 thousand dollars?
PENERAPAN METODE GREEDY DALAM OPTIMASI PENUKARAN UANG SEBESAR 125 RIBU RUPIAH
1.
2.
3.
4. 1
8
JREC
Journal of Electrical and Electronics
Vol 1. No.2
PENERAPAN METODE GREEDY DALAM OPTIMASI PENUKARAN UANG SEBESAR
125 RIBU RUPIAH
Faisal
Program Studi Teknik Elektro
Fakultas Teknik Universitas Islam “45” (UNISMA)
Jl. Cut Meutia No. 83 Bekasi, Indonesia
Telp. 021-88344436, 021-8802015 Ext. 124
E-mail : faisal_piliang@yahoo.co.id
ABSTRACT
Greedy method is the most popular method for solving the optimization problem; it is often also used to
obtain the optimal solution of a problem. Issues optimization (optimization problems) is a matter of
looking for the optimum solution. There are two kinds of optimization problems, namely maximization
(maximization) and Minimize (minimization). The problem can be solved in such Greedy method is an
optimization problem in exchange of money. In this journal, taken a case on the issue of how to optimize
the exchange of money amounting to 125 thousand dollars?
Keywords: Algorithms, Greedy method, Currency, Optimization.
Pendahuluan
Dalam kehidupan sehari hari , banyak
terdapat persoalan yang menuntut pencarian
solusi yang optimum. Persoalan-persoalan
tersebut dinamakan persoalan optimasi
(optimization problems). Persoalan Optimasi
adalah persoalan yang tidak hanya mencari
sekedar solusi, tetapi mencari solusi terbaik.
Solusi terbaik adalah solusi yang memiliki nilai
maksimasi (maximization) dan minimasi
(minimization) dari sekumpulan alternatif solusi
yang mungkin. Algoritma Greedy adalah salah
satu algoritma yang dapat digunakan untuk
mendapatkan solusi terbaik/solusi yang
optimum dan merupakan algoritma yang paling
populer dalam hal ini.
Secara Harfiah Greedy artinya rakus
atau tamak, sifat yang berkonotasi negatif.
Orang yang memiliki sifat ini akan mengambil
sebanyak mungkin atau mengambil yang paling
bagus atau yang paling mahal. Sesuai dengan
arti tersebut, Prinsip Greedy adalah take what
you can get now. Algoritma Greedy akan
membentuk solusi langkah per langkah (step by
step). Pada setiap langkah, terdapat banyak
pilihan yang perlu dieksplorasi. Oleh karena itu,
pada setiap langkah harus dibuat keputusan
yang terbaik dalam menentukan pilihan. Pada
setiap langkah, kita membuat pilihan optimum
lokal (local optimum) dengan harapan bahwa
langkah sisanya mengarah ke solusi optimum
global (global optimum).
5. 1
9
JREC
Journal of Electrical and Electronics
Vol 1. No.2
Contoh persoalan optimasi adalah
masalah penukaran uang. Dari sejumlah uang
yang dimiliki saat ini akan ditukarkan dengan
beberapa uang pecahan yang ada. Berapa
jumlah minimum uang pecahan yang diperlukan
untuk penukaran tersebut? Dimana seperti
yang kita ketahui bahwa negara-negara didunia
ini memiliki mata uangnya sendiri-sendiri,
beberapa contoh mata uang negara-negara
antara lain:
negara Amerika mata uangnya adalah US$
(US Dollar),
Gambar 1. Contoh mata uang negara
Amerika US$ (US Dollar)
Sumber:
http://awalsholeh.blogspot.com/2009/07/r
ahasia-mata-uang-dollar-amerika.html
negara Jepang mata uangnya adalah ¥
(Yen),
Gambar 2. Contoh mata uang negara
Jepang ¥ (Yen)
Sumber:
http://beritaterkinigratis.com/category/bis
nis/page/37
negara Eropa mata uangnya adalah €
(Euro),
Gambar 3. Contoh mata uang negara Eropa €
(Euro)
Sumber:
http://batamdinar.com/2011/07/kegagalan-
euro-kegagalan-uang-kertas/
negara Inggris mata uangnya adalah £
(Pound),
Gambar 4. Contoh mata uang negara Inggris
£ (Pound)
Sumber: http://liteforexid.com/belajar-forex-
liteforex/berita-analisa-forex/sterling-ikut-
merana-karena-downgrade-eropa
6. 2
0
JREC
Journal of Electrical and Electronics
Vol 1. No.2
negara Prancis mata uangnya adalah ₣
(Franc),
Gambar 5. Contoh mata uang negara
Prancis ₣ (Franc)
Sumber:
http://arekploso24.blogspot.com/2011/10/mat
a-uang-paling-indah-di-dunia.html
negara Singapura mata uangnya adalah $
(Singapore Dollar)
Gambar 6. Contoh mata uang negara
Singapura $ (Singapore Dollar)
Sumber: http://berita.assyams.com/foto/mata-
uang-singapura
negara Indonesia mata uangnya adalah Rp
(Rupiah).
GAMBAR UANG RUPIAH
Bahan Kertas
Pecahan
Rp.1000
Kertas
Pecahan
Rp.2000
Kertas
Pecahan
Rp.5000
Kertas
Pecahan
Rp.10.000
Kertas
Pecahan
Rp.10.000
Kertas
upgrade
Pecahan
Rp.20.000
Kertas
Pecahan
Rp.20.000
Kertas(Desain
Baru)
Pecahan
Rp.50.000
Kertas
Pecahan
Rp.50.000
Kertas(Desain
Baru)
Pecahan
Rp.100.000
Kertas
Pecahan
Rp.100.000
Kertas(Desain
Baru)
7. 2
1
JREC
Journal of Electrical and Electronics
Vol 1. No.2
Bahan Logam
Pecahan Rp.1
Uang pecahan
Pecahan
Rp.50 Uang
pecahan
Pecahan
Rp.100 Uang
pecahan
Pecahan
Rp.200 Uang
pecahan
Pecahan
Rp.500 Uang
pecahan
Pecahan
Rp.500 Uang
pecahan
Pecahan
Rp.1000 Uang
pecahan
Pecahan
Rp.1000 Uang
pecahan -
Baru
Gambar 7. Contoh mata uang negara
Indonesia Rp (Rupiah)
Sumber:
http://www.bi.go.id/web/id/Sistem+Pembayara
n/Instrumen+
Pembayaran+Tunai/Gambar+Uang/
Dari gambar diatas nilai nominal uang
pecahan rupiah yang masih ada dan beredar
dimasyarakat Indonesia untuk dipergunakan
dalam kehidupan sehari-hari diantaranya:
Bahan Kertas:
Uang pecahan Rp.100.000,00
(seratus ribu rupiah)
Uang pecahan Rp.50.000,00 (lima
puluh ribu rupiah)
Uang pecahan Rp.20.000,00 (dua
puluh ribu rupiah)
Uang pecahan Rp.10.000,00
(sepuluh ribu rupiah)
Uang pecahan Rp.5.000,00 (lima
ribu rupiah)
Uang pecahan Rp.2.000,00 (dua
ribu rupiah)
Uang pecahan Rp.1.000,00 (seribu
rupiah)
Bahan Logam:
Uang pecahan Rp.1.000,00 (seribu
rupiah)
Uang pecahan Rp.500,00 (lima ratus
rupiah)
Uang pecahan Rp.200,00 (dua ratus
rupiah)
Uang pecahan Rp.100,00 (seratus
rupiah)
Uang pecahan Rp.50,00 (lima puluh
rupiah)
Uang pecahan Rp.1,00 (satu rupiah)
Perumusan Masalah
Pada penulisan ini penulis akan
membahas mengenai salah satu aplikasi
algoritma Greedy didalam kehidupan
masyarakat sehari-hari. Dalam hal ini akan
dibahas mengenai penggunaan algoritma
Greedy dalam contoh masalah dalam persoalan
optimasi yaitu masalah penukaran uang
sehingga dalam menyelesaikan suatu masalah
yang membutuhkan penyelesaian optimasi
khususnya dalam contoh masalah yang kami
angkat ini.
Masalah yang terjadi pada proses
Penukaran Uang dalam penulisan ini yaitu:
“Diberikan uang senilai Rp.125.000,00 (seratus
dua puluh lima ribu rupiah). Tukar uang senilai
8. 2
2
JREC
Journal of Electrical and Electronics
Vol 1. No.2
Rp.125.000,00 (seratus dua puluh lima ribu
rupiah) dengan pecahan uang yang ada dan
yang memiliki nilai nominal lebih kecil
dibandingkan uang Rp.125.000,00 (seratus dua
puluh lima ribu rupiah) tersebut. Berapa jumlah
minimum uang pecahan yang diperlukan untuk
dapat melakukan proses penukaran tersebut?”
Pembatasan Masalah
Adapun batasan masalah dalam
penulisan ini hanya sampai pada Persoalan
Optimasi (optimization problems). Persoalan
Optimasi (optimization problems) itu sendiri
adalah persoalan yang tidak hanya mencari
sekedar solusi, tetapi mencari solusi terbaik.
Solusi terbaik adalah solusi yang memiliki nilai
minimum (minimization) atau maksimum
(maximization) dari sekumpulan alternatif solusi
yang mungkin. Algoritma Greedy adalah salah
satu algoritma yang dapat digunakan untuk
mendapatkan solusi terbaik dan merupakan
algoritma yang paling populer dalam hal ini.
Pembahasan Masalah
Algoritma Greedy merupakan algoritma
yang paling sering dan popular digunakan dalam
menyelesaikan permasalahan-permasalahan
mengenai perihal yang berkaitan dengan
optimasi. Persoalan optimasi (optimization
problems) adalah persoalan yang menuntut
pencarian solusi optimum. Persoalan optimasi
ini dibagai menjadi dua macam:
Maksimasi (maximization)
Minimasi (minimization)
Solusi optimum (terbaik) adalah solusi yang
bernilai minimum (minimization) atau
maksimum (maximization) dari sekumpulan
alternatif solusi yang mungkin. Adapun elemen-
elemen persoalan optimasi yaitu:
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. Algoritma Greedy merupakan
metode yang paling populer untuk
memecahkan persoalan-persoalan optimasi.
Secara harfiah Greedy artinya rakus
atau tamak, dimana sifat tersebut berkonotasi
negatif. Orang yang memiliki sifat ini akan
mengambil sebanyak mungkin atau mengambil
yang paling bagus atau yang paling mahal.
Sesuai dengan arti tersebut, Prinsip Greedy
adalah take what you can get now. Algoritma
Greedy akan membentuk solusi langkah per
langkah (step by step). Pada setiap langkah,
terdapat banyak pilihan yang perlu dieksplorasi.
Oleh karena itu, pada setiap langkah harus
dibuat keputusan yang terbaik dalam
menentukan pilihan. Pada setiap langkah, kita
membuat pilihan optimum lokal (local
optimum) dengan harapan bahwa langkah
sisanya mengarah ke solusi optimum global
(global optimum).
Persoalan dalam penulisan ini adalah:
diberikan uang senilai Rp.125.000,00 (seratus
dua puluh lima ribu rupiah). Tukar uang senilai
Rp.125.000,00 (seratus dua puluh lima ribu
rupiah) dengan pecahan uang yang ada dan
yang memiliki nilai nominal lebih kecil
dibandingkan uang Rp.125.000,00 (seratus dua
puluh lima ribu rupiah) tersebut. Dimana
sekumpulan uang pecahan yang tersedia untuk
proses penukaran tersebut yaitu:
Uang pecahan Rp.50.000,00 (lima puluh
ribu rupiah)
Uang pecahan Rp.20.000,00 (dua puluh ribu
rupiah)
Uang pecahan Rp.10.000,00 (sepuluh ribu
rupiah)
Uang pecahan Rp.5.000,00 (lima ribu
rupiah)
Uang pecahan Rp.2.000,00 (dua ribu rupiah)
Uang pecahan Rp.1.000,00 (seribu rupiah)
Tentukanlah kombinasi uang-uang pecahan
tersebut diatas dengan jumlah terminimum
9. 2
3
JREC
Journal of Electrical and Electronics
Vol 1. No.2
No Nilai
1 1,000.00Rp
2 1,000.00Rp
… …
125 1,000.00Rp
125,000.00Rp
No Nilai
1 2,000.00Rp
2 2,000.00Rp
… …
62 2,000.00Rp
63 1,000.00Rp
125,000.00Rp
No Nilai
1 5,000.00Rp
2 5,000.00Rp
… …
25 5,000.00Rp
125,000.00Rp
yang dapat ditukarkan dengan Rp.125.000,00
(seratus dua puluh lima ribu rupiah)!
Uang senilai Rp.125.000,00 (seratus dua
puluh lima ribu rupiah) dapat ditukar dengan
beberapa cara kombinasi berikut ini:
Rp.125.000,00 = Rp.1.000,00 + Rp.1.000,00 + …
+ Rp.1.000,00 (125 kertas/logam)
Table 1. Rp.125.000,00 ditukar dengan
Rp.1.000,00
Rp.125.000,00 = Rp.2.000,00 + Rp.2.000,00 + …
+ Rp.2.000,00 + Rp.1.000,00 (63 kertas)
Table 2. Rp.125.000,00 ditukar dengan
Rp.2.000,00 & Rp.1.000,00
Rp.125.000,00 = Rp.5.000,00 + Rp.5.000,00 + …
+ Rp.5.000,00 (25 kertas)
Table 2. Rp.125.000,00 ditukar dengan
Rp.5.000,00
Skema Umum Algoritma Greedy
Algoritma Greedy disusun oleh elemen-
elemen berikut:
1. Himpunan kandidat.
Berisi elemen-elemen pembentuk solusi.
2. Himpunan solusi
Berisi kandidat-kandidat yang terpilih
sebagai solusi persoalan.
3. Fungsi seleksi (selection function)
Memilih kandidat yang paling
memungkinkan mencapai solusi optimal.
Kandidat yang sudah dipilih pada suatu
langkah tidak pernah dipertimbangkan lagi
pada langkah selanjutnya.
4. Fungsi kelayakan (feasible)
Memeriksa apakah suatu kandidat yang
telah dipilih dapat memberikan solusi yang
layak, yakni kandidat tersebut bersama-
sama dengan himpunan solusi yang sudah
terbentuk tidak melanggar kendala
(constraints) yang ada. Kandidat yang layak
dimasukkan ke dalam himpunan solusi,
sedangkan kandidat yang tidak layak
dibuang dan tidak pernah dipertimbangkan
lagi.
5. Fungsi obyektif, yaitu fungsi yang
memaksimumkan atau meminimumkan
nilai solusi (misalnya panjang lintasan,
keuntungan, danlain-lain).
Contoh pada masalah penukaran uang,
elemen-elemen algoritma Greedy-nya adalah:
1. Himpunan kandidat: himpunan uang
pecahan yang merepresentasikan nilai
Rp.1.000, Rp.2.000, Rp.5.000, Rp.10.000,
Rp.20.000, Rp.50.000, paling sedikit
mengandung satu uang pecahan untuk
setiap nilai.
2. Himpunan solusi: total nilai uang pecahan
yang dipilih tepat sama jumlahnya dengan
nilai uangyang ditukarkan.
10. 2
4
JREC
Journal of Electrical and Electronics
Vol 1. No.2
3. Fungsi seleksi: pilihlah uang pecahan yang
bernilai tertinggi dari himpunan kandidat
yang tersisa.
4. Fungsi layak: memeriksa apakah nilai total
dari himpunan uang pecahan yang dipilih
tidak melebihi jumlah uang yang harus
dibayar.
5. Fungsi obyektif: jumlah uang pecahan yang
digunakan minimum.
Pseudo-code Algoritma Greedy adalah sebagai
berikut:
procedure greedy(input C:
himpunan_kandidat;output S :
himpunan_solusi)
{ menentukan solusi optimum dari persoalan
optimasi dengan algoritma greedy Masukan:
himpunan kandidat Keluaran: himpunan solusi
S}
Deklarasi
x : kandidat;
Algoritma:
S{}
{ inisialisasi S dengan kosong }
while (belum SOLUSI(S)) and (C {} ) do
xSELEKSI(C); { pilih sebuah kandidat dari C}
C C - {x} { elemen himpunan kandidat
berkurang satu }
if LAYAK(S {x}) then
SS {x}
endif
endwhile
{SOLUSI(S) sudah diperoleh or C = {} }
Pada akhir setiap if, solusi yang
terbentuk adalah optimum lokal. Pada
akhir endwhile diperoleh optimum
global.
Namun adakalanya optimum global
merupakan solusi sub-optimum atau
pseudo-optimum.
Penyelesaian Masalah Penukaran Uang
Misalkan uang pecahan-uang pecahan
dinyatakan dalam himpunan-ganda
(multiset) {d1, d2, …, dn}.
Solusi persoalan dinyatakan sebagai tupel X
= {x1, x2, …, xn}, sedemikian sehingga xi = 1
jika di dipilih, atau xi = 0 jika di tidak dipilih.
Misalkan uang yang akan ditukar dengan
sejumlah uang pecahan adalah A.
Obyektif persoalan adalah
Minimisasi F =
n
i
i
x
1 (fungsi
obyektif)
Axd
n
i
ii
1
dengan kendala (fungsi kendala)
Pemecahan Masalah dengan Algoritma Greedy
Strategi Greedy yang digunakan dalam
memilih uang pecahan berikutnya:
Pada setiap langkah, pilihlah uang pecahan
dengan nilai sebesar mungkin dari
himpunan uang pecahan yang tersisa
dengan syarat tidak melebihi nilai uang
yang ditukarkan.
Agar pemilihan uang pecahan berikutnya
optimal, maka perlu mengurutkan
himpunan uang pecahan dalam urutan yang
menurun (noninceasing order).
Diketahui:
Uang yang akan ditukar dengan sejumlah uang
pecahanA = Rp.125.000,00
Himpunan uang pecahan-uang pecahan {d1, d2,
…, dn} = { Rp.1.000, Rp.2.000, Rp.5.000,
Rp.10.000, Rp.20.000, Rp.50.000}
11. 2
5
JREC
Journal of Electrical and Electronics
Vol 1. No.2
Ditanyakan:
Tentukanlah kombinasi uang-uang pecahan
tersebut diatas dengan jumlah terminimum
yang dapat ditukarkan dengan Rp.125.000,00
(seratus dua puluh lima ribu rupiah)!
tupel X = {x1, x2, …, xn}
Penyelesaian:
Langkah 1: pilih 2 buah uang pecahan
Rp.50.000,00 (Total = Rp.100.000,00)
Langkah 2: pilih 1 buah uang pecahan
Rp.20.000,00 (Total = Rp.120.000,00)
Langkah 3: pilih 1 buah uang pecahan
Rp.5.000,00 (Total = Rp.125.000,00)
Solusi: Jumlah uang pecahan minimum = 4
(solusi optimal!)
Simpulan
Pada setiap langkah di atas kita
memperoleh optimum lokal, dan pada akhir
algoritma kita memperoleh optimum global
(yang pada contoh ini merupakan solusi
optimum). Tujuan dari persoalan optimasi
penukaran uang adalah untuk mencari jumlah
penukaran uang seminimal mungkin yang
diperlukan solusi yang dihasilkan pada masalah
penukaran uang ini adalah paling minimal
(empat), yaitu 2 buah uang pecahan
Rp.50.000,00, pilih 1 buah uang pecahan
Rp.20.000,00, pilih 1 buah uang pecahan
Rp.5.000,00.
DAFTAR PUSTAKA
Frieyadie, 2006, Panduan Pemrograman C++,
Andi Offset, Yogyakarta
HS, Suryadi, Pengantar Algoritma dan
Pemrograman, 1991, Gunadarma, Jakarta
HS, Suryadi, Pengantar Analisa Algoritma, 1992,
Gunadarma, Jakarta
HS, Suryadi, Teori Graph Dasar, 1994,
Gunadarma, Jakarta
http://arekploso24.blogspot.com/2011/10/mat
a-uang-paling-indah-di-dunia.html
http://awalsholeh.blogspot.com/2009/07/rahas
ia-mata-uang-dollar-amerika.html
http://batamdinar.com/2011/07/kegagalan-
euro-kegagalan-uang-kertas/
http://beritaterkinigratis.com/category/bisnis/p
age/37
http://berita.assyams.com/foto/mata-uang-
singapura
http://liteforexid.com/belajar-forex-
liteforex/berita-analisa-forex/sterling-ikut-
merana-karena-downgrade-eropa
Kadir, Abdul, 2003, Pemrograman C++, Andi
Offset, Yogyakarta
Munir, Rinaldi, 2002, Logika dan Algoritma Buku
I, Edisi keempat, Informatika,
Bandung.
Munir, Rinaldi, 2005, Logika dan Algoritma Buku
II, Edisi ketiga, Informatika,
Bandung
Yulikuspartono, S.Kom, 2003, Pengantar Logika
dan Algoritma, Andi Offset,
Yogyakarta.