Rabu, 07 November 2012

Pengantar Kecerdasan Buatan

Pengantar Kecerdasan Buatan
 Menggunakan Program Strawberry Prolog

 A. Initial State 
 Tujuan Tujuan saya dalam menggembangkan games ini adalah untuk memberikan sedikit hiburan terhadap pemain yang memainkan games snake ini tanpa membutuhkan banyak peraturan dan kemudahan berpikir serta memberikan manfaatnya tersendiri didalamnya. Pengenalan Game Snake Mungkin kita sedikit merasa asing dengan yang namanya permainan draughts, pada hakikatnya draughts hanyalah segelintir permainan sederhana dalam kehidupan sehari-hari, hanya saja mungkin penamaan dari game tersebut berbeda-beda di setiap daerah. Program Editor Pembuatan game “Snake” menggunakan strawberry prolog. Prolog merupakan bahasa pemograman logika atau disebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis yaitu programmation en logique (pemograman logika). Bahasa ini diciptakan oleh Alain Colmeraver dan Robert Kowalski sekitar tahun 1972 dalam upaya menciptakan suatu bahasa pemograman yang memukinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan di komputer. Disini strawberry prolog sebagai program editor. Pemilihan software ini dilakukan karena cukup mudah untuk dipahami meskipun dalam arti sebenarnya bahasanya memiliki sedikit arti abstrak di bagian kodingan. Prolog ini juga sering dipergunakan untuk membuat beberapa project yang berbasis AI (Artificial Inteligence). Disisi lain tidak dipungkiri memang bahwa bahasa pemograman ini memiliki bug sehingga mengganggu proses kerja kita. Untuk versi pertama dari strawberry prolog sendiri dirilis pada tahun 1996 dan dipinpin oleh Strawberry Dimiter Dobrev.
 B. Rules 
 • Pada saat memulai game, kita memiliki rintangan yaitu berupa garis yang menghalangi serta kecepatan waktunya. 
• Pada saat memulai game waktu yang disetting sebelumnya didalam program akan berjalan ketika dimainkan.
 • Dengan menggunakan keyboard pada laptop atau pc anda, anda dapat mengatur posisi ular untuk memakan makanannya.
 • Pada level pertama kita akan menemukan penghalang berupa garis 2 disebelah kanan pada layar permainan. 
• Pada level kedua speed serta rintangan berupa garis akan bertambah seiring dengan bertambahnya level dalam permainan snake yang kita mainkan. 
• Dalam memainkan permainan ini kita juga dituntut kecepatan dalam memakan makanan agar dapat melanjutkan kelevel berikutnya.
 • Dipermainan ini terdapat menu pilihan yaitu “New Game” dan “Demo”, masing-masing dari menu pilihan memiliki arti yang berbeda, kalau “New Game” berarti kita dapat memainkan permainan baru apabila kita kalah dalam penyelsaian game, seta menu pilihan “Demo” kita dapat memainkan game tersebut dengan sendirinya dilaptop atau dipc anda.
 C. Goal 
a. Kondisi jika user menang Pemenangnya adalah user jika telah menyelsaikan semua level pada permainan game snake yang terdapat dalam computer serta dapat melewati rintangan-rintangan yang terdapat didalam games ini.
(Gambar ketika user menang) b. Kondisi jika user kalah Pemenangnya adalah komputer berarti kita tidak bisa menyelsaikan permainan snake ini dengan ketentuan yang ada.
(Gambar ketika user kalah)
 c. Konsep AI Snake merupakan suatu permainan yang menggunakan konsep Artificial Inteligence atau kecerdasan buatan. Adapun kecerdasan buatan yang dimaksud dalam permainan ini adalah kita memiliki lawan yaitu komputer. Disini kita berinteraksi dengan pemain dari komputer yaitu komputer itu sendiri yang berusaha mengalahkan kita. Permainan akan dimenangkan jika di salah satu pemain memiliki strategi yang baik dalam menyelsaikan permainan untuk melanjutkan kelevel berikutnya. Untuk memainkan game prolog ini kita harus memiliki kompiler strawberry prolog terlebih dahulu.Untuk memainkan game ini terlebih dahulu buka strawberry prolog kemudian klik File>Open dan pilih nama game tersebut. Setelah itu untuk menjalankan tekan F5. Algoritma yang Digunakan Algoritma Minmax Untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang melibatkan dua pemain seperti tic tac toe, checkers, go dan permainan yang menggunakan strategi atau logika lainnya. Hal ini berarti permainan-permainan tersebut dapat dijelaskan sebagai suatu rangkaian aturan dan premis. Dengan itu, kita dapat mengetahui, pada titik tertentu permainan, langkah-langkah yang mungkin berikutnya. Permainan tersebut berbagi karakteristik yang sama, yakni “permainan dengan penuh informasi”. Setiap pemain mengetahui semua langkah-langkah yang mungkin dari pemain lawannya.
 PENERAPAN ALGORITMA MINIMAX DALAM SNAKE Penerapan algoritma Minimax dalam Snake dibuat berdasarkan prosedur Minimax untuk mendapatkan langkah terbaik dari posisi yang ada. Setiap posisi memiliki nilai yang dapat dihasilkan dari langkah terbaik, dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan akan mencoba untuk meminimalkannya.Ketika prosedur minimax mencapai akar pada pohon pencarian (posisi saat tersebut), akan menghasilkan langkah terbaik dengan asumsi lawan akan menggunakan kriteria evaluasi yang sama. Beberapa versi program yang dibuat kebanyakan telah menerapkan algoritma pemotongan alpha-beta.Terdapat dua macam metode, yang disebut rote learning. Metode tersebut memiliki penyimpan untuk setiap posisi yang ditemui selama permainan dengan tidak menghilangkan nilai yang ditentukan oleh prosedur Minimax. Hasilnya adalah jika terdapat posisi yang pernah ditenukan sebelumnya, akan dimunculkan sebagai posisi terminal pada pohon pencarian. Sehingga, pencarian akan semakin mudah karena nilai posisi diambil dari hasil pencarian yang telah dilakukan sebelumnya. Satu masalah awal yang ditemukan adalah program tidak mendukung untuk melangkah langsung menuju kemenangan.
 Kesimpulan Dalam permainan game Snake ini sangat mudah sekali tidak dibutuhkan pemikiran yang keras hanya saja didalam permainan ini kita dituntut agar dapat menyelsaikan semua rintangan yang ada didalam level-level dan dapat meyelsaikan game tersebut dengan tepat. Dengan menggunakan konsep AI(Artificial Inteligence) didalamnya untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. memudahkan kita dalam meyelsaikan games ini. Algoritma pemograman yang terdapat dalam games ini adalah Penerapan algoritma Minimax dalam Snake dibuat berdasarkan prosedur Minimax untuk mendapatkan langkah terbaik dari posisi yang ada. Setiap posisi memiliki nilai yang dapat dihasilkan dari langkah terbaik, dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan akan mencoba untuk meminimalkannya.

1 komentar: