Anda di halaman 1dari 3

Analisis Penerapan Algoritma Backtrack

dalam Pencarian Solusi Game Maze (Labirin)

Dzurrotun Nafi’ah1, Rahayu Dyah Harini2, R. Afiannas3

Jurusan Teknik Informatika, Sekolah Tinggi Teknologi Telkom


Jl. Telekomunikasi, Bandung
1
naff_sagitarius@yahoo.com, 2dudley_1012@yahoo.com, 3a_nz13@yahoo.com

Abstrak

Game komputer merupakan salah satu aplikasi software yang saat ini banyak dikembangkan. Dengan
jenis yang bermacam-macam dan tampilan yang menarik, game komputer termasuk software yang
diminati oleh berbagai kalangan. Selain karena tampilan dan aplikasinya relatif menarik, game
komputer juga disinyalir dapat menjadi salah satu sarana refreshing yang cukup menyenangkan
terutama bagi orang yang telah terbiasa menggunakan komputer. Pada makalah ini, penulis mencoba
membahas tentang game Maze (Labirin) dan menganalisis penerapan algoritma backtrack sebagai salah
satu cara penyelesaian persoalan pada game ini. Berbagai data dalam makalah ini penulis peroleh dari
berbagai sumber yang berkaitan. Sumber utama yang menjadi referensi penulis adalah Diktat Kuliah
IF2251 Strategi Algoritmik yang disusun oleh Ir. Rinaldi Munir,M.T dan slide materi kuliah Desain dan
Analisis Algoritma STT Telkom. Selain dari sumber tersebut penulis juga mendapatkan referensi dari
situs-situs yang berkaitan dengan penerapan algoritma yang telah penulis pelajari untuk aplikasi game
Maze (Labirin) di mana user diminta untuk mencari solusi untuk menemukan jalur yang dapat
mencapai tujuan yang telah ditentukan. Melalui pembahasan makalah ini, penulis menemukan bahwa
game Maze (Labirin) menggunakan algoritma backtrack (runut balik) di mana komputer juga dapat
menemukan jalur yang tepat untuk mencapai tujuan. Dalam proses penentuan jalur, jika komputer
mencapai tujuan yang tidak sesuai maka komputer akan melakukan backtrack (runut balik) hingga
dapat mencapai tujuan yang sesuai.

Kata Kunci : backtrack, game, Maze (Labirin)

Abstract

Computer Game is one of software applications that are mostly developed. Nowadays, a lot of people are
interested in computer game because of its attractive interface and various kinds. Computer game can be
a simple refreshing method, especially to the expert computer users. On this paper, the writers try to
discuss about a game called Maze (Labirin) and analyze the backtrack application to solve the problem on
this game. The writers get the supporting data from many sources which are concerned with the theory.
The main source which the writers used is Diktat Kuliah IF2251 Strategi Algoritmik by Ir. Rinaldi
Munir,M.T and Desain dan Analisis Algoritma’s lectures by STT Telkom. Besides that, the writers get
other concerned sources from internet sites about Maze (Labirin)-backtrack algorithm application- to
look for the fixed goal. On this paper, the writers conclude that Maze (Labirin) game uses backtrack
algorithm to find the right path to reach the fixed goal. In this process, if computer can’t find the fixed
goal, it will do backtrack until it can reach the right destination.

Keywords: backtrack, game, Maze (Labirin)

1. Pendahuluan aplikasi yang cukup diminati karena bisa


dimanfaatkan sebagai ajang refreshing dan olah
Semenjak dahulu, permainan (game) otak. Bahkan tidak jarang aplikasi pada komputer
merupakan hal yang sangat menarik bagi sebagian menimbulkan kecanduan bagi user.
besar masyarakat dunia. Dengan berkembangnya Makalah ini dibuat untuk memenuhi tugas mata
berbagai bentuk game, baik berupa game yang kuliah Desain dan Analisis Algoritma. Selain itu
masih sederhana maupun yang sudah menggunakan juga bertujuan untuk menambah pengetahuan
teknologi yang canggih, game menjadi sangat penulis dalam menganalisa penerapan algoritma
populer di berbagai tempat. Salah satu bentuk game untuk menyelesaikan persoalan. Dalam hal ini
yang dewasa ini sudah tidak asing adalah game persoalan yang penulis angkat adalah persoalan
yang dimainkan di komputer. Game merupakan dalam penyelesaian game Maze (Labirin).
Game Maze (Labirin) merupakan game **
sederhana yang bertujuan menentukan jalur yang else
tepat untuk mencapai tujuan yang telah ditetapkan. backtrack langkah sampai terdapat arah
Selama proses penentuan jalur tersebut, jika seperti yang disebutkan di atas
menemui jalan buntu maka akan dilakukan proses endif
backtrack sampai kembali menemukan jalur yang endwhile
tepat untuk mencapai tujuan.
Berbagai data yang terdapat dalam makalah ini 2.3 Hasil Penelitian
diperoleh dari berbagai sumber yang berkaitan.
Sumber utama yang menjadi referensi penulis adalah Penggunaan algoritma backtrack ini terlihat
slide kuliah Desain dan Analisis Algoritma. Selain pada proses penelusuran tiap jalur untuk mencapai
itu penulis juga mendapatkan referensi dari berbagai tujuan yang diinginkan.
buku dan situs yang berkaitan dengan penerapan Sejak komputer memulai permainan, komputer
algoritma backtrack. akan menentukan jalur menelusuri sembarang jalur.
Ketika komputer menemukan jalan buntu, maka ia
2. Pembahasan akan melakukan proses backtrack dengan cara
kembali pada jalur sebelumnya sampai menemukan
2.1 Konsep jalur baru yang belum pernah dilewati.
Ada dua solusi untuk masalah ini, yaitu secara
Maze (Labirin) merupakan game yang iteratif dan rekursif. Dalam hal ini, penulis
template-nya berbentuk persegi yang ukurannya menggunakan metode iteratif.
dapat diatur sesuai dengan keinginan user. Di Algoritma runut-balik persoalan labirin adalah
dalamnya terdapat serangkaian jalur berupa labirin sebagai berikut.
yang bercabang. Namun, tidak setiap cabang
mencapai tujuan yang diinginkan.
function SolveMaze(input M : labirin) boolean
{ true jika solusi ditemukan, false jika tidak }
Deklarasi
2.2 Model Penelitian
arah : integer { up = 1, down, 2, left = 3, right = 4 }
Algoritma:
Pada makalah ini, penulis menggunakan
if solusi sudah ditemukan then
algoritma backtrack. Algoritma backtrack pertama
return true
kali diperkenalkan oleh D.H. Lehmer pada tahun
else
1950. Dalam perkembangannya beberapa ahli
for tiap arah gerakan (up, down, left, right) do
seperti RJ Walker, Golomb, dan Baumert
move(M,arah) {pindah satu langkah (satu sel)
menyajikan uraian umum tentang backtrack dan
sesuai arah tersebut }
penerapannya dalam berbagai persoalan dan
if SolveMaze(M) then
aplikasi.
return true
Algoritma backtrack (runut balik) merupakan
else
salah satu metode pemecahan masalah yang
unmove(M, arah) { backtrack }
termasuk dalam strategi yang berbasis pencarian
endif
pada ruang status. Algoritma backtrack bekerja
endfor
secara rekursif dan melakukan pencarian solusi
return false
persoalan secara sistematis pada semua
{ semua arah sudah dicoba, tetapi tetap buntu,
kemungkinan solusi yang ada. Oleh karena
maka kesimpulannya: tidak ada solusi }
algoritma ini berbasis pada algoritma Depth-First
endif
Search (DFS), maka pencarian solusi dilakukan
dengan menelusuri suatu struktur berbentuk pohon
berakar secara preorder. Proses ini dicirikan dengan
ekspansi simpul terdalam lebih dahulu sampai tidak
ditemukan lagi suksesor dari suatu simpul.
Algoritma runut-balik secara garis besar
adalah:

while belum sampai pada tujuan do


if terdapat arah yang benar sedemikian
sehingga kita belum pernah berpindah ke sel
pada arah tersebut
then
pindah satu langkah ke arah tersebut Gambar 1. Sebuah Labirin
Dalam game ini, algoritma akan membagi kemungkinan solusi yang ada. Pencarian hanya
lintasan menjadi sederetan langkah. Sebuah langkah mengarah pada solusi yang dipertimbangkan saja.
terdiri dari pergerakan satu unit sel pada arah Oleh karena algoritma ini cukup efektif, maka
tertentu. Arah yang mungkin: ke atas (up), ke bawah algoritma backtrack banyak diterapkan dalam
(down), ke kiri (left), ke kanan (right). berbagai program game dan persoalan yang
berkaitan dengan kecerdasan buatan (artificial
intelligence).
Sebenarnya sebagai sesuatu yang cukup baru,
in out penyelesaian persoalan game Maze (Labirin) ini
belum dapat dianalisis untuk berbagai algoritma.
Namun melalui beberapa analisis yang penulis
lakukan, penulis berpendapat bahwa algoritma
backtrack cukup efektif untuk menyelesaikan
persoalan ini.
Agar lebih menarik, game ini dapat
ditambahkan aturan main, misalnya terdapat pilihan
level permainan, batasan waktu permainan, dan
batasan jalur yang dilewati. Selain itu, dari sisi
tampilan agar dapat lebih menarik, perlu adanya
visualisasi penelusuran jalur, misalnya pemain atau
komputer dilambangkan sebagai objek yang dapat
Gambar 2. Contoh runut-balik pada sebuah labirin. bergerak ketika melakukan penelusuran jalur.
Runut-balik diperlihatkan dengan garis putus-putus.
Daftar Pustaka

[1] Munir, Rinaldi. 2005. Strategi Algoritmik.


Teknik Informatika ITB: Bandung.
[2] Darby, Gary. 2000-2006.
http://www.delphiforfun.org. Diakses pada
tanggal 19 Maret 2006
[3] Kusumadewi, Sri. 2003. Artificial Intelligence
(Teknik dan Aplikasinya). Penerbit Graha
Ilmu:Yogyakarta.

.
Gambar 3. Contoh runut-balik pada labirin dari
Gambar 1

2.4 Analisis

Kemampuan algoritma dalam menyelesaikan


masalah game Maze (Labirin) ini menunjukkan
bahwa algoritma backtrack (runut balik) cukup
efektif untuk mendapatkan solusi persoalan tersebut.
Sistem kerja algoritma backtrack yang sistematis
dan ciri khasnya yang hanya memeriksa
kemungkinan solusi yang memang dapat
dipertimbangkan untuk menjadi solusi akhir,
diperkirakan untuk menjadi solusi yang efektif dan
efisien untuk persoalan ini.

3. Kesimpulan dan Saran Pengembangan

Algoritma backtrack merupakan algoritma


yang cukup mangkus untuk menyelesaikan berbagai
persoalan. Hal ini disebabkan karena pada
prinsipnya, kita tidak perlu memeriksa semua