Ekojono1, Dyah Ayu Irawati 2, dan Lugman Affandi3, Anugrah Nur Rahmanto 4,
1,2,3,4
Jurusan Teknologi Inforasi, Politeknik Negeri Malang, Indonesia
Abstrak
Belajar Aritmatika dimulai dengan menghafal dan selanjutnya mengerti pada bilangan dasar 10, dengan
penambahan pemakaian operator permasalahan menjadi tambah sulit. Pembelajaran aritmatika akan semakin
sulit bila angka dasar ditambahkan operator dan penyelesaiannya dibatasi waktu. Pada level ini pembelajaran
aritmatika sudah harus hafal dan mengerti serta bisa berfikir cepat. Pembelajaran ini bisa dilakukan diatas kertas
dengan sederet soal yang berfariasi dan dibatasi waktu untuk mengerjakannya. Dalam penelitian ini dibuat suatu
aplikasi yang dapat mengakomodasi permasahan diatas, dengan membuat game edukasi aritmatik yang
menggunakan algoritma Fisher-Yates Suffhel. Dalam pengembangannya menggunakan game 2 dimensi yang
bekerja pada sistem operasi android, supaya bisa dmainkan pada smartphone
penjumlahan total (sum total), yang mencakup juga Guru menyampaikan pertanyaan lisan Siswa
penambahan dari barisan bilangan tak hingga diminta menuliskan jawabannya di kertas dalam
banyaknya (infinite). waktu 1,5 menit dan seterusnya sampai pertanyaan
Pengurangan (-) adalah lawan dari operasi kesepuluh. Kemudian kertas jawaban siswa
penjumlahan. Pengurangan mencari ‘perbedaan’ dikumpulkan untuk diperiksa dan setelah diperiksa
antara dua bilangan A dan B (A-B), hasilnya adalah hasilnya dibagikan kepada siswa. Dengan metode
selisih dari dua bilangan A dan B tersebut. Bila mencongak ini guru agak memaksa siswa untuk
selisih bernilai positif maka nilai A lebih besar melatih ketrampilan berhitung walaupun siswa
daripada B, bila selisih sama dengan nol maka nilai bosan dengan cara ini
A sama dengan nilai B dan terakhir bila selisih Sesuai dengan perkembangan teknologi
bernilai negatif maka nilai A lebih kecil dari pada latihan berhitung seperti ini bisa menggunakan
nilai B. dalam bentuk permainan(game). Game Aritmatika
Perkalian (*) pada intinya adalah penjumlahan yang menggunakan bilangan dibawah seratus atau
yang berulang - ulang. Perkalian dua bilangan bilangan desimal 2 digit, sehingga anak mulai seusia
menghasilkan hasil kali (product). klas 2 SD bisa menggunakan game ini.
Pembagian (/) adalah lawan dari perkalian. Dalam suatu permainan pertanyaan perlu diatur
Pembagian dua bilangan A dan B (A/B) akan supaya tidak membosankan, pengaturan keluarnya
menghasilkan hasil bagi (quotient). Sembarang soal dilakukan dengan cara random supaya
pembagian dengan bilangan nol (0) tidak keluarnya pertanyaan tidak mudah ditebak dn keluar
didefinisikan. Selanjutnya bila nilai hasil bagi lebih pertanyaan yang sama secara berulang, untuk itu
dari satu, berarti nilai A lebih besar dari nilai B, bila game ini menggunkan algoritma Fiher Yates.
hasil bagi sama dengan satu, maka berarti nilai A Menurut Vinay Signh (2017) penggunaan
sama dengan nilai B, dan terakhir bila hasil baginya algoritma Fisher-Yates yang modern oleh Richard
kurang dari satu maka nilai A kurang dari nilai B. Durstenfeld dapat mengurangi kompleksitas
Angka yang dioperasikan dalam hitungan algoritma menjadi O (n), dibandingkan dengan
menggunakan bilangan dasar 10 yang disebut mengacak menggunakan metode yang lain seperti
bilangan desimal(0 sampai 9), angka desimal ini menggunakan sorting yang sangat tidak efisien
yang dipakai dan diajarkan mulai dari anak mulai karena adanya loop bersarang. Algoritma Fisher-
belajar menghafal sampai dewasa. Menghafal Yates dipilih karena algoritma ini merupakan metode
merupakan cara dasar dan cara lama yang dilakukan pangacakan yang lebih baik atau dapat dikatakan
untukmelakukan belajar tentang angka dan sesuai untuk pengacakan angka, dengan waktu
pengoperasiannya, pengoperasian angka ini dan eksekusi yang cepat serta tidak memerlukan waktu
hafalan angka ini biasa disebut mencongak. yang lama untuk melakukan suatu pengacakan.
Bagian Di dalam mencongak, pertanyaan Algoritma Fisher-Yates terdiri dari dua metode
disampaikan secara lisan, tetapi jawabannya dibuat yakni, metode orisinal dan metode modern. Namun
secara tertulis. Ada kalanya untuk membantu ingatan dalam pengembangan aplikasi ini algoritma ini
siswa pertanyaan tidak mutlak secara lisan. Hal ini diterapkan dengan menggunakan metode modern.
biasa dilakukan pada soal-soal yang Metode modern dipilih karena metode ini memang
mempergunakan pada bilangan-bilangan yang agak khusus digunakan untuk pengacakan dengan sistem
sukar diingat. Soal seperti ini 1012+…..=1312 guru komputerisasi, dikarenakan hasil pengacakan bisa
akan menuliskan di papan tulis salah satu bilangan lebih variatif.
atau bahkan kedua bilangan tersebut. Adapun soal- Berikut adalah metode modern pada Tabel 1
soal yang diberikan pada tes secara mencongak yang digunakan untuk menghasilkan suatu permutasi
umumnya hanya operasi hitung dan kadang-kadang acak untuk angka 1 sampai N adalah sebagai berikut :
disertai dengan kalimat-kalimat yang singkat agar 1) Tuliskan angka dari 1 sampai N.
mudah diingat oleh siswa. Berbagai faktor dapat 2) Pilih sebuah angka acak K diantara 1 sampai
mempengaruhi hasil tes secara mencongak. dengan jumlah angka yang belum dicoret.
Diantaranya adalah faktor pengamatan, ingatan dan Tabel 1 Contoh Pengerjaan Algoritma Fisher-
berfikir. Yates
Menurut Alim (1995) pengertian mencongak
dalam matematika adalah menghitung di luar kepala
tanpa menggunakan alat bantu dan langsung
menuliskan hasilnya.
Materi yang digunakan untuk kegiatan
mencongak adalah materi yang telah dihafal oleh
siswa, dan pelaksanaannya dalam waktu yang relatif
singkat. Karena kegiatan mencongak menegangkan
bagi siswa, maka janganlah melakukan kegiatan
mencongak hampir setiap hari dalam seminggu. 3) Dihitung dari bawah, coret angka K yang belum
dicoret, dan tuliskan angka tersebut di lain
I-102
I-96
Prosiding SENTIA 2017 – Politeknik Negeri Malang Volume 9 – ISSN: 2085-2347
I-103
I-97
Prosiding SENTIA 2017 – Politeknik Negeri Malang Volume 9 – ISSN: 2085-2347
Tabel 1 Contoh Pengerjaan Algoritma Fisher-Yates b. Pilih angka acak (x) dimana 1<= x <= n
Shuffle, Pengacakan suatu hal yang sangat Misalkan x adalah 4
penting dalam pembuatan banyak aplikasi. c. Tukar posisi (x) dengan angka terakhir
pada range 1 – n
5. Pengujian dan Pergantian Maka dari
Merupakan tahapan proses pengujian aplikasi {1,2,3,4,5} menjadi {1,2,3,5,4}
yang telah dibangun yaitu apakah aplikasi sudah d. Pindahkan angka x ke list array
memenuhi kebutuhan awal. Pengujiannya Misalkan t ={4}
melibatkan verifikasi bahwa setiap unit memenuhi e. Atur ulang nilai n, dimanaa n = n-1
spesifikasinya. Unit program atau program Sekarang yang diproses n-1, maka yang
individaul diintegrasikan dan diuji sebagai sistem diproses hanya {1,2,3,5}
yang lengkap untuk menjamin bahwa persyaratan f. Jika n masih memenuhi syarat n>0 maka
sistem telah terpenuhi. kembali lakukan proses pilih angka acak (x) dimana
1<= x <= n (proses b)
4. HASIL PENELITIAN DAN PEMBAHASAN n sekarang adalah n – 1, 5 – 1 = 4
4.1 Pengacakan Soal Misal x adalah 2
Pada game ini algoritma Fisher-Yates Shuffle Maka dari {1,2,3,5} menjadi {1,5,3,2}
diterapkan pada pengacakan soal, posisi jawaban Maka t = {4,2}
yang dikeluarkan pada setiap level. Dengan soal n sekarang adalah n – 1, 4 - 1 = 3
yang diacak dengan algoritma Fisher-Yates Shuffle Misal x adalah 1
sehingga memiliki urutan yang berbeda dengan Maka dari {1,5,3} menjadi {3,5,1}
sebelumnya, hal ini dilakukan agar soal tidak keluar Maka t = {4,2,1}
berulang sehingga user tidak jenuh apabila bermain n sekarang adalah n – 1, 3-1 = 2
dikarenakan mendapatkan soal yang sama. Misal x adalah 3
Fisher-Yates Shuffle terdapat beberapa tahap Maka dari {3,5} menjadi {5,3}
dalam proses pengacakannya. Adapun tahapan Maka t = {4,2,1,3}
tersebut adalah: n sekarang adalah n – 1, 2-1 = 1
a. Tentukan nilai n Maka t = {4,2,1,3,5}
b. Pilih angka acak (x) dimana 1<= x <= n g. Jika n = 0 maka pengacakan telah selesai di
c. Tukar posisi (x) dengan angka terakhir lakukan
pada range 1 – n Meskipun terlihat mudah, namun pada dasarnya
d. Pindahkan angka x ke list array jika tidak dilakukan dengan baik maka pengacakan
e. Atur ulang nilai n, dimanaa n = n-1 itu dapat berdampak buruk untuk suatu aplikasi.
f. Jika n masih memenuhi syarat n>0 maka Maka diperlukan sebuah algoritma yang baik
kembali lakukan proses pilih angka acak (x) dimana terutama dalam hal pengacakan. Dalam hal ini
1<= x <= n (proses b) pengacakan menggunakan algoritma Fisher-Yates
g. Jika n = 0 maka pengacakan telah selesai di dapat dijadikan referensi untuk diterapkan dalam
lakukan sebuah aplikasi yang menggunakan metode
Berikut adalah pengacakan soal dan jawaban pengacakan. Fisher-Yates merupakan cara yang
untuk game matematik. Yang pertama diacak adalah optimal dengan waktu eksekusi yang efisien
soal dengan dua operan dan satu operator, masing sedang flowchart dari algoritma Fisher-Yates dapat
masing operan A dan B diacak. dilihat pada gambar 4.1, dengan menggunakan
Operan A dan B mempunyai array tersendiri algoritma Fisher-Yates maka ruang penyimpanan
untuk pengacakan, isi dari array variable A dan B memori yang tidak terlalu besar (Rizal, 2006).
adalah angka(operan). Sehingga angka yang Flowcarch algoritma Fisher-Yates
dikeluarkan dapat secara acak. Selanjutnya yang
diacak adalah jawaban. Pengacakan jawaban adalah
posisi jawaban yang diacak dengan kondisi jawaban
yang salah di tambah atau dikurang angka tertentu,
yaitu dikurang 1, ditambah 1 dan ditambah 2. Hal ini
dikarenakan untuk membuat user lebih teliti dengan
jawaban yang akan dijawab. Maka array untuk
pengacakan jawaban ini adalah {hasil, hasil – 1,
hasil +1, hasil +2}.
Dari tahap proses pengacakan Fisher-Yates
Shuffle diatas, berikut adalah contoh perhitungan
manual pengacakannya. Terdapat array n =
{1,2,3,4,5}, hasilnya adalah:
a. Tentukan nilai n Gambar 1 Algoritma Fisher-Yates
n = {1,2,3,4,5,6}
I-104
I-98
Prosiding SENTIA 2017 – Politeknik Negeri Malang Volume 9 – ISSN: 2085-2347
Pada gambar 4.1 Menjelaskan proses operasi menggunakan Smartphone Android Versi 6.0
algoritma Fisher-Yates, pertama tama menentukan (Marshmallow) dan Versi 5.0 (Lollipop) dengan
nilai selanjutnya angka acak dipilih dan tukar posisi ukuran layar 5 inches resolusi 1280 x 720 pixel
dengan angka terakhir sampai ke n sehingga tidak dan 5,5 inches resolusi 1080 x 1920 pixel. hasil
terjadi pengulangan. dari uji coba mendapatkan secara fungsional
mengeluarkan hasil yang sesuai dengan yang
diharapkan, namun tidak menutup kemungkinan
4.2 Pengujian Metode Fisher-Yates Shuffle
dapat terjadi kesalahan, pada saat aplikasi
Untuk menguji metode Fisher-Yates Shuffle
digunakan, baik itu kesalahan pada
pengujian hasil metode tersebut ditampilkan pada
perangkat yang digunakan, kesalahan pengguna,
console di Unity sehingga dapat diketahui apakah
maupun kesalahan-kesalahan lainnya, sehingga
array sudah diacak atau belum. Berikut adalah hasil
membutuhkan proses perawatan dan pengecekan
pengacakan soal yang telah dilakukan yang
(maintenance) untuk menjaga agar aplikasi tetap
ditunjukkan pada gambar 4.2
berjalan sesuai dengan yang diharapkan.
5. KESIMPULAN
5.1 Kesimpulan
Kesimpulan yang didapatkan dari pembuatan
game Aritmatika berbasis android adalah sebagai
berikut :
1. Dalam game ini dipilih soal yang mudah
dikerjakan sehingga semua orang yg telah
belajar berhitung/aritmatika bisa
Gambar 2 Hasil pengacakan soal mengerjakan, hanya saja menjadi penasaran
karena ada batasan waktu.
Selanjutnya adalah pengujian pengacakan jawaban. 2. Pengacakan menggunakan algoritma Fisher-
Berikut ini adalah hasil pengacakan untuk jawaban Yates Shuffle berhasil diterapkan di dalam
yang ditunjukkan pada gambar 4.3. game aritmatika sebagai pengacak soal dan
jawaban yang akan muncul dalam setiap
permainan dan keluarnya soal tidak berulang
5.2 Saran
Berdasarkan kesimpulan diatas maka saran
yang diberikan penulis untuk pengembangan game
ini adalah:
1. Game Aritmatika dapat dikembangkan
dengan memperbanyak variasi soal dan
variasi operasi hitung.
2. Pengembangan selanjutnya algoritma bisa
Gambar 3 Hasil pengacakan jawaban pula dikembangakan dengan algoritma lain
yang tentunya sesaui dengan kebutuhan game.
Proses pengujian Aplikasi Game Edukasi
Aritmatika Untuk Melatih Ketangkasan/ DAFTAR PUSTAKA:
kecepatan berhitung dan operasinya ini telah
dibuat aplikasi game aritmatika, maka untuk Alim (1995). 2010. Mencongak. http://alim.
menemukan kekurangan pada sistem, maka Artikata. Com/ arti. 361742.: Diakses 26
tdilakukan uji coba pakai aplikasi ke user Februari 2017
sehingga dapat diketahui apakah perangkat lunak
tersebut telah memenuhi kriteria sesuai tujuan Bendersky, Eli, 2010, The Intuition behind
atau tidak. Pada pengujian ini, terdapat beberapa Fisher-Yates Shuffling,
peralatan yang digunakan untuk memastikan http://eli.thegreenplace.net, diakses tgl 2
bahwa aplikasi telah berjalan sesuai dengan September 2017.
rancangan, diantaranya berjalannya tiap fungsi
yang telah dibuat untuk aplikasi. Pengujian pada Chaplin Ability. 2010. http://chaplin ability.ian43.
aplikasi menggunakan metode Black Box. Wordpress.com/2010/2011 /12/2emampuan.
Pengujian metode Black Box adalah pengujian Diakses: 26 Februari 2017
yang dilakukan hanya mengamati hasil eksekusi Hurd, Daniel dan Jenuings, Erin. 2009.
melalui data uji dan memeriksa fungsional dari “Standardized Educational Games Ratings:
perangkat lunak. Uji coba pada Black Box ini Suggested Criteria “. Karya Tulis Ilmiah.
I-105
I-99
Prosiding SENTIA 2017 – Politeknik Negeri Malang Volume 9 – ISSN: 2085-2347
I-106
I-100