Decision Support System Series

Evaluation based on Distance from Average Solution (EDAS)

Contoh implementasi DSS (Decision Support System) dengan Metode Evaluation based on Distance from Average Solution (EDAS) menggunakan PHP dan MySQL untuk pemilihan lokasi parkir komuter terbaik

Metode Evaluation based on Distance from Average Solution (EDAS) merupakan salah satu metode pengambilan keputusan multikriteria berdasarkan pada skor penilaian Apraisal Score (AS) tertinggi untuk mendapatkan pilihan terbaik dari semua alternatif.

author : cahya dsn, published on : July 17th, 2020 updated on : March 18th, 2021

minerva minerva donasi donation

Mau lihat artikel lainya? Dapatkan artikel-artikel lain seputar pemrograman website di sini, dan dapatkan ide-ide baru

Pre-requisites

  • Pemahaman terhadap dasar-dasar Sistem Pengambilan Keputusan
  • Pemahaman terhadap dasar-dasar teknologi Web,HTML dan CSS
  • Pemahaman terhadap dasar-dasar basis data/database, terutama query SQL pada MySQL/mariaDB
  • Pemahaman terhadap dasar-dasar pemrograman PHP, terutama fungsi-fungsi koneksi database dan pengelolaan tipe data array

1.1. Tahapan Metode EDAS

Metode Evaluation based on Distance from Average Solution EDAS diperkenalkan oleh KeshavarazvvGhorabaee,vet all pada tahun 2015. Dalam melakukan menyelesaikan masalah dan perangkingan, metode EDAS memiliki beberapa langkah yaitu:

1.1.1. Pembentukan Matriks Keputusan (Decision Making Matrix - X)

Pada matriks keputusan (X), baris menunjukkan Alternatif dan kolom menunjukkan kriteria. Matriks keputusan menunjukkan kinerja dari masing-masing alternatif terhadap berbagai kriteria

$X=\left[\begin{array}{cccc} x_{01} & \ldots & x_{0j} & \ldots & x_{0n} \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ x_{i1} & \ldots & x_{ij} & \ldots & x_{in} \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ x_{m1} & \ldots & x_{m2} & \ldots & x_{mn} \\ \end{array}\right] (i=0,1,2,...,m; j=1,2,...,n)$
.. [EDA-01]

xij menunjukkan nilai kinerja alternatif ke-i pada kriteria ke-j, m adalah banyaknya alternatif sedangkan n adalah banyaknya kriteria.

1.1.2. Menentukan Solusi Rata-rata Average Solution (AV)

Solusi rata-rata (AV) sesuai dengan kriteria,ditentukan dengan menggunakan persamaan :

$AV=[AV_{j}]_{1\times m}$
.. [EDA-02]

dimana nilai dari AVj dapat dihitung dengan persamaan :

$AV_{j}=\frac{\sum^n_{i=1}X_{ij}}{n}$
.. [EDA-03]

1.1.3. Menentukan Jarak Positif/Negatif dari Rata-rata (PDA/NDA)

Hitung jarak positif dari matriks rata-rata (PDA) dan jarak negatif dari matriks rata-rata (NDA) sesuai jenis kriteria (benefit dan cost) dengan menggunakan persamaan :

$PDA=[PDA_{ij}]_{n\times m}$
.. [EDA-04]
$NDA=[NDA_{ij}]_{n\times m}$
.. [EDA-05]

Untuk kriteria ke-j yang merupakan kriteria bertipe Benefit maka berlaku :

$PDA_{ij}=\frac{max(0,(X_{ij}-AV_{j}))}{AV_{j}}$
.. [EDA-06]
$NDA_{ij}=\frac{max(0,(AV_{j}-X_{ij}))}{AV_{j}}$
.. [EDA-07]

Sedangkan untuk kriteria ke-j yang merupakan kriteria bertipe Cost maka berlaku :

$PDA_{ij}=\frac{max(0,(AV_{j}-X_{ij}))}{AV_{j}}$
.. [EDA-08]
$NDA_{ij}=\frac{max(0,(X_{ij}-AV_{j}))}{AV_{j}}$
.. [EDA-09]

1.1.4. Menentukan Jumlah Terbobot dari PDA/NDA (SP/SN)

Menentukan jumlah terbobot dari PDA dan NDA untuk semua alternatif dengan persamaan EDA-10 dan EDA-11 berikut ini:

$SP_{i}=\sum^{m}_{j=1}w_j\times PDA_{ij}$
.. [EDA-10]
$SN_{i}=\sum^{m}_{j=1}w_j\times NDA_{ij}$
.. [EDA-11]

Nilai SPi dan SNi, masing-masing adalah nilai jumlah terbobot dari PDA dan NDA untuk setiap alternatif ke-i.

1.1.5. Normalisasi Nilai SP/SN (NSP/NSN)

Tahap berikutnya adalah menghitung nilai normalisasi dari SP daan SN untuk semua alternatif.

$NSP_{i}=\frac{SP_{i}}{max_{i}(SP_{i})}$
.. [EDA-12]
$NSN_{i}=1-\frac{SN_{i}}{max_{i}(SN_{i})}$
.. [EDA-13]

1.1.6. Menghitung Nilai Skor Penilaian (AS)

Setelah nilai normalisasi NSP dan NSN diperoleh, maka dihitung nilai Apraisal Score - Nilai Penilaian - AS sebagai berikut:

$AS_{i}=\frac{1}{2}(NSP_{i}+NSN_{i}) ; \text{ dengan } 0 \leq AS_{i} \leq 1$
.. [EDA-14]

1.1.7. Perankingan

Tahap yang terakhir adalah perangkingan dari nilai skor penilaian AS dari nilai yang tertinggi hingga yang terendah. Alternatif dengan nilai yang tertinggi menunjukkan alternatif yang terbaik.

2.1. Kriteria dan Bobot

Pada kasus penentuan pemilihan lokasi parkir komuter terbaik ini telah ditentukan 11 buah kriteria yang diperhitungkan, yaitu Sistem Informasi Pendukung, Lokasi Parkir Gratis di Pusat Kota, Total Biaya Parkir dan Angkutan Umum, Luas Lahan, Keunggulan Transportasi Umum dibanding Angkutan Pribadi, Trafik Angkutan Umum di Lokasi, Promosi oleh Institusi Umum, Frekuensi Angkutan Umum di lokasi, Harga Tempat Parkir, Jarak ke Pusat Kota, dan Investasi Pribadi dengan rincian bobot penilaian seperti pada TABEL 1 berikut :

TABEL 1 : Kriteria dan Bobot Pemilihan Rumah
KodeKriteriaTipe[1]Bobot[2]
C1Sistem Informasi Pendukungbenefit0.075
C2Lokasi Parkir Gratis di Pusat Kotacost0.037
C3Total Biaya Parkir dan Angkutan Umumcost0.150
C4Luas Lahanbenefit0.125
C5Keunggulan Transportasi Umum dibanding Angkutan Pribadibenefit0.062
C6Trafik Angkutan Umum di Lokasicost0.100
C7Promosi oleh Institusi Umumbenefit0.025
C8Frekuensi Angkutan Umum di lokasibenefit0.087
C9Harga Tempat Parkircost0.175
C10Jarak ke Pusat Kotacost0.050
C11Investasi Pribadibenefit0.013
[1] `benefit` menandakan lebih besar lebih baik (Benefit Criteria) sedangkan `cost` menandakan lebih kecil lebih baik (Cost Criteria)
[2] Nilai bobot ditentukan oleh pakar/orang yang berwenang/kompeten untuk memberi pembobotan; atau bisa diperoleh dari hasil kuisioner

2.2. Contoh Data

Data-data awal yang akan diperhitungkan dengan metoda EDAS ini adalah seperti yang tercantum dalam TABEL 2 berikut ini [3]

TABEL 2 : Contoh Data
Alternatif Kriteria
Kode Nama C1C2C3C4C5C6C7C8C9C10C11
A1Petak 2344664454545
A2Blok 5144796533345
A3Area 2344694343535
A4Komplek 7745868333347
A5Petak 4723688344447
A6Blok 5744586632448
A7Komplek 6134788644547
A8Blok 1124787642448
A9Lot 2924676343548
A10Blok 4745566633336
A11Petak 5144796653545
A12Lot 6134475342448
A13Petak 3145568544348
A14Lot 7735674634448

Keterangan

  • C1 : Sistem Informasi Pendukung
  • C2 : Lokasi Parkir Gratis di Pusat Kota
  • C3 : Total Biaya Parkir dan Angkutan Umum
  • C4 : Luas Lahan
  • C5 : Keunggulan Transportasi Umum dibanding Angkutan Pribadi
  • C6 : Trafik Angkutan Umum di Lokasi
  • C7 : Promosi oleh Institusi Umum
  • C8 : Frekuensi Angkutan Umum di lokasi
  • C9 : Harga Tempat Parkir
  • C10 : Jarak ke Pusat Kota
  • C11 : Investasi Pribadi

[3] Data yang diberikan merupakan data yang sudah dikuantisasi, bukan berupa data mentah. Data dalam contoh di generate secara otomatis dari nilai acak/random

2.3. Perhitungan

Berikut ini akan dijabarkan perhitungan dengan metoda EDAS secara manual lengkah demi langkah untuk memudahkan pemahaman terhadap metoda EDAS ini

2.3.1. Matriks Keputusan (X)

Langkah pertama adalah membuat matriks keputusan (X) dari data awal yang ada. Dari data pada TABEL 2 dapat dibuat matriks keputusan sebagai berikut :

$X=\left[ \begin{array}{ccccccccccc}\\ 4 & 4 & 6 & 6 & 4 & 4 & 5 & 4 & 5 & 4 & 5 \\4 & 4 & 7 & 9 & 6 & 5 & 3 & 3 & 3 & 4 & 5 \\4 & 4 & 6 & 9 & 4 & 3 & 4 & 3 & 5 & 3 & 5 \\4 & 5 & 8 & 6 & 8 & 3 & 3 & 3 & 3 & 4 & 7 \\2 & 3 & 6 & 8 & 8 & 3 & 4 & 4 & 4 & 4 & 7 \\4 & 4 & 5 & 8 & 6 & 6 & 3 & 2 & 4 & 4 & 8 \\3 & 4 & 7 & 8 & 8 & 6 & 4 & 4 & 5 & 4 & 7 \\2 & 4 & 7 & 8 & 7 & 6 & 4 & 2 & 4 & 4 & 8 \\2 & 4 & 6 & 7 & 6 & 3 & 4 & 3 & 5 & 4 & 8 \\4 & 5 & 5 & 6 & 6 & 6 & 3 & 3 & 3 & 3 & 6 \\4 & 4 & 7 & 9 & 6 & 6 & 5 & 3 & 5 & 4 & 5 \\3 & 4 & 4 & 7 & 5 & 3 & 4 & 2 & 4 & 4 & 8 \\4 & 5 & 5 & 6 & 8 & 5 & 4 & 4 & 3 & 4 & 8 \\3 & 5 & 6 & 7 & 4 & 6 & 3 & 4 & 4 & 4 & 8\end{array} \right]$

Pada matriks keputusan (X) tersebut, data pada baris ke-i adalah menunjukan data dari Alternatif ke-i; sedangkan data pada kolom ke-j menunjukkan kriteria ke-j. Misalnya untuk data x12,8 menunjukkan data untuk alternatif ke 12 yaitu Lot 61 untuk kriteria ke 8 (Frekuensi Angkutan Umum di lokasi) dengan nilai 2

Secara lengkap, matriks keputusan (X) yang diperoleh dapat ditampilkan dalam bentuk tabel sebagai berikut

TABEL 3 : Matriks Keputusan (X)
Alternatif Kriteria
KodeNama C1C2C3C4C5C6C7C8C9C10C11
A1Petak 2344664454545
A2Blok 5144796533345
A3Area 2344694343535
A4Komplek 7745868333347
A5Petak 4723688344447
A6Blok 5744586632448
A7Komplek 6134788644547
A8Blok 1124787642448
A9Lot 2924676343548
A10Blok 4745566633336
A11Petak 5144796653545
A12Lot 6134475342448
A13Petak 3145568544348
A14Lot 7735674634448

2.3.2. Nilai Solusi Rata-rata (AV)

Nilai Solusi Rata-rata (AV) dari tiap-tiap kriteria diperhitungkan dari nilai rata-rata nilai semua alternatif pada kriteria tertentu. Sebagai contoh untuk kriteria ke-8 (Frekuensi Angkutan Umum di lokasi) dapat dihitung nilai solusi rata-ratanya (AV8) sebagai berikut

$\begin{align} AV_{8}&=\frac{\sum_{i=1}^{14} X_{i,8}}{14} \\ &=\frac{X_{1,8}+X_{2,8}+X_{3,8}+X_{4,8}+X_{5,8}+X_{6,8}+X_{7,8}+X_{8,8}+X_{9,8}+X_{10,8}+X_{11,8}+X_{12,8}+X_{13,8}+X_{14,8}}{14} \\ &=\frac{4+3+3+3+4+2+4+2+3+3+3+2+4+4}{14} \\ &=\frac{44}{14} \\ &=3.143\end{align}$

Dengan perhitungan yang sama, dilakukan perhitungan nilai solusi rata-rata AV untuk kriteria-kriteria yang lain sehingga diperoleh matriks nilai solusi rata-rata AV sebagai berikut:

$AV=[3.357\ \ \ 4.214\ \ \ 6.071\ \ \ 7.429\ \ \ 6.143\ \ \ 4.643\ \ \ 3.786\ \ \ 3.143\ \ \ 4.071\ \ \ 3.857\ \ \ 6.786]$

2.3.3. Menghitung Jarak Positif/Negatif dari Rata-rata (PDA/NDA)

Setelah didapat nilai solusi rata-ratanya (AV), berikutnya adalah menghitung nilai jarak Positif/Negatif dari rata-rata (PDA/NDA). Untuk kriteria yang bertipe benefit maka berdasarkan persamaan EDA-06 dan EDA-07 dapat dicari nilai PDA/NDA-nya. Sebagai contoh untuk kriteria ke-1 (Sistem Informasi Pendukung) pada alternatif ke-12 (Lot 61) bisa dihitung nilai PDA12,1 dan NDA12,1 sebagai berikut:

$\begin{align} PDA_{12,1}&= \text{max}(0,\ \frac{(X_{12,1}-AV_{1})}{AV_{1}}) \\ &=\text{max}(0,\ \frac{(3.000-3.357)}{3.357}) \\ &=\text{max}(0,\ \frac{-0.357}{3.357}) \\ &=\text{max}(0,\ -0.106) \\ &=0 \\ NDA_{12,1}&= \text{max}(0,\ \frac{(AV_{1}-X_{12,1})}{AV_{1}}) \\ &=\text{max}(0,\ \frac{(3.357-3.000)}{3.357}) \\ &=\text{max}(0,\ \frac{0.357}{3.357}) \\ &=\text{max}(0,\ 0.106) \\ &=0.106\end{align}$

Sedangkan untuk kriteria yang bertipe cost maka dapat dicari nilai PDA/NDA-nya berdasarkan persamaan EDA-08 dan EDA-09 . Sebagai contoh untuk kriteria ke-9 (Harga Tempat Parkir) pada alternatif ke-12 (Lot 61) bisa dihitung nilai PDA12,9 dan NDA12,9 sebagai berikut:

$\begin{align} PDA_{12,9}&= \text{max}(0,\ \frac{(AV_{9}-X_{12,9})}{AV_{9}}) \\ &=\text{max}(0,\ \frac{(4.071-4.000)}{4.071}) \\ &=\text{max}(0,\ \frac{0.071}{4.071}) \\ &=\text{max}(0,\ 0.018) \\ &=0.018 \\ NDA_{12,9}&= \text{max}(0,\ \frac{(X_{12,9}-AV_{9})}{AV_{9}}) \\ &=\text{max}(0,\ \frac{(4.000-4.071)}{4.071}) \\ &=\text{max}(0,\ \frac{-0.071}{4.071}) \\ &=\text{max}(0,\ -0.018) \\ &=0 \\ \end{align}$

Dengan perhitungan yang sama untuk semua data dari matriks keputusan (X) diperoleh data jarak positif dari solusi rata-rata (PDA) seperti dalam TABEL 4 berikut ini:

TABEL 4 : Jarak Positif dari Solusi Rata-rata (PDA)
No.AlternatifPDA
KodeNamaC1C2C3C4C5C6C7C8C9C10C11
1A1Petak 230.1910.0510.0120.0000.0000.1380.3210.2730.0000.0000.000
2A2Blok 510.1910.0510.0000.2120.0000.0000.0000.0000.2630.0000.000
3A3Area 230.1910.0510.0120.2120.0000.3540.0570.0000.0000.2220.000
4A4Komplek 770.1910.0000.0000.0000.3020.3540.0000.0000.2630.0000.032
5A5Petak 470.0000.2880.0120.0770.3020.3540.0570.2730.0180.0000.032
6A6Blok 570.1910.0510.1760.0770.0000.0000.0000.0000.0180.0000.179
7A7Komplek 610.0000.0510.0000.0770.3020.0000.0570.2730.0000.0000.032
8A8Blok 110.0000.0510.0000.0770.1400.0000.0570.0000.0180.0000.179
9A9Lot 290.0000.0510.0120.0000.0000.3540.0570.0000.0000.0000.179
10A10Blok 470.1910.0000.1760.0000.0000.0000.0000.0000.2630.2220.000
11A11Petak 510.1910.0510.0000.2120.0000.0000.3210.0000.0000.0000.000
12A12Lot 610.0000.0510.3410.0000.0000.3540.0570.0000.0180.0000.179
13A13Petak 310.1910.0000.1760.0000.3020.0000.0570.2730.2630.0000.179
14A14Lot 770.0000.0000.0120.0000.0000.0000.0000.2730.0180.0000.179

Sedangkan untuk data jarak negatif dari solusi rata-rata (NDA) seperti dalam TABEL 5 berikut ini:

TABEL 5 : Jarak Negatif dari Solusi Rata-rata (NDA)
No.AlternatifNDA
KodeNamaC1C2C3C4C5C6C7C8C9C10C11
1A1Petak 230.0000.0000.0000.1920.3490.0000.0000.0000.2280.0370.263
2A2Blok 510.0000.0000.1530.0000.0230.0770.2080.0450.0000.0370.263
3A3Area 230.0000.0000.0000.0000.3490.0000.0000.0450.2280.0000.263
4A4Komplek 770.0000.1860.3180.1920.0000.0000.2080.0450.0000.0370.000
5A5Petak 470.4040.0000.0000.0000.0000.0000.0000.0000.0000.0370.000
6A6Blok 570.0000.0000.0000.0000.0230.2920.2080.3640.0000.0370.000
7A7Komplek 610.1060.0000.1530.0000.0000.2920.0000.0000.2280.0370.000
8A8Blok 110.4040.0000.1530.0000.0000.2920.0000.3640.0000.0370.000
9A9Lot 290.4040.0000.0000.0580.0230.0000.0000.0450.2280.0370.000
10A10Blok 470.0000.1860.0000.1920.0230.2920.2080.0450.0000.0000.116
11A11Petak 510.0000.0000.1530.0000.0230.2920.0000.0450.2280.0370.263
12A12Lot 610.1060.0000.0000.0580.1860.0000.0000.3640.0000.0370.000
13A13Petak 310.0000.1860.0000.1920.0000.0770.0000.0000.0000.0370.000
14A14Lot 770.1060.1860.0000.0580.3490.2920.2080.0000.0000.0370.000

2.3.4. Menghitung Jumlah Terbobot PDA/NDA (SP/SN)

Nilai SP/SN merupakan jumlah dari nilai PDA/NDA dikalikan dengan bobot (w) sesuai dengan kriterianya untuk setiap alternatif. Sebagai misal, SP12 merupakan penjumlahan dari perkalian nilai PDA12,j dengan bobot kriteria ke-j (wj). Sesuai dengan persamaan EDA-10 didapat nilai SP12 sebagai berikut :

$\begin{align} SP_{12}&= \sum_{j=1}^{11} w_{j} \times PDA_{12,j}\\ &=w_{1} * PDA_{12,1}+w_{2} * PDA_{12,2}+w_{3} * PDA_{12,3}+w_{4} * PDA_{12,4}+w_{5} * PDA_{12,5}+w_{6} * PDA_{12,6}+w_{7} * PDA_{12,7}+w_{8} * PDA_{12,8}+w_{9} * PDA_{12,9}+w_{10} * PDA_{12,10}+w_{11} * PDA_{12,11}\\ &=0.075 * 0.000+0.037 * 0.051+0.150 * 0.341+0.125 * 0.000+0.062 * 0.000+0.100 * 0.354+0.025 * 0.057+0.087 * 0.000+0.175 * 0.018+0.050 * 0.000+0.013 * 0.179\\ &=0.000+0.002+0.051+0.000+0.000+0.035+0.001+0.000+0.003+0.000+0.002\\ &=0.09518997751735\\ \end{align}$

Sedangkan nilai SN12 merupakan penjumlahan dari perkalian nilai NDA12,j dengan bobot kriteria ke-j (wj), sesuai dengan persamaan EDA-11 dapat dihitung sebagai berikut:

$\begin{align} SN_{12}&= \sum_{j=1}^{11} w_{j} \times NDA_{12,j}\\ &=w_{1} * NDA_{12,1}+w_{2} * NDA_{12,2}+w_{3} * NDA_{12,3}+w_{4} * NDA_{12,4}+w_{5} * NDA_{12,5}+w_{6} * NDA_{12,6}+w_{7} * NDA_{12,7}+w_{8} * NDA_{12,8}+w_{9} * NDA_{12,9}+w_{10} * NDA_{12,10}+w_{11} * NDA_{12,11}\\ &=0.075 * 0.000+0.037 * 0.051+0.150 * 0.341+0.125 * 0.000+0.062 * 0.000+0.100 * 0.354+0.025 * 0.057+0.087 * 0.000+0.175 * 0.018+0.050 * 0.000+0.013 * 0.179\\ &=0.008+0.000+0.000+0.007+0.012+0.000+0.000+0.032+0.000+0.002+0.000\\ &=0.060488202512572\\ \end{align}$

Setelah dilakukan perhitungan yang sama untuk alternatif-alternatif yang lain, maka diperoleh nilai SP/SN seperti dalam TABEL 6 berikut ini :

TABEL 6 : Jumlah Terbobot PDA/NDA (SP/SN)
No.AlternatifSPSN
KodeNama
1A1Petak 230.063760.09089
2A2Blok 510.088760.04639
3A3Area 230.092390.06898
4A4Komplek 770.115090.08969
5A5Petak 470.105210.03217
6A6Blok 570.057660.06954
7A7Komplek 610.056090.10191
8A8Blok 110.026970.11616
9A9Lot 290.042710.08473
10A10Blok 470.098000.07233
11A11Petak 510.050730.10266
12A12Lot 610.095190.06049
13A13Petak 310.133300.04057
14A14Lot 770.030940.08026

2.3.5. Menghitung Nilai Normalisasi SP/SN (NSP/NSN)

Nilai jumlah terbobot SP/SN setiap alternatif selanjutnya dinormalisasi dengan membaginya dengan nilai maksimum nilai SP/SN-nya. Sebagai contoh untuk nilai NSP12 -- nilai NSP dari alternatif ke-12(Lot 61) -- dihitung berdasarkan persamaan EDA-12 yaitu nilai SP12 dibagi dengan nilai max(SP), seperti perhitungan berikut:

$\begin{align} NSP_{12}&=\frac{SP_{12}}{\text{max}(SP)}\\ &=\frac{0.09519}{0.13330}\\ &=0.71412562429052\end{align}$

$\begin{align} NSN_{12}&=1-\frac{SN_{12}}{\text{max}(SN)}\\ &=1-\frac{0.06049}{0.11616}\\ &=0.47927328708089\end{align}$

Untuk alternatif-alternatif yang lain bisa dihitung nilai NSP/NSN-nya dengan cara yang sama, dan hasilnya adalah sebagai berikut:

TABEL 7 : Nilai Ternormalisasi NSP/NSN
No.AlternatifNSPNSN
KodeNama
1A1Petak 230.478350.21751
2A2Blok 510.665910.60060
3A3Area 230.693090.40616
4A4Komplek 770.863410.22784
5A5Petak 470.789290.72305
6A6Blok 570.432580.40132
7A7Komplek 610.420800.12264
8A8Blok 110.202300.00000
9A9Lot 290.320400.27062
10A10Blok 470.735180.37735
11A11Petak 510.380580.11626
12A12Lot 610.714130.47927
13A13Petak 311.000000.65071
14A14Lot 770.232080.30910

2.3.6. Menghitung Nilai Skor Penilaian (AS)

Nilai skor penilaian atau Apraisal Score (AS) didasarkan pada persamaan EDA-14, sebagai contoh untuk skor penilaian dari alternatif ke-12 (Lot 61) dapt dihitung sebagai berikut:

$\begin{align} AS_{12}&=\frac{1}{2} (NSP_{12}+NSN_{12})\\ &=\frac{1}{2}(0.71413+0.47927)\\ &=\frac{1}{2} * 1.19340 \\ &=0.59669945568571\end{align}$

Dengan menghitung semua nilai AS dari semua laternatif yang ada, diperoleh hasil seperti terlihat di TABEL 8 berikut ini:

TABEL 8 : Skor Penilaian - Apraisal Score (AS)
NoAlternatifAS
KodeNama
1A1Petak 230.34793144352271
2A2Blok 510.63325861936231
3A3Area 230.54962514267429
4A4Komplek 770.54562581191179
5A5Petak 470.75616813855633
6A6Blok 570.41695294486387
7A7Komplek 610.27172173905981
8A8Blok 110.10114796405754
9A9Lot 290.29551028190011
10A10Blok 470.55626417544679
11A11Petak 510.2484193859968
12A12Lot 610.59669945568571
13A13Petak 310.82535402721416
14A14Lot 770.27059156245643

2.3.7. Perankingan

Nilai skor penilaian Apraisal Score (AS) yang diperoleh dari hasil perhitungan sebelumnya selanjutnya diurutkan dari yang terbesar hingga yang terendah seperti terlihat dalam TABEL 9 seperti berikut ini :

TABEL 9 : Perangkingan
NoAlternatifASRanking
KodeNama
1A13Petak 310.825354027214161
2A5Petak 470.756168138556332
3A2Blok 510.633258619362313
4A12Lot 610.596699455685714
5A10Blok 470.556264175446795
6A3Area 230.549625142674296
7A4Komplek 770.545625811911797
8A6Blok 570.416952944863878
9A1Petak 230.347931443522719
10A9Lot 290.2955102819001110
11A7Komplek 610.2717217390598111
12A14Lot 770.2705915624564312
13A11Petak 510.248419385996813
14A8Blok 110.1011479640575414

Dari hasil perankingan nilai skor penilaian (AS) tersebut, diperoleh bahwa lokasi ke-13 (Petak 31) dengan skor penilaian sebesar 0.82535402721416 terpilih sebagai lokasi yang paling baik sebagai lokasi parkir komuter, berdasar kriteria-kriteria dan bobot yang sudah ditentukan.

3.1. Persiapan Database

Sebagai bahan pembelajaran aplikasi EDAS 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;

Dalam hal ini, pembuatan database memakai command console dari database server yang bersangkutan

3.1.1. Membuat Data Tabel Kriteria

Berdasarkan contoh kasus di atas dibuatkan tabel untuk data-data kriteria sebagai berikut:

-- menghapus tabel eda_criterias jika sudah ada
DROP TABLE IF EXISTS eda_criterias;
-- membuat tabel eda_criterias jika tidak ada
CREATE TABLE IF NOT EXISTS eda_criterias(
  id_criteria TINYINT(3) UNSIGNED NOT NULL,
  criteria VARCHAR(100) NOT NULL,
  weight FLOAT NOT NULL,
  attribute SET('benefit','cost'),
  PRIMARY KEY(id_criteria)
)ENGINE=MyISAM;

-- memasukkan data-data kriteria
INSERT INTO eda_criterias(id_criteria,criteria,weight,attribute)
VALUES
(1,'Sistem Informasi Pendukung',0.0750,'benefit'),
(2,'Lokasi Parkir Gratis di Pusat Kota',0.0370,'cost'),
(3,'Total Biaya Parkir dan Angkutan Umum',0.1500,'cost'),
(4,'Luas Lahan',0.1250,'benefit'),
(5,'Keunggulan Transportasi Umum dibanding Angkutan Pribadi',0.0620,'benefit'),
(6,'Trafik Angkutan Umum di Lokasi',0.1000,'cost'),
(7,'Promosi oleh Institusi Umum',0.0250,'benefit'),
(8,'Frekuensi Angkutan Umum di lokasi',0.0870,'benefit'),
(9,'Harga Tempat Parkir',0.1750,'cost'),
(10,'Jarak ke Pusat Kota',0.0500,'cost'),
(11,'Investasi Pribadi',0.0130,'benefit');

3.1.2. Membuat Data Tabel Alternatif

Data-data mengenai kandidat yang akan dievaluasi seperti yang tertera pada contoh kasus di atas dapat di representasikan dalam tabel database sebagai berikut:

-- menghapus tabel eda_alternatives jika sudah ada
DROP TABLE IF EXISTS eda_alternatives;
-- membuat tabel eda_alternatives jika tidak ada
CREATE TABLE IF NOT EXISTS eda_alternatives(
  id_alternative SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(30) NOT NULL,
  PRIMARY KEY(id_alternative)
) ENGINE=MyISAM;

-- memasukkan data-data alternatif
INSERT INTO eda_alternatives(id_alternative,name)
VALUES
(1,'Petak 23'),
(2,'Blok 51'),
(3,'Area 23'),
(4,'Komplek 77'),
(5,'Petak 47'),
(6,'Blok 57'),
(7,'Komplek 61'),
(8,'Blok 11'),
(9,'Lot 29'),
(10,'Blok 47'),
(11,'Petak 51'),
(12,'Lot 61'),
(13,'Petak 31'),
(14,'Lot 77');

Dalam tabel eda_alternatives tersebut hanya disimpan id dan nama alternatif-nya; dalam pengembangannya dapat ditambahkan atribut/properti data lainnya, semisal alamat, nomor telepon, email, dan sebagainya sesuai kebutuhan. Namun dalam contoh ini hanya diperlukan namanya saja.

3.1.3. Membuat Data Tabel Hasil Evaluasi

Berikutnya adalah membuat tabel yang berisi hasil evaluasi dari tiap-tiap kandidat(alternatif) terhadap kriteria-kriteria yang diberikan. Data-data yang ada pada contoh kasus di atas dapat di representasikan dalam tabel relasi antara tabel eda_criterias dengan tabel eda_alternatives sebagai berikut:

-- menghapus tabel eda_evaluations jika sudah ada
DROP TABLE IF EXISTS eda_evaluations;
-- membuat tabel eda_evaluations jika tidak ada
CREATE TABLE IF NOT EXISTS eda_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 eda_evaluations(id_alternative,id_criteria,value)
VALUES
(1,1,4),(1,2,4),(1,3,6),(1,4,6),(1,5,4),(1,6,4),(1,7,5),(1,8,4),(1,9,5),(1,10,4),(1,11,5),
(2,1,4),(2,2,4),(2,3,7),(2,4,9),(2,5,6),(2,6,5),(2,7,3),(2,8,3),(2,9,3),(2,10,4),(2,11,5),
(3,1,4),(3,2,4),(3,3,6),(3,4,9),(3,5,4),(3,6,3),(3,7,4),(3,8,3),(3,9,5),(3,10,3),(3,11,5),
(4,1,4),(4,2,5),(4,3,8),(4,4,6),(4,5,8),(4,6,3),(4,7,3),(4,8,3),(4,9,3),(4,10,4),(4,11,7),
(5,1,2),(5,2,3),(5,3,6),(5,4,8),(5,5,8),(5,6,3),(5,7,4),(5,8,4),(5,9,4),(5,10,4),(5,11,7),
(6,1,4),(6,2,4),(6,3,5),(6,4,8),(6,5,6),(6,6,6),(6,7,3),(6,8,2),(6,9,4),(6,10,4),(6,11,8),
(7,1,3),(7,2,4),(7,3,7),(7,4,8),(7,5,8),(7,6,6),(7,7,4),(7,8,4),(7,9,5),(7,10,4),(7,11,7),
(8,1,2),(8,2,4),(8,3,7),(8,4,8),(8,5,7),(8,6,6),(8,7,4),(8,8,2),(8,9,4),(8,10,4),(8,11,8),
(9,1,2),(9,2,4),(9,3,6),(9,4,7),(9,5,6),(9,6,3),(9,7,4),(9,8,3),(9,9,5),(9,10,4),(9,11,8),
(10,1,4),(10,2,5),(10,3,5),(10,4,6),(10,5,6),(10,6,6),(10,7,3),(10,8,3),(10,9,3),(10,10,3),(10,11,6),
(11,1,4),(11,2,4),(11,3,7),(11,4,9),(11,5,6),(11,6,6),(11,7,5),(11,8,3),(11,9,5),(11,10,4),(11,11,5),
(12,1,3),(12,2,4),(12,3,4),(12,4,7),(12,5,5),(12,6,3),(12,7,4),(12,8,2),(12,9,4),(12,10,4),(12,11,8),
(13,1,4),(13,2,5),(13,3,5),(13,4,6),(13,5,8),(13,6,5),(13,7,4),(13,8,4),(13,9,3),(13,10,4),(13,11,8),
(14,1,3),(14,2,5),(14,3,6),(14,4,7),(14,5,4),(14,6,6),(14,7,3),(14,8,4),(14,9,4),(14,10,4),(14,11,8);

3.2. Koneksi Ke Database Server

Dari databse yang sudah dibuat, kita bisa membuat script php untuk membuat koneksi ke database server dengan extension mysqli sebagai berikut:

<?php
//-- konfigurasi database
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'db_dss';
//-- koneksi ke database server dengan extension mysqli
$db = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
//-- hentikan program dan tampilkan pesan kesalahan jika koneksi gagal
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.

3.2.1 Mengambil Data Alternatif

Sebelum masuk kebagian inti perhitungan dengan metode EDAS, sebelumnya diambil terlebih dahulu data-data yang akan digunakan dari database. Yang pertama ada data Alternatif. Data ini diambil dari tabel eda_alternatives dan dimasukkan ke dalam variabel $alternatif dengan kode script PHP seperti berikut

<?php
//-- inisialisasi variabel array alternatif
$alternatif=array();
$sql='SELECT * FROM eda_alternatives';
$data=$db->query($sql);
while($row = $data->fetch_object()){
    $alternatif[$row->id_alternative]=$row->name;
}
?>

Data nama alternatif dimasukkan ke dalam variabel $alternatif dengan index/key array-nye merupakan id_alternatif-nya

3.2.2 Mengambil Data Kriteria dan Bobot

Data kriteria dan bobot diambil dari tabel eda_criterias dan dimasukkan dalam variabel array $kriteria dan $w sebagai berikut:

<?php
//-- inisialisasi variabel array kriteria dan bobot (W)
$kriteria=$w=array();
$sql='SELECT * FROM eda_criterias';
$data=$db->query($sql);
while($row = $data->fetch_object()){
    $kriteria[$row->id_criteria]=array($row->name,$row->attribute);
    $w[$row->id_kriteria]=$row->weight;
}
?>

Data kriteria berupa nama kriteria dan atribut/tipe-nya dimasukkan ke dalam variabel array dua dimensi $kriteria, key/index yang pertama merupakan id_criteria-nya sedangkan index/key yang kedua, jika '0' maka adalah nama kriteria-nya sendangkan jika '1' maka merupakan atribut/tipe-nya. Sebagai contoh untuk $kriteria[2][0] berisi data nama dari kriteria ke-2 yaitu 'Lokasi Parkir Gratis di Pusat Kota' dengan atribut/tipe 'cost'

Sedangkan untuk data nilai bobot-nya dimasukkan ke dalam variabel $w dengan index/key-nya berupa id_kriteria yang bersesuaian

3.3. Langkah-Langkah EDAS

Bagian berikutnya adalah bagian inti dari perhitungan dengan metode EDAS. Di sini dijelaskan langkah per langkah-nya untuk kode PHP-nya, sesuai dengan langkah-langkah perhitungan EDAS secara manual sebelumnya.

3.3.1. Menentukan Matriks Keputusan (X)

Mengacu pada persamaan EDA-01 kita dapat membuat matriks keputusan (X) dengan mengambil data dari tabel eda_evaluations yang kemudian dimasukkan dalam variable array $X dengan kode PHP sebagai berikut:

<?php
//-- inisialisasi variabel array matriks keputusan X
$X=array();
//-- ambil nilai dari tabel
$sql='SELECT * FROM eda_evaluations';
$data=$db->query($sql);
while($row = $data->fetch_object()){
    $i=$row->id_alternative;
    $j=$row->id_criteria;
    $X[$i][$j]=$aij;
}
?>

Variable array $X merupakan array dua dimensi, dimana dimensi yang pertama merupakan index dari alternatif-nya, sedangkan dimensi yang kedua merupakan index kriteria-nya.$X[$i][$j] berarti merupakan data matrik keputusan untuk alternatif ke $i dan kriteria ke $j

3.3.2. Menentukan Solusi Rata-rata (AV)

Dari matrik keputusan X yang sudah ditentukan dilangkah sebelumnya, kemudian dicari nilai Solusi Rata-rata (AV) dengan script berikut:

<?php
//-- inisialisasi array solusi rata-rata (AV)
$AV=array();
foreach($X as $i=>$ai){
    foreach($ai as $j=>$aij){
        if(!isset($AV[$j])){
            $AV[$j]=0;
        }
        $AV[11]+=$aij/$jml_alternative;
    }
}
?>

Nilai solusi rata-rata untuk setiap kriteria ke-$j ($AV[$j]) diperoleh dari nilai rata-rata matriks keputusan ($X) semua alternatif pada kriteria ke-$j.

3.3.3. Menghitung Jarak Positif/Negatif dari Rata-rata (PDA/NDA)

Berdasarkan persamaan EDA-04 sampai dengan EDA-09 dibuat script sebagai berikut :

<?php
//-- inisialisasi array PDA/NDA
$PDA=array();
$NDA=array();
foreach($X as $i=>$xi){
    $PDA[$i]=array();
    $NDA[$i]=array();
    foreach($xi as $j=>$xij){
        if($kriteria[$j][1]=='benefit'){
            $PDA[$i][$j]=max(0,($xij-$AV[$j])/$AV[$j]);
            $NDA[$i][$j]=max(0,($AV[$j]-$xij)/$AV[$j]);
        }else{
            $PDA[$i][$j]=max(0,($AV[$j]-$xij)/$AV[$j]);
            $NDA[$i][$j]=max(0,($xij-$AV[$j])/$AV[$j]);
        }
    }
}
?>

Dalam script di atas, nilai jarak positif/negatif dari rata-rata PDA/NDA didapat dari nilai selisih antara nilai masing-masing nilai matriks keputusan X dengan nilai rata-rata AV dibagi dengan nilai rata-rata AV ditiap kriteria-nya.

3.3.4. Menghitung Jumlah Terbobot PDA/NDA (SP/SN)

Langkah selanjutnya adalah menghitung nilai SP/SN sebagai berikut:

<?php
//-- inisialisasi array SP/SN
$SP=array();
$SN=array();
foreach($X as $i=>$xi){
    $SP[$i]=0;
    $SN[$i]=0;
    foreach($xi as $j=>$xij){
        $SP[$i]+=$w[$j]*$PDA[$i][$j];
        $SN[$i]+=$w[$j]*$NDA[$i][$j];
    }
}
?>

Nilai SP/SN adalah nilai penjumlahan (Sum) dari perkalian antara nilai PDA/NDA dengan bobot (w)-nya sesuai kriterianya, untuk setiap alternatif.

3.3.5. Menghitung Nilai Normalisasi SP/SN (NSP/NSN)

Langkah berikutnya adalah melakukan normalisasi nilai SP/SN dengan script berikut ini:

<?php
$NSP=array();
$NSN=array();
foreach($alternatif as $i=>Lot 77)
{
    $NSP[$i]=$SP[$i]/max($SP);
    $NSN[$i]=1-$SN[$i]/max($SN);
}
?>

Untuk mencari nilai normalisasi SP/SN (NSP/NSN) untuk masing-masing alternatif dibagi dengan nilai maksimum SP/SN dari semua alternatif.

3.3.6. Menghitung Nilai Skor Penilaian (AS)

Berdasarkan persamaan EDA-14 kemudian dicari nilai skor penilaian dengan script berikut:

<?php
//-- inisialisasi nilai skor penilaian AS
$AS=array();
foreach($alternatif as $i=>$ax)
{
    $AS[$i]=($NSP[$i]+$NSN[$i])/2;
}
?>

Nilai skor penilaian $AS merupakan nilai rata-rata dari $NSP dengan $NSN. Proses ini dilakukan untuk setiap alternatif ($alternatif) untuk mendapatkan nilai skor penilaian masing-masing alternatif.

3.3.7. Perankingan

Bagian terakhir dari proses metode EDAS adalah perankingan, dimana data skor penilaian $AS diurutkan dari yang terbesar hingga yang terkecil. Berikut adalah contoh script PHP-nya

<?php
//-- mengurutkan secara descending
arsort($AS);
//-- ambil key-index yang pertama
$terpilih=key($AS);
echo "Dari hasil perhitungan dipilih alternatif ke-{$terpilih}"
    ." ({$alternatif[$terpilih]}) <br>dengan nilai skor penilaian "
    ." sebesar {$AS[$terpilih]}";
?>

Data nilai skor penilaian $AS diurutkan secara descending dengan fungsi arsort() untuk mengurutkan berdasarkan nilay array namun tetap mempertahankan key-index-nya. Setelah diurutkan, maka item array yang pertama adalah nilai skor penilaian AS yang terpilih, dan key-index-nya menunjukkan alternatif ke-i. Key-index ini diambil dengan fungsi key(), dan selanjutnya ditampilkan hasilnya dengan mengambil nilai dari variabel array $alternatif dengan key-index yang didapat dari baris sebelumnya, yaitu dalam variabel $terpilih. HAsil yang ditampilkan kurang lebih, sebagai berikut :

Dari hasil perhitungan dipilih alternatif ke-13 (Petak 31)
dengan nilai skor penilaian sebesar 0.82535402721416

Source code selengkapnya bisa dilihat di tautan ini source source

Konfigurasi aplikasi

Masukkan jumlah Kriteria (n) dan jumlah Alternatif (m) yang akan disimulasikan. Pada simulasi ini dibatasi nilai masukkannya masing-masing hanya bilangan bulat antara 3 s.d 7 saja