JURNAL INFORMATIKA
SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH Youllia Indrawaty[1], Asep Nana Hermana[2], Vichy Sinar Rinanto [3]
Jurusan Teknik Informatika Institut Teknologi Nasional Bandung
ABSTRAK Program permainan catur pertama ditulis oleh Claude Shannon (penemu teori informasi) dan Alan Turing. Langkah terpendek kuda pada papan catur adalah salah satu permasalahan klasik dalam kecerdasan buatan. Dalam Tugas Akhir ini, aplikasi mensimulasikan semua kemungkinan pergerakan sebuah kuda dari posisi tertentu pada papan catur ke posisi tujuan. Posisi kuda pada papan catur akan dikonversi untuk memperoleh nilai indeks, demikian juga dengan posisi tujuan dan posisi penghalang. Selanjutnya, dengan penalaran maju dicari semua posisi valid dari kuda untuk semua langkah yang mungkin. Jika dalam pencariannya ditemukan penghalang maka kuda akan kembali ke posisi sebelumnya untuk mencari kemungkinan posisi valid yang lain, sampai ditemukan posisi tujuan. Metode pencarian tersebut dinamakan 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. Kata kunci : pergerakan langkah kuda, simulasi, breadth first search
ABSTRACT The first chess program was written by Claude Shannon (inventor of information theory) and Alan Turing. Steponboardthe shortesthorseis one ofthe classic problems in artificial intelligence. In this final project, the application simulates all the possible movement of a horse from a certain position on the chess board to the goal position. Riding position on the chessboard will be converted to obtain the value of the index, as well as the position and purpose of the barrier position. Furthermore, there a soning advanced search all valid positions of horses for all steps possible. If the search round the barrier then the horse will return to the previous position to pursue the possibility of valid position to another, until it wasthe position of the goal. Search method is called Breadth-First Search. With this method, all nodes will be tracedand the nodes at level n will be visited before visiting nodes at level n+1. Use of this method is able to Keyword : horse step movement, simulation, breadth first search
No.3 , Vol. 2, September – Desember 2011
1
JURNAL INFORMATIKA PENDAHULUAN Simulasi adalah suatu cara untuk menduplikasi/menggambarkan ciri, tampilan, dan karakteristik dari suatu sistem nyata. Bagaimana untuk mensimulasi suatu sistem bisnis atau manajemen yaitu dengan membangun suatu model matematis yang diusahakan untuk mewakili kenyataan dari sistem tersebut. Cara atau metode yang diambil dalam langkah ini menggunakan metode BREADTH FIRST SEARCH. Karena karakteristik dari BFS ini adalah pencarian pertama adalah melebar dari sisi kiri ke sisi kanan. Hal ini pun sama persis apa yang ditirukan oleh kuda sebelum mengambil sebuah langkah keputusan sebelum mengambil langkah kedepanya. Sebuah kuda dalam papan catur memiliki pergerakan menyerupai huruf L. Biji catur ini merupakan salah satu biji yang sangat sulit digerakkan dan sering juga merupakan biji yang paling berbahaya apabila tidak diperhatikan secara seksama setiap pergerakannya. Simulasi dari permasalahan ini menyediakan sebuah papan catur berukuran n x n. Sasaran (goal) dari permasalahan ini adalah menggerakkan sebuah kuda dari suatu posisi tertentu pada papan catur ke posisi tujuan yang diinginkan dengan mensimulasikan semua pergerakan yang mungkin untuk menuju ke posisi tujuan tersebut. Permasalahan ini juga merupakan salah satu masalah klasik dalam artificial intelligence (AI). Penyelesaian permasalahan ini dapat menggunakan bantuan pohon pelacakan. Dengan demikian dengan simulasi tersebut dapat menemukan langkah-langkah yang tepat sebelum mengambil keputusan dengan solusi menemukan langkah terpendek ke posisi goal state. Rumusan Masalah Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah bagaimana mencari solusi No.3 , Vol. 2, September – Desember 2011
pergerakan kuda yang mungkin untuk menuju posisi tujuan (goal) dan menampilkan simulasi pergerakan dari kuda. Tujuan untuk merancang suatu perangkat lunak yang mampu mencari solusi pergerakan kuda yang mungkin untuk menuju posisi tujuan dengan menggunakan pohon pelacakan. Batasan Masalah Dalam pelaksanaanya kegiatan ini dibatasi diantaranya: 1. Ukuran dari papan catur dibatasi maksimal 8 x 8. 2. Komponen-komponen yang terdapat pada perangkat lunak, yaitu: a. Kuda (Putih b. Raja (Hitam) c. Bidak (Hitam) d. Bidak / rintangan dibatasi maksimal sebanyak 8 buah. 3. Perangkat lunak akan menampilkan semua solusi pergerakan yang mungkin untuk menuju posisi yang diinginkan. 4. Perangkat lunak akan memberikan tanda pada solusi-solusi yang merupakan jalur terpendek (shortest path). 5. Jika tidak terdapat solusi, maka perangkat lunak akan menampilkan pesan kesalahan (error message). 6. Perangkat lunak akan mensimulasikan pergerakan kuda menuju posisi tujuan sesuai dengan solusi-solusi yang telah dihasilkan LANDASAN TEORI Metode Breadth First Search[1] Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, 2
JURNAL INFORMATIKA
Gambar 3 Aturan Pergerakan 1 Gambar 2 Metode Breadth First Search
Keuntungan dari metode ini: 1. Tidak akan menemui jalan buntu. 2. Jika ada satu solusi, maka breadthfirst search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan. Kelemahan dari metode ini: 1. Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon. 2. Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level ke- (n + 1). (3) ALGORITMA PERGERAKAN Permasalahan yang dihadapi adalah kuda harus digerakkan dari posisinya ke posisi raja dalam sebuah papan catur m x n. Adapun aturan pergerakan biji kuda yang mungkin adalah: 1. Kuda dapat digeser ke atas sebelah kiri ditunjukan pada gambar 3. Operasi: Baris = baris + 2, Kolom = kolom – 1. Aturan: Nilai variabel kolom setelah operasi harus > 0, nilai variabel baris <= m, dan tidak terdapat biji bidak pada posisi tersebut.
2. Kuda dapat digeser ke atas sebelah kanan ditunjukan pada gambar 4 Operasi: Baris = baris + 2, Kolom = kolom + 1. Aturan: Nilai variabel kolom setelah operasi harus <= n dan baris setelah operasi harus <= m dan tidak terdapat biji bidak pada posisi tersebut.
Gambar 4 Aturan Pergerakan 2
3. Kuda dapat digeser ke kiri sebelah atas ditunjukan pada gambar 5. Operasi: Baris = baris + 1, Kolom = kolom – 2. Aturan: Nilai variabel kolom setelah operasi harus > 0, nilai variabel baris <= m, dan tidak terdapat biji bidak pada posisi tersebut.
Gambar 5 Aturan Pergerakan 3
No.3 , Vol. 2, September – Desember 2011
3
JURNAL INFORMATIKA 4. Kuda dapat digeser ke kiri sebelah bawah ditunjukan pada gambar 6 Operasi: Baris = baris – 1, Kolom = kolom – 2. Aturan: Nilai variabel kolom dan baris setelah operasi harus > 0 dan tidak terdapat biji bidak pada posisi tersebut.
7. Kuda dapat digeser ke bawah sebelah kiri ditunjukan pada gambar 9 Operasi: Baris = baris – 2, Kolom = kolom – 1. Aturan: Nilai variabel kolom dan baris setelah operasi harus > 0 dan tidak terdapat biji bidak pada posisi tersebut.
Gambar 6 Aturan Pergerakan4
5. Kuda dapat digeser ke kanan sebelah atas ditunjukan pada gambar 7. Operasi: Baris = baris + 1, Kolom = kolom + 2. Aturan: Nilai variabel kolom setelah operasi harus <= m dan baris setelah operasi harus <= n dan tidak terdapat biji bidak pada posisi tersebut.
Gambar 9 Aturan Pergerakan 7
8. Kuda dapat digeser ke bawah sebelah kanan ditunjukan pada gambar 10 Operasi: Baris = baris – 2, Kolom = kolom + 1. Aturan: Nilai variabel kolom setelah operasi harus <= n, nilai variabel baris harus > 0, dan tidak terdapat biji catur lain pada posisi tersebut.
Gambar 7 Aturan Pergerakan 5
6. Kuda dapat digeser ke kanan sebelah bawah ditunjukan pada gambar 8. Operasi: Baris = baris – 1, Kolom = kolom + 2. Aturan: Nilai variabel kolom setelah operasi harus <= n, nilai variabel baris harus > 0, dan tidak terdapat biji bidak pada posisi tersebut.
Gambar 8 Aturan Pergerakan 6 No.3 , Vol. 2, September – Desember 2011
Gambar 10 Aturan Pergerakan 8
PERANCANGAN Flow chart system seperti terlihat pada gambar 11, merupakan gambar dari main flowchart pada simulasi pergerakan langkah kuda menggunakan metoda breadth first search . posisi start menunjukan awal mula simulasi user dapat mengubah ukuran papan catur yang di ingin kan lalu setelah itu menunjukan penempatan/tata letak kuda,pion,dan raja di sembarang tempat yang sudah 4
JURNAL INFORMATIKA disediakan, setelah semua input di masukan ke dalam arena user menekan tombol simulasi dan simulasi pergerakan
pun berjalan sampai posisi menemukan goal nya atau raja.
kuda
Gambar 11 FlowChart
No.3 , Vol. 2, September – Desember 2011
5
JURNAL INFORMATIKA Tampilan Form Simulasi Form Input ditunjukan pada gambar 12 berfungsi untuk mengatur ukuran papan catur, posisi awal, posisi tujuan dan posisi rintangan dalam permasalahan kuda.
Gambar 13 Ukuran 8x8
Gambar 12 Form Simulasi
IMPLEMENTASI Implementasi sistem program ini mencakup spesifikasi kebutuhan perangkat keras (hardware) dan spesifikasi perangkat lunak (software). HARDWARE: 1. Prosesor Intel Pentium. 2. Memory 64 MB. 3. Harddisk 10 GB dengan freespace minimum 300 MB. 4. Monitor dengan resolusi 1024 × 768 pixel. 5. Keyboard dan Mouse. Ubah Ukuran Papan Catur
Setelah memasukan input sesuai petunjuk pada gambar 13 selanjutnya user menekan tombol “Cari Semua Solusi Terpendek (Shortest Path)” lihat tanda panah merah, setelah menekan tombol tersebut akan muncul tampilan solusi yang telah ditemukan seperti terlihat pada gambar 14.
Gambar 14 Solusi Yang Ditemukan
1. Ukuran papan catur = 8x8 2. Posisi biji kuda = F5. 3. Posisi biji raja = G1. 4. Posisi biji bidak = A3, B5, C2, E2, F1,G5, dan 2.
No.3 , Vol. 2, September – Desember 2011
Solusi yang didapatkan seperti terlihat pada Gambar 14 terdapat 2 langkah shortest path masing-masing solusi menemukan 3 langkah yang berbeda.Sedangkan solusi-2 dapat dilihat pada Gambar 16.Setelah memilih solusi yang diinginkan.Pergerakan kuda dapat dilihat pada Gambar 15.Pada Gambar 15 merupakan contoh pergerakan solusi 1.
6
JURNAL INFORMATIKA
Gambar
15 Pergerakan Kuda Solusi 1
User dapat melakukan pemilihan ulang langkah dengan menekan tombol “Ulangi” lihat tanda panah hijau. Setelah itu user akan kembali ke form solusi seperti ditunjukan pada Gambar 14
Gambar 16 Pergerakan Solusi Ke-2
Setelah kembali ke menu solusi user dapat memilih langkah yang ingin di gunakan yaitu Solusi-2 Setelah itu User dapat menekan kembali tombol “Simulasi” untuk melakukan simulasi langkah kuda. Setelah menekan tombol “Simulasi” kuda akan bergerak seperti terlihat pada Gambar 17.
No.3 , Vol. 2, September – Desember 2011
Gambar 17 Pergerakan Solusi Ke-2
Terlihat jelas perbedaan langkah setiap solusi pada Gambar 15 dan 17, dan tidak ada langkah yang mengulang pada masingmasing solusi. Setelah di simpulkan perthitungan secara manual dan program ternyata sama untuk perhitungan manual saya masukan ke dalam lampiran untuk pohon pelacakan dan open close state. Kesimpulan Berdasarkan hasil implementasi dan pengujian yang telah dilakukan maka dapat disimpulkan bahwa aplikasi yang dibangun sudah dapat melakukan pergerakan sesuai dengan metode yang digunakan yaitu breadth first searach hasil pengujian yang dilakukan menggunakan metode BFS dalam program simulasi pada gambar 13 yang ada di program simulasi dan mampu menghasilkan keluaran yang berupa pergerakan langkah kuda pada Gambar 15 dan Gambar 17. DAFTAR PUSTAKA 1. www.//robby.c.staff.gunadarma.ac. id/Downloads/files/7995/Kecerdas an+Buatan.doc
7