Anda di halaman 1dari 4

MODUL 3 INTEGRASI NUMERIK

Fitri. A Permatasari, 10211087 Program Studi Fisika, Institut Teknologi Bandung, Indonesia E-mail : fitri.auliapermatasari@yahoo.com Asisten : Andromeda Shiddik/10210097 Ariel Aldi Rahardi /10210054 Fauziah P. Lestari/10211085 Tanggal Praktikum : (24-02-2014)
Abstrak Metoda Monte Carlo merupakan sebuah pemodelan untuk menyesaikan persolan dengan menggunakan perulangan perhitungan dari variabel random. Pada percobaan ini, metode Monte Carlo digunakan untuk menghitung nilai integrasi sebuah fungsi. Kode sederhana yang digunakan berbasis iterasi menggunakan looping while dan for. Sementara nilai variabel random dibangkitkan menggunakan syntax rand pada matlab. Pada percobaan ini dibuat dua buah kode sederhana untuk menghitung integrasi numerik sebuah fungsi. Variasi jumlah iterasi dan fungsi yang disintegrasi dilakukan pada percobaan ini. Hasil percobaan menunjukan bahwa proses integrasi menggunakan looping for dan while menghasilkan nilai integrasi yang berbeda. Selain itu, percobaan menunjukan bahwa kode sederhana dengan looping while membutuhkan waktu lebih lama untuk menyelesaikan integrasi dibanding kode for. Kata Kunci : integrasi, Monte-Carlo, random.

I. Pendahuluan Percobaan ini dilakukan untuk membuat kode sederhana untuk menentukan nilai integrasi dari satu fungsi menggunakan metode Monte Carlo. Pada dasarnya metode Monte Carlo merupakan satu metode numerik untuk menghitung nilai dari satu variabel acak. Metode ini menggunakan prinsip strong law of large number, yang berarti semakin banyak variabel yang digunakan maka semakin mendekati nilai eksaknya. Berbagai masalah dapat dipecahkan menggunakan metode ini salah satunya perhitungan integral berdimensi. Perhitungan integrasi secara numerik dapat dilakukan menggunakan metode Simpson, trapesium kuadratur gaussian. Namun, metode tersebut mengalami hambatan untuk menghitung integral dari satu fungsi yang kompleks atau berdimensi banyak. Pada kasus seperti tersebut, metode Monte Carlo merupakan pilihan terbaik karena penggunaan yang mudah dan sederhana, pada metode ini nilai eksak merupakan nilai rata rata dari fungsi nilai variabel yang digunakan[1]. Secara matematika dijelawkan sebagai berikut: Definisi sebuah integral :

Kita partisi dx sebanyak N kali sehingga menjadi : dx=b-a/N sehingga diperoleh : = () () (2) < () >=

dimana bahwa nilai rata rata dari fungsi tersebut dapat diperoleh dengan persamaan :

=1 ( ) (3)

dimana N merupakan banyaknya variabel nilai xi yang dipilih secara acak dan berada pada rentang integrasi [a,b]. Jika kita menggunakan N buah bilang xi untuk meghitung nilai integrasi dari f(x) diperoleh : = lim (4)

Untuk integral formula diatas

() =

dua dimensi maka sebagai berikut

lim

().()

=1 ( , )

(5)

Adapun parameter penting pada metode ini adalah standar deviasi fungsi : = ()2 ()2 (6) Untuk N sampel yang dipilih dan dengan mensubstitusi persamaan 2 ke 6 maka diperoleh standar deviasi sampel N :
2 = (7) Proses iterasi dilakukan dengan menggunakan syntax while dan for pada 2

= () . () (1)

matlab. Perintah while digunakan untuk melakukan proses looping dengan batas looping yang tidak ditentukan, atau looping berhenti saat memenuhi syarat batas tertentu[1]. Sedangkan for digunakan untuk iterasi yang batasnya telah ditentukan secara pasti.

II. Metode Percobaan Pada percobaan ini, fungsi yang akan dihitung nilai integrasinya adalah :

1 2 1 2 2 cos()
2 4

(8) (9)

Fungsi tersebut akan diformulawikan sesuai dengan metode Monte Carlo yang terdapat pada persamaan (3) dan persamaan (4). Selanjutnya akan ditentukan banyaknya jumlah iterasi yang dilakukan. Setelah itu akan digunakan fungsi And pada matlab untuk menentukan nilai x dan y secara acak yang berada pada rentang batas integral. Nilai x yang didapat dari hasil acak, dimasukan ke dalam fungsi f(x) dan f(x,y) tersebut. Setiap hasil fungsi dijumlahkan. Jika telah mencapai banyaknya proses iterasi yang dilakukan maka proses looping berhenti dan nilai integral akan dikeluarkan sesuai dengan persamaan (4) dan (5). Selain itu untuk membandingkan waktu integrasi digunakan syntac tic-toc pada kode sederhana ini. Adapun algoritma dari proses integrasi numerik menggunakan metode Monte Carlo sebagai berikut :

Gambar 1. Diagram alir menghitung integrasi 1 dimensi menggunakan Monte Carlo.

III. Data dan Pengolahan Data Iterasi Monte Carlo menggunakan for

Iterasi Monte Carlo menggunakan while

Perbandingan hasil integrasi menggunakan iterasi looping for dan while


Tabel 1. Perbandingan hasil integrasi fungsi menggunakan while dan for
= .

N 1 3 10 102 103 104 105

() = 1.23

for 5.905 2.946 2.734 2.263 2.311 2.337 2.333

while 2.930 2.373 2.213 2.323 2.346 2.327 2.333

for 44.301 -0.748 -2.413 1.947 1.577 1.444 1.261

while -3.921 6.790 3.381 1.429 1.246 1.439 1.323

Tabel 2. Perbandingan waktu iterasi integrasi fungsi menggunakan while dan for

N 105 106 107

()

For(s) While(s) 0.01870 0.01884 0.16499 0.16751 1.60295 1.64407

For(s) While(s) 0.04438 0.04769 0.44738 0.45108 4.39774 4.63564

IV. Pembahasan Metoda Monte Carlo pertama kali ditemukan oleh Enrico Fermi pada tahun 1930an. Metode ini diawali dengan adanya penelitian mengenai pemeriksaan radiasi dan jarak terhadap beberapa material yang dilewati oleh neutron. Karena data yang didapatkan tidak dapat membantu

permasalahan maka dibuatlah satu model komputasi oleh Jon Von Neuman dan Stanislaw ulam[2]. Pada metode ini digunakan proses pengulangan dan pengacakan. Prinsip dasar metode Monte Carlo dalam penyelesaian masalah integral menggunakan prinsip law of large number. Fungsi yang akan disintegrasi dipartisi seperti partisi Riemman, rentang dx pun dipartisi sebanyak N kali. Dari hasil partisi tersebut didapat bahwa hasil integrasi fungsi tersebut akan mendekati nilai rata rata dari fungsi dalam rentang nilai sampel yang dipilih (lihat persamaan 2). Nilai rata rata fungsi total dapat didekati dengan cara menjumlahkan nilai rata rata fungsi sampel jika N menuju tak hingga. Oleh karena itu, metode Monte Carlo dapat diaproksimasi dengan persamaan 3. Hasil perhitungan numerik akan mendekati nilai analitik jika N menuju tak hingga. Pengacakan dilakukan dengan memilih nilai variabel random. Nilai variabel random merupakan pemetaan nilai yang diskrit atau sebuah set nilai yang berada kontinu di dalam sebuah rentang nilai kontinu berdasarkan satu fungsi probabilitas P. Pada pemrograman ini, nilai random dibangkitkan dengan bantuan syntax rand pada matlab. Sebuah metode untuk membangkitkan bilangan random dikatakan baik jika bilangan random yang dihasilkan memenuhi sifat kerandoman, saling independen, memenuhi distribusi statistik yang diharapkan, dan dapat direproduksi. Pada praktikum ini digunakan dua syntax looping yang digunakan yaitu while dan for. Kedua syntax tersebut sama sama digunakan untuk proses iterasi nilai x. Tabel 1 menunjukan perbandingan hasil integrasi numerik menggunakan looping for dan while untuk variasi nilai N. Dari tabel tersebut diketahui bahwa untuk nilai N yang berbeda menghasilkan nilai iterasi yang berbeda. Nilai iterasi tersebut bergantung pada banyaknya nilai N yang digunakan. Hasil integrasi kedua looping menunjukan bahwa semakin banyak jumlah iterasi yang dilakukan maka semakin mendekati nilai analitik. Hal ini sesuai dengan persamaan 4. Sementara itu untuk nilai N yang sama, perbedaa hasil integrasi antara lop while dan for dikarenakan perbedaan hasil nilai random yang diperoleh untuk fungsi rand. Hal tersebut dikuatkan dengan percobaan untuk sebuah kode yang sama dan N yang sama, dihasilkan nilai random yang berbeda.

Tabel 2 pada pengolahan data menunjukan perbandingan waktu yang diperlukan untuk mengiterasi fungsi antara looping for dan while yang diperoleh dengan menggunakan kode tic-toc. Hasil percobaan menunjukan bahwa untuk nilai N yang sama, looping while membutuhkan waktu lebih lama dibanding looping for. Hal ini dikarenakan syarat batas pada while atau adanya proses pengecekan nilai i. Setelah proses iterasi kesatu dilakukan, program harus mengecek nilai i terlebih dahulu, jika nilai i kurang dari nilai N maka looping dilanjutkan dan seterusnya. Sementara for, tidak terdapat pengecekan nilai i. Proses iterasi akan terus berlanjut sampai nilai N yang ditentukan. Selain itu, waktu ierasi bergantung pada fungsi yang diiterasi. Semakin kompleks fungsi yang diiterasi maka semakin lama waktu yang dibutuhkan. Oleh karena itu, untuk fungsi yang kompleks dan membutuhkan jumlah iterasi yang banyak, looping for lebih efisien digunakan dibanding looping while. Setiap metode numerik memiliki keterbatasan dalam hal nilai error atau galat perhitungan. Pada metode Monte Carlo eror akan sebanding dengan nilai standar deviasinya. Persamaan 7 menunjukan bahwa eror dari metode ini akan sebanding dengan Nk , dimana k adalah konstanta. Nilai eror didapatkan dari penyimpangan nilai sampel x yang dibangkitkan dari syntax random dengan

nilai x pada rentang sebenarnya. Jika nilai x yang dibangkitkan memenuhi distribusi normal maka nilai eror akan kecil. Oleh karena itu, agar mendapatkan hasil integrasi dengan eror yang kecil maka diperlukan integrasi dengan jumlah iterasi (N) yang banyak.

V. Simpulan Metode Monte Carlo dapat digunakan untuk menghitung nilai integrasi satu fungsi secara numerik dengan nilai eror yang berbanding terbalik dengan jumlah iterasinya. Kode sederhana metode Monte Carlo dapat dibuat dengan menggunakan looping while dan for. Hasil integrasi hanya bergantung pada nilai random yang dibangkitkan. Looping while membutuhkan waktu lebih lama dibanding looping for untuk proses integrasi yang sama.

VI. Pustaka [1] Jensen, M.Hjrot, Computational Physic : Departement of Oslo; 2003. [2]S. Suparno, Komputasi Sains dan Teknik Menggunakan Matlab : Departemen Fisika UI; 2013.