## Proses Clipping pada Map Game Online RPG menggunakan Algoritma Cohen-Sutherland
Silvester Dian Handy Permana
Program Studi Teknik Informatika, Fakultas Industri Kreatif dan Telematika, Universitas Trilogi email: handy@trilogi.ac.id
Abstrak – Game online sekarang ini merupakan media interaksi dengan orang seluruh dunia. Di dalam permainan ini, pemain disuguhkan dalam  dunia virtual. Dunia virtual ini  ditampilkan pada suatu grafik realisme  yang  memiliki  berbagai  macam bentuk nyatanya seperti rumah, jalan, tembok, pagar, dsb. Pemain dalam game online ini juga akan diberikan sebuah avatar yang  menjadi  identitas  dan  pewujudan  pemain  dalam  dunia  virtual.  Dunia  virtual  di  dalam game online  RPG  tentunya membutuhkan  banyak  grafik  realisme  virtual  namun viewport dalam  windows  tentunya  tidak  menampilkan  dunia  virtual secara  keseluruhan.  Hal  ini  dikarenakan  pandangan  dari  pemain  yang  menjadi  avatar  pastinya  dibuat  sama  dengan pandangan pemain didunia nyata. Dalam menampilkan bagian dari dunia virtual pastinya membutuhkan clipping dari peta yang  merupakan  perwujudan  dari  dunia  virtual.  Teknik  clipping  yang  digunakan  menggunakan  Algoritma  Cohen- Sutherland.  Algoritma  ini  membuat  clipping  sebagai  9  wilayah  dimana  jendela viewport akan  menjadi  fokus  utama  dalam peta  dan ditampilkan  pada layar viewport . Hal ini akan  mengaburkan  kedelapan wilayah lainnya yang tidak  dapat terlihat secara langsung di dalam viewport . Penelitian ini memberikan pandangan pemain yang sama seperti di dunia nyata sehingga game online yang dimainkan dapat memberikan pengalaman nyata kepada pemainnya..
Kata Kunci  Game Online, Clipping, Dunia Virtual , Algoritma Cohen-Sutherland
Abstract − Nowadays,  online game s  is  the  media  for  interaction  with  another  people  in  the  world.  In  this game ,  players  are presented  in  the  virtual world.  This  virtual world  displayed  on  a  graph  of  realism  that  have  various  shapes  fact  as  houses, roads,  walls,  fences,  etc.  Players  in  this  online game will  also  be  given  an  avatar  of  the  identity  and  the  realization  of  the players in the virtual world. Virtual world in the online RPG game certainly require a lot of graphics realism in the viewport windows virtual but certainly not to display the virtual world as a whole. This is because the views of the players who became avatar certainly  made  equal to the real-world view of the player. In  presenting  part  of the  virtual world  certainly requires clipping  of  the  map  which  is  a  manifestation  of  the  virtual  world.  Clipping  technique  used  to  use  Cohen-Sutherland algorithm.  This  algorithm  makes  clipping  as  nine  areas  where  the viewport window  will  be  the  main  focus  in  the  map  and displayed on the screen viewport . This would blur the eight other areas that cannot be seen directly in the viewport . This study provides  a  view  of  the  same  players  as  in  the  real  world  that  is  played  online game s  can  provide  a  real  experience  to  his players.
Keywords – Game Online, Clipping, Virtual World, Cohen-Sutherland Algorithm

## I. PENDAHULUAN
Dunia  permainan  online  saat  ini  mempunyai perkembangan  yang  sangat  signifikan.  Pada  awal  tahun 2000, game online  dimulai  dari  aplikasi  yang  sangat sederhana. Permainan online yang banyak dimainkan pada masa  itu  salah  satunya  adalah  Nexia.  Nexia  merupakan game online  RPG  (Role  Play Game )  yang  mengusung grafik 2D dalam permainannya. Nexia  mengambil  setting dunia  mitologi  Korea  kuno,  dan  berdasarkan  graphic novel  karya  Kim  Jim  [1].  Di  dalam game ini  terdapat  2 kota besar yaitu Kugane dan Buya. Game ini memberikan pengalaman  kepada  pemainnya  untuk  bertemu  secara virtual dalam permainan ini.
Dalam  suatu  permainan  RPG  pada  era  saat  ini mempunyai  berbagai  tempat  yang  dapat  dijelajahi. Permainan  ini  mempunyai  banyak  kota,  dungeon  (tempat bertarung), field (tempat diluar kota) dan istana. Tentunya pemain  diminta  untuk  menjelajahi  dan  menikmati  semua tempat  yang  sudah  disediakan.  Developer  tentunya  sudah membangun  tembok,  pagar,  rumah,  dan  semua  keadaan seperti  dunia  nyata  ke  dalam game tersebut.  Pemain diwujudkan  dalam  bentuk  karakter  yang  memiliki  avatar yang  berbagai  macam  untuk  menjadi  obyek  virtual  yang akan menjadi peran utama dalam game tersebut [2].
Dalam  pembuatan  dan  konstruksi  dari  suatu  kota memerlukan pembangunan secara detail untuk membedakan  suatu  tempat  dengan  tempat  lainnya. Perencaan  suatu  kota  memerlukan  perwujudkan  gambar yang  sudah  didesain  sebelumnya  menjadi  suatu  gambar 3D  agar  RPG  yang  dihasilkan  dapat  merepresentasikan dunia  nyata.  Beberapa  bangunan  yang  telah  terwujud dalam bentuk 3D digolongkan menjadi suatu kota. Ukuran karakter  pemain  yang  masuk  ke  dalam  kota  tersebut pastinya disesuaikan  seperti dunia  nyata,  misalnya: tinggi badan  karakter  tidak  setinggi  daun  pintu.  Begitu  juga dengan pandangan dari karakter pemain. Misalnya pemain hanya  diperkenankan  dapat  melihat  dalam  radius  50 meter. Lebih dari 50 meter maka obyek tidak dapat dilihat oleh  karakter.  Hal  ini  untuk  membuat  realisme  virtual dalam permainan ini.
Dalam  pewujudan  realisme  virtual  dimana  harus adanya radius dalam permaian tersebut maka peneliti akan menggunakan algoritma Clipping Cohen-Sutherland untuk membuat obyek  yang diluar radius  menjadi tidak terlihat. Teknik  clipping  membagi    9  wilayah  dimana  jendela viewport akan  menjadi  fokus  utama  dalam  peta  dan ditampilkan  pada  layar viewport .  Hal  ini  akan mengaburkan kedelapan wilayah lainnya yang tidak dapat terlihat  secara  langsung  di  dalam viewport .  Penelitian  ini
JISA (Jurnal Informatika dan Sains) (e-ISSN: 2614-8404) is published by Program Studi Teknik Informatika, Universitas Trilogi under Creative Commons Attribution-ShareAlike 4.0 International License
memberikan  pandangan  pemain  yang  sama  seperti  di dunia  nyata  sehingga game online  yang  dimainkan  dapat memberikan pengalaman nyata kepada pemainnya.

## II. TINJAUAN PUSTAKA
Penelitian  yang  telah  dilakukan  oleh  [3]  menganalisa proses  pemotongan  garis  (clipping)  pada  ruang  dimensi tiga menggunakan algoritma Cohen-Sutherland. Penelitian ini  menyediakan  contoh  enam  buah  garis  dengan  letak titik  ujung  bervariasi  seperti  pada  kode  pembagian  area Cohen-Sutherland.  Ruang  dimensi  tiga,  ruas  garis,  dan hasil  pemotongan  garis  dalam  ruang  dimensi  tiga digambarkan  menggunakan  perangkat  lunak  Processing. Pada pendekatan dimensi tiga, untuk pengujian pada titik awal  dan  titik  akhir  garis  maka    algoritma  Cohen- Sutherland  membagi  sebanyak  27  macam  wilayah. Masing-masing wilayah diberi kode yang unik.  Penelitan ini  menambah  pemahaman  mengenai  langkah-langkah algortima  CohenSutherland  untuk  menentukan  dan memahami  arti  kode  titik  awal  dan  titik  akhir  garis  pada ruang dimensi tiga, serta dapat menampilkan secara visual garis yang berada di dalam dan di luar jendela penampil.
Penelitian  oleh  [4]  menggunakan  algoritma  Cyrus Back  algorithm  clipping  yang  dimodifikasi  untuk memotong viewport yang  cembung.  Modifikasi  ini menambahkan  Algoritma  Skala  yang  diperpanjang  untuk memotong  jendela  yang  relative  tidak  baik  berupa cembung,  cekung,  atau  lainnya.  Kinerja  algoritma Clipping  Line (CL) 1 dan CL2 tidak lebih baik dari pada algoritma  Cyrus-Beck.    Selain  itu,  algoritma  Cyrus-Beck mendeteksi  kesalahan pada titik persimpangan sedangkan algoritma  yang  lain  berdasarkan  'test  and  evaluate'    tidak menghitung  titik  persimpangan  salah.  Algoritma  CL2 ditemukan bekerja secara konsisten pada berbagai macam kliping  jendela  dengan  jumlah  sisi  dan  sisi  yang sembarang.  Algoritma  ini  akan  mendapatkan  keuntungan dalam peningkatan kecepatan jika vektor – vector operasi dan / atau pemrosesan paralel digunakan.
Penelitian  yang  dilakukan  oleh  [5]  menganalisis Algoritma  kliping  baris  baru  untuk  ruang  3D  terhadap kuboid  yang  tidak  dihasilkan  berdasarkan  Cohen Sutherland  atau  Liang-Barsky  baris  kliping  algoritma. Algoritma  yang  diusulkan  berbasis  pada  sebuah  teori sederhana  yang  baru  dikembangkan  yang  dikembangkan dengan menggunakan konsep matematika dasar. Sebagian besar  semua  algoritma  kliping  baris  3D  melibatkan  tiga langkah  untuk  memeriksa  apakah  sebuah  garis  segmen terletak sepenuhnya di dalam volume kliping atau terletak sepenuhnya  di  luar  kliping  volume  atau  perhitungan persimpangan saat tidak sepenuhnya di dalam atau di luar. Menurut hasil pengujian, algoritma penggandaan baris 3D yang diusulkan lebih cepat dari pada 3D Algoritma Cohen -Sutherland.  Oleh  karena  itu,  algoritma  ini  bisa  berhasil digunakan dalam aplikasi 3 D untuk pemetaan ruang 3D.

## III. METODE PENELITIAN
Dalam  permainan  yang  dibuat  tentunya  menampilkan gambar latar belakang secara keseluruhan. Latar belakang ini  kita  arahkan  untuk  hanya  perbagian  kecil  saja  yang ditampilkan.  Setelah  itu,  kita  bisa  memotong  gambar tersebut yang disesuaikan dengan view port yang tersedia. Dalam  pemotongan  ini,  peneliti  dapat  melakukan
pemotongan titik dan pemotongan  garis pada background permainan yang telah dibuat
IV. HASIL DAN PEMBAHASAN
Pemotongan  garis  dilakukan  jika  terdapat  bagian  garis yang  terletak  di  view  port.  Garis  disusun  oleh  dua  buah titik  atau  lebih  dan  saling  berhubungan.  Dalam menentukan  apakah  sebuah  garis  akan  ditampilkan  di dalam  jendela  maka  terlebih  dahulu  menguji  seluruh  titik penyusun  garis  tersebut.  Cara  ini  mempunyai  kelemahan yaitu  kurangnya  efisien  untuk  diterapkan  jika  garis tersebut cukup panjang dan banyak jumlahnya.
Algoritma  Cohen  Sutherland  mengusulkan  cara pengujian  pada  titik  awal  dan  titik  akhir  garis  untuk menentukan  apakah  sebuah  garis  berada di  dalam  atau  di luar  jendela,  tanpa  harusmenguji  seluruh  titik  penyusun garis tersebut. Algoritma ini membagi sebanyak 9 macam wilayah  yang  digunakan  untuk  memetakan  titik  awal  dan titik  akhir  garis  yang  akan  digambar  menggunakan pendekatan  dimensi  dua  [6].  Pada  pendekatan  dua dimensi,  untuk  keperluan  yang  sama  maka  algoritma  ini membagi  sebanyak  27  macam  wilayah,  dimana  setiap wilayah diberi kode yang unik.
Algoritma  Cohen  Sutherland  memberikan  penamaan kode 4 bit untuk setiap  wilayah pada dua dimensi. Setiap bit  dapat  bernilai  0  atau  1  digunakan  untuk  menyimpan informasi letak titik. Keempat bit ini jika dibaca berurutan akan  menyimpan  informasi  antara  lain  yaitu  atas/ top (bit ke  3),  bawah/ bottom (bit  ke  2),  kanan/ right (bit  ke  1), kiri/ left (bit ke 0).
Gambar 1 . Kode 4 bit algoritma CohenSutherland.
Deskripsi wilayah tengah diberi kode 0000 yang berarti tidak di atas Ymax, tidak di bawah Ymin, tidak di sebelah kanan Xmax, dan tidak di sebelah kiri Xmin. Wilayah ini merupakan  jendela  tempat  garis  digambarkan,  apabila terdapat garis atau potongan garis di luar wilayah ini maka tidak  akan  digambar.  Deskripsi  untuk  wilayah  paling  kiri bawah diberi kode 0101 berarti: tidak di atas Ymax, Ya di bawah  Ymin,  tidak  di  sebelah  kanan  Xmax,  dan  Ya  di sebelah kiri Xmin. Sedangkan untuk wilayah paling kanan atas diberi kode 1010 yang berarti Ya di atas Ymax, tidak di bawah  Ymin, Ya di  sebelah kanan Xmax, dan tidak di sebelah  kiri  Xmin.  Demikian  seterusnya  untuk  wilayah yang lain [3].
Setiap  endpoint  dari  garis  dalam  suatu  gambar dinyatakan  dalam  4  digit  kode  biner  yang  disebut  region code  yang  mengidentifikasikan  lokasi  dari  titik  relative terhadap batas clipping yang berbentuk segiempat.
JISA (Jurnal Informatika dan Sains) (e-ISSN: 2614-8404) is published by Program Studi Teknik Informatika, Universitas Trilogi under Creative Commons Attribution-ShareAlike 4.0 International License
Nilai  1  pada  masing-masing  bit  menerangkan  bahwa titik  berada  pada  posisi  region  tersebut.  Bila  tidak  maka nilainya 0. Contohnya jika suatu titik berada disebelah kiri bawah  bidang  clipping  mempunyai  region  code  0101. Berikut merupakan keterangan dari code region.
Tabel 1 . Kode 4 bit region pada algoritma Cohen Sutherland
Nilai  bit  pada  region  code  ditentukan  dengan membandingkan  nilai  koordinat  endpoint  terhadap  batas clipping.Setelah  dilakukan  penentuan  region  code, identifikasi  garis  yang  sepenuhnya  berada  diluar  atau  di dalam window. Cara menentukannya adalah garis dengan region  code  0000  adalah  garis  yang  berada  di  dalam jendela  sedangkan  garis  yang  hanya  memiliki  1  bit  ‘1’ adalah  garis  yang  berada  sepenuhnya  di  luar  clipping jendela.  Garis  dengan  kondisi  selain  dua  diatas  harus diperiksa  perpotongannya  dengan  clipping  jendela. Pertama-tama  bandingkan  endpoint  luar  dengan  garis batas clipping jendela, jika berada di luar batas maka garis tersebut dihilangkan.
Secara  matematis,  clipping  yang  dilakukan  untuk menampilkan permainan pada viewport adalah
Untuk perpotongan garis dan bidang x=3+u(6-3)=3+3u , y=5+u(7-5)=5+2u, 0 ≤ u ≤ 1 x1=3, x2=6 x1=3<x=4 (left boundary) y1=5, y2=8 x2=6 <x=7 (right boundary)
Untuk perpotongan garis sebelah kiri x=4 4=3+3u -> u=1/3 , 0 ≤ u ≤ 1 y=5+ (1/3)2 -> 5+2/3=5.66 y1=3<y<y2=6 maka P1 (4, 6)

## Untuk perpotongan garis sebelah kanan x=6
6=3+3u 3u=6 u=1

## Untuk perpotongan garis bawah
3=5+2u -2=2u , u= -1 (discard this value) Untuk perpotongan garis atas y=6
6=5+2u, 2u=1, u=1/2 x=3+3(1/2) , =3+1.5=4.5 P2 (4.5, 6)
Sekarang viewport mempunyai  E (3, 5) F(6,2) x=3+3u y=5-3u , 0 ≤ u ≤ 1 Left boundary x=4 4=3+3u , u=1/3 y=5-3(1/3) = 4 jadi P3(4,4)
Viewport kanan x= 6 6=3+3u , u=1
Viewport kiri x =4 3=3+3u -> u=1 , 0 ≤ u ≤ 1 y=5+ (1/3)2 maka  5+1=6
Viewport bawah y= 4 4=5-3u , -2=-3u ,u=2/3 x=3+3u , 3+3(2/3) =5 = jadi P4(5,3)
Viewport atas y= 6 6=5-3u, 1=-3u , u=-1/3(discard it) Viewport yang baru mempunyai  F(6,2) G(6,7) x=6+u (0) = 6 y=2+u(7-2) =2+5u x=6 , 0 ≤ u ≤ 1 adalah pararel untuk garis y. x=6, y=3, y=6 , P5 (6, 3) and P6 (6, 6)
Gambar 2. Perpotongan garis dalam membentuk viewport
Dalam  menerapkan  Algoritma  Cohen  Sutherland  ini kedalam  permainan  online,  maka  dibutuhkan  code.  Code dalam algoritma Cohen Sutherland adalah sebagai berikut :
Unsigned  char  encode  (wcpt2  pt,dcpt winmin, dcpt winmax) {
S (4,6) R (6,6)
P (4,4) Q (6,4) y (0,0) x
JISA (Jurnal Informatika dan Sains) (e-ISSN: 2614-8404) is published by Program Studi Teknik Informatika, Universitas Trilogi under Creative Commons Attribution-ShareAlike 4.0 International License
if (pt.x < winmin.x) Code = code | Left_EG; if (pt.x > WinMax.x) Code = code | Right_EG; if (pt.y < WinMin.y) Code = code | Bottom_EG; if (pt.y > WinMax.y) Code = code | Top_EG; Code = code | Top_EG; Return (code); } void SwapPoints (wcpt2 *p1, wcpt2 *p2) { Wcpt2 tmp; tmp = *p1; *p1 = *p2; *p2 = tmp; } void  SwapCodes  (unsigned  char  *c1, unsigned { unsigned char tmp; tmp = *c1; *c1 = *c2; *c2 = tmp; }
void ClipLine (dcpt WinMin, dcpt WinMax, wcpt2 p1, wcpt2 p2) { Unsigned char code1, code2; int done= FALSE, draw = FALSE; Float m; while (!done) { code1 = encode (p1, WinMin, WinMax); code2 = encode (py, WinMin, WinMax); if (ACCEPT (code1, code2)) { Done = TRUE; Draw = TRUE; } Else  if  (REJECT  (code1,
code2))
Done = FALSE; Else { /*pastikan  bahwa  p1  diluar window*/ If (INSIDE (code1)) { SwapPts(&p1, &p2);
SwapCodes(&code1, &code2); } /*  gunakan  sisi  miring  (m) to untuk mencari perpotongan garis EG */ If (p2.x!= p1.x) m = (p2.y - p1.y) / (p2.x -
p1.x); If (code1 & Left_EG) {
p1.y += (WinMin.x - p1.x) * m;
p1.x = WinMin.x; }
elseif (code1 & Right_EG)
{ p1.y  +=  (WinMax.x  -  p1)  * m; p1.x = WinMax.x; } elseif (code1 & Bottom_EG) { if (p2.x != p1.x)
p1.x += (WinMin.y – p1.y) /
m;
p1.y = WinMin.y ; } elseif (code1 & Top_EG) { if (p2.x != p1.x) p1.x += (WinMax.y – p1.y)/m; p1.y = WinMax.y ; } } } if (draw) lineDDA (ROUND(p1.x), ROUND(p1.y), ROUND (p2.x), ROUND(p2.y));
}
Dalam  mengaplikasikan  code  tersebut  dalam  permainan RPG dapat dilihat ilustrasinya sebagai berikut :
Gambar 3. Kota dalam permainan secara keseluruhan
Gambar 4. Potongan viewport pada layar permain
Gambar  4merupakan  gambar  dimana  permainan  ini membagi  wilayah  berdasarkan  jangkauan  layar  dalam permainan  ini.  Karakter  utama  berada  pada  bagian  0000 dimana  pemain  hanya  dapat  melihat  bagian  0000  dari layar permainan. Karakter utama yang menjadi pemain ini
1001
0001 0101 1000 0000 0100 1010 0010 0110
JISA (Jurnal Informatika dan Sains) (e-ISSN: 2614-8404) is published by Program Studi Teknik Informatika, Universitas Trilogi under Creative Commons Attribution-ShareAlike 4.0 International License
mempunyai posisi ditengah dalam jangkauan pengelihatannya.

## V. PENUTUP
Implementasi  algoritma  Cohen-Sutherland  dalam  proses clipping  pada  Map Game RPG  ini  memberikan pengalaman  dunia  virtual  seolah-olah  menjadi  nyata. Dimana  kita  mempunyai  batas  pandang  masing-masing. pembagian  9  wilayah  jendela viewport ini  mengaburkan kedelapan sisi  lainnya. Pemain hanya  diberikan berdasarkan tempat dimana mereka berada dan lingkungan disekitarnya
DAFTAR PUSTAKA
Daftar pustaka ditulis berurutan sesuai dengan pengacuan pustaka  ditulis  dengan  ukuran  font= Times  new  roman ukuran=10 dengan menggunakan Harvard Style .

## Journal Article
[1] Yang,  Chris.  2013.  Nostalgia  Nexia,  Pelopor MMORPG  di  Indonesia.  diakses  pada  tanggal  :  22
Februari 2016
dari
website
http://www. game xeon.com/artikel/48624/nostalgia- nexia-the-kingdom-of-the-winds-pelopor-mmorpg-di- indonesia#.WK0OrW_yjIU
[2] Sugara,  Rizkani  Ulan.  2016.  Pembuatan Game Platform  Bergenre  Side  Scroll  Bertema  Sejarah  Hari Pahlawan  Berjudul  "Sutomo".  Undergraduate  thesis,
Institut Bisnis dan Informatika Stikom Surabaya.
[3] V  Lusiana.  2015.  Proses  Clipping  Menggunakan Algoritma  Cohen-Sutherland  pada  Ruang  Dimensi Tiga. Dinamik-Jurnal Teknologi Informasi. Semarang
: Universitas Stikubank
[4] Ray,  Bimal  Kumar.  2015.  Line  Clipping  against Arbitrary Polygonal Window. International Journal of Computer Graphics .Vol. 6, No.1 (2015), pp.1-12.
[5] Kapil  Kumar  And  Dinesh  Kumar.  2012.  A  Line Clipping  Algorithm  For  3D  Space. Indian  Streams Research Journal. Volume 2, Issue.10,Nov. 2012.
[6] Abhisek  Phandey,  Swati  Jain,  “Comparison  of Various  Line  Clipping  Algorithm  for  Improvement,”
IJMER ISSN : 2249-6645. 1999
JISA (Jurnal Informatika dan Sains) (e-ISSN: 2614-8404) is published by Program Studi Teknik Informatika, Universitas Trilogi under Creative Commons Attribution-ShareAlike 4.0 International License