PEMBANGKIT RANDOM NUMBER BAB III PEMBANGKIT RANDOM NUMBER
3.1. Random Number Generator 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.
1. Sequence atau Urutan Yang dimaksudkan dengan sequence disini adalah bahwa random number tersebut harus dapat dihasilkan secara urut dalam jumlah yang mengikuti algoritma tertentu dan sesuai dengan distribusi yang akan terjadi atau yang dikehendaki.
2. Distribution atau distribusi Pengertian distribusi berhubungan dengan distribusi probabilitas yang dipergunakan untuk meninjau atau terlibat langsung dalam penarikan random number tersebut. Pada umumnya distribusi probabilitas untuk random number ini adalah Uniform Variate yang dikenal dengan Distribusi Uniform.
2. Distribution atau distribusi Seperti pada random sequence X1, X2, ……., Xn dan pada setiap random sequence ini masing-masing mempunyai X1, X2, ………, Xn yang merupakan subsequence yang berhu-bungan tetapi terpisah satu dengan lainnya, yang dikenal dengan Jointly Independent, dan masing-masing juga mempunyai probabilitas distribusi uniform antara 0 dan n (0,n). Bila sequence ini terputus maka akan merusak atau mengurangi arti dari kegiatan simulasi yang berjalan.
3. Muncul Angka-Angka secara Random Pengertian random disini menunjukkan bahwa algoritma tersebut akan menghasil-kan suatu angka yang akan berperan dalam pemunculan angka yang akan keluar dalam proses komputer. Dengan kata lain suatu angka yang diperoleh merupakan angka penentu bagi angka random berikutnya. Demikian seterusnya. Walaupun random number ini saling berkaitan namun angka-angka yang muncul dapat berlainan.
3.2. Deskripsi Random Number Dalam penentuan random number pada umumnya terdapat beberapa sumber yang dipergunakan, antara lain: Tabel random number, tabel random number ini sudah banyak ditemukan mulai dari 6 digit sd. 12 digit. Electronic Random Number, Electronic random number ini juga banyak digunakan dalam penelitian.
3.2. Deskripsi Random Number c. Congruential Pseudo Random Number Generator, Random Number Generator ini terdiri dari 3 bagian: Additive (Arithmatic) Random Number Generator. Multiplicative Random Number Generator. Mixed Congruential Random Number Generator.
Di dalam penarikan random number pada komputer, yang sering digunakan adalah Congruential Pseudo Random Number Generator dengan sifat-sifatnya yang terpenting adalah: Independent Uniform Dense Efficient
1. Independent Pengertian independent ini berarti masing-masing komponen atau variabel-variabelnya harus bebas dari ketentuan-ketentuan tersendiri seperti: Zi – 1 = merupakan hasil akhir Z0 = merupakan angka pertama yang bebas tertentu a = merupakan angka konstan yang dapat bebas dengan ketentuan- ketentuannya sendiri c = merupakan angka bebas tetapi tidak ada hubungan tertentu dengan m (modulo)
2. Uniform Pengertian uniform di sini merupakan suatu distribusi yang umum yakni distribusi probabilitas yang sama untuk semua besaran yang dikeluarkan/diambil. Ini berarti probabilitasnya diusahakan sama untuk setiap penarikan random number tersebut.
3. Dense Pengertian dense di sini adalah Density Probabilitas Distribution yang tentunya harus mengikuti syarat probabilitas yaitu terletak antara 0 dan 1. Ini berarti dalam penarikan angka-angka yang dibutuhkan dari Random Number Generator cukup banyak dan dibuat sedemikian rupa sehingga 0 ≤ R.N. ≤ 1.
4. Efficient Pengertian efisiensi di sini diaksudkan cukup sederhana dan dalam menggunakan cara ini harus terlebih dahulu memilih angka-angka untuk variabel-variabelnya yang cocok. Ini berarti dalam penarikan random number tersebut harus dapat menentukan angka-angka untuk variabelnya yang sesuai sehingga dapat berjalan terus menerus.
3.3. Penyelesaian R.N.G. Pada Congruential Pseudo Random Number Generator dapat dijelaskan untuk masing-masing formula/rumus sebagai berikut: Additive/Arithmatic RNG Multiplicative RNG Mixed Pseudo RNG
1. Additive/Arithmatic RNG Bentuk rumusnya: Zi = (a . Zi + c) mod m Dengan : Zi = Angka Random Number yang baru Zi – 1 = Angka Random Number yang lama c = Angka konstan yang bersyarat. m = Angka modulo
Bagi additive RNG ini diperlukan perhatian syarat-syaratnya sebagai berikut: Konstan a harus lebih besar dari √m dan biasanya dinyatakan dengan syarat:
b. Untuk konstan c harus berangka ganjil apabila m bernilai pangkat 2 b. Untuk konstan c harus berangka ganjil apabila m bernilai pangkat 2. Tidak boleh nilai kelipatan dari m. c. Untuk modulo m harus bilangan prima atau bilangan, sehingga memudahkan dan memperlancar perhitungan-perhitungan di dalam komputer dapat berjalan dengan mudah dan lancar. d. Untuk pertama Z0 harus merupakan angka integer dan juga ganjil dan cukup besar.
2. Multiplicative RNG Bentuk rumusnya: Zi + 1 = (a . Z) mod m Dengan: Zi = Angka random number semula Zi + 1 = Angka random number yang baru a > 1 ; c = 0 ; m > 1 Syarat-syarat lainnya adalah sama dengan additive RNG
Dalam perumusan multiplicative ini terdapat 3 variabel yang menentukan untuk nilai-nilai Random Number yang dapat diperoleh seterusnya dengan tidak ada pengulangan pada angka-angkanya. Dan untuk pemilihan nilai-nilai yang terbaik dijabarkan sbb: Pemilihan nilai. Pemilihan konstanta multiplier. Pemilihan untuk Z0. Pemilihan untuk bilangan c
Pemilihan nilai : m (modulo) merupakan satu angka integer yang cukup besar dan merupakan satu kata (word) dari yang dipakai pada komputer. Contoh: Dalam komputer IBM 360/370 sistem sebuah kata adalah 32 bits panjangnya, berarti angka integer yang terbesar dalam satu kata komputer (komputer words) adalah: 232-1 – 1 = 231 – 1 = 2.147.483.648 – 1 = 2.147.483.647
Maka nilai m harus lebih satu integer, atau: = 231 = 2.147.483.648. Hal ini akan menjadikan mesin komputer hanya dapat tertinggi dengan integer m – 1 dan apabila produk-produknya lebih besar dari nilai-nilai ini akan mengakibatkan overflow atau hang.
a. Pemilihan konstanta multiplier : a harus tepat. Pemilihan nilai a harus bilangan prima terhadap m. a juga harus bilangan ganjil (odd number). Pemilihan yang terbaik adalah dengan rumus yang lebih mendekati ketepatan. Contoh: Untuk sistem IBM 1130/1800 dengan : 16 bits akan diperoleh a = 2 16/2 ± 3 = 28 ± 3 = 256 ± 3 = 259
c. Pemilihan untuk Z0, yang dikenal dengan: SEED = Z0 mengharuskan relative belakangan prima terhadap m. Hal ini dapat diperhatikan dengan mudah apabila dicari untuk m adalah angka berpangkat 2 (dua) angka explorer dari angka 2. Dengan demikian untuk Z0 adalah setiap angka-angka yang ganjil (odd number) seperti : ISEED = Z0 = 12357 dapat diambil sembarang asalkan bilangan ganjil, dan biasanya cukup besar.
d. Bilangan c yang dipilih harus bukan merupakan kelipatan dari m dan harus ganjil Contoh: 1 = arithmatic Rumus : Zi + 1 = (a Zi + c) mod m Bila digunakan mikrokomputer 8 bits, Maka : Z0 =12357 a = 28/2 ± 3 = 24 ± 3 = 16 + 3 = 19
m = 28-1 = 27 = 128 c = 237 Operasi modulo = Random Number Z1 = (19 x 12357 + 237) mod 128 = 235020 mod 128 = 12 R1 = 12/128 = 0,09375 Z2 = (19 x 12 + 237) mod 128 = 465 mod 128 = 81 R2 = 81/128 = 0,6328
Z3 = (19 x 81 + 237) mod 128 = 1776 mod 128 = 112 R3 = 112/128 = 0,875 Z4 = (19 x 112 + 237) mod 128 = 2365 mod 128 = 61 R4 = 61/128 = 0,4765 Dst.
3. Mixed Pseudo RNG Pseudo Random Number ini dapat dirumuskan dengan: Dengan: C = bilangan relatif prima terhadap n a = 1 (mod q) untuk setiap faktor prima q terhadap n a = 1 (mod 4) apabila 4 adalah suatu faktor dari m.
3. Mixed Pseudo RNG Pseudo Random Number ini dapat dirumuskan dengan: Rumus Pseudo Random Number Generator ini adalah dengan syarat utama n harus sejumlah bilangan integer (bulat) dan lebih besar dari nol, rumus ini dikenal dengan nama “Linear Congruential RNG”
b. Namun apabila nilai C = 0, maka akan diperoleh rumus Multiplicative Congruen RNG. c. Kondisi 1 berarti bahwa pembagi umum terbesar dari c dan m adalah 1, dan kondisi ini mudah dicapai. d. Kondisi 2 berarti a – q (a/q) = 1 apabila k = (a/q) akan didapat a. a = 1 + qk dimana q adalah faktor prima dari m. e. Kondisi 3 berarti a = 1 + 4k apabila m/4 adalah integer artinya m bilangan bulat dapat dibagi 4.