Dalam
implementasinya, Metode WP ini dapat juga diterapkan dalam berbagai
kasus, semisal : Perangkingan karyawan terbaik, Penentuan penerima
beasiswa, rekomendasi produk elektronik tertentu, Pemilihan tempat kost
dan lain sebagainya, untuk lebih jelasnya mengenai metode WP ini coba
kita kupas rumus dan implementasinya yang kami ambil dari bahan ajar
salah satu dosen Universitas Islam Indonesia yaitu Ibu Sri Kusumadewi dengan
judul " Metode - Metode optimasi dengan Alternatif terbatas ". Berikut
rumus dan contoh penggunaan dari Metode WP - MADM :
Yang jadi pertanyaan sekarang adalah bagaimana implementasi dari metode WP pada contoh di atas dalam pemrograman PHP?
OK, mari kita bahas. Untuk sementara anggap saja kita hanya mengimplementasikan study kasus di atas, jadi kita belum membutuhkan database, kecuali kalau nanti kita ingin menerapkannya menjadi sebuah aplikasi.
Untuk Study Kasus di atas maka :
- Untuk tiap alternatif akan kita definisikan sebagai sebuah array,
- Nilai kriteria dan nilai alternatif disetiap kriteria akan disimpan dalam sebuah variabel array
Maka Script Penyelesaian untuk study kasus di atas adalah :
- Nilai W adalah nilai yang sudah ditentukan / nilai inputan kalau diterapkan dalam sebuah aplikasi.
<?php
// definisi alternatif sebagai array
$alternatif = array("Ngemplak","Kalasan","Kota Gede");
$jum_alternatif=count($alternatif);
// definisi kriteria sebagai array
$kriteria = array ("jarak pasar","jumlah penduduk","jarak pabrik","jarak gudang","harga tanah");
$jum_kriteria=count($kriteria);
// bobot kepentingan
$w = array(5,3,4,4,2);
// perbaikan bobot kepentingan
$totalW=5+3+4+4+2;
$wp[0]=round(($w[0]/$totalW),2);
$wp[1]=round(($w[1]/$totalW),2);
$wp[2]=round(($w[2]/$totalW),2);
$wp[3]=round(($w[3]/$totalW),2);
$wp[4]=round(($w[4]/$totalW),2);
// definisi array untuk nilai alternatif tiap kriteria
//A[x][y] -> x untuk alternatif, y untuk kriteria
$A[0][0]=0.75;$A[0][1]=2000;$A[0][2]=18;$A[0][3]=50;$A[0][4]=500;
$A[1][0]=0.50;$A[1][1]=1500;$A[1][2]=20;$A[1][3]=40;$A[1][4]=450;
$A[2][0]=0.90;$A[2][1]=2050;$A[2][2]=35;$A[2][3]=35;$A[2][4]=800;
// perhitungan vektor S
// C2 dan C4 nilai keuntungan bernilai +, C1,C3,C5 kriteria biaya bernilai -
for ($i=0;$i<$jum_alternatif;$i++)
{
$S[$i]=1;
for($j=0;$j<$jum_kriteria;$j++)
{
if ($j==0 or $j==2 or $j==4) {$p=0-$wp[$j];} else {$p=$wp[$j];}
$S[$i]=$S[$i]*pow($A[$i][$j],$p);
}
$totalS=$totalS+$S[$i];
}
// perhitungan vektor V
$rangkingawal=0;
for ($i=0;$i<$jum_alternatif;$i++)
{
$V[$i]=$S[$i]/$totalS;
if ($V[$i]>$rangkingawal)
{
$rangkingawal=$V[$i]; $pilihan=$alternatif[$i];$hasil=$V[$i]; $urutan=$i;
}
}
// Hasil Akhir
echo "Hasil perangkingan yang di pilih adalah Vektor V ke-".$urutan." yaitu :<br><b>".$pilihan."</b> dengan nilai <b>".$hasil."</b>";
?>
Setelah script di atas di jalankan, maka berikut tampilan yang dihasilkan, sama persis dengan contoh kasus di atas.
Tidak ada komentar:
Posting Komentar