Assalamualaikum wr.wb
Kali ini saya akan membahas beberapa paper tentang "AI dalam Bidang
Game" serta membagikan file (PDF) berupa makalah yang dapat dipelajari
selanjutnya atau untuk dijadikan arsip. Di sini saya akan membahas 3 paper.
Oke, langsung saja di simak.
INTRO
Kecerdasan buatan (Artificial Intelligence) adalah kecerdasan yang
ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap
komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer)
agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa
macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar,
permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
Game adalah permainan komputer yang dibuat dengan teknik dan metode
animasi. Permainan game merupakan bidang AI yang sangat populer berupa
permainan antara manusia melawan mesin yang mempunyai intelektual untuk
berpikir. Komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan
oleh lawan mainnya. Salah satu komputer yang ditanamkan AI untuk game
bernama Deep Blue. Deep Blue adalah sebuah komputer catur buatan IBM pertama
yang memenangkan sebuah permainan catur melawan seorang juara dunia (Garry
Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan pertamanya
(dalam pertandingan atau babak pertama) terjadi pada 10 Februari 1996, dan
merupakan permainan yang sangat terkenal.
Kini telah banyak berkembang game AI yang semakin
menarik, interaktif, dan dengan grafis yang sangat bagus. Ditambah dengan
kemajuan teknologi jaringan komputer yang semakin cepat, sudah banyak terdapat
game-game AI yang berbasiskan online. Tidak sedikit orang yang tertarik dengan
game saat ini. Mereka memainkan game untuk mengisi kekosongan waktu mereka atau
pun melatih skill mereka dalam berpikir.
PENERAPAN METODE
HEURISTIC DALAM PEMBUATAN GAME PING PONG
Perkembangan program permainain komputer sudah demikian pesatnya dengan
program yang makin lama canggih yang disesuaikan dengan perkembangan perangkat
keras dan perangkat lunak komputer. Metode heuristic digunakan
sebagai metode untuk pencairian posisi ping-pong pada papan atau area bermain
ping pong, dengan diterapkannya metode ini proses pemeriksaan posisi ping pong
apakah masih dalam area permainan atau tidak. Oleh karena itu penulis mencoba
membuat sebuah permainan yang dimasukkan unsur Kecerdasan Buatan didalamnya.
Banyak orang setelah bermain dengan komputer, bertanya-tanya bagaimana program
permainan itu dapat dibuat. Namun dengan memanfaatkan Borland Delphi 7,
dengan menggunakan bahasa pemrograman Borland Delphi diharapkan bisa membuat
berbagai permainan komputer.
Algoritma untuk merancang
perangkat lunak penyelesaian permainan ini menggunakan
metode pencarian heuristic, fungsi heuristic yang digunakan merupakan
prakiraan (estimasi) cost dari initial state ke goal, tersebut di bawah
ini:
1. Pencarian yang kesuksesannya didasarkan
pada pertimbangan harga (didapat dari fungsi heuristic tertentu)
dari setiap langkah.
2. Pencarian dilakukan dengan melihat
satu lintasan, dan memungkinkan untuk berpindah ke lintasan
lain. akan dijelaskan bagaimana menerapkan algoritma pencarian
(heuristic) dalam sebuah aplikasi.
PERANCANGAN APLIKASI
PUZZLE TOKOH PEJUANG KEMERDEKAAN MENGGUNAKAN LINEAR CONGRUENT METHOD
Permainan puzzle sudah
bukan permainan asing bagi anak-anak. Biasanya anak-anak akan sangat senang
menyususun dan mencocokkan “bentuk” dan “tempatnya”. Anak-anak akan suka
memainkan puzzle dengan berbagai macam gambar yang
menarik. Puzzle bisa dimainkan anak mulai dari usia 12 tahun.
Puzzle bisa memberikan kesempatan belajar yang banyak kepada anak. Memainkan
puzzle bersama-sama pun dapat merekatkan hubungan antara orang tua dan anak.
Bilangan acak merupakan suatu besaran
dasar dalam modeling dan teknik-teknik simulasi. Pada modeling dan simulasi
banyak sekali memanfaatkan bilangan acak sebagai besaran untuk mendapatkan
penyelesaian suatu permasalahan simulasi. Untuk mendapatkan bilangan yang
benarbenar acak, secara manual dapat dilakukan dengan menggunakan undian,
arisan, atau pemakaian mesin roullete. Tetapi secara komputasi, hal ini sulit
dilakukan. Hal ini disebabkan bahwa komputer merupakan mesin deterministik,
sedangkan bilangan acak muncul sebagai kejadian yang probabilistik.
Satu-satunya cara untuk mendapatkan bilangan acak adalah dengan meng-gunakan pseudo random generator (pembangkit
bilangan acak semu), dimana bilangan acak diperoleh secara deterministik
(aritmatik). Berbagai metode untuk membangkitkan bilangan acak banyak dibahas,
dalam skripsi ini yang digunakan adalah metode LCM. Metode Linear
Congruent ini sangat banyak digunakan untuk membangkitkan bilangan
acak r1, r2, …, rn yang bernilai [0,m] dengan
memanfaatkan nilai sebelumnya. Untuk membangkitkan bilangan acak ke n+1 (rn+1) dengan Metode
Linear Congruent, didefinisikan:
Dimana a,c dan m dinamakan nilai pembangkit, ro dinamakan nilai awal,
biasanya nilai ini yang di-gunakan dalam proses randomize (mengacak
di awal atau state awal).
PENERAPAN ALGORITMA BACKTRACKING PADA
PERMAINAN MATH MAZE
Permainan Math Maze merupakan game sederhana
yang bertujuan menentukan jalur yang tepat untuk mencapai tujuan yang telah
ditetapkan. Permainan ini hampir sama dengan permainan labirin (maze) biasa.
Perbedaannya adalah pada Math Maze kita harus menemukan jalur
pada labirin dengan menggunakan angka-angka pada bagian sisi kiri dan sisi atas
sebagai indikasi berapa banyak kotak yang dilewati untuk tiap baris atau tiap
kolom dan tidak menggunakan tembok penghalang seperti pada labirin biasa.
Pencarian solusi
dengan backtracking, dimana pada saat ditemukan path yang
bisa ditempuh maka user akan bergerak mundur sehingga dapat
mengambil path yang sebelumnya ditempuh. Dengan
melakukan backtracking sehingga dapat ditentukan ada atau
tidak adanya solusi untuk menyelesaikannya permasalahan yang didapat.
Adanya backtracking mempercepat proses path
planning, karena tidak perlu melalui path yang
berulang-ulang. Backtracking yang merupakan perbaikan
dari brute-force, secara sistematis mencari solusi persoalan
diantara kemungkinan solusi yang ada. Dengan algoritma backtracking tidak
perlu memeriksa semua kemungkinan solusi yang ada, hanya pencarian mengarah
kesolusi saja yang perlu dipertimbangkan akibatnya waktu pencarian solusi dapat
dihemat. Langkah – langkah algoritma backtracking mencari
solusi adalah sebagai berikut :
1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan yang dipakai adalah mengikuti metode depth first search (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup dan simpul hidup yang sedang diperluas dinamakan simpul-E. Simpul dinomori dari atas ke bawah sesuai dengan kelahirannya.
1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan yang dipakai adalah mengikuti metode depth first search (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup dan simpul hidup yang sedang diperluas dinamakan simpul-E. Simpul dinomori dari atas ke bawah sesuai dengan kelahirannya.
2. Jika lintasan yang diperluas yang sedang dibentuk tidak mengarah ke
solusi, maka simpul-E tersebut “dibunuh” sehingga menjadi simpul mati (dead
node). Simpul yang sudah mati ini tidak akan diperluas lagi.
3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak lainnya. Bila tidak ada lagi simpul anak yang dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan runut-balik (backtracking) ke simpul hidup terdekat. Selanjutnya simpul ini menjadi simpul-E yang terbaru.
4. Pencarian dihentikan bila telah ditemukan solusi atau tidak ada lagi simpul hidup untuk runut balik (backtracking). Algoritma backtracking pada permainan ini dapat dipandang sebagai pembentukan pohon ruang status. Akar dari pohon adalah kondisi dimana Math Maze berada pada kotak awal dan daunnya (anak- anaknya) adalah kotak.
3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak lainnya. Bila tidak ada lagi simpul anak yang dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan runut-balik (backtracking) ke simpul hidup terdekat. Selanjutnya simpul ini menjadi simpul-E yang terbaru.
4. Pencarian dihentikan bila telah ditemukan solusi atau tidak ada lagi simpul hidup untuk runut balik (backtracking). Algoritma backtracking pada permainan ini dapat dipandang sebagai pembentukan pohon ruang status. Akar dari pohon adalah kondisi dimana Math Maze berada pada kotak awal dan daunnya (anak- anaknya) adalah kotak.
KOMENTAR
Paper 1: Penerapan Metode
Heuristic dalam Pembuatan Game Ping Pong
Aplikasi dapat dikembangkan dengan menambahkan beberapa metode pencarian lain
yang terdapat di dalam ruang lingkup Artificial Intelligence (AI)
serta aplikasi dapat dikembangkan dengan animasi pemain yang digerakkan. Untuk
animasi yang lebih baik, perangkat lunak dapat dibangun dengan menggunakan
aplikasi Macromedia Flash dan aplikasi juga dapat dikembangkan
dengan menambahkan pergerakan yang lebih kompleks ketika tidak menemukan
lintasan yang paling menjanjikan.
Paper 2: Perancangan Aplikasi Puzzle Tokoh Pejuang Kemerdekaan
Menggunakan Linear Congruent Method
Aplikasi game puzzle ini
masih terdapat banyak kekurangan-kekurangan yang perlu dikembangkan lebih
lanjut sesuai dengan spesifikasi kebutuhan pengguna sistem yang harus dipenuhi
dalam mencapai tahap yang lebih tinggi dan kinerja sistem yang lebih baik.
Diharapkan pada pengembangan selanjutnya tampilan atarmuka dapat dibuat lebih
menarik lagi. Dapat mencoba menggunakan jenis algoritma yang
sesuai untuk mencapai hasil yang lebih baik. Pada pengembangan selanjutnya
diharapkan dapat meng-input-kan objek gambar untuk game
puzzle yang lebih banyak lagi, sehingga user dapat
memilih objek/gambar sesuai yang diinginkan.
Paper 3: Penerapan Algoritma Backtracking pada Permainan Math Maze
Penerapan permainan math maze harus
mencapai tujuan yang akan ditetapkan dengan jalur yang tepat. Cara untuk
menemukan jalur pada permainan math maze akan di tentukan oleh
angka angka dapa bagian sisi kiri dan sisi atas. Pemakai permainan math
maze sebaiknya dapat membuat sebuah posisi pintu masuk dan pintu
keluar dalam menerapkan metode algoritma backtracking.
KESIMPULAN
Bentuk permainan ping pong dirancang
dengan menggunakan bahasa pemrograman Borland Delphi. Permainan ping pong yang
dirancang memiliki interface yang mirip dengan permainan ping
pong yang sebenarnya. Penerapkan metode heuristic dalam
permainan ping pong diterapkan pada proses bola yang dipukul oleh pemain.
Game Puzzle yang
merupakan permainan asah otak yang menantang keterampilan pemainnya, sepertinya
tidak pernah kehilangan popularitasnya dan tidak pernah termakan usia. Puzzle merupakan
salah satu jenis game yang cukup memeras otak untuk
menyelesaikannya.
Perancangan
algoritma dalam sebuah permainan math maze dengan cara
menerapkan sistem backtracking. Penerapan algoritma ditetapkan
dengan angka angka sisi kiri dan sisi atas didalam permainan math maze.
SUMBER
Ashari.2014.
Perancangan Aplikasi Puzzle Tokoh Pejuang Kemerdekaan
Menggunakan Linear
Congruent Method
http://www.ilmuskripsi.com/2016/06/jurnal-perancangan-aplikasi-puzzle.html
Erwinda, Yenny.
2014. Penerapan Metode Heuristic dalam Pembuatan Game
Ping Pong
http://www.ilmuskripsi.com/2016/06/jurnal-penerapan-metode-heuristic-dalam.html
Kejora. 2016.
Kecerdasan Bautan (AI) pada Game.
http://dunotifkejora.blogspot.co.id/2016/04/kecerdasan-buatan-ai-pada-game.html
Nasution, Rahmad.
2014. Penerapan Algoritma Backtracking pada Permainan Math Maze
http://www.ilmuskripsi.com/2016/06/jurnal-penerapan-algoritma-backtracking.html
Sekian dan Terimakasih.
Wassalamualaikum wr. wb
Nah, itu tadi beberapa penjabaran atau
penjelasan tentang AI pada Bidang Game pada 3 paper. Untuk file berbentuk
Makalah dengan format PDF bisa di download di sini
Sekian dan Terimakasih.
Wassalamualaikum wr. wb