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 :
[email protected]
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.
1
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).
JREC Journal of Electrical and Electronics
8Vol 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:
Gambar 2. Contoh mata uang negara Jepang ¥ (Yen) Sumber: http://beritaterkinigratis.com/category/bis nis/page/37 negara Eropa mata uangnya adalah € (Euro),
negara Amerika mata uangnya adalah US$ (US Dollar), Gambar 3. Contoh mata uang negara Eropa € (Euro) Sumber: http://batamdinar.com/2011/07/kegagalaneuro-kegagalan-uang-kertas/ negara Inggris mata uangnya adalah £ (Pound), 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 4. Contoh mata uang negara Inggris £ (Pound) Sumber: http://liteforexid.com/belajar-forexliteforex/berita-analisa-forex/sterling-ikutmerana-karena-downgrade-eropa
1
JREC Journal of Electrical and Electronics
9Vol 1. No.2
negara Prancis mata uangnya adalah ₣ (Franc),
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)
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/matauang-singapura negara Indonesia mata uangnya adalah Rp (Rupiah).
2
JREC Journal of Electrical and Electronics
0Vol 1. No.2
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)
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:
2
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
JREC Journal of Electrical and Electronics
1Vol 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 elemenelemen 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
2
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
JREC Journal of Electrical and Electronics
2Vol 1. No.2
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)
No
Nilai
1 Rp 1,000.00 2 Rp 1,000.00 … … 125 Rp 1,000.00 Rp 125,000.00
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)
No
Nilai
1 Rp 2 Rp
2,000.00 2,000.00 … 2,000.00 1,000.00 125,000.00
… 62 Rp 63 Rp Rp
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)
No 1 Rp 2 Rp … 25 Rp Rp
2
Nilai 5,000.00 5,000.00 … 5,000.00 125,000.00
Table 2. Rp.125.000,00 ditukar dengan Rp.5.000,00 Skema Umum Algoritma Greedy Algoritma Greedy disusun oleh elemenelemen 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 bersamasama 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, dan lain-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 uang yang ditukarkan.
JREC Journal of Electrical and Electronics
3Vol 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.
2
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 = {x 1, x 2, …, x n}, sedemikian sehingga x i = 1 jika di dipilih, atau x i = 0 jika di tidak dipilih. Misalkan uang yang akan ditukar dengan sejumlah uang pecahan adalah A. Obyektif persoalan adalah n
x
Minimisasi F = i 1 obyektif)
(fungsi
n
d x A i 1
i
i
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 pecahan A = 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}
JREC Journal of Electrical and Electronics
4Vol 1. No.2
i
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 = {x 1, x 2, …, x n} 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.
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/kegagalaneuro-kegagalan-uang-kertas/ http://beritaterkinigratis.com/category/bisnis/p age/37 http://berita.assyams.com/foto/mata-uangsingapura http://liteforexid.com/belajar-forexliteforex/berita-analisa-forex/sterling-ikutmerana-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.
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
2
JREC Journal of Electrical and Electronics
5Vol 1. No.2