Kamis, 12 Mei 2016
0
analisa 5 game serta algoritma yang dipakai
1.Game Tetris
Tetris adalah permainan teka-teki yang disusun dan diprogram
oleh sepasang programmer berkebangsaan Rusia.Dalam permainan tetris,
balok-balok tetris berjatuhan ke area permainan dalam waktu konstan.Balok
tetris selalu terdiri dari 4 balok kecil yang membentuk 7 macam rupa.
Pemain dapat mengontrol balok tetris yang jatuh melalui 4
tombol arah panah untuk menggeser ke kanan atau ke kiri dan tombol arah panah
ke bawah untuk mempercepat jatuhnya balok tetris. Satu kendali yang lain adalah
untuk memutar bentuk balok tetris 90º’
Algoritma yang dipakai
Algoritma yang gunakan untuk
mencari solusi dari permainan tetris adalah algoritma yang menggunakan
konsep-konsep yang ada dalam algoritma Greedy dan Algoritma
BruteForce.Algoritma Greedy merupakan metode yang paling umum digunakan untuk
memecahkan masalah optimasi.Algoritma ini sederhana dan sesuai dengan tujuan
yang ada.
Algoritma Greedy memecahkan masalah langkah per langkah,
pada setiap langkah:
1. mengambil pilihan yang terbaik yang dapat diperoleh pada
saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can
get now!”)
2. berharap bahwa dengan memilih optimum local pada setiap
langkah akan berakhir dengan optimum global Brute force adalah sebuah
pendekatan yang sesuai (straightforward) untuk memecahkan suatu masalah,
biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi
konsep yang dilibatkan.
Algoritma
brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan
cara yang jelas (obvious way). Algoritma yang digunakan untuk mendapatkan
susunan tumpukan balok yang paling baik dengan menempatkan balok ke tempat yang
tepat.Algoritma ini menggunakan prinsip Greedy dalam mencari langkah sollusi
yang paling menguntungkan. Prioritas keuntungan yang tersusun terdiri dari:
1. Membentuk satu atau lebih baris paling penuh
2. Membentuk satu atau lebih baris paling mendekati penuh
3. Tidak membentuk ruang kosong pada susunan tumpukan balok
4. Balok dapat masuk ke dalam susunan tumpukan balok paling
dalam Algoritma yang kami kemukakan akan mencari penempatan balok yang jatuh ke
ruang yang paling tepat sesuai prioritas keuntungan di atas diantara susunan
tumpukan balok. Pencarian ini akan
dilakukan secara Brute Force. Balok yang jatuh akan dicoba untuk ditempatkan ke
ruang di antara susunan tumpukan balok dibawah.
Algoritma ini akan mencari penempatan yang sesuai dengan
prioritas di atas. Pencarian solusi diantara susunan tumpukan balok akan
dilakukan secara Brute Force. Algoritma ini akan mencari solusi paling
menguntungkan untuk setiap sisi balok yang sedang jatuh. Pencarian solusi untuk
setiap sisi dilakukan secar Brute Force. Apabila pada skala prioritas tertinggi
memiliki lebih dari satu solusi terbaik yang sama, maka diantara solusi tersebut
akan dibandingkan satu sama lain untuk mencari yang paling menguntungkan dengan
standard prioritas selanjutnya, dan begitu selanjutnya. Apabila pada skala
prioritas tertinggi tidak memiliki solusi, maka akan mencari solusi paling
menguntungkan dengan skala prioritas selnjutnya, dan begitu selanjutnya.
Apabila pada skala prioritas tertinggi hanya memiliki satu solusi paling menguntungkan, maka akan dibandingkan dengan
solusi dari hasil pencarian solusi untuk sisi balok yang lain. Diantara setiap
solusi sisi balok, dicari solusi yang paling menguntungkan sesuai skala
prioritas di atas. Dan balok akan ditempatkan pada ruang tersebut.
Apabila ada kasus seperti diatas, maka algoritma tersebut
akan mencari solusi yang paling menguntungkan untuk menempatkan balok tersebut
ke ruang di antara susunan tumpukan balok. Pencarian dicari secara brute force
dari kiri ke kanan untuk sisi yang pertama kali keluar.Dapat dilihat seperti
gambar berikut, bahwa lgoritma seakan-akan menempatkan balok tersebut dari kiri
ke kanan untuk balok dengan sisi tersebut.
http://chachados.blogspot.co.id/2012/04/algoritma-pada-game-tetris.html
2.liverpool racing
game liverpoolracing yang merupakan pengembangan dari game Horrible Racing pada Strawberry Prolog yang
sudah di edit sedemikian
rupa dengan menambahkan gambar background, backsound dan
tampilan yang lebih menarik bersangkutan
dengan balapan. Saya menggunakan kata liverpool karena saya
sendiri merupakan fans sejatinya the red alias liverpool .Dalam game Horrible
Racing user memiliki tujuan menghindari kotak-kotak yang turun dari atas secara
random sampai batas nyawa yang sudah ditentukan dan ada score akhir. Namun pada
game liverpoolracing ini memiliki
perbedaan dimana didalam permainan ada lawan atau komputer yang akan menggangu
kita dalam melewati rintangan. Kemudian perbedaan selanjutnya penambahan jumlah
kotak yang turun dari atas menjadi 7 kolom dari sebelumnya yang hanya 4 kolom.
Tentunya membuat rintangan menjadi semakin sulit ditambah lagi dengan kecepatan
dari setiap kotak yang turun lebih cepat dari game sebelumnya.
Dalam
permainan ini AI menggunakan algoritma Branch and Bound, algoritma ini
mendukung perhitungan untuk memukan jalan terbaik menghindari trap dan posisi
terbaik untuk menjebak Player.
Hal ini tidak didapat dari algoritma lain seperti DFS dan brute force.Serta
menggunakan algoritma minimax untuk mencari nilai maksimum.Ketika nilai
maksimum ditemukan maka program akan berhenti.
Ada beberapa peraturan
didalam permainan ini, antara lain:
·
Player harus menghindari kotak yang jatuh dari atas selama mungkin dengan
menekan button arah kanan atau kiri untuk menghindar.
·
Computer telah dirancang untuk menghindari kotak yang jatuh juga.
·
Kecepatan kotak yang turun akan bertambah semakin cepat sehingga permain
akan menjadi semakin mengasikan dan menegangkan.
·
Player dan Computer diberikan nyawa sama rata 10.
·
Player dan Computer bersebelahan dan tidak dapat saling menyebrang dalam
artian bertabrakan, sehingga baik Player atau Computer harus bisa menggangu
lawannya hingga nyawanya habis dan permainan berakhir.
GOAL
Goal atau kemenangan dari permainan ini adalah siapa yang berhasil bertahan
selama mungkin antara Player dan Computer untuk tidak terkena kotak yang jatuh
dari atas dialah pemenangnya.
Tampilan jika menang:
Tampilan jika kalah:
3.pencuri telur
Permainan
Pencuri Telur ini saya kembangkan dari game Mathes. Game ini juga merupakan
game dengan menerapkan konsep Artificial Intelligence(AI) atau kecerdasan
buatan.
Permainan
ini di lakukan oleh player yang melawan AI dalam hal startegi pengambilan
telur. Di dalam permainan ini pemain maupun computer akan berusaha mengambil
telur dan berusaha untuk menyisakan satu telur, karena yang mengambil
telurterakhir dialah yang kalah.
Mengandung Icon Telur dan 5 opsi menu:
, merupakan icon yang akan di klik oleh user ataupun
computer.
Terdapat 4 opsi game yang dapat dipilih ,yaitu:
1. Ulang, opsi
ini digunakan untuk memulai atau mengulang permainan.
2. Mode berfungsi
untuk merubah menjadi computer yang mengambil telur terlebih dahulu serta
merubah aturan permainan
3. Tentang, opsi
ini berfungsi untuk menampilkan tentang data pengembang dari game ini.
4. Cara Bermain,
opsi ini digunakan untuk menampilkan cara bermain dan peraturan didalam game
ini.
5. Keluar , opsi
ini digunakan untuk keluar dari permainan.
RULES
Berikut adalah aturan bermain di dalam game ini.
Ø Tunggu
sampai Sound berakhir dan klik Ok untuk memulai.
Ø Pemain
diberikan kesempatan untuk mengambil telur pertama.
Ø Pemain
bisa menjadi giliran kedua jika di atur pada menu mode.
Ø Pemain
diberikan keleluasaan untuk mengambil berapapun telur yang ada asalkan masih
pada kolom yang sama.
Ø Dilarang
mengklik diluar icon Telur karena terkadang terjadi Bug. Jika terjadi bug anda
bisa menggunakan menu Ulang untuk mengulang permainan.
Ø Komputer
telah dirancang untuk menyisakan satu telur terakhir. Karena yang mengambil
telur terakhir adalah yang kalah.
Ø Dan
pada menu mode terdapat perubahan system game yang merubah aturan menjadi
pengambil telur terakhir dialah pemenangnya.
GOALS
Setiap permainan pastinya mempunyai goals atau
tujuan akhir. Didalam permainan ini goals atau tujuan akhirnya adalah
membiarkan musuh mengklik telur terakhir dengan strategi menghitung jumlah
telur agar tersisa satu telur.
Berikut adalah kondisi dimana player mencapai goals atau tujuan
akhir.
Pada game Pencuri Telur ini menggunakan algoritma
Runut-Balik atau Backtracking. Algoritma backtracking ini adalah algoritma
berbasis DFS untuk mencari solusinya. Algoritma Backtraking ini tergolong hemat
waktu tidak seperti algoritma Bruteforce yang mencari semua kemungkinan solusi,
Backtraking hanya menampilkan pencarian yang mengarah ke solusi saja.
Otak yang diberikan kepada computer adalah dia akan selalu
berusaha untuk menyisakan satu telur untuk Player. Dengan algoritma ini
pastinya perhitungan ini akan cepat untuk diproses.
ALGORITMA YANG DIPAKAI
Di dalam
Game Pencuri Telur algoritma yang dipakai adakah sebagai berikut:
1. Ketika player
mengklik icon telur.
2. Ketika
computer mengklik telur pula, dengan syarat menyisakan satu telur terakhir
untuk player.
3. Ketika game
berakhir apabila player ataupun computer menang.
Dalam permainan Pencuri Telur ini menggunakan algoritma
Runut-Balik atau Backtraking karena dengan menggunakan algoritma ini si
computer akan cepat untuk berfikirnya. Dia langsung mengklik tanpa memakan
banyak waktu. Kalau game ini memakai algoritma
Minimax maka game akan berlangsung sangat lama seperti permainan catur,
dimana algoritmanya mencari semua kemungkinan yang ada.
4. pacman
Pacman adalah sebuah permainan video arkade yang cukup
terkenal. Cara bermainnya mudah yaitu pemain (pacman) diharuskan memakan
makanan (berbentuk titik-titik kecil) dan sebuah bulatan besar (energizer)
sampai habis di dalam sebuah labirin yang berliku-liku. Tidak hanya
menghabiskan makanan tersebut, pemain juga harus menghindari 4 ‘hantu’ yang
berkeliaran secara random untuk menangkap pemain. Jika pemain bertemu dengan
hantu-hantu tersebut maka pemain dinyatakan gagal dan harus mengulangi dari
awal lagi. Tetapi pemain bisa mengalahkan hantu tersebut dengan memakan
energizer yang terdapat di pojokkan labirin. Jika pemain memakan titik besar
tersebut, maka para hantu akan ketakutan dan berusaha menjauh dari pemain.
Dalam hal ini pemain bisa memakan hantu tersebut dan mendapatkan bonus yang
besar, tetapi para hantu yang termakan tidak mati begitu saja, mereka kembali
ke posisi semula dan kembali mengejar pemain. Pemain dinyatakan menang jika
semua makanan habis tak tersisa dan pemain akan memasuki level
berikutnyaPergerakan para hantu ini dipengaruhi oleh kecerdasan buatan atau
Artificial intelligence (AI), dimana para hantu diberi kecerdasan untuk menentukan
langkah dan mengambil keputusan akan bergerak kemana dengan menentukan rute
yang paling pendek (minimum),
Tujuan game
tujuannya adalah menangkap pemain. Setiap hantu harus
memiliki pemikiran berbeda dan memiliki kemampuan bekerja sama untuk mengejar
pemain, sehingga permainan akan tampak lebih menarik. Persoalan mendekati
karakter Pacman ini dapat diselesaikan dengan berbagai macam cara, salah
satunya dengan menggunakan algoritma greedy
algoritma greedy
Algoritma Greedy membentuk solusi langkah per langkah (step
by step). Terdapat banyak pilihan yang perlu di eksplorasi pada setiap langkah
solusi, karenanya pada setiap langkah harus dibuat keputusann yang terbaik
dalam menentukan pilihan.Keputusan yang telah
diambil pada suatu langkah tidak dapat diubah lagi pada
langkah selanjutnya. Sebagai contoh, jika kita manggunakan algoritma Greedy
untuk menempatkan komponen diatas papan sirkuit, sekali komponen telah
diletakkan dan dipasang maka tidak dapat dipindahkan lagi.
Pada setiap langkah diperoleh optimum lokal. Bila algoritma
berakhir, kita berharap optimum lokal menjadi optimum global.
Algoritma Greedy adalah salah satu algoritma yang dapat
digunakan untuk mendapatkan solusi terbaik dan merupakan algoritma yang paling
populer dalam hal ini.
Secara Harfiah Greedy artinya rakus atau tamak, sifat yang
berkonotasi negatif. Orang yang memiliki sifat ini akan mengambil sebanayak
mungkin atau mengambil yang paling bagus atau yang paling mahal. Sesuai dengan
arti tersebut, Prinsip Greedy adalah take what you can get now. Dalam kehidupan
sehari hari Greedy dapat digunakan dalam masalah seperti :
Memilih beberapa jenis investasi
Mencari jalur tersingkat ini merupakan implementasi untuk
game pacman
5.tictactoe
Permainan Tic-Tac-Toe
Permainan tic-tac-toe merupakan permainan berjenis
board-game berukuran 3x3. Pemain harus mengisi sel-sel, sehingga karakter yang
dimasukkan pemain tersebut dapat membentuk suatu garis lurus horizontal,
vertikal, ataupun juga diagonal. Permainan ini biasanya dimainkan oleh 2 orang
pemain, tapi pada versi permainan komputer, pemain lawan dapat digantikan oleh
komputer. Hasil permainan berupa menang, kalah, ataupun seri.
Algoritma Minimax
Algoritma minimax merupakan basis dari semua permainan
berbasis AI. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang
ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan
pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan
resource yang berskala besar untuk menangani komputasi pencarian pohon solusi
tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada
setiap geraknya sangat banyak sekali.
Algoritma minimax ini bekerja secara rekursif dengan mencari
langkah yang akan membuat lawan mengalami kerugian minimum. Pada langkah
pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap
langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan
keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan
keuntungan maksimum.
Dalam penentuan keputusan pada algorima minimax digunakan
sebuah fungsi heurisitic untuk mengevaluasi nilai sebagainilai yang
merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut
dipilih. Pada permainan tic-tac-toe ini
digunakan nilai 1,0,-1 untuk mewakilkan hasil akhir permainan berupa menang,
seri, dan kalah. Dari nilai-nilai heuristic inilah komputer akan menentukan
simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan
dipilih tersebut adalah simpul dengan nilai heuristicyang akan menuntun
permainan ke hasil akhir yang menguntungkan bagi komputer.
Garis besar algoritma minimax secara umum
"If ada langkah kemenangan Then pilih langkah tersebut.
Else Ifl awan mempunyai 2 spot terisi dalam satu garis dengan
spot ketiga masih kosong Then tutup langkah tersebut (isi spot kosong ketiga
tersebut).
Else melangkah ke state yang mempunyai kemungkinan menang
tertinggi (berdasarkan nilai heuristic yang dibangkitkan)"
Algoritma umum diatas untuk permainan tic-tac-toe
"Mencari langkah dengan nilai maksimum
If langkah tersebut merupakan langkah kemenangan Then pilih
lagkah tersebut.
Else
Foreach kemungkinan langkah yang ada
Cari langkah lawan yang bernilai minimum.
Return nilai dari langkah tersebut.
Pilih langkah yang bernilai maksimum darilangkah-langkah
tersebut. "
Analisis
Analisis dalam kasus ini, pada permainan tic-tac-toe
menggunakan algoritma minimax, dimana AI akan menelusuri semua kemugkinan
langkah yang akan dilakukan oleh pemain. SehinggaAI akan selalu mengetahui
kemungkinan pemain untuk menang dan memblok semua langkah kemenangan pemain.
Dengan demikian permainan akan selalu seri apabila pemain
cukup teliti dalam menentukan langkah. Namun jika pemain melakukan langkah yang
salah, maka AI akan langsung menggunakan kesempatan tersebut untuk mengambil
langkah yang akan mengarahkannya ke hasil akhir berupa kemenangan atau seri.
Langganan:
Posting Komentar (Atom)
0 Responses to “analisa 5 game serta algoritma yang dipakai”
Posting Komentar