Pages

Rabu, 20 April 2016

Kecerdasan Buatan (AI) Pada Game (Tugas)

Pengertian Kecerdasan Buatan

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.
Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
Definisi ini tampaknya kurang begitu membantu, karena beberapa ahli berpendapat :

•         H.A Simon (1987):
o   “kecerdasan buatan merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman computer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”.

•         Rich and Knight (1991):
o   “sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan dengan lebih baik oleh manusia”.

•         Encyclopedia Britannica:
o   “merupakan cabang dari ilmu computer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk symbol-simbol dari bilangan, dan memproses informasi berdasarkan metode heuristic atau berdasarkan sejumlah aturan”

Tujuan dari kecerdasan buatan menurut Winston dan Prendergast (1984):
1.      Membuat mesin menjadi lebih pintar (tujuan utama)
2.      Memahami apa itu kecerdasan (tujuan ilmiah)
3.      Membuat mesin menjadi lebih bermanfaat (tujuan entrepreneurial)
Didefinisikan sebagai kecerdasan yang ditunjukan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap computer. Kecerdasan diciptakan dan dimasukkan dalam suatu mesin atau computer agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa bidang yang menggunakan kecerdasan buatan anatara lain system pakar, permaianan computer, fuzzy logic, jaringan syaraf tiruan dan robotika.

Pengertian Game

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.

Sejarah Artificial Intelligence dalam Game

Mulai sekitar abad 18 sebagaimana mesin telah menjadi lebih kompleks, usaha yang keras telah dicoba untuk menciptakan manusia imitasi. Pada tahun 1736 seorang penemu dari perancis, Jacques de Vaucanson (1709-1782) membuat suatu mesin pemain seruling berukuran seperti seorang manusia yang dapat memainkan 12 melodi nada. Tidak hanya ini saja, mekanik tersebut dapat memindahkan bibir dan lidahnya secara nyata untuk mengontrol arus dari angin ke dalam seruling.
Pada tahun 1774 seorang penemu dari perancis, Pierre Jacques Drotz mencengangkan masyarakat Eropa dengan suatu automation berukuran sekitar seorang anak laki-laki yang dapat duduk dan menulis suatu buku catatan. Penemuan ini kemudian dilanjutkan dengan yang lainnya, yaitu automation yang berupa seorang gadis manis yang dapat memainkan harpsichord. Semuanya itu masih merupakan proses mekanik yang melakukan gerak dengan telah ditentukan terlebih dahulu.
Manusia masih berusaha untuk menciptakan mesin yang lainnya. Pada tahun 1769, dataran Eropa dikejutkan dengan suatu permainan catur yang dapat menjawab langkah-langkah permainan catur yang belum ditentukan terlebih dahulu. Mesin ini disebut dengan Maelzel Chess Automation dan dibuat oleh Wolfgang Von Kempelan (1734-1804) dari Hungaria. Akan tetapi mesin ini akhirnya terbakar pada tahun 1854 di Philadelphia Amerika Serikat.banyak orang tidak percaya akan kemampuan mesin tersebut. Dan seorang penulis dari Amerika Serikat, Edgar Allan Poe (1809-1849) menulis sanggahan terhadap mesin tersebut, dia dan kawan-kawannya ternyata benar, bahwa mesin tersebut adalah tipuan, dan kenyataannya bukanlah aoutomation, tetapi merupakan konstruksi yang sangat baik yang dikontrol oleh seorang pemain catur handal yang bersembunyi di dalamnya.
Usaha untuk membuat konstruksi mesin permainan terus dilanjutkan pada tahun 1914, dan mesin yang pertama kali didemonstrasikan adalah mesin permainan catur. Penemu mesin ini adalah Leonardo Torres Y Quevedo, direktur dari Laboratorio de Automatica di Madrid, Spanyol. Beberapa tahun kemudian, ide permainan catur dikembangkan dan diterapkan di komputer oleh Arthur L. Samuel dari IBM dan dikembangkan lebih lanjut oleh Claude Shannon.
Pada abad ke 20, Automation sudah banyak dikembangkan dan diterapkan terutama pada Angkatan bersenjata Amerika Serikat, berupa program-program simulasi peperangan. Sekarang ini, perkembangan AI sudah mencapai pada tahap yang dapat dikatakan fantastis, terutama di bidang-bidang berikut:
-          Game Playing
-          General Problem Solving
-          Natural Language Recognition
-          Speech Recognition
-          Visual Recognition
-          Robotics dan system pakar

