Jumat, 22 Mei 2015

Metode SPK WP(Weighted Product)

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
Normalisasi Matrik Metode WP
sehingga diperoleh matriks ternormalisasi S.
  • wj adalah pangkat bernilai positif untuk atribut keuntungan, dan bernilai negatif untuk atribut biaya.
  • Lakukan perangkingan dengan menggunakan persamaan :
    Perangkingan WP.
Setelah memahami algoritma tersebut, kita siapkan data-data untuk menghitung metode Weighted product dengan PHP.
Data Matrix calon kepala unit sistem informasi :
Data Matrik Metode Weighted Product
Bobot (w) :
W0.350.250.250.15
  1. $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>";  
  2. Normalisasi Matrix
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    //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>";
  3. Lakukan Perangkingan 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    //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>";
Selesai, berikut adalah hasil dari source code sistem pendukung keputusan Weighted Product :
Hasil SPK Metode WP
Hasil SPK Metode WP

Tidak ada komentar:

Posting Komentar