Site icon Ari Usman Chaniago

Grafika Komputer Tutorial Game Pong dengan Processing

processing game pong

ariusman.id | Grafika Komputer telah menjadi bagian hidup modern dewasa ini. Hampir semua bidang memanfaatkan grafika komputer untuk menunjang pekerjaannya. Bidang yang paling banyak menggunakan grafika komputer adalah bidang yang berinteraksi langsung dengan manusia dan bersifat visual. Jadi apa itu grafik komputer. Grafika Komputer adalah suatu bidang komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara manusia dengan komputer dengan jalan membangkitkan , menyimpan dan memanipulasi gambar suatu objek. Processing merupakan perangkat lunak open source yang menyediakan bahasa pemrograman dan lingkungan pemrograman bagi orang-orang yang ingin membuat program pengolahan citra, animasi dan suara. Processing digunakan dalam berbagai tahap seperti: belajar, membuat prototype sampai pasda tahap produksi. Processing dibuat dengan tujuan untuk memberikan fasilitas belajar pemrograman computer dalam konteks visual.Salah satunya adalah pembuatan game pong.Pada tahun 1970,game pong untuk satu pemain menggunakan Bahasa pemrograman berbasis processing.Dimana teknik permainannya, paddle berada di sisi kanan dan bola memantul secara horizontal. Jika bola mengenai paddle maka bola akan memantul terus ke sisi lain tapi jka bola melewati paddle dan ke sisi kanan maka permainan selesai. Paddle digerakkan menggunakan tombol pada keyboard yaitu key UP untuk bergerak ke atas dan key DOWN untuk bergerak ke bawah.

untuk mendapatkan aplikasi processing silahkan baca : https://ariusman.id/aplikasi-processing-untuk-grafika-komputer/

DASAR TEORI

Fungsi setup() dan draw
Setiap program hanya mempunyai satu fungsi setup() dan draw(). Fungsi Setup () akan dipanggil saat pertama kali program berjalan, kemudian secara berkala fungsi draw() dijalankan.
Kendali Program
Kendali program adalah perintah-printah yang mempengaruhi jalannya program. Hal ini disebabkan karena terpenuhinya suatu kondisi tertentu. Hubungan anatar data dinyatakan melalui operator relasi dan operator logika.
Operator Relasi
Operator Relasi adalah menjelaskan hubungan antar 2 data. Operator ini menghasilkan bilangan true atau false.
Operator Logik : membandingkan dua buah ekspresi dan menghasilkan nilai berdasarkan jenis perbandingan yang digunakan.
Percabangan
Percabangan adalah keadaan dimana program menjalankan sekelompok perintah apabila sejumlah kondisi dipenuhi atau tidak dipenuhi.
Fungsi mouse
Fungsi mouseX() dan mousey() adalah fungsi mouse yang digunakan untuk mengetahui lokasi mouse pada layar.

ALUR ALGORITMA

Pembuatan suatu program memerlukan algoritma sehingga dapat terlihat jelas bagaimana cara kerja atau sistem kerja program tersebut.Alur algoritma dari game pong , yaitu :
Basic Program ( dasar pembuatan program pada processing ).
void setup()
Pembuatan gambar bola dan kotak menggunakan fungsi draw().
void draw()
Pembuatan gambar bolaellipse(x,y,20,20);
x=x+changeX;
y=y+changeY;
Pembuatan kotak sekaligus menggunakan event mouse
rect(mouseX,height-base,200,base);
Pemantulan bola setiap mengenai sisi bidang kanan, kiri maupun atas
if(x<0 | x>width)
{
changeX=-changeX;
}
if(y<0){changeY=-changeY;
}
if(y>height-base)
Bola menyentuh kotak atau tidak
if(x>mouseX && x<mouseX+200)
Jika bola menyentuh kotak maka bola memantul ke sisi lain lagi
changeY=-changeY;
Tapi jika bola melewati kotak maka permainan selesai
if(gameOver==0)

PEMBAHASAN DAN HASIL

Kode perintah yang digunakan pada game pong sebagai berikut :
// Pemberian variable global
int base=40;
int x,y,gameScore=0;
int changeX=-5;
int changeY=-5;
int gameOver=0;
// Penggunaan fungsi setup
void setup()
{
// menentukan ukuran bidang  
size(560, 440); 
 x=(int)random(width);  
y=height-base;
}
// Penggunaan fungsi draw
void draw()
{
// Penggunaan fungsi if untuk pengulangan jika kondisi gameover==0  
if(gameOver==0)  
{
// Pemberian warna background pada bidang  
background(0);
// Pengisian warna pada kotak
fill(0,100,0);
//Pembuatan gambar kotak sekaligus menggunakan fungsi mouseX untuk menggerakannya  
rect(mouseX,height-base,200,base);
// Pengisian warna pada bola 
fill(255,215,0);
// Pembuatan gambar bola   
ellipse(x,y,30,30);  x=x+changeX;  y=y+changeY;
// Fungsi if ( pengulangan ) digunakan untuk memantulkan bola apabila bola menyentuh sisi pada bidang lain. 
if(x<0 | x>width)
{   
changeX=-changeX; 

 if(y<0) 
 {  
  changeY=-changeY;  

 if(y>height-base)
{ 
// Memeriksa apakah itu jatuh di dalam kotak atau tidak menggunakan fungsi if   
 if(x>mouseX && x<mouseX+200)
{
// Jika bola menyentuh kotak maka bola akan memantul lagi      
changeY=-changeY;  
 }     
  {    
     } 
 }
}
}
{
 }

KESIMPULAN DAN SARAN

Kesimpulan
Dari uraian di atas  peneliti dapat menarik beberapa kesimpulan diantaranya :
•         Grafika Komputer adalah suatu bidang komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara manusia dengan komputer dengan jalan membangkitkan , menyimpan dan memanipulasi gambar suatu objek.
•         Grafika computer dapat diimplementasikan untuk pembuatan gambar, animasi bahkan permainan. Misalkan saja game pong  berbasis processing.
Saran
Game pong ini masih bersifat sederhana serta belum terdapat fungsi untuk menghitung score pada permainan dan belum mencul keterangan game over atau pengulangan permainan jika pemain mengalami kekalahan. Sehingga diharapkan peneliti selanjutnya mampu menyempurnakan game pong ini.                      

LAMPIRAN SOURCE CODE

int base=40;
int x,y,gameScore=0;
int changeX=-5;
int changeY=-5;
int gameOver=0;
void setup()
{
  size(700, 440);
  x=(int)random(width);
  y=height-base;
}
void draw(){  if(gameOver==0)
  {  background(0);
fill(225,0,255);
  rect(mouseX,heightbase,200,base);
 fill(0,0,255);
   ellipse(x,y,30,30);
  x=x+changeX;
  y=y+changeY;
  if(x<0 | x>width)
  {
    changeX=-changeX;
  }
  if(y<0)
  {
    changeY=-changeY;
  }
  if(y>height-base)  
{
   //memeriksa apakah itu jatuh di dalam balok atau tidak 
if(x>mouseX && x<mouseX+200)
  {
   changeY=-changeY; //memantulkan bola 

{
  }
  }
  }
  }

}

Exit mobile version