Subscribe
Add to Technorati Favourites
Add to del.icio.us
Minggu, 13 September 2009

Pembangkitan Beberapa Distribusi

Posted by nduk.nez.stat07

1. Uniform

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

2. Eksponensial

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

3. 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;

4. 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;

5. Weibull

Function Weibull (alfa,beta: double) : double;
Var u,z : double;
Begin
u := random;
z := -ln(u);
Weibull := beta * exp (ln(z)/alfa);
End;

6. 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.

Membangkitkan biLangan Acak

Posted by nduk.nez.stat07

Bilangan acak (random) banyak digunakan di dalam kriptografi. Misalnya untuk pembangkitan parameter kunci pada algoritma kunci-publik, pembangkitan initialization vector (IV) pada algoritma kunci-simetri, dan sebagainya. Bilangan acak yang dihasilkan dengan rumus-rumus matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulang kembali. Pembangkit deret bilangan acak semacam itu disebut pseudo-random number generator (PRNG)
Peubah Acak Uniform Diskret, peubah acak x mempunyai nilai x1, x2,..,xk dengan peluang yang sama. Fungsi distribusi peluang peubah acak uniform diskret f(x;k)=1/k, untuk x=x1, x2, … , xk Contohnya, peluang suatu angka pada mata dadu segi enam ialah sama yaitu 1/6.
Peubah Acak Uniform Kontinu
X merupakan peubah acak uniform selang (a, b) jika fungsi kepekatan peluangnya ialah f(x)=1/( a, b )
Contohnya, peluang seseorang menunggu kedatangan kereta api di stasiun pada selang jam 7.00 sampai jam 07.30 pagi dengan selang kedatangan kereta api 15 menit mulai jam 07.00.
Penggunaan Bilangan Acak Uniform
• Untuk mengalokasikan perlakuan-perlakuan dalam percobaan Statistika
• Untuk menentukan pemenang suatu undian
Pembangkitan Bilangan Acak Uniform
1. Konvensional
PemSecarabangkitan bilangan acak uniform secara sederhana dapat dilakukan dengan beberapa alat yaitu :
- Koin
- Dadu
- Bola dalam kantong
- Digit dari nomor telepon yang masuk pada suatu hari
Kelemahannya:
Ketidaksesuaian antara model dengan kenyataan, koin bisa jadi tidak seimbang, dadu bisa menimbulkan bias sehingga perlu dilakukan serangkaian uji.
2. Komputasi
Pembangkitan bilangan acak dengan komputasi dapat dilakukan dengan 2 metode yaitu :
• Pseudo random numbers
Metode ini dapat membangkitkan bilangan acak seragam dengan menggunakan formula rekursif
un+1= bagian pecahan dari (π + un)^5 atau
un+1=(π + un)^5 (mod 1)
dengan
n ≥ 0, nilai u0 terletak di antara 0 sampai 1 (0 < u0 < 1) yang merupakan nilai awal
metode ini biasanya digunakan untuk membangkitkan bilangan acak seragam pada kalkulator.
Bilangan acak yang dihasilkan dengan rumus tersebut adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulang kembali.
Algoritmanya:
• Tentukan nilai U0 sebagai nilai awal, 0<1
• Hitung U1 dengan formula, U1=(π+U0)^5 (mod 1), n≥0
• Ulangi langkah kedua dengan menghitung Un+1=(π+Un)^5 (mod 1), n≥0 sampai diperoleh bilangan acak sebanyak yang diinginkan
kemungkinan siklus maksimum dari metode ini dengan panjang m diperoleh jika dan hanya jika memenuhi hubungan sebagai berikut:
a. b dan m tidak punya faktor selain satu
b. (a – 1) dapat dibagi dengan semua faktor prima dari m
c. (a – 1) adalah kelipatan 4 jika m adalah kelipatan 4
d. m > maks(a, b, x0)
e. a > 0, b > 0
Untuk b = 0, panjang siklus maksimum yang dapat diperoleh ialah 2k-2.
Keunggulan metode pembangkitan ini terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit.
Kriteria bilangan acak yang baik untuk metode ini ialah mempunyai siklus yang terpanjang dan mempunyai korelasi yang rendah antar pengamatan yang berurutan. Pendekatan korelasi antara xn dan xn+1 ialah:
Algoritma pembangkitan bilangan acak dengan metode congruential pseudo-random number generator:
• Tentukan nilai x0 sebagai nilai awal, a, b, dan m
• Hitung x1 dengan formula, x1=(ax0+b) (mod m)
• Ulangi langkah kedua dengan menghitung xn+1=(axn+b) (mod m) sampai diperoleh bilangan acak sebanyak yang diinginkan.ini adalah beberapa informasi yang sya dapat internet.

Sabtu, 05 September 2009

Contoh ApLikasi Simulasi

Posted by nduk.nez.stat07

Pendugaan Nilai π (phi)

Dalam perhitungan matematika, kita seringkali menggunakan bilangan dengan simbol π. Bilangan ini digunakan untuk perhitungan bangun datar lingkaran. Misalnya untuk mencari luas lingkaran dan keliling lingkaran.
Sejak pertama kali dikenalkan kepada kita ketika masih berada di sekolah dasar, nilai π ini diasumsikan sama dengan atau 3,14. Dimana kedua nilai ini merupakan bilangan rasional (bilangan yang dapat diubah ke dalam bentuk pecahan).
Namun, ternyata setelah dipelajari lebih lanjut, ternyata nilai π ini bukan merupakan bilangan rasional. Untuk bisa menduga berapa sebenarnya nilai dari bilangan π.
Untuk menduga nilai π ini, kita bisa menggunakan cara berpikir yang sederhana sebelum kita menuangkannya dalam bentuk program computer.
Misalkan saja dalam sebuah papan tulis hitam (blackboard), kita menggambarkan sebuah persegi yang didalamnya berisi sebuah lingkaran dan lingkaran tersebut menyinggung sisi dari persegi. Dengan kata lain, sisi persegi = diameter lingkaran. Untuk lebih jelasnya bisa dilihat pada gambar berikut :



Dari kejauhan kita melemparkan kapur tulis ke papan tulis selama n kali. Kemudian bisa hitung berapa kapur yang jatuh pada lingkaran (m) dan yang jatuh pada persegi (n). Dari nilai m dan n yang didapatkan ini, bisa diperoleh nilai π dengan menggunakan persamaan:


Jika persamaan tersebut kita terjemahkan dalam bahasa pemograman dengan algoritma :
1. Mulai
2. i = 0
3. i = i+1
4. Bangkitkan 1000 titik
x ~ U(0,1)
y ~ U(0,1)
5. π = 4*(m/n)
6. jika i<1000 pergi ke 3
7.

8. Tulis π
9. Selesai

Sebagai orang Statistika, sering sekali kita mendengar kata varians. Dalam Statistika, rumus varians yang diambil dalam sampel berbeda dengan nilai varians dalam populasi. Hal ini karena sampel masih merupakan dugaan dari populasi, jadi bisa saja nilai varians sampel berbeda dengan nilai varians populasi. Jika kita ingin bisa melihat perbedaan dan bias yang dimiliki kedua varians tersebut, kita bisa menggunakan algoritma seperti di bawah ini :
1. Mulai
2. Bangkitkan data x ~ N(60,1) sebanyak 100 sebagai populasi
3.Ambil n sampel sebanyak 10
Hitung :

4. Lakukan 3 sebanyak 1000 kali
5. Hitung bias S12 dan S22 dan bandingkan
6. Selesai

Jumat, 28 Agustus 2009

Pengantar Simulasi

Posted by nduk.nez.stat07

Apakah Simulasi itu?....

Simulasi adalah manipulasi sebuah sistem yang ada di dunia riil yang digambarkan dalam sebuah model sedemikian rupa sehingga model tersebut bekerja dalam ruang dan waktu.
Untuk dapat membuat simulasi, sebelumnya harus bisa mengamati sistem yang akan disimulasikan. Sistem dapat dipelajari dengan pengamatan langsung atau pengamatan pada model dari sistem tersebut. Model dapat diklasifikasikan menjadi 2, yaitu model fisik dan model matematik. Model matematik ada yang dapat diselesaikan dengan solusi analitis, ada yang tidak. Bila solusi analitis sulit didapatkan maka digunakan SIMULASI.
Lebih jelasnya dapat dilihat pada bagan di bawah ini :



Simulasi merupakan satu-satunya solusi jika

  1. Sistem yang ada di dunia nyata amat sulit untuk diamati secara langsung
  2. Sistem terlalu kompleks, sehingga tidak dapat digunakan solusi secara analitik
  3. Pengamatan secara langsung terhadap sistem tidak dapat dilakukan karena mahalnya biaya, butuh waktu yang cukup lama atau dapat merusak sistem yang sedang berjalan
Meskipun simulasi dapat menggambarkan keadaan yang sebenarnya dengan model, namun simulasi juga mempunyai kelemahan, antara lain :
  1. Simulasi tidak akurat
  2. Model simulasi yang baik bisa jadi sangat mahal, bahkan sering dibutuhkan waktu bertahun-tahun untuk mengembangkan model yang sesuai
  3. Tidak semua situasi dapat dievaluasi dengan simulasi. Hanya situasi yang mengandung ketidak-pastian yang dapat dievaluasi dengan simulasi. Karena tanpa komponen acak semua eksperimen simulasi akan menghasilkan jawaban yang sama
  4. Simulasi menghasilkan cara untuk mengevaluasi solusi, bukan menghasilkan cara untuk memecahkan masalah. Jadi sebelumnya perlu diketahui dulu solusi atau pendekatan solusi yang akan diuji.
Contoh Aplikasi dari Simulasi ini antara lain :
  1. Simulasi antrian layanan bank
  2. Simulasi perang
  3. Pengaturan dalam sistem inventory/persediaan