PERMAINAN PERGESERAN ANGKA BENTUK BINTANG MENGGUNAKAN ALGORITMA BEST FIRST SEARCH 1
Dedy Arisandi, 2 Romi Fadillah Rahmat, 3 Siska Maria Aritonang. 1, 2, 3
Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara E-mail:
[email protected] |
[email protected] |
[email protected]
Abstrak— Permainan pergeseran angka bentuk bintang merupakan permainan pergeseran angka yang memiliki aturan bermain yang sama seperti permainan pergeseran angka (sliding puzzle) yang biasanya dimainkan dalam grid berbentuk persegi atau persegi panjang, yaitu agar bisa menempatkan semua angka yang teracak berada pada posisi sebenarnya dengan hanya berturut-turut menggeser setiap angka ke tempat kosong yang berdekatan. Namun permainan pergeseran angka ini dibangun dalam grid yang berbentuk bintang (star polygon). Algoritma best first search dapat diterapkan untuk melakukan pencarian solusi otomatis pada aplikasi yang akan dibangun. Algoritma best first search adalah salah satu algoritma pencarian heuristik yang merupakan kombinasi dari dua algoritma pencarian buta (blind search), yaitu breadth first search dan depth first search dengan mengambil kelebihan dari kedua algoritma tersebut. Hasil yang diperoleh dari aplikasi yang dibangun adalah bahwa implementasi algoritma best first search dapat memberikan pencarian solusi terpendek pada permainan ini. Kata kunci: permainan pergeseran angka bentuk bintang, sliding puzzle, heuristik, best first search. I. PENDAHULUAN Permainan (game) merupakan bidang usaha manusia terhadap kecerdasan buatan, salah satunya adalah sliding puzzle. Permainan ini merupakan permainan yang dapat melatih kecerdasan. Dalam kehidupan sehari-hari maupun dalam literatur dapat ditemukan berbagai jenis sliding puzzle, ada yang menggunakan huruf, gambar dan angka. Namun yang akan dibahas adalah sliding puzzle yang menggunakan angka. Permainan pergeseran angka biasanya dimainkan dalam kotak berbentuk persegi atau persegi panjang. Pada jenis ini cenderung lebih mudah untuk dimainkan dan diselesaikan. Permainan ini akan menjadi jauh lebih rumit apabila dimainkan dalam wadah yang berbentuk bintang. Bentuk wadah ini menyebabkan arah proses pergeseran angka menjadi terbatas [1]. Walaupun permainan ini terlihat sederhana namun untuk bisa menempatkan semua angka berada pada posisi sebenarnya merupakan suatu masalah. Permainan pergeseran angka pada bentuk bintang ini dapat diselesaikan dengan bantuan pohon pencarian (search tree). Struktur
pohon pencarian digunakan untuk menggambarkan keadaan secara hirarkis, dimana akar dari pohon berupa keadaan awal dan cabang berupa keadaan-keadaan yang mungkin terjadi dari keadaan sebelumnya serta daun merupakan keadaan akhir, yang dapat dijadikan sebagai solusi dari permasalahan atau bisa merupakan jalan buntu (dead end). Ada dua metode untuk membangun sebuah pohon pencarian, salah satunya adalah metode pencarian heuristik. Metode pencarian heuristik mampu melakukan pencarian solusi langsung pada cabang dari pohon yang memuat tujuan (goal) tanpa harus mengunjungi node-node lain yang tidak perlu, dengan demikian waktu pencarian solusi dapat diminimalkan terutama terhadap pencarian dengan solusi penyelesaian yang panjang. II. IDENTIFIKASI MASALAH Setiap titik perpotongan dalam bintang merupakan titik (node) penempatan angka. Seperti permainan pergeseran angka lainnya, dalam permainan ini juga disediakan satu tempat kosong sebagai ruang untuk menggeser posisi angka sehingga kondisi angka yang teracak pada keadaan awal (intial state) dapat tersusun kembali ke keadaan semula. Permainan pergeseran angka dalam wadah bintang memiliki arah pergeseran yang berbeda dengan permainan pergeseran angka biasa yang berbentuk persegi atau persegi panjang sehingga sangat rumit untuk diselesaikan secara manual karena wadah ini menyebabkan arah proses pergeseran angka menjadi terbatas. Oleh karena itu diperlukan suatu algoritma untuk membantu proses pencarian solusi permainan ini dan algoritma yang akan diterapkan untuk membantu mendapatkan langkah pencarian solusi yang lebih pendek pada permainan pergeseran angka pada bentuk bintang adalah algoritma best first search. III. PENELITIAN TERDAHULU Penelitian yang pernah dilakukan mengenai permainan pergeseran angka dalam bentuk bintang yaitu dengan menggunakan algoritma breadth first search [2]. Pada penelitian ini penulis menggunakan algoritma Best First Search untuk penyelesaian permainan pergeseran angka pada bentuk bintang ini. Algoritma best first search adalah salah satu algoritma pencarian heuristik yang merupakan kombinasi dari dua algoritma pencarian buta (blind search), yaitu breadth first search dan depth first
search dengan mengambil kelebihan dari kedua algoritma tersebut. Pada algoritma best first search, pencarian diperbolehkan mengunjungi simpul yang ada dilevel yang lebih rendah, jika ternyata simpul pada level yang lebih tinggi memiliki nilai heuristik lebih buruk Algoritma best first search sendiri telah banyak diterapkan dalam penyelesaian board games seprti untuk membangun permainan ular tangga modifikasi [3] dan penyelesaian permainan minesweeper [4]. IV. METODE PENELITIAN A. Kecerdasan Buatan Kecerdasan buatan atau Artificial Intelligence adalah bagian dari ilmu pengetahuan komputer yang khusus ditujukan dalam perancangan otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer. Sistem memperlihatkan sifat-sifat khas yang dihubungkan dengan kecerdasan dalam kelakukan atau tindak-tanduk yang sepenuhnya bisa menirukan beberapa fungsi otak manusia, seperti pengertian bahasa, pengetahuan, pemikiran, pemecahan masalah dan lain sebagainya [5]. Seperti pada bidang sains lainnya, kecerdasan juga memiliki beberapa sub-disiplin ilmu. Beberapa macam bidang terapan utama kecerdasan buatan antara lain [6]: 1. 2. 3. 4.
Sistem Pakar Perencanaan (Planning) dan Robotik Pemodelan Kinerja (Performance) Manusia Bahasa Alamiah (Natural Language), Pemodelan Semantik, dan Mesin yang Dapat Belajar (Learning Machine) 5. Permainan (Games) B. Permainan Pergeseran Angka Permainan (games) merupakan satu dari banyak area dalam kecerdasan buatan yang paling menarik dan dipublikasikan dengan baik. Dengan keberhasilan Deep Blue tahun 1997, sebuah landmark dicapai, yaitu sebuah program komputer yang bisa mengalahkan pemain catur terbaik dunia [7]. Gameplay merupakan alat dan aturan-aturan yang mendeskripsikan konteks keseluruhan permainan sehingga pada saat gilirannya, menghasilkan keterampilan, strategi, dan kesempatan [8]. Salah satu jenis Gameplay adalah permainan pergeseran angka. Permainan pergeseran angka biasanya dimainkan dalam kotak berbentuk persegi atau persegi panjang. Jika dalam kotak berbentuk persegi maka permainan ini dikenal dengan nama N-Puzzle. N-Puzzle merupakan permainan teka-teki untuk mencari langkah agar puzzle yang berisi sekumpulan angka dapat terurut. N-Puzzle dengan jumlah ubin 3x3 juga dikenal dengan nama 8-puzzle. Sesuai namanya, 8-puzzle terdiri dari 8 kotak dan 1 tempat kosong yang bisa digerakkan dengan aturan tertentu. Aturan pergerakannya hanya berupa empat arah pergerakan, yaitu atas, bawah, kanan, dan kiri. Permainan ini merupakan contoh kasus terkemuka untuk mengukur kinerja algoritma pencarian heuristik [9][10][11][12]. Contoh pada permainan 8-puzzle dengan keadaan awal (initial state) dan keadaan tujuan (goal state) yang ingin dicapai pada Gambar 1.
Keadaan awal
3
1
6
8
7
4
Tujuan/Keada an akhir
2
1
2
8 5
7
3 4
6
5
Gambar 1. 8-Puzzle [13] C. Permainan Pergeseran Angka Pada Bentuk Bintang Permainan pergeseran angka pada bentuk bintang mirip dengan permainan pergeseran angka dalam kotak berbentuk persegi. Perbedaannya adalah bentuk wadah yang digunakan dalam permainan ini berbentuk bintang (star polygon). Setiap titik perpotongan dalam bintang merupakan titik (node) penempatan angka. Seperti halnya, permainan pergeseran angka lainnya, dalam permainan ini juga disediakan satu tempat kosong sebagai ruang untuk menggeser posisi angka. Aturan permainannya adalah sebagai berikut: 1. Tentukan keadaan awal (initial state) pada bintang. 2. Tentukan keadaan tujuan (goal state) pada bintang. 3. Aturan pergeseran: setiap angka dalam bintang hanya dapat digeser ke suatu titik yang kosong atau tidak ditempati. 4. Setiap angka hanya dapat digeser mengikuti jalur yang sudah ada sesuai dengan bentuk bintang yang digunakan. 3
2
4
7
1
6 5
9
8
Gambar 2 (a) Bentuk Bintang Berkaki 5 [14] 7
1
8
2
6
3
11
5
4
10
9
Gambar 2 (b) Bentuk Bintang Berkaki 6 [14] Permasalahan dari permainan ini adalah bagaimana mencapai goal state dari initial state dengan mengikuti aturan pergeseran yang telah ditetapkan. Pada bintang berkaki lima yang memiliki 10 buah titik, tersedia 9 buah titik yang memuat angka dan 1 buah titik kosong, sedangkan pada bintang berkaki enam yang memiliki 12 buah titik,
tersedia 11 buah titik yang memuat angka dan 1 buah titik kosong seperti pada Gambar 2 di atas. D. Teknik Dasar Pencarian Pencarian adalah proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan AI. Teknik pencarian terbagi atas dua teknik, yaitu pencarian buta (blind search) dan pencarian heuristik (heuristic search). E. Pencarian Heuristik (Heuristic Search) Pencarian terbimbing (heuristic search) dibutuhkan karena pencarian buta (blind search) tidak selalu dapat diterapkan dengan baik, hal ini dikarenakan waktu aksesnya yang cukup lama serta besarnya memori yang diperlukan. Kelemahan ini dapat diatasi jika ada informasi tambahan (fungsi heuristik) dari domain yang bersangkutan. Pada pencarian heuristik, sebuah fungsi heuristik digunakan untuk mengevaluasi keadaan permasalahan tersendiri dan menentukan bagaimana fungsi ini diperlukan dalam memecahkan suatu permasalahan. Sebuah fungsi heuristik adalah sebuah fungsi yang memetakan keadaan permasalahan, yang menjelaskan daya tarik dan digambarkan dalam sebuah angka [11]. Beberapa heuristik lebih baik dari pada heuristik lainnya, dan semakin baik suatu heuristik, maka semakin sedikit node yang diperlukan untuk diperiksa dalam pohon pencarian untuk menemukan solusi. Oleh karena itu, seperti memilih representasi yang tepat, memilih heuristik yang tepat dapat membuat perbedaan yang signifikan dalam membantu kita untuk memecahkan masalah [7]. Dalam tugas akhir ini, fungsi heuristik yang akan dipakai sebagai fungsi evaluasi untuk menuntun arah pencarian solusi, adalah Gaschnig’s heuristic. Gaschnig’s heuristic mengukur jumlah pergeseran (swap) dengan tempat/ubin kosong untuk menghasilkan keadaan tujuan (goal state). F. Algoritma Best First Search Apabila pada pencarian dengan algoritma hill climbing tidak diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun node di level yang lebih rendah tersebut memiliki nilai heuristik yang lebih baik, lain halnya pada algoritma best first search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node di level yang lebih tinggi memiliki nilai heuristik yang lebih buruk [15]. Setiap sebuah node dikembangkan, algoritma akan menyimpan setiap successor node n sekaligus dengan harga (cost) dan petunjuk pendahulunya (parent). Algoritma akan berakhir pada node tujuan, dan tidak ada lagi pengembangan node. “Best first” mengacu pada algoritma mengeksplorasi node dengan "nilai" terbaik pertama. Sebuah fungsi evaluasi digunakan untuk menetapkan nilai untuk setiap calon node. Dalam algoritma ini, ruang pencarian dievaluasi menurut fungsi heuristik yang dinyatakan dengan persamaan berikut:
h(n) = fungsi evaluasi yang dipakai untuk mengestimasi seberapa baik setiap node dibangkitkan. Untuk mengimplementasikan algoritma pencarian ini, diperlukan dua buah senarai (list), yaitu: OPEN untuk mengelola nodes yang pernah dibangkitkan tetapi belum dievaluasi dan CLOSE untuk mengelola nodes yang pernah dibangkitkan dan sudah dievaluasi. Algoritma best first search adalah sebagai berikut: 1. Masukkan simpul awal ke dalam OPEN 2. OPEN berisi simpul awal dan CLOSE masih kosong 3. Masukkan simpul awal ke CLOSE dan suksesornya pada OPEN list 4. Ulangi langkah berikut sampai goal ditemukan dan tidak ada lagi node yang akan dikembangkan: a. Hitung nilai f nodes yang ada pada OPEN, ambil node terbaik (f terkecil) b. Jika node tersebut sama dengan node tujuan, maka sukses c. Jika tidak, masukkan node tersebut ke dalam CLOSE d. Bangkitkan semua successor dari node tersebut e. Untuk setiap successor kerjakan: 1. Jika successor tersebut belum pernah dibangkitkan, evaluasi successor tersebut, tambahkan ke OPEN, dan catat parent-nya. 2. Jika successor tersebut sudah pernah dibangkitkan sebelumnya, ubah parent-nya jika lintasan baru lebih menjanjikan atau jalur melalui parent ini lebih baik daripada jalur melalui parent yang sebelumnya. Selanjutnya, perbarui biaya untuk successor tersebut dan nodes lain yang berada di level bawahnya. Contoh proses best first search dapat dilihat pada Gambar 2.4 berikut: Langkah 1
Langkah 2
A
A (2)
Langkah 3
dimana: f(n) = fungsi heuristik
(1.1)
(3)
C
D
A Langkah 4 (2)
(5)
E
B
(5)
(4)
F
C
(3)
D
A (2)
(5)
E
B
(5)
C
(4)
F
(3)
(3)
G
D
(1)
H
Langkah 5 A (2)
(5)
E
B
(5)
C
(4)
F
(3)
(3)
G
D
(1)
…
f(n) = h(n)
(5)
B
H
…
Gambar 3. Langkah-Langkah Yang Dilakukan Oleh Algoritma Best First Search
Pertama kali, dibangkitkan node A. Kemudian semua successor A dibangkitan, dan dicari harga paling minimal. Pada langkah 2, node B terpilih karena harganya paling rendah, yakni 2. Langkah 3, semua successor B dibangkitkan, kemudian harganya akan dibandingkan dengan harga node C dan D. Ternyata harga node D paling kecil dibandingkan harga node C, E, dan F. Sehingga D terpilih dan selanjutnya akan dibangkitkan semua successor D pada langkah 4. Harga node H paling kecil dibandingkan harga node C, E, F, dan G. Maka semua successor H dibangkitkan. Demikian seterusnya sampai ditemukan node tujuan. G. Analisis Permainan Pergeseran Angka Bentuk Bintang Setiap pergeseran angka harus mematuhi aturan yang telah ditetapkan. Pada bintang berkaki lima yang memiliki 10 buah titik, tersedia 9 buah titik yang memuat angka dan 1 buah titik kosong, sedangkan pada bintang berkaki tujuh yang memiliki 12 buah titik, tersedia 11 buah titik yang memuat angka dan 1 buah titik kosong. Aturan pergeseran angka adalah seperti pada Gambar 4.
tepat pada keadaan akhirnya dan ubin lainnya masih dalam posisi yang salah. Jumlah heuristik yang lebih kecil adalah yang diharapkan (lebih baik). Sebagai contoh, nilai heuristik untuk keadaan awal berikut ini adalah 10. Keadaan Awal
Tujuan/Keadaan Akhir
3
1
6
2
1
4
2
3
7
9
6
5 8
4
5 7
8 0
9
0
Gambar 5. Contoh Perhitungan Dengan Menggunakan Gaschnig’s Heuristic Langkah-langkah menghitung nilai heuristik dari contoh di atas dapat dilihat pada Gambar 6.
Jalur yang boleh dilintasi oleh angka yang berada dalam titik (node) yang berhubungan.
7 Titik (node)
8
1
3
11
0
2
6
4
5
Jalur yang boleh dilintasi oleh angka yang berada dalam titik (node) yang berhubungan.
10
9
Gambar 4. Aturan Pergeseran Angka Dalam Bintang Pada Gambar 4 terdapat jalur yang menghubungkan antara titik yang berisi angka dengan titik yang kosong, sehingga angka 2 dan 6 bisa digeser ke titik yang kosong. Setiap titik dalam bintang diberi nomor urut mulai dari posisi paling atas, dari kiri ke kanan, kemudian turun ke bawah dan seterusnya. Selanjutnya, angka-angka tersebut disimpan dalam bentuk string berurut sesuai dengan posisi dari titik yang ditempatinya. Tempat kosong direpresentasikan sebagai angka ’0’. H. Analisis Algoritma Best First Search Pada Permainan Pergeseran Angka Bentuk Bintang h = Gaschnig’s heuristic dimana nilai heuristiknya adalah total langkah yang diperlukan untuk mengubah keadaan awal ke keadaan akhir. Gaschnig’s heuristic akan selalu mengambil setidaknya satu langkah untuk menempatkan ubin ke posisi yang tepat, dan bisa memerlukan dua langkah jika lokasi kosong berada
Gambar 6. Langkah-Langkah Menghitung Gaschnig’s Heuristic Dengan menggunakan bentuk pohon untuk merepresentasikan ruang keadaan, berikut akan digunakan algoritma best first search untuk mencari langkah-langkah yang harus ditempuh dari keadaan awal sampai mendapatkan tujuan:
Untuk lebih jelasnya penerapan algoritma best first search pada aplikasi permainan ini dapat lihat pada flowchart berikut:
Gambar 8. Flowchart Penerapan Algoritma Best First Search Pada Aplikasi V. HASIL DAN PEMBAHASAN Tampilan halaman utama pada aplikasi permainan pergeseran angka bentuk bintang ini dapat dilihat pada Gambar 9. Tampilan halaman utama juga sekaligus merupakan tampilan dari bintang berkaki 5. Pada halaman ini ditampilkan menu-menu yang dapat dipilih oleh pemain, yaitu menu Game dan menu About, serta tombol-tombol yang tersedia, yaitu tombol Automatic Shuffle, Play, Solve, Reset. Namun tombol yang aktif yang harus dipilih pada halaman awal ini hanya tombol Automatic Shuffle yang berfungsi untuk mengacak angka pada bintang.
Gambar 7. Pohon Pencarian Best First Search Pada Bintang Berkaki 5 Berdasarkan gambar di atas, pertama kali dibangkitkan node ‘3621497580’. Kemudian semua successor ‘3621497580’ dibangkitan, dan dicari nilai heuristik paling minimal. Pada langkah 2, node ‘3621497085’ terpilih karena nilai heuristiknya paling rendah, yakni 8. Langkah 3, semua successor ‘3621497085’ dibangkitkan, kemudian nilai heuristiknya akan dibandingkan dengan nilai heuristik node ‘3621490587’. Ternyata harga node ‘3621497805’ paling kecil dibandingkan harga node ‘3621490587’, ‘3621407985, dan ‘3621490785. Maka semua successor ‘3621497805’ dibangkitkan. Demikian seterusnya sampai ditemukan node tujuan. Gambar 9. Tampilan Halaman Utama/Star 5
Ketika pemain mengklik menu New Game, maka akan ditampilkan pilihan menu Star 5 yang akan menampilkan permainan bintang berkaki 5 dan Star 6 untuk menampilkan permainan bintang berkaki 6 seperti yang terlihat pada Gambar 10.
Jika jumlah angka yang dimasukkan lebih atau kurang dari jumlah angka bintang seharusnya, maka akan muncul pesan peringatan seperti pada Gambar 13. Jika angka yang dimasukkan sama dengan keadaan akhir bintang maka akan muncul pesan peringatan seperti pada Gambar 14.
. Gambar 10. Pilihan Menu New Game Ketika pemain mengklik menu Shuffle, maka akan ditampilkan pilihan menu Manual Entry dan Automatic Shuffle seperti pada Gambar 11.
Gambar 14. Pesan Peringatan 2 Jika angka yang dimasukkan tercatat lebih dari 2 kali maka akan muncul pesan peringatan seperti pada Gambar 15.
Gambar 11. Pilihan Menu Shuffle Menu Manual Entry merupakan menu pilihan untuk memasukkan angka secara manual. Ketika menu ini dipilih maka akan muncul kotak dialog berupa inputbox yang dapat dilihat dari Gambar 12, lalu pemain memasukkan angka sesuai jenis bintang yang dimainkan. Untuk bintang berkaki 5 pemain bisa langsung memasukkan angka tanpa perlu memakai spasi, misalnya: 3526781904. Namun untuk bintang berkaki 6 pemain harus menggunakan spasi di setiap angka yang dimasukkan, contoh: 4 5 6 1 2 3 7 8 9 0 10 11. Sedangkan Automatic Shuffle merupakan menu pilihan mengacak angka secara manual.
Gambar 15. Pesan Peringatan 3 Gambar 16 merupakan tampilan Instructions berupa message box yang berisi tentang tata cara memainkan permainan pergeseran angka bentuk bintang.
Gambar 12. Manual Entry
Gambar 16. Instructions
Gambar 13. Pesan Peringatan 1
Jika pemain dapat menyelesaikan permainan maka akan muncul pesan pemenang seperti pada Gambar 4.13. Pemain bisa menekan tombol Yes jika ingin bermain lagi, jika tidak akan muncul pesan peringatan apakah ingin keluar dari permainan atau tidak seperti pada Gambar 17.
Gambar 19. Tampilan Form About VI. KESIMPULAN DAN SARAN Gambar 17. Pesan Pemenang Namun jika pemain tidak mampu menyelesaikan permainan, pemain dapat menekan tombol Solve untuk penyelesaian otomatis. Kemudian form akan melebar seperti yang terlihat pada Gambar 18 berikut ini:
A. Kesimpulan Kesimpulan yang dapat diambil adalah sebagai berikut: 1. Algoritma best first search dapat diterapkan di dalam aplikasi permainan pergeseran angka bentuk bintang untuk mencari solusi permainan. Proses pencarian pada algoritma ini akan mempersempit ruang pencarian. 2. Gaschnig’s heuristic merupakan admissible heuristic sehingga sangat membantu algoritma best first search dalam menuntun arah pencarian solusi. 3. Dari hasil pengujian aplikasi yang telah dilakukan dapat disimpulkan bahwa aplikasi permainan pergeseran angka bentuk bintang dapat berjalan dengan baik. Hasil penilaian pengguna terhadap aspek antarmuka aplikasi adalah ‘Baik’. Hasil penilaian pengguna terhadap aspek penggunaan aplikasi adalah ‘Baik’. B. Saran Beberapa saran yang dapat penulis berikan untuk pengembangan selanjutnya antara lain:
Gambar 18. Tampilan Ketika Pemain Menekan Tombol Solve Aplikasi akan melakukan pencarian secara otomatis. Informasi tentang hasil pencarian solusi akan ditampilkan pada Info Panel, sedangkan tombol Show Moves berfungsi untuk menampilkan tahap pergerakan langkah solusi dari keadaan teracak hingga solusi ditemukan. Pada tombol Reset, halaman permainan akan dikembalikan ke halaman awal bintang berkaki 5 atau bintang berkaki 6 tergantung pada jenis bintang yang terakhir dimainkan. Form About berisi informasi tentang pengembang aplikasi. Tampilan form About dapat dilihat pada Gambar 19 berikut:
1. Membuat antarmuka yang lebih menarik misalnya dengan menambah animasi. 2. Keadaan akhir yang ingin dicapai juga bisa diacak atau ditentukan sendiri oleh pemain 3. Mengembangkan aplikasi agar dapat digunakan di platform android atau platform mobile lainnya. 4. Aplikasi dapat dikembangkan dengan menambahkan beberapa bentuk wadah lainnya, seperti: segi tujuh (heptagon), segi delapan (octagon) dan bentuk lainnya diluar bentuk bintang. DAFTAR PUSTAKA [1]
Dewi, I.F.S. Penyelesaian Permainan Pergeseran Angka Pada Bintang Kejora Menggunakan Metode Breadth First Search (BFS). Skripsi. Jawa Timur: Universitas Pembangunan Nasional “Veteran”.
[2]
[3]
[4]
[5] [6] [7]
[8]
[9]
[10] [11]
[12] [13] [14] [15]
Naif, M. 2009. Penyelesaian Permainan Pergeseran Angka Pada Bintang Dengan Metode Breadth First Search. Skripsi. Yogyakarta: Universitas Kristen Duta Wacana. Zi, N. 2011. Implementasi Konsep Kecerdasan Buatan Dengan Metode Best First Search (BSF) Untuk Pembuatan Game Ular Tangga Modifikasi. Skripsi. Medan: Universitas Sumatera Utara. Sigiro, I. 2011. Analisis Dan Implementasi Penyelesaian Game Minesweeper Menggunakan Algoritma Greedy Best First Search. Skripsi. Medan: Universitas Sumatera Utara. Kristanto, A. 2004. Kecerdasan Buatan. Yogyakarta: Graha Ilmu. Setiawan, S. 1993. Artificial Intelligence. Yogyakarta: Andi Offset. Coppin, B. 2004. Artificial Intelligence Illuminated. Sudbury, Massachusetts: Jones and Bartlett Publishers, Inc. Bakri, A. H. 2010. Analisis dan Implementasi Algoritma Backtracking Pada Permainan Congklak. Skripsi. Medan: Universitas Sumatera Utara. Gaschnig, J. 1979. Performance Measurement and The Analysis of Certain Search Algorithms. Ph.D Dissertation. Pittsburgh: Carnegie Mellon University. Nilsson, N.J. 1980. Principles of Artificial Intelligence. Palo Alto, CA: Tioga Publishing. Pearl, J. 1984. Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading, MA: Addison-Wesley Publishing Company, Inc. Russell, S. 1992. Efficient Memory-Bounded Search Methods. ECAI-92. Vienna. Russell, S. 1992. Efficient Memory-Bounded Search Methods. ECAI-92. Vienna. Bigg, J.I. 2001. Permainan untuk IQ Super. Bandung: CV. Pionir Jaya. Kusumadewi, S. 2003. Artificial Intelligence. Edisi Pertama. Yogyakarta: Graha Ilmu.