METODE MONTE CARLO
Surya Haryandi, M.Pd.
MATA KULIAH FISIKA KOMPUTASI
PENGERTIAN MONTE CARLO
Merupakan metode untuk mengevaluasi suatu model deterministik bilangan acak sebagai salah satu input dan melibatkan parameter yang tidak pasti.
Monte Carlo umumnya digunakan untuk menentukan kebijakan untuk pengambilan suatu keputusan.
TUJUAN MONTE CARLO
1. Menemukan nilai yang mendekati nilai sesungguhnya berdasarkan distribusi data sampling.
2. Menghitung variabel biaya atau variabel waktu dari sebuah proyek untuk selesai dengan menggunakan nilai acak dari distribusi
probabilitas biaya dan waktu yang mungkin terjadi.
PROSEDUR MONTE CARLO
1. Menentukan suatu distribusi probabilitas bagi variabel yang penting, seperti permintaan stok suatu barang atau waktu yang diperlukan untuk menyelesaikan aktivitas proyek.
2. Membuat distribusi probalitas kumulatif bagi setiap variabel.
3. Menetapkan interval angka acak bagi setiap variabel yang mewakili nilai yang mungkin.
4. Membangkitkan (generating) angka acak.
5. Melakukan simulasi rangkaian eksperimen.
STUDI KASUS MONTE CARLO
Suatu produsen tas wanita telah menjual produknya selama 200 hari dengan perkiraan permintaan penjualan tas setiap harinya seperti berikut:
Permintaan Frekuensi (Hari)
1 10
2 20
3 30
4 40
5 40
6 60
Total 200
Berapakah permintaan tas untuk 10 hari berikutnya?
1. MENENTUKAN SUATU DISTRIBUSI PROBABILITAS BAGI VARIABEL YANG PENTING
Variabel Permintaan
Distribusi Probabilitas
1 10/200 = 0,05
2 20/200 = 0,10
3 30/200 = 0,15
4 40/200 = 0,20
5 40/200 = 0,20
6 60/200 = 0,30
Total 200/200 = 1,00
2. MEMBUAT DISTRIBUSI PROBABILITAS KUMULATIF BAGI SETIAP VARIABEL
Variabel Permintaan
Distribusi Probabilitas
Distribusi Kumulatif
1 10/200 = 0,05 0,05
2 20/200 = 0,10 0,15
3 30/200 = 0,15 0,30
4 40/200 = 0,20 0,50
5 40/200 = 0,20 0,70
6 60/200 = 0,30 1,00
3. MENETAPKAN INTERVAL ANGKA ACAK BAGI SETIAP VARIABEL YANG MEWAKILI NILAI YANG MUNGKIN
Variabel Permintaan
Distribusi Probabilitas
Distribusi Kumulatif
Interval Bilangan Acak
1 10/200 = 0,05 0,05 01-05
2 20/200 = 0,10 0,15 06-15
3 30/200 = 0,15 0,30 16-30
4 40/200 = 0,20 0,50 31-50
5 40/200 = 0,20 0,70 51-70
6 60/200 = 0,30 1,00 71-100
4. MEMBANGKITKAN (GENERATING) ANGKA ACAK
Alternatif untuk membangkitkan angka acak yaitu menggunakan Microsoft Excel dengan perintah RANDBETWEEN
Contoh:
Perintah untuk angka acak dari 1-100 ditulis
=RANDBETWEEN(1,100)
5. MELAKUKAN SIMULASI RANGKAIAN EKSPERIMEN
Oleh karena permintaan tas wanita untuk 10 hari berikutnya, maka perlu mengambil angka acak pada kolom A1-A10
misalnya:
38, 9, 22, 20, 63, 32, 48, 46, 2, 65
5. MELAKUKAN SIMULASI RANGKAIAN EKSPERIMEN
Hari Bilangan Acak Hasil Permintaan
1 38 4
2 9 2
3 22 3
4 20 3
5 63 5
6 32 4
7 48 4
8 46 4
9 2 1
10 65 5
Total 35
Jadi, total permintaan tas untuk 10 hari berikutnya adalah 35 dengan rata-rata permintaan setiap harinya adalah 3,5
Variabel Permintaan
Interval Bilangan Acak
1 01-05
2 06-15
3 16-30
4 31-50
5 51-70
6 71-100
SIMULASI MONTE CARLO MENGGUNAKAN MATLAB
Simulasi Monte Carlo digunakan untuk menguji suatu fungsi dengan prinsip pembangkitan bilangan acak. Selanjutnya hasil pengujian yang berhasil akan dihitung dan dibandingkan dengan jumlah pengujian.
Semakin banyak pengujian maka akan diperoleh hasil yang semakin teliti Metode Monte Carlo berguna melakukan
simulasi pada:
1. Transport partikel
2. Gerakan acak suatu objek 3. Integrasi numerik
4. Menghitung luas bangun 5. Menghitung nilai probabilitas
STUDI KASUS 1
Suatu objek berjalan/bergerak dengan langkah tetap. Buatlah simulasi probabilitas gerakan objek tersebut ketika berjalan/bergerak secara acak!
Clue:
langkah=1 startx=0 starty=0
n_langkah=100
sudut=2*pi*rand(n_langkah, 1) dx=langkah*cos(sudut)
dy=langkah*sin(sudut)
STUDI KASUS 2
Jika ada 20 orang dalam suatu kelas, berapakah probabilitas minimal 2 orang memiliki kesamaan hari ulang tahun
Clue:
jumlah_orang=20 sampel=10000
ulangtahun=ceil(365*rand(jumlah_orang,sampel));
REFERENSI
15
Afrianita, R. & Laksono, H. D. (2015). Motoda Numerik dengan Matlab. Padang:
LPTIK Universitas Andalas.
Scherer, Philipp O.J. (2010). Computational Physics: Simulation of Classical and Quantum Systems. Berlin: Springer.
Suparno, S. (2014). Komputasi untuk Sains dan Teknik: Menggunakan Matlab.
Edisi Pertama. Jakarta: Universitas Indonesia.
Thijssen, Jos. (2007). Computational Physics: Second Edition. New York:
Cambridge University Press.