IMPLEMENTASI GENERATE AND TEST DALAM PENCARIAN SOLUSI STEP
PENYELESAIAN PADA GAME HITORI
Mukhlisin
Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Harapan Medan, Jl. HM Jhoni No. 70 Medan, Indonesia
Email : mukliscibro01@gmail.com
Abstrak
Kecerdasan buatan saat ini merupakan bidang ilmu yang cukup berkembang dimana semakin meningkatnya teknologi maka pengembangan mesin otomatisasi seperti robot dan lain sebagainya juga semakin meningkat. Salah satu implementasi nyata pada kecerdasan buatan dapat dilihat pada permainan – permainan atau games yang mana kecerdasan buatan dapat membantu menyelesaikan permainan – permainan yang sulit seperti Hitori. Hitori merupakan permainan lama yang sederhana dan menyenangkan namun menuntut ketelitian yang cukup tinggi. sering ditemukan pemain menyerah dalam menyelesaikan Hitori sehingga implementasi kecerdasan buatan untuk membantu menyelesaikan permainan Hitori menjadi topik yang menarik. Pada penelitian ini metode pencarian heuristic Generate and test di kembangkan untuk dapat menyelesaikan permainan hitori. Implementasi yang telah dilakukan menunjukkan hasil yang cukup baik dimana hampir semua permainan hitori yang dimainkan dapat diselesaikan oleh Generate and Test
Kata Kunci: Permainan, Hitori, Kecerdasan Buatan, Pencarian Heuristic, Generate And Test.
Abstract
Artificial intelligence is currently a fairly developed field of science where the increasing technology, the development of automation machines such as robots and so on are also increasing. One of the real implementations of artificial intelligence can be seen in games or games where artificial intelligence can help solve difficult games like Hitori. Hitori is an old game that is simple and fun but demands a fairly high accuracy. Often found players giving up in completing Hitori so that the implementation of artificial intelligence to help solve Hitori's game becomes an interesting topic. In this study heuristic search method Generate and test developed to be able to complete the game hitori. Implementation has been done shows good results where almost all game hitori can be finished by Generate and Test.
Keywords: Games, Hitori, Artificial Intelligence, Heuristic Search, Generate And Test.
1. Pendahuluan
Game pada dasarnya adalah sebuah media yang digunakan oleh para penggunanya untuk berbagai macam tujuan yang menitik beratkan entertainment dalam permainan.
Metode – metode pencarian solusi banyak dikembangkan pada saat ini yang mana dapat diterapkan pada beberapa aplikasi seperti permainan hitori. Metode – metode tersebut pada dasarnya merupakan metode pencarian solusi dengan menggunakan metode heuristic yang mana merupakan metode yang digunakan untuk menemukan tahapan yang tepat dalam mencari solusi [1]. Salah satu algoritma yang bisa digunakan untuk membantu pemain dalam menemukan solusi atau langkah pemecahan dan penyelesaian game ini adalah algoritmya Generate and Test. Metode ini adalah salah satu dari jenis metode pencarian heuristic yang paling sederhana namun mampu
memberikan solusi yang cukup cepat dari game
hitori sederhana.
Penggunaan algoritma Generate and Test dalam game hitori ini adalah salah satu upaya penulis untuk menerapkan sebuah kecerdasan buatan sederhana pada sebuah game untuk membantu proses pemecahan dan penyelesaian game hitori dan juga untuk menguji kemampuan pemecahan masalah dan penemuan solusi dari algoritma Generate and Test. Berdasarkan penjabaran diatas maka penulis bermaksud untuk melakukan penelitian tugas akhir dengan judul “Implementasi Generate And Test Dalam Pencarian Solusi Step Penyelesaian Pada Game Hitori”.
Dalam pelaksanaan penelitian tugas akhir ini, adapun masalah yang di angkat, dibahas, dan diselesaikan adalah:
1. Bagaimana implementasi Generate And Test pada penyelesaian game hitori.
2. Bagaimana pembangkitan alternatif dari
Generate And Test serta pencarian solusi dari
alternatif yang dibangkitkan pada game hitori. 3. Bagaimana waktu pembangkitan alternatif dan
pemilihan solusi dari metode Generate And Test pada permainan Hitori.
Tujuan dari penelitian ini, antara lain :
1. Untuk mengetahui mekanisme dari metode metode Generate and Test.
2. Untuk meneliti kemampuan metode algoritma
Generate and Test dalam mencari solusi dan
menyelesaikan game hitori..
Peneitian ini sedikit banyak terinspirasi dan mereferennsi dari penelitian-penelitian sebelumnya yang berkaitan dengan latar belakang masalah pada masalah pada skripsi ini. Berikut ini penelitian terdahulu yang berhubungan dengan skripsi ini antara lain :
Penelitian mengenai metode Generate and Test dalam dunia game telah dilakukan oleh beberapa peneliti seperti Antonios Liapis dan kawan-kawan yang meneliti kreativitas dalam komputasi game yang salah satunya membahas metode generate and
test. Penelitian lainnya yang membahas mengenai
metode generate and test telah dilakukan oleh Alba Amato yang membahas bagaimana prosedur pembangkitan konten pada industri game.
Artificial Intelegence (AI) atau Kecerdasan
Buatan dapat didefinisikan sebagai cabang sains komputer yang mempelajari otomatisasi tingkah laku cerdas (intelligent) [2]. Karena itu kecerdasan buatan harus didasarkan pada prinsip-prinsip teoritikal dan terapan yang menyangkut struktur data yang digunakan dalam representasi pengetahuan (knowledge representation), algoritma yang diperlukan dalam penerapan pengetahuan itu, serta teknik-teknik bahasa dan pemrograman yang dipakai dalam implementasinya.
Beberapa pakar ilmu kecerdasan buatan membuat berbagai macam definisi antara lain : a. Rich (1981) mendefinisikan ”kecerdasan buatan
sebagai suatu studi bagaimana membuat komputer mengerjakan sesuatu sedemikian rupa sehingga pada saat itu orang merasa mendapatkan hasil yang lebih baik.”
b. Staugaard dan Marvin Minsky memberikan pernyataan bahwa ”kecerdasan buatan adalah
suatu ilmu pengetahuan yang dapat membuat mesin melakukan sesuatu yang memerlukan kecerdasan apabila dikerjakan oleh manusia.”
c. Schildt (1987) mengatakan bahwa ”suatu
program kecerdasan buatan akan menunjukkan perilaku program yang menyerupai perilaku manusia jika menghadapi persoalan yang sama.”
d. Charniak dan McDermott (1985) menambahkan bahwa ”proses pembelajaran pada program
kecerdasan buatan menggunakan model komputasi.”
Dari beberapa definisi mengenai kecerdasan buatan, penulis dapat menyimpulkan bahwa kecerdasan buatan adalah suatu mekanisme pola berpikir manusia yang diduplikasikan kepada program komputer.
Heuristik adalah seni dan ilmu pengetahuan yang berhubungan dengan suatu penemuan. Kata ini berasal dari akar yang sama dalam bahasa Yunani dengan kata "eureka", berarti 'untuk menemukan'. Heuristik yang berkaitan dengan pemecahan masalah adalah cara menujukan pemikiran seseorang dalam melakukan proses pemecahan sampai masalah tersebut berhasil dipecahkan. Ini berbeda dari algoritma di mana hanya digunakan sebagai peraturan atau garis pedoman, bertentangan dengan prosedur invarian [1].
Fungsi heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Generate and test adalah merupakan suatu teknik penyelesaian masalah dengan komputer dengan cara menyusun daftar penyelesaian yang mungkin dan menguji satu persatu untuk menentukan solusi yang tepat [3]. Pada prinsipnya metode ini merupakan penggabungan antar depth first search dengan pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal. Nilai penjugiannya berupa jawaban “YA” atau “TIDAK” [4].
Metode penelusuran depth first search adalah metode penelusuran yang dimulai dari akar (level 0) dan penelusuran dilanjutkan dengan melacak node yang berada paling kiri pada level dibawahnya sampai level paling bawah. Apabila tidak ditemukan goal, maka penelusuran dilanjutkan pada level satu dan terus menuju level yang paling bawah, sampai ditemukan goal [5].
Jika pembuatan-pembuatan solusi yang dimungkinkan dapat dilakukan secara sistematis maka prosedur ini dapat segera menemukan solusinya bila ada. Algoritma untuk Generate and Test tersebut adalah :
a. Bangkitkan suatu solusi yang mungkin. Untuk beberapa permasalahan, pembangkitan ini berarti membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal.
b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan titik yang dipilih atau titik akhir suatu lintasan yang dipilih dengan kumpulan tujuan yang dapat diterima atau diharapkan. c. Jika solusi telah diperoleh maka keluar. Jika tidak
maka ulangi kembali langkah pertama.
Strategi bangkitkan dan uji (generate and test) merupakan pendekatan yang paling sederhana dari semua pendekatan yang akan dibicarakan. Pendekatan ini meliputi langkah–langkahsebagai berikut :
a. Buatlah/bangkitkan sebuah solusi yang memungkinkan. Untuk sebuah problema hal ini dapat berarti pembuatan sebuah titik khusus dalam ruang problema.
b. Lakukan pengujian untuk melihat apakah solusi yang dibuat benar–benar merupakan sebuah solusi, dengan cara membandingkan titik khusus tersebut dengan goal-nya (solusi).
c. Jika telah diperoleh sebuah solusi, langkah– langkah tersebut dapat dihentikan. Jika belum, kembalilah ke langkah pertama.
Jika pembangkitan atau pembuatan solusi– solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada). Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama. Metode generate
and test ini kurang efisien untuk masalah yang besar
atau kompleks.
Gambar 1. Ilustrasi Metode Generate and Test Sumber :Kusumadewi, 2008
Jika setiap variabel n memiliki ukuran domain sebesar d maka alternatif solusi yang dapat dibangkitkan menggunakan generate and test adalah :
| | Dimana :
| |= Jumlah alternatif solusi
d = ukuran variabel n = variabel kasus
Contoh : “Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :
Penyelesaian dengan metode Generate and Test :
Gambar 2. Contoh Kasus Generate and Test Sumber :Alfani, 2014
Berdasarkan diagram diatas maka alternatif solusi dapat dibangkitkan dan di-uji untuk memperoleh solusi yang optimal :
TABEL 1. Pengujian Solusi Optimal
Sumber :Alfani, 2014
Mengikuti jejak Sudoku dan Kakuro, Hitori adalah tipe lain yang mudah dipelajari teka-teki logika adiktif yang ditemukan di Jepang. Dengan menggunakan logika murni dan tidak memerlukan matematika untuk dipecahkan, teka-teki menarik ini menawarkan hiburan dan hiburan intelektual yang tiada henti untuk menarik penggemar semua keterampilan dan usia.
Hitori adalah teka-teki penghapusan nomor. Tidak seperti Sudoku dan Kakuro, teka-teki Hitori dimulai dengan semua angka di grid dan tugas Anda adalah menghilangkan beberapa dari mereka sesuai peraturan.
Teka-teki Hitori datang dalam berbagai ukuran dan berkisar dari yang sangat mudah hingga sangat sulit mengambil apapun dari lima menit sampai beberapa jam untuk dipecahkan. Namun, buat satu kesalahan dan Anda akan mendapati diri Anda terjebak di kemudian hari saat Anda mendekati solusi
Setiap teka – teki terdiri dari kotakpersegi dengan angka yang muncul di semua kotak. Tujuannya adalah untukmenaungikotak jadi, Tidak ada angka yang muncul dalam satu baris atau kolom lebih dari satu kali.Berbayang (hitam) tidak menyentuh satu sama lain secara vertikal atau horizontal.Setelah selesai, semua kotak yang tidak berbayang (putih) menciptakan satu area terus menerus.
Gambar 3. Contoh Game Hitori Sumber : Yen & Su, 2010
Berikut ini penjelasan hasil dan pembahasan dari pembuatan program aplikasi.
2. Perancangan Sistem
Analisis Penyelesaian HITORI menggunakan generate and test dilakukan dengan beberapa tahapan mulai dari pembangkitan alternatif solusi sampai pengujian alternatif untuk memperoleh solusi yang tepat.
START
Input Angka Permainan Hitori
Membangkitkan Alternatif Penyelesaian
Menguji alternatif ke - i
Masih ada duplikat baris dan kolom?
Angka Eliminasi Berdekatan?
Tidak
Tandai Alternatif ke – i sebagai solusi Tidak Tampilkan langkah solusi dari alternatif - i END Tidak Ya Ya i=1 i = i + 1 i > Jumlah Alternatif? A A Ya
Gambar 4. Flowchart Sistem
Perancangan usecase diagram pada tahap ini bertujuan untuk merancang diagram yang memperlihatkan interaksi pengguna terhadap sistem serta memperlihatkan proses utama sistem sampai menghasilkan output kepada pengguna.
System Pengguna New Game View Score AI Solving «extends» «uses»
Gambar 5. Use Case Diagram
3. Hasil dan Pengujian
Pada tampilan halaman pembuka, terdapat menu – menu navigasi. Adapun tampilan dari halaman pembuka dapat dilihat pada gambar berikut :
Gambar 6. Tampilan Depan Aplikasi Halaman utama merupakan halaman yang memiliki menu – menu utama untuk dapat membuka halaman-halaman lainnya seperti memiliki tiga buah menu yaitu menu New Game, Highscore dan Exit:
Gambar 7. Halaman Utama Adapun bagian – bagian dari menu utama yaitu :
Halaman new game merupakan tampilan untuk melakukan permainan Hitori. Adapun tampilan dari tampilan new game dapat dilihat pada gambar berikut.
Gambar 8. Tampilan New Game
Tampilan New Game seperti yang terlihat pada gambar 13 tersedia papan permainan Hitori, tombol “Submit” yang dapat digunakan untuk memeriksa hasil permainan, tombol “Reset” untuk mengulang permainan, tombol “Bantuan AI” untuk menggunakan metode Generate And Test untuk menyelesaikan permainan dan tombol “Keluar” untuk keluar dari permainan.
Jika tombol “Submit” ditekan dan permainan masih belum benar makan akan muncul pesan kesalahan seperti yang terlihat pada gambar 14.
Gambar 9. Pesan Penyelesaian Salah Pengguna kemudian dapat menggunakan tombol “Bantuan AI” untuk menggunakan fitur Generate
And Test dalam menyelesaikan permainan, namun
jika Generate And Test tidak dapat menemukan solusi yang tepat maka akan muncul pesan kesalahan seperti berikut.
Gambar 10. Solusi Tidak Ditemukan Aplikasi permainan telah dilengkapi dengan waktu batas permainan dimana jika dalam batas waktu tertentu pengguna belum menyelesaikan permainan maka akan muncul pesan seperti yang terlihat pada gambar 11
Gambar 11. Pesan Waktu Habis
Berdasarkan pengujian terhadap tiga permainan Hitori yang berbeda, maka hasil pengujian dapat dirangkum dalam bentuk tabel yang dapat dilihat pada tabel 4.1 berikut.
4. Kesimpulan
Berdasarkan penelitian pengembangan aplikasi penyelesaian permainan Hitori menggunakan metode
Generate and Test maka dapat diambil beberapa
kesimpulan yaitu:
1. Implementasi Generate and Test pada penyelesaian Hitori dilakukan dengan membangktikan alternatif yang berisi tahapan – tahapan dalam penyelesaian permainan Hitori. Dari alternatif – alternatif tersebut di pilih alternatif yang dapat menjadi solusi dalam permainan Hitori.
2. Hasil solusi yang diberikan oleh Generate and
Test pada permainan Hitori merupakan hasil
dari seleksi alternatif – alternatif yang dibangkitkan dan kemudian di testing pada permainan untuk mengetahui alternatif yang dapat menyelesaikan permainan sehingga menjadi solusi. Khusus pada beberapa kasus dimana soal permainan yang tidak dapat diselesaikan maka Generate and Test tidak dapat memberikan solusi terhadap permainan tersebut.
3. Proses pembangkitan alternatif penyelesaian menggunakan metode Generate and Test dapat dilakukan dengan waktu yang cepat. Secara umum jumlah alternatif yang dibangkitkan adalah 500 alternatif yang membutuhkan sekitar 1 sampai 3 detik sampai solusi ditemukan.
5. Daftar Pustaka
[1] Potdar, G. P., & Thool, R. C. (2014). Comparison Of Various Heuristic Search Techniques For Finding Shortest Path. International Journal of Artificial Intelligence & Applications (IJAIA), Vol. 5, No. 4, July 2014.
[2] Sutojo, T., Mulyanto, E., & Suhartono, V. (2010). Kecerdasan Buatan. Yogyakarta: Penerbit Andi.
[3] Yan, L., & Shuhong, L. (2012). Test Paper Generating Method Based on Genetic Algorithm. AASRI Procedia, Vol. 1.
[4] Welianto, S., & Santosa, R. G. (2011). Implementasi Algoritma Generate And Test Pada Pencarian Rute Terpendek. Fakultas Teknologi Informasi,Universitas Kristen Duta Wacana.
[5] Kusumadewi, S. (2008). Teknik Pencarian Heuristik. Gunadarma.
2012 Product Guide. Microsoft Corporation.