Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

dokumen-dokumen yang mirip
PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

Penerapan Algoritma Greedy pada Permainan Bubble Breaker

Perbandinganan Penggunaan Algoritma Greedy dan Modifikasi Algoritma Brute Force pada Permainan Collapse XXL

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

Penerapan Algoritma Greedy dalam Penyetokan Barang

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN CAPSA BANTING

Penggunaan Algoritma Greedy dalam Optimasi Masalah Perkebunan

Algorima Greedy Pada Self Serve Gas Station

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Implementasi Algoritma Greedy pada Permainan Ludo

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

APLIKASI ALGORITMA GREEDY DALAM PERMAINAN JAWBREAKER

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

Penentuan Lokasi Pemasaran Produk dengan Media Periklanan Menggunakan Algoritma Greedy

Penerapan Algoritma Greedy untuk Permainan Halma

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penerapan Algoritma Greedy pada Intelegensia Buatan untuk Transfer Pemain dalam Permainan Simulasi Sepakbola

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penggunaaan Algoritma Greedy Dalam Aplikasi Vending Machine

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

APLIKASI ALGORITMA GREEDY DALAM PENENTUAN SPESIFIKASI KOMPUTER RAKITAN

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

Penerapan Algoritma Greedy untuk Permainan Flood It

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

Pencarian Solusi Optimal dalam Permainan Congklak dengan Program Dinamis

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

Solusi Terbaik Permainan Rocket Mania Deluxe dengan Pendekatan Algoritma BFS dan Algoritma Greedy

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

Algoritma Penentuan Graf Bipartit

Implementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa)

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Penerapan algoritma Greedy dalam penentuan Porter Generic Strategies untuk suatu perusahaan

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Brute Force pada permainan Countdown Number

Penerapan Algoritma Greedy pada Permainan Kartu 100

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

Permasalahan Clique dalam Graf

Penerapan Algoritma Greedy dalam Permainan Connect 4

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

Penentuan Rute Terbaik pada Permainan Taxi Rider

Penerapan Algoritma Greedy Pada Game Tower Defense: Tower of Greece

Pendahuluan. Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi.

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penerapan Algoritma Greedy dalam Permainan Bantumi

ALGORITMA MENCARI LINTASAN TERPENDEK

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

Penerapan Algoritma Greedy dalam Permainan Othello

PENGGUNAAN BRUTE FORCE UNTUK MERETAS PASSWORD FILE RAR

EKSPLORASI ALGORITMA BRUTE FORCE, GREEDY DAN PEMROGRAMAN DINAMIS PADA PENYELESAIAN MASALAH 0/1 KNAPSACK

PENGGUNAAN ALGORITMA HUNGARIAN DALAM MENYELESAIKAN PERSOALAN MATRIKS BERBOBOT

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Magic Wingdom

Penerapan Prinsip Greedy dalam Permainan Kartu Hearts

Penerapan Algoritma Runut-balik pada Permainan Math Maze

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Algoritma Greedy untuk Membangun Korpus Pengenalan Suara Al-Quran

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

Penerapan Algoritma Greedy pada Permainan Tower Defense

Penerapan Algoritma Greedy pada Optimasi Pengaturan Lampu Lalu Lintas Sederhana

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

Analisis dan Strategi Algoritma

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

ALGORITMA RUNUT-BALIK (BACKTRACKING ALGORITHM) PADA MASALAH KNIGHT S TOUR

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

Penerapan Algoritma Brute force dan Greedy pada Penjadwalan Disk

Algoritma Greedy pada Board Game Saboteur

Penyempurnaan Intelegensa Buatan Mode AI ++ Ragnapolis dengan Langkah Penjualan Kota Berbasiskan Algoritma Greedy

Penerapan Algoritma Greedy dalam Permainan Tradisional Congklak

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

ANALISA PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN FIVE LINK

PENERAPAN ALGORITMA RUNUT-BALIK (BACKTRACKING) DALAM PENYELESAIAN PERMAINAN SUDOKU

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

PENERAPAN ALGORITMA GREEDY DALAM PENENTUAN USAHA BISNIS INVESTASI

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

PENERAPAN ALGORITMA GREEDY UNTUK PENENTUAN JALUR DISTRIBUSI BANTUAN PASCA BENCANA ALAM

Transkripsi:

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek Irwan Kurniawan 135 06 090 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung e-mail: if16090@students.if.itb.ac.id ABSTRAK Rantai Penjumlahan adalah sebuah masalah yang telah ada sejak lama. Masalah yang menarik dari rantai penjumlahan ini adalah cara untuk menemukan suatu urutan rantai penjumlahan yang memiliki urutan terpendek (rantai penjumlahan terpendek). Telah banyak pakar matematika dan ilmu komputer mencoba untuk menerapkan strategi yang tepat dalam memecahkan masalah pencarian rantai penjumlahan terpendek. Ide dari rantai penjumlahan ini cukup sederhana. Kita harus mencari urutan angka angka dimulai dari angka 1 hingga angka ke n, dimana angka ke n adalah akhir dari rantai penjumlahan. Ada beberapa aturan dalam urutan angka angka rantai penjumlahan ini. Aturan pertama, Setiap angka angka yang berada di dalam urutan, kecuali angka pertama, haruslah angka angka yang berasal dari penjumlahan angka angka sebelumnya (mungkin sama). Aturan kedua, angka angka yang berada di dalam urutan harus terurut menaik, atau dengan kata lain, angka angka yang berada di dalam urutan rantai penjumlahan ini, harus memiliki nilai yang lebih besar dibandingkan angka sebelumnya. Makalah ini bertujuan untuk menjelaskan salah satu penerapan strategi algoritmik dalam mencari solusi rantai penjumlahan terpendek. Strategi yang digunakan oleh penulis di dalam makalah ini adalah algoritma greedy, atau di dalam metoda pemecahan rantai penjumlahan terpendek ini sendiri lebih dikenal dengan nama metoda rantai penjumlahan terpendek. Kata kunci: algoritma greedy, rantai penjumlahan terpendek. 1. PENDAHULUAN Rantai penjumlahan merupakan masalah yang telah cukup lama ada. Rantai penjumlahan merupakan dasar dari operasi aritmatika. Rantai penjumlahan juga menjadi dasar dari operasi komputer, yaitu increment (penambahan) dan decrement (pengurangan). Rantai penjumlahan didefinisikan sebagai urutan angka angka a 0, a 1, a 2, a 3,... yang memenuhi : a 0 = 1 dan untuk setiap k > 0 : a k = a i + a j dimana i, j < k 2. RANTAI PENJUMLAHAN Semua bilangan dapat dicapai dengan menggunakan definisi rantai penjumlahan yang telah dijelaskan sebelumnya. Cara paling naif untuk mencari bilangan yang diinginkan dengan menggunakan rantai penjumlahan adalah dengan menjumlahkan 1 dengan bilangan yang telah ada sebelumnya hingga bilangan yang dimaksud dicapai. Untuk memodelkan permasalahan ini, berikut diberikan rantai penjumlahan untuk mencari bilangan 4. urutan angka angka yang dibentuk oleh rantai penjumlahan dengan cara naif adalah : 1,2,3,4 dengan rincian : 1...langkah 1 2 = 1 + 1...langkah 2 3 = 2 + 1...langkah 3 4 = 3 + 1...langkah 4 Cara ini memang menjamin bahwa setiap bilangan pasti dapat ditemukan urutan angka angkanya melalui rantai penjumlahan, tetapi cara ini juga sangat tidak mangkus apalagi untuk bilangan yang besar, misalnya 1000. Telah banyak pendekatan yang dikembangkan untuk menemukan rantai penjumlahan untuk bilangan n dengan urutan angka angka terpendek, tetapi belum ada algoritma yang dapat memberikan urutan angka angka terpendek untuk sembarang bilangan n yang diberikan.

