Metode ELECTRE merupakan salah satu metode untuk menyelesaikan masalah Multi-Attribute Decision Making (MADM) yang didasarkan pada konsep perangkingan melalui perbandingan berpasangan antar alternatif pada kriteria yang sesuai.
[
author : cahya dsn
,
published on : February 5, 2015
updated on : July 3, 2018
]
ELECTRE (ELimination Et Choix TRaduisant la realitE) didasarkan pada konsep perangkingan melalui perbandingan berpasangan antar alternatif pada kriteria yang sesuai.
Suatu alternatif dikatakan mendominasi alternatif yang lainya jika satu atau lebih kriterianya melebihi (dibandingkan dengan kriteria dari alternatif yang lain) dan sama dengan kriteria lain yang tersisa. (kusumadewi, 2006: 81) Hubungan perangkingan antara 2 alternatif Ak
dan Al
dinotasikan sebagai Ak ® Al
. jika alternatif ke-k
tidak mendominasi alternatif ke-l
secara kuantitatif, sehingga pengambil keputusan lebih baik mengambil resiko Ak
daripada Al
(Roy, 1973)
ELECTRE dimulai dari membentuk perbandingan berpasangan setiap alternatif di setiap kriteria(xij
). Nilai X
ini harus dinormalisasikan ke dalam suatu skala yang dapat
diperbandingkan (rij
):
dengan i=1,2,...,m; dan j=1,2,...,n;
dalam hal ini n
adalah jumlah alternatif dan m
adalah jumlah kriteria
Selanjutnya pengambil keputusan harus memberikan faktor kepentingan (bobot) pada setiap kriteria yang mengekspresikan kepentingan relatifnya (wj
)
W=(w1,w2, ..., wn)
dengan total jumlh nilai W
adalah sama dengan 1, atau :
Bobot ini selanjutnya dikalikan dengan matriks perbandingan berpasangan membentuk matriks V:
vij=wjxij
Pembentukan concordance index dan discordance index untuk setiap pasangan alternatif dilakukan melalui taksiran terhadap relasi perankingan.Untuk setiap padangan alternatif Ak
dan Al
(k,l=1,2,...,m
; dan k1l
), matriks keputusan untuk kriteria j
, terbagi menjadi 2 himpunan bagian. Pertama, himpunan cocordance index {Ckl}
menunjukkan penjumlahan bobot-bobot kriteria yang mana alternatif Ak
lebih baik daripada alternatif Al
dengan j=1,2,...,n
;
Kedua, himpunan discordance index {dkl}
diberikan sebagai:
dengan j=1,2,...,n
;
Matriks Concordance (C
) berisi elemen-elemen yang dihitung dari concordance index , dan berhubungan dengan bobot atribut , yaitu:
Demikian pula dengan matriks Discordance (D
) berisi elemen-elemen yang dihitung dari discordance index (Triantaphyllou,2000). Matriks ini berhubungan dengan nilai-nilai atribut,yaitu:
Matriks-matriks tersebut dapat dibangun dengan bantuan suatu nilai ambang (threshold), c
. Nilai c
dapat diperoleh dengan persamaan :
Alternatif Ak
dapat memiliki kesempatan untuk dominasi Al
, jika concordance index ckl
melebihi threshold c
:
ckl >= c
dan elemen-elemen dari matriks concordance dominan F
ditentukan sebagai:
hal yang sama juga berlaku untuk matriks discordance dominan G
dengan threshold d
. Nilai d
dapat diperoleh dengan persamaan
dan elemen-elemen dari matriks discordance domian G
ditentukan sebagai
Agregasi dari matriks dominan (E
) yang menunjukkan urutan preferensi parsial dari alternatif-alternatif, diperoleh dengan persamaan:
ekl=fkl x gkl
Jika ekl=1
; maka hal tersebut mengindikasikan bahwa alternatif Ak
lebih dipilih daripada alternatif Al
.
Sebuah perusahaan manufaktur yang sedang berkembang membutuhkan ruang penyimpanan/gudang untuk tempat penyimpanan sementara hasil produksinya. Dari hasil survey; ada 7 alternatif tempat yang tersedia dan bisa dijadikan pilihan, yaitu A1 : Cakung, A2 : Cikarang, A3 : Sunter, A4 : Kelapa Gading, A5 : Cibitung, A6 : Ancol, dan A7 : Pluit. Ada 5 kriteria yang dijadikan acuan dalam pengambilan keputusan, yaitu:
Tabel 1 menunjukkan rating kecocokan dari setiap alternatif dengan setiap kriteria. Nilai setiap alternatif pada setiap atribut diberikan berdasarkan data kecocokan (nilai terbesar adalah nilai terbaik) maka semua kriteria yang diberikan diasumsikan sebagai kriteria keuntungan/benefit.
Alternative | Criteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 Cakung | 2 | 1 | 1 | 4 | 4 |
A2 Cikarang | 3 | 2 | 2 | 3 | 4 |
A3 Sunter | 2 | 5 | 1 | 5 | 2 |
A4 Kelapa Gading | 3 | 5 | 1 | 4 | 4 |
A5 Cibitung | 4 | 5 | 2 | 2 | 4 |
A6 Ancol | 5 | 5 | 2 | 4 | 4 |
A7 Pluit | 4 | 5 | 5 | 4 | 4 |
Pengambil keputusan memberi bobot preferensi dari setiap kriteria sebagai: W=(6,4,5,2,4)
seperti dalam Tabel 2 berikut:
Criteria | Description | Weight |
---|---|---|
C1 | jarak dengan pusat niaga terdekat(km) | 6 |
C2 | kepadatan penduduk disekitar lokasi (orang/km2) | 4 |
C3 | jarak dari pabrik(km) | 5 |
C4 | jarak dengan gudang yang sudah ada (km) | 2 |
C5 | harga tanah untuk lokasi (x1000 Rp/m2) | 4 |
Sebagai bahan pembelajaran aplikasi ELECTRE ini; dibuat database (dalam hal ini menggunakan MySQL/MariaDB Database server) sebagai berikut:
CREATE DATABASE IF NOT EXISTS db_dss; USE db_dss;
Berdasarkan contoh kasus di atas dibuatkan tabel untuk data-data kriteria sebagai berikut:
DROP TABLE IF EXISTS electre_criterias; CREATE TABLE IF NOT EXISTS electre_criterias( id_criteria TINYINT(3) UNSIGNED NOT NULL, criteria VARCHAR(100) NOT NULL, weight FLOAT NOT NULL, PRIMARY KEY(id_criteria) )ENGINE=MyISAM; INSERT INTO electre_criterias VALUES (1,'jarak dengan pusat niaga terdekat(km)',6),
(2,'kepadatan penduduk disekitar lokasi (orang/km2)',4),
(3,'jarak dari pabrik(km)',5),
(4,'jarak dengan gudang yang sudah ada (km)',2),
(5,'harga tanah untuk lokasi (x1000 Rp/m2)',4);
Data-data mengenai kandidat yang akan dievaluasi seperti yang tertera pada contoh kasus di atas dapat di representasikan dalam tabel database sebagai berikut:
DROP TABLE IF EXISTS electre_alternatives; CREATE TABLE IF NOT EXISTS electre_alternatives( id_alternative SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, PRIMARY KEY(id_alternative) ) ENGINE=MyISAM; INSERT INTO electre_alternatives VALUES (1,'Cakung'),
(2,'Cikarang'),
(3,'Sunter'),
(4,'Kelapa Gading'),
(5,'Cibitung'),
(6,'Ancol'),
(7,'Pluit');
DROP TABLE IF EXISTS electre_evaluations; CREATE TABLE IF NOT EXISTS electre_evaluations( id_alternative SMALLINT(5) UNSIGNED NOT NULL, id_criteria TINYINT(3) UNSIGNED NOT NULL, value FLOAT NOT NULL, PRIMARY KEY (id_alternative,id_criteria) )ENGINE=MyISAM; INSERT INTO electre_evaluations VALUES (1,1,2), (1,2,1), (1,3,1), (1,4,4), (1,5,4), (2,1,3), (2,2,2), (2,3,2), (2,4,3), (2,5,4), (3,1,2), (3,2,5), (3,3,1), (3,4,5), (3,5,2), (4,1,3), (4,2,5), (4,3,1), (4,4,4), (4,5,4), (5,1,4), (5,2,5), (5,3,2), (5,4,2), (5,5,4), (6,1,5), (6,2,5), (6,3,2), (6,4,4), (6,5,4), (7,1,4), (7,2,5), (7,3,5), (7,4,4), (7,5,4);
Dari databse yang sudah dibuat, kita bisa membuat script php untuk membuat koneksi ke database server dengan extension mysqli secara sederhana sebagai berikut:
<?php
//-- database configurations
$dbhost='localhost';
$dbuser='root';
$dbpass='';
$dbname='db_dss';
//-- database connections
$db=new mysqli($dbhost,$dbuser,$dbpass,$dbname);
//-- halt and show error message if connection fail
if ($db->connect_error) {
die('Connect Error ('.$db->connect_errno.')'.$db->connect_error);
}
?>
Secara umum dalam ELECTRE, langkah-langkah yang dilakukan dalam pengambilan keputusan adalah sebagai berikut:
ELECTRE dimulai dari membentuk perbandingan berpasangan setiap alternatif di setiap kriteria (xij
)
Alternatif | Criteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 | 2 | 1 | 1 | 4 | 4 |
A2 | 3 | 2 | 2 | 3 | 4 |
A3 | 2 | 5 | 1 | 5 | 2 |
A4 | 3 | 5 | 1 | 4 | 4 |
A5 | 4 | 5 | 2 | 2 | 4 |
A6 | 5 | 5 | 2 | 4 | 4 |
A7 | 4 | 5 | 5 | 4 | 4 |
Script PHP yang digunakan untuk mengambil data Perbandingan Berpasangan X
dari tabel electre_evaluations
adalah sebagai berikut :
<?php
//-- query untuk mengambil data jumlah kriteria 'n'
$sql="SELECT COUNT(*)
FROM electre_criterias";
$result=$db->query($sql);
$row=$result->fetch_row();
//--- inisialisasi jumlah kriteria 'n'
$n=$row[0];
//-- query untuk mengambil data Perbandingan Berpasangan X
$sql="SELECT *
FROM electre_evaluations
ORDER BY id_alternative,id_criteria";
$result=$db->query($sql);
$X=array();
$alternative='';
//--- inisialisasi jumlah alternative 'm'
$m=0;
while($row=$result->fetch_row() as $row){
if($row[0]!=$alternative){
$X[$row[0]]=array();
$alternative=$row[0];
++$m;
}
$X[$row[0]][$row[1]]=$row[2];
}
?>
Nilai X
ini harus dinormalisasikan ke dalam suatu skala yang dapat diperbandingkan (rij
) sesuai persamaan [EL-01] sehingga diperoleh matrik R
sebagai berikut:
Alternatif | Criteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 | 0.2195 | 0.0877 | 0.1581 | 0.3961 | 0.4 |
A2 | 0.3293 | 0.1754 | 0.3162 | 0.297 | 0.4 |
A3 | 0.2195 | 0.4385 | 0.1581 | 0.4951 | 0.2 |
A4 | 0.3293 | 0.4385 | 0.1581 | 0.3961 | 0.4 |
A5 | 0.4391 | 0.4385 | 0.3162 | 0.198 | 0.4 |
A6 | 0.5488 | 0.4385 | 0.3162 | 0.3961 | 0.4 |
A7 | 0.4391 | 0.4385 | 0.7906 | 0.3961 | 0.4 |
Persamaan [EL-01] dapat dituliskan dalam kode-kode php sebagai berikut:
<?php
//-- menentukan nilai rata-rata kuadrat per-kriteria
$x_rata=array();
foreach($X as $i=>$x){
foreach($x as $j=>$value){
$x_rata[$j]=(isset($x_rata[$j])?$x_rata[$j]:0)+pow($value,2);
}
}
for($j=1;$j<=$n;$j++){
$x_rata[$j]=sqrt($x_rata[$j]);
}
//-- menormalisasi matriks X menjadi matriks R
$R=array();
$alternative='';
foreach($X as $i=>$x){
if($alternative!=$i){
$alternative=$i;
$R[$i]=array();
}
foreach($x as $j=>$value){
$R[$i][$j]=$value/$x_rata[$j];
}
}
?>
Selanjutnya pengambil keputusan harus memberikan faktor kepentingan (bobot) pada setiap kriteria yang mengekspresikan kepentingan relatifnya (wj
)
Criteria | C1 | C2 | C3 | C4 | C5 |
---|---|---|---|---|---|
Weight | 6 | 4 | 5 | 2 | 4 |
Berikut ini adalah script PHP untuk mengambil data nilai bobot criteria
dari tabel electre_criterias
:
<?php
//-- query untuk mengambil data nilai bobot criteria
$sql="SELECT id_criteria, weight
FROM electre_criterias
ORDER BY id_criteria";
$result=$db->query($sql);
$criteria=array();
while($row=$result->fetch_row($result))
$criteria[$row[0]]=$row[1];
?>
Bobot ini selanjutnya dikalikan dengan matriks perbandingan berpasangan(R
), sesuai
dengan persamaan [EL-04] sehingga membentuk matriks Preferensi (V
) seperti berikut ini :
Alternatif | Criteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 | 1.3172 | 0.3508 | 0.7906 | 0.7921 | 1.6 |
A2 | 1.9758 | 0.7016 | 1.5811 | 0.5941 | 1.6 |
A3 | 1.3172 | 1.7541 | 0.7906 | 0.9901 | 0.8 |
A4 | 1.9758 | 1.7541 | 0.7906 | 0.7921 | 1.6 |
A5 | 2.6343 | 1.7541 | 1.5811 | 0.3961 | 1.6 |
A6 | 3.2929 | 1.7541 | 1.5811 | 0.7921 | 1.6 |
A7 | 2.6343 | 1.7541 | 3.9528 | 0.7921 | 1.6 |
Pembentukan matrik Preferensi V sesuai dengan persamaan [EL-04] tersebut dapat dituliskan dalam kode PHP sebagai berikut:
<?php
//-- inisialisasi matrik preferensi V dan himpunan bobot kriteria w
$V=$w=array();
//-- memasukkan data bobot ke dalam $w
foreach($criteria as $j=>$weight)
$w[$j]=$weight;
$alternative='';
//-- menghitung nilai Preferensi V
foreach($R as $i=>$r){
if($alternative!=$i){
$alternative=$i;
$V[$i]=array();
}
foreach($r as $j=>$value){
$V[$i][$j]=$w[$j]*$value;
}
}
?>
Berdasarkan dengan persamaan [EL-05] didapatkan himpunan concordance index sebagai berikut:
C12={ 4 , 5 }
C13={ 1 , 3 , 5 }
C14={ 3 , 4 , 5 }
C15={ 4 , 5 }
C16={ 4 , 5 }
C17={ 4 , 5 }
C21={ 1 , 2 , 3 , 5 }
C23={ 1 , 3 , 5 }
C24={ 1 , 3 , 5 }
C25={ 3 , 4 , 5 }
C26={ 3 , 5 }
C27={ 5 }
C31={ 1 , 2 , 3 , 4 }
C32={ 2 , 4 }
C34={ 2 , 3 , 4 }
C35={ 2 , 4 }
C36={ 2 , 4 }
C37={ 2 , 4 }
C41={ 1 , 2 , 3 , 4 , 5 }
C42={ 1 , 2 , 4 , 5 }
C43={ 1 , 2 , 3 , 5 }
C45={ 2 , 4 , 5 }
C46={ 2 , 4 , 5 }
C47={ 2 , 4 , 5 }
C51={ 1 , 2 , 3 , 5 }
C52={ 1 , 2 , 3 , 5 }
C53={ 1 , 2 , 3 , 5 }
C54={ 1 , 2 , 3 , 5 }
C56={ 2 , 3 , 5 }
C57={ 1 , 2 , 5 }
C61={ 1 , 2 , 3 , 4 , 5 }
C62={ 1 , 2 , 3 , 4 , 5 }
C63={ 1 , 2 , 3 , 5 }
C64={ 1 , 2 , 3 , 4 , 5 }
C65={ 1 , 2 , 3 , 4 , 5 }
C67={ 1 , 2 , 4 , 5 }
C71={ 1 , 2 , 3 , 4 , 5 }
C72={ 1 , 2 , 3 , 4 , 5 }
C73={ 1 , 2 , 3 , 5 }
C74={ 1 , 2 , 3 , 4 , 5 }
C75={ 1 , 2 , 3 , 4 , 5 }
C76={ 2 , 3 , 4 , 5 }
Penulisan dalam script PHP untuk mencari himpunan concordance index adalah sebagai berikut:
<?php
/* mencari himpunan concordance index
$n = jumlah kriteria
$m = jumlah alternatif
$V = matrik preferensi
$c = himpunan concordance index
*/
$c=array();
$c_index='';
for($k=1;$k<=$m;$k++){
if($c_index!=$k){
$c_index=$k;
$c[$k]=array();
}
for($l=1;$l<=$m;$l++){
if($k!=$l){
for($j=1;$j<=$n;$j++){
if(!isset($c[$k][$l]))$c[$k][$l]=array();
if($V[$k][$j]>=$V[$l][$j]){
array_push($c[$k][$l],$j);
}
}
}
}
}
?>
Himpunan disconcordance index diperoleh berdasarkan persamaan [EL-06] dan didapatkan sebagai berikut:
D12={ 1 , 2 , 3 }
D13={ 2 , 4 }
D14={ 1 , 2 }
D15={ 1 , 2 , 3 }
D16={ 1 , 2 , 3 }
D17={ 1 , 2 , 3 }
D21={ 4 }
D23={ 2 , 4 }
D24={ 2 , 4 }
D25={ 1 , 2 }
D26={ 1 , 2 , 4 }
D27={ 1 , 2 , 3 , 4 }
D31={ 5 }
D32={ 1 , 3 , 5 }
D34={ 1 , 5 }
D35={ 1 , 3 , 5 }
D36={ 1 , 3 , 5 }
D37={ 1 , 3 , 5 }
D41={}
D42={ 3 }
D43={ 4 }
D45={ 1 , 3 }
D46={ 1 , 3 }
D47={ 1 , 3 }
D51={ 4 }
D52={ 4 }
D53={ 4 }
D54={ 4 }
D56={ 1 , 4 }
D57={ 3 , 4 }
D61={}
D62={}
D63={ 4 }
D64={}
D65={}
D67={ 3 }
D71={}
D72={}
D73={ 4 }
D74={}
D75={}
D76={ 1 }
Berdasarkan persamaan [EL-06] dapat dituliskan script PHP untuk mencari himpunan discordance index sebagai berikut:
<?php
/* mencari himpunan discordance index
$n = jumlah kriteria
$m = jumlah alternatif
$V = matrik preferensi
$c = himpunan discordance index
*/
$d=array();
$d_index='';
for($k=1;$k<=$m;$k++){
if($d_index!=$k){
$d_index=$k;
$d[$k]=array();
}
for($l=1;$l<=$m;$l++){
if($k!=$l){
for($j=1;$j<=$n;$j++){
if(!isset($d[$k][$l]))$d[$k][$l]=array();
if($V[$k][$j]<$V[$l][$j]){
array_push($d[$k][$l],$j);
}
}
}
}
}
?>
Pembentukan matriks Concordance (C) dilakukan dengan terlebih dahulu menghitung nilai elemen-elemennya yang diperoleh dari perhitungan nilai concordance index dengan bobot atribut seperti yang dirumuskan pada persamaan [EL-07], yang diperoleh hasil sebagai berikut:
C12=w4+w5=6
C13=w1+w3+w5=15
C14=w3+w4+w5=11
C15=w4+w5=6
C16=w4+w5=6
C17=w4+w5=6
C21=w1+w2+w3+w5=19
C23=w1+w3+w5=15
C24=w1+w3+w5=15
C25=w3+w4+w5=11
C26=w3+w5=9
C27=w5=4
C31=w1+w2+w3+w4=17
C32=w2+w4=6
C34=w2+w3+w4=11
C35=w2+w4=6
C36=w2+w4=6
C37=w2+w4=6
C41=w1+w2+w3+w4+w5=21
C42=w1+w2+w4+w5=16
C43=w1+w2+w3+w5=19
C45=w2+w4+w5=10
C46=w2+w4+w5=10
C47=w2+w4+w5=10
C51=w1+w2+w3+w5=19
C52=w1+w2+w3+w5=19
C53=w1+w2+w3+w5=19
C54=w1+w2+w3+w5=19
C56=w2+w3+w5=13
C57=w1+w2+w5=14
C61=w1+w2+w3+w4+w5=21
C62=w1+w2+w3+w4+w5=21
C63=w1+w2+w3+w5=19
C64=w1+w2+w3+w4+w5=21
C65=w1+w2+w3+w4+w5=21
C67=w1+w2+w4+w5=16
C71=w1+w2+w3+w4+w5=21
C72=w1+w2+w3+w4+w5=21
C73=w1+w2+w3+w5=19
C74=w1+w2+w3+w4+w5=21
C75=w1+w2+w3+w4+w5=21
C76=w2+w3+w4+w5=15
Sehingga diperoleh matriks Concordance (C) sebagai berikut:
- | 6 | 15 | 11 | 6 | 6 | 6 |
19 | - | 15 | 15 | 11 | 9 | 4 |
17 | 6 | - | 11 | 6 | 6 | 6 |
21 | 16 | 19 | - | 10 | 10 | 10 |
19 | 19 | 19 | 19 | - | 13 | 14 |
21 | 21 | 19 | 21 | 21 | - | 16 |
21 | 21 | 19 | 21 | 21 | 15 | - |
Dalam script PHP perhitungan untuk membentuk data matriks Concondance (C) berdasarkan pada persamaan [EL-07], bisa dituliskan seperti ini :
<?php
$C=array();
$c_index='';
for($k=1;$k<=$m;$k++){
if($c_index!=$k){
$c_index=$k;
$C[$k]=array();
}
for($l=1;$l<=$m;$l++){
if($k!=$l && count($c[$k][$l])){
$f=0;
foreach($c[$k][$l] as $j){
$C[$k][$l]=(isset($C[$k][$l])?$C[$k][$l]:0)+$w[$j];
}
}
}
}
?>
Dengan mengacu pada persamaan [EL-08], maka dapat ditentukan nilai-nilai elemen matriks Discordance (D) berikut ini:
D12=max(|1.32-1.98|;|0.35-0.7|;|0.79-1.58|)/max(|1.32-1.98|;|0.35-0.7|;|0.79-1.58|;|0.79-0.59|;|1.6-1.6|)
=1
D13=max(|0.35-1.75|;|0.79-0.99|)/max(|1.32-1.32|;|0.35-1.75|;|0.79-0.79|;|0.79-0.99|;|1.6-0.8|)
=1
D14=max(|1.32-1.98|;|0.35-1.75|)/max(|1.32-1.98|;|0.35-1.75|;|0.79-0.79|;|0.79-0.79|;|1.6-1.6|)
=1
D15=max(|1.32-2.63|;|0.35-1.75|;|0.79-1.58|)/max(|1.32-2.63|;|0.35-1.75|;|0.79-1.58|;|0.79-0.4|;|1.6-1.6|)
=1
D16=max(|1.32-3.29|;|0.35-1.75|;|0.79-1.58|)/max(|1.32-3.29|;|0.35-1.75|;|0.79-1.58|;|0.79-0.79|;|1.6-1.6|)
=1
D17=max(|1.32-2.63|;|0.35-1.75|;|0.79-3.95|)/max(|1.32-2.63|;|0.35-1.75|;|0.79-3.95|;|0.79-0.79|;|1.6-1.6|)
=1
D21=max(|0.59-0.79|)/max(|1.98-1.32|;|0.7-0.35|;|1.58-0.79|;|0.59-0.79|;|1.6-1.6|)
=0.25048971643406
D23=max(|0.7-1.75|;|0.59-0.99|)/max(|1.98-1.32|;|0.7-1.75|;|1.58-0.79|;|0.59-0.99|;|1.6-0.8|)
=1
D24=max(|0.7-1.75|;|0.59-0.79|)/max(|1.98-1.98|;|0.7-1.75|;|1.58-0.79|;|0.59-0.79|;|1.6-1.6|)
=1
D25=max(|1.98-2.63|;|0.7-1.75|)/max(|1.98-2.63|;|0.7-1.75|;|1.58-1.58|;|0.59-0.4|;|1.6-1.6|)
=1
D26=max(|1.98-3.29|;|0.7-1.75|;|0.59-0.79|)/max(|1.98-3.29|;|0.7-1.75|;|1.58-1.58|;|0.59-0.79|;|1.6-1.6|)
=1
D27=max(|1.98-2.63|;|0.7-1.75|;|1.58-3.95|;|0.59-0.79|)/max(|1.98-2.63|;|0.7-1.75|;|1.58-3.95|;|0.59-0.79|;|1.6-1.6|)
=1
D31=max(|0.8-1.6|)/max(|1.32-1.32|;|1.75-0.35|;|0.79-0.79|;|0.99-0.79|;|0.8-1.6|)
=0.57008771254957
D32=max(|1.32-1.98|;|0.79-1.58|;|0.8-1.6|)/max(|1.32-1.98|;|1.75-0.7|;|0.79-1.58|;|0.99-0.59|;|0.8-1.6|)
=0.76011695006609
D34=max(|1.32-1.98|;|0.8-1.6|)/max(|1.32-1.98|;|1.75-1.75|;|0.79-0.79|;|0.99-0.79|;|0.8-1.6|)
=1
D35=max(|1.32-2.63|;|0.79-1.58|;|0.8-1.6|)/max(|1.32-2.63|;|1.75-1.75|;|0.79-1.58|;|0.99-0.4|;|0.8-1.6|)
=1
D36=max(|1.32-3.29|;|0.79-1.58|;|0.8-1.6|)/max(|1.32-3.29|;|1.75-1.75|;|0.79-1.58|;|0.99-0.79|;|0.8-1.6|)
=1
D37=max(|1.32-2.63|;|0.79-3.95|;|0.8-1.6|)/max(|1.32-2.63|;|1.75-1.75|;|0.79-3.95|;|0.99-0.79|;|0.8-1.6|)
=1
D41=0/max(|1.98-1.32|;|1.75-0.35|;|0.79-0.79|;|0.79-0.79|;|1.6-1.6|)
=0
D42=max(|0.79-1.58|)/max(|1.98-1.98|;|1.75-0.7|;|0.79-1.58|;|0.79-0.59|;|1.6-1.6|)
=0.75115651572166
D43=max(|0.79-0.99|)/max(|1.98-1.32|;|1.75-1.75|;|0.79-0.79|;|0.79-0.99|;|1.6-0.8|)
=0.24753688574417
D45=max(|1.98-2.63|;|0.79-1.58|)/max(|1.98-2.63|;|1.75-1.75|;|0.79-1.58|;|0.79-0.4|;|1.6-1.6|)
=1
D46=max(|1.98-3.29|;|0.79-1.58|)/max(|1.98-3.29|;|1.75-1.75|;|0.79-1.58|;|0.79-0.79|;|1.6-1.6|)
=1
D47=max(|1.98-2.63|;|0.79-3.95|)/max(|1.98-2.63|;|1.75-1.75|;|0.79-3.95|;|0.79-0.79|;|1.6-1.6|)
=1
D51=max(|0.4-0.79|)/max(|2.63-1.32|;|1.75-0.35|;|1.58-0.79|;|0.4-0.79|;|1.6-1.6|)
=0.28223547393107
D52=max(|0.4-0.59|)/max(|2.63-1.98|;|1.75-0.7|;|1.58-1.58|;|0.4-0.59|;|1.6-1.6|)
=0.18815698262072
D53=max(|0.4-0.99|)/max(|2.63-1.32|;|1.75-1.75|;|1.58-0.79|;|0.4-0.99|;|1.6-0.8|)
=0.4510336711921
D54=max(|0.4-0.79|)/max(|2.63-1.98|;|1.75-1.75|;|1.58-0.79|;|0.4-0.79|;|1.6-1.6|)
=0.50097943286812
D56=max(|2.63-3.29|;|0.4-0.79|)/max(|2.63-3.29|;|1.75-1.75|;|1.58-1.58|;|0.4-0.79|;|1.6-1.6|)
=1
D57=max(|1.58-3.95|;|0.4-0.79|)/max(|2.63-2.63|;|1.75-1.75|;|1.58-3.95|;|0.4-0.79|;|1.6-1.6|)
=1
D61=0/max(|3.29-1.32|;|1.75-0.35|;|1.58-0.79|;|0.79-0.79|;|1.6-1.6|)
=0
D62=0/max(|3.29-1.98|;|1.75-0.7|;|1.58-1.58|;|0.79-0.59|;|1.6-1.6|)
=0
D63=max(|0.79-0.99|)/max(|3.29-1.32|;|1.75-1.75|;|1.58-0.79|;|0.79-0.99|;|1.6-0.8|)
=0.10022970470935
D64=0/max(|3.29-1.98|;|1.75-1.75|;|1.58-0.79|;|0.79-0.79|;|1.6-1.6|)
=0
D65=0/max(|3.29-2.63|;|1.75-1.75|;|1.58-1.58|;|0.79-0.4|;|1.6-1.6|)
=0
D67=max(|1.58-3.95|)/max(|3.29-2.63|;|1.75-1.75|;|1.58-3.95|;|0.79-0.79|;|1.6-1.6|)
=1
D71=0/max(|2.63-1.32|;|1.75-0.35|;|3.95-0.79|;|0.79-0.79|;|1.6-1.6|)
=0
D72=0/max(|2.63-1.98|;|1.75-0.7|;|3.95-1.58|;|0.79-0.59|;|1.6-1.6|)
=0
D73=max(|0.79-0.99|)/max(|2.63-1.32|;|1.75-1.75|;|3.95-0.79|;|0.79-0.99|;|1.6-0.8|)
=0.062622429108515
D74=0/max(|2.63-1.98|;|1.75-1.75|;|3.95-0.79|;|0.79-0.79|;|1.6-1.6|)
=0
D75=0/max(|2.63-2.63|;|1.75-1.75|;|3.95-1.58|;|0.79-0.4|;|1.6-1.6|)
=0
D76=max(|2.63-3.29|)/max(|2.63-3.29|;|1.75-1.75|;|3.95-1.58|;|0.79-0.79|;|1.6-1.6|)
=0.27768405380025
Dan terbentuk matriks Discordance(D) sebagai berikut:
- | 1 | 1 | 1 | 1 | 1 | 1 |
0.2505 | - | 1 | 1 | 1 | 1 | 1 |
0.5701 | 0.7601 | - | 1 | 1 | 1 | 1 |
0 | 0.7512 | 0.2475 | - | 1 | 1 | 1 |
0.2822 | 0.1882 | 0.451 | 0.501 | - | 1 | 1 |
0 | 0 | 0.1002 | 0 | 0 | - | 1 |
0 | 0 | 0.0626 | 0 | 0 | 0.2777 | - |
Pembentukan matriks Discordance(D) dapat dirumuskan dalam PHP sebagai berikut:
<?php
$D=array();
$d_index='';
for($k=1;$k<=$m;$k++){
if($d_index!=$k){
$d_index=$k;
$D[$k]=array();
}
for($l=1;$l<=$m;$l++){
if($k!=$l){
$max_d=0;
$max_j=0;
if(count($d[$k][$l])){
$mx=array();
foreach($d[$k][$l] as $j){
if($max_d<abs($V[$k][$j]-$V[$l][$j]))
$max_d=abs($V[$k][$j]-$V[$l][$j]);
}
}
$mx=array();
for($j=1;$j<=$n;$j++){
if($max_j<abs($V[$k][$j]-$V[$l][$j]))
$max_j=abs($V[$k][$j]-$V[$l][$j]);
}
$D[$k][$l]=$max_d/$max_j;
}
}
}
?>
c=14.309523809524
<?php
$sigma_c=0;
foreach($C as $k=>$cl){
foreach($cl as $l=>$value){
$sigma_c+=$value;
}
}
$threshold_c=$sigma_c/($m*($m-1));
?>
d=0.60576975068442
<?php
$sigma_d=0;
foreach($D as $k=>$dl){
foreach($dl as $l=>$value){
$sigma_d+=$value;
}
}
$threshold_d=$sigma_d/($m*($m-1));
?>
- 0 1 0 0 0 0 1 - 1 1 0 0 0 1 0 - 0 0 0 0 1 1 1 - 0 0 0 1 1 1 1 - 0 0 1 1 1 1 1 - 1 1 1 1 1 1 1 -
<?php
$F=array();
foreach($C as $k=>$cl){
$F[$k]=array();
foreach($cl as $l=>$value){
$F[$k][$l]=($value>=$threshold_c?1:0);
}
}
?>
- 1 1 1 1 1 1 0 - 1 1 1 1 1 0 1 - 1 1 1 1 0 1 0 - 1 1 1 0 0 0 0 - 1 1 0 0 0 0 0 - 1 0 0 0 0 0 0 -
<?php
$G=array();
foreach($D as $k=>$dl){
$G[$k]=array();
foreach($dl as $l=>$value){
$G[$k][$l]=($value>=$threshold_d?1:0);
}
}
?>
- 0 1 0 0 0 0 0 - 1 1 0 0 0 0 0 - 0 0 0 0 0 1 0 - 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 - 1 0 0 0 0 0 0 -
<?php
$E=array();
foreach($F as $k=>$sl){
$E[$k]=array();
foreach($sl as $l=>$value){
$E[$k][$l]=$F[$k][$l]*$G[$k][$l];
}
}
?>
Sehingga dapat disimpulkan bahwa :
A
A
A
A
A
Namun kita tidak dapat menyimpulkan apapun tentang hubungan antara:
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A