---------------------------------------------------------------------------------------------------
BAHASA PASCAL
---------------------------------------------------------------------------------------------------
program rng;
uses crt;
var
a, b, c, d, e, f: integer;
i: integer;
j1, j2, r, v: real;
u: real;
begin
a:= 450;
b:= 23416;
c:= 6720;
for i:= 1 to 1000 do
begin
d:= 171 * (a mod 177) - 2 * (a div 177);
e:= 172 * (b mod 176) - 2 * (b div 176);
f:= 173 * (c mod 178) - 68 * (c div 178);
if (d < 0) then d:= d + 30269;
if (e < 0) then e:= e + 30307;
if (f < 0) then f:= f + 30323;
u:= d / 30269 + e / 30307 + f / 30323;
u:= u - int(u);
write(u:0:10);
write(' ');
j1:= j1 + u;
j2:= j2 + (u * u);
r:= j1 / 1000;
v:= (j2 / 1000) - (r * r);
a:= d;
b:= e;
c:= f;
end;
writeln;
writeln('Rata - rata = ', r:0:10);
writeln('Varian = ', v:0:10);
readln;
end.
-------------------------------------------------------------------------------------------------
BAHASA c
-------------------------------------------------------------------------------------------------
#include <conio.h>
#include <iostream.h>
#define Modlus 2147483647
#define Mult1 24112
#define Mult2 26143
#define B2E15 32768
#define B2E16 65536
long zrng[]=
{ 1973272912 /*,281629770, 20006270, 1280689831, 2096730329, 1933576050,
913566091, 246780520,1363774876, 604901985, 1511192140, 1259851944,
824064364, 150493284, 242708531, 75253171, 1964472944, 1202299975,
233217322, 1911216000, 726370533, 403498145, 993232223, 1103205531,
762430696, 1922803170,1385516923, 76271663, 413682397, 726466604,
336157058, 1432650381,1120463904, 595778810, 877722890, 1046574445,
68911991, 2088367019, 748545416, 622401386, 2122378830, 640690903,
1774806513, 2132545692, 2079249579, 78130110, 852776735, 1187867272,
1351423507, 1645973084, 1997049139, 922510944, 2043512870, 898585771,
243649545, 1004818771, 773686062, 403188473, 372279877, 1901633463,
498067494, 2087759558, 493157915, 597104727, 1530940798, 1814496276,
536444882, 1663153658, 855503735, 67784357, 1432404475, 619691088,
119025595, 880802310, 176192644,1116780070, 277854671, 1366580350,
1142483975, 2026948561, 1053920743, 786262391, 1792203830, 1494667770,
1923011392, 1433700034, 1244184613,1147297105, 539712780, 1545929719,
190641742, 1645390429, 264907697, 620389253, 1502074852, 927711160,
364849192, 2049576050, 638580085, 547070247*/ };
float rand(long stream)
{
long lowprd,hi31,hi15,low15,ovflow ;
long z ;
z=zrng[stream];
hi15=z / B2E16;
lowprd=(z - hi15 * B2E16) * Mult1;
low15=lowprd / B2E16;
hi31=hi15* Mult1 + low15;
ovflow=hi31 / B2E15;
z=((lowprd - low15 * B2E16)- Modlus) + ((hi31 - ovflow * B2E15) * B2E16) + ovflow;
if (z<0) z= z + Modlus;
hi15=z / B2E16;
lowprd=(z - hi15 * B2E16) * Mult2;
low15=lowprd / B2E16;
hi31=hi15 * Mult2 + low15;
ovflow=hi31 / B2E15;
z=((lowprd - low15 *B2E16) - Modlus) + ((hi31 - ovflow * B2E15) * B2E16) + ovflow;
if (z<0) z = z + Modlus;
zrng[stream] = z;
return( (2 * (z / 256) + 1)/16777216.0);
}
int main()
{
int i,n;
float u,jlh,jlh2,rata;
float varian;
cout<<"Program Pembangkit Bilangan Acak"<<endl;
cout << "Masukkan banyak bilangan acak = ";
cin>>n;
jlh=0;
jlh2=0;
cout<<"--------------------------------"<<endl;
cout<<"NO | Bilangan Acak "<<endl;
cout<<"--------------------------------"<<endl;
for (i=1;i<=n;i++)
{
u=rand(0);
cout<<i<<" "<<u<<endl;
jlh=jlh+u;
jlh2=jlh2+(u*u);
}
rata=jlh/n;
varian=(jlh2/n)-(rata*rata);
cout<<"rata-rata = "<<rata<<endl;
cout<<"Varian : "<<varian;
getch();
}
=============================================
= Program Pembangkit Bilangan Acak =
= Masukkan banyak bilangan acak = 1000 =
= rata-rata = 0.514131 =
= Varian : 0.0833642 =
=============================================