Selasa, 20 Mei 2014

Sistem Pendukung Keputusan Dengan Metode SAW

Metode sistem pendukung keputusan SAW (Simple additive Weighting) merupakan salah satu metode Sistem Pendukung Keputusan yang menggunakan konsep penjumlahan terbobot. Pada tulisan kali ini saya akan memberikan contoh bagaimana cara Penerapan Metode Sistem Pendukung Keputusan SAW dengan PHP. Sebelumnya saya akan menjelaskan proses dari metode Simple additive weighting :
  1. Siapkan terlebih dahulu data yang disimpan dalam Matrik Data.
  2. Lakukan Normalisasi Matrik Data dengan formula :
    Normalisasi Matrik SAW
    Normalisasi Matrik SAW
  3. Lakukan perangkingan dengan Formula
    1
    Vi = (rij * wi) + (rij * wi) + .. (rxx * wx)
Sebagai bahan Penerapan Metode SAW, berikut contoh kasus yang akan kita coba lakukan perhitungan dengan PHP.
Suatu Institusi Perguruan tinggi akan memilih seorang karyawan untuk dipromosikan sebagai kepala unit Sistem Informasi.
Ada empat kriteria yang digunakan untuk melakukan penilaian yaitu :
  1. C1  = Tes Pengetahuan (Wawasan) Sistem Informasi.
  2. C2 = Praktik Insatalasi Jaringan
  3. C3 = Tes Kepripadian
  4. C4 = Tes Pengetahuan Agama.
Pengambil keputusan memberikan bobot untuk setiap kriteria sebagai berikut: C1 = 35%; C2 = 25%; C3 = 25%; dan C4 = 15%.

Ada enam orang karyawan yang menjadi kandidat (alternatif) untuk dipromosikan sebagai kepala unit, yaitu:
  1. A1 = Indra
  2. A2 = Roni,
  3. A3 = Putri,
  4. A4 = Dani,
  5. A5 = Ratna, dan
  6. A6 = Mira.
Data diatas sekarang kita rubah ke dalam database, buat database kira2 seperti ini :
tbcalon :
Tabel Calon Sistem Pendukung Keputusan
Tabel Calon Sistem Pendukung Keputusan
Selanjutnya kita buat tabel untuk menyimpan matrik, misal tbmatrik :
Tabel Matrik Sistem Pendukung Keputusan
Tabel Matrik Sistem Pendukung Keputusan
Setelah keduanya dibuat, silahkan isi data sehingga terbentuk data seperti ini :
tbcalon :
Data Calon SPK
Data Calon SPK
dan data Matrik :
Data Matrik Calon SPK
Data Matrik Calon SPK
Langkah-langkah perhitungan sistem pendukung keputusan dengan php :
Lakukan Langkah ke 2, yakni normalisasi :
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
26
//Lakukan Normalisasi dengan rumus pada langkah 2
    //Cari Max atau min dari tiap kolom Matrik
    $crMax = mysql_query("SELECT max(Kriteria1) as maxK1,
                        max(Kriteria2) as maxK2,
                        max(Kriteria3) as maxK3,
                        max(Kriteria4) as maxK4
            FROM tbmatrik");
    $max = mysql_fetch_array($crMax);
 
    //Hitung Normalisasi tiap Elemen
    $sql2 = mysql_query("SELECT * FROM tbmatrik");
    //Buat tabel untuk menampilkan hasil
    echo "<H3>Matrik Normalisasi</H3>
    <table width=500 style='border:1px; #ddd; solid; border-collapse:collapse' border=1>
        <tr>
            <td>No</td><td>Nama</td><td>C1</td><td>C2</td><td>C3</td><td>C4</td>
        </tr>
        ";
    $no = 1;
    while ($dt2 = mysql_fetch_array($sql2)) {
        echo "<tr>
            <td>$no</td><td>".getNama($dt2['idCalon'])."</td><td>".round($dt2['Kriteria1']/$max['maxK1'],2)."</td><td>".round($dt2['Kriteria2']/$max['maxK2'],2)."</td><td>".round($dt2['Kriteria3']/$max['maxK3'],2)."</td><td>".round($dt2['Kriteria4']/$max['maxK4'],2)."</td>
        </tr>";
    $no++;
    }
    echo "</table>";
Selanjutnya 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
//Proses perangkingan dengan rumus langkah 3
    $sql3 = mysql_query("SELECT * FROM tbmatrik");
    //Buat tabel untuk menampilkan hasil
    echo "<H3>Perangkingan</H3>
    <table width=500 style='border:1px; #ddd; solid; border-collapse:collapse' border=1>
        <tr>
            <td>No</td><td>Nama</td><td>Rangking</td>
        </tr>
        ";
    $no = 1;
    //Kita gunakan rumus (Normalisasi x bobot)
    while ($dt3 = mysql_fetch_array($sql3)) {
        echo "<tr>
            <td>$no</td><td>".getNama($dt3['idCalon'])."</td>
            <td>"
            .round((($dt3['Kriteria1']/$max['maxK1'])*$bobot[0])+
            (($dt3['Kriteria2']/$max['maxK2'])*$bobot[1])+
            (($dt3['Kriteria3']/$max['maxK3'])*$bobot[2])+
            (($dt3['Kriteria4']/$max['maxK4'])*$bobot[3]),2)."</td>
        </tr>";
    $no++;
    }
    echo "</table>";
Selesai, berikut adalah perhitungan sistem pendukung keputusan dengan PHP :
Hasil Sistem Pendukung Keputusan
Hasil Sistem Pendukung Keputusan

Tidak ada komentar: