Metode DIA (Distance to the Ideal Alternative) merupakan metode yang didasarkan pada prinsip-prinsip sebagaimana pada metode TOPSIS. Metode ini dikembangkan guna memperbaiki metode sebelumnya yaitu metode TOPSIS.
author : cahya dsn
,
published on : August 8th, 2019
updated on : May 29th, 2022
Metode DIA(Distance to the Ideal Alternative) merupakan metode yang dimiliki oleh MADM (Multiple Attribute Decision Making) yang baru dikembangkan oleh beberapa peneliti. Metode DIA didasarkan pada prinsip-prinsip sebagaimana pada metode TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution), DIA juga menentukan nilai ideal positif dan negatif dari setiap atribut. Perbedaan terletak pada penentuan jarak yang menggunakan manhattan distance, penentuan Positif Ideal Alternative (PIA) yang memiliki minimal $𝐷_𝑗^{+}$ , dan maksimal $𝐷_𝑗^{-}$ serta formula dalam urutan nilai pada $R_i$ sebagai penentu perangkingan alternatif (Tran et al, 2008
).
Dalam artikel ini disajikan algoritma DiA yang bertujuan memilih antarmuka terbaik untuk memastikan tidak ada masalah kelainan (abnormality) peringkat dan memberikan akurasi yang baik dalam mengidentifikasi peringkat alternatif.
Untuk menghindari batasan TOPSIS, DiA menghitung jarak Manhattan (dalam ruang m-dimensi) ke atribut ideal positif dan negatif, bukan jarak Euclidean seperti di TOPSIS. Ini memungkinkan jarak ini untuk berubah secara seragam ketika suatu alternatif dikeluarkan dari daftar kandidat. Selain itu, alternatif ideal positif (Positive Ideal Alternative - PIA) yang memiliki jarak minimum ke atribut ideal positif dan jarak maksimum ke atribut ideal negatif ditentukan dan alternatif "aktual" terbaik memiliki jarak terdekat ke PIA daripada kedekatan relatif dengan solusi ideal dalam TOPSIS.
Langkah-langkah yang dilakukan dalam penyelesaian masalah menggunakan metode DIA adalah sebagai berikut (Lahby et al, 2012
):
Setiap elemen pada matriks di normalisasi untuk mendapatkan matriks normalisasi $r_{ij}$, dapat dihitung sebagai berikut:
Sehingga diperoleh matriks R hasil normalisasi,
Setelah proses normalisasi matriks kemudian menentukan matriks $V$, dimana setiap elemen matriks $V$ diperoleh dengan perhitungan:
Diberikan bobot $W = w_1, w_2, ..., w_n$ sehingga weight normalized matrix $V$ dapat dihasilkan sebagai berikut:
Sebagaimana TOPSIS, DiA menentukan nilai atribut alternatif ideal positif dan negatif dari setiap atribut. Ini adalah nilai maksimum dan minimum atribut di setiap kolom dari matriks MADM.
Solusi ideal positif dinotasikan dengan $A^{+}$ dan solusi ideal negatif dinotasikan dengan $A^{-}$, sebagai berikut:
Hasil dari solusi ideal positif ($𝐴^{+}$) dan solusi ideal negatif ($𝐴^{-}$) berupa matriks.
Sementara jika dalam TOPSIS menggunakan nilai solusi ideal positif untuk menghitung dalam ruang m-dimensi dengan jarak Euclidean antara solusi dan solusi ideal, DiA menggunakan jarak Manhattan untuk menghitung jarak antara nilai atribut dan nilai ideal positif dan negatif dari setiap atribut .
Dimana $V_{ij}$ adalah elemen matriks $V$ dan $a_i$ adalah elemen matriks $A$.
Kemudian, DiA mempertimbangkan nilai minimum $D^{+}$ dan nilai maksimum $D^{-}$
Menentukan Positif Ideal Alternatif (PIA) yang memiliki minimal $D_j^{+}$, dan maksimal $D_j{-}$, sebagai berikut:
Peringkat dapat ditentukan dengan melihat $P_i$ yang diperoleh dari jarak alternatif PIA sebagai berikut:
Nilai $P_i$ yang minimum mengindikasikan bahwa alternatif $A_i$ lebih terpilih
Penerapan Metode Distance to the Ideal Alternative (DIA) diharapkan mampu untuk membantu dalam menentukan penerima beasiswa dari beberapa kandidat mahasiswa yang diajukan, untuk menerima beasiswa pendidikan di Perguruan Tinggi
Lembaga pendidikan seperti di sekolah-sekolah, perguruan tinggi banyak sekali beasiswa yang ditawarkan kepada siswa yang kurang mampu dan siswa berprestasi. Seperti yang tertuang dalam Undang-Undang Dasar 1945 pasal 31 ayat 1 yang berbunyi “bahwa tiap-tiap warga Negara berhak mendapatkan pengajaran”. Sehingga pemerintah pusat dan pemerintah daerah wajib memberikan kemudahan kepada warga Negara untuk mendapat pendidikan yang bermutu. Untuk mendapatkan pendidikan yang bermutu diperlukan biaya yang tidak sedikit. Oleh karena itu bagi peserta didik yang orang tuanya kurang mampu dan peserta didik yang berprestasi berhak mendapatkan biaya pendidikan yang biasanya sering disebut beasiswa.
Ada 20 kandidat mahasiswa yang akan dipilih dari hasil interview dan berkas yang diajukan ke tim Penyeleksi penerima beasiswa yang akan dijadikan alternatif; yaitu Nina, Usman, Mirza, Reza, Tantri, Vicky, James, Firza, Gatot, Carlie, Lina, Yuna, Bella, Dewi, Zaki, Oscar, Shinta, Pandu, Intan, dan Kevin .
Ada 5 kriteria dasar yang menjadi acuan dalam pengambilan keputusan, yaitu:
Pada kasus penentuan perumahan terbaik ini telah ditentukan 5 buah kriteria yang diperhitungkan, yaitu ipk, penghasilan ortu, jumlah saudara kandung, tagihan listrik, dan semester dengan rincian bobot penilaian seperti pada TABEL 1 berikut :
Kode | Nama | Bobot (%) | Tipe[1] |
---|---|---|---|
C1 | Ipk | 40 | max |
C2 | Penghasilan Ortu | 25 | min |
C3 | Jumlah Saudara Kandung | 10 | max |
C4 | Tagihan Listrik | 5 | min |
C5 | Semester | 20 | min |
Data-data awal yang akan diperhitungkan dengan metoda DIA ini adalah seperti yang tercantum dalam TABEL 2 berikut ini [2]
Alternatif | Kriteria | |||||
---|---|---|---|---|---|---|
Kode | Nama | C1 | C2 | C3 | C4 | C5 |
A1 | Nina | 4 | 5 | 4 | 2 | 3 |
A2 | Usman | 4 | 4 | 4 | 1 | 5 |
A3 | Mirza | 3 | 3 | 2 | 2 | 5 |
A4 | Reza | 3 | 3 | 1 | 4 | 4 |
A5 | Tantri | 4 | 3 | 4 | 4 | 5 |
A6 | Vicky | 2 | 5 | 4 | 4 | 3 |
A7 | James | 1 | 4 | 4 | 4 | 6 |
A8 | Firza | 2 | 5 | 4 | 4 | 3 |
A9 | Gatot | 2 | 3 | 3 | 1 | 4 |
A10 | Carlie | 3 | 3 | 2 | 5 | 4 |
A11 | Lina | 5 | 4 | 2 | 2 | 4 |
A12 | Yuna | 3 | 4 | 4 | 1 | 6 |
A13 | Bella | 4 | 3 | 1 | 5 | 4 |
A14 | Dewi | 5 | 4 | 4 | 5 | 6 |
A15 | Zaki | 3 | 4 | 2 | 5 | 6 |
A16 | Oscar | 2 | 3 | 4 | 4 | 5 |
A17 | Shinta | 6 | 5 | 4 | 5 | 5 |
A18 | Pandu | 3 | 5 | 1 | 3 | 5 |
A19 | Intan | 3 | 5 | 1 | 5 | 6 |
A20 | Kevin | 4 | 5 | 1 | 3 | 5 |
Keterangan
Berikut ini akan dijabarkan perhitungan dengan metoda DIA secara manual lengkah demi langkah untuk memudahkan pemahaman terhadap metoda DIA ini
X
)Langkah pertama adalah membuat matriks keputusan (X
) dari data awal yang ada. Dari data pada TABEL 2 dapat dibuat matriks keputusan sebagai berikut :
R
)Setelah matriks keputusan dibuat, selanjutnya adalah membuat matriks keputusan yang ternormalisasi R
yang fungsinya untuk memperkecil range data, dengan tujuan untuk mempermudah perhitungan DIA dan penghematan penggunaan memory.
Sesuai dengan persamaan [DIA-02] dapat dihitung nilai normalisasinya; sebagai contoh untuk data r15,2
didapat:
$\begin{align}r_{15,2}&=\frac{x_{15,2}}{\sqrt{x^2_{1,2} + x^2_{2,2} + x^2_{3,2} + x^2_{4,2} + x^2_{5,2} + x^2_{6,2} + x^2_{7,2} + x^2_{8,2} + x^2_{9,2} + x^2_{10,2} + x^2_{11,2} + x^2_{12,2} + x^2_{13,2} + x^2_{14,2} + x^2_{15,2} + x^2_{16,2} + x^2_{17,2} + x^2_{18,2} + x^2_{19,2} + x^2_{20,2}}}\\ &=\frac{4}{\sqrt{5^2 + 4^2 + 3^2 + 3^2 + 3^2 + 5^2 + 4^2 + 5^2 + 3^2 + 3^2 + 4^2 + 4^2 + 3^2 + 4^2 + 4^2 + 3^2 + 5^2 + 5^2 + 5^2 + 5^2}}\\ &=\frac{4}{\sqrt{25 + 16 + 9 + 9 + 9 + 25 + 16 + 25 + 9 + 9 + 16 + 16 + 9 + 16 + 16 + 9 + 25 + 25 + 25 + 25}}\\ &=\frac{4}{\sqrt{334}}\\ &=0.21887026206583\end{align}$
Dengan cara yang sama dapat diperoleh hasil nilai ri,j
untuk semua alternatif Ai
dan kriteria Cj
, sehingga dapat dibentuk matrik Normalisasi (R
) sebagai berikut
R = | 0.255 | 0.274 | 0.290 | 0.120 | 0.140 | ||
0.255 | 0.219 | 0.290 | 0.060 | 0.233 | |||
0.191 | 0.164 | 0.145 | 0.120 | 0.233 | |||
0.191 | 0.164 | 0.073 | 0.239 | 0.186 | |||
0.255 | 0.164 | 0.290 | 0.239 | 0.233 | |||
0.128 | 0.274 | 0.290 | 0.239 | 0.140 | |||
0.064 | 0.219 | 0.290 | 0.239 | 0.279 | |||
0.128 | 0.274 | 0.290 | 0.239 | 0.140 | |||
0.128 | 0.164 | 0.218 | 0.060 | 0.186 | |||
0.191 | 0.164 | 0.145 | 0.299 | 0.186 | |||
0.319 | 0.219 | 0.145 | 0.120 | 0.186 | |||
0.191 | 0.219 | 0.290 | 0.060 | 0.279 | |||
0.255 | 0.164 | 0.073 | 0.299 | 0.186 | |||
0.319 | 0.219 | 0.290 | 0.299 | 0.279 | |||
0.191 | 0.219 | 0.145 | 0.299 | 0.279 | |||
0.128 | 0.164 | 0.290 | 0.239 | 0.233 | |||
0.383 | 0.274 | 0.290 | 0.299 | 0.233 | |||
0.191 | 0.274 | 0.073 | 0.180 | 0.233 | |||
0.191 | 0.274 | 0.073 | 0.299 | 0.279 | |||
0.255 | 0.274 | 0.073 | 0.180 | 0.233 |
Pada matrik Normalisasi R
di atas, data per-baris dari baris ke-1 s.d. baris ke-20 menunjukan data per-alternatif Ai
, sedangkan data per-kolom, dari kolom ke-1 s.d. kolom ke-5 adalah data per-kriteria Cj
V
)Langkah berikutnya, sesuai dengan persamaan [DIA-02] nilai dari masing-masing data ternormalisasi (R
) kemudian dikalikan dengan bobot (W
) untuk mendapatkan matriks keputusan ternormalisasi terbobot Y
. Sebagai contoh untuk data r15,2
dapat dicari nilai untuk v15,2
sebagai berikut:
$\begin{align}v_{15,2}&=r_{15,2}\cdot w_{2}\\ &=0.21887026206583 * 0.25\\ &=0.054717565516458\end{align}$
Dari semua data pada matrik normalisasi R
dilakukan perhitungan yang sama dengan perhitungan tersebut, sehingga diperoleh matriks Normalisasi Terbobot (V
) sebagai berikut
V = | 0.102 | 0.068 | 0.029 | 0.006 | 0.028 | ||
0.102 | 0.055 | 0.029 | 0.003 | 0.047 | |||
0.077 | 0.041 | 0.015 | 0.006 | 0.047 | |||
0.077 | 0.041 | 0.007 | 0.012 | 0.037 | |||
0.102 | 0.041 | 0.029 | 0.012 | 0.047 | |||
0.051 | 0.068 | 0.029 | 0.012 | 0.028 | |||
0.026 | 0.055 | 0.029 | 0.012 | 0.056 | |||
0.051 | 0.068 | 0.029 | 0.012 | 0.028 | |||
0.051 | 0.041 | 0.022 | 0.003 | 0.037 | |||
0.077 | 0.041 | 0.015 | 0.015 | 0.037 | |||
0.128 | 0.055 | 0.015 | 0.006 | 0.037 | |||
0.077 | 0.055 | 0.029 | 0.003 | 0.056 | |||
0.102 | 0.041 | 0.007 | 0.015 | 0.037 | |||
0.128 | 0.055 | 0.029 | 0.015 | 0.056 | |||
0.077 | 0.055 | 0.015 | 0.015 | 0.056 | |||
0.051 | 0.041 | 0.029 | 0.012 | 0.047 | |||
0.153 | 0.068 | 0.029 | 0.015 | 0.047 | |||
0.077 | 0.068 | 0.007 | 0.009 | 0.047 | |||
0.077 | 0.068 | 0.007 | 0.015 | 0.056 | |||
0.102 | 0.068 | 0.007 | 0.009 | 0.047 |
A
)Matriks Solusi Ideal (A
) merupakan nilai optimum untuk tiap-tiap kriteria, dari beberapa nilai alternatif solusi. Solusi ideal yang dicari terdiri dari dua nilai untuk masing-masing kriteria, yaitu Solusi Ideal Positif (A+
) dan Solusi Ideal Negatif (A-
)
A+
)Solusi Ideal Positif (A+
) merupakan nilai optimum maksimum (terbesar) dari suatu kriteria untuk beberapa nilai alternatif solusi dalam satu kriteria.
Kriteria | Solusi | Max |
---|---|---|
C1 - ipk | 0.102 ; 0.102 ; 0.077 ; 0.077 ; 0.102 ; 0.051 ; 0.026 ; 0.051 ; 0.051 ; 0.077 ; 0.128 ; 0.077 ; 0.102 ; 0.128 ; 0.077 ; 0.051 ; 0.153 ; 0.077 ; 0.077 ; 0.102 | 0.153 |
C2 - penghasilan ortu | 0.068 ; 0.055 ; 0.041 ; 0.041 ; 0.041 ; 0.068 ; 0.055 ; 0.068 ; 0.041 ; 0.041 ; 0.055 ; 0.055 ; 0.041 ; 0.055 ; 0.055 ; 0.041 ; 0.068 ; 0.068 ; 0.068 ; 0.068 | 0.068 |
C3 - jumlah saudara kandung | 0.029 ; 0.029 ; 0.015 ; 0.007 ; 0.029 ; 0.029 ; 0.029 ; 0.029 ; 0.022 ; 0.015 ; 0.015 ; 0.029 ; 0.007 ; 0.029 ; 0.015 ; 0.029 ; 0.029 ; 0.007 ; 0.007 ; 0.007 | 0.029 |
C4 - tagihan listrik | 0.006 ; 0.003 ; 0.006 ; 0.012 ; 0.012 ; 0.012 ; 0.012 ; 0.012 ; 0.003 ; 0.015 ; 0.006 ; 0.003 ; 0.015 ; 0.015 ; 0.015 ; 0.012 ; 0.015 ; 0.009 ; 0.015 ; 0.009 | 0.015 |
C5 - semester | 0.028 ; 0.047 ; 0.047 ; 0.037 ; 0.047 ; 0.028 ; 0.056 ; 0.028 ; 0.037 ; 0.037 ; 0.037 ; 0.056 ; 0.037 ; 0.056 ; 0.056 ; 0.047 ; 0.047 ; 0.047 ; 0.056 ; 0.047 | 0.056 |
Dalam TABEL 3 ditampilkan data-data solusi alternatif untuk tiap-tiap kriteria dari masing-masing alternatif. Dengan mengambil nilai maksimal dari tiap-tiap kriteria maka diperoleh Solusi Ideal Positif ($A^{+}$) sebagai berikut :
$A^{+}=[0.153\ ,\ 0.068\ ,\ 0.029\ ,\ 0.015\ ,\ 0.056]$
A-
)Solusi Ideal Negatif (A-
) merupakan nilai optimum minimum (terkecil) dari suatu kriteria untuk beberapa nilai alternatif solusi dalam satu kriteria.
Pada TABEL 4 berikut ini, ditampilkan kembali nilai-nilai solusi alternatif dari setiap kriteria, dengan mengambil nilai minimum (terendah) dari setiap kriteria maka akan didapatkan nilai solusi ideal negatif A-
untuk kriteria tersebut
Kriteria | Solusi | Min |
---|---|---|
C1 - ipk | 0.102 ; 0.102 ; 0.077 ; 0.077 ; 0.102 ; 0.051 ; 0.026 ; 0.051 ; 0.051 ; 0.077 ; 0.128 ; 0.077 ; 0.102 ; 0.128 ; 0.077 ; 0.051 ; 0.153 ; 0.077 ; 0.077 ; 0.102 | 0.026 |
C2 - penghasilan ortu | 0.068 ; 0.055 ; 0.041 ; 0.041 ; 0.041 ; 0.068 ; 0.055 ; 0.068 ; 0.041 ; 0.041 ; 0.055 ; 0.055 ; 0.041 ; 0.055 ; 0.055 ; 0.041 ; 0.068 ; 0.068 ; 0.068 ; 0.068 | 0.041 |
C3 - jumlah saudara kandung | 0.029 ; 0.029 ; 0.015 ; 0.007 ; 0.029 ; 0.029 ; 0.029 ; 0.029 ; 0.022 ; 0.015 ; 0.015 ; 0.029 ; 0.007 ; 0.029 ; 0.015 ; 0.029 ; 0.029 ; 0.007 ; 0.007 ; 0.007 | 0.007 |
C4 - tagihan listrik | 0.006 ; 0.003 ; 0.006 ; 0.012 ; 0.012 ; 0.012 ; 0.012 ; 0.012 ; 0.003 ; 0.015 ; 0.006 ; 0.003 ; 0.015 ; 0.015 ; 0.015 ; 0.012 ; 0.015 ; 0.009 ; 0.015 ; 0.009 | 0.003 |
C5 - semester | 0.028 ; 0.047 ; 0.047 ; 0.037 ; 0.047 ; 0.028 ; 0.056 ; 0.028 ; 0.037 ; 0.037 ; 0.037 ; 0.056 ; 0.037 ; 0.056 ; 0.056 ; 0.047 ; 0.047 ; 0.047 ; 0.056 ; 0.047 | 0.028 |
Dari hal tersebut sehingga diperoleh Solusi Ideal Negatif ($A^{-}$) sebagai berikut :
$A^{-}=[0.026\ ,\ 0.041\ ,\ 0.007\ ,\ 0.003\ ,\ 0.028]$
D+
) dan Negatif(D-
)Disebut Manhattan ini berdasar pada kota Manhattan yang tersusun menjadi blok-blok. Sehingga sering juga disebut city block distance, juga sering disebut sebagai ablosute value distance atau boxcar distance. Rumusan pencarian jarak Manhattan untuk atribut positif (D+) dan negatif (D-) dicari berdasarkan persamaan DIA-08 dan DIA-09
Sebagai contoh perhitungan, untuk alternatif A2
, dapat dicari nilai atribut positif D+
dan negatif-nya D-
sebagai berikut:
$\begin{align}D_2^{+} &= \Sigma_{i=1}^{m}[V_{i,2}-a_{i}^{+}]\\
&= [V_{1,2}-a_{1}^{+}]+[V_{2,2}-a_{2}^{+}]+[V_{3,2}-a_{3}^{+}]+[V_{4,2}-a_{4}^{+}]+[V_{5,2}-a_{5}^{+}]\\
&= (0.068-0.153)+(0.055-0.068)+(0.041-0.029)+(0.041-0.015)+(0.041-0.056)\\
&=0.085964057329951\end{align}$
$\begin{align}
D_2^{-} &= \Sigma_{i=1}^{m}[V_{i,2}-a_{i}^{-}]\\
&= [V_{1,2}-a_{1}^{-}]+[V_{2,2}-a_{2}^{-}]+[V_{3,2}-a_{3}^{-}]+[V_{4,2}-a_{4}^{-}]+[V_{5,2}-a_{5}^{-}]\\
&= (0.068-0.026)+(0.055-0.041)+(0.041-0.007)+(0.041-0.003)+(0.041-0.028)\\
&= 0.13056256865798\end{align}$
Dengan cara yang sama dapat dihitung nilai atribut positif dan negatif dari alternatif-alternatif yang lain. Setelah semua nilai atribut positif dan negatif-nya dihitung maka diperoleh data seperti dalam TABEL 5 sebagai berikut:
Alternatif | D+ | D- |
---|---|---|
A1 | 0.08790092845836 | 0.12862569752958 |
A2 | 0.085964057329951 | 0.13056256865798 |
A3 | 0.13666262053335 | 0.079864005454583 |
A4 | 0.14723538173755 | 0.069291244250391 |
A5 | 0.090663183607727 | 0.12586344238021 |
A6 | 0.13292022210253 | 0.083606403885402 |
A7 | 0.14418815569223 | 0.072338470295708 |
A8 | 0.13292022210253 | 0.083606403885402 |
A9 | 0.16720919035922 | 0.049317435628718 |
A10 | 0.136987197536 | 0.079539428451937 |
A11 | 0.081281934213156 | 0.13524469177478 |
A12 | 0.1021622837485 | 0.11436434223944 |
A13 | 0.11873889151457 | 0.09778773447337 |
A14 | 0.039182459901648 | 0.17734416608629 |
A15 | 0.10469812194892 | 0.11182850403902 |
A16 | 0.14166932065279 | 0.074857305335142 |
A17 | 0.0093048421039847 | 0.20722178388395 |
A18 | 0.11356517857578 | 0.10296144741216 |
A19 | 0.098273493070901 | 0.11825313291704 |
A20 | 0.088062110053245 | 0.12846451593469 |
Dalam menentukan nilai Positif Ideal Alternatif (PIA) perlu dicari terlebih dahulu nilai minimunD+
dan nilai maksimum D-
dari semua alternatif. Dari data yang diperoleh pada perhitungan sebelumnya (TABEL 5 ) diperoleh nilai D+ terkecil dan nilai D- terbesar sebagai berikut:
$min\ D^{+} = 0.0093048421039847$
$max\ D^{-} = 0.20722178388395$
sehingga sesuai persamaan DIA-10 diperoleh nilai PIA (Positif Ideal Alternatif)-nya adalah
$\begin{align}PIA&=(min\ D^{+},max\ D^{-})\\
&=(0.0093048421039847,\ 0.20722178388395)\end{align}$
Tahapan yang terakhir adalah melakukan identifikasi peringkat dengan mengacu pada persamaan DIA-11 dapat kita peroleh nilai Preferensi P
dari masing-masing alternatif A
. Sebagai contoh untuk alternatif A15
(Zaki) dapat dihitung nilai preferensinya (P15
) sebagai berikut:
$\begin{align}P_{15}&=\sqrt{(D_{15}^{+}-min(D_{15}^{+}))^{2}+(D_{15}^{-}-max(D_{15}^{-}))^{2}}\\ &=\sqrt{(0.10469812194892-0.0093048421039847)^{2}+(0.11182850403902-0.20722178388395)^{2}}\\ &=\sqrt{0.095393279844931^{2}+(-0.095393279844931)^{2}}\\ &=\sqrt{0.0090998778395733+0.0090998778395733}\\ &=\sqrt{0.018199755679147}\\ &=0.13490647011595\end{align}$
Dengan melakukan perhitungan yang sama untuk data-data alternatif dari A1
sampai dengan A20
diperoleh nilai Preferensi dari P1
sampai dengan P20
, dan setelah diurutkan dari nilai preferensi yang terkecil sampai yang terbesar didapat hasil perangkingan sebagai berikut:
No | Alternatif ($A$) | Nilai Preferensi ($P$) | ||
---|---|---|---|---|
Kode | Nama | Kode | Total | |
1 | $A_{17}$ | Shinta | $P_{17}$ | 0 |
2 | $A_{14}$ | Dewi | $P_{14}$ | 0.042253332300855 |
3 | $A_{11}$ | Lina | $P_{11}$ | 0.10179097984097 |
4 | $A_{2}$ | Usman | $P_{2}$ | 0.10841250185344 |
5 | $A_{1}$ | Nina | $P_{1}$ | 0.1111516512718 |
6 | $A_{20}$ | Kevin | $P_{20}$ | 0.1113795964693 |
7 | $A_{5}$ | Tantri | $P_{5}$ | 0.11505806996677 |
8 | $A_{19}$ | Intan | $P_{19}$ | 0.12582067282345 |
9 | $A_{12}$ | Yuna | $P_{12}$ | 0.13132025334094 |
10 | $A_{15}$ | Zaki | $P_{15}$ | 0.13490647011595 |
11 | $A_{18}$ | Pandu | $P_{18}$ | 0.14744638185599 |
12 | $A_{13}$ | Bella | $P_{13}$ | 0.15476311686185 |
13 | $A_{6}$ | Vicky | $P_{6}$ | 0.17481854691185 |
14 | $A_{8}$ | Firza | $P_{8}$ | 0.17481854691185 |
15 | $A_{3}$ | Mirza | $P_{3}$ | 0.18011109752852 |
16 | $A_{10}$ | Carlie | $P_{10}$ | 0.1805701187277 |
17 | $A_{16}$ | Oscar | $P_{16}$ | 0.18719164074017 |
18 | $A_{7}$ | James | $P_{7}$ | 0.19075381141432 |
19 | $A_{4}$ | Reza | $P_{4}$ | 0.19506323981522 |
20 | $A_{9}$ | Gatot | $P_{9}$ | 0.22331047086023 |
Sehingga diperoleh hasil Alternatif A17 (Shinta) dengan nilai preferensi P17=0 menjadi yang terpilih sebagai penerima beasiswa karena mempunyai nilai akhir perangkingan yang terendah
Sebagai pelengkap artikel Metode Distance to the Ideal Alternative (DIA) pada bagian ini akan dibahas langkah-langkah dalam implementasinya dengan bahasa pemrograman PHP dan database MySQL/MariaDB.
Sebagai bahan pembelajaran aplikasi (DIA) 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:
-- menghapus tabel dia_criterias jika sudah ada DROP TABLE IF EXISTS dia_criterias; -- membuat tabel dia_criterias jika tidak ada CREATE TABLE IF NOT EXISTS dia_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 dia_criterias(id_criteria,criteria,weight,attribute) VALUES (1,'ipk',0.40,'max'), (2,'penghasilan ortu',0.25,'min'), (3,'jumlah saudara kandung',0.10,'max'), (4,'tagihan listrik',0.05,'min'), (5,'semester',0.20,'min');
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 dia_alternatives jika sudah ada DROP TABLE IF EXISTS dia_alternatives; -- membuat tabel dia_alternatives jika tidak ada CREATE TABLE IF NOT EXISTS dia_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 dia_alternatives(id_alternative,name) VALUES (1,'Nina'), (2,'Usman'), (3,'Mirza'), (4,'Reza'), (5,'Tantri'), (6,'Vicky'), (7,'James'), (8,'Firza'), (9,'Gatot'), (10,'Carlie'), (11,'Lina'), (12,'Yuna'), (13,'Bella'), (14,'Dewi'), (15,'Zaki'), (16,'Oscar'), (17,'Shinta'), (18,'Pandu'), (19,'Intan'), (20,'Kevin');
Dalam tabel dia_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.
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 dia_criterias
dengan tabel dia_alternatives
sebagai berikut:
-- menghapus tabel dia_evaluations jika sudah ada DROP TABLE IF EXISTS dia_evaluations; -- membuat tabel dia_evaluations jika tidak ada CREATE TABLE IF NOT EXISTS dia_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 dia_evaluations(id_alternative,id_criteria,value) VALUES (1,1,4),(1,2,5),(1,3,4),(1,4,2),(1,5,3), (2,1,4),(2,2,4),(2,3,4),(2,4,1),(2,5,5), (3,1,3),(3,2,3),(3,3,2),(3,4,2),(3,5,5), (4,1,3),(4,2,3),(4,3,1),(4,4,4),(4,5,4), (5,1,4),(5,2,3),(5,3,4),(5,4,4),(5,5,5), (6,1,2),(6,2,5),(6,3,4),(6,4,4),(6,5,3), (7,1,1),(7,2,4),(7,3,4),(7,4,4),(7,5,6), (8,1,2),(8,2,5),(8,3,4),(8,4,4),(8,5,3), (9,1,2),(9,2,3),(9,3,3),(9,4,1),(9,5,4), (10,1,3),(10,2,3),(10,3,2),(10,4,5),(10,5,4), (11,1,5),(11,2,4),(11,3,2),(11,4,2),(11,5,4), (12,1,3),(12,2,4),(12,3,4),(12,4,1),(12,5,6), (13,1,4),(13,2,3),(13,3,1),(13,4,5),(13,5,4), (14,1,5),(14,2,4),(14,3,4),(14,4,5),(14,5,6), (15,1,3),(15,2,4),(15,3,2),(15,4,5),(15,5,6), (16,1,2),(16,2,3),(16,3,4),(16,4,4),(16,5,5), (17,1,6),(17,2,5),(17,3,4),(17,4,5),(17,5,5), (18,1,3),(18,2,5),(18,3,1),(18,4,3),(18,5,5), (19,1,3),(19,2,5),(19,3,1),(19,4,5),(19,5,6), (20,1,4),(20,2,5),(20,3,1),(20,4,3),(20,5,5);
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.
Bagian berikutnya adalah bagian inti dari perhitungan dengan metode DIA. Di sini dijelaskan langkah per langkah-nya untuk kode PHP-nya, sesuai dengan langkah-langkah perhitungan DIA secara manual sebelumnya.
Mengacu pada persamaan DIA-01 kita dapat membuat matriks keputusan (X) dengan mengambil data dari tabel dia_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 dia_evaluations';
$data=$db->query($sql);
while($row = $data->fetch_object()){
$X[$row->id_alternative][$row->id_criteria]=$row->value;
}
?>
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
Langkah berikutnya adalah melakukan normalisasi data matrik keputusan dengan membagi nilai masing-masing item matrik keputusan dengan akar jumlah kuadrat dari nilai item-item matrik keputusan yang se-kriteria, sesuai persamaan DIA_02 sebagai berikut:
<?php
//-- inisialisasi variabel array pembagi per kriteria
$pembagi=array();
foreach($X as $i=>$x_i){
foreach($x_i as $j=>$x_ij){
if(!isset($pembagi[$j])) $pembagi[$j]=0;
$pembagi[$j]+=$x_ij*$x_ij;
}
}
//-- inisialisasi matriks ternormlisasi R
$R=array();
foreach($X as $i=>$x_i){
$R[$i]=array();
foreach($x_i as $j=>$x_ij){
$R[$i][$j]=$x_ij/sqrt($pembagi[$j]);
}
}
?>
Dari potongan kode PHP di atas, terlihat bahwa pertama-tama dicari nilai pembagi per kriteria-nya, berupa jumlah kuadrat dari nilai-nilai item matrik keputusan X (nilai kuadrat xij
) untuk tiap-tiap kinerja ke-j
. Dan berikutnya adalah membagi masing-masing nilai item matrik keputusan X dengan akar kuadrat pembaginya, sesuai dengan kriterianya, dan dimasukkan dalam variable dua dimensi $R
.
Dari matriks Normalisasi (R) sebelumnya, kemudian dilakukan pembobotan sesuai dengan kriterianya,dengan mengalikan nilai item matriks ternormalisasi (rij
) dengan bobot yang bersesuaian dengan kriterianya (wj
)
<?php
//-- mengambil nilai bobot W dari tabel dia_criterias;
//-- inisialisasi nilai bobot W
$W=array();
$sql='SELECT id_criteria,weight FROM dia_criterias';
$result=$db->query($sql);
while($row=$result->fetch_object()){
$W[$row->id_criteria]=$row->weight/100;
}
//-- inisialisasi matriks ternormlisasi terbobot V
$V=array();
foreach($R as $i=>$r_i){
$V[$i]=array();
foreach($r_i as $j=>$r_ij){
$V[$i][$j]=$r_ij*$W[$j];
}
}
?>
Pertama; diambil nilai bobot (weight) dari tabel dia_criterias
dengan memasukkannya ke dalam variabel $W
dengan id_criteria
sebagai index-nya. Karena nilai bobot yang tersimpan dalam tabel dia_criterias
merupakan nilai prosentase-nya, maka dalam memasukkannya ke dalam variabel dibagi dulu dengan 100
Selanjutnya memasukkan nilai ternormalisasi terbobot ke dalam variabel $V
yang merupakan perkalian dari nilai item matriks ternormalisai (rij
) dengan nilai bobot sesuai kriterianya (wj
)
Pada tahap berikutnya adalah penentuan nilai solusi ideal positif dan solusi ideal negatif, script dalam kode PHP-nya bisa ditulis sebagai berikut:
<?php
//-- inisialisasi nilai Solusi Ideal A positif/negatif
$A_pos=$A_neg=array();
foreach($V as $i=>$v_i){
foreach($v_i as $j=>$v){
if(!isset($A_pos[$j])){
$A_pos[$j]=-1;
$A_neg[$j]=1;
}
$A_pos[$j]=($A_pos[$j]<$V[$i][$j]?$V[$i][$j]:$A_max[$j]);
$A_neg[$j]=($A_neg[$j]>$V[$i][$j]?$V[$i][$j]:$A_min[$j]);
}
}
?>
Pertama, disiapkan 2 variabel array untuk menampung nilai solusi ideal positif (variabel $A_pos
) dan nilai solusi ideal negatif (variabel $A_neg
). Dari matriks ternormalisasi terbobot ($V
) dilakukan looping berdasarkan alternatif i
dan berdasarkan kriteria j
. Dalam looping berdasarkan kriteri j
, nilai solusi ideal positif/negatif-nya jika belum ada sebelumnya maka diinisialisasi dengan nilai minimum/maksimumnya ($A_pos[$j]=-1
dan $A_min[$j]=1
). Untuk selanjutnya dibandingkan dengan nilai item matriks ternormalisasi terbobot V
untuk alternatif ke i
dan kriteria ke j
, sehingga nilai Solusi Ideal Positif-nya adalah nilai maksimum/terbesar dari keseluruhan data alternatif pada kriteria yang sama dan nilai Solusi Ideal Negatif-nya adalah nilai minimum/terKecil dari keseluruhan data alternatif pada kriteria yang sama
Dalam DIA, penentuan jaraknya menggunakan jarak Manhattan seperti dalam script berikut ini:
<?php
//-- manhattan distance
$D_plus=$D_min=array();
foreach($V as $i=>$v_i){
$D_plus[$i]=0;
$D_min[$i]=0;
foreach($v_i as $j=>$v){
$D_plus[$i]+=abs($v-$A_pos[$j]);
$D_min[$i]+=abs($v-$A_neg[$j]);
}
}
?>
Pada bagian ini dihitung nilai jarak masing-masing alternatif terhadap nilai solusi ideal-nya, baik nilai jarak (distance) positif (D+
, direpresentasikan dalam variabel array $D_plus
) maupun nilai jarak negatif (D-
, direpresentasikan dalam variabel array $D_min
)nya. Nilai jarak Manhattan-nya diperoleh dari penjumlahan nilai absolute dari selisih nilai item matriks ternormalisasi terbobot V
dari tiap-tiap alternatif ke-i
untuk masing-masing kriteria ke j
dengan nilai solusi ideal positif/negatif-nya sesuai dengan kriterianya
Nilai Positif Ideal Alternative (PIA) tinggal didapat dari nilai jarak atribut positif dan negatif dari langkah sebelumnya, dengan script PHP sebagai berikut:
<?php
//-- inisialisasi variabel array PIA
$PIA=array(min($D_plus), max($D_min));
?>
Bagian akhir dari metode DIA adalah melakukan identifikasi peringkat. Nilai preferensi pemeringkatannya diperoleh dari akar selisih kuadrat dari nilai jarak positif dan negatif dengan nilai PIA-nya, dari masing-masing alternatif.
<?php
//-- inisialisasi variabel array Peringkat P
$P=array();
foreach($D_plus as $i=>$d_plus){
$P[$i]=sqrt(pow($d_plus-$PIA[0],2)+pow($D_min[$i]-$PIA[1],2));
}
asort($P);
$id_selected=key($P);
$sql="SELECT id_alternative,name FROM dia_alternatives WHERE id_alternative='{$id_selected}'";
$result=$db->query($sql);
$data=$result->fetch_object();
echo "Dari beberapa kandidat terpilih alternatif <br>"
."<b>A<sub>{$data->id_alternative}</sub> ({$data->name})</b>"
." sebagai penerima beasiswa";
?>
Hasil dari perhitungan yang diperoleh dimasukkan dalam variabel $P
dan kemudian dilakukan pengurutan (sorting) nilai dari yang terkecil hingga yang terbesar dengan tetap mempertahankan associative index-nya menggunakan fungsi asort()
Alternatif yang terpilih adalah pada item array variabel $P
, dimana aid_alternative
-nya tersimpan pada key-index array-nya. Untuk mendapatkan key-index tersebut digunakan fungsi key()
. Dari id_alternative
yang diperoleh, dengan query ke tabel dss_alternatives
diperoleh data alternatif yang terpilih tersebut
Hasil yang ditampilkan adalah sebagai berikut:
Dari beberapa kandidat terpilih alternatif
A17 (Shinta) sebagai penerima beasiswa
Source code selengkapnya bisa dilihat di tautan ini source
Berikut simpulan yang dapat diambil dari contoh kasus dengan metode Distance to the Ideal Alternative (DIA) tersebut: