Selasa, 18 Juni 2013

Monte Carlo Simulation

Untuk melengkapi tugas softskill Pengantar Komputasi Modern, pada postingan kali ini saya akan membahas tentang Simulasi Monte Carlo.

Monte Carlo adalah  algoritma komputasi untuk mensimulasikan  berbagai perilaku system fisika dan matematika. Algoritma Monte Carlo  merupakan metode numerik yang digunakan untuk menemukan solusi masalah matematis yang sulit dipecahkan, misalnya dengan kalkulus integral atau metode numerik lainnya. Karena algoritma ini memerlukan pengulangan (repetisi) dan perhitungan yang amat kompleks, metode Monte Carlo pada umumnya dilakukan menggunakan komputer, dan memakai berbagai teknik simulasi komputer.

Simulasi Monte Carlo dikenal dengan intilah sampling simulation atau Monte Carlo Samling Technique. Istilah Monte Carlo pertama digunakan selama masa pengembangan bom atom yang merupakan nama kode dari simulasi nuclear fission. Simulasi ini menggunakan data sampling yang telah ada (historical data) dan telah diketahui distribusi datanya.

Monte Carlo digunakan untuk membuat model system yang mengandung elemen yang mengikut sertakan faktor kemungkinan. Dasar dari simulasi Monte Carlo adalah percobaan elemen kemungkinan dengan menggunakan sampel random (acak). Metode ini terbagi dalam 5 tahapan, yaitu:

1.       Membuat distribusi kemungkinan untuk variabel penting
2.       Membangun distribusi kemungkinan kumulatif untuk tiap‐tiap variabel di tahap pertama
3.       Menentukan interval angka random untuk tiap variable
4.       Membuat angka random
5.       Membuat simulasi dari rangkaian percobaan

Contoh Penggunaan Simulasi Monte Carlo
Sebuah toko sepatu memperkirakan permintaan sepatu per harinya menurut pola distribusi sebagai berikut :


Dari data masa lalu sudah dapat diperkirakan dengan baik. Kemudian pengusaha toko ini hendak memperkirakan pola permintaan untuk 10 hari bulan berikutnya. Berapa kira-kira permintaan yang muncul?

Langkah Penyelesaian
1.   Terlebih dahulu dibuat Imperical Data distribusinya, yaitu : fungsi distribusi densitas, seperti pada tabel sebelumnya.
2.    Distribusi permintaan in diubah dalam bentuk fungsi distribusi komulatif (DFK).


3. Setiap permintaan tersebut, diberi angka penunjuk batasan (Tag/Label number), disusun berdasarkan DFK distribusi permintaan.


4.  Lakukan penarikan random number, dengan salah satu bentuk RNG, misal diperoleh 10 random number sbb :
                1. 0.5751              6. 0.2888
                2. 0.1270              7. 0.9518
                3. 0.7039              8. 0.7348
                4. 0.3853              9. 0.1347
                5. 0.9166              10. 0.9014
5.  Dari random number ini diambil 2 angka dibelakang koma dan dicocokkan dengan tag number. Hasilnya adalah kesimpulan permintaan yang dibutuhkan seperti pada gambar dibawah ini:


Referensi:
http://id.wikipedia.org/wiki/Metode_Monte_Carlo
http://toosa.staff.gunadarma.ac.id/Downloads/files/14969/Week2-01_PengantarMonteCarlo_ver_1_2009.pdf

Rabu, 12 Juni 2013

Komputasi Modern

Komputasi merupakan istilah yang digunakan untuk perhitungan atau juga diartikan sebagai cara untuk menemukan pemecahan masalah dengan menggunakan algoritma. Komputasi modern adalah sebuah sistem yang melakukan perhitungan matematis menggunakan mesin canggih (komputer) dengan menyusun algoritma yang dimengerti oleh komputer untuk menyelesaikan masalah perhitungan secara efektif dan efisien.
Kecepatan komputasi semakin berkembang seiring berjalannya waktu. Prosesor merupakan inti atau pusat pengendali komputer yang mempengaruhi kecepatan komputasi. Satuan kecepatan prosesor adalah Mhz (Mega Heartz) atau Ghz (Giga Heartz), semakin besar nilainya maka akan semakin cepat proses komputasinya. Sebuah prosesor mampu melakukan komputasi atau mengerjakan hitungan hingga miliaran dengan sangat cepat. Sekarang dalam sebuah komputer bisa memiliki lebih lebih dari satu prosesor, komputer ini biasanya digunakan untuk parallel processing atau komputasi parallel. Komputasi parallel merupakan salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer (prosesor) secara bersamaan. Pada umumnya komputasi parallel diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Komputasi modern dan parallel processing sangat berkaitan, karena saat ini penggunaan komputer dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Istilah “Komputasi Modern” dipopulerkan oleh John von Neumann (1903-1957). John von Neumann adalah ilmuan terbesar pada masanya, beliau meletakkan dasar-dasar komputer modern. Von Neumann menyalurkan karya-karyanya dan memberikan berbagai sumbangsih dalam bidang matematika, teori quantum, game theory, fisika nuklir, dan ilmu komputer. Berkat teori-teori nya itulah pada saat itu komputer mengalami perkembangan dan kemajuan pesat. Karena jasa-jasa nya John von Neumann di sebut bapak komputasi modern. Beliau juga merancang konsep arsitektur komputer yang masih dipakai sampai sekarang, yaitu seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.
John von Neumann
Komputasi modern memiliki beberapa karakteristik, biasanya komputer penyedia sumberdaya bersifat heterogeneous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang. Perangkat tersebut juga biasanya terhubung kedalam jaringan yang luas. Salah satu teknik komputasi modern adalah grid computing yang memanfaatkan berbagai unit komputer untuk melakukan suatu pekerjaan. Grid computing melibatkan banyak komputer yang terpisah secara geografis namun terhubung ke jaringan (termasuk internet) untuk memecahkan persoalan komputasi skala besar. 
Dalam grid computing terdapat satu komputer utama sebagai pengontrol, dan bagian pemrosesan dipecah ke berbagai komputer yang terhubung dengan komputer utama. Proses ini dikerjakan oleh masing-masing komputer secara mandiri, kemudian hasil prosesnya dikirimkan kembali ke komputer utama untuk dijadikan satu output. Teknik ini sangat efektif karena menggunakan semua sumber daya yang tersedia dan sangat menghemat waktu pekerjaan.