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 A probabilitas nilai rendah 0.4 pengembalian investasi 1.1 kali modal
Produk A probabilitas nilai sedang 0.4 pengembalian investasi 1.15 kali modal
Produk A probabilitas nilai tinggi 0.2 pengembalian investasi 1.3 kali modal
Produk B probabilitas nilai rendah 0.2 pengembalian investasi 1.05 kali modal
Produk B probabilitas nilai sedang 0.5 pengembalian investasi 1.2 kali modal
Produk B probabilitas nilai tinggi 0.3 pengembalian 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)

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