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 5th, 2015
updated on : May 8th, 2022
ELECTRE (ELimination Et Choix TRaduisant la realitE) didasarkan pada konsep perangkingan melalui perbandingan berpasangan antar alternatif pada kriteria yang sesuai. Electre adalah metode pengambilan keputusan multikreteria berdasarkan pada konsep outranking dengan menggunakan perbandingan berpasangan, digunakan untuk melakukan penilaian dan perangkingan (Janco & Bernoider - 2005:11
)
Metode ini digunakan pada kondisi dimana alternatif yang kurang sesuai dengan kriteria yang ditetapkan maka akan dieliminasi, dan alternatif yang sesuai dapat dihasilkan. Jadi, ELECTRE digunakan untuk kasus yang mempunyai banyak alternatif dengan sedikit kriteria.
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
)
Metode ini dikembangkan pada pertengahan tahun 1960-an di eropa. Metode ini diusulkan oleh Bernard Roy dan rekan-rekannya di perusahaan konsultan SEMA. Electre merupakan salah satu metode analisis keputusan multi kriteria. Metode ELECTRE digunakan untuk memilih tindakan terbaik dari himpunan tindakan yang ada dengan menerapkan, memilih, memeringkat dan memilah.
Roy
(1968
) dan Benayoun et al.
(1966
) awalnya menggunakan konsep relasi outranking untuk memperkenalkan metode ELimination Et Choice Translating REality (ELECTRE). Sejak itu berbagai model ELECTRE telah dikembangkan berdasarkan pada sifat pernyataan masalah (untuk menemukan solusi utama atau untuk memberi peringkat urutan alternatif), tingkat signifikansi kriteria yang harus diperhitungkan (secara nyata atau pseudo), dan informasi preferensial (bobot weights, indeks kesesuaian concordance index, indeks ketidaksesuaian discordance index, veto effect)
Metode ini salah satu metode MADM yang secara luas diakui memiliki performa yang tinggi untuk menganalisas kebijakan yang melibatkan kriteria kualitatif dan kuantitatif. Metode ini digunakan dalam bidang bisnis, pengembangan, desain dan hydropower kecil. Metode ini berkembang melalui sejumlah versi yang terdiri dari ELECTRE I, ELECTRE II, ELECTRE III, ELECTRE IV, ELECTRE IS dan ELECTRE TREE(ELECTRE Pohon). Metode ELECTRE I didesain untuk pemilihan sedangkan ELECTRE II digunakan untuk perangkingan. Kedua versi ini menggunakan tipe kriteria yang sederhana sedangkan versi yang lain menggunakan kriteria berupa pseudo
Langkah-langkah yang dilakukan dalam penyelesaian masalah menggunakan metode ELECTRE adalah sebagai berikut.
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 m
adalah jumlah alternatif dan n
adalah jumlah kriteria
Selanjutnya pengambil keputusan harus memberikan faktor kepentingan (bobot, W
) pada setiap kriteria yang mengekspresikan kepentingan relatifnya (wj
)
dengan total jumlah nilai W
adalah sama dengan 1, atau :
Bobot ini selanjutnya dikalikan dengan matriks perbandingan berpasangan membentuk matriks preferensi (V):
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
:
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:
Matrik dominan (E
) menunjukan urutan alternatif yang memenuhi kriteria, yaitu jika ekl=1
; maka hal tersebut mengindikasikan bahwa alternatif Ak
lebih dipilih daripada alternatif Al
.
Catatan: bila dalam matrik dominan (E
) tidak ditemukan nilai 1. Artinya semua alternatif saling mendominasi, maka pengambilan keputusan dilakukan dengan mengambil nilai dari matrik V (matrik ternormalisasi).
Berikut ini kelebihan dan kekurangan yang dimiliki oleh Metode ELECTRE
Kelebihan utama dari metode ELECTRE adalah metode ini dibutuhkan dalam ketidakjelasan dan ketidakpastian dalam sebuah kasus. Selain itu dalam sistem pendukung keputusan metode ini sering diimplementasikan sebagai solusi untuk mengatasi masalah. Metode ELECTRE cocok untuk kasus-kasus yang memiliki banyak alternatif.
Salah satu kekurangan metode ELECTRE adalah proses dari hasilnya sulit dijelaskan dalam istilah umum.Metode ELECTRE hanya melibatkan sedikit kriteria.
Untuk membantu pemahaman metode ELECTRE dalam menyelesaikan masalah pengambilan keputusan, berikut disertakan contoh perhitungan manual penentuan lokasi penyimpanan hasil produksi dengan metode ELECTRE.
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 : Cengkareng, A2 : Pulo Gadung, A3 : Cibitung, A4 : Pulomas, A5 : Cakung, A6 : Grogol, dan A7 : Pulo Gebang. 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 Cengkareng | 2 | 5 | 4 | 3 | 4 |
A2 Pulo Gadung | 4 | 3 | 2 | 1 | 1 |
A3 Cibitung | 3 | 4 | 3 | 4 | 4 |
A4 Pulomas | 3 | 1 | 5 | 4 | 2 |
A5 Cakung | 4 | 2 | 2 | 1 | 2 |
A6 Grogol | 1 | 4 | 2 | 4 | 4 |
A7 Pulo Gebang | 4 | 3 | 2 | 5 | 5 |
Pengambil keputusan memberi bobot preferensi dari setiap kriteria sebagai: W=(6,2,5,3,3)
seperti dalam Tabel 2 berikut:
Criteria | Description | Weight |
---|---|---|
C1 | jarak dengan pusat niaga terdekat(km) | 6 |
C2 | kepadatan penduduk disekitar lokasi (orang/km2) | 2 |
C3 | jarak dari pabrik(km) | 5 |
C4 | jarak dengan gudang yang sudah ada (km) | 3 |
C5 | harga tanah untuk lokasi (x1000 Rp/m2) | 3 |
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 | Kriteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 | 2 | 5 | 4 | 3 | 4 |
A2 | 4 | 3 | 2 | 1 | 1 |
A3 | 3 | 4 | 3 | 4 | 4 |
A4 | 3 | 1 | 5 | 4 | 2 |
A5 | 4 | 2 | 2 | 1 | 2 |
A6 | 1 | 4 | 2 | 4 | 4 |
A7 | 4 | 3 | 2 | 5 | 5 |
Nilai perbandingan berpasangan antara setiap alternatif dengan setiap kriteria ini merupakan representasi dari data pada TABEL 1, yaitu menggambarkan rating kecocokan alternatif dengan kriteria.
Nilai X
ini harus dinormalisasikan ke dalam suatu skala yang dapat diperbandingkan (rij
) sesuai persamaan [EL-01]. Sebagai contoh, untuk alternatif A5
dan kriteria C1
dapat dihitung nilai perbandingan ternormalisasi r1,5
-nya sebagai berikut
$\begin{align}r_{1,5} &= \frac{x_{1,5}}{\sqrt{\sum_{i=1}^{m}x_{i,5}^2}}\\ &=\frac{4}{\sqrt{(4)^2+(1)^2+(4)^2+(2)^2+(2)^2+(4)^2+(5)^2}}\\ &=\frac{4}{\sqrt{16+1+16+4+4+16+25}}\\ &=\frac{4}{\sqrt{82}}\\ &=\frac{4}{9.0553851381374}\\ r_{1,5}&=0.4417\end{align}$
Dengan perhitungan yang sama untuk semua pasangan alternatif dan kriteria maka diperoleh matrik R
sebagai berikut:
Alternatif | Kriteria | ||||
---|---|---|---|---|---|
C1 | C2 | C3 | C4 | C5 | |
A1 | 0.2374 | 0.559 | 0.4924 | 0.3273 | 0.4417 |
A2 | 0.4747 | 0.3354 | 0.2462 | 0.1091 | 0.1104 |
A3 | 0.356 | 0.4472 | 0.3693 | 0.4364 | 0.4417 |
A4 | 0.356 | 0.1118 | 0.6155 | 0.4364 | 0.2209 |
A5 | 0.4747 | 0.2236 | 0.2462 | 0.1091 | 0.2209 |
A6 | 0.1187 | 0.4472 | 0.2462 | 0.4364 | 0.4417 |
A7 | 0.4747 | 0.3354 | 0.2462 | 0.5455 | 0.5522 |
Selanjutnya pengambil keputusan harus memberikan faktor kepentingan (bobot) pada setiap kriteria yang mengekspresikan kepentingan relatifnya (wj
)
Criteria | C1 | C2 | C3 | C4 | C5 |
---|---|---|---|---|---|
Weight | 6 | 2 | 5 | 3 | 3 |
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.4241 | 1.118 | 2.4618 | 0.982 | 1.3252 |
A2 | 2.8483 | 0.6708 | 1.2309 | 0.3273 | 0.3313 |
A3 | 2.1362 | 0.8944 | 1.8464 | 1.3093 | 1.3252 |
A4 | 2.1362 | 0.2236 | 3.0773 | 1.3093 | 0.6626 |
A5 | 2.8483 | 0.4472 | 1.2309 | 0.3273 | 0.6626 |
A6 | 0.7121 | 0.8944 | 1.2309 | 1.3093 | 1.3252 |
A7 | 2.8483 | 0.6708 | 1.2309 | 1.6366 | 1.6565 |
Berdasarkan dengan persamaan [EL-05] didapatkan himpunan concordance index sebagai berikut:
Ckl | Himpunan |
---|---|
C1,2 | { 2 , 3 , 4 , 5 } |
C1,3 | { 2 , 3 , 5 } |
C1,4 | { 2 , 5 } |
C1,5 | { 2 , 3 , 4 , 5 } |
C1,6 | { 1 , 2 , 3 , 5 } |
C1,7 | { 2 , 3 } |
C2,1 | { 1 } |
C2,3 | { 1 } |
C2,4 | { 1 , 2 } |
C2,5 | { 1 , 2 , 3 , 4 } |
C2,6 | { 1 , 3 } |
C2,7 | { 1 , 2 , 3 } |
C3,1 | { 1 , 4 , 5 } |
C3,2 | { 2 , 3 , 4 , 5 } |
C3,4 | { 1 , 2 , 4 , 5 } |
C3,5 | { 2 , 3 , 4 , 5 } |
C3,6 | { 1 , 2 , 3 , 4 , 5 } |
C3,7 | { 2 , 3 } |
C4,1 | { 1 , 3 , 4 } |
C4,2 | { 3 , 4 , 5 } |
C4,3 | { 1 , 3 , 4 } |
C4,5 | { 3 , 4 , 5 } |
C4,6 | { 1 , 3 , 4 } |
C4,7 | { 3 } |
C5,1 | { 1 } |
C5,2 | { 1 , 3 , 4 , 5 } |
C5,3 | { 1 } |
C5,4 | { 1 , 2 , 5 } |
C5,6 | { 1 , 3 } |
C5,7 | { 1 , 3 } |
C6,1 | { 4 , 5 } |
C6,2 | { 2 , 3 , 4 , 5 } |
C6,3 | { 2 , 4 , 5 } |
C6,4 | { 2 , 4 , 5 } |
C6,5 | { 2 , 3 , 4 , 5 } |
C6,7 | { 2 , 3 } |
C7,1 | { 1 , 4 , 5 } |
C7,2 | { 1 , 2 , 3 , 4 , 5 } |
C7,3 | { 1 , 4 , 5 } |
C7,4 | { 1 , 2 , 4 , 5 } |
C7,5 | { 1 , 2 , 3 , 4 , 5 } |
C7,6 | { 1 , 3 , 4 , 5 } |
Concordance Index (Ckl
) ditentukan dengan membandingkan nilai preferensi dari dua alternatif ( k
dan l
) untuk kriteria yang sama. Untuk Concordance index Ckl
, pada kriteria ke j
, maka jika nilai preferensi Vkj
lebih besar dari Vlj
maka index kriteria-nya (j
) dimasukkan dalam himpunan Concordance index Ckl
tersebut.
Himpunan disconcordance index diperoleh berdasarkan persamaan [EL-06] dan didapatkan sebagai berikut:
Dkl | Himpunan |
---|---|
D12 | { 1 } |
D13 | { 1 , 4 } |
D14 | { 1 , 3 , 4 } |
D15 | { 1 } |
D16 | { 4 } |
D17 | { 1 , 4 , 5 } |
D21 | { 2 , 3 , 4 , 5 } |
D23 | { 2 , 3 , 4 , 5 } |
D24 | { 3 , 4 , 5 } |
D25 | { 5 } |
D26 | { 2 , 4 , 5 } |
D27 | { 4 , 5 } |
D31 | { 2 , 3 } |
D32 | { 1 } |
D34 | { 3 } |
D35 | { 1 } |
D36 | {} |
D37 | { 1 , 4 , 5 } |
D41 | { 2 , 5 } |
D42 | { 1 , 2 } |
D43 | { 2 , 5 } |
D45 | { 1 , 2 } |
D46 | { 2 , 5 } |
D47 | { 1 , 2 , 4 , 5 } |
D51 | { 2 , 3 , 4 , 5 } |
D52 | { 2 } |
D53 | { 2 , 3 , 4 , 5 } |
D54 | { 3 , 4 } |
D56 | { 2 , 4 , 5 } |
D57 | { 2 , 4 , 5 } |
D61 | { 1 , 2 , 3 } |
D62 | { 1 } |
D63 | { 1 , 3 } |
D64 | { 1 , 3 } |
D65 | { 1 } |
D67 | { 1 , 4 , 5 } |
D71 | { 2 , 3 } |
D72 | {} |
D73 | { 2 , 3 } |
D74 | { 3 } |
D75 | {} |
D76 | { 2 } |
Penentuan nilai Discordance Index (Dkl
) serupa dengan penentuan niai Concordance Index (Ckl
) di atas, yaitu ditentukan dengan membandingkan nilai preferensi dari dua alternatif ( k
dan l
) untuk kriteria yang sama. Untuk nilai Discordance index Dkl
, pada kriteria ke j
, maka jika nilai preferensi Vkj
lebih kecil dari Vlj
maka index kriteria-nya (j
) dimasukkan dalam himpunan Discordance index Dkl
tersebut.
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], diperoleh hasil berupa matriks Concordance (C
) sebagai berikut:
$\begin{equation*}C=\left[ \begin{array}{ccccccc}&-&13&10&5&13&16&7\\&6&-&6&8&16&11&13\\&12&13&-&14&13&19&7\\&14&11&14&-&11&14&5\\&6&17&6&11&-&11&11\\&6&13&8&8&13&-&7\\&12&19&12&14&19&17&-\\\end{array} \right]\end{equation*}$
Sebagai contoh perhitungan, untuk mendapatkan nilai c1,4=5
seperti pada matriks Concordance tersebut adalah sebagai berikut
$\begin{align}c_{1,4} &=\sum_{j \in C_{1,4}}w_j\\ &=\sum_{j \in \{2 , 5\}} w_j\\ &=w_{2}+w_{5}\\ &=2+3\\ &=5\\ \end{align}$
Dengan mengacu pada persamaan [EL-08], maka dapat ditentukan nilai-nilai elemen matriks Discordance (D)-nya. Sebagai contoh untuk nilai elemen matriks Discondance d1,4
adalah sebagai berikut ini:
$\begin{align}
d_{1,4}&=\frac{max\{\mid v_{1j} - v_{4j}\mid \} j\in D_{1,4}}{max\{\mid v_{1j} - v_{4j}\mid\} \forall j} \\
&=\frac{max\{\mid v_{1j} - v_{4j}\mid \} j\in {\{1,3,4\}}}{max\{\mid v_{1,1}-v_{4,1} \mid ,\mid v_{1,2}-v_{4,2} \mid ,\mid v_{1,3}-v_{4,3} \mid ,\mid v_{1,4}-v_{4,4} \mid ,\mid v_{1,5}-v_{4,5} \mid\}} \\
&=0.79611733865141\end{align}$
Dan terbentuk matriks Discordance(D) sebagai berikut:
$\begin{equation*}D=\left[ \begin{array}{ccccccc}&-&1&1&0.7961&1&0.2659&1\\&0.8643&-&1&1&1&0.4653&1\\&0.8643&0.7165&-&1&0.7251&0&1\\&1&0.3857&0.545&-&0.3857&0.3633&0.5383\\&0.8643&0.6749&1&1&-&0.4597&1\\&1&1&1&1&1&-&1\\&0.8643&0&0.8643&1&0&0.1047&-\\\end{array} \right]\end{equation*}$
Nilai ambang (threshold) c dihitung berdasarkan persamaan EL-09 sebagai berikut
$\begin{align} \underline{c}&=\frac{\sum_{k=1}^{7}.\sum_{l=1}^{7}c_{kl}}{7(7-1)} \\ &=\frac{\sum_{k=1}^{7}(c_{k1}+c_{k2}+c_{k3}+c_{k4}+c_{k5}+c_{k6}+c_{k7})}{7*6} \\ &=\frac{481}{42} \\ &= 11.452380952381\end{align}$
Perhitungan nilai ambang (threshold) d menurut persamaan EL-12 diperoleh hasil sebagai berikut:
$\begin{align} \underline{d}&=\frac{\sum_{k=1}^{7}.\sum_{l=1}^{7}d_{kl}}{7(7-1)} \\ &=\frac{\sum_{k=1}^{7}(d_{k1}+d_{k2}+d_{k3}+d_{k4}+d_{k5}+d_{k6}+d_{k7})}{7*6} \\ &=\frac{31.747704952397}{42} \\ &= 0.75589773696183\end{align}$
Matrik Concordance Dominan F dibentuk menurut persamaan EL-11, nilai fkl
akan bernilai 1 jika nilai concordance index ckl
lebih besar dari nilai threshold c
, dan sebaliknya maka akan bernilai 0. Selengkapnya akan terbentuk matrik cocordance dominan F seperti ini :
$\begin{equation*}F=\left[ \begin{array}{ccccccc}&-&1&0&0&1&1&0\\&0&-&0&0&1&0&1\\&1&1&-&1&1&1&0\\&1&0&1&-&0&1&0\\&0&1&0&0&-&0&0\\&0&1&0&0&1&-&0\\&1&1&1&1&1&1&-\\\end{array} \right]\end{equation*}$
$\begin{equation*}G=\left[ \begin{array}{ccccccc}&-&1&1&1&1&0&1\\&1&-&1&1&1&0&1\\&1&0&-&1&0&0&1\\&1&0&0&-&0&0&0\\&1&0&1&1&-&0&1\\&1&1&1&1&1&-&1\\&1&0&1&1&0&0&-\\\end{array} \right]\end{equation*}$
$\begin{equation*}E=\left[ \begin{array}{ccccccc}&-&1&0&0&1&0&0\\&0&-&0&0&1&0&1\\&1&0&-&1&0&0&0\\&1&0&0&-&0&0&0\\&0&0&0&0&-&0&0\\&0&1&0&0&1&-&0\\&1&0&1&1&0&0&-\\\end{array} \right]\end{equation*}$
Matriks E memberikan urutan pilihan dari setiap alternatif , yaitu bilaEkl = 1
maka
alternatif Ak
merupakan alternatif yang lebih baik daripada Al
. Sehingga , baris dalam matriks E yang memiliki jumlah Ekl = 1
paling sedikit dapat di eleminasi. Dengan
demikian baris pertama, kedua, dan keempat dapat dieleminasi dan tersisa baris
ketiga. Nilai E32 = 1 menunjukkan bahwa alternatif ketiga lebih baik dari alternatif
kesatu, kedua, dan keempat. Sehingga pengambil keputusan akan mengambil
alternatif ketiga ( 3 ).
Sebagai pelengkap artikel Metode ELECTRE (ELimination Et Choix TRaduisant la realitE) pada bagian ini akan dibahas langkah-langkah dalam implementasinya dengan bahasa pemrograman PHP dan database MySQL/MariaDB.
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;
Awalnya membuat dulu database dengan nama db_dss
jika belum ada database dengan nama tersebut, kemudian gunakan database tersebut dengan memakai sintak 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)',2),
(3,'jarak dari pabrik(km)',5),
(4,'jarak dengan gudang yang sudah ada (km)',3),
(5,'harga tanah untuk lokasi (x1000 Rp/m2)',3);
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,'Cengkareng'),
(2,'Pulo Gadung'),
(3,'Cibitung'),
(4,'Pulomas'),
(5,'Cakung'),
(6,'Grogol'),
(7,'Pulo Gebang');
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,5),(1,3,4),(1,4,3),(1,5,4), (2,1,4),(2,2,3),(2,3,2),(2,4,1),(2,5,1), (3,1,3),(3,2,4),(3,3,3),(3,4,4),(3,5,4), (4,1,3),(4,2,1),(4,3,5),(4,4,4),(4,5,2), (5,1,4),(5,2,2),(5,3,2),(5,4,1),(5,5,2), (6,1,1),(6,2,4),(6,3,2),(6,4,4),(6,5,4), (7,1,4),(7,2,3),(7,3,2),(7,4,5),(7,5,5);
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);
}
?>
Sesuaikan nilai-nilai $dbhost,$dbuser,$dbpass
dan $dbname
dengan konfigurasi database yg digunakan.
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];
}
?>
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];
}
}
?>
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];
?>
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;
}
}
?>
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);
}
}
}
}
}
?>
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);
}
}
}
}
}
?>
Dalam script PHP perhitungan untuk membentuk data matriks Concordance (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];
}
}
}
}
?>
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;
}
}
}
?>
<?php
$sigma_c=0;
foreach($C as $k=>$cl){
foreach($cl as $l=>$value){
$sigma_c+=$value;
}
}
$threshold_c=$sigma_c/($m*($m-1));
?>
<?php
$sigma_d=0;
foreach($D as $k=>$dl){
foreach($dl as $l=>$value){
$sigma_d+=$value;
}
}
$threshold_d=$sigma_d/($m*($m-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);
}
}
?>
<?php
$G=array();
foreach($D as $k=>$dl){
$G[$k]=array();
foreach($dl as $l=>$value){
$G[$k][$l]=($value>=$threshold_d?1: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
A
A
A
A
A
A
A
Namun kita tidak dapat menyimpulkan apapun tentang hubungan antara:
A
A
A
A
A
A
A
A
A
Berikut simpulan yang dapat diambil dari contoh kasus penentuan lokasi penyimpanan hasil produksi dengan metode ELECTTRE tersebut: