ANALISIS DAN PERANCANGAN APLIKASI
3.1 Analisis
Dalam merancang suatu sistem diperlukan analisis terhadap sistem yang akan dirancang, dengan tujuan agar sistem yang dirancang nantinya akan menjadi tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga. Di samping itu dengan dilakukannya analisis kita akan dapat mempermudah kerja kita dalam membuat sistem.
3.1.1 Representasi Lingkungan
Lingkungan merupakan suatu interaksi dari sebuah wadah atau tempat yang berkumpul sehingga terjadi tindakan saling timbal-balik. Gambar berikut merupakan ilustrasi dari Magic square.
1 2 3 4
A B C D
Gambar 3.1 Ilustrasi Magic square
Dari ilustrasi diatas kita dapat melihat bahwa nantinya akan ada berkumpul beberapa nilai atau bilangan sebagai hasil dari suatu interaksi antara manusia (user) dengan komputer sehingga terbentuknya suatu Magic square.
3.1.2 Analisis Algoritma
Seperti yang telah dipaparkan pada bab sebelumnya, algoritma yang digunakan untuk membangun aplikasi ini adalah algoritma Runut-balik (Backtraking).
Pada algoritma Backtracking, ada beberapa properti yang perlu dipertimbangkan yaitu properti solusi persoalan, properti komponen vektor solusi dan properti kriteria pembatas. Berikut ini adalah penjabaran properti-properti tersebut.
1. Properti Solusi Persoalan
Properti solusi persoalan merupakan properti yang berisikan simpul-simpul solusi dari persoalan. Pada permainan magic square ini, simpul-simpul persoalan merupakan kotak permainan yang tersedia pada papan matriks A, B, dan C. Kotak-kotak tersebut berisikan nilai dari 1-16.
S = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
2. Properti Komponen Vektor Solusi
Properti komponen vektor sulusi merupakan parameter yang digunakan untuk mengarahkan penelusuran simpul menuju ke arah solusi. Parameter ini terdiri atas m, dan k. m untuk menyatakan titik koordinat dari matriks B dan k menyatakan titik koordinat pada matriks A. Dimana m memiliki parameter untuk menentukan kolom dan baris yaitu x, dan y. x disini merupakan kolom dan y merupakan baris sehingga terjadi titik koordinat m(x,y). Begitu juga untuk parameter k, juga memiliki parameter untuk kolom dan baris yaitu i, dan j. Dimana I merupakan kolom dan j merupakan baris dan titik koordinat k(i,j).
3. Properti Kriteria Pembatas
Properti kriteria pembatas merupakan properti yang berupa fungsi untuk menentukan apakah simpul-simpul mengarah ke solusi. Kriteria pembatas yang diterapkan pada algoritma Backtracking ini, mengacu pada strategi yang akan
dipakai pada permainan magic square. Strategi tersebut adalah memindahkan semua nilai yang ada pada matriks B ke matriks A dengan mencari nilai yang tepat pada kriteria yang telah ditentukan sistem yaitu 34 sehingga terjadi urutan nilai yang acak.
Berikut ini adalah pseudocode penerapan algoritma runut balik (backtracking) pada permainan magic square.
procedure Backtrack(input n: integer) {mencari solusi persoalan versi iteratif; Masukan : n, yaitu panjang vektor solusi Keluaran : solusi x =(x[1],…, x[n]) } Deklarasi: k : integer Algoritma: k ←1 while k > 0 do if
(x[k] belum dicoba sampai x[k]_T[(k)) and (B(x[1], x[2], ..., x[n]) = true) then
if((x[1],x[2],...,x[k])adalah lintasan akar ke daun) then CetakSolusi(x) endif k ←k+1 else k ←k-1 endif endwhile {k=0}
Berikut ini adalah contoh kasus untuk penelusuran algoritma runut balik (backtrackinng) pada permainan magic square.
Matriks A Matriks B Matriks C
Gambar 3.2 Matriks A Jalannya Solusi, Matriks B Sample, Matriks C Hasil dari Solusi 1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16
Gambar 3.2 diatas merupakan gambar keadaan awal dari papan matriks A, matriks B, dan Matriks C. Berdasarkan gambar diatas, maka penelusuran pertama berjalan dimulai dari m(1,1) yang nilainya 1 dan akan masuk ke k(1,1) jika nilai tersebut dapat memenuhi kriteria yang telah ditentukan sistem dan berlanjut penelusuran untuk k(1,2) dan nilai pada m(1,2) masih memenuhi kriteria maka akan dipindahkan sampai ke tingkat tertinggi sehingga untuk nilai k(1,3) = m(4,3) dan k(1,4) = m(4,4). Penelusuran yang terjadi sebenarnya masih mencari nilai horisontal saja sebagai contoh untuk penelusuran vertical dan penelusuran diagonal karena kedua penelusuran ini memiliki sifat menunggu dari penelusuran horisontal.
Pada penelusuran selanjutnya untuk mendapatkan nilai k(2,1), maka yang berjalan disini adalah penelusuran horisontal dan penelusuran vertikal untuk mendapatkan nilai maksimal sehingga didapat nilai dari matriks B adalah m(3,4). Untuk penelusuran pada k(2,2) yang berjalan adalah penelusuran horisontal, penelusuran vertikal dan penelusuran diagonal. Untuk memperjelas semua nilai yang berpindah kita lihat gambar pohon ruang status di bawah ini:
1. Penelusuran Horisontal
Gambar 3.3 Pohon Ruang Status Terhadap Nilai Horisontal 34 12 13 8 1 2 14 7 11 15 3 10 6 16 5 4 9 m=1 m=1+2 m=1+2+15 m=1+2+15+16 m=12 m=13 m=8 m=12+14 m=12+14+3 m=12+14+3+5 m=13+7 m=13+7+10 m=13+7+10+4 m=8+11 m=8+11+6 m=8+11+6+9
2. Penelusuran Vertikal
Gambar 3.4 Pohon Ruang Status Terhadap Nilai Vertikal
3. Penelusuran Diagnoal
Gambar 3.5 Pohon Ruang Status Terhadap Nilai Diagonal 34 2 15 16 1 12 14 3 5 13 7 10 4 8 11 6 9 m=1 m=1+12 m=1+12+13 m=1+12+13+8 m=2 m=15 m=16 m=2+14 m=2+14+7 m=2+14+7+11 m=15+3 m=15+3+10 m=15+3+10+6 m=16+5 m=16+5+4 m=16+5+4+9 m=1 m=1+14 m=1+14+10 m=1+14+10+9 m=16 m=16+3 m=16+3+7 m=16+3+7+8 34 16 1 14 3 10 7 9 8
3.2Perancangan Sistem
Perancangan sistem yang akan dibahas meliputi perancangan alur permainan pada permainan magic square, perancangan aplikasi permainan dan perancangan antarmuka.
3.2.1 Perancangan Alur Permainan
Pada perancangan alur permainan ini, akan dirancang langkah – langkah bermain pada permainan magic square dengan flowchart berdasarkan peraturan permainan magic square tersebut. Peraturan magic square ini telah dibahas pada bab sebelumnya. Gambar 3.6 berikut adalah gambar flowchart permainan magic square.
mulai 4 3 2 1 4 1 m m m m m i + + + =
∑
= 8 7 6 5 8 5 m m m m m i + + + =∑
= m(x,y), l ? 34 4 1 =∑
i= m ? 34 8 5 =∑
i= m 12 11 10 9 12 9 m m m m m i + + + =∑
= ? 34 12 9 =∑
i= m selesai ya ya ya ya 16 15 14 13 16 13 m m m m m i + + + =∑
= ? 34 16 13 =∑
= i m tidak tidak tidak tidak3.2.2 Perancangan Aplikasi
Perancangan sistem dapat dibagi menjadi dua tahap yaitu perancangan konseptual dan perancangan fisik yang tujuan utamanya adalah menghasilkan suatu rancangan yang mampu memenuhi kebutuhan pengguna aplikasi.
3.2.2.1 Perancangan Konseptual
Tahapan perancangan ini menitikberatkan pada perencanaan konsep, misalnya sistem kontrol, rancangan modul dan aliran data. Disini penulisan untuk membuat perencanaan konsep tersebut menggunakan cara dengan fungsional aplikasi yaitu dengan use case dan akan dijelaskan juga proses aplikasi tersebut.
3.2.2.2 Fungsional Aplikasi
Use case adalah teknik untuk mendeskripsikan persyaratan fungsional sebuah sistem. Fungsi use case adalah mendeskripsikan interaksi antara user dan aplikasi secara eksternal, mirip dengan diagram konteks pada DFD sehingga tidak dijumpai adanya hubungan antara use case dengan class-class. Berikut adalah diagram use case aplikasi Magic Square.
Gambar3.7 Use case Aplikasi Player
Waktu
Tanpa Waktu Main
3.2.2.3 Proses Akitivitas Aplikasi
Proses yang akan dideskripsikan adalah proses yang terdapat pada diagram use case di atas, yaitu Main, Waktu, dan Tanpa Waktu. Berikut ini adalah tabel proses aktivitas aplikasi untuk use case di atas.
1. Bermain
Bermain merupakan suatu proses yang dijalankan oleh user untuk dapat bermain. Dibawah ini merupakan table proses aplikasi.
Tabel 3.1 Tabel Proses Bermain
Hal Deskripsi
Use case Name Bermain
Brief Description Player menjalankan aplikasi dan langsung mulai bermain.
Precondition Aplikasi aktif
Flow of Events 1. Player menjalankan aplikasi
Magic square.
2. Sistem menampilkan interface aplikasi.
3. Player memindahkan nilai yang ada di matriks B ke matriks A yang kosong.
4. Aplikasi membaca inputan player.
Post Condition -
Alternative Flows and Exception Jika permainan belum berakhir maka proses akan kembali berulang.
2. Waktu
Waktu Merupakan bagian Radio Button dari suatu permainan ini untuk mencari solusi yang terjadi berdasarkan waktu yang tersedia.
Tabel 3.2 Tabel Proses Waktu
Hal Deskripsi
Use case Name Waktu
Brief Description Proses ini berfungsi untuk melihat jalannya penelusuran dari magic square.
Precondition Tidak ada
Flow of Events 1. Aplikasi menampilkan 3 papan permainan.
2. Aplikasi ini bermain dengan
sendirinya dengan memindahkan semua nilai yang
ada di matriks B ke matriks A dan di implementasikan ke matriks C.
3. Kita dapat melihat jalannya permainan tersebut
Post Condition Tampilan 3 papan Permainan Alternative Flows and Exception Tidak ada
3. Tanpa Waktu
Tanpa waktu ini merupakan pilihan untuk melihat penelusuran secara cepat sehingga hamper tidak dapat terbaca oleh mata user.
Tabel 3.3 Tabel Proses Tanpa Waktu
Hal Deskripsi
Use case Name Tanpa Waktu
Brief Description Proses ini berfungsi untuk penelusuran solusi secara cepat
Precondition Tidak ada
Flow of Events 1. Aplikasi ini menampilkan 3
buah matriks A, B, danC
2. Komputer akan meletakkan nilai yang sesuai pada tempatnya secepat mungkin.
Post Condition Tampilan Papan Permainan Alternative Flows and Exception Tidak ada
3.3 Perancangan Fisik
Pada tahap ini rancangan yang telah dibuat para perancangan konseptual diterjemahkan ke dalam bentuk fisik sehingga terbentuk spesifikasi yang lengkap. Tahapan ini menitikberatkan pada proses rancang bangun antarmuka (interface), rancangan basis data dan sebagainya.
3.3.1 Perancangan Antarmuka Pengguna (user interface)
Perancangan antarmuka merupakan tahap penting, sebab di sini user akan melakukan interaksi dengan aplikasi. Antarmuka yang akan dibangun harus sederhana namun cukup menarik dalam arti tidak berlebihan sehingga mudah dipahami dan dipelajari user.
1. Form dari Magic square
Berikut adalah gambar rancangan antarmuka aplikasi Magic square.
Gambar 3.8 Form Utama Magic Square
Form utama dari permainan ini berupa 3 buah matriks yaitu A, B, dan C yang akan menunjukkan bagaimana penelusuran dari tiap kolom dan baris dijalankan dan di implementasikan sehingga terjadinya nilai hasil yang maksimal. Layar antarmuka ini akan langsung ditampilkan begitu user mengeksekusi program aplikasi. Form ini akan menampilkan Radio Button, waktu dalam detik, penelusuran, dan nilai solusi.
2. Menu Pilihan
Menu Pilihan disini berguna untuk menjalankan solusi dari tiap-tiap kemungkinan yang terjadi baik itu kita yang menjalankannya atau komputer yang menjalankan berdasarkan waktu yang telah ditentukan atau pun secara cepat tanpa berdasarkan waktu.lihat gambar di bawah
Gambar 3.9 Radio Button dari Magic Square
Gambar diatas merupakan radio button pemilihan, jika kita sebagai user memilih main, maka user harus menyusun semua nilai yang di matriks B ke matriks A, dengan cara memindahkan semua nilai yang terurut dari 1-16 dan disusun secara acak sehingga memiliki hasil yang magic. Jika user memilih berdasarkan waktu atau tidak berdasarkan waktu maka user hanya melihat solusi-solusi yang terdapat pada 3 buah matriks tersebut.
3. Waktu
Waktu berguna untuk melihat jalannya solusi sehingga kita mengetahui bagaimana sebuah magic square ini terbentuk dengan menggunakan algoritma runut balik (backtracking). Awal waktu yang ditentukan adalah 250 detik sehingga kita dapat melihat jalannya solusi dengan cukup baik dan bagaimana magic square terbentuk.
4. Solusi
Solusi berguna untuk melihat berapa banyak solusi yang dapat terjadi pada matriks yang berordo 4x4 dan membentuk hasil yang magic. Tombol lanjut solusi ini berfungsi untuk melanjutkan penelusuran yang di cari dari matriks-matriks tersebut. Solusi merupakan hasil yang telah tercapai dantanda checklist merupakan tanda untuk kita bisa melihat slusi secara manual. Jika kita tidak checklist tanda solusi maka penelusuran akan dicari terus sampai habis secara otomatis.
Gambar 3.11 Menu Lanjut Solusi
3.3.2 Perancangan Piranti Masukan
Piranti interaksi merupakan alat bantu bagi user ketika menggunakan suatu aplikasi. Untuk itu penulis berusaha merancang aplikasi dengan beberapa piranti masukan yaitu mouse dan keyboard. Dengan adanya dukungan aplikasi terhadap kedua jenis piranti ini maka diharapkan user akan lebih merasa mudah dan nyaman saat berinteraksi dengan aplikasi permainan ini.
BAB 4
IMPLEMENTASI
4.1 Implementasi Aplikasi
Tahap implementasi merupakan lanjutan dari tahap perancangan. Pada tahap ini seluruh spesifikasi dari aplikasi yang dirancang akan diterjemahkan ke dalam bahasa pemrograman sehingga menghasilkan sebuah perangkat lunak.
4.2 Spesifikasi Perangkat Lunak
Perangkat lunak yang digunakan dalam pembuatan aplikasi permainan ini adalah Macromedia Dreamweaver 8.0 yang di bangun oleh Macromedia sendiri dan hanya menggunakan basis .html dan javascript.
4.3 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang dibutuhkan untuk bisa menjalankan aplikasi dari permainan ini adalah:
1. Processor Intel Core 2 duo 2.0 GHz 2. Memori (RAM) sebesar 512 MB 3. Hardisk yang digunakan 80 GB
4. Monitor 14.1” dengan resolusi layar 1204 x 768 pixel 5. Mouse dan Keyboard
4.4.1 Tampilan Utama
Tampilan utama dari aplikasi permainan magic square ini dapat dilihat pada gambar di bawah ini. Gambar tersebut memperlihatkan tampilan 3 buah matriks A, matriks B, dan matriks C. Ketika permainan dimulai, matriks A dan C dalam keadaan kosong, sedangkan pada matriks B berisikan nilai 1 sampai 16. Perhatikan gambar 4.1 dibawah ini.
Gambar 4.1 Tampilan Utama Magic Square
Dari gambar 4.1 merupakan tampilan utama dari permainan magic square ini. Dibawah ini merupakan keterangan dari tampilan utama magic Square.
1. Matriks dan Hasil
Pada aplikasi ini penulis merancang tiga buah matriks yaitu matriks A, matriks B, dan matriks C.
Matriks A berfungsi untuk mencari solusi yang ada berdasarkan algoritma runut balik (backtracking) sehingga kita mengetahui nilai apa saja yang pertama sekali seharusnya dipindahkan dari matriks B ke matriks A.
b. Matriks B
Matriks B merupakan matriks yang memiliki himpunan semesta yang memiliki nilai dari 1 sampai 16 yang tersusun secara berurut dimulai dari (1,1) sampai (4,4).
c. Matriks C
Matriks C merupakan implementasi dari penelusuran matriks A.
Berdasarkan pada penjelasan bab sebelumnya dimana ordo matriks n x n, dan elemen di dalamnya berbeda yaitu 1,2,3,…,n2, maka hasil untuk magic square adalah
Berdasarkan rumus diatas, maka hasil magic square adalah 34.
Gambar 4.2 Gambar Matriks dan Hasil
2. Menu Pilihan
Menu pilihan berfungsi untuk memilih apakah user yang ingin bermain atau komputer yang bermain untuk mencari berapa banyak solusi yang ada. Menu pilihan ini terdiri dari:
Menu pilihan main merupakan menu untuk user bermain sendiri dan bermain dengan logikanya sendiri, sehingga didapat solusi dengan baik.
b. Berdasarkan waktu
Menu pilihan berdasarkan waktu merupakan menu untuk mencari solusi berdasarkan waktu yang telah ditentukan untuk mendapatkan beberapa solusi. c. Tidak berdasarkan waktu
Menu pilihan tidak berdasarkan waktu merupakan menu untuk mencari solusi secara cepat sehingga kita kurang tahu bagaimana proses algoritma runut balik (backtracking) ini bekerja.
Gambar 4.3 Menu Pilihan
3. Waktu
Waktu merupakan tempat melihat jalannya solusi yang terjadi di tiap penelusuran, jika waktu awal yang ditentukan adalah 250 detik maka user akan dapat melihat jalannya penelusuran yang terjadi pada matriks B dan matriks A, tetapi jika waktu yang ditentukan hanya berkisar 1 atau 10 detik user tidak akan dapat melihat bagaimana penelusuran itu berjalan.
Gambar 4.4 Waktu
4. Solusi
Solusi berguna untuk melihat berapa banyak solusi yang terjadi dari penelusuran yang dijalankan pada matriks yang berordo 4x4 dan membentuk nilai penjumlahan yang magic yaitu 34. Tombol lanjut solusi ini berfungsi untuk melanjutkan penelusuran yang di cari dari matriks-matriks tersebut. Solusi merupakan hasil yang telah tercapai dan tanda checklist merupakan tanda untuk user bisa melihat
solusi secara manual. Jika user tidak checklist tanda solusi maka penelusuran akan dicari terus sampai habis secara otomatis.
Gambar 4.5 Menu Solusi
4.4.2 Jalannya Permainan
Sebagai implementasi dari permainan maka dapat dilihat bagaimana proses permainan ini berjalan. Perhatikan gambar dibawah sebagai tampilan awal dari permainan.
Gambar 4.6 Gambar Tampilan awal dari Permainan Magic Square 1. Jika user yang bermain
Jika user yang akan bermain maka button yang di pilih adalah radio batton main. Disini user akan mencari nilai mana yang akan di pindahkan dari matriks B ke matriks A. Disini sebenarnya user yang bermain akan di pandu oleh komputer untuk memilih nilai mana yang tepat untuk dimasukkan. Perhatikan gambar dibawah ini.
(a)
(b)
Gambar 4.7 (a),(b) merupakan tampilan bermain user
Pada gambar 4.7 diatas merupakan tampilan user bermain, dimana user menginputkan nilai satu terlebih dahulu setelah itu komputer akan memandu user untuk nilai apa saja yang selanjutnya akan di pindahkan dengan memberikan tanda berwarna hijau. Jika kotak yang berisikan warna hijau tersebut habis dan permainan belum selesai maka penelusuran dari user akan gagal sebelum kotak berpindah dan akan dikembalikan lagi nilai-nilai tersebut ke tempatnya dengan
manual dalam istilah backtrack dan mencari penelusuran yang benar sehingga terjadinya nilai yang magic.
2. Jika bermain berdasarkan waktu
Jika user ingin mengetahui bagaimana jalannya magic square ini, maka user akan memilih button berdasarkan waktu karena jika waktu yang user tentukan sekitar 100 detik lebih, maka user akan dapat melihat bagaimana cara permainan ini sebenarnya terjadi dengan menelusuri nilai-nilai yang tersedia di matriks B. Perhatikan gambar di bawah ini.
(a)
(c)
Gambar 4.8 (a),(b),(c) Tampilan Berdasarkan Waktu
Berdasarkan gamabar 4.8 terlihat jelas bahwa nilai pada kolom 2 baris 1 selalu bertukar untuk mencari nilai yang tepat dengan cara menelusuri semua nilai yang tersedia pada matriks B. jika nilai didapat maka nilai tersebut akan disimpan pada tempatnya di matriks A dan pada kolom-kolom berikutnya pun akan seperti itu, akan ditelusuri semua nilai yang terjadi dan akan kembali jika nilai tetap tidak ditemukan. Jika selesai melakukan penelusuran maka solusi yang dicari akan selesai tetapi disini yang selesai baru nilai solusi pertama. Masih banyak solusi yang terjadi pada matriks-matriks tersebut.
3. Jika bermain tidak berdasarkan waktu
Jika permainan tanpa berdasarkan waktu, maka proses ini akan berjalan dengan sangat cepat sehingga kita tidak mengetahui apakah ini memenuhi algoritma runut balik (backtracking) atau tidak. Karena cepatnya permainan yang terjadi maka matriks B seperti terlihat dipindahkan sembarang saja tanpa ada aturan ke tempat matriks A dan langsung di implementasikan ke matriks C. perhatikan gambar dibawah ini.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pembahasan dan penelitian yang telah dipaparkan pada bab-bab sebelumnya maka dapat diambil kesimpulan seperti berikut ini.
1. Dalam pembuatan permainan magic square dapat terbukti jika di analisis dengan menggunakan Algoritma Runut Balik (Backtracking).
2. Dalam melakukan pembuktian untuk analisis dari algoritma runut balik (backtracking) dengan menggunakan pohon penelusuran dapat terbukti bahwa range angka 1 samapai 16 dapat diselesaikan dengan kedalaman 4.
3. Algoritma Runut Balik (Backtracking) ini menjalankan fungsinya dengan baik dengan melakukan pencarian sehingga dapat membentuk ruangnya masing-masing.
4. Permainan magic square ini merupakan bagian dari pelatihan untuk menigkatkan kemampuan dalam bidang matematika dan juga meningkatkan nilai logika.
5.2 Saran
Berikut ini adalah beberapa saran yang perlu dipertimbangkan untuk menjadi landasan penelitian selanjutnya.
1. Permainan ini perlu dikembangkan agar nantinya permainan ini dapat membentuk permainan yang familiar dikalangan masyarakat.
2. Ukuran dari permainan ini sebenarnya bisa ditambahkan lagi, permainan magic square ini tidak hanya membentuk Matrix 4x4, tetapi dapat juga lebih kecil dan lebih besar lagi, yang penting memiliki ordo yang sama sehingga berbentuk bujursangkar.
DAFTAR PUSTAKA
Astuti, Yuni Dwi. 2006. “Logika dan Algoritma”: http://yuni_dwi.staff.
gunadarma.ac.id/Downloads/files/12677/Bab+7+-+Teknik+Backtracking.pdf.
Diakses tanggal 10 Maret 2010.
Andrews, W.S. 1917. “Magic Squares and Cubes”. Second Edition:
tanggal 2 April 2010.
Caillois, Roger, 1958. Les Jeux Et Les Hommes (Games dan man).
diakses tanggal 7 Juni 2010
Crawford, Chris, 2003. On Game Design
Dyw4sC&printsec=frontcover&dq=chris+crawford+on+game+design&source =bl&ots=7RlvMSwDSu&sig=KWq1vwB3bnP6pSAV5MepUYwtaXU&hl=id &ei=GggMTb7ODYP_8Abh0ZGEDg&sa=X&oi=book_result&ct=result&res num=5&ved=0CEUQ6AEwBA#v=onepage&q&f=false. Diakses tanggal 18 Juni 2010.
Dimond, Jonathan. “Magic Squares”.
Fox, David dan Roman Verhosek, 2002. Micro Java™ Game Development. Indianapolis : Pearson Education.
H, Thomas, et all. 1990. Introduction to Algorithms. Cambridge : The MIT Press. Kristanto, Andri. 2003. Algoritma dan Pemrograman dengan C++. Yogyakarta:
Graha Ilmu.
Munir, Rinaldi. 2004. “Diktat Kuliah IF2251 Strategi Algoritmik”. Program Studi Teknik Informatika STEI ITB.
Munir, Rinaldi. 2006. Penerapan BFS dan DFS pada Pencarian Solusi.
Munir, Rinaldi. 2007. “Makalah IF2251 Strategi Algoritmik”. Program Studi Teknik Informatika STEI ITB.
Nugroho, Adi. 2009. Robert Laforce: Algoritma dan Struktur Data dengan C#. Yogyakarta: Andi.
Putra, Dhamma Nibbana, et all. Penerapan dan Implementasi Algoritma
Backtracking
Wahid, Fathul. 2004. Dasar-Dasar Algoritma dan Pemrograman. Yogyakarta: Andi
April 2010. h 2010.