• Tidak ada hasil yang ditemukan

METODE MONTE CARLO. Pemodelan & Simulasi TM11

N/A
N/A
Protected

Academic year: 2022

Membagikan "METODE MONTE CARLO. Pemodelan & Simulasi TM11"

Copied!
16
0
0

Teks penuh

(1)

METODE MONTE CARLO

Pemodelan & Simulasi

TM11

(2)

Metode Monte Carlo

• Metoda Monte Carlo telah digunakan sejak abad ke-18 oleh Comte de Buffon yang mengembangkan eskperimen untuk memperoleh rasio antara diameter dan keliling

lingkaran.

• Di awal abad ke-20 metoda ini juga digunakan untuk memecahkan persamaan Boltzmann.

• Pemakaian metoda ini semakin matang dan

mendapatkan nama `Metoda Monte Carlo` sejak

digunakan dan dikembangkan dalam Manhattan Project pada perang dunia ke-II di laboratorium Los Alamos

(sekarang bernama Los Alamos National Laboratory,

LANL).

(3)

Kasus irradiasi neutron terhadap suatu bahan. Bahan ini

terdiri dari tiga inti nuklir A, B, dan C . Diketahui probabilitas terjadinya tumbukan neutron dengan salah satu inti nuklir tersebut; untuk inti A probabilitasnya 0.2, inti B

probabilitasnya 0.3, dan inti C probabilitasnya 0.5.

Bagaimana distribusi terjadinya irradiasi dengan salah satu inti nuklir bila terdapat 500 neutron; berapa neutron yang

menumbuk masing-masing inti nuklir?

Dari sifat pembangkitan bilangan random, misalnya

dibangkitkan N bilangan random yang terdistribusi homogen pada interval (0,1), maka dapat dipahami bahwa

Ilustrasi Penerapan Metode Monte Carlo

(4)

0.2 N akan terdapat pada interval 0  r < 0.2 0.3 N akan terdapat pada interval 0.2  r < 0.5 0.5 N akan terdapat pada interval 0.5  r < 1

Kemungkinan terjadinya distribusi di atas akan semakin

besar jika nilai N semakin besar. Sifat pembangkitan

bilangan random inilah yang digunakan untuk

menyelesaikan kasus iradiasi neutron di atas. Dengan

membangkitkan bilangan random, distribusi terjadinya

tumbukan dengan salah satu inti nuklir yang telah

diketahui probabilitasnya dapat disimulasikan. Skema

penyelesaian masalah di atas dapat digambarkan pada

halaman berikut.

(5)

Langkah yang dilakukan untuk penyelesaian adalah sebagai berikut :

• bangkitkan bilangan random r yang terdistribusi homogen pada (0,1)

• cek apakah r < 0.2

• bila r < 0.2 maka kejadian yang terpilih adalah kejadian A, yaitu neutron bertumbukan dengan inti A.

• bila r > 0.2 maka cek apakah r < 0.5

• bila r < 0.5 maka kejadian yang terpilih adalah kejadian B

• bila tidak maka yang terpilih adalah kejadian C

(6)

Secara umum, bila E

1

, E

2

, …, E

n

adalah n kejadian yang saling lepas, dan masing-masing memiliki probabilitas

untuk terjadi sebesar p

1

, p

2

, …,p

n

dimana p

1

+p

2

+…+p

n

=1, maka dapat ditentukan bahwa nilai bilangan random r yang memenuhi

p

1

+ p

2

+…+ p

i-1

 r < p

1

+ p

2

+…+ p

i

menunjukkan terjadinya kejadian E

i

. Inilah prinsip dasar dari metoda Monte Carlo untuk kasus kejadian yang diskrit.

Untuk kasus kontinu, variabel kontinu dibagi ke dalam

banyak partisi dan menggunakan konsep yang sama dengan

pada kasus diskrit.

(7)

Misalnya terdapat variabel x dengan interval 0 < x < n bagi kejadian E1, E2,

…,En dengan nilai x pada interval i-1 < x < i menyatakan kejadian Ei. Dibangun probability density function p(x) dengan definisi