Meskipun begitu, beberapa metoda telah dikembangkan untuk menemukan urutan angka angka yang relatif lebih pendek (mangkus) dibandingkan dengan cara naif yang disebutkan diatas. Metoda yang akan dijelaskan di dalam makalah ini menggunakan algoritma greedy. Metoda ini dikenal juga dengan nama metoda rantai penjumlahan terpendek. 3. RANTAI PENJUMLAHAN TERPENDEK Algoritma greedy diterapkan untuk menemukan rantai penjumlahan dengan urutan angka angka terpendek. Ide dasar dari algoritma ini adalah dengan memanfaatkan urutan angka angka yang telah terbentuk. Pada saat akan dibentuk sebuah angka baru, angka baru tersebut dibentuk dari angka dengan nilai terbesar yang mungkin, dengan harapan nilai tersebut dapat memberikan hasil yang optimum. 3.1 Algoritma Greedy Algoritma greedy adalah algoritma yang memecahkan masalah langkah per langkah, dimana pada setiap langkah: - mengambil pilihan terbaik yang dapat diperoleh pada saat itu (optimum lokal) tanpa memperhatikan konsekuensi ke depan - berharap dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global. Pada setiap langkah di dalam algoritma greedy, kita baru menerima optimum lokal. Bila algoritma berakhir, kita berharap bahwa optimum lokal menjadi optimum global. Algoritma greedy mengasumsikan bahwa optimum lokal merupakan bagian dari optimum global. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah kembali pada langkah berikutnya. Algoritma greedy memiliki elemen elemen sebagai 1. Himpunan Kandidat, C : semua elemen pembentuk solusi. 2. Himpunan Solusi, S : semua solusi persoalan yang merupakan himpunan bagian dari himpunan kandidat. 3. Fungsi Seleksi : langkah langkah untuk memilih kandidat yang menghasilkan solusi yang optimum. 4. Fungsi Kelayakan : fungsi yang akan mengembalikan nilai benar () jika kandidat yang dipilih oleh fungsi seleksi bersama sama dengan himpunan solusi tidak melanggar batasan yang ada. 5. Fungsi Objektif : Memaksimumkan / meminimumkan nilai solusi. 3.2 Penerapan Algoritma Greedy Elemen elemen pembentuk algoritma greedy dalam memecahkan permasalahan rantai penjumlahan terpendek ini, dipaparkan sebagai 1. Himpunan Kandidat, C Himpunan Kandidat dari permasalahan rantai penjumlahan ini adalah semua bilangan bulat yang dapat dibentuk berdasarkan penjumlahan 2 buah angka dari urutan angka angka yang telah ada sebelumnya. 2. Himpunan Solusi, S Himpunan Solusi dari permasalahan rantai penjumlahan ini adalah bilangan hasil penjumlahan dengan nilai terbesar yang mungkin. 3. Fungsi (Predikat) Seleksi Fungsi Seleksi mengembalikan nilai bilangan yang memiliki nilai terbesar. 4. Fungsi (Predikat) Kelayakan Fungsi Kelayakan memeriksa apakah nilai yang diberikan bersama sama dengan Himpunan Solusi sebelumnya telah melebihi bilangan yang hendak dicari. 5. Fungsi Obyektif Meminimumkan urutan angka angka yang terbentuk. Penjelasan algoritma greedy untuk menyelesaikan permasalahan rantai penjumlahan terpendek ini adalah sebagai Berdasarkan urutan angka angka yang telah ada sebelumnya a 0, a 1, a 2, a 3,... dipilih angka terakhir (yaitu angka dengan nilai bilangan terbesar) a n. Tambahkan a n dengan dirinya sendiri : a n + 1 = a n + a n Jika nilai a n+1 yang dihasilkan ternyata tidak diterima oleh fungsi kelayakan (nilai a n+1 melebihi nilai yang hendak dicari) maka diambil angka sebelum a n untuk diuji apakah diterima oleh fungsi kelayakan atau tidak. Sehingga persamaan di atas menjadi : a n + 1 = a n + a n 1 Hal tersebut dilakukan hingga akhirnya ditemukan bilangan yang dimaksud.

Rancangan skema algoritma diatas diberikan dalam notasi algoritmik sebagai Kamus Global arrkandidat [] of integer {Himpunan Kandidat yang akan dipilih} arrsolusi [] of integer {Himpunan Solusi yang dihasilkan} Procedure RantaiPenjumlahan(input n : integer) {prosedur untuk mencari urutan angka angka yang dapat dibentuk dari 1 hingga n dengan menggunakan algoritma greedy} Kamus a n : integer {bilangan yang akan dicari berikutnya dalam usaha mencari bilangan n} Algoritma a n 1 {inisialisasi} while (a n n) do {ulangi selama a n belum sama dengan nilai yang dicari} MakeKandidat() {menghasilkan angka angka yang mungkin dipilih oleh fungsi seleksi} repeat a n Seleksi() {fungsi Seleksi untuk mengambil nilai bilangan terbesar yang mungkin} until IsLayak(a n ) (fungsi islayak memberikan true jika nilai a n dapat menjadi solusi dan false jika tidak serta mengeluarkan nilai tersebut dari himpunan kandidat) AddSolusi (a n ) {Addsolusi menambahkan nilai a n ke dalam himpunan solusi yang ada} endwhile CetakSolusi(arrSolusi) {cetak solusi mencetak solusi yang telah dihasilkan} Gambar 1. Notasi algoritmik algoritma greedy untuk pencarian rantai penjumlahan terpendek 3.3 Contoh Penyelesaian Masalah Sebagai gambaran dari Algoritma di atas, berikut diberikan beberapa contoh penyelesaian permasalahan rantai penjumlahan menggunakan algoritma tersebut. Masalah : rantai penjumlahan untuk mencari angka 17 Langkah Penyelesaian : - Pada saat awal, di dalam himpunan solusi hanya ada angka 1 - Dengan menggunakan himpunan solusi yang ada sebelumnya, dibentuk himpunan kandidat yang mungkin, yaitu 2 = 1 + 1. - Fungsi Seleksi akan mengambil satu satunya nilai yang ada di dalam himpunan kandidat saat ini, yaitu 2. - Jika angka 2 ternyata telah melewati batas nilai yang dicari, maka angka 4 akan dikeluarkan dari himpunan kandidat dan langkah sebelumnya diulangi kembali. - Oleh karena 2 masih belum melewati batas nilai angka yang dicari (yaitu 17) maka angka 2 dimasukkan ke dalam himpunan solusi. Saat ini himpunan Solusi berisi angka 1 dan 2 - Karena angka yang dicari (angka 17) belum ditemukan, maka langkah kedua diulangi kembali. Himpunan Kandidat dibentuk melalui himpunan solusi yang telah ada. Himpunan kandidat berisi : 2 = 1+1, 3 = 2 + 1,4 = 2 + 2. - Fungsi Seleksi akan mengambil nilai terbesar yang ada pada himpunan kandidat, yaitu 4. - Jika angka 4 ternyata telah melewati batas nilai yang dicari, maka angka 4 akan dikeluarkan dari himpunan kandidat dan langkah sebelumnya diulangi kembali. - Oleh karena 4 masih belum melewati batas nilai yang dicari (yaitu 17) maka angka 4 dimasukkan ke dalam himpunan solusi. Saat ini himpunan Solusi berisi angka 1,2, 4. - Langkah kedua diulangi kembali hingga akhirnya angka yang dicari ditemukan, yaitu angka 17. Proses pencarian penyelesaian masalah rantai penjumlahan terpendek ini dapat dilihat dari tabel Tabel 1 : Tabel proses pencarian solusi rantai penjumlahan berdasarkan algoritma greedy Langkah Keadaan I II III IV V 0(INIT) 1 1-1 1 2 2 1 1, 2 2 2, 3, 4 4 1, 2 1,2, 4

3 4 5 6 7 9 10 11 12 13 14 16 16 2, 3,4,5, 6,, 9, 1 0, 12, 16, 17, 19, 20, 21, 22, 24, 25, 26, 2, 32 2 25, 26, 2 25, 26 25, 21, 22, 24, 21, 22, 21 16, 17, 19 16, 17, 32, 26,, 25, 24, 22 1,2,4, 21 1,2, 4, 20 1, 2, 4, 19 17 I : Himpunan Kandidat II : Fungsi Seleksi III : Himpunan Solusi Sebelum IV : Himpunan Solusi Setelah V : Fungsi Layak, 1, 2,4,, 17,, 16, 32,, 2, 26, 25, 24, 22, 21, 20, 19, 17 3.4 Perbandingan dengan Algoritma Bruteforce Untuk memberikan perbandingan penyelesaian masalah ini dengan algoritma lain, maka akan diberikan sebuah contoh yang akan diselesaikan dengan menggunakan algoritma greedy dan algoritma bruteforce. Masalah : rantai penjumlahan untuk mencari angka 4 a. Dengan menggunakan algoritma bruteforce Bruteforce adalah suatu cara penyelesaian masalah yang naif, yaitu dengan mencoba semua kemungkinan yang ada. Dalam permasalahan ini, kemungkinan yang ada adalah kombinasi dari bilangan mulai dari 1 hingga 3. Sehingga kemungkinan kombinasi yang akan dilakukan oleh algoritma brute force untuk menemukan solusi yang tepat adalah sebanyak 3! = 3 x 2 x 1 = 6. Enumerasi dari langkah langkah yang dilakukan oleh algoritma brute force ditunjukkan oleh tabel Tabel 2 : Tabel proses pencarian solusi menggunakan algoritma bruteforce Langkah Himp. Solusi Solusi() Panjang 0(INIT) 1 1 1 1, 2 2 2 1, 2, 3 3 3 3 4 1, 2, 3, 4 4 5 1, 2, 3, 5 4 6 1, 2, 3, 6 4 b. Dengan menggunakan algoritma greedy Untuk menyelesaikan masalah diatas, langkah langkah yang diperlukan oleh algoritma greedy adalah sebagai Tabel 3 : Tabel proses pencarian solusi menggunakan algoritma greedy Langkah Keadaan I II III IV V 0(INIT) 1 1-1 1 2 2 1 1, 2 2 2, 3, 4 4 1, 2 I : Himpunan Kandidat II : Fungsi Seleksi III : Himpunan Solusi Sebelum IV : Himpunan Solusi Setelah V : Fungsi Layak 3.5 Analisa Hasil Algoritma greedy terbukti memberikan hasil yang cukup memuaskan untuk masalah ini. Akan tetapi pada beberapa persoalan memungkinkan terjadinya perulangan pencarian akibat kegagalan himpunan solusi memenuhi persyaratan fungsi kelayakan. Contoh pada upabab 3.3 memperlihatkan salah satu kelemahan algoritma greedy

dalam menyelesaikan permasalahan ini (yaitu kurang mangkus untuk permasalahan kasus terburuk). Meskipun begitu, algoritma greedy ini sendiri masih memberikan hasil yang lebih baik daripada algoritma bruteforce. Algoritma bruteforce akan mencoba segala kemungkinan yang ada berdasarkan himpunan solusi yang dapat dibentuknya, yaitu dari angka 1 hingga bilangan ke n yang hendak dicari. Dengan menggunakan algoritma greedy notasi Big-O nya adalah O(n) bandingkan dengan algoritma bruteforce yang dapat mencapai O(n!). IV. KESIMPULAN Meski algoritma greedy terbukti cukup memuaskan dan jauh lebih mangkus dibandingkan dengan algoritma bruteforce, banyak metoda metoda lain yang diterapkan untuk menyelesaikan permasalahan ini. Salah satu algoritma lain yang digunakan untuk menyelesaikan permasalahan ini adalah algoritma runut balik. Dengan menggunakan algoritma runut balik, maka waktu pencarian yang diperlukan dapat dikurangi akan tetapi hasil yang diberikan adalah sama. Akan tetapi pada algoritma runut balik tersebut memori yang digunakan jauh lebih besar dibandingkan dengan memori yang digunakan oleh algoritma greedy, sehingga untuk kasus kasus dimana memori menjadi kendala, algoritma greedy lebih dipertimbangkan daripada algoritma runut balik untuk memecahkan masalah ini. Pertimbangan lain adalah disebabkan waktu proses yang diberikan oleh keduanya tidak berbeda terlalu jauh, meski algoritma runut balik masih relatif lebih cepat. REFERENSI [1] Rinaldi Munir, Diktat Kuliah Strategi Algoritmik, Program Studi Teknik Informatika ITB, 2006. [2] http://en.wikipedia.org/wiki/addition_chain, diakses pada tanggal 1 Mei 200 pukul 19:22. [3] http://wwwhomes.unibielefeld.de/achim/addition_chain.html, diakses pada tanggal 1 Mei 200 pukul 19:47. [4] http://mathworld.wolfram.com/additionchain.html, diakses pada tanggal 1 Mei 200 pukul 20:20. [5] http://www-csstaff.stanford.edu/~knuth/programs/strongchain.w, diakses pada tanggal 19 Mei 200 pukul 19:10.