Hai hai semua ^_^ Aye Admin K. Kali ini aye akan membahas tentang Random Number Generator atau biasa disingkat RNG. Random Number Generator adalah suatu alat yang digunakan untuk menghasilkan angka secara acak. Kita sering menemukan RNG dalam berbagai program komputer misal pada video game, RNG digunakan untuk menentukan musuh yang muncul dalam game RPG (seperti Pokemon, Digimon, dll), menentukan hasil gacha, atau misal berkaitan dengan keakuratan senjata/jurus dalam game, dan lain-lain yang berkaitan dengan chance. Selain pada video game, RNG juga sering digunakan dalam software penelitian seperti simulasi, algoritma pencarian mungkin juga bisa menggunakan RNG, dan lain-lain.
Komputer sebenarnya tidak bisa menghasilkan angka secara acak. Yang bisa dilakukan oleh komputer hanya menghitung sesuai dengan yang diprogramkan. Adapun, untuk membangkitkan angka acak, komputer menggunakan algoritma yang mampu menghasilkan angka yang tampak acak bagi manusia. Jadi, sebenarnya komputer hanya mampu menghasilkan angka acak palsu atau pseudorandom yang terlihat seolah-olah acak padahal ada algoritma yang sifatnya deterministik di baliknya.
Salah satu algoritma pembangkit angka acak (RNG) adalah algoritma RNG Cliff. Algoritma ini bekerja dengan cara memilih angka secara manual oleh manusia sebagai nilai awal antara 0 sampai 1. Angka awal ini disebut seed (benih) karena angka ini digunakan untuk men-generate "angka acak" selanjutnya dengan menggunakan formula iterasi sebagai berikut.
Sebagai contoh, misalkan seed-nya adalah
Maka diperoleh angka acak berikutnya adalah
Masukkan nilai awal, diperoleh
Selanjutnya, hitung nilai logaritmanya, diperoleh
Hasil logartimanya kalikan 100, diperoleh
Karena 136 mod 1 = 0, maka
Kurangkan, diperoleh
Ambil bagian pecahan karena mod 1
Hilangkan nilai mutlak karena nilainya positif
Jadi, angka acak berikutnya yang dihasilkan dari seed adalah 0.7900584083511.
Untuk iterasi selanjutnya, diperoleh
(silakan diperiksa sendiri ya)
Nah, seperti itulah kira-kira simulasinya. Kalian bisa melanjutkan iterasi lagi dan lagi untuk memperoleh angka acak berikutnya.
Eits, tidak hanya sampai disitu saja. Di postingan ini, aye juga menyediakan RNG dengan algoritma ini yang bisa kalian gunakan di bawah untuk simulasi. Silakan kalian isi seed sesuka hati kalian =D
Okey, sekian postingan dari aye. Semoga bermanfaat dan kalian enjoy dengan postingan ini. Kalo ada tambahan, pertanyaan, atau koreksi, silakan curahkan semuanya di kolom komentar. Sampai jumpa di postingan selanjutnya. Bye~
Ref: https://mathworld.wolfram.com/CliffRandomNumberGenerator.html
No comments:
Post a Comment