Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

dokumen-dokumen yang mirip
Tujuan Instruksional

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

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

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

METODE PENCARIAN BFS dan DFS

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Bab 2 2. Teknik Pencarian

Penerapan BFS dan DFS pada Pencarian Solusi

Penerapan BFS dan DFS pada Pencarian Solusi

ALGORITMA PENCARIAN (1)

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Overview. Searching. Deskripsi. Intro Searching 2/4/2012 IF-UTAMA 1

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Problem-solving Agent: Searching

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

dengan Algoritma Branch and Bound

SEARCHING. Blind Search & Heuristic Search

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

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

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

Penggunaan Metode Branch And Bound With Search Tree

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

METODE PENCARIAN DAN PELACAKAN

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

AI sebagai Masalah Pelacakan. Lesson 2

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

ALGORITMA PENCARIAN (HEURISTIC)

Penerapan Algoritma Branch And Bound Dalam Optimasi Assigment Problem

Representasi Graf Berarah dalam Mencari Solusi Jalur Optimum Menggunakan Algoritma A*

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Penggunaan Algoritma Pathfinding pada Game

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Pemecahan Masalah Knapsack dengan Menggunakan Algoritma Branch and Bound

PENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

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

Algoritma Branch & Bound

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

I. PENDAHULUAN. Kata Kunci Greedy-Best First Search, SMA*, jalur pendek-efisien, Heuristic

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

Aplikasi Algoritma B&B untuk Memperoleh Poin Maksimum pada Permainan Diner Dash

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

IKI 30320: Sistem Cerdas Kuliah 3: Problem-Solving Agent & Search

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Penerapan Algoritma Branch and Bound dalam Pemacahan Travelling Salesman Problem (TSP) dalam Graf Lengkap

Breadth/Depth First Search. Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Masayu Leylia Khodra 22 September 2013

Artificial Intelegence/ P_2. Eka Yuniar

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Pemodelan AI dalam Permainan Snake dengan Algoritma Branch and Bound

IKI30320 Kuliah 4 5 Sep Ruli Manurung. Ulasan. Breadth-first. Uniform-cost. Depth-first. Pengulangan state. Ringkasan

Implementasi Algoritma DFS pada permainan Monument Valley

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

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

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Penerapan BFS dan DFS dalam Garbage Collection

I. PENDAHULUAN. 1.1 Permainan Rush Hour

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Prolem Solving Based on AI

HEURISTIC SEARCH UTHIE

