## IMPLEMENTASI ALGORITMA RANDOM PADA PERMAINAN KETANGKASAN
Zuly Budiarso 1 , Eddy Nurraharjo 2
1,2 Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Stikubank email: 1 zulybudiarso@edu.unisbank.ac.id, 2 eddynurraharjo@edu.unisbank.ac.id

## Abstrak
Permainan  telah  merambah  berbagai  usia,  mulai  dari  usia  muda  hingga  dewasa. Permainan merupakan salah  satu  mediasi perantara dalam olah  tubuh, baik  fikiran maupun fisik, bahkan sudah merambah kombinasi keduanya. Berbagai jenis permainan telah banyak dikembangkan diantaranya permainan berbasis perangkat komputer, perangkat gawai, hingga olahraga.
Pada  implementasi  permainan  khususnya  pada  olahraga  bisa  dikembangkan berdasarkan  kebutuhan  dan  suasana.  Pada  kesempatan  ini  tim  mencoba  melakukan rancang  bangun  perangkat  permainan  guna  mendukung  dan  melatih  ketangkasan penggunanya.  Perangkat  berbasis  mikrokontroler  ini  menggunakan  modul  Arduino  Nano sebagai  pengolah  utamanya,  dan  menempatkan  algoritma  pengacakan  secara  otomatis dengan  menggunakan  visualisasi  berupa  LED.  Masukan  sistem  berupa  respon  yang dihasilkan dari sensor penghalang inframerah.
Algoritma  pengacakan  akan  melakukan  visualisasi  secara  acak  dan  beragam,  setelah memperoleh  respon  dari  penggunanya.  Simulator  sistem  permainan  ini  terdiri  dari  7 kombinasi  masukan  sensor  penghalang  inframerah  dan  7  keluaran  visualnya.  Sistem  telah berhasil  merespon  secara realtime dan  algoritma  pengacakan  dapat  menghasilkan keragaman visualisasi luarannya sesuia dengan yang diharapkan.
Kata kunci : arduino, mikrokontroler, realtime, random, Arduino

## 1. PENDAHULUAN
Permainan  merupakan  salah  satu  media  yang  banyak  digunakan  masyarakat  untuk  sedikit meluangkan  waktunya  melepas  penat  dan  jenuh  disela-sela  kegiatan  hariannya.  Berbagai  upaya pelakunya,  dilakukan  mulai  dari  yang  sederhana  dengan  permainan  pada  perangkat  gawainya,  olah raga ringan hingga olah fisik layaknya seorang atlit.
Sasaran  permainan  ketangkasan  dengan  olah  fisik  ini  menjadi  sasaran  utama  tema  penelitian pada  kesempatan  ini,  dengan  harapan  akan  mampu  mengembangkan  bahan  pengembabgnan  sarana olah  raga  berbasis  pada  permainan  sebagai  sarana  latihan  layaknya  sebuah  permainan.  Sistem dirancang dengan menggunakan unit pengolah utamanya berupa mikrokontroler.
Teknologi  mini  komputasi  pada  perangkat  mikrokontroler  telah  banyak  digunakan  dan dikembangkan  oleh  para  produsennya  sebagai  indikator  yang  mendukung headline  Internet  of Things ,  yang  hingga  saat  ini  telah  dirasakan  dan  terimplementasi  pada  bagian  sisi  aspek  kegiatan keseharian masyarakat penggunanya.

## 2. PERUMUSAN MASALAH
Model  permasalahan  yang  tersebut  dalam  latar  belakang  menjadi  bahan  kajian  masalah utama  dalam  perancangan  sistem  ini.  Penelitian  ini  akan  memfokuskan  pada  masalah  perancangan perangkat permainan ketangkasan bagi sarana olah raga.

## 3. BATASAN MASALAH
Adapun batasan masalah dalam kesempatan penelitian ini adalah :
a. Desain sistem menggunakan modul mikrokontroler Arduino Nano
b. Pemrograman sistem menyisipkan teknik randomisasi nilai keluaran berdasarkan respon masukan terpilih

## 4. TUJUAN DAN MAFAAT PENELITIAN
Adapun tujuan dalam penelitian pada kesempatan kali ini adalah :
a.  Mengimplementasikan sebuah model permainan ketangkasan berbasis mikrokontroler b.  Mengetahui prinsip dasar algoritma pengacakan data
Manfaat yang ingin dicapai dalam penelitian ini adalah :
a.   Memberikan wawasan pemrograman modul sistem cerdas berbasis mikrokontroler b.  Memberikan wawasan perancangan model implementatif algoritma pengacakan data

## 5. METODE PENELITIAN
Metode yang akan digunakan  dalam penelitian ini terdiri dari langkah-langkah  sebagai berikut ;

## 1.  Studi Literatur
Untuk memperoleh dasar teori dan pustaka kajian berkaitan dengan pemanfaatan mikrokontroler sebagai  komponen  dari Internet  of  Things ,  baik  berasal  dari  jurnal,  buku  maupun  informasi  baku lainnya  yang  bersumber  dari  situs-situs  dan  diskusi  forum  bebas  terkait  tema  mikrokontroler  dan teknik pengacakan data di internet
2.  Pemrograman Aplikasi
Pemrograman  aplikasi  ini  dimaksudkan  untuk  menguji  sebuah  teknik  pengacakan  data  serta mengeksplorasi  teknik interfacing dan  mengimplementasikannya  teknik/metode  tersebut  dalam sebuah sistem  permainan  ketangkasan  berbasis  Arduino  Nano,  dengan  menggunakan software bantu IDE Arduino berbasis PC.

## 6. HASIL DAN PEMBAHASAN
Pada  kesempatan  penelitian  ini,  dilakukan  pengamatan  terhadap  algoritma  pengacakan  data berdasarkan  perubahan  sensor  masukan  yaitu  sensor  penghalang  inframerah,  dengan  ketentuan sebagai berikut :
a. Perubahan  data  berdasarkan  pada  sejumlah  data  digital  masukan  sebagai  respon  dari  sensor penghalang inframerah (6 data digital komparatif)
b. Perubahan  luaran  visual  berupa  sejumlah  data  digital  dengan  indikasi  LED  (6  data  kombinasi acak)

## Inisialisasi
Inisialisasi  merupakan  proses  alternatif  untuk  menguji  kesiapan  sistem  untuk  bisa  beroperasi dengan baik,  prosedur ini  seperti  mengenali  status  data  awal  pada data  masukan dan  penetapan  data visual  awal  pada  keluaran.  Contoh  yang dapat  diiimplementasikan pada proses  ini  adalah  visualisasi hasil  inisialisasi  dengan  menggunakan  indikator  LED  yang  menyala  secara  bersamaan  ataupun  satu pin aktif sebagai hasil awal nilia acak yang telah dilakukan oleh sistem.

## Cek data
Proses ini akan senantiasa memantau perubahan data yang mungkin terjadi pada masukan sensor penghalang  inframerah  terkait  dengan  kondisi  status  dari  perubahan  masukan  sensor  yang  aktif pada posisi LED yang menyala,  yang akan  diperbandingkan dengan data sebelumnya. Adapun status tombol aktif dapat digambarkan dalam tabel berikut.
Tabel 1. Status masukan aktif Kondisi awal keluaran Aktifasi awal masukan Keterangan LED X SENSOR Y LED pertama - Sensor pertama LED X+1 SENSOR Y+1  LED ke dua - Sensor ke dua LED X+2 SENSOR Y+2  LED ke tiga - Sensor ke tiga LED X+3 SENSOR Y+3  LED ke empat - Sensor ke empat LED X+4 SENSOR Y+4  LED ke lima - Sensor ke lima LED X+5 SENSOR Y+5  LED ke enam - Sensor ke enam
Visualisasi  data  pada  keluaran  (LED  X)  merupakan  hasil  dari  pengacakan  data,  dan  setelah sistem pengacakan data ini, maka sensor tepilih (SENSOR Y) akan menunggu untuk dapat menerima perubahan  pada  masukan  sensor  penghalang  inframerah,  yang  menyulut  fungsi  pengacakan  data berikutnya, yang berlangsung secara terus menerus dan realtime.

## Analisa Hasil
Pengamatan  analisa  program  pada  sistem  permainan  ini  adalah  pada  upaya  pengacakan  data yang  terus  menerus  dan realtime, sehingga  dapat  dilakukan  visualisasi  beragam  dan  berkelanjutan. Algoritma sistem pengacakan data tersebut dapat diamati dalam gambar berikut ini.
Pengacakan  dilakukan  dengan  mengawali  penentuan  data  yang  ditandai  dengan  posisi  LED X, kemudian  proses  pengacakan  akan  mulai  setelah  adanya  respon  masukan  dari  sensor  penghalang inframerah,  dan  telah  divisualisasi  pada  luaran  sebelumnya,  dimana  data  ini  dijadikan  rujukan perubahan  status  data  keluaran,  dengan  terlebih  dahulu  melakukan  komparasi  antara  data  masukan sensor dan data visual sebelumnya. Adapun 2 prosedur yang digunakan adalah sebagai berikut.
Pertama,  yaitu  ketersediaan  dalam library fungsi  pada  IDE  Arduino  adalah  fungsi random(), merupakan  fungsi  yang  akan  menghasilkan  nilai pseudo-random, yang  memiliki  prosedur  penulisan sintaksnya adalah random(max) dan random(min,max) , dimana min adalah nilai minimun pengacakan dan  max  adalah  nilai  maksimum-1  pengacakan.  Adapaun  contoh  penggunaan  prosedurnya  adalah sebagai berikut.
random(3);
maka proses akan melakukan pengacakan dengan keluaran nilai antara 0-2 saja
random(3,5);
maka proses akan melakukan pengacakan pada keluaran nilai antara 3-4 saja
Kedua  adalah  fungsi randomSeed(), merupakan library pengcakan  yang  akan  menghasilkan varian  nilai  acak  yang  dapat  diambil  berdasarkan  pengacakan  masukan,  misalnya  berdasarkan  pada perubahan  nilai  analog  yang  dihasilkan  dari  perubahan  nilai  sensor,  yaitu  menggunakan analogRead(). Untuk bentuk prosedurnya dapat dicontohkan sebagai berikut.
randomSeed(analogRead(0));
maka  perubahan  nilai  maksimum  dalam  pengacakan  bergantung pada  perubahan  nilai masukan  dari sensor, sehingga akan menghasilkan nilia hasil pengacakan yang lebih variatif dan beragam.

## 7. KESIMPULAN
Adapun  beberapa  kesimpulan  yang  berhasil  diperoleh  dalam  penelitian  ini  diantaranya adalah sebagai berikut :
a. Proses  pengacakan data  dapat  dilakukan dengan  komparasi perubahan pada data  sebelumnya dan menghasilkan data visual keluaran yang beragam dan terus menerus secara realtime .
b. Metode  fungsi  r andom() dapat  lebih  diberikan  variasi  nilai  pengacakan  dengan  metode randomSeed().

## DAFTAR PUSTAKA
[1] E.  Nurraharjo,  2011,  “Analisis  Model  Akuisisi  Data  Terhadap  Piranti  Analog  To  Digital (ADC)” , Dinamik-Jurnal Teknologi Informasi
[2] E.  Nurraharjo, 2012, ”Terminal Port  Komputer sebagai Perantara Pemrograman Bahasa Tingkat Tinggi”, Dinamik-Jurnal Teknologi Informasi.
[3] E.  Nurraharjo,  2012,  ”Implementasi  Image  Statistic  Method  pada  Pengolahan  Citra  Digital”, Dinamik- Jurnal Teknologi Informasi
[4] E. Nurraharjo, 2013, ” Rangkaian Pembangkit Gelombang dengan menggunakan  IC XR-2206”, Dinamik-Jurnal Teknologi Informasi.
[5] Z.  Budiarso,  EN.  Raharjo,  V.  Lusiana,  2006,  Laporan  Penelitian,  “Sistem  Kendali  Terpadu dengan Menggunakan Metode Octal Bus Transceiver with Non Inverting 3 State Output”