## Penerapan Finite State Machine pada Alpha Utopia Menggunakan Metode Game
Development Life Cycle
Dini Destiani Siti Fatimah 1 , Eri Satria 2 , Fujia Hermawan 3
Jurnal Algoritma Institut Teknologi Garut Jl. Mayor Syamsu No. 1 Jayaraga Garut 44151 Indonesia Email : jurnal@itg.ac.id
1 dini.dsf@itg.ac.id
2 erisatria@itg.ac.id
3 1706042@itg.ac.id
Abstrak – Pembuatan game yang menggunakan artificial intelligence bisa menjadikan salah satu daya  tarik  tersendiri  bagi pemainnya.  Game  dapat  dimanfaatkan sebagai media  pembelajaran. Game edukasi cocok untuk dimainkan oleh anak-anak dengan menggunakan style/gameplay dua dimensi dengan banyaknya text atau drag & drop . Penelitian ini bertujuan membuat game untuk memperkenalkan  salah  satu  khas  budaya  Indonesia  dengan  menerapkan finite  state  machine, sebuah mesin  abstrak yang  pada  suatu  waktu  tertentu  dapat  berada  tepat  di  salah  satu  dari sejumlah  finite-states. Sebuah  game  dibuat  dan  diberi  nama Alpha  Utopia .  Metode game development  life  cycle digunakan  terdiri  dari  tahapan initiation,  pre-production,  production, testing, beta, release . Hasil penelitian diperoleh sebuah game yang dengan tema menembak objek. Perancangan menggunakan Unreal Engine 4 dengan gaya tiga dimensi, menggunakan Artificial Intelligence atau sering disebut Non-Player Character. Finite State Machine diterapkan untuk pembuatan  aplikasinya.  Unsur  budaya  Indonesia  berupa  senjata  keris  ditampilkan  pada  objek permainan sebagai senjata utama yang digunakan untuk melawan musuh berupa karakter virus. Pembuatan  game  ini  diharapkan  mengenalkan  budaya  khas  Indonesia  dan  sebagai  media pembelajaran bagi penggunanya.
Kata  Kunci  –  Artificial  Intelligence ; Game ; Unreal  Engine ; Finite  State  Machine ; Game Development Life Cycle.

## I. PENDAHULUAN
Perubahan sebuah teknologi dari waktu ke waktu menunjukkan perkembangan dalam berbagai jenis bidang, tidak terkecuali pada game. Game yang menjadi industri dengan perkembangan yang pesat di dunia komputer. Pembuatan game yang menggunakan artificial intelligence bisa menjadikan salah satu daya tarik tersendiri bagi pemain, bukan hanya sekadar hobi tetapi bisa menjadi cara untuk meningkatkan intelektual dan kreativitas penggunanya. Sebuah game sangat digemari oleh berbagai kalangan, karena itu game bisa menjadi sebuah media belajar, dimana game edukasi akan sangat relevan di saat ini untuk dimainkan [1]. Tetapi masih banyak game edukasi yang menggunakan sebuah style/gameplay dua dimensi dengan banyaknya text atau drag & drop , dimana hal itu mungkin cocok untuk anak-anak, akan tetapi untuk remaja dan dewasa itu adalah sesuatu hal yang biasa. Oleh karena itu perlunya game yang menarik dan tidak secara langsung memberikan edukasi atau pengetahuan. Pembelajaran tidak langsung dapat menggunakan oleh suatu media, dan salah satunya itu adalah  game  [2].  Diterjemahkan  kedalam  bahasa  Indonesia  Game  berarti  permainan.  Permainan  yang dimaksud  dalam  game  bisa  juga  merujuk  pada  pengertian  sebagai  “kelincahan  intelektual”  ( intellectual playability ) [3]. Artificial intelligence ini digunakan dalam berbagai industri, termasuk di gunakan juga dalam
Vol. 20; No. 1; 2023; Hal 120-128
sebuah game. Di dalam game, artificial intelligence ini sering disebut non player character (NPC). Artificial intelligence atau NPC ini bisa menjadi unsur penting di dalam game. artificial intelligence adalah cabang ilmu komputer yang membuat mesin atau komputer agar dapat berpikir dan bernalar seperti halnya manusia berpikir [4].  Penerapan artificial  intelligence pada  game  ini  bisa  memberikan  pengalaman  bermain  seperti  ketika melawan orang lain atau memberikan efek realistis pada game tersebut. Finite State Machine (FSM) adalah sebuah mesin abstrak yang berfungsi untuk mendefinisikan sekumpulan kondisi yang nantinya menentukan kapan sebuah state harus berubah [5]. Oleh karena itu, FSM ini bisa digunakan dalam menentukan bagaimana suatu NPC berprilaku.
Merujuk pada penelitian sebelumnya, penelitian yang menggunakan Adobe Flash dengan metode Multimedia Development  Life  Cycle [6]  [7],  mempunyai  kesamaan  yaitu gameplay  drag  &  drop dua  dimensi  dengan artstyle kurang menarik, dan penelitian mengenai tata surya dengan tiga Dimensi menggunakan Unity Engine dengan  metode Digital  Game  Based  Learning-Instructional  Design [8],  game  disajikan  dengan  terlalu banyaknya  text.  Penelitian-penelitian  sebelumnya  masih  menggunakan  aplikasi Adobe  Flash , engine  unity dengan style dua dimensi dan hanya ada beberapa menggunakan style tiga dimensi pada pembuatan game.
Penelitian ini bertujuan menerapkan aplikasi Finite State Machine menggunakan metode Game Development Life  Cycle .  Teknologi Unreal  Engine 4,  berbahasa  pemrograman  c++  dengan  style  tiga  dimensi  untuk menampilkan unsur budaya Indonesia di dalam game. Game yang dibuat diberi nama Alpha Utopia . Pemain game ini diharapkan secara tidak langsung dikenalkan dengan budaya khas Indonesia melalui permainan yang menyenangkan.

## II. METODOLOGI PENELITIAN
Metodologi  yang  digunakan  yaitu metode Game  Development  Life  Cycle [9] , dimana  pada  metodologi  ini terdapat enam tahapan Gambar 1:

## Gambar 1: Game Development Life Cycle
1. Initiation
Tahap  pertama  yaitu  membuat  konsep  kasar  game  apa  yang  akan  dibuat  dengan  mendeskripsikan dengan sederhana.
2. Pre-Production
Pre-production pada tahap ini membuat desain game dan membuat prototype . Game Design berfokus pada genre , gameplay , mekanik, storyline , karakter, tantangan, factor kesenangan, dan aspek teknikal.
3. Production
Produksi  adalah tahap  inti dari  proses  ini,  yaitu  pembuatan  dan  penyempurnaan  prototype,  seperti menambahkan fitur baru atau memperbaiki bug.

## 4. Testing
Pengujian  dalam  konteks  ini  yaitu  pengujian  oleh  internal  atau  pengembang  dengan  melakukan playtest atau memainkan secara langsung agar tahu dari bagaimana game berjalan dan apabila terasa kurang cukup  akan  balik  lagi  ke tahap  sebelumnya  yaitu  produksi atau  maju  ke  tahap  selanjutnya (beta).
5. Beta
Tahap beta yaitu pengujian oleh pihak eksternal atau pihak ketiga sama dengan testing yaitu playtest. Keluaran dari pengujian ini adalah laporan bug dan masukan pengguna, dari sini kita bisa kembali ke proses produksi atau lanjut ke tahap selanjutnya apabila dirasa game memuaskan.
6. Release
Ini adalah fase terakhir dimana pengembang mempublikasikan game nya kepada publik.
Beberapa definisi operasional pada penelitian, yaitu: pertama, game atau permainan biasanya digunakan untuk kesenangan  atau  hiburan  dan  kadang-kadang  digunakan  akan  sebagai  media  pembelajaran.  Diterjemahkan kedalam bahasa Indonesia Game berarti permainan. Permainan yang dimaksud dalam game bisa juga merujuk pada pengertian sebagai “kelincahan intelektual” [3] . Kedua, Artificial Intelligence yaitu kecerdasan buatan dimana dibuat seperti kecerdasan manusia bahkan berpikir dan berperilaku agar seperti manusia. Kecerdasan buatan  atau  artificial  intelligence  adalah  salah  satu  dari  cabang  ilmu  komputer  yang  membuat  mesin  atau komputer agar dapat berpikir dan bernalar seperti halnya manusia berpikir [4]. Ketiga, FSM adalah model yang digunakan untuk merepresentasikan dan mengendalikan aliran eksekusi. FSM adalah sebuah mesin abstrak yang berfungsi untuk mendefinisikan sekumpulan kondisi yang nantinya menentukan kapan sebuah state harus berubah [5]. Gambar 2 menampilkan skema pada FSM yang terdiri dari spawn, chase dan explode.
Gambar 2. Skema Finite State Machine

## III. HASIL DAN DISKUSI

## A. Initiation
Tahap  pertama  yaitu  membuat  konsep  kasar  game  apa  yang  akan  dibuat  dengan  mendeskripsikan  dengan sederhana. Pertama, penentuan tujuan dari game yaitu untuk hiburan dan secara tidak langsung mengenalkan kebudayaan lokal Indonesia dengan menempatkan atau menjadikan sebuah ciri khas tersendiri, senjata keris sebagai  monumen.  Kedua,  identifikasi  pengguna  ditetapkan  berdasarkan  golongan  usia  13  tahun  ke  atas, sebagai dasar pertimbangannya adalah pengguna game ini adalah berusia remaja. Ketiga, spesifikasi perangkat yang  digunakan  adalah Personal  Computer atau  laptop  dengan  sistem  operasi windows.  Keempat, konsep game  berupa  permainan  menembak  antara  pemain  ( Player )  melawan  sebuah  pasukan  ( Troops )  dan  virus ( Corvus ), dengan penentuan skor tertinggi yang diperoleh dari lamanya pemain bertahan.

## B. Pre-Production
Pada tahapan ini membuat game design dan membuat prototype . Game Design berfokus pada genre , gameplay , mekanik, storyline , karakter, tantangan, faktor kesenangan, dan aspek teknikal. Konsep permainan menembak dengan genre shooter menggunakan style Third Person Shooter dengan tema fantasi atau futuristik dimana pemain akan melawan sebuah pasukan dan sebuah virus yang meledak, dan pemain akan bertahan selama untuk mendapatkan skor setinggi mungkin, dan game ini akan dinamakan Alpha Utopia . Deskripsi pada tahap ini bisa di lihat pada tabel 1 :
Tabel 1: Deskripsi Konsep Game
Vol. 20; No. 1; 2023; Hal 120-128
No Keterangan Deskripsi 1. Nama Game Alpha Utopia 2. Pengguna Umur 13 tahun ke atas 3. Genre Shooter 4. Gameplay Tembak menembak untuk mendapatkan skor 5. Mekanik Game Pemain hanya bertahan selama mungkin 6. Storyline Seorang tentara membasmi pasukan dan virus di sebuah tempat utopia. 7. Karakter Karakter yang digunakan adalah seorang prajurit futuristik 8. Tantangan Player akan dihadapkan dengan dua jenis musuh yaitu NPC yang menembaki pemain dan sebuah musuh yang mendekati dan meledak 9. Faktor Kesenangan Menembaki musuh 10. Aspek Teknikal 1 Unit PC
C. Production
Tahap inti dari proses ini, yaitu pembuatan dan penyempurnaan  prototype, seperti menambahkan fitur baru atau memperbaiki bug . Penerapan FSM akan dilakukan pada tahap ini, yaitu pada animasi karakter dan pada NPC. Berikut adalah hasil dari penerapan FSM pada animasi karakter dan NPC pada tahapan Animasi Karakter Player , Corvus dan Troops.
Tahapan pertama, Animasi karakter player (Gambar 3) dimulai dengan state awal adalah idle dimana ketika player tidak menerima input apapun dan akan terus memutar animasi idle sampai menerima input. State dua adalah animasi jalan, ketika player menerima input pada keyboard tombol A/D/W/S maka player akan bergerak ke arah yang telah ditentukan, ketika tidak menerima input maka akan kembali ke state idle, dan ketika player sedang menerima ataupun tidak menerima input A/D/W/S, jika menekan space maka player akan melompat sama halnya dengan state jongkok (Tabel 2).
1. Animasi Karakter Player
Gambar 3: FSM Player
Keterangan kondisi pada gambar FSM Player : A,D,W,S : Input Keyboard A,D,W,S C : Input Keyboard C Space : Input Keyboard Space (spasi)
Tabel 2: Deskripsi FSM Animasi Player
State Masukan Hasil 1 Diam 2 C Jongkok 3 Space Lompat 4 A/W/S/D Jalan 5 C + A/W/S/D Jongkok Sambil Berjalan 6 A/W/S/D + Space Lompat Ketika Berjalan
Pada tabel 2 state awal adalah idle dimana ketika player tidak menerima input apapun dan akan terus memutar animasi idle sampai menerima input. State dua adalah animasi jalan, ketika player menerima input A/D/W/S maka player akan bergerak ke arah yang telah ditentukan, ketika tidak menerima input maka akan kembali ke state idle, dan ketika player sedang menerima ataupun tidak menerima input A/D/W/S, jika menekan space maka player akan melompat sama halnya dengan state jongkok.
2. Corvus
Tahapan kedua, Corvus (Gambar 4), non player character yaitu pada state pertama, ketika musuh ini spawn atau muncul saat permainan dimulai, maka akan mengejar player atau berpindah pada state  kejar  dan  ketika  overlap  (menyentuh hitbox )  atau  dekat  dengan  player  maka  state  akan berpindah pada state meledak dengan kurun waktu 0.25 detik dan  meledakkan diri yang akan memberikan kerusakan ke player (Tabel 3).
Gambar 4: FSM Corvus
Keterangan kondisi pada gambar:
Tabel 3: Deskripsi FSM Corvus
State Masukan Hasil 1 Muncul 2 Lokasi Player Kejar 3 Overlap 4 0.25 Detik Meledak 3. Troops
Tahapan ketiga, Troops (Gambar 5), state pertama yaitu muncul atau spawn , setelah spawn NPC akan mengejar player dan ketika player dalam jangkauan, state akan berpindah ke state tiga yaitu cover dimana NPC akan mencari perlindungan atau environment dan akan pindah ke state empat untuk menembak dan terus mengulang sampai hp poin dibawah nol maka akan berpindah ke state lima yaitu mati (Tabel 4).
Gambar 5: FSM Troops
Keterangan kondisi pada gambar:
Tabel 4: Deskripsi FSM Troops
State Masukan Hasil 1 Muncul 2 Lokasi Player Kejar 3 Dalam Jangkauan Cover 4 Tembak 5 Hp <=0 Mati

## D. Testing
Pengujian dalam konteks ini yaitu pengujian oleh internal atau pengembang dengan melakukan playtest atau memainkan secara langsung, dan pada tahap ini akan menggunakan pengujian dengan Blackbox testing agar tahu dari bagaimana game berjalan dan apabila terasa kurang cukup akan balik lagi ke tahap sebelumnya yaitu produksi atau maju ke tahap selanjutnya ( beta). Berikut hasil dari tahap pengujian Tabel 5.
Tabel 5: Hasil Pengujian Blackbox Testing
Tampilan menu utama game berupa karakter pemain dan tombol-tombol untuk mengoperasikan game (Gambar 6).
No Kelas Uji Butir Uji Jenis Pengujian Hasil Uji 1. Halaman Menu Play Masuk untuk memulai permainan Blackbox Berhasil 2. Halaman Menu Option Masuk ke menu option Blackbox Berhasil 3. Halaman Menu Credit Masuk ke menu credit Blackbox Berhasil 4. Halaman Menu Quit Keluar dari permainan Blackbox Berhasil 5. Halaman Restart Game Mengulang  permainan  Ketika player sudah mati Blackbox Berhasil 6. Halaman  Menu  Kembali Ke Menu Utama Masuk  ke  menu  utama  setelah player mati Blackbox Berhasil

## Gambar 6: Tampilan Menu Utama

## E. Beta
Tahap beta yaitu pengujian oleh pihak eksternal atau pihak ketiga. Usability test [10] digunakan dengan jumlah sampel sebanyak 5 orang yang dipilih menggunakan purposive sampling . Skor penilaian penerimaan game menggunakan skala Likert dengan skala 1 sampai dengan 5. Usability test yang digunakan terdiri dari lima dimesi  pengukuran  yaitu learnability , efficiency , memorability , errors and satisfaction Hasil  pengujian ditampilkan pada tabel 6. Skor rata-rata penerimaan sebesar 4.6 (92%) dalam arti bahwa game yang dibuat secara umum dapat diterima oleh pengguna.
Tabel 6: Hasil Pengujian Beta
Aspek Usability Skor Persentase Penerimaan Learnability 4.2 84% Efficiency 4.6 92% Memorability 4.6 92% Error 5 100% Satisfaction 4.6 92% Rata-rata Penerimaan 4.6 92%

## F. Release
Fase terakhir yaitu publikasi dan distribusi game kepada pengguna. Game disimpan dan dibagikan melalui ruang penyimpanan google drive . Game menampilkan ciri khas budaya Indonesia berupa keris sebagai hal yang ditonjolkan pada permainan ini (Gambar 7).

## Gambar 7: Tampilan Gameplay

## Diskusi
Terdapat keselarasan tema penelitian untuk mengenalkan budaya Indonesia berupa karakter pewayangan yaitu Gatotkaca  melawan  musuh  berupa  karakter  monster  yang  kuat. Aplikasi  dirancang  dengan  metode  FSM, namun  berbeda  dalam  penggunaan  metode,  yaitu  pengembangan  multimedia  development  life  cycle  [11]. Terdapat  kemiripan  penggunaan  artificial  intelligent  dengan  penelitian  yang  menerapkan  genre  endless running, berupa game simple bernuansa 2D dengan metode Finite State Machine dengan karakter santri on the road yang mengambil icon kitab dalam aksinya [12]. Keselarasan dengan penelitian yang dilakukan dalam hal penggunaan teknologi 3D dan konsep game edukasi  sebagai kreasi dan inovasi pembelajaran bagi siswa [13], hanya saja genre yang digunakan pada penelitian tersebut menggunakan Role Playing Gaming dan aplikasi Blender untuk pemodelan 3D. Penelitian lainnya, mengembangkan game berbasis android berupa permainan monopoli  3D  bertema  edukasi  menggunakan  Finite  State  Machine  [14].  Berbeda  dengan  penelitian  yang menyasar  kelompok  usia  dini  (3-6  tahun)  dengan  konsep  game  edukasi  mengenalkan  jenis  hewan  dengan metode pengembangan game menggunakan Finite State Automata [15].

## IV. KESIMPULAN
Sebuah game berhasil dibuat dan diberi nama Alpha Utopia. Penerapan Finite State Machine pada game Alpha Utopia menampilkan karakter senjata keris sebagai ciri khas budaya Indonesia. Game berkonsep tiga dimensi dengan genre  shooter berbasis  desktop  diharapkan  sebagai  media  alternatif  yang  mengenalkan  budaya Indonesia kepada para pemainnya. Selain untuk hal kesenangan, game ini sebagai media edukasi pengenalan budaya  khas  Indonesia  melalui  permainan . Saran  untuk  penelitian  selanjutnya  adalah  menampilkan gambar/foto latar belakang pada game dengan destinasi atau wilayah ciri khas budaya Indonesia.

## DAFTAR PUSTAKA
[1] E. Satria, L. Fitriani, Y. S. Muhsin, and D. Tresnawati, “Development of educational games for learning waste  management,”  IOP  Conf.  Ser.  Mater.  Sci.  Eng.,  vol.  1098,  no.  3,  p.  032064,  2021,  doi: 10.1088/1757-899x/1098/3/032064.
[2] D. Tresnawati, A. Latifah, E. Satria, and S. Rayahu, “Edugame development for introduction chord basic guitar,”  IOP  Conf.  Ser.  Mater.  Sci.  Eng.,  vol.  1098,  no.  3,  p.  032061,  2021,  doi:  10.1088/1757-
899x/1098/3/032061.
[3] B.  Pane,  X.  Najoan,  and  S.  Paturusi,  “Rancang  Bangun  Aplikasi  Game  Edukasi  Ragam  Budaya Indonesia,” J. Tek. Inform., vol. 12, no. 1, 2017, doi: 10.35793/jti.12.1.2017.17793.
[4] I. Sohibbulbet and D. D. S. Fatimah, “Perancangan Sistem Pakar Masalah Kesehatan Remaja Berbasis Android,” J. Algoritm., vol. 14, no. 2, pp. 323–332, 2015, doi: 10.33364/algoritma/v.14-2.323.
[5] D. S. Hormansyah, A. R. T. H. Ririd, and D. T. Pribadi, “Implementasi Fsm (Finite State Machine) Pada Game  Perjuangan  Pangeran  Diponegoro,”  J.  Inform.  Polinema,  vol.  4,  no.  4,  p.  290,  2018,  doi: 10.33795/jip.v4i4.222.
[6] M.  D.  Ramdani,  D.  Kurniadi,  and Y.  Septiana,  “Rancang  Bangun  Game  Edukasi  Penelusuran  Goa Berbasis Android,” J. Algoritm., vol. 16, no. 2, pp. 151–157, 2020, doi: 10.33364/algoritma/v.16-2.151.
[7] D. D. S. Fatimah, D. Tresnawati, and C. S. Ma’rup, “Perancangan Game Puzzle Untuk Pembelajaran Menggunakan  Metodologi  Multimedia,”  J.  Algoritm.,  vol.  14,  no.  2,  pp.  281–287,  2015,  doi: 10.33364/algoritma/v.14-2.281.
[8] D. Tresnawati and A. P. Nugraha, “Rancang Bangun Game Edukasi Sistem Tata Surya,” J. Algoritm., vol. 14, no. 2, pp. 478–488, 2015, doi: 10.33364/algoritma/v.14-2.478.
[9] R. Ramadan and Y. Widyani, “Game development life cycle guidelines,” 2013 Int. Conf. Adv. Comput. Sci. Inf. Syst. ICACSIS 2013, no. June, pp. 95–100, 2013, doi: 10.1109/ICACSIS.2013.6761558.
[10]  D. R. Rahadi, “Pengukuran Usability Sistem Menggunakan Use Questionnaire Pada Aplikasi Android vol. 6, no. 1, pp. 661–671, 2014.
[11]  R. A. Abdurrahman. “Rancang Bangun Game Gatotkaca Dengan Metode Finite State Machine Berbasis Android”. J. Ilmu Data, vol. 1, no. 1, 2021.
[12]  H. Sifaulloh, J. N. Fadila and F. Nugroho.  “Penerapan Metode Finite State Machine pada Game Santri on  the  Road”.  J. Walisongo  Jurnal  of  Information Technology.,  vol.  3,  no.  1,  pp.  11-18,  2021.  doi: https://doi.org/10.21580/wjit.2021.3.1.7135.
[13]   M.  Khaerudin,  D.  Setiadi  and  T.  Sumitra.  “Rancang  Bangun  Game  Edukasi  Dengan  Menggunakan Finite  State  Machine”.  J.  Sistem,  JSI,  vol  9,  no  1,  pp.  107-118,  2022.  doi: https://doi.org/10.35968/jsi.v9i1.847.
[14]  D. S. Utomo and D. A. Dermawan. “Implementasi Finite State Machine (FSM) dalam Game Monopoli 3D Teknologi Informasi dan Komunikasi dengan Algoritma Fisher-Yates Shuffle Berbasis Android”. J. Informatics and Computer Science, vol.3, no. 03, pp. 240-249, 2022, doi: https://doi.org/10.26740/jinacs.v3n03.p240-249.
[15]  M. Ernawati, W. Gata, E. H. Hermaliani, L. Kurniawati and S. Rahayu. “Implementasi Konsep Finite State Automata Pada Desain Game Edukasi Jenis Hewan”. J. Technologia, vol. 13, no. 1, pp. 65-71, 2022, doi: http://dx.doi.org/10.31602/tji.v13i1.6268.