Anda di halaman 1dari 6

Penerapan Random Pada Game Move Ball menggunakan Adobe Flash

Min Ahyani1, Jenita Ompusunggu2, and Sayyidatul3


1

Batam Polytechnics
Informatics Study Program
Parkway Street, Batam Centre, Batam 29461, Indonesia
E-mail: yanni.dwi12@gmail.com NIM : 4311201083
2

Batam Polytechnics
Informatics Study Program
Parkway Street, Batam Centre, Batam 29461, Indonesia
E-mail: jeni.ompusunggu93@gmail.com NIM : 4311201086
3

Batam Polytechnics
Informatics Study Program
Parkway Street, Batam Centre, Batam 29461, Indonesia
E-mail: aku.riri9410@gmail.com NIM : 4311201090

Abstrak
Random Number Generator adalah suatu algoritma yang digunakan untuk menghasilkan
urutan-urutan atau sequence dari angka-angka sebagai hasil dari perhitungan dengan komputer
yang diketahui distribusinya sehingga angka-angka tersebut muncul secara random dan
digunakan terus menerus. Random Number Generator ini akan diterapkan dalam game Move
Ball, game Move Ball merupakan game bola yang akan bergerak secara acak sesuai dengan
angka random yang dihasilkan.
Kata kunci: Random Number Generator, Algoritma, Move Ball

Abstract
Random Number Generator is an algorithm used to generate sequences or sequences of
numbers as a result of computer calculations with the known distribution so that the figures
appear randomly and used continuously. Random Number Generator will be implemented in
the game Move Ball, Ball Move game is a game ball that will move randomly according to the
random number generated.

Keyword: Random Number Generator, Algoritma, Move Ball

1. Pendahuluan
Bilangan acak (random) merupakan hal yang
sangat penting dalam kriptografi. Tanpa bilangan
random, sebagian besar algoritma kriptografi
akan dengan mudah dipecahkan. Dengan
menggunakan bilangan acak dalam suatu
algoritma kriptografi,
akan mempersulit
penyerang untuk menebak kunci maupun hasil
enkripsi dari suatu kriptografi. Algoritma
kriptografi dianggap paling kuat, yaitu One time
pad, merupakan algoritma kriptografi yang
sangat tergantung dengan bilangan acak. Kunci
yang digunakan diharuskan merupakan bilangan
acak murni dan sepanjang pesan yang dikirim
juga. Hal ini akan membuat kriptanalisis tidak
mungkin dilakukan. Akan tetapi pada
praktiknya, One time pad tidak dapat diterapkan
secara praktis karena tidak mungkin untuk
membangkitkan bilangan acak secara murni.
Selain One time pad, banyak sekali algoritma
lain yang menggunakan bilangan random
sebagai unsur penting dalam algoritmanya.
Dengan
memasukkan
bilangan
random,
dianggap dapat menghilangkan kemungkinan
penyerang menebak hasil dengan mengetahui
algoritmanya. Telah banyak algoritma generator
bilangan acak yang diusulkan dan digunakan
hingga saat ini. Algoritma-algoritma tersebut
menggunakan berbagai pendekatan berbeda
untuk menghasilkan bilangan random seacak
mungkin. Hingga saat ini kita tidak dapat
membuat suatu generator bilangan acak yang
dapat menghasilkan bilangan acak secara murni.
Untuk mendapatkan bilangan acak banyak ahli
2. Teori Pendukung
Definisi random number [MENEZES, 1996]:
1. Angka yang dipilih dari set angka tertentu
dengan cara sedemikian sehingga setiap angka
yang muncul memiliki probabilitas kemunculan
yang sama
2. Urutan angka yang dinyatakan telah lulus tes

yang mengusulkan berbagai algoritma dari yang


sederhana hingga yang paling rumit. Dari
penggunaan variabel waktu sebagai faktor
pengacak hingga penggunaan teori biologi
cellular. Algoritma-algoritma ini masing
masing memiliki kelebihan maupun kekurangan.
Karena tidak ada algoritma bilangan acak yang
benar-benar sempurna, hingga saat ini kita masih
terus
mengembangkan
cara-cara
untuk
mendapatkan bilangan random yang sukar
ditebak. Kita berupaya untuk mendapatkan
generator bilangan yang menyerupai generator
bilangan acak. Generator bilangan ini
membangkitkan bilangan acak semu (pseudo
random number) yang memiliki tingkat kekuatan
berbeda-beda
menurut
algoritma
yang
digunakan. Pseudo-Random Number Generator
menggunakan suatu state awal kemudian dengan
suatu algoritma khusus akan menghasilkan
bilangan acak semu. State awal yang digunakan
diambil dari berbagai sumber yang dianggap
cukup acak. Dengan demikian, Pseudo Random
Number Generator ini akan menghasilkan suatu
rangkaian bilangan yang menyerupai bilangan
acak. Pseudo Random Number Generator
banyak sekali digunakan pada saat ini.
Kemudahan implementasi dan kecepatannya
merupakan faktor utama mengapa Pseudo
Random Number Generator digunakan. Namun,
sebagai algoritma generator bilangan acak,
Pseudo Random Number Generator masih
banyak memiliki kelemahan. Kelemahan utama
adalah pada pemilihan state awal yang
digunakan untuk proses generate bilangan acak.
statistik atau bebas dari kondisi dimana tidak
dapat diduga atau ditebak kalkulasinya. Random
Number Generator adalah alat atau algoritma
yang menghasilkan urutan angka yang secara
statistik independen dan tidak dapat ditebak.
Kelas random number generator :
a) Deterministic RNG

Dibuat
menggunakan
algoritma
yang
menghasilkan urutan bit berdasarkan nilai awal
yang disebut seed.
b) Non-deterministic RNG
Menghasilkan keluaran yang tergantung kepada
sumber luar yang tidak dipengaruhi oleh kontrol
manusia. Pseudo-Random Number Generator
adalah random number generator yang
menghasilkan nilai berdasarkan seed dan state
saat ini. Dengan seed yang sama, sebuah PRNG
akan menghasilkan nilai output yang sama.
Kekuatan pseudo-Random Number Generator
dalam menghasilkan deret bilangan acak sangat
tergantung kepada kekuatan algoritma, serta
keamanan seed. Sebuah random bit generator
membutuhkan sumber keacakan yang secara
natural terjadi. Ada 2 macam cara memperoleh
keacakan, yakni hardware-based dan softwarebased. Hardwarebased adalah memperoleh
keacakan dari fenomena fisik, diantaranya :
waktu peluruhan radioaktif,suhu diode atau
resistor, frekuensi osilator, suara dari mikrofon
atau input video dari kamera. Sementara
software-based adalah memperoleh nilai dari
proses-proses software yang sedang berjalan,
diantaranya : system clock, waktu keystroke,
gerakan mouse, input user, nilai-nilai pada
operating system seperti load dan network
statistics. Metode-metode untuk menghasilkan
angka acak yang dilakukan terbagi menjadi
beberapa cara, dari yang paling sederhana,
hingga metode yang cukup rumit. Beberapa
contohnya adalah :
2.1 Metode Fisik
Metode paling pertama untuk menghasilkan
angka secara acak adalah dengan menggunakan
dadu, koin, rolet, dan lain sebagainya. Sampai
saat ini, metode ini masih cukup sering
digunakan, terutama di dalam game dan
perjudian. Karena metode ini dianggap terlalu
lambat, pengaplikasiannya untuk statistika dan
kriptografi kurang begitu popular saat ini. Dasar

dari metode fisik adalah fenomena fisika atomik


atau subatomik acak yang tidak bisa diprediksi
dapat dilacak dengan menggunakan mekanika
kuantum.
2.2 Metode Distribusi Probabilitas
Metode ini menggunakan fungsi densitas
probabilitas. Metode ini bekerja cukup baik
untuk menghasilkan pseudo-random dan true
random number. Salah satu metode, yaitu
metode inverse, mengintegralkan area lebih dari
sama dengan bilangan acak. Metode kedua,
acceptance-rejection, memilih antara nilai x dan
y, lalu membandingkan apakah fungsi x lebih
besar dari nilai y. Apabila fungsi x lebih dari
nilai y, maka nilai x akan diterima. Jika
sebaliknya, maka nilai x akan ditolak dan
algoritmanya akan mencoba ulang.
2.3 Metode Komputasi
Metode ini menggunakan algoritma bernama
Pseudo-random number generator yang secara
otomatis menghasilkan serangkaian angka acak
yang memiliki kualitas baik. Nilai yang
dihasilkan oleh algoritma tersebut secara umum
ditentukan dengan sebuah konstanta yang
disebut seed. Salah satu PRNG yang umum
adalah linear congruential generator, yang
menggunakan rekurens dari persamaan Untuk
menghindari sifat non-acak yang muncul dari
linear congruential generator, beberapa random
number generator dengan koefisin nilai pengali
yang berbeda-beda dapat digunakan secara
paralel. Beberapa bahasa pemrograman memiliki
fungsi yang bersifat random number generator.
Fungsi-fungsi ini biasanya digunkan untuk
menghasilkan angka, kata, atau bilangan real
yang tersebar diantara 0 dan 1. Fungsi-fungsi
tersebut biasanya memiliki sifat statistika yang
buruk.
Biasanya
fungsi-fungsi
tersebut
diinisialisasi menggunakan real time clock
sebagai seed menyebabkan perhitungan yang
dilakukan di dalam millisecond dan sangat jauh
jika dibandingkan dengan presisi manusia.

Fungsi-fungsi tersebut memberikan hasil yang


cukup untuk beberapa tugas (contohnya video
game), tetapi tidak cocok digunakan saat tingkat
acak yang dibutuhkan sangat tinggi, seperti
aplikasi untuk kriptografi dan analisis numerik
dalam statistik. Salah satu contoh sederhana
pseudo-random number generator adalah metode
Multiplywith-carry yang ditemukan oleh George
Marsaglia. Program ini memiliki kecepatan dan
sifat acak yang cukup baik. Contoh random
number generator :
m_w = <choose-initializer>; /* must

random_seed = random_seed *
1103515245 +12345;

return (unsigned int)(random_seed /


65536) % 32768;
}

not be zero */
m_z = <choose-initializer>; /* must
not be zero */

uint get_random()
{

m_z = 36969 * (m_z & 65535) + (m_z


>> 16);

3.

Implementasi dan Pengujian

3.1 Implementasi
Pada penelitian ini, mesin akan menghasilkan
angka random dan menggerakkan objek Bola
secara acak. Objek bola akan bergerak
berdasarkan empat arah mata angin yakni atas,
bawah, kiri, dan kanan. Tiap tiap posisi akan
mengacu pada empat angka random (1-4) yang
di hasilkan. Angka 1 (satu) artinya bergerak ke
kiri, 2 (dua) ke kanan, 3 (tiga) ke atas, dan 4
(empat) ke bawah.

m_w = 18000 * (m_w & 65535) + (m_w


>> 16);

return (m_z << 16) + m_w; /* 32bit


result */
}

Contoh fungsi sederhana dalam Bahasa C :

int rand()

Gambar1 hasil dari random number generator


yang menggerakkan objek bola secara acak

permainan tersebut menjadi lebih menantang dan


lebih hidup.
Kesimpulan:

Gambar2.Berikut contoh algoritma dari


pembuatan game random move ball
3.2 Pengujian
Pengujian dilakukan dengan membandingkan
bilangan acak yang dihasilkan dari setiap
percobaan. Berikut tabel perbandingan random
number pada setiap percobaan :
Table 1 hasil percobaan random number
generator
Percobaan
Hasil bilangan acak
ke 313222233
1
1
321133223
2
1
122324241
3
3
431441233
4
2
244124312
5
2
Dari hasil penelitian diatas, terlihat bahwa
bilangan acak yang dihasil kan berbeda - beda
pada setiap percobaan. Hal ini membuktikan
bahwa dengan random number generator, user
tidak bisa menebak atau memprediksi angka
random yang akan dihasilkan oleh suatu mesin.
Sehingga keuntungan yang didapat jika
diterapkan
dalam
sebuah
permainan
menggunakan konsep random akan membuat

1. Random Number Generator pada


dasarnya merupakan sebuah mesin yang
memproduksi bilangan secara acak.
2. Dari segi outputnya, Random Number
Generator terdiri dari dua jenis yakni
Deterministic
RNG
dan
Nondeterministic RNG
3. Dalam implementasinya, ada beberapa
metode yang bisa digunakan antara lain
metode fisik, metode 2 Metode Distribusi
Probabilitas, dan Metode Komputasi

Daftar Pustaka

[1]
http://en.wikipedia.org/wiki/Random_number_g
eneration. Tanggal
akses : 21 Oktober 2014
[2]
Munir, Rinaldi, Slide Kuliah IF2091, Struktur
Diskrit, bagian
Teori Bilangan, 2014
[3]
http://en.wikipedia.org/wiki/Applications_of_ran
domness. Tanggal
akses : 21 Oktober 2014
[4]
http://id.wikipedia.org/wiki/Teori_bilangan.
Tanggal akses : 14
akses : 21 Oktober 2014

Anda mungkin juga menyukai