Walisongo Journal of Information Technology, Vol. 2 No. 2 (2020): 137 -  144 DOI : http://dx.doi.org/10.21580/wjit.2020.2.2. 7048
Copyright ©2020 WJIT: Walisongo Journal of Information Technology
| 137

## Implementasi Fisher Yates Shuffle dan Non Player Character pada Permainan Tembak Setan
Riswan Ibrahim 1 , Juniardi Nur Fadilah 2 , Fresy Nugroho 3 ibrahim93vikings@gmail.com Universitas Islam Negeri Maulana Malik Ibrahim

## Abstract
Most  people  think  that  playing  games  is  a  negative  thing  and  does  not  produce  positive  things.  Of course, on the parents side, the habit of playing games in children is very worrying and will have a negative impact on the child's development. But the game does not completely give a negative impact, there are still many positive sides that can be taken. These positive things include games that can help motor skills develop social skills, encourage creativity, and train logic and intelligence in dealing with a problem in the game which can also be done in everyday life. In this case, an example is the game Shoot Satan which is able to train dexterity in shooting demons at a predetermined layer. The demon is included in the Non-Playable Character and the real players are us who control the aim to aim at the  demon  that  comes  out.  The  appearance  must  be  random  both  the  type  of  enemy  and  the  place where the enemy comes out so that the player does not get bored and can train dexterity due to the high  level  of  difficulty  of  a  game.  The  method  used  in  determining  the  appearance  of  non-playable characters is the Fisher-Yates Shuffle algorithm which implements a randomization system based on the index of an array record. Based on testing the Fisher-Yates Shuffle Algorithm in the Shoot Satan game, the result obtained is the appearance of random demons from various positions and different types very well than before without the use of the algorithm.
Keyword   : Algoritma Fisher-Yates Shuffle, Non Playable Character, Tembak Setan

## Abstrak
Kebanyakan  orang  berpendapat  bahwa  bermain  game  itu  merupakan  hal  yang  negatif  dan  tidak menghasilkan hal yang positif.  Tentunya  pada sisi orang tua kebiasaan  bermain game pada anak sangat  dikhawatirkan  dan  akan  menyebabkan  dampak  negatif  terhadap  perkembangan  si  anak. Tapi tidak sepenuhnya game memberi dampak negatif masih banyak sisi positif yang dapat diambil. Hal  positif  tersebut  antara  lain  game  dapat  membantu  keterampilan  motorik  mengembangkan keterampilan sosial, mendorong kreatifitas, dan melatih logika serta kecerdasan dalam menghadapi suatu  masalah  di  dalam  game  yang  nantinya  juga  bisa  dilakukan  dalam  kehidupan  sehari-hari. Dalam  hal  ini  contohnya  adalah  game Tembak  Setan yang  mampu  melatih  ketangkasan  dalam menembak setan pada layer yang sudah ditentukan. Setan tersebut masuk ke dalam Non Playable Character dan  pemain yang sesungguhnya adalah  kita  yang mengontrol bidikan untuk membidik setan yang keluar. Kemunculan tersebut haruslah acak baik jenis musuh maupun tempat keluarnya musuh agar pemain tidak bosan dan dapat melatih ketangkasan karena tingginya tingkat kesulitan suatu  game. Metode yang digunakan dalam penentuan  munculnya Non Playable Character adalah Algoritma Fisher-Yates  Shuffle yang  menerapkan  sistem  pengacakan  berdasarkan  indeks  dari sebuah  record  array.  Berdasarkan  pengujian  Algoritma Fisher-Yates  Shuffle pada  game Tembak Setan , hasil yang didapat adalah kemunculan setan yang acak dari berbagai posisi dan jenis yang berbeda-beda dengan sangat baik daripada sebelumnya yang tanpa penggunaan algoritma tersebut. Kata Kunci: Algoritma Fisher-Yates Shuffle, Non Playable Character, Tembak Setan
http://journal.walisongo.ac.id/index.php/jit/index WJIT : Walisongo Journal of Information Technology
Riswan Ibrahim 1 , Juniardi Nur Fadilah 2 , Fresy Nugroho 3

## 1. PENDAHULUAN

## 1.1 Latar Belakang
Kemajuan  Teknologi  sangat mempunyai  peran  yang  penting dalam  kehidupan  manusia.  Karena teknologi  dapat  lebih  mudahkan manusia  dalam  melakukan  kegiatan di  kehidupan  sehari-hari  dengan keberadaan  teknologi  saat  ini. Teknologi
membuat
manusia membuka  wawasan  dalam  berfikir, serta  membangun  kreatifitas  untuk membangun hal-hal yang baru.
Game merupakan sebuah permainan  yang  diciptakan  untuk meningkatkan  daya  pikir,  melatih ketangkasan, meningkatkan konsentrasi  dan  memecahkan  suatu masalah. Game sendiri tidak mengenal  usia  dan  status  sosial, semua  kalangan  dapat  menikmati game.  Game  juga  dapat  memberikan hiburan tersendiri bagi para penggunanya.
Salah  satu  jenis  game  saat  ini yang  sedang  banyak  diminati  adalah jenis  game  action.  Game  action sendiri  melatih  ketangkasan  dalam berfikir  kepada  pemain.  Game  action merupakan game yang mwmiliki fitur utama  berupa  aksi  tembak  cepat, dimana  pemain  harus  mempunyai kemampuan reaksi yang cepat dalam menghindari  tembakan  musuh  atau menghindari berbagai rintangan.
Pada pembuatan sebuah game atau  aplikasi  tentunya  dibutuhkan sebuah  metode,  yaitu  metode Fisher Yates  Shuffle. Metode  ini  digunakan untuk  menentukan  kemunculan Non
Playable Character (NPC)  pada  game Tembak Setan
Berdasarkan  paparan  diatas, maka  penulis  akan  membuat  game action Tembak  Setan menggunakan Algoritma Fisher  Yates  Shuffle. Game yang  akan  dibuat  ini  nantinya  akan dibentuk  berupa  game  action.  Game ini  akan  dibangun  menggunkaan Unity 2D.
1.2 Rumusan Masalah
1. Bagaimana merancang game
“Tembak Setan” dengan menggunakan Unity sebagai game engine ?
2. Bagaimana membuat game 2D
“Tembak Satan” de ngan Unity 3D ?
1.3 Batasan Masalah Tujuan agar pembahasan dalam  paper  ini  tidak  meluas,  maka ditentukan beberapa batasan masalah diantaranya, yaitu:
1. Game  di  buat  menggunakan Unity 3D
2. Grafika dalam game ini adalah 2D
3. Game  ini  hanya  dimainkan oleh 1 player (Single Player)
4. Bahasa  yang  digunakan  untuk mengembangkan  game  adalah C#

## 1.4 Tujuan Masalah
Ada  tujuan  dari  pembuatan game ini yaitu:

## Implementasi Fisher Yates Shuffle dan Non Player Character pada Permainan Tembak
Setan
| 139
1. Merancang  game  “Tembak
Setan” berbasis Android
2. Membuat Game  2D  Tembak
Setan dengan Unity 3D

## 2. METODE
Dalam penelitian ini metode yang diusulkan  menggunakan  metode Fisher Yates Shuffle dan Non Playable Character  (NPC)  untuk  menentukan adalah  kemunculan  setan  yang  acak dari  berbagai  posisi  dan  jenis  yang berbeda-beda.
2.1 Algoritma  Fisher Yates Shuffle Algoritma Fisher-Yates (berasal  dari  nama  penciptanya, yaitu Ronal Fisher dan Frank Yates) atau  lebih  dikenal  dengan  nama Knuth  Shuffle  (berasal  dari  nama Donald Knuth) merupakan sebuah algoritma yang menghasilkan permutasi  secara  acak  dari  suatu himpunan  yang  terhingga.  Jika diterapkan  dengan  benar  maka hasil dari algoritma ini kemungkinan sama (Ahmadul Hadi 2013). 2.2 Non Playable Character Non  Playable  Character  (NPC) mempunyai  arti  obyek  dinamis yang  tak  terletak  dibawah  control
pemain,  obyek  ini  memberikan keputusan  secara  mandiri  dan beroperasi  di  wilayah  virtual dalam  game  (Chong-HanKim  dkk, 2007).

## 3. KERANGKA TEORI

## 3.1 Algoritma
Algoritma  merupakan  bentuk dasar  dari  perintah-perintah  yang akan  dicocokan  kedalam  form yang  telah  dirancang  pada  tahap implementasi  system  (Manurung 2013).
3.2 Game
Game pada  dasarnya  bersifat hiburan  karena  jika  pengguna memainkan game maka  akan terasa  senang. Dalam era saat ini, game disajikan  dengan  kualitas visualisasi  yang  cukup  canggih karena  didukung  oleh  teknologi sehingga  pemain  lebih    interkatif sesuai  kemaunnya  sendiri  dan pemain  terasa  hidup  dalam game tersebut.  Maka  bisa  disebutkan bahwa game berkembang beriringan dengan teknologi.(wijaya,2009). 3.3 Kecerdasan Buatan
Riswan Ibrahim 1 , Juniardi Nur Fadilah 2 , Fresy Nugroho 3
Kecerdasan  buatan  ( Artifical Intellingence )  merupakan  salah satu  bagian  dari  ilmu  komputer yang mempelajari bagimana membuat mesin (komputer) dapat melakukan  perkerjaan  seperti yang  sebaiknya  yang  di  lakuakn oleh  manusia  bahkan  lebih  baik dari dari pada yang di memodelkan proses- proses
berpikir  manusia  dan  mendesain mesin  agar  dapat  menirukan perilaku  manusia.  Cerdas,  berarti memiliki  pengetahuan  di  tambah pengalaman  penaralan  (bagimana
membuat keputusan
dan mengambil  tindakan),  moral  yang baik (Dahria, 2008).

## 4. PEMBAHASAN

## 4.1 Perancanga Struktur Game
Perancangan  alur  pada  game berfungsi  untuk  mengetahui  alur proses  dari  program  game  dari dimulainya  game  sampai  game selesai atau end game
Gambar 1. Flowchart Alur Game
4.2 Perancangan Diagram Fisher Yates Shuffle
Alur  metode Fisher  Yates  Shuffle secara  umum  yang  terdapat  pada setiap  musuh  yang  berada  di game Tembak Setan
Gambar 2. Flowchart Metode Pengacakan
Fisher-Yates Start Game Start Temukan angka N untuk 1-N Tukar posisi k dengan angka terakhir dalam range 1-N,
lalu pindahkan angka k kelist yang terpisah Atur ulang nilai N=N-1 Tentukan angka acak k: 1 <= k <= N N > 0 ? Finish Ya Tidak Start Level 1 Finish Lanjut Ya Tidak

## Implementasi Fisher Yates Shuffle dan Non Player Character pada Permainan Tembak
Setan
| 141
Gambar 3. Karakter Utama
Karakter  utama  dalam  game Tembak  Setan.  Karakter  ini  sebagai musuh  yang  nantinya  akan  ditembak oleh pemain
Gambar 4. Bidikan
Karakter  yang  seperti  Bidik Tembak ini merupakan Bidikan untuk menembak  musuh,  nantinya  pemain harus  mengarahkan  bidikan  tepat pada karakter utama (setan).
Sistem  dalam  metode Fisher  Yates Shuffle yaitu  Seperti  yang  terlihat pada  Gambar  2,  ketika  sistem
dijalankan maka sistem akan mengeluarkan  setan  atau  karakter utama secara acak dengan kemunculan  tempat  sesuai  dengan metode tersebut. Jika bidikan diarahkan pada karakter utama,  maka  akan  menjalankan function  Destroy  dengan  parameter karakter  utama  tersebut.  Begitu seterusnya  sampai  karakter  utama habis.

## 5. IMPLEMENTASI DAN PENGUJIAN

## 5.1 Tampilan Menu Utama
Tampilan menu  utama  adalah tampilan awal yang muncul pada saat membuka game Tembak Setan .
Pada tampilan ini berisi tombol start game ,  untuk  mulai  game  dan  tombol exit untuk  keluar  dari game .  adapun desain game menu utama seperti ini:
Gambar 5. Menu Utama
5.2 Tampilan Gameplay Tampilan  Gameplay  menampilan gameplay saat akan memulai game, di dalam  gameplay  controller  diatur
Riswan Ibrahim 1 , Juniardi Nur Fadilah 2 , Fresy Nugroho 3
oleh  jalannya  mouse  dan  klik  kiri untuk  membidik.  adapun  desain game menu utama seperti ini:
Gambar 6. Gameplay

## 5.3 Tampilan End Game
Tampilan  End  Game  menampilan berakhirnya game, di dalam tampilan ini  terdapat  dua  tombol, try  again untuk mengulang kembali permainan dan  Quit  untuk  keluar  permainan. Terdapat  time  lamanya  waktu menghabiskan  setan.  adapun  desain game menu utama seperti ini:
Gambar 7. End Game

## 5.4 Character
Character  adalah  sebuah  objek  yang ada dalam game yang memiliki peran tersendiri  dalam  game.  character memiliki banyak peran, antara lain
⚫ Tokoh Utama
⚫ Bidikan
⚫ NPC (Setan)
Tokoh  utama  dalam  game merupakan  pengendali  dari  jalannya game tersebut. selama player bermain game maka, yang dimainkan merupakan karakter utama dari game tersebut. Bidikan  dalam game  berperan untuk  menembak  setan  yang  mana bidikan  harus  tepat  sasaran  ada setannya NPC adalah non player character atau dalam bahasa indonesia  disebut  Karakter  Non Pemain,  NPC  ini  hanya  pelengkap untuk  di  dalam  game  sehingga  game tersebut terlihat ramai.

## 6. PENGUJIAN KONTROL PLAYER
Pengujian control player adalah pengujian setiap fungsi dari tombol yang sudah di terapkan untuk mengerakan karakter utama pada game. Hasil pengujian player Controller Fungsi Hasil Mouse Bidikan mengarah sesuai mouse sesuai Klik kiri Bidikan menembak setan sesuai 7. PENUTUP Berdasarkan hasil dari perancangan  dan  implementasi  pada Game  Tembak  Setan maka  diambil

## Implementasi Fisher Yates Shuffle dan Non Player Character pada Permainan Tembak
Setan
beberapa kesimpulan sebagai berikut : 1. Hasil pengujian fungsional berjalan dengan tingkat keberhasilan 100% sesuai dengan yang diharapkan
2. Implementasi  metode Fisher
Yates  Shuffle dapat  di  terapkan pada Game 2D shooter platformer
yaitu  memunculkan  setan  secara acak
3. Hasil  pengujian  AI Fisher  Yates
Shuffle yang  ada  pada  game adventure Tembak Setan berjalan dengan  tingkat  keberhasilan 100%  sesaui  dengan  yang diharapkan
Riswan Ibrahim 1 , Juniardi Nur Fadilah 2 , Fresy Nugroho 3

## REFERENCES
Utari, D (2012). Analisis dan Impementasi Algoritma Bacrakcking pada permainan
Hangman . Medan: Universitas Sumatera Utara, 1-3
Fikria,  B.  K.  (2014).  Implementasi  Algoritma  Fisher-Yates  Shuffle  Sebagai  Pengacak  Posisi  Non Playable Character (NPC) Pada Game Tantra Bahari.
Widya,  S.,  Dharma,  C.,  &  No,  J.  M.  Y.  (2017).  Applying  Shuffle  Random  Algorithm  on  Magic  Time Edugame Based on. SNITT Poltekba 2017, 203 – 208.