Aproksimasi Nilai Pi (π) dengan Metode Monte Carlo (Part 1. Serial Process)

Pi (π) merupakan suatu konstanta penting yang dipakai pada banyak persamaan/formula dalam bidang matematika dan fisika. Nilai π berkaitan dengan rasio antara keliling lingkaran dan diameternya. Jika kita memiliki suatu lingkaran dengan diameter sebesar 1, maka keliling lingkaran tersebut merupakan nilai π (apapun unit satuan yang digunakan). Menggunakan pendekatan yang mirip, kita juga dapat menghitung nilai aproksimasi dari π dengan metode Monte Carlo. Metode Monte Carlo adalah suatu metode yang melibatkan penggunaan bilangan acak sebagai input untuk menyelesaikan suatu masalah matematis. Salah satu contoh sederhana yang paling umum ialah penggunaan metode Monte Carlo untuk mengaproksimasi nilai π. Konsep perhitungannya ialah sebagai berikut.

Picture2Gambar 1. Ilustrasi penerapan metode Monte Carlo untuk kalkulasi nilai π (klik gambar untuk memperbesar).

Lingkaran dalam persegi di atas memiliki diameter yang sama dengan panjang sisi pesegi sebesar 2 (arbitrary unit). Apabila lingkaran tersebut kita bagi menjadi empat bagian (lingkaran di dalam persegi merah), seperempat lingkaran tersebut memiliki luas sebesar 1/4 × (πr2) dengan luas persegi sebesar r2. Dengan demikian, rasio antara luas seperempat lingkaran dengan luas persegi ialah (π/4) dan nilai π dapat diperoleh dengan mengalikan rasio tersebut dengan 4. Sehingga, berbekal rasio antara luas seperempat lingkaran dan luas persegi, nilai π dapat kita hitung.

Pict1Gambar 2. Ilustrasi sampling titik-titk di dalam persegi pada metode Monte Carlo (klik gambar untuk memperbesar).

Tanpa menghitung nilai luas seperempat lingkaran dan persegi secara pasti, metode Monte Carlo menawarkan teknik pengambilan sampel secara acak berupa titik-titik di dalam seperempat lingkaran dan persegi sebagai aproksimasi luas permukaan dan rasionya (lihat ilustrasi pada Gambar 2). Jumlah sampel titik yang dipakai akan memengaruhi kualitas hasil yang diperoleh (i.e. ketepatan nilai π); semakin banyak sampel titik yang dipakai, semakin baik pula aproksimasi nilai π (Gambar 3). Berikut contoh metode Monte Carlo untuk menghitung nilai π yang diimplementasikan menggunakan FORTRAN 95 (source code disediakan di akhir artikel ini). Terlihat perbedaan yang jelas dimana saat digunakan hanya 500 titik acak, nilai π yang dihasilkan tidak terlalu akurat, lain halnya ketika digunakan sebanyak 500.000.000 titik (Gambar 3). Sebagai referensi, nilai π = 3.14159265358….

gambarGambar 3. Hasil perhitungan nilai π dengan berbagai jumlah titik (klik gambar untuk memperbesar).

Source code di bawah ini ditulis untuk kalkulasi komputasi secara serial alias dengan 1 proses atau inti saja. Kalkulasi secara paralel dengan lebih dari 1 proses atau inti akan dibahas pada postingan berikutnya ya. Sekian coretan singkat nan sederhana diwaktu yang senggang ini, semoga bermanfaat. Grazie 🙂


!=============================================================
! Program estimasi nilai pi dengan metode Monte Carlo.
! FORTRAN serial code.
! Written by : Yusuf Bramastya, Jan 2019.
!=============================================================

Program estimasi_pi
Implicit none

Real*8 :: x,y,radius
Integer :: jmlh_ttk,n_dalam,n_total
Integer :: i, n

Write(*,*), “Berapa jumlah titik yang akan dipakai?”
Read(*,*), jmlh_ttk
n_dalam=0
n_total=0
Call random_seed()

Do i=1,jmlh_ttk
Call random_number(x)
Call random_number(y)
radius=sqrt(x**2+y**2)
If (radius.le.1) then
n_dalam=n_dalam+1
end if
n_total=n_total+1
End do

Write(*,*) ‘Jumlah titik: ‘,n_total
Write(*,*) ‘Final pi: ‘,4.0d0* n_dalam/n_total

End program

!=============================================================


 

This entry was posted in Qchem & FORTRAN and tagged , , . Bookmark the permalink.