Senin, 14 September 2009

Fungsi Pembangkit Variabel Random

36


Fungsi Distribusi Uniform

Function Uniform (a,b : double) : double;
Var u : double;
Begin
u := random;
Uniform := (b-a) * u + a;
End;

Fungsi Distribusi Eksponensial

Function Eksponensial (beta : double) : double;
Var u : double;
Begin
u := random;
Eksponensial := -beta * ln(u);
End;

Fungsi Distribusi Normal

Procedure Normal (mean,variance : double ; Var z1,z2 : double);
Var u1,u2,v1,v2,w,y,x1,x2 : double;
Begin
Repeat
u1 := random;
u2 := random;
v1 := 2 * u1 – 1;
v2 := 2 * u2 – 1;
w := sqr(v1) + sqr(v2);
if w <= 1 then
begin
y := sqrt ((-2*ln(w))/w);
x1 := v1 * y;
x2 := v2 * y;
z1 := sqrt (variance) * x1 + mean;
z2 := sqrt (variance) * x2 + mean;
end
Until w <= 1;
End;
Procedure Distribusi Lognormal procedure lognormal (mean,varr : double; Var zln1,zln2 : double);
Var y1, y2 : double;
begin
Normal (mean,varr,y1,y2);
zln1 := exp(y1);
zln2 := exp(y2);
end;
Fungsi Distribusi Weibull Function Weibull (alfa,beta: double) : double;
Var u,z : double;
Begin u := random;
z := -ln(u);
Weibull := beta * exp (ln(z)/alfa);
End;
Fungsi Distribusi t-student function tdistribution(m:integer):double;
Label r2;
Var v,x,r,s,c,a,f,g,mm : real;
begin mm:=0;
if m < 1 then begin writeln('impermissible degrees of freedom.'); halt;
end;
if (m mm) then begin s:=m; c:=-0.25*(s+1);
a:=4/power((1+1/s),c);
f:=16/a;
if m>1 then
begin
g:=s-1;
g:=power(((s+1)/g),c)*sqrt((s+s)/g);
end else
g := 1;
mm:=m;
end;
r2:repeat
r:=random;
until r > 0.0;
x:=(2*random-1)*g/r;
v:=x*x;
if (v>(5-a*r)) then
begin
if ((m>=3) and (r*(v+3)>f)) then goto r2;
if (r>power((1+v/s),c)) then goto r2;
end;
tdistribution :=x;
end;
begin
tipe11[1]:=0.2;
tipe11[1]:=0.3;
tipe11[1]:=0.5;
tipe11[1]:=0.8;
tipe11[1]:=1.0;
end.

Sabtu, 12 September 2009

Margareth Giovannie Shari (1307100026): MATERI PERTEMUAN KULIAH SIMULASI DI MINGGU KETIGA

0

Margareth Giovannie Shari (1307100026): MATERI PERTEMUAN KULIAH SIMULASI DI MINGGU KETIGA

MATERI PERTEMUAN KULIAH SIMULASI DI MINGGU KETIGA

0

Pada minggu ketiga perkuliahan Teknik Simulasi ini, dibahas tentang materi PEMBANGKITAN BILANGAN ACAK PSEUDO-RANDOM GENERATION. Apa arti dari pseudo sebenarnya? Pseudo berabrti semu. Mengapa disebut dengan pseudo..??? Karena barisan bilangan yang terbentuk atau dihasilkan melalui sebuah formula atau rumus. Rumus yang digunakan untuk mencari barisan bilangan ini adalah sebagai berikut:
Xn = axn-1 modulo m
Contoh:
a=2
m=5
X0=3
X1 = 2(3) modulo 5 = 1
X2 = 2(1) modulo 5 = 2
X3 = 2(2) modulo 5 = 4
X4 = 2(4) modulo 5 = 3

MATERI PERTEMUAN KULIAH SIMULASI DI MINGGU KEDUA

0

Pada pertemuan minggu kedua ini, dibahas mengenai contoh sederhana dari penerapan teknik simulasi. Simulasi dapat digunakan untuk mencari nilai dari phi (π). Metode yang digunakan untuk mencari nilai phi ini adalah metode percobaan random. Digunakan metode ini karena phi (π) bukanlah bilangan rasional. Mencari nilai phi ini dapat dilakukan dengan menggunakan program-program yang ada, seperti Pascal dan Delphi. Berikut adalah contoh program untuk mencari nilai phi dengan menggunakan program Delphi:
Algoritma yang akan dilakukan adalah sebagai berikut:
1. Mulai
2. i = 0
3. i = i+1
4. Bangkitkan 10000 titik
x~ U(0,1)
y~ U(0,1)
5. πi = 4 *m/n
6. Jika i < 1000 maka kembali ke langkah 3
7. π = πi/1000
8. Tulis π
9. Selesai.
Setelah menetukan algoritmanya, kemudian dimasukkan ke dalam program Delphinya:
Program phi;
Uses wincrt;
Var x,y,p,s:real;
J,I,m,n:integer;
Begin;
s:=0;
for j:=1 to 1000 do
begin
randomize;
n:=10000; m:=0;
for i:=1 to n do
begin
x:=random;
y:=random;
if(x*x+y*y)<=1 then m:=m+1;
end;
p:=4*m/n;
s:=s+p;
p:=s/1000;
writeln(p);
end;
end.

Selain untuk mencari nilai phi, simulasi pun dapat digunakan untuk mencari nilai dari varians. Langkah-langkah yang harus dilakukan adalah sebagai berikut:
Algoritma yang digunakan:
1. Mulai
2. Bangkitkan x~N(0,1) sebanyak 100 sebagai populasi
3. Ambil n sampel sebanyak 10 kemudian hitung:
S12 = (xi-x)2/n
S22 = (xi-x)2/(n-1)
4. Lakukan seperti no.3 sebanyak 1000 kali
5. Hitung bias dari s12 dan s22 kemudian bandingkan
6. Selesai.