Algoritma Monte Carlo 4


Algoritma Monte Carlo adalah salah satu algoritma yang digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai pengambilan produk investasi dengan nilai pengembalian paling besar.



Diasumsikan ada 2 Produk Investasi yang dapat dipilih yaitu A dan B
Masing-masing produk memiliki 3 macam pengembalian nilai investasi, yaitu investasi rendah, sedang, dan tinggi
Nilai pengembalian investasi tiap produk juga berbeda-beda, dan probabilitas antar macamnya juga berbeda-beda
Maka tentukan produk Investasi yang dapat mengembalikan nilai maksimal
Diasumsikan dalam kasus ini, data awalnya adalah sebagai berikut

Nama
Produk Aprobabilitas nilai rendah 0.4pengembalian investasi 1.1 kali modal
Produk Aprobabilitas nilai sedang 0.4pengembalian investasi 1.15 kali modal
Produk Aprobabilitas nilai tinggi 0.2pengembalian investasi 1.3 kali modal
Produk Bprobabilitas nilai rendah 0.2pengembalian investasi 1.05 kali modal
Produk Bprobabilitas nilai sedang 0.5pengembalian investasi 1.2 kali modal
Produk Bprobabilitas nilai tinggi 0.3pengembalian investasi 1.25 kali modal

Langkah pertama adalah memasukkan data-data yang digunakan.
Contoh data adalah sebagai berikut

Dim data(5, 2) As Double
data(0, 0) = 0
data(0, 1) = 39
data(0, 2) = 1.1
data(1, 0) = 40
data(1, 1) = 79
data(1, 2) = 1.15
data(2, 0) = 80
data(2, 1) = 99
data(2, 2) = 1.3
data(3, 0) = 0
data(3, 1) = 19
data(3, 2) = 1.05
data(4, 0) = 20
data(4, 1) = 69
data(4, 2) = 1.2
data(5, 0) = 70
data(5, 1) = 99
data(5, 2) = 1.25

Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan modal investasi yang akan digunakan

Console.WriteLine("Masukkan Modal: ")
Dim modal As Double = Console.ReadLine

2. Tentukan banyak nilai data acak yang dihasilkan
Semakin banyak nilai acak yang dihasilkan, semakin baik hasil akhirnya.
Diasumsikan dalam kasus ini, banyak data nilai acak adalah 50

Const n As Integer = 50

3 Cari nilai acak antara 0-99 sebanyak n
Kemudian cari nilai pengembalian investasinya berdasarkan kriteria probabilitas nilainya

Dim hasil(n - 1, 1) As Double
Dim input As Integer = 0
Dim rnd As New Random
Dim iTotalA As Double = 0, itotalB As Double = 0

For i As Integer = 0 To n - 1
	'Produk A
	input = rnd.Next(0, 99)

	If input >= data(0, 0) And input <= data(0, 1) Then hasil(i, 0) = modal * data(0, 2)
	If input >= data(1, 0) And input <= data(1, 1) Then hasil(i, 0) = modal * data(1, 2)
	If input >= data(2, 0) And input <= data(2, 1) Then hasil(i, 0) = modal * data(2, 2)

	iTotalA += hasil(i, 0)

	'Produk B
	input = rnd.Next(0, 99)

	If input >= data(3, 0) And input <= data(3, 1) Then hasil(i, 1) = modal * data(3, 2)
	If input >= data(4, 0) And input <= data(4, 1) Then hasil(i, 1) = modal * data(4, 2)
	If input >= data(5, 0) And input <= data(5, 1) Then hasil(i, 1) = modal * data(5, 2)

	itotalB += hasil(i, 1)
Next

4. Cari nilai rata-rata antara 2 produk tersebut, kemudian bandingkan nilainya
Hasil akhir adalah produk yang nilai rata-ratanya lebih besar

Hasil akhir adalah: (klik untuk perbesar gambar)

cmd8b

Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

4 pemikiran di “Algoritma Monte Carlo