Transkripsi:

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek. Arnold Nugroho Sutanto - 13507102 1) 1) Jurusan Teknik Informatika ITB, Bandung 40132, email: if17102@students.if.itb.ac.id Abstraksi- Suatu permasalahan seperti penentuan jalur kota akan membentuk suatu ruang solusi di mana ruang solusi ini dapat diorganisasikan ke dalam suatu struktur pohon. Pada makalah ini, kita akan membahas penentuan suatu rute jalan terpendek menuju kota tujuan dengan pencarian suatu jalur solusi pada pohon dengan menggunakan pendekatan pencarian buta (tanpa informasi). Pencarian buta sendiri memiliki dua algoritma utama yaitu Breadth First Search dan Depth First Search. Berbeda dengan DFS,BFS menghasilkan solusi yang optimum. Solusi optimum ini diperlukan dalam penyelesaian masalah penentuan jalur kota terpendek. Tetapi solusi ini bukanlah solusi akhir dikarenakan solusi optimum yang dimaksud dalam BFS hanyalah solusi tersingkat dari state awal. Menghadapi permasalahan jalur kota yang memiliki biaya/ bobot (jarak) antar state (kota) yang berbeda, solusi tersingkat bukanlah solusi biaya terkecil. Oleh karena itu, untuk mendapatkan solusi jalur kota terpendek kita akan menggunakan pemodifikasian dari algoritma BFS yang dinamakan algoritma branch and bound sebagai algoritma yang juga memperhatikan bobot antar state. Kata kunci : Penentuan jalur kota terpendek, Pohon pencarian, BFS, Branch and Bound 1. PENDAHULUAN Dalam kehidupan modern ini, bidang transportasi adalah bidang yang esensial untuk kelanjutan kehidupan sehari-hari. Hal ini membuat Permasalahan Penentuan Jalur Kota terpendek yang sebenarnya merupakan masalah lama namun tetap dianggap krusial. Permaslahan ini ditambah lagi dengan jalur kota yang semakin kompleks saat ini, sehingga banyak algoritma yang dibuat untuk menyelesaikan permasalahan ini, seperti algoritma Djikstra dan Exhaustion Enumeration. Pada makalah ini kita akan mencoba menggunakan Pohon Pencarian dalam menyelesaikan masalah ini. Penetuan jalur kota terpendek ini dapat diaplikasikan tidak hanya untuk menentukan rute perjalanan, tetapi juga untuk pembangunan jalan dengan biaya yang minimum atau pembuatan rel kereta api. 2. PROBLEM SOLVING DENGAN SEARCHING 2.1. Konsep Dasar Problem yang dimaksud di sini adalah deviasi antara current state dengan goal. Domain problem dimodelkan ke dalam state space searching (ruang pencarian) berisi kumpulan state berbeda. State adalah sebuah kondisi yang mungkin dalam obyek permasalahan tersebut. Problem solving sendiri adalah bagaimana bergerak dari current state ke arah goal. Langkah awal dalam problem solving adalah mencari state yang cocok dengan state awal dan kemudian mecari rangkaian next state dari state awal yang cocok dan yang bisa mengantarkan pada state goal. Konsep problem solving dengan tree searching merepresentasikan ruang pencarian dalam suatu problem menjadi struktur pohon yang dinamakan pohon pencarian. Problem solving dilakukan dengan mengunjungi simpul-simpul secara traversal dalam pohon tersebut. Pohon pencarian adalah sebuah data struktur yang terdiri atas sebuah simpul induk utama, disebut root, tempat dimulainya pencarian. Setiap simpul dapat memiliki satu atau lebih simpul anak. Data sturktur suatu simpul : 1. Deskripsi keadaan 2. Pointer ke parent 3. Kedalaman simpul 4. Operator yang membuka simpul ini 5. Biaya total dari simpul awal sampai simpul ini Setiap algoritma pencarian akan menyimpan semua simpul dalam pohon dalam suatu daftar List yang disebut sebagai fringe. Fringe ini dipakai sebagai alat untuk menunjukkan simpul yang telah dibuka dan siap untuk dieksplorasi. 2.2. Stratergi-strategi Pencarian Strategi pencarian didefinisikan berdasarkan penentuan urutan pemrosesan node. Strategi ini dievaluasi berdasarkan beberapa factor, yaitu : 1. Kelengkapan : apakah dapat diberikan garansi bahwa solusi terdapat dalam ruang pencarian

2. Optimasi : apakah solusi yang akan didapatkan memerlukan biaya minimal 3. Kompleksitas waktu : jumlah nodes yang diproses 4. Kompleksitas memori : jumlah maksimum nodes di memori Terminologi untuk kompleksitas waktu dan memori adalah 1. b: pencabangan maksimal dari pohon pencarian 2. d : kedalaman dari solusi terendah 3. m : kedalaman maksimum dari ruang pencarian memiliki model antrian FIFO (first in first out) yang tidak lain berupa queue. Ilustrasi dari BFS dapat kita lihat sebagai berikut dengan Goal state adalah G. A Pada awalnya hanya ada satu simpul awal dalam fringe yaitu A. Strategi pencarian yang akan dibahas pada makalah ini hanya menggunakan informasi yang tersedia pada definisi masalah atau yang disebut dengan pencarian buta (uninformed). Berbagai strategi pencarian uninformed adalah: 1. Breadth-first search (BFS) 2. Uniform-cost search 3. Depth-first search (DFS) 4. Depth-limited search 5. Depth First Iriterative Deepening (DFID) Pada makalah ini, kita hanya membahas algoritma BFS yang memiliki optimasi sehingga dapat kita gunakan untuk menyelesaikan permasalahan penentuan jalur kota. Algoritma BFS ini sendiri akan sedikit dimodifikasi karena bobot dari setiap jalur yang berbeda. B C Simpul A dikeluarkan dari fringe dan membuka semua suksesornya, yaitu B dan C sehingga B dan C masuk dalam antrian fringe. 2.3. Breadth-first search (BFS) Algoritma dasar dari BFS adalah Ambil fringe sebagai list berisi keadaan awal Loop If fringe kosong return failure Node <- remove first (fringe) If Node is a goal then return jalur dari keadaan awal sampai Node else buka semua suksesor Node dan (satukan Nodes baru ke dalam fringe) tambahkan Nodes baru ke akhir fringe End Loop C D E Simpul B dibuka dan dikeluarkan dari fringe, dan membuka suksesor-suksesornya, yaitu D dan E. D dan E kemudian dimasukkan pada antrian fringe. Proses ini berlanjut hingga simpul Goal (G) berada pada antrian di awal dan siap untuk dibuka. Ciri utama dari algoritma BFS ini adalah memprioritaskan node se level. Pencarian akan melebar, mengikur pembukaan semua suksesor dari sebuah simpul. Simpul baru dalam BFS diletakkan pada akhir fringe. Dengan demikian, Fringe

BFS akan menemukan solusi dengan jalur tersingkat. 3. Kompleksitas waktu : 1+b+b 2 +b 3 + +b d =O(b d ) 4. Kompleksitas ruang : O(b d ) karena menyimpan semua node di memori D E D G E D G C F D G C F G C F B F Simpul G dibuka dan ternyata merupakan Goal, algoritma BFS berhenti. Evaluasi dari BFS : 1. Kelengkapan : Ya, karena semua kemungkinan dalam satu tingkat kedalaman akan diekspan semuanya. 2. Optimasi : 3. BRANCH AND BOUND 3.1. Konsep BFS yang disesuaikan untuk masalah penentuan jalur kota terpendek Seperti yang telah disebutkan sebelumnya, BFS memiliki solusi tersingkat tetapi dalam masalah penentuan jalur kota yang biaya (jarak) menuju state selanjutnya berbeda-beda, solusi tersingkat belum tentu menjadi solusi yang memiliki biaya terendah (jarak terpendek). Oleh karena itu, konsep BFS ini akan sedikit dimodifikasi untuk mencapai tujuan tersebut. Modifikasi BFS ini dinamakan Branch and Bound. Inti penerapan algoritma Branch and Bound pada penentuan jalur kota ini adalah adanya batas atas biaya, yang memperbolehkan pencarian BFS pada node selanjutnya selama biaya total dari node tersebut kurang dari batas atas yang ditentukan, meskipun node Goal sudah ditemukan. Batas atas yang dimaksudkan adalah jumlah biaya dari node goal yang sudah ditemukan terlebih dahulu. Algoritma ini akan berhenti jika semua node dalam fringe memiliki biaya di atas batas atas yang ditentukan. Untuk lebih jelasnya, ada baiknya jika kita melihat algoritma ini per langkah. Langkah 1. Inisiasi yang sama dengan inisiasi BFS, yaitu penentuan simpul awal. Selain itu, sebagai inisiasi, batas atas biaya ditentukan tak hingga ( ). Langkah 2. Melakukan BFS sampai ditemukan simpul Goal. Goal tersebut disimpan kemudian batas atas diubah menjadi biaya dari node Goal tersebut. Langkah 3. Melakukan pengecekan pada setiap node pada fringe. Jika biaya dari node tersebut melebihi atau sama dengan batas atas, maka node tersebut diacuhkan (dihentikan pencariannya) dengan dibuang dari fringe. Node lain yang memiliki biaya di bawah batas atas yang sudah ditentukan, tetap dilakukan pencarian selanjutnya. Langkah 4. Pencarian dilakukan hingga ditemukan node Goal baru yang memiliki biaya di bawah batas atas atau ada node dalam fringe yang memiliki biaya di atas batas atas. Langkah 4.1 Jika saat melakukan pencarian ditemukan node goal lain yang memiliki biaya di bawah batas atas sebelumnya, batas atas diubah menjadi biaya dari goal yang baru. Kemudian kembali ke langkah 3.

Langkah 4.2 Jika saat melakukan pencarian selanjutnya diketemukan ada node dalam fringe yang memliki biaya diatas batas atas, node tersebut dihilangkan dari fringe. Pencarian dilanjutkan hingga fringe menjadi kosong dan node yang daripadanya didapati batas atas biaya terakhir merupakan goal terpendek. Pencarian dihentikan. 3.2. Pengujian algoritma Branch and Bound pada penentuan jalur kota Kita mulai dengan mendefinisikan masalah seperti berikut Ini adalah peta Romania, Anda disuruh menuju kota dari kota untuk mengantarkan Pizza. Karena Pizza harus sampai pada konsumen hangat-hangat, jadi sebisa mungkin gunakanlah rute terpendek menuju kota. Langkah 1 Kita ambil state awal adalah. memiliki pilihan jalur yaitu menuju dan. Sehingga kita representasi pohon pencarian sebagai berikut (0) Batas atas : (0) Langkah 2 Kita melakukan BFS seperti yang telah di jelaskan sebelumnya.