p(x) menunjukkan nilai probabilitas x terletak pada interval i-1 < x < i Maka p(x) akan berbentuk fungsi tangga seperti gambar berikut.

(8)

Setiap masalah simulasi dapat didekati dengan metode Monte Carlo? Dengan catatan kunci:

– Mampu memformulasikan masalah, – Membuat overview sistem,

– Penyederhanaan sistem menuju algoritma, – Menyusun algoritma,

– Pembuatan program; teknik pembuatan program bersifat bebas hampir tidak ada aturan yang terlalu mengikat.

Contoh: Probabilitas pelemparan koin tunggal

Sebuah pelemparan koin sebanyak N = 100 kali diperoleh hasil 45 kali keluar muka dan 55 kali keluar ekor. Dari data ini didapat nilai probabilitas untuk keluarnya

– muka sebagai p(M) = N(M)/N – ekor sebagai p(E) = N(E)/N

Dari model di atas susun algoritma dan program untuk kasus pelemparan sebanyak 1000 kali, 2000 kali, dsb… sampai dengan 10000 kali.

Apa yang terjadi?

(9)

Algoritma yang dapat digunakan:

1. Bangkitkan nilai 0 dan 1 sebanyak 1000 (N=1000)

menggunakan metode pembangkitan bilangan acak LCG, kemudian operasikan modulo 2 pada bilangan acak yang telah dibangkitkan tersebut.

2. Klasifikasi

– Jika n = 0, maka M = M+1  misalkan 0 adalah Muka (M) – Jika n = 1, maka E = E+1  misalkan 1 adalah Ekor (E)

3. Hitung probabilitas M dengan cara M/N dan probabilitas E dengan cara E/N.

Buatlah coding-nya menggunakan matlab, tanpa fungsi mod.

(10)

Contoh: Probabilitas pelemparan koin ganda

Untuk pelemparan koin ganda sebanyak 1000 kali, maka ada 3 kombinasi utk hasilnya yaitu:

– Muncul muka dan muka  MM – Muncul ekor dan muka  EM – Muncul ekor dan ekor  EE

Algoritma:

1. Bangkitkan nilai 0 dan 1 sebanyak 1000 (N=1000) menggunakan metode pembangkitan bilangan acak LCG, kemudian operasikan modulo 2 pada bilangan acak yang telah dibangkitkan tersebut. Lakukan untuk koin pertama (n1) dan koin kedua (n2).

2. Klasifikasi

– Jika n1 = 0 dan n2 = 0, maka MM = MM+1

– Jika (n1 = 1 dan n2 = 0) atau (n1 = 0 dan n2 = 1), maka EM = EM+1 – Jika n1 = 1 dan n2 = 1, maka EE = EE+1

3. Hitung probabilitas MM dengan cara MM/N, probabilitas EM dengan cara EM/N dan probabilitas EE dengan cara EE/N.

Buatlah coding-nya menggunakan matlab, tanpa fungsi mod.

(11)

Contoh: Metode Monte Carlo untuk menghitung nilai

Jika sebuah lingkaran dengan radius 1 diletakkan ke dalam bujursangkar bersisi 2 seperti gambar di bawah,

Karena r =1, dapat diambil satu kotak serta seperempat lingkaran sehingga gambarnya menjadi:

4 r2

ar bujursangk Luas

lingkaran

Luas

Dari gambar tersebut didapatkan

perbandingan:

(12)

 

4 1 4

1 1

) 4 / 1

( 2 2

r r

ar bujursangk Luas

lingkaran Luas

Maka perbandingan antara luas keduanya menjadi

Lemparkan sebuah kelereng secara bebas ke dalam kotak sebanyak 4 kali, maka kemungkinan kelereng akan jatuh di dalam lingaran atau diluar lingkaran.

Bayangkan bila hal ini dilakukan sebanyak 1000 kali (N=1000). Jika diketahui bahwa posisi kelereng berada dalam lingkaran terjadi sebanyak M kali, maka

banyaknya nilai M dibanding total pelemparan N akan senilai dengan perbandingan luas seperempat

lingkaran dibanding 1 kotak atau

N M N

M 4

4

1  

  

(13)

Algoritma:

• Buat inisialisasi m = 0, N = 1000

• Bangkitkan nilai x secara random yang memiliki nilai 0 – 1 (gunakan multiplicative random number generator)

• Bangkitkan nilai y secara random yang memiliki nilai 0 – 1 (gunakan multiplicative random number generator)

• Hitung r

2

=x

2

+ y

2

• Jika nilai r

2

< 1, maka m = m + 1, jika tidak, maka m = m

• Lakukan proses looping ini sampai 1000 kali

• Setelah proses looping selesai, hitung nilai p = (4m)/N

Buatlah coding-nya menggunakan matlab, tanpa fungsi mod.

(14)

Contoh: Menghitung nilai integral

Misalkan akan dihitung nilai integral dari fungsi f(x) = 2x dengan batas bawah = 0 dan batas atas = 2, atau

Nilai integral dapat dihitung dengan menemukan luas area di bawah kurva f(x) untuk batas-batas tsb, shg

Secara analitis, hasil integral dari fungsi

f(x) = 2x dengan batas bawah = 0 dan batas

atas = 2 adalah

(15)

Menghitung nilai integral dengan metode Monte Carlo

Untuk soal di atas, luas area yang dicari adalah daerah yang berwarna biru muda. Dengan dasar pemikiran tsb, maka jika digunakan metode Monte Carlo akan diperoleh persamaan:

8 4

2

luas x

luas jang

persegipan total

luas

muda biru

area

luas  

Bila dilakukan pelemparan koin tunggal sebanyak N kali, dan koin yang jatuh di bawah garis f(x) =2x adalah sebanyak M kali, maka:

N M luas

8

(16)

Algoritma:

• Bangkitkan 2 bilangan acak x dan y masing-masing 1000 bilangan acak

• Nilai x mempunyai rentang 0 – 2 (yaitu dari batas bawah (x1) hingga batas atas integral (x2) ); gunakan LCG dan kemudian bilangan acak yg diperoleh dikenakan mod 3. Mengapa??

• Nilai y mempunyai rentang 0 – 4 (yaitu dari f(x1) hingga f(x2) ); gunakan LCG dan kemudian bilangan acak yg diperoleh dikenakan mod 5.

Mengapa??

• Bila y < f(x) maka M = M + 1, jika tidak maka M = M

• Ulangi hingga N = 1000, dan hitung M

• Luas atau integral f(x ) ditentukan dengan

Buatlah coding-nya menggunakan matlab, tanpa fungsi mod.

N luas 8M

f(x)

integral

 

Referensi

Dokumen terkait

Form simulasi Antrian pelayanan restoran cepat saji berfungsi untuk melakukan proses simulasi pelayanan berdasarkan hasil dari proses pembangkitan bilangan acak dan

Dengan menggunakan metode Monte Carlodengan jenis sistem antrian Mul Channel Single Phase (model nyata) dalam menganalisissuatu antrian pelayanan pelanggan di

Bila akan ditentukan suatu bilangan random yang dinotasikan dengan nilai yang terdistribusi homogen pada interval peluang [0,1], maka dapat dijamin bahwa

Simulasi dengan metode Monte Carlo didasarkan pada pemilihan bilangan random untuk mengevaluasi kondisi antrian dari suatu sistem agar pelayanan berjalan dengan

Penelitian ini bertujuan untuk membantu pihak perusahaan terutama pelayanan PT SSBV agar proses antrian tidak membutuhkan waktu yang lama, sehingga mampu memberikan waktu

dibangkitkan I = bertipe integer berfungsi sebagai counter increment pada saat pembangkitan bilangan acak Implementasi Aplikasi yang di buat adalah membuat fungsi untuk

Untuk mencari nilai opsi put Amerika maka pertama kali yang akan disimulasikan adalah pembangkitan harga saham yang terjadi di sepanjang selang waktu [0, ].. Mengingat

Selanjutnya untuk simulasi kasus integral fuzzy (tabel 4.11) dengan menggunakan 4 angka penting, nilai integrasi yang dihasilkan metode Romberg untuk n