Artificial Intelligence dalam Game

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia.

Contoh media interaksi
Penglihatan (vision)
Suara (voice), ucapan (speech)
Gerakan anggota badan ( gesture)

Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.
Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.

Dalam game berbasis kecerdasan buatan, ada banyak teknik yang diadaptasi dari bidang kecerdasan buatan untuk diterapkan pada game. beberapa diantaranya, yaitu:

1. Mengejar dan Menghindar
Mengejar dan menghindar merupakan teknik dasar yang diterapkan pada banyak game berbasis kecerdasan buatan dari yang sederhana sampai yang kompleks. apakah itu space shooters, RPG, atau game strategi. metode paling umum pada teknik mengejar dan menghindar ini adalah melakukan pemutakhiran (update) koordinat terhadap objek yang menjadi sasaran. Posisi relatif dan kecepatan dapat dijadikan sebagai parameter pada algoritma mengejar dan menghindar. Metode Line-of-sight yang membutuhkan dasar rumus persamaan garis juga serngkali dijadikan basis metode mengejear dan menghindar.

2. Pola Pergerakan
Pola pergerakan merupakan cara yang sederhana untuk memberikan ilusi kecerdasan pada sebuah game. Game Galaga adalah contoh klasik penerapan pola pergerakan ini, dimana pesawat musuh dapat bergerak secara melingkat atau mengikuti pola garis lurus yang ditentukan. Contoh lain penerapan pola pergerakan adalah pada game first-person shooter yang menampilkan monster yang sedang berpatroli pada jalur tertentu, pada game simulasi pertempuran pesawat dimana pesawat musuh dapat melakukan manuver-manuver di udara yang menyulitkan kita mengejar, atau karakter-karakter non-player (figuran) seperti kambing yang sedang berjalan membutuhkan teknik pola pergerakan ini. Metode standar untuk menerapkan pola pergerakan adalah dengan cara menyimpan pola tersebut dalam suatu array. Array tersebut terdiri dari serangkaian koordinat atau perintah pergerakan dengan pola tertentu untuk mengontrol koordinat dari objek. Dengan metode ini, bisa didapatkan pola-pola pergerakan seperti melingkar, garis lurus, zig-zag atau bahkan kurva tak beraturan.

3. Pathfinding
Metode pathfinding paling mudahditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang ada. Salah satu algoritma pathfindin yang cukup umum dan yang paling banyak digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A* (baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi akan dilakukan hingga akhirnya mencapai target yang dituju.

4. Jaringan saraf tiruan (neural network)
Neural network cukup baik ketika diterapkan pada kasus-kasus yang sifatnya non-linier atau mengambil keputusan yang tidak dapat dilakukan dengan metode tradisional. Penerapannya seringkali pada game-game yang memerlukan kemampuan adaptif atau belajar dari pengalaman. Sebagai contoh, jika suatau ketika terjadi pertempuran antar player dengan unit komputer, dan unit komputer mengalami kekalahan, maka pada kesempatan lain yang serupa, komputer akan memilih untuk tidak bertempur. Semakin banyak pengalaman yang dialami komputer, maka komputer menjadi semakin cerdas. Prinsip dasar dari jaringan saraf tiruan ini adalah perbaikan bobot secara terus menerus agar output yang dihasilkan menjadi semakin akurat (semakin cerdas). 5. Algoritma Genetis (genetic algorithm) Algoritma genetis sedikit banyak dipengaruhi oleh teori evolusi yang dicetuskan Darwin, yaitu bahwa spesies akan terus menerus beradaptasi dengan lingkungannya dan ciri khasnya yang terletak pada kromosom, akan diturunkan pada generasi berikutnya. Generasi turunan ini menerima gabungan kromosom dari kedua induknya, yang disebut dengan crossover. Pada algoritma genetis, akan diterapkan langkah ranking fitness untuk melakukan seleksi terhadap langkah ranking fitness untuk melakukan seleksi terhadap generasi turunan yang terbaik. Pada game berbasis algorima genetis, turunan terbaik inilah yang dilibatkan ke dalam game, dimana akan digunakan oleh komputer untuk merespons perubahan-perubahan tingkah laku user.   sebenarnya bukan hanya 5 teknik kecerdasan buatan di atas yang dapat digunakan dalam sebuah game berbasis kecerdasan buatan. Beberapa teknik lain yang umum digunakan antara lain: finite state machine, fuzzy logic, ruled-based AI, basic probability,  dan keputusan tak pasti (dengan menggunakan teknik Bayesian) Di masa-masa mendatang, dengan dukungan teknologi hardware yang semakin baik, teknik kecerdasan buatan pada game berbasis kecerdasan buatan akan semakin matang dengan ilusi kecerdasan yang semakin menyerupai manusia.   sumber : majalah pc mild 20/2009.

Contoh Game yang menerapkan AI

1. Game PacMan
Pemanfaatan AI dalam game ini digunakan untuk mencari jalur terpendek untuk menentukan targetnya. Pada game ini dapat kita lihat bahwa hantu-hantu (komputer) yang menjadi musuh Pacman dapat mempertimbangkan dan memilih jalan yang tercepat untuk menangkap dan mengepung sang Pacman (pemain). Bahkan ketika sang Pacman memakan bola yang bisa membuat si hantu menjadi lemah maka sang hantu akan langsung segera menghindari sang Pacman secepatnya. Tindakan seperti itu memang terlihat mudah namun pada kenyataannya pembuatan hal tersebut cukup sulit dilakukan. Pembuatan hal tersebut membutuhkan algoritma yang mungkin sedikit rumit terutama bagi orang awam.


 2.  Game Tic Tac Toe 
Merupakan game yang bertujuan untuk melatih otak dan untuk hiburan semata. Game TicTacToe lebih dikenal di Indonesia sebagai Game Catur Jawa karena prinsip permainan game Tic Tac Toe sama dengan Game Catur Jawa. Cara memainkan game tersebut dengan memberikan Nilai X atau O pada tiap pemain. Pada game TicTacToe terdiri dari 9 kolom yang berfungsi untuk meletakan nilai tersebut. Yang mana untuk memenangkan game tersebut pemain harus dapat membentuk nilai X atau O berbentuk vertikal, horizontal atau diagonal pada kolom tersebut. Letak AI dalam game ini adalah kesulitan yang diberikan kepada pemain pertama, yaitu kita, dalam arti user untuk memenangkan game ini oleh komputer yang berperan sebagai pemain kedua, dimana pemain kedua ini diciptakan sebagai AI.


Jadi keberadaan AI dalam teknologi game sangat lah membantu. Yang pertama AI dapat menjadi lawan bermain yang cukup tangguh. Lalu yang kedua AI dapat melatih otak kita untuk berpikir keras lagi dalam menyelesaikan game yang kita mainkan. Dengan adanya AI kita juga tidak perlu repot untuk mencari lawan bermain jika memang kita sedang tidak ada lawan bermain. Sebagai contoh kita dapat bermain Counter Strike dimana yang menjadi musuh kita merupakan Bot (komputer) yang memiliki kecerdasan yang cukup tinggi. Dia dapat menemukan pemain lalu menyerangnya. Selain itu game-game lain seperti The Sims, dimana pemain (user) dapat berinteraksi dengan objek lain yang disediakan dalam permainan tersebut.

DAFTAR PUSTAKA
https://setiyanugroho.wordpress.com/2011/04/12/kecerdasan-buatan-dalam-game/
http://kecerdasanbuatan-gaming.blogspot.co.id/p/blog-page.html
http://nakbelog.com/knowledge/menerapkan-kecerdasan-buatan-dalam-game/
http://rafiqamalyah.blogspot.co.id/2013/05/kecerdasan-buatan-pada-teknologi-game.html

1 komentar: