LAPORAN PRAKTIKUM VIII DESAIN DAN ANALIS (1)

LAPORAN PRAKTIKUM VIII

DESAIN DAN ANALISIS ALGORITMA
Backtracking

Buatlah Program Python untuk penyelesaian Maze Problem dan N-Queen Problem

Disusun Oleh :

MARIQUITO ALVES SIMÕES
17330004

FAKULTAS TEKNIK JURUSAN INFORMATIKA
UNIVERSITAS JANABADRA
YOGYAKARTA
2018

DAFTAR ISI

HALAMAN JUDUL


........

DAFTAR ISI

........

BAB I PENDAHULUAN
1. Latar Belakang
2. Tujuan

......
.......

BAB II DASAR TEORI
1. Pengertian Python untuk penyelesaian Maze Problem dan N-Queen Problem...........
BAB III TUGAS
1. Buatlah Program Python untuk penyelesaian Maze Problem dan N-Queen Problem.
BAB IV PENUTUP
1. Kesimpulan
.......

2. Daftar Pustaka.............................................................................................................

BAB I

PENDAHULUAN
1 . Latar Belakang
Chess atau akrab dikenal dengan catur adalah satu dari permainan board game yang sudah
sangat terkenal, bahkan permainan ini sudah ada dari ratusan tahun yang lalu. Permainan
ini

menuntut

kita

untuk berpikir sedemikian rupa sehingga kita dapat mengalahkan

pertahanan lawan. Tentunya diperlukan suatu kepintaran lebih untuk melakukan hal ini, salah
satu pengembangan dari board game catur adalah permainan knight logic problem sdan

8-queen problem s. Knight logic problem s dan 8-queen problem smerupakan salah satu

jenis permainan yang menggunakan dasar permainan catur, tapi dalam knight logic

problem s dan 8-queen problem s hanya menggunakan satu buah bidak kuda dan delapan (8)
buah bidak ratu.

Selain itu, knight logic problem s dan 8-queen problem s ini sangat rumit dan sukar

untuk diselesaikan secara manual. Karena total dari 98% responden berpendapat bahwa
permainan dari knight logic problem s dan 8-queen problem s membutuhkan waktu dalam

penyelesaiannya. Hal ini disebabkan karena pada knight logic problem s dan 8-queen
problem s tidak ada informasi tambahan yang dimiliki
pencarian solusi dari permainan tersebut.
Dan total dari 76%

untuk membantu melakukan

responden berpendapat dengan adanya permainan tersebut dapat

menambah ragam permainan board game yang telah ada sehingga dapat digunakan

sebagai salah satu media alternatif untuk mengisi waktu senggang dan juga termasuk salah
satu jenis permainan edukasi sehingga dapat digunakan untuk melatih kemampuan nalar dan
logika seseorang. Algoritma pencarian yang efektif dapat diterapkan untuk menyelesaikan

persoalan tersebut. Salah satunya adalah dengan menggunakan algoritma Breadth-First
Search. Dengan metode ini, semua node akan ditelusuri dan node-node pada level n akan
dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Penggunaan
metode ini mampu menemukan suatu solusi terpendek dalam waktu dan tingkat tertentu.

2 . Tujuan

Tujuan dari pembuatan aplikasi yang akan dibangun, yaitu :
1.
Aplikasi ini
breadth first search
problem s.

dibuat bertujuan untuk mengimplementasikan penerapan algoritma
dalam penyelesaikan permainan knight logic problem s dan 8-queen


2.
Untuk merancang suatu perangkat lunak yang dapat mencari solusi dari permainan
knight logic problem s dan 8-queen problem s.
Manfaat dari pembuatan aplikasi yang akan dibangun, yaitu membantu mencari solusi dari
permainan knight logic problem s dan 8-queen problem s.

BAB II

DASAR TEORI

Runut balik (backtracking) merupakan algoritma yang berbasis pada DFS

(Depth First Search) untuk mencari solusi persoalan secara lebih optimal. Runut balik
merupakan perbaikandari algoritma brute-force, secara sistematis mencari solusi

persoalan di antara semuakemungkinan solusi yang ada. Perbedaan utamanya adalah

pada konsep dasarnya, yauti pada backtracking semua solusi dibuat dalam bentuk
pohon solusi (tree), dan kemudian pohontersebut akan ditelusuri secara DFS sehingga


ditemukan solusi terbaik yang diinginkan.Dengan metode runut-balik, kita tidak perlu
memeriksa semua kemungkinan solusi yangada. Hanya pencarian yang mengarah ke
solusi saja yang selalu dipertimabangkan. Akibatnya,waktu pencarian dapat dihemat.
Saat ini algoritma runut balik balik diterapkan untuk permainangames (seperti

permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, danlainlain) dan masalah-masalah pada bidang kecerdasan buatan (artificial intelligence).

Misalkan pohon di atas menggambarkan solusi dari suatu persoalan. Jika kita
inginmencari solusi dari A ke E, maka jalur yang harus ditempuh adalah (A-B-E).
Demikian jugauntuk solusi-solusi yang lain. Algoritma Backtracking akan memeriksa
jalur secara DFS, yaitudari solusi terdalam pertama yang ditemui yaitu solusi E. Jika
ternyata E bukanlah solusiyang diharapkan, maka pencarian akan dilanjutkan ke F.
Jalur yang harus dilalui untuk bisamencapai E adalah (A-B-E) dan untuk mencapai F
adalah (A-B-F). Kedua solusi tersebutmemiliki jalur awal yang sama, yaitu (A-B).
Jadi, daripada memeriksa ulang jalur dari Akemudian B, maka jalur (A-B) disimpan
dulu dan langsung memeriksa solusi F. Untuk kasuspohon yang lebih rumit, cara ini
dianggap lebih efisien daripada jika menggunakanalgoritma Brute-Force.

BAB III
TUGAS


1. Buatlah Program Python untuk penyelesaian Maze Problem dan N-Queen Problem:

Hasil Run:

2.N-Queen Problem:

Hasil Run:

BAB IV

PENUTUP

1 . Kesimpulan

dalam algoritma BFS dapat digunakan untuk menemukan jarak terpendek dari suatu tempat
ke tempat lainnya, selama kita dapat memodelkan pertanyaan sebagai graf tak-berbobot atau
berbobot 1. Kita juga dapat mengaplikasikan algoritma BFS ke graf berbobot dengan

memecah sisinya menjadi sisi-sisi yang berbobot satu. Kelemahan algoritma BFS adalah

untuk graf yang besar dengan jarak dari simpul awal dengan simpul akhir yang jauh

dibutuhkan waktu yang lama, karena BFS akan menelusuri seluruh simpul yang jaraknya

kurang dari jarak simpul awal ke simpul akhir, namun selama ada jalan antara simpul awal
dan akhir, BFS dijamin akan bisa menemukan jalan terpendek.

BAB V

DAFTAR PUSTAKA
[1]Munir, Rinaldi. 2009. Diktat Kuliah IF 2251 Strategi Algoritmik .
Bandung: Program Studi Teknik Informatika STEI ITB.
[2]Halim, Steven., Halim, Felix, 2013. Competitive Programming, 3rd Edition .
[3]Cormen, Thomas H., et al. Introduction to Algorithms, 3rd Edition .
MIT Press.
[4]Joshi, R., Treiman, R., Carreker, S., & Moats, L.. (2008-2009, Winter). The real magic of
spelling:
Improving
reading
and

writing.
American
Educator
,
9.http://www.aft.org/sites/default/files/periodicals/joshi.pdf p. 10.
[5]http://www.spellingcity.com/importance-of-spelling.html The Importance of Spelling by
Susan Jones, M.Ed. 2/2009 Diakses pada Sabtu, 7 Mei 2016 jam 11.37
[6]http://web.mit.edu/15.053/www/AMP-Chapter-11.pdf diakses pada Sabtu, 7 Mei 2016
13.26 WIB
[7]https://xlinux.nist.gov/dads//HTML/Levenshtein.html diakses pada Sabtu, 7 Mei 2016
20.12 WIB