Metode AHP dan Sistem Pendukung Keputusan SAW dalam PHP dan Delphi
Dalam industri manufaktur maupun jasa, pengambil keputusan sering kali dihadapkan suatu permasalah yang kompleks. Salah satu permasalahan yang tersebut adalah masalah menentukan pilihan dari beberapa kandidat atau sekadar mengurutkan prioritas dari beberapa kandidat. Contoh-contoh dalam industri manufaktur termasuk pemilihan supplier, pemilihan pembelian mesin, pemilihan lokasi pabrik, dan lain-lain. Sedangkan contoh-contoh dalam industri jasa seperti pemilihan kendaraan logistik, pemilihan pekerjaan konsultan, pemilihan rute pelayanan, dan-lain.- Melibatkan kriteria-kriteria kualitatif yang sulit dikuantitatifkan secara eksak.
- Masing-masing kriteria dapat memiliki sub-sub kriteria yang dapat dibentuk seperti hirarki
- Penilaian dapat dilakukan oleh satu atau beberapa pengambil keputusan secara sekaligus
- Kandidat pilihan sudah tertentu dan terbatas jumlahnya
Dalam model di atas, terlihat ada beberapa level/baris yang membentuk sebuah hirarki. Level bagian atas adalah untuk merepresentasikan tujuan. Dua level di bawahnya merupakan level kriteria dan sub-kriteria. Sedangkan level paling bawah menunjukkan kandidat-kandidat yang akan dipertimbangkan untuk dipilih.
Konsep dasar dari AHP adalah penggunaan pairwise comparison matrix (matriks perbandingan berpasangan) untuk menghasilkan bobot relatif antar kriteria maupun alternatif. Suatu kriteria akan dibandingkan dengan kriteria lainnya dalam hal seberapa penting terhadap pencapaian tujuan di atasnya. Sebagai contoh, kriteria spesifikasi dan kriteria biaya akan dibandingkan seberapa pentingnya dalam hal memilih armada transportasi. Begitu juga untuk alternatif. Kendaraan A, B, dan C akan dibandingkan secara berpasangan (dan akan dibentuk matriks) dalam hal sub-kriteria biaya pemeliharaan misalnya.
Nilai-nilai yang disarankan untuk membuat matriks perbandingan berpasangan adalah sebagai berikut:
- 1 : sama penting (equal)
- 3 : lebih penting sedikit (slightly)
- 5 : lebih penting secara kuat (strongly)
- 7 : lebih penting secara sangat kuat (very strong)
- 9 : lebih penting secara ekstrim (extreme)
Matriks perbandingan berpasangan tersebut harus dibuat tiap level yang memiliki hirarki atasan yang sama. Sebagai contoh pada hirarki sebelumnya, kita harus membuat matriks perbandingan berpasangan untuk sub-kriteria kapasitas angkut dan sub-kriteria ketersediaan suku cadang terhadap kriteria spesifikasi, matriks perbandingan berpasangan antara sub-kriteria biaya pembelian, biaya pemeliharaan dan biaya perton mileage terhadap kriteria biaya, dan seterusnya.
Dalam membuat matriks berpasangan, kita hanya perlu menentukan matriks segitiga atas saja karena matriks segitiga bawah hanyalah nilai reprisokal dari matriks segitiga atas. Selain itu, nilai-nilai diagonal pada matriks perbandingan berpasangan adalah satu (karena setiap item dibandingkan dengan dirinya sendiri). Dengan demikian, apabila kita ingin membuat matriks perbandingan berpasangan dengan jumlah n item, maka kita hanya perlu membuat perbandingan sejumlah n(n-1)/2.
Jika semua matriks perbandingan berpasangan sudah dikumpulkan, kita dapat menghasilkan bobot prioritas akhir dari kandidat pilihan. Langkah pertama adalah setiap matriks perbandingan berpasangan perlu dicari bobot absolut masing-masing item. Setelah itu, bobot prioritas akhir didapat dengan mengkalikan bobot absolut alternatif dengan bobot-bobot kriteria dan sub-kriteria di atasnya. Kemudian, bobot prioritas akhir ini dapat dijadikan sebagai acuan pemilihan kandidat ataupun pengurutan kepentingan kandidat pilihan.
Dalam tulisan ini, saya akan berbagi sebuah template excel yang dapat digunakan untuk menghasilkan bobot absolut dari sebuah matriks perbandingan berpasangan. Sebagai contoh, kita mempunyai matriks perbandingan berpasangan dengan lima item sebagai berikut:
Matriks perbandingan tersebut dapat dihitung dengan template berikut (sila unduh):
AHP
Sebagai tambahan, indeks consistency ratio menunjukkan rasio kekonsistenan matriks perbandingan berpasangan tersebut. Suatu matriks perbandingan berpasangan dianggap tidak konsisten (tidak dibuat dengan baik) apabilai nilai indeks rasio tersebut lebih dari 0.1. Selain itu, sebaiknya kita tidak membandingkan lebih dari tujuh item sekaligus dalam sebuah matriks perbandingan berpasangan. Hal ini dikarenakan nilai consistency ratio tidak cukup menggambarkan tingkat kekonsistenan matriks tersebut ketika jumlah item lebih dari tujuh.
Berikut adalah tampilan dari template tersebut.
Kemudian dengan meng-klik tombol yang tersedia, kita akan mendapatkan consistency ratio maupun bobot masing-masing item seperti tampilan di bawah.
Cara perhitungan yang saya gunakan dalam template excel tersebut adalah menggunakan iterasi rataan geometri (geomean approach). Sebenarnya metode eksak untuk menghitung bobot AHP didasarkan dengan perhitungan nilai Eigen dari matriks. Akan tetapi, perhitungan nilai Eigen akan menghasilkan programa nonlinear yang cukup kompleks (untuk jumlah item lebih dari dua). Sementara itu, berdasarkan teorema, perhitungan iterasi rataan geometri ini akan secara konvergen menuju hasil yang didapatkan dengan metode nilai Eigen.
Penerapan Metode Sistem Pendukung Keputusan 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 :
- Siapkan terlebih dahulu data yang disimpan dalam Matrik Data.
- Lakukan Normalisasi Matrik Data dengan formula :
- Lakukan perangkingan dengan Formula
Vi = (rij * wi) + (rij * wi) + .. (rxx * wx)
Selanjutnya kita buat tabel untuk menyimpan matrik, misal tbmatrik :
tbcalon :
dan data Matrik :
Langkah-langkah perhitungan sistem pendukung keputusan dengan php :
Lakukan Langkah ke 2, yakni normalisasi :
//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
"
Matrik Normalisasi
'border:1px; #ddd; solid; border-collapse:collapse'
border=1>
NoNamaC1C2C3C4
";
$no
= 1;
while
(
$dt2
= mysql_fetch_array(
$sql2
)) {
echo
"
$no
".getNama($dt2['idCalon'])."
".round($dt2['Kriteria1']/$max['maxK1'],2)."
".round($dt2['Kriteria2']/$max['maxK2'],2)."
".round($dt2['Kriteria3']/$max['maxK3'],2)."
".round($dt2['Kriteria4']/$max['maxK4'],2)."
$no
++;
}
echo
"
;
";
$no
= 1;
//Kita gunakan rumus (Normalisasi x bobot)
while
(
$dt3
= mysql_fetch_array(
$sql3
)) {
echo
"
$no
".getNama($dt3['idCalon'])."
"
.
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)."
$no
++;
}
echo
"
;
Selesai, berikut adalah perhitungan sistem pendukung keputusan dengan PHP :
Source code, download Source Code Sistem Pendukung Keputusan SAW.
No comments:
Post a Comment