Dobret a Diketemukan Goal awal yaitu dengan jarak sebesar 450. Goal ini disimpan dan batas atas menjadi 450. Langkah 3 Fringe dicek untuk melihat node mana yang tidak bisa lagi dilanjutkan pencariannya karena melampaui atau sama dengan batas atas dan kemudian dibuang Fringe awal: Fringe baru menjadi: Batas Atas : 450 Langkah 4. Pencarian dilanjutkan berdasarkan fringe yang baru yaitu pencarian pada node.

Fringe: Goal ditemukan lagi dengan biaya jarak 418 sehingga kita maju ke langkah 4.1 Langkah 4.1 Goal ini disimpan menggantikan goal lama kemudian batas atas diubah menjadi 418. Setelah itu, diulangi lagi langkah 3 sehingga : Fringe awal: Fringe baru menjadi: Batas atas : 418 Timi (507) Timi (507) Ditemukan node dalam fringe yang memiliki biaya di atas batas atas yang ditentukan yaitu 418, maka kita maju ke langkah 4.2. Langkah 4.2 Node Timi(507) dihilangkan dari fringe, sehingga fringe menjadi kosong. Akibatnya, algoritma pencarian ini dihentikan dan didapatkan jalur terpendek yang diinginkan yaitu --- -, dengan jarak yang ditempuh adalah 418. Setelah langkah 3 selesai dilakukan, kita maju kembali lagi ke langkah 4. Pencarian dilanjutkan berdasarkan fringe yang baru yang menunjuk pada antrian pertama yaitu. Timi (507) Dengan demikian, penetuan jalur kota terpendek dapat diselesaikan dengan algoritma ini.

3.3. Evaluasi Algoritma Branch and Bound dalam Pencarian Jalur Terpendek 1. Kelengkapan : Ya, karena semua kemungkinan dalam satu tingkat kedalaman akan diekspan semuanya sama seperti BSF. 2. Optimasi : Algoritma ini akan menemukan jalur dengan biaya/bobot terkecil 3. Kompleksitas waktu : Pada kasus terburuk, memiliki kompleksitas yang lebih besar dari BFS walaupun memiliki nilai O besar yang sama, yaitu. 1+b+b 2 +b 3 + +b d =O(b d ) Tetapi, tentu saja variable d(kedalaman) pada Branch and Bound lebih besar dari BSF. 4. Kompleksitas ruang : Pada kasus terburuk memiliki kompleksitas ruang O(b d ) karena menyimpan semua node di memori. [4]. http://www.stttelkom.ac.id/staf/atw/pages/dow nload.php Tanggal akses:29 Desember 2008 pukul 15:00 [5]. http://www.cs.ui.ac.id/webkuliah/iki30320/m ateri/iki30320_20070905_handout_ rev.pdf Tanggal akses: 29 Desember 2008 pukul 16:00 [6]. http://en.wikipedia.org/wiki/branch_and_boun d Tanggal akses:30 Desember 2008 pukul 11:00 [7]. http://mufidnilmada.staff.gunadarma.ac.id/do wnloads/files/9705/algoritma+branch+and+ Bound+(bagian+1).ppt Tanggal akses: 1 Januari 2009 pukul 14:00 4. KESIMPULAN Permasalahan penentuan Jalur kota terpendek membentuk suatu ruang solusi yang dapat direpresentasikan dengan menggunakan pohon pencarian. Pohon pencarian ini dapat dibentuk dengan algoritma Branch and Bound yang berbasis pada BFS. Algoritma ini digunakan untuk mendapatkan solusi yang lebih mangkus yang dalam artian optimal dalam biayanya. Hal ini dikarenakan basis penerapan Branch and Bound itu sendiri adalah untuk persoalan optimasi yang berdasarkan biaya antar state yang berbeda sehingga cocok diterapkan untuk penentuan jalur kota terpendek. Walaupun memiliki kompleksitas nilai O besar yang bersifat eksponensial, Algoritma Branch and Bound dapat digolongkan sebagai algoritma yang memiliki kompleksitas yang kecil jika dibandingkan dengan algoritma yang juga berbasis optimasi lainnya. DAFTAR PUSTAKA [1]. Munir, Rinaldi. (2006). Matematika Diskrit, InformatikaBandung, 2005, hal.ix-1 X-32. [2]. http://www.informatika.org/~rinaldi/stmik/200 6-2007/ Penerapan%20BFS%20dan%20 DFS% 20pada%20Pencarian%20Solusi.pdf Tanggal akses: 29 Desember 2008 pukul 14:00 [3]. http://elearning.uin-suka.ac.id/attachment/ 8_penerapan_bfs_dan_dfs_p.ppt Tanggal akses:29 Desember 2008 pukul 15:00