Algoritma SAW (Simple Additive Weighting) 4


Algoritma SAW (Simple Additive Weighting) adalah salah satu algoritma yang digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai pemilihan sepeda motor dengan kriteria tertentu.
Algoritma ini juga memiliki nama lain yaitu Algoritma MFEP (Multi Factor Evaluation Process). Setelah saya mempelajari algoritma tersebut, cara perhitungan yang dilakukan ternyata sama persis dengan Algoritma ini.



Diasumsikan ada 4 buah motor yang dapat dipilih yaitu Motor A,B,C,D
Masing-masing motor memiliki kriteria, yaitu harga, jarak tempuh per liter, cc, nilai model
Sehingga dalam kasus ini, diasumsikan data awalnya adalah sebagai berikut:

MotorHargaJarak tempuh per literccnilai model (1-10)
Motor A10.000.000351107
Motor B12.000.000451256
Motor C15.000.000401508
Motor D14.000.00037.51257.5



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

Dim data(3, 3) As Double
data(0, 0) = 10000000
data(0, 1) = 35
data(0, 2) = 110
data(0, 3) = 7
data(1, 0) = 12000000
data(1, 1) = 45
data(1, 2) = 125
data(1, 3) = 6
data(2, 0) = 15000000
data(2, 1) = 40
data(2, 2) = 150
data(2, 3) = 8
data(3, 0) = 14000000
data(3, 1) = 37.5
data(3, 2) = 125
data(3, 3) = 7.5

Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan Kriteria Pembobotan untuk masing-masing kriteria
Jumlah pembobotan dari semua kriteria harus sama dengan 100%
Contoh dalam kasus ini:
Bobot harga 35%
Bobot jarak tempuh per liter 25%
Bobot cc 15%
Bobot nilai model 25%

Dim bobot(3) As Double
bobot(0) = 0.35
bobot(1) = 0.25
bobot(2) = 0.15
bobot(3) = 0.25

2. Tentukan nilai terbaik dari setiap kriteria
Diasumsikan dalam kasus ini adalah:
Untuk kriteria harga, nilai terbaik adalah nilai terendah, nilai terburuk adalah nilai tertinggi
Untuk kriteria jarak tempuh per liter, nilai terbaik adalah nilai tertinggi, nilai terburuk adalah nilai terendah
Untuk kriteria cc, nilai terbaik adalah nilai tertinggi, nilai terburuk adalah nilai terendah
Untuk kriteria nilai model, nilai terbaik adalah nilai tertinggi, nilai terburuk adalah nilai terendah

3. Hitung matriks normalisasi
Untuk kriteria dengan nilai terbaik adalah nilai terendah, maka matriks normalisasi dihitung dengan (nilai minimal pada kolom tersebut) dibagi dengan data awal
Untuk kriteria dengan nilai terbaik adalah nilai tertinggi, maka matriks normalisasi dihitung dengan data awal dibagi dengan (nilai maksimal pada kolom tersebut))

Dim maksNormalisasi(3) As Double
For i As Integer = 0 To 3
	If i = 0 Then
		maksNormalisasi(i) = Double.MaxValue
	Else
		maksNormalisasi(i) = 0
	End If

	For j As Integer = 0 To 3
		If i = 0 Then
			If maksNormalisasi(i) > data(j, i) Then maksNormalisasi(i) = data(j, i)
		Else
			If maksNormalisasi(i) < data(j, i) Then maksNormalisasi(i) = data(j, i)
		End If

	Next
Next

Dim normalisasi(3, 3) As Double
For i As Integer = 0 To 3
	For j As Integer = 0 To 3
		If j = 0 Then
			normalisasi(i, j) = maksNormalisasi(j) / data(i, j)
		Else
			normalisasi(i, j) = data(i, j) / maksNormalisasi(j)
		End If
	Next
Next

4. Hitung nilai akhir untuk setiap inputan data dengan cara perkalian antara matriks normalisasi dengan matriks bobot
Data yang terpilih adalah data dengan nilai akhir yang paling besar

Dim motor As String = ""
Dim maks As Double = 0
Dim nilai(3) As Double
Console.WriteLine("")
Console.WriteLine("Hasil nilai akhir adalah")
For i As Integer = 0 To 3
	nilai(i) = 0
	For j As Integer = 0 To 3
		nilai(i) += normalisasi(i, j) * bobot(j)
	Next
	Console.WriteLine("Motor " & Chr(i + 65) & ": " & nilai(i).ToString("F2"))

	If maks < nilai(i) Then
		motor = "Motor " & Chr(i + 65)
		maks = nilai(i)
	End If
Next

Hasil akhir adalah: (klik untuk perbesar gambar)

cmd19

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

Contoh perhitungan dalam bentuk excel

Contoh modul / source code dalam bahasa R:



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 SAW (Simple Additive Weighting)