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. Dari definisi tersebut dapat
ditarik tiga pokok pengertian, yaitu sebagai berikut:
1
Urutan (Sequence)
Yang dimaksudkan dengan sequence adalah bahwa random
number tersebut harus dapat dihasilkan
secara urut dalam jumalh yang mengikuti algoritma tertentu dan sesuai dengan
distribusi yang akan terjadi atau yang dikehendaki.
2
Distribusi
(Distribution)
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 (Distribusi Uniform).
Seperti pada random sequence X1,X2,X3,… dan pada
setiap random sequence ini masing-masing mempunyai X1,X2,X3,… yang merupakan
subsequence yang berhubungan 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
Random
Random menunjukkan bahwa algoritma tersebut akan menghasilkan
suatu angka yang akan berperan dalam pemunculan angka yang akan keluar dalam
proses di komputer. Dengan kata lain suatu angka yang diperoleh merupakan angka
penentu bagi angka random berikutnya. Demikianlah seterusnya. Tetapi walaupun
angkanya berkaitan namun angka yang muncul dapat berlainan.
3.2
DESKRIPSI
RANDOM NUMBER
Dalam penentuan random number pada umumnya terdapat
beberap sumber yang dipergunakan, antara lain:
a)
Tabel Random Number
b)
Electronic Random Number
c)
Congruential Pseudo Random Number Generator
RN Generator ini yang sering digunakan pada penarikan random number pada
komputer, dengan sifat-sifatnya sebagai berikut:
1)
Independent
Pengertian independent ini berarti masing-masing komponen atau
variabel-variabelnya harus bebas dari ketentuan-ketentuan tersendiri.
2)
Uniform
Pengertian uniform disini merupakan suatu distribusi yang umum yaitu
distribusi probabilitas yang sama untuk semua besaran yang dikeluarkan/diambil.
Ini berarti probabilitasnya diusahakan sama untuk setiap penarikan random
number tersebut.
3)
Dense
Maksud dari dense disini adalah Density Probability Distribution yang
tentunya harus mengikuti syarat probabilitas yaitu terletak antara 0 dan 1
(0≤RN≤1).
4)
Efficient
Pengertian efisinsi disini adalah dalam penarikan random number tersebut
harus dapat menentukan angka-angka untuk variabelnya yang sesuai sehingga dapat
berjalan terus menerus.
RN Generator ini terdiri dari tiga bagian, yaitu:
1)
Additive (Arithmatic) Random Number Generator
2)
Multiplicative Random Number Generator
3)
Mixed Congruential Random Number Generator
3.3
PENYELESAIAN
RNG
Pada Congruential Pseudo Random Number Generator dapat
dijelaskan untuk masing-masing formula(rumus) sebagai berikut:
1
Additive
(Arithmatic) RNG
Bentuk rumus Additive (Arithmatic) RNG adalah:
Zi+1 = (a.Zi + c) mod m
Keterangan:
Zi+1 =
Random Number baru
Zi =
Random Number semula
m = Angka
modulo
c = 0
a,m > 1
Pemilihan tiga variabel yang menentukan dalam Multiplicative
RNG adalah:
a) Pemilihan
nilai modulo m
Merupakan suatu angka integer yang cukup besar yang ditentukan dari
panjangnya bits dari jenis komputer.
Contoh:
Komputer IBM 360/370 dengan 32 bits
m= 2^(32-1)=2^31=2147483648
Komputer IBM 1130/1800 dengan 16 bits
m= 2^(16-1)=2^15=32768
Mikrokomputer dengan 8 bits
m= 2^(8-1)=2^7=128
- Komputer IBM 360/370 dengan 32 bits
- m= 2^(32-1)=2^31=2147483648
- Komputer IBM 1130/1800 dengan 16 bits
- m= 2^(16-1)=2^15=32768
b) Pemilihan konstanta multiplier a
Pemilihan nilai a harus bilangan ganjil dan prima. Pemilihan terbaik adalah dengan rumus
a=2^(panjang bits/2)+3
Contoh:
• Komputer IBM 360/370 dengan 32 bits
a= 232/2+3=216+3=65536+3=65539
• Komputer IBM 1130/1800 dengan 16 bits
a= 216/2+3=28+3=256+3=259
• Mikrokomputer dengan 8 bits
a= 28/2+3=24+3=16+3=19
c) Pemilihan nilai Z0
Dapat diambil sembarang bilangan integer yang cukup besar dan ganjil.
Contoh:
Bila digunakan mikrokomputer dengan 8 bits, maka m = 128, a = 19, c = 237, dan Z0 = 12357. Tentukan random number dengan Additive (Arithmatic) RNG!
Zi+1 = (a.Zi + c) mod m
Z_1=(19x12357+237)mod 128
Z1=(234783+237)mod 128
Z1=235020 mod 128
Z1=12 =>R_1=12/128=0,09375
Z2=(19x12+237)mod 128
Z2=(228+237)mod 128
Z2=465 mod 128
Z2=81 =>R_2=81/128=0,6328125
Z3=(19X81+237)mod 128
Z3=(1539+237) mod128
Z3=1776 mod 128
Z3=112 =>R_3=112/128=0,875
Z4=(19x112+237)mod 128
Z4=(2128+237)mod 128
Z4=2365 mod 128
Z4=61 => 12/128= 0,4765625
4.1 Pembangkit Random Variate Diskrit
Suatu random variate diartikan sebagai nilai suatu random variabel yang mempunyai distribusi tertentu. Pendekatan yang umumnya digunakan adalah:
1. Inverse Transformation
2. Composition
3. Convulotion
4. Acceptance-Rejection
Yang akan di bahas di bab ini adalah pengambilan random variate dengan Inverse Transformation Method dengan cara mengambil random variate dari beberapa distribusi yang berbeda-beda fungsinya harus terlebih dahulu melalui Cummulative Distribution Function (CDF) dari suatu random variabel.
Prosedur untuk membangkitkan random variate jika fungsi distribusinya diskrit:
1) Pilihlah random number dari rumus Pseudo Random Number (Bab 3),
0<Ri<1, i=1,2,3,…
2) Tentukan Cummulative Distribution Function (CDF)
3) Gambarkan grafik Cummulative Distribution Function
4) Buat tabel simulasi untuk menentukan random variate
5) Tentukan random variate
5.1 Pembangkit Random Variate Kontinu
Prosedur untuk membangkitkan random variate jika fungsi distribusinya kontinu hampir sama dengan prosedur pada fungsi distribusi diskrit.
Contoh:
Tentukan random variate distribusi kontinu melalui fungsi matematis berikut:
f(x)= ( 0 ; untuk x yang lain)^( 2x ; untuk 0≤x≤1)