Anda di halaman 1dari 5
Model simulasi harus merefleksikan sifat-sifa t penting sistem nyata. Untuk menjelaskan proses pemodelan akan digunakan

Model simulasi harus merefleksikan sifat-sifat penting sistem nyata. Untuk menjelaskan proses pemodelan akan digunakan percobaan jarum Buffon.

Percobaan Disimulasikan

Percobaan Jarum Buffon. Jarum sepanjang l dijatuhkan secara acak pada bidang yang memuat sekumpulan garis paralel dengan jarak antar garis d, yang dapat direpresentasikan keramik lantai (lihat Gambar 1). Panjang jarum diasumsikan lebih kecil atau sama dengan jarak antar garis paralel. Jika percobaan menjatuhkan jarum dilakukan secara berulang-ulang, probabilitas (p) jarum akan menyentuh atau memotong garis dapat diperoleh dari hasil bagi jumlah jarum menyentuh atau memotong garis (NI) dibagi dengan jumlah percobaan (NT), atau P = NI/NT. Dilihat dari prosedurnya, percobaan jarum Buffon adalah simulasi Monte Carlo, karena kita menggunakan angka acak dan sampel acak untuk memperkirakan hasil percobaan.

acak da n sampel acak untuk memperkirakan hasil percobaan. Gambar 1. Bidang percobaan jarum Untuk mensimulasikan

Gambar 1. Bidang percobaan jarum

Untuk mensimulasikan percobaan ini, kita harus dapat menempatkan jarum secara acak, relatif terhadap garis. Dalam percobaan fisik, hal ini tidak sulit dilakukan, kita hanya perlu menjatuhkan jarum pada bidang yang sudah ditentukan. Tetapi dalam simulasi komputer percobaan akan berbeda. Jarum pada bidang harus ditempatkan secara unik, untuk itu kita harus menentukan lokasi spesifik jarum. Anggap lokasi jarum terhadap garis mempunyai titik tengah m dan sudut θ. Untuk memenuhi posisi acak, variabel jarak diperlakukan sebagai variabel acak dan berdistribusi uniform.

Kita hanya perlu mempertimbangkan satu area yang diapit oleh dua garis, karena area lainnya biasanya duplikat dari area ini. Begitu titik tengah jarum m sudah ditentukan, kita harus menentukan garis mana dari antara kedua garis tersebut yang terdekat. Posisi acak bersifat

simetris, oleh karena itu kita hanya memerlukan setengah dari jarak kedua garis. Oleh karena itu a yang merupakan jarak dari m ke garis adalah variabel acak berdistribusi uniform pada kisaran 0 – d/2. Karena sifat simetris, θ juga variabel acak yang berdistribusi uniform pada kisaran 0 - π radian.

d/2 m a l/2 sin θ θ
d/2
m
a
l/2 sin θ
θ

Gambar 2.

Diberikan a dan θ acak, metode untuk menentukan apakah jarum menyentuh atau memotong garis adalah sebagai berikut:hitunglah proyeksi vertikal jarak m ke akhir jarum sebagai (l/2) sin θ, dan bandingkan dengan jarak a. Jika a (l/2) sin θ, jarum menyentuh atau memotong

Jika a > (l/2) sin θ, jarum tidak menyentuh atau

Untuk menyelesaikan pengembangan model, kita harus menentukan rata-rata

garis, seperti yang ditunjukkan di atas.

memotong. nilai a dan θ.

Untuk mendapatkan sampel acak a dan θ, akan lebih baik menggunakan bilangan pseudo- random, r, dengan 0 r 1. Kemudian kita dapat mendefinisikan nilai a dan θ untuk percobaan tertentu sebagai :

a = (d/2)r θ = π r

kisaran a dan θ yang diinginkan adalah:

0 a d/2 0 ≤θ≤π

Logika pemrograman untuk mensimulasikan percobaan jarum ditunjukkan Gambar 3.

Running akan dilakukan sebanyak 3000 kali dengan panjang jarum (l) = 10cm dan jarak garis (d) = 20cm. Hasil simulasi memperkirakan p (probabilitas jarum akan menyentuh atau memotong garis) sebesar 0.3133. Pertanyaan berikutnya adalah seberapa akurat perkiraan ini?

Pilih l dan d Turunkan r 1 Hitung a Turunkan r 2 Hitung θ Hitung
Pilih l dan d
Turunkan r 1
Hitung a
Turunkan r 2
Hitung θ
Hitung l/2 sin θ
ya
a ≤ l/2 sin θ
tidak
Tambahkan NI
Tambahkan NT
tidak
Jumlah running sudah cukup
ya
Cetak hasil
stop
stop

Gambar 3. Logika pemrograman percobaan jarum Buffon

Keakuratan p ditentukan oleh jumlah ulangan setiap percobaan yang disimulasikan. Dalam pembentukan selang kepercayaan untuk presisi ini, hal berikut dilakukan. Jatuhnya jarum merupakan percobaan Bernoulli, jumlah kesuksesan (NI) dalam ulangan NT adalah variabel acak Binomial, dan P = NI/NT yang merupakan penduga bagi parameter Binom p (probabilitas sukses). Dengan menggunakan P = pˆ , maka dapat dinyatakan:

E[pˆ] = E[NI / NT ] = p

karena E[NI] = p × NT

ˆ

VAR p

[]

=

p

(

1

p ) karena VAR NI [ ] NT ) 1 2 ( p − p
p
)
karena VAR NI
[
]
NT
)
1 2
(
p
p
)
p
(
1
p
)
Z = ⎜ ⎛
NT

=

NT

×

p(

1

p)

p ) menyebar normal (percobaan sebanyak 3000 jauh lebih besar

Dapat diasumsikan bahwa

dibandingkan 30), dan oleh karena itu Z diasumsikan berdistribusi normal dengan rata-rata 0 dan ragam 1. Lalu kita dapat menulis probabilitasnya:

⎡ ) 1 2 ( ⎛ p − p ) ⎤ p ( 1 −
)
1 2
(
p
p
)
p
(
1
p
)
P ⎢
Z
⎞ ⎟
Z
⎥ = 0.95
0.025
0.025
NT
)
1 2
)
1 2
)
(
(
⎛ p
1
− p )
)
⎛ p
1 −
p )
)
P ⎢ p − Z
⎟ ⎞
p
p )
+
Z
0.025
0.025
NT
NT
⎢ ⎣

⎤ ⎥ = 0.95

⎥ ⎦

menggunakan p ) =0.3133 (nilai probabilitas hasil simulasi di atas), kita akan mendapatkan :

P[0.2967 p 0.3299] = 0.95

Program simulasi menggunakan FORTRAN adalah sbb:

C PERMASALAHAN JARUM BUFFON

TYPE *, ‘MASUKKAN PANJANG JARUM, LEBAR AREA (JARAK ANTARA DUA GARIS), JUMLAH PERCOBAAN’ TYPE *, READ *,FNEEDLE,DIST,NTRIALS

‘,DIST,

TYPE*,PANJANG JARUM = ‘,FNEEDLE, ‘LEBAR AREA =

‘JUMLAH PERCOBAAN =

‘,NTRIALS

WRITE (6,100) FNEEDLE,DIST,NTRIALS

100

FORMAT (‘

PANJANG JARUM =

‘,F7.0,’LEBAR AREA = ‘,F7.0, ‘JUMLAH

PERCOBAAN =’,I6) DO 1 I=1,NTRIALS

Y=RAN(ISEED)

A=Y*DIST/2

Y=RAN(ISEED)

 

THETA=Y*3.1417

IF(A.LE.(FNEEDLE/2.)*SIN(THETA)) THEN

 

CROSS=CROSS+1

 

END IF IF(MOD(I,50) .EQ.0) THEN

TYPE

*,’PERCOBAAN

NO.

=

‘,I,’FRACTION

CROSSING=

‘,CROSS/FLOAT (I)

 

101

FORMAT(‘

PERCOBAAN NO.=

‘,I,’

FRACTION CROSSING=

‘F5.4)

END IF

1

CONTINUE

THEO_PROB=2.*FNEEDLE/(3.1417*DIST)

TYPE *,’PELUANG TEORITIS= WRITE(6,102) THEO_PROB

‘,THEO_PROB

102

FORMAT(‘

PROB. TEORITIS=

‘,F6.5)

END

Sebelum mengembangkan model simulasi kompleks, kita bicarakan dulu list processing dalam simulasi. Untuk model simulasi sederhana, kita dapat menemukan tidak ada list atau maksimum hanya satu list record dengan 1 atribut. Tapi untuk model simulasi kompleks kita harus berhadapan dengan beberapa list yang memuat banyak records juga dengan banyak atribut. Sering pemrosesan FIFO (First In First Out) tidak efisien. Jika jumlah besar informasi ini tidak disimpan dan dimanipulasi secara efisien, eksekusi model akan membutuhkan waktu yang lama dan memori penyimpanan yang besar akan mengakibatkan model simulasi tidak layak. Ada dua cara penyimpanan list records dalam komputer yaitu alokasi sekuensial dan terhubung (linked).

Pendekatan alokasi-sekuensial meletakkan records berdekatan secara fisik dalam lokasi penyimpanan, satu demi satu record sesuai dengan hubungannya. Dalam pendekatan alokasi

penyimpanan terhubung, setiap record memuat atribut dan pointer (link). Pointer menunjukkan relasi logik dari satu record ke record lainnya dalam list. Sehingga record dalam list yang saling berhubungan tidak harus diletakkan berdekatan. Pendekatan kedua ini (alokasi penyimpanan terhubung) lebih disukai dalam pemodelan simulasi karena memiliki beberapa keuntungan, yaitu:

1. waktu pemrosesan yang dibutuhkan untuk jenis list tertentu dapat dikurangi secara signifikan.

2. pemrosesan list-kejadian untuk model simulasi dimana daftar (list) kejadian memuat sejumlah besar record kejadian secara simultan dapat dipercepat

3. untuk beberapa model simulasi, kapasitas memori komputer yang dibutuhkan untuk menyimpan bisa lebih kecil.

4. menyediakan kerangka umum yang memungkinkan menyimpan dan memanipulasi banyak daftar secara simultan dengan mudah, dimana records dalam daftar berbeda dapat diproses dengan cara berbeda.