Laman

Categories

My Class

I studied at Gunadarma University - Informatics Engineering

Buka APPWORLD Tanpa Full Service

I studied at Gunadarma University - Informatics Engineering

Contoh CV dalam Bahasa Inggris

I studied at Gunadarma University - Informatics Engineering

Cara Membuat Makro Excel

I studied at Gunadarma University - Informatics Engineering

Daftar Klasemen Terbaru

I studied at Gunadarma University - Informatics Engineering

Rabu, 22 Januari 2014

Contoh pembuatan armature (bone) pada blender


Berikut ini adalah beberapa tampilan cara membuat armature pada sebuah object. untuk melihatnya secara keseluruhan,silahkan download filenya.






link download : disini
pass : www.yongkimayongga.blogspot.com





Contoh Game dengan Strawberry Prolog

TAMPILAN PROGRAM GAME "TANK"


Pada tampilan utama program terdapat beberapa tombol beserta fungsinya masing – masing, yaitu :

  1. Mulai game : Fungsinya untuk masuk ke game yang kita ingin mainkan.
  2. Petunjuk : Fungsinya untuk melihat cara bermain dan hal” lain mengenai game. 
  3. Tentang Pembuat Game: Fungsinya untuk melihat profil dari pembuat Game. 
  4. Tambahan Program : Fungsinya untuk melihat program lain buatan Developer. 
  5. Keluar : fungsinya untuk keluar dari game.
Tampilan Menu Game


Tampilan Saat Game Running pada Tahap 1 (saat memilih START) 


Seperti itulah tampilan pada saat kita memulai memainkan game dengan mengklik tombol Start,berikut ini adalah keterangan dari masing” menu :


Menu Bar :

  1. Mulai Baru : Berfungsi untuk memulai permainan baru dari awal.
  2. About : Berfungsi untuk melihat mengenai developer. 
  3. Exit : Untuk keluar dari game.

Menu Pada Layar Tampilan
  • Button 1 : untuk membuka layar help (bantuan cara bermain)
  • Button 2 : Level Amatiran 
  • Button 3 : Level Normal 
  • Button 4 : Level Medium 
  • Button 5 : Level Hard

Segitiga bewarna merah putih adalah Player,sementara segitiga biru adalah musuh. Ketika highscore kita meewati batas tertentu,yakni 10 maka kita akan memasuki tahap berikutnya.

Tampilan Saat Game Running pada Tahap 2 




Pada Tampilan diatas, ada beberapa menu yaitu :

  1. Pilihan => yang berisi menu pilihan new game dan exit
  2. Level => berisi pilihan level
  3. Bantuan => berisi menu help
  4. About => hal – hal mengenai game

Disebelah Kiri,terdapat player yang melawan AI yang ada di sebelah kanan, mereka berdua berlindung dibalik tembok,dan saling membak untuk mengalahkan.

Tampilan Saat Game Running pada Tahap 3



Pada tahap ketiga,player bertarung satu lawan satu dengan AI, yang merupakan Boss dari musuh. Player adalah tentara berbaju hijau yang bila menyerang akan berubah menjadi baju hitam. AI adalah orang berbaju putih yang Nampak seperti seorang samurai. Ketika player menang,itu berarti game ini berhasil diselesaikan.


Cara Bermain dan Aturan ( Rules)


Identifikasi ruang permainan ini dilambangkan dengan sebuah layar utama dan beberapa layar tambahan, dimana layar ini akan menjadi tempat dimana permainan berlangsung. Pemain hanya terdiri dari Player dan Musuh (AI).

Aturan-aturan pada game ini adalah

  1. Dimainkan oleh dua pemain. Dimana pemain pertama adalah player dan pemain kedua adalah AI.
  2. Player harus menang di satu tahap untuk maju ke tahap berikutnya.
Pada tahap 1 :

  • Pemain saling menembak untuk menjatuhkan lawan.
  • Pemain diberikan 2 macam senjata,yakni senjata biasa (tombol space) dan senjata khusus (tombol q) dengan ketentuan
  • Jika menembak dengan senjata biasa maka score ditambah Satu
  • Jika menembak dengan senjata khusus maka score dikurangi Satu
  • Player akan kalah apabila terkena serangan (tembakan) dari musuh atau bertabrakan dengan player lain.
  • Score dari player akan dihitung untuk menentukan high score.

Pada tahap 2 :

  • Player dan AI saling menembak dalam jangka waktu yang disediakan
  • Ketika waktu habis akan dihitung sisa nyawa yang tersisa,dan nyawa yang paling banyak yang menjadi pemenangnya.

Pada tahap 3 :

  • Player dan AI berhadapan satu lawan satu dengan saling memukul,setiap pukulan berbeda – beda efek yang ditimbulkannya,serangan khusus mempunyai efek pengurang nyawa yang lebih banyak.
  • Ketika salah satu ada yang kehabisan nyawa,maka yang lainnya menjadi juara
  • Ketika player menyelesaikan ketiga buah tahap,maka player dinyatakan menang.

Tampilan pada saat telah menyelesaikan 3 tahap  



Konsep AI (Algoritma)

Kecerdasan buatan dalam game tank ini terletak pada ketika musuh mampu membaca pergerakan player dengan menembakkan tembakan dengan tujuan untuk mengalahkan player. Disisi lain player harus menghindari tembakan dan menambah score setinggi mungkin.

Taktik permainan diperlukan player agar bias menghindari tembakan dan menembak musuh dengan tepat untuk mendapatkan hasil skor yang maksimal. Kecerdasan buatan merupakan studi yang mengupayakan komputer berfiki cerdas . Suatu proses yang menggunakan alat bantu ( tools ) secara mekanik dapat melaksanakan serangkaian kejadian dengan menggunakan pemikiran atau kecerdasan yang seperti dimiliki oleh manusia.

Komputer berpikir hanya dengan perhitungan, komputer tidak mempunyai intuisi yang menggunakan perasaan. Sebagai gantinya, komputer mempunyai daya perhitungan yang jauh lebih besar daripada manusia. Ketika diberikan sebuah posisi tertentu, sama seperti manusia komputer juga melakukan perhitungan simulasi permainan untuk valid moves yang tersedia. Komputer memperhitungkan apabila koordinat dari posisi player memungkinkan player untuk ditembak ,maka AI akan menembakkan senjatanya. Seperti itu lah cara kerja AI yang ada di gamenya.

Algoritma yang digunakan dalame game ini adalah :

Algoritma Brute force

Brute force merupakan pendekatan langsung untuk memecahkan suatu masalah yang biasanya didasarkan pada pernyataan masalah dan definisi konsep yang dilibatkan. Algoritma brute force cenderung membabi buta,mencoba semua kemungkinan,sederhana /simple. Karakteristik algoritma brute force :

  1. Tidak cerdas & tidak efisien (mangkus)
  2. Karena membutuhkan jumlah langkah yang besar
  3. Lebih cocok untuk masalah kecil
  4. Karena algoritma ini sederhana dan implementasinya mudah
  5. Bisa menyelesaikan semua masalah
  6. Walaupun tidak efisien,ada beberapa kasus yang hanya bisa diselesaikan dengan metode ini,contohnya adalah mencari elemen terbesar pada suatu rangkaian angka. 

Pada game ini,penggunaan algoritma brute force digunakan pada saat penghitungan high score,dimana untuk mendapatkan high score dilakukan perhitungan satu persatu sesuai dengan nilai yang didapatkan dengan menembak jatuh lawan baik dengan senjata biasa (+1 score) ataupun dengan senjata khusus (-1 score).

Algoritma AI

Algoritma Artificial Intelligence (AI) adalah sesuatu buatan/tiruan yang cerdas. Cerdasnya yakni kepandaiannya dalam berfikir selayaknya seperti manusia dalam menyelesaikan suatu masalah, mengambil keputusan dan melakukan tindakan. Pada system ini pengetahuannya berasal dari pengetahuan manusia dan sumber penambahan informasi lain seperti buku, dokumentasi, dan data-data refensi yang mendukung pada basis pengetahuan AI.

Pembuatan musuh yang bias menembak dan membaca pergerakan player pada game ini menggunakan algoritma AI.

Forward Chaining 
Karena dalam pengambilan keputusan tindakan digunakan aturan” berdasarkan timer yang berjalan,maka algoritma forward chaining digunakan pada tahap 2.

Algoritma DFS

DFS berarti semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. Dalam penentuan pergerakan pemain pada Tahap 3 digunakan algoritma DFS untuk menentukan respon mana yang harus diambil oleh AI.

Ini adalah sedikit contoh listing programnya



/*=================================================================
* Game Title            : Tank
* Programing Language   : Prolog
* Developer             : Yongki Mayongga, 3IA06
* From                  : University of Gunadarma
* =================================================================
*/



%==================================================================
%--------------------Dekalrasi Variabel ----------------------------
%==================================================================

?-
G_wall1 is bitmap_image("gambar//tank3.bmp",_),
G_wall2 is bitmap_image("gambar//turquoise2.bmp",_),
G_wall3 is bitmap_image("gambar//white.bmp",_),
G_HighScore := 0, G_LastShipWay := 0,
G_player_color is brush("gambar//G_Cap.bmp"),
G_enemy_color:=brush(rgb(0,128,255)),
G_Red:=brush(rgb(255,100,100)),

  G_waktu1:=11,
  G_aksi_red:=0,
  G_aksi_blue:=0,
  G_level:=1,
  G_life_red:=99,
  G_life_blue:=99,
  G_zero:=0,
  G_Tentaranembak1 is bitmap_image("tembak\\Tentaranembak1.bmp",_),
  G_Tentaranunduk1 is bitmap_image("tembak\\Tentaranunduk1.bmp",_),
  G_Tentaraketembak1 is bitmap_image("tembak\\Tentaraketembak1.bmp",_),
  G_Tentaranembak2 is bitmap_image("tembak\\Tentaranembak2.bmp",_),
  G_Tentaranunduk2 is bitmap_image("tembak\\Tentaranunduk2.bmp",_),
  G_Tentaraketembak2 is bitmap_image("tembak\\Tentaraketembak2.bmp",_),
  G_Pelurubiru is bitmap_image("tembak\\pelurubiru.bmp",_),
  G_Pelurumerah is bitmap_image("tembak\\pelurumerah.bmp",_),
  G_Dorblue is bitmap_image("tembak\\dor_blue.bmp",_),
  G_Dorred is bitmap_image("tembak\\dor_red.bmp",_),
  G_Tembok is bitmap_image("tembak\\Tembok.bmp",_),
  G_Timeup is bitmap_image("tembak\\timeup.bmp",_),
  G_white is bitmap_image("tembak\\white.bmp",_),
  G_timeblock is bitmap_image("tembak\\timeblock.bmp",_),
  G_cleantime is bitmap_image("tembak\\cleantimeup.bmp",_),

G_background is bitmap_image("bruce\\latar1.bmp",_), G_char1 is bitmap_image("bruce\\char1.bmp",_),  
G_char2 is bitmap_image("bruce\\char2.bmp",_), 
G_char1pukul is bitmap_image("bruce\\char1-1.bmp",_),     G_char1tendang is bitmap_image("bruce\\char1-2.bmp",_),  
G_char2pukul is bitmap_image("bruce\\char2-1.bmp",_),G_char2tendang is bitmap_image("bruce\\char2-2.bmp",_),G_char1ulti is bitmap_image("bruce\\char1-3.bmp",_),


G_x1:=30,
G_y1:=350,   

G_x1lawan:=680,   
G_y1lawan:=355,   

G_waktu:=40, 

G_darah1:=320,
G_darah2:=300,

G_jarak:=0,       
G_level:=1,

%==================================================================
%----------------------Window Utama--------------------------------
%==================================================================
window(G_form1,_,win_func(_),"Yongki Mayongga",150,50,1024,600).

win_func(paint):-
draw_bitmap(0,0,G_wall1,_,_),
button(_,_,mulai(_),"Mulai Game",720,50,250,40),
button(_,_,help(_),"Petunjuk",720,100,250,40),
button(_,_,about(_),"Tentang Pembuat Game",720,150,250,40),
button(_,_,other(_),"Tambahan Program",720,200,250,40),
button(_,_,keluar0(_),"Keluar",720,250,250,40),
fail.

%==================================================================
%--------------------Fungsi Dari Button----------------------------
%==================================================================

other(press):-
close_window(G_form1),
execute("INFIXTOPOSTFIX.exe").

keluar0(press):-
beep("sound//crow.wav"),
close_window(G_form1).

keluar(press):-
beep("sound//crow.wav"),
close_window(G_form9).

keluar1(press):-
beep("sound//crow.wav"),
close_window(G_form10).

about(press):-
message("Sekilas Tentang Pembuat Game ", "Game Pengantar Kecerdasan Buatan - LabTI
\nUniversitas Gunadarma\nPembuat: Yongki Mayongga\nKelas: 3IA06",i),
text_out(10, 10, "=========================="),
text_out(10, 30, "===Laboratorium Informatika==="),
text_out(10, 50, "===Universitas Gunadarma===="), 
text_out(10, 70, "==========================="),
text_out(10, 90, "======Yongki Mayongga======"),
text_out(10, 110, "======3IA06 / 57411570======"),
text_out(10, 125, "==========================").

help(press):-
message("Sekilas Tentang Game ",
"\tGame ini bertujuan untuk mengalahkan lawan
\tdengan menembak dan menghancurkan lawan\n\tDapatkan Highscore tertinggi ^^.",i).


%==================================================================
%--------------------Fungsi Button Mulai---------------------------
%==================================================================
%------------------------Window Game-------------------------------
%==================================================================

mulai(press):-
window(G_form9,_,tembak(_),"Menu Game",100, 100, 310, 310),
set_active_window(G_form9),
close_window(G_form1).

tembak(init):-
animate(_, _, fail(_), "video//bz.avi", 0, 0),
  menu( normal, _, _, utama(_), "&Halaman Utama"),
  menu( normal, _, _, start(_), "&Start"),
%menu( pop_up, _, _, menu_level(_), "&Level"),
  menu( normal, _, _, help(_), "&Help"),
  menu( normal, _, _, keluar(_), "&Exit"),
fail.

menu_level(init):-
  menu( normal, _, _, level_easy(_), "Tahap I"),
  menu( normal, _, _, level_medium(_), "Tahap II"),
menu( normal, _, _, level_hard(_), "Final Stage"),
fail.

start(press):-
message("Cara Bermain Game ",
"\tPilihlah level yang diinginkan
\tdengan menekan tombol 2,3,4,5
\ttekan 1 untuk melihat tombol",!),
level_easy(_),
fail.

help(press):-
message("Sekilas Tentang Game ",
"\tGame ini bertujuan untuk mengalahkan lawan
\tdengan menembak dan menghancurkan lawan\n\t^^.",i).


utama(press):-
message("Back", "Kembali Ke Menu Utama",!),
close_window(G_form9),
window(G_form1,_,win_func(_),"Yongki Mayongga",150,50,1024,600).
set_active_window(G_form1),
fail.


level_easy(press):-
close_window(G_form9),
window(G_form3,_,yongki(_),"Tank",100, 100, 490, 450).
set_active_window(G_form3).
 


    

^^