Penerapan Algoritma Backtracking dalam Permainan Futoshiki Puzzle

dokumen-dokumen yang mirip
Penerapan Algoritma Backtrack pada Knight s Tour

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Aplikasi Algoritma Runut Balik dalam Pembangkitan Elemen Awal Permainan Sudoku

Penerapan Algoritma Backtracking pada Game The Lonely Knight

Implementasi Algoritma Backtracking untuk Memecahkan Puzzle The Tile Trial pada Permainan Final Fantasy XIII-2

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

SOLUSI ALGORITMA BACKTRACKING DALAM PERMAINAN KSATRIA MENYEBRANG KASTIL

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Penyelesaian Permainan 3 missionaries and 3 cannibals Dengan Algoritma Runut-Balik

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Penerapan Algoritma Backtracking pada Knight s Tour Problem

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU

Pencarian Solusi Permainan Pipe Puzzle Menggunakan Algoritma Backtrack

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Algoritma Backtracking Pada Logic Game : Family Crisis (Game Penyebrangan)

Penerapan Algoritma Runut-Balik pada Magic Square

ALGORITMA RUNUT BALIK DALAM PENYELESAIAN PERMAINAN WORD DIAGRAM

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan

Algoritma Runut-balik (Backtracking)

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir

Penerapan Algoritma DFS dalam Menyelesaikan Permainan Buttons & Scissors

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Algoritma Runut-balik (Backtracking) Bagian 1

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin

Aplikasi Algoritma Runut-balik pada Penyelesaian Teka Teki Mengisi Angka

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem

Penerapan Algoritma Brute-Force serta Backtracking dalam Penyelesaian Cryptarithmetic

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

Aplikasi Algoritma Brute Force dan Backtracking pada Permainan Slitherlink

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

Pemanfaatan Algoritma Runut-balik dalam Penentuan Golongan Suara pada Dunia Paduan Suara

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

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Penerapan Algoritma Greedy dan Backtrackng Dalam Penyelesaian Masalah Rubik s Cube

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Pendeteksian Deadlock dengan Algoritma Runut-balik

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

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

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Zebra Puzzle

PENERAPAN ALGORITMA RUNUT BALIK DALAM PERMAINAN TEKA-TEKI SILANG

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penerapan Algoritma Backtracking pada Pencarian Solusi Fill-in Crossnumber

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Oleh Lukman Hariadi

Kompresi Pohon dengan Kode Prüfer

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

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

Penerapan Algoritma Runut Balik pada Pathuku Games

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Penggunaan Strategi Algoritma Backtracking pada Pencarian Solusi Puzzle Pentomino

Penerapan Algoritma Branch & Bound dan Backtracking pada Game Flow

Penerapan Teori Graf untuk Menyelesaikan Teka-Teki Permainan The Knight's Tour

Penerapan Algoritma Transversal pada Graf dan Algoritma Pencocokan String dalam Sistem Jual-Beli Tiket Bioskop

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

MAKALAH STRATEGI ALGORITMIK (IF 2251) ALGORITMA RUNUT BALIK DALAM GAME LABIRIN

Implementasi Algoritma DFS pada permainan Monument Valley

Algoritma Puzzle Pencarian Kata

PENYELESAIAN TEKA-TEKI PENYUSUNAN ANGKA MENGGUNAKAN ALGORITMA RUNUT BALIK

PENGGUNAAN ALGORITMA GREEDY PADA PERMAINAN CAPSA SUSUN

Penyelesaian Permasalahan Nonogram dengan Algoritma Runut Balik

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Penggunaan Algoritma Runut-Balik dalam Proses Resolusi Query dari Eksekusi Program dalam Bahasa Prolog

Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENYELESAIAN PERMAINAN SUDOKU

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.

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

Implementasi Algoritma Backtracking dalam Pencarian Solusi Flash Game Web-Based Maze

Penyelesaian Permainan Pacman yang disederhanakan dengan Algoritma Backtracking

Perbandingan Algoritma Greedy & Bactracking Dalam Penyelesaian Permainan 2048

Algoritma Backtracking Pada Permainan Peg Solitaire

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENCARIAN KOEFISIEN ROOK POLYNOMIAL

Implementasi Intuitif Penyelesaian Labirin dengan Algoritma Depth-First Search

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

Algoritma Branch & Bound

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

PEMBANGKIT TEKA-TEKI SILANG DENGAN ALGORITMA BACKTRACKING SERTA APLIKASI PERMAINANNYA YANG BERBASIS WEB

Asah Otak dengan Knight s Tour Menggunakan Graf Hamilton dan Backtracking

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Transkripsi:

Penerapan Algritma Backtracking dalam Permainan Futshiki Puzzle Juli Savigny, 13513084 Prgram Studi Teknik Infrmatika Seklah Teknik Elektr dan Infrmatika Institut Teknlgi Bandung, Jl. Ganesha 10 Bandung 40132, Indnesia jsavigny@students.itb.ac.id Abstract Backtracking adalah suatu algritma yang pada dasarnya adalah perbaikan dari exhaustive search. Pada Backtracking, sekuens kemungkinan yang dipilih adalah sekuens yang memenuhi cnstraint tertentu. Penerapan Algritma Backtracking ada banyak, terutama pada pemecahan masalah permainan puzzle seperti n-queen, Knight s Tur, Sudku, dll. Salah satu penerapannya adalah pada permainan Futshiki Puzzle. Index Terms Backtracking, Futshiki, Runut-balik, Slusi, DFS I. PENDAHULUAN 1.1 Futshiki Gambar 1.2 Ilustrasi Keadaan Slusi Papan Futshiki Futshiki ( 不等式 ) adalah adalah permainan teka-teki lgika yang berasal dari Jepang. Arti dari kata Futshiki sendiri adalah Ketidaksamaan. Teka-teki dimainkan pada grid persegi, misalnya 5 x 5. Tujuannya adalah untuk menempatkan angka 1 sampai 5 ( atau dimensi lainnya ) sehingga setiap baris dan klm berisi masing-masing angka 1 sampai 5. Ada angka yang sudah diisi di grid pada awal permainan, sebagai panduan. Selain itu, ada beberapa tanda ketidaksamaan (lgical cnstraint) (< atau >) diberikan di antara beberapa ktak, sehingga nilai yang berada dalam ktak harus memenuhi cnstraint tersebut. Gambar 1.3 Ilustrasi Keadaan Awal Papan Futshiki Gambar 1.1 Ilustrasi Keadaan Awal Papan Futshiki Gambar 1.4 Ilustrasi Keadaan Slusi Papan Futshiki

2.1. DFS II. DASAR TEORI Depth-First Search adalah sebuah cara untuk mentraverse sebuah graf. Prinsip dari algritma DFS simpel : maju telusuri (secara mendalam) selama masih memungkinkan, jika tidak memungkinkan lakukan backtrack. Traversal dimulai dari simpul v. Algritma: 1. Kunjungi simpul v 2. Kunjungi simpul w yang bertetangga dengan simpul v. 3. Ulangi DFS mulai dari simpul w. 4. Ketika mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. 5. Pencarian berakhir bila tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi. 2.2. Algritma Backtracking Istilah backtracking pertama kali diperkenalkan leh D.H. Lehmer pada tahun 1950 dan terdapat juga tkh-tkh seperti R.J.Walker, Glmb, Baumert yang menyajikan uraian umum tentang backtracking. Algritma backtracking adalah algritma pencarian slusi yang berbasis pada DFS. Algritma backtracking banyak diterapkan untuk prgram games : 1. Permainan tic-tac-te 2. Menemukan jalan keluar dari sebuah maze 3. Catur termasuk didalamnya permainan dari knight s tur ini. Algritma backtracking merupakan perbaikan dari algritma brute-frce. Pada brute-frce semua kemungkinan slusi dieksplrasi satu per satu sedangkan pada backtracking hanya pilihan yang mengarah ke slusi yang dieksplrasi, pilihan yang tidak mengarah ke slusi tidak dipertimbangkan kembali. Dinyatakan dalam predikat : B (x1,x2,..,xk). B bernilai true jika (x1,x2,..,xk) mengarah ke slusi. Jika true, maka pembangkitan nilai untuk xk+1 dilanjutkan, tetapi jika false, maka (x1,x2,..,xk) dibuang. 2.2.2. Prinsip Pencarian Slusi dengan Metde Backtracking Slusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah mengikuti aturan depht-first rder (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup (live nde) Simpul-simpul yang sedang diperluas dinamakan simpul-e (Expand nde) Tiap kali simpul-e diperluas, lintasan yang dibangun lehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke slusi, maka simpul-e tersebut dibunuh sehingga menjadi simpul mati (dead nde) Fungsi yang digunakan untuk membunuh simpul- E adalah dengan menerapkan fungsi pembatas. Simpul yang sudah mati tidak pernah diperluas lagi. Jika pembentukan lintasan berakhir dengan simpul mati, maka prses pencarian backtrack ke simpul aras diatasnya. Lalu, teruskan dengan membangkitkan simpul anak lainnya. Selanjutnya simpul ini menjadi simpul-e yang baru. Pencarian dihentikan bila kita telah sampai pada gal nde. 2.2.1. Prperti Umum Algritma Backtracking 1. Slusi Persalan Slusi dinyatakan dalam bentuk vektr dengan tuple: X = (x1,x2,x3,...,xn), xi Si Mungkin terjadi S1 = S2 =... = Sn Cnth : Si = {0,1}, xi=0 atau 1 2. Fungsi Pembangkit Fungsi pembangkit nilai xk dinyatakan dalam predikat T(k) dimana T(k) membangkitkan nilai untuk xk, yang merupakan kmpnen vektr slusi. 3. Fungsi Pembatas

Berikut merupakan gambar ilustrasi algritma backtrack : III. PENERAPAN ALGORITMA 3.1 Representasi Matrix Pertama, berikan indeks untuk merepresentasikan papan Futshiki Gambar 2.1 Ilustrasi Algritma Backtrack 2.2.3. Kmpleksitas Waktu Algritma Backtracking Setiap simpul dalam phn ruang status berassiasi dengan sebuah pemanggilan rekursif. Jika jumlah simpul dalam phn ruang status adalah 2n atau n!, maka untuk kasus terburuk, algritma backtrack membutuhkan waktu dalam : 1. O(p(n)2n) atau 2. O(q(n)n!) Dengan p(n) dan q(n) adalah plinm derajat n yang menyatakan waktu kmputasi simpul. Gambar 3.1 Index Papan Angka yang ada di dalam matriks merupakan indeks psisi ktak, indeks dimulai dari ujung kiri-atas yaitu (1,1) sampai ujung kanan-bawah yaitu (5,5). Hal ini akan bermanfaat untuk prses implementasi selanjutnya. 3.2 Definisi Prperti Definisi Prperti Algritma Backtracking untuk persalan Futshiki adalah 1. Slusi Persalan Slusi Persalan pada Futshiki 5x5 adalah X = (x11,x12,x13,x14,x15 x21,x22,x23,x24,x25 x31,x32,x33,x34,x35 x41,x42,x43,x44,x45 x51,x52,x53,x54,x55) dimana xij {1,2,3,4,5} 2. Fungsi Pembangkit 3. Fungsi Pembatas Fungsi Pembatas pada persalan ini adalah : a. Nilai xij tidak bleh sama dengan nilai yang sudah ada di baris i dan klm j. b. Nilai xij harus memenuhi cnstraint lgic yang ada (jika bard(i,j) tersebut memiliki cnstraint lgic). 3.3 Phn Slusi Setiap simpul pada phn ruang slusi adalah status papan pada setiap waktunya.

Gambar 3.2 Cnth Ruang Status Futshiki Kedalaman dari phn tersebut akan ditentukan leh banyaknya tempat ksng (yang akan diisi). Misalkan, pada Futshiki 5x5 pada Gambar 1.1 ada 21 blk ksng, maka kedalaman Phn Slusi, jika slusi ditemukan, adalah 21. Untuk mempermudah implementasi, inisialisasi lah setiap blk ksng dengan 0. 3.4 Pencarian Slusi Secara umum, pencarian slusi persalan Puzzle Futshiki dengan algritma backtracking adalah sebagai berikut : 1. Tentukan simpul akar, yaitu status awal papan. 2. Cari blk ksng, iterasi dimulai dari baris pertama, dengan klm pertama terakhir, lalu ke baris kedua, dst. 3. Setelah blk ksng ditemukan, cba isi blk tersebut dengan angka 1. Dengan mengisi blk tersebut, simpul baru akan dihidupkan. 4. Cek apakah simpul tersebut melanggar Fungsi Pembatas: a. Jika tidak, lanjutkan ke blk ksng selanjutnya, hidupkan simpul baru dengan mengisi blk tersebut. b. Jika ya, backtrack ke simpul sebelumnya. 5. Cek apakah simpul masih bisa di ekspan dengan memasukkan angka yang belum dimasukkan, jika tidak bisa menghidupkan simpul apapun, backtrack ke simpul sebelumnya. 6. Prses akan dilakukan secara terus menerus hingga slusi ditemukan atau tidak ada simpul hidup lagi. Gambar 3.3 Permasalahan Futshiki Anggap kita akan menyelesaikan persalan Futshiki yang ada di Gambar 3.3. Dengan simpul akar S0 adalah status bard yang ada di Gambar 3,3. Pertama, expand dari S0, bangkitkan blk ke 1,1. Ada 5 value yang mungkin dapat mengisi blk tersebut yaitu 1,2,3,4,5. Pertama, kita bangkitkan 1, maka akan terbentuk simpul baru S1 yang merupakan anak dari S0. Lalu cek apakah S1 melanggar fungsi pembatas: - Apakah 1 ada di baris 1? Tidak. - Apakah 1 ada di klm 1? Tidak - Ada kah lgical cnstraint? Ya Apakah 1 lebih besar dari 0 (blk ksng 1,2)? Ya Ternyata, simpul tersebut tidak melanggar fungsi pembatas, maka pencarian diteruskan melalui simpul tersebut (karena berbasis DFS). Setelah blk 1,1 diisi leh 1, maka langkah selanjutnya adalah untuk pindah ke blk 1,2. Bangkitkanlah blk 1,2 dengan 1, terbentuk S2 yang merupakan anak dari S1, lalu cek apakah S2 tersebut melanggar fungsi pembatas : - Apakah 1 ada di baris 1? Ya Ternyata, S2 melanggar fungsi pembatas, maka S2 dibunuh, dan kita kembali (backtrack) ke S1. Dari S1, kita cba bangkitkan blk 1,2 dengan 2, maka terbentuk S3 yang merupakan anak dari S1. Gambar 3.4 Ilustrasi Backtrack dari S2, pembangkitan S3. Lalu, cek apakah S3 melanggar fungsi pembatas: - Apakah 2 ada di baris 1? Tidak. - Apakah 2 ada di klm 2? Tidak. - Apakah ada lgical cnstraint di blk 1,2? Ya.

Apakah 2 lebih kecil dari 1 (blk 1,1)? Tidak. Ternyata, S3 juga melanggar fungsi pembatas, leh karena itu, S3 dibunuh, dan kita kembali ke S1. Dari sini kita bisa meneruskan mencari dengan algritma seperti diatas, dan akan menemukan bahwa blk 1,2 tidak akan bisa diisi leh apapun dari 1-5, selama blk 1,1 berisi 1, yang artinya semua anak dari S1 mati, leh karena itu slusi tidak dapat ditemukan di S1, maka S1 pun harus dibunuh, lalu kita akan backtrack ke S0, dan menghidupkan simpul selanjutnya (S7) dengan membangkitkan 2 di blk 1,1. Gambar 3.5 Ilustrasi Backtrack Karena tidak melanggar fungsi pembatas, maka kita akan pindah ke blk ksng selanjutnya yaitu 1,3. Hidupkan simpul baru S9 dengan membangkitkan 1 di blk 1,3. Cek apakah S9 melanggar Fungsi Pembatas : - Apakah 1 ada di baris 1? Ya. Karena S9 melanggar, maka bunuh S9, dan lakukan backtrack ke S8. Hidupkan Simpul baru S10 dengan membangkitkan 2 di blk 1,3. Cek apakah S10 melanggar Fungsi Pembatas: - Apakah 2 ada di baris 1? Ya. Karena S10 melanggar, maka bunuh S10, dan lakukan backtrack ke S8. Hidupkan Simpul baru S11 dengan membangkitkan 3 di blk 1,3. Cek apakah S11 melanggar Fungsi Pembatas: - Apakah 3 ada di baris 1? Tidak. - Apakah 3 ada di klm 3? Tidak. - Apakah ada lgical cnstraint? Ya. Apakah 3 lebih besar dari 0 (blk ksng 1,4)? Ya. Karena tidak melanggar fungsi pembatas, maka kita akan pindah ke blk ksng selanjutnya yaitu 1,4. Hidupkan simpul baru S12 dengan membangkitkan 1 di blk 1,4, Cek apakah S12 melanggar fungsi pembatas. Gambar 3.6 Ilustrasi Pembangkitan Simpul S7 dengan mengisi 2 di blk 1,1. Setelah membangkitkan S7, Cek apakah S7 melanggar Fungsi Pembatas: - Apakah 2 ada di baris 1? Tidak. - Apakah 2 ada di klm 1? Tidak. - Apakah ada Lgical cnstraint di blk 1,1? Ya. Apakah 2 lebih besar dari 0 (blk ksng 1,2)? Ya. Karena tidak melanggar fungsi pembatas, maka kita akan pindah ke blk ksng selanjutnya yaitu 1,2. Hidupkan simpul baru S8 dengan membangkitkan 1 di blk 1,2. Cek apakah S8 melanggar Fungsi Pembatas : - Apakah 1 ada di baris 1? Tidak. - Apakah 1 ada di klm 2? Tidak. - Apakah ada Lgical Cnstraint di blk 1,2? Ya. Apakah 1 lebih kecil dari 2 (blk 1,1)? Ya. Gambar 3.7 Phn Status s far.. Prses diatas akan terus dilakukan sampai bertemu dengan satu dari dua kemungkinan yang ada : Slusi ditemukan, dengan X = (x11,x12,x13,x14,x15 x21,x22,x23,x24,x25 x31,x32,x33,x34,x35 x41,x42,x43,x44,x45 x51,x52,x53,x54,x55) dimana xij {1,2,3,4,5} dan dengan kedalaman phn 21, atau a. Slusi tidak ditemukan, yaitu tidak ada simpul yang bisa dihidupkan, dan tidak dapat melakukan backtrack. V. KESIMPULAN DAN SARAN

Permasalahan Puzzle Futshiki dapat diselesaikan dengan algritma Backtracking. Algritma Backtracking atau Runut-balik merupakan algritma yang cukup mangkus untuk mendapatkan slusi dari suatu permasalahan, karena algritma ini tidak memeriksa semua kemungkinan seperti di Exhaustive search, namun hanya memeriksa kemungkinan yang mengarah kepada slusi. Dari Algritma diatas, banyak yang bisa dikembangkan lagi untuk membuat algritma tersebut lebih mangkus, misalnya dengan mengisi blk yang memiliki cnstraint lebih besar ( > ) dengan angka yang bukan angka 1, karena 1 tidak mungkin lebih besar dari apapun (1-5), atau juga dengan menggabungkan algritma greedy. VI. ACKNOWLEDGMENT Penulis mengucapkan puji syukur kepada Tuhan Allah SWT yang telah memberikan penulis kekuatan dan kemampuan berpikir untuk dapat menulis makalah ini. Penulis juga mengucapkan terimakasih kepada kedua Orang Tua penulis yang telah menyediakan tempat berteduh juga alat untuk menulis makalah ini. Tidak lupa penulis mengucapkan terimakasih kepada Dsen pengampu matakuliah IF2211 Strategi Algritma yaitu Dr. Nur Ulfa Maulidevi, S.T, M.Sc dan Dr. Ir. Rinaldi Munir, MT. yang telah memberikan ilmu yang bermanfaat kepada penulis. REFERENSI [1] Munir, Rinaldi, Diktat Kuliah Strategi Algritma, Prgram Studi Teknik Infrmatika, STEI, ITB. [2] Slide presentasi, Algritma Runut-balik (Backtracking) [3] Spesifikasi Tugas Kecil 1 IF2211 Strategi Algritma Semester II Tahun 2013/2014, Prgram Futshiki dengan Algritma Brute Frce [4] http://www.brainbashers.cm/shwfutshiki.asp, diakses 4 Mei 2015. [5] http://www.alglist.net/algrithms/graph/undirected/depthfirst_search, diakses 4 Mei 2015 PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah rang lain, dan bukan plagiasi. Bandung, 4 Mei 2015 Juli Savigny, 13513084