Metode WP (Weigted Product) merupakan salah satu metode sistem pendukung keputusan, dimana perkalian digunakan untuk menghubungkan rating atribut, dan rating setiap atribut harus dipangkatkan dulu dengan bobot atribut yang bersangkutan. Untuk Lebih jelasnya berikut ini adalah algoritma metode weighted product :
- Persiapkan terlebih dahulu bobot dan lakukan perbaikan bobot dengan :
W j = Wj / ∑Wj
- Normalisasi matriks X berdasarkan persamaan
sehingga diperoleh matriks ternormalisasi S.
- wj adalah pangkat bernilai positif untuk atribut keuntungan, dan bernilai negatif untuk atribut biaya.
- Lakukan perangkingan dengan menggunakan persamaan :
.
Data Matrix calo kepala unit sistem informasi : Bobot (w) :
W | 0.35 | 0.25 | 0.25 | 0.15 |
- Lakukan perbaikan bobot :
$bobot
=
array
(0.35, 0.25, 0.25, 0.15);
$jumBobot
=
array_sum
(
$bobot
);
echo
"<h3>Bobot Awal</h3>"
;
echo
"<table border=1 style='border-collapse:collapse; border:solid 1px #000' width=300><tr><td>Bobot (w)</td>"
;
for
(
$i
=0;
$i
<4;
$i
++)
echo
"<td>$bobot[$i]</td>"
;
echo
"</tr></table>"
;
//Perbaikan bobot
//Simpan di array newBobot
$newBobot
=
array
();
echo
"<h3>Bobot Baru</h3>"
;
echo
"<table border=1 style='border-collapse:collapse; border:solid 1px #000' width=300><tr><td>Bobot (W new)</td>"
;
for
(
$i
=0;
$i
<4;
$i
++){
$newBobot
[
$i
] =
$bobot
[
$i
] /
$jumBobot
;
echo
"<td>$newBobot[$i]</td>"
;
}
echo
"</tr></table>"
;
- Normalisasi Matrix
//Lakukan Normalisasi dengan rumus pada langkah 2
//Hitung Normalisasi tiap Elemen
$sql2
= mysql_query(
"SELECT * FROM tbmatrik"
);
//Buat tabel untuk menampilkan hasil
echo
"<H3>Matrik Normalisasi</H3>
<table width=300 style=
'border:1px; #ddd; solid; border-collapse:collapse'
border=1>
<tr>
<td>No</td><td>Nama</td><td>Nilai S</td>
</tr>
";
$no
= 1;
$i
= 0;
//Buat variabel S array
$normS
=
array
();
while
(
$dt2
= mysql_fetch_array(
$sql2
)) {
//Hitung S per baris
$normS
[
$i
] = pow(
$dt2
[
'Kriteria1'
],
$newBobot
[0]) * pow(
$dt2
[
'Kriteria2'
],
$newBobot
[1]) * pow(
$dt2
[
'Kriteria3'
],
$newBobot
[2]) * pow(
$dt2
[
'Kriteria4'
],
$newBobot
[3]);
echo
"<tr>
<td>
$no
</td><td>
".getNama($dt2['idCalon'])."
</td><td>
".round($normS[$i],2)."
</td>
</tr>";
$no
++;
$i
++;
}
echo
"</table>"
;
- Lakukan Perangkingan
//Proses perangkingan dengan rumus langkah 3
//Jumlahkan Terlebih dahulu nilai S
$jums
=
round
(
array_sum
(
$normS
),2);
$sql3
= mysql_query(
"SELECT * FROM tbmatrik"
);
//Buat tabel untuk menampilkan hasil
echo
"<H3>Perangkingan</H3>
Nilai Sum S =
$jums
<table width=300 style=
'border:1px; #ddd; solid; border-collapse:collapse'
border=1>
<tr>
<td>No</td><td>Nama</td><td>Rangking</td>
</tr>
";
$no
= 1;
$i
=0;
//Kita gunakan rumus (s/ sum(s))
while
(
$dt3
= mysql_fetch_array(
$sql3
)) {
echo
"<tr>
<td>
$no
</td><td>
".getNama($dt3['idCalon'])."
</td>
<td>"
.
round
(
$normS
[
$i
]/
$jums
,2)."</td>
</tr>";
$no
++;
$i
++;
}
echo
"</table>"
;
Tidak ada komentar:
Posting Komentar