## Perancangan Game Puzzle
Pemadam  Kebakaran

## Menggunakan  Metode Linear Congruential Generator (LCG)
Bobby Prasetyo 1 , Ina Agustina 2 , M Gufroni 3
1 bobbyprasetyo37@gmail.com, 2 ina.agustina@civitas.unas.ac.id, 3 m.gufroni@gmail.com
Program Studi  Teknik Informatika,  Fakultas Teknologi  Komunikasi  dan Informatika,  Universitas Nasional
Abstract— The development of games that exist today so rapidly  and  become  part  of  the   lifestyle.  Puzzle  game   is  a game application to hone the thinking ability, where the user must arrange the puzzle by shifting the pieces of the picture with the shortest time to get the highest score. In this game, users  can  choose  two  levels  of  puzzle  game  that  is  3X3  or 4X4  and  choose  the  puzzle  image  you  want  to  play.  This puzzle  game  also  aims  to  increase  knowledge  about  the various  kinds  of  fire  engines  and  their  utilities.  Thi s  is  the author's reason for creating this game app. This game  uses the Linear Congrue ntial Generator (LC G) method applied to shuffle  puzzles  at  the   beginning  of  the  game.  User-earned scores  depend  on  the  time  the   user  completes  the  puzzle, every 30 seconds first score 100, then the next 30 seconds the score  decreases  to  90  and  so   on.  The   faster  the  user completes  the  puzzle  the  higher  the  score  will  be.  This  fire fighting puzzle game uses  the Android operating system.
Intisari —  Perkembangan  game  yang  ada  saat  ini  begitu pesat dan menjadi bagian dari gaya hidup. Game  puzzle adalah sebuah  aplikasi  perma inan  untuk  mengasah  kema mpuan berpikir,  dimana  pengguna  harus  menyusun puzzle dengan cara  menggeser  potongan  gambar  dengan  waktu  tersingkat untuk mendapatkan score tertinggi. Pada game ini, pengguna dapat me milih dua level perma inan puzzle yaitu 3X3 atau 4X4 dan  me milih  ga mbar  puzzle  yang  ingin  d ima inkan.  Ga me puzzle ini  sekaligus  bertujuan  untuk  mena mbah  pengetahuan tentang  maca m  maca m  mob il  pe madam  keba karan  dan kegunaanya.  Ini  menjadi  a lasan  penulis  untuk  me mbuat aplikasi perma inan in i. Ga me ini menggunakan metode Linear Congruential  Generator (LCG) yang  diterapkan  untuk mengacak  puzzle  pada  a wal  perma inan.    Skor  yang  didapat pengguna  bergantung  pada  waktu  pengguna  menyelesaikan puzzle, setiap  30 det ik pe rta ma score 100, ke mud ian 30 detik berikutnya  score  berkurang  menjad i  90  dan  seterusnya. Se makin  cepat  user  menyelesaikan  puzzle  maka   sema kin tinggi  skor  yang didapat.    Ga me  puzzle  pemada m  kebakaran ini menggunakan sistem operasi Android
Kata  Kunci  : Game   puzzle , Linear  Congruential Generator, Pemadam  Kebakaran,  LCG,  Android

## I.    PENDAHULUAN
Teknologi  informasi  khususnya  di  bidang  perma inan (game) dewasa ini berke mbang begitu pesat. Permainan yang berke mbang  saat  ini  mu lai  beralih  ke mobile  smartphone , salah satunya smartphone platform  Android [1].
Game banyak dima inkan oleh semua u mur  mula i dari usia sangat  muda  atau  minimal  2  tahun,  bahkan  sampai  usia  tua. Salah  satunya  kategori game adalah puzzle yang  me rupakan salah  satu  permainan  yang  dapat  mengasah  otak  dan  sangat menantang,  cukup  me me ras  otak.  Meski game  puzzle ini identik  untuk  anak  anak  a kan  tetapi  o rang  dewa   satupun belum  tentu  dapat  dengan  mudah  menyelesaikan  ga me tersebut.  Pe ma in  ditantang  untuk  berpikir  kreatif  bagaimana untuk menyusun semua bagian  puzzle yang telah teracak dan mengembalikannya  pada posisi sebenarnya [3][4][5][6].
Dala m  penelit ian  ini  menggunakan  metode  Linear Congruential  Generator (LCG) untuk pengacakan puzzle pada awal  perma inan  dala m  aplikasi Game  Puzzle  Pemadam Kebak aran [6] .

## II.  PENELITIAN  TERKAIT
Pada  penelitian  ini  imple mentasinya    tidak  menggunakan struktur data pohon seperti kebanyakan solusi game  yang la in. Penulis  menggunakan  matriks untuk struktur data dari puzzle itu sendiri dan array of matrix untuk menyimpan ke munginan state puzzle berikutnya[1].
Algorit ma  A* (A  Star) dan  metode  heuristik  untuk menentukan  skor  yang  didapat  pengguna  bergantung  pada panjangnya  lintasan  dimana  se mua  potongan puzzle telah diacak o leh aplikasi dengan ketentuan pengacakan menggunakan permutasi genap [2,4,5,12].
Metode Steepest  Ascent  Hill  Climbing pada  penyusunan puzzle kurang  optimal,  terdapat  ke le mahan  dari  metode  ini yaitu keadaan local optimum dimana keadaan semua tetangga neighbour lebih  buruk  atau  sama   dengan  keadaan  dirinya sehingga  terdapat  posisi stack dimana puzzle tidak  dapat bergerak  secara  otomatis   [3],  menggunakan  suatu state  awal ke mudian  dengan  suatu  rumus  khusus  akan  menghasilkan bilangan acak se mu [6,8], hanya terdapat satu level [7], t idak adanya  penentuan  score,  suara  dan  level  pada  penelit ian  ini [9,10,11],  menerap kan  tiga   buah  algorit ma   yaitu depth-first , breadth-first ,  and  A*  untuk  mene mu kan  gera kan  yang dibutuhkan untuk mengatur papan dengan benar dengan benar dan  efisien  [13],  penggunaan  musik  pada  menu  me mbuat game  terkesan  lebih  menarik  [14],  penambahan  metode pencarian  solusi  bantuan  atau  help  pada  penelitian  in i  [15], penggunaan algorit ma greey untuk me mecahkan  masalah [17], Menerapkan  Algorit ma Shullfing untuk  pengacakan  gambar [18] , penggunaan metode Stepwise edu-game untuk me mb imb ing pengguna  dalam setiap langkah-langkah menyelesaikan  puzzle [19],  menggunakan  bahasa HTML (Hypertext  Mark up  Language) yang  bisa  digunakan  pada
perangkat  bersistem  Android  dengan  bantuan  program  Intel XDK  [20].

## III.  METODE  PENELITIAN

## A. Kerangka  Penelitian
Kerangka  penelitian   pada  ga mbar  1  menje laskan  tentang bagaimana  ga me  dibuat  dan  diawali  dengan  tahap pra produk si dimana  menyiapkan  se mua  data  yang  akan digunakan  dalam  perancangan,  kebutuhan  perangkat  keras, perangkat  lunak,  flo wchart  dan  storyboard.  Ke mudian  pada tahap produk si dilakukan  pengeditan  objek  dan  penerapan metode Linear  Congruential  Generator  (LCG) agar  sesuai dengan  konsep  yang  diinginkan  na mun  apabila   ada ketidaksesuain  dengan  konsep  maka  akan  ke mba li  ke  tahap pengumpulan data  dan akan di perbaiki ke mba li, apabila t idak, ma ka  a kan  berlan jut  ketahap pascaproduk si untuk  proses me masukkan objek   3d dan  pe mberian   suara  didala m  ga me tersebut.  Terakhir  adalah  tahap  testing  dan build aplikasi men jadi  sebuah  aplikasi  untuk  Android  serta  me lakukan pengujian  tamp ilan,  uji device ,  dan  pengujian  metode algoritma.
Gambar  1.  Kerangka Penelitian

## B. Metode  Linear  Conguential  Generator  (LCG)
Pada aplikasi game puzzle pe madam k ebak aran ini penulis akan  menerapkan  metode Linear  Congruential  Generator (LCG) . Dimana metode Linear Congruential Generator (LCG) adalah  metode  yang  digunakan  untuk  me mbangkitkan bilangan  acak  dengan  distribusi  uniform.   Rando m  nu mber atau  bilangan  acak  adalah  sebuah  bilangan  yang  dihasilkan dari  sebuah  proses,  yang  keluarannya  tidak  dapat  diprediksi dan secara berurutan tidak bisa dihasilkan b ilangan yang sama.
Proses  pembangkitan  bilangan  random  menggunakan pseudorandom  number  generator yang di gunakan  untuk
mengacak  puzzle  secara  random  pada  awa l  perma inan. Adapun  rumus  pada  metode Linear  Congruential  Generator (LCG):
x = ((a*x)+c) % m;
(1) x = x+1; Pseudo RNG,  berbentuk: Zi+1 = (aZi +c) mod m (2) Dimana  : Zi+1   = bilangan acak  k e-i dari deretnya Zi = bilangan acak  sebelumnya A = fak tor pengali c = increment
m = modulus
kunci  pe mbangkit  adalah  Z 0 yang  disebut  umpan  (seed). LC G me mp u ny a i  pe riode   t ida k  leb ih   besa r  d a ri m ,  da n p ada   keban ya kan   kasus   pe rioden ya   ku rang   da ri  itu . M etod e Linear Congruential Generator  (LC G) in i me mp u ny a i p e riod e  p enuh  (m  –  1) jika   me me n uh i s ya ra t b e riku t :
1. c relatif prima terhadap m
2. a-1 dapat dibagi dengan semua fak tor prima dari m 3. a-1 adalah k elipatan 4 juk a m adalah k elipatan 4
4. m> mak s(a,c, Z 0 ) 5. a>0,c>0
Pe nen tuan   ko nstant a   LCG  (a ,c   da n  m)  sang at me n ent u ka n b a ik t ida kn ya  b ilang an  a ca k ya ng  d ip e ro le h d a la m  a rt i  me mp e ro leh  b ilan gan   ac a k y ang   se a kan -a ka n t e rja d i p e n gula ngan .
Pengujian pengacakan dilaku kan bertujuan untuk menentukan  apakah  bilangan  yang  dihasilkan  o leh  sebuah generator adalah random atau bukan. Tekn ik pencarian  solusi dengan me mbangkitkan atau  mendapatkan solusi secara acak yang  dilakukan  berka li-kali  h ingga  akhir  d ite mukan  solusi yang diinginkan.

## C. Perancangan  Menu  Aplikasi
Struktur  aplikasi game  puzzle yang  dirancang  terdapat pada gambar 2 dibawah ini:

## Gambar  2. Struktur Menu  Aplikasi
Pada  awal  perma inan  akan  masuk  ke  menu  utama  ga me. Dala m  ma in  menu  atau  menu  utama  terdapat  tombol start, about me, how to play dan exit. Pada te mpilan Start terdapat pilihan  objek  ga mbar  mobil  pe mada m  kebakaran.  Ke mudian pema in  me milih  obje k  yang  ingin  d ima inkan  ,  Pada game puzzle ini  terdapat  2  level  yg   dapat    dima in kan  diantaranya level 3X3  dan 4X4.

## IV.  HASIL  DAN  PEMBAHASAN A. Tampilan  Struktur Menu
Berdasarkan  rancangan  struktur  menu  aplikasi  pada gambar  2,  disajikan  beberapa  menu  utama  yang  antara  lain Tamp ilan  Menu  Uta ma  Aplikasi  pada  ga mbar  3,  Ta mp ilan Memilih  Leve l  pada  ga mbar  4.   Me milih  Ga mbar  yang  akan dimain kan pada gambar 5.  Berikutnya user dapat me ma inkan game  puzzle  seperti  pada  ga mbar  6.  Jika  user  berhasil menyelesaikan  level  yang  dipilih,  ma ka   ga mbar  obyek pemadam  kebakaran 3D  akan muncul  seperti pada gambar  7.
Gambar  3.  Tampilan  Menu Utama
Pada  Form  Menu  Uta ma berisi  menu “Start”,  “About Me”  ,  “How  To  Play” serta  menu  ― Exit ‖  untuk  keluar  dari aplikasi.
Gambar  4.  Tampilan  Level
Pada user dapat  me milih  level  yang  ada  yaitu  level  3X3 atau 4X4. To mbol ―Back/  Kembali‖ berfungsi untuk kembali ke menu utama.
Gambar  5.  Tampilan  Memilih  Gambar
Setelah me milih level, ma ka user a kan me milih ga mbar yg ada  pada  game  ini.  Jika user ingin  keluar  dari  aplikasi user dapat menekan  tombol “Back” . Berikutnya user dapat langsung me ma inkan  dan me rangkai puzzle  yg  telah  oto matis  teracak.  Apabila   user  dapat menyelesaikan game  puzzle, ma ka  akan   muncul  wujud obje k
3D . To mbol “Back” berfungsi untuk me mbuka form ke mbali ke menu utama.
Gambar  6.  Tampilan  Permainan
Pada  Form Obyek  3D  adalah  hasil  dari  perma inan game puzzle ini.  Apabila  user  dapat  menyelesaikan  ga me  puzzle, ma ka  a kan  muncul  wujud  objek  3D    seperti  ini.To mbol “Back” berfungsi  untuk  me mbuka form ke mba li  ke  menu utama. Terdapat pada gambar:
Gambar  7.  Tampilan  Obyek 3D

## B. Penerapan  LCG  dan  Pengujian  Aplikasi
Pada  Ga mbar  8 tersebut script LCG yang diterapkan pada software Unity. Setelah mene rapkan dan mela kukan pengujian terhadap metode Linear Congruential Generator (LCG ) yang dala m  game  pu zzle  pe mada m  keba karan,  ma ka  didapatkan hasil  yang  sesuai  dengan  yang  penulis  harapkan  dala m penelitian ini. Dimana pu zzle  teracak secara rando m meskipun sesekali  te rja d i  p engu lang an   p ada   p e riod e   te rten tu   at au set e lah  b eb erap a  ka li  pen ga ca kan  d ila ku kan ,  h a l  in i me ru pa kan   sa lah  sa tu   sifat   pe mb ang kit an  me tod e  in i p a d a  u mu mn y a.
Pengujian  aplikasi  juga  d ila kukan  untuk mencari kesalahan  yang  terdapat  pada  aplikasi  baik  dari  hal  coding maupun  ta mpilan  dan  button  menggunakan  pengujian Black Box . Pengujian Black   Box adalah  pengujian  aplikasi  yang dila kukan  berdasarkan  sudut  pandang  pengguna  sehingga me mudahkan da la m  mengidentifikasi permasalahan yang ada untuk evaluasi dan perbaikan berikutnya.

## V. KESIMPULAN  DAN  SARAN
Puzzle  teracak  secara  rando m  meskipun  setelah  beberapa kali  pengacakan  terjadi  pengulangan,  h a l  in i  me rupa kan sa lah  s atu  s ifat  p e mba ng kit an  da ri me to de  in i d an  PRNG p ada   u mu mny a  Aplikasi game  puzzle ini  dapat  me mbantu para  pengguna  untuk  lebih  mengetahui  fungsi  dari  maca m maca m  mobil  pe mada m  keb karan  yang  ada  di  indonesia ataupun diseluruh dunia.
Sarankan  dala m  pe mbuatan  game   puzzle   diharapkan tampilan  ga me  dapat  dibuat  lebih  menarik  lag i.  Dapat mencoba menggunakan jenis algoritma la in yang sesuai untuk mencapai  hasil  yang  leb ih  baik. Diha rapkan  dapat mena mp ilkan  lebih  banyak  lag i  ga mbar,  sehingga user tidak bosan  untuk  me milih  objek  atau  gambar  sesuai  yang diinginkan.  Diharapkan  dapat  mena mbahkan  fitur-fitur  lain agar  me mbantu  apabila  user  kesulitan  untuk  mencapai kesempurnaan aplikasi game ini.

## Ucapan  Terima  Kasih
Penulis  mengucapkan  banyak  terima  kasih  kepada ALLAH  SWT  ka rena  telah  dimudahkan  dala m  setiap  proses penelitian  in i  dan  juga  terima   kasih  kepada  saudara  Adi  dan Boy  yang  telah  me mbantu  me mbe rikan  masukan,  dan  juga saran dalam  pembuatan sistem ini .

## DAFTAR  PUSTAKA
[1] Akbar,  Gu mb ira,  ― Penyelesaian  Perma inan  Sliding Puzzle  3x3  Menggunakan  Algorit ma   Greedy  Dengan Dua Fungsi Heuristik‖,  Program  Studi  Teknik Informatika,  Seko lah  Teknik  Elektro  dan  Informat ika , Institut Teknologi Bandung,
[2] Chandra  Usman,  Kenedy  Candra,  Hendri  Sopryadi, Willy,  ― Rancang  Bangun  Ga me   Slider  Pu zzle   Berbasis Android  Menggunakan  Metode  Heuristik  dengan Teknik  Best  First  Search‖,  Jurusan  Teknik  Informat ika , STMIK  MDP.
[3] Wisnu Uriawan, Ada m Fa roqi, Risa Fathonah, ―Pembuatan  Game  Slider  Pu zzle  Menggunakan  Metode Steepest  Ascent  Hill  Climbing    Berbasis  Android‖, Jurusan  Teknik  Info rmatika,  Fa kultas  Sa ins  dan
Teknologi,  Universitas  Isla m  Negeri  Sunan  Gunung Djati  Bandung
[4] I  Made  Supriyadinata,  ― Ga me   Edukasi  Puzzle   De wa Dewi Hindu dan Tokoh Pewayangan Berbasis Android ―, Sekolah  Tinggi  Manaje men  Informatika  dan  Teknik Komputer (STMIK)  STIKOM  Bali.
[5] Wahyono  Hidayat    ―Rancang  Bangun  Ga me  Pu zzle Menggunakan Platform Android‖, Progra m Studi Te knik Informatika   Jurusan  Teknik  Ele ktro  Fa kultas  Te knik Universitas Tanjungpura.
[6] Jeffry,  Johannes  Petrus,  ―Rancang  Bangun  Aplikasi Ga me  Edukasi  Pu zzle  Pengenalan  Tokoh  Sejarah Berbasis  Android  Dengan  Metode  Linear  Congruential Generator  (LCG)‖,  Sekolah  Tinggi  Manajemen Informatika  dan Komputer Multi Data Palembang.
[7] Rut  Merilene  Hady,  ―Perancangan    Aplikasi  Pu zzle Transportasi Berbasis  Android‖,  Jurusan  Teknik Informatika  STMIK  Amikom  Yogyakarta.
[8] Sarah  Mason,  Mali  Zhang  ―A  Graph  Theoritical Approach To Solving Scramble  Squares Puzzles ‖.
[9] Matjaž  Kosmač,  Andrej  Krota,  Borut  Batagelj,  ―Pu zzle Ga me‖,  Faculty  of  Co mputer  and  Information  Sc ience, University  of  Ljubljana,  Tržaška  25,  1000  Ljubljana, Slovenia
[10] Mike  Keith Furlong, PA, ― Vintage Plastic Sliding-Letter Puzzles‖.
[11] Snehal  B.  Jagtap1,  Dr.Bhata mbareka r  S.S2,  Mrs. Manisha  Patare3,  ―Android  Based  Application:  ―Chear Bear  Puzzle‖‖ Department of Co mputer Science,Modern College  of  Arts,  Science  and  Co mme rce,  Pune University, Maharashtra, India.
[12] Gy lfi  Þór  Guð mundsson,  ‖Solving  General  Game Playing  Puzzles  using  Heuristic  Search‖,  Reykjavík University - School of Computer  Science.
[13] Paul  Gero mini  , ‖Arbitra rily  Sized  Sliding  Block Pu zzle Solver‖, University Of Massachusetts
[14] Yu xiao Wu, ―An Audio-visual  Slid ing Pu zzle Author:‖, University  of  Manchester  School  of  Co mputer  Sc ience, BSc(Hons)  Computer Science.
[15] A.Tushar  Advani1;  B.  Suraj  Choudhary2;  C.  Rucha Deshmukh3;  D.  Varsha  Dudani4;  E.  Parmeshwar Bira jdar5  ,  ―Pu zzle  Portal:  An  Image  Processing  Based Ga me To  Impart  Knowledge Throught Picture Pu zzles‖. Depart ment  Of  Electronics,  Vive kanand  Education Society’s Institute Of Technology, Chembur,  Mumbai.
[16] Jigsaw  Andrew  C.  Gallagher  ,  ―Pu zzles  with  Pieces  of Unknown  Orientation‖,  Eastman  Kodak  Research Laboratories Rochester, New York.
[17] Jürgen Bohn, ―The Sma rt Jigsaw Pu zzle  Assistant: Using RFID  Technology  for  Building  Augmented  Real-World Games‖,  Distributed  Systems  GroupInstitute  for Pervasive ComputingETH  Zurich,  Switzerland.
[18] Parimala  N,  R.Senthamarai,  K.Pushpavathi,  ―Android Application for M ind/Brain Pu zzle  Game‖, Technology, Missions University, Salem,  India.
[19] Eun-Young  Park,  Young-Ho  Park  ,  ―A  Hiera rchica l Interface  Design  of  a  Puzzle   Ga me   fo r  Ele mentary Education‖,  Department  of  Multimedia  Science, Sookmyung Women’s University, Seoul, Korea.
[20] Siti  Mu’afiyah, Nurul Fuad, Azza Abidatin B,  ―Aplikasi Game  Puzzle  Grow  Up Berbasis Android‖, Fakultas Teknik  Prodi Teknik  Universitas Islam  Lamongan.