Metode Multi Attributive Ideal-Real Comparative Analysis (MAIRCA) merupakan salah satu metode pengambilan keputusan multikriteria berdasarkan pada pemeringkatan selisih nilai ideal dengan nilai empiris
author : cahya dsn
,
published on : October 1st, 2020
updated on : June 24th, 2022
Metode Multi Attributive Ideal-Real Comparative Analysis (MAIRCA) dibangun oleh Center for Logistics Research pada University of Defence di Belgrade (Pamučar 2014
) untuk menyelesaikan permasalahan Multi-Criteria Decision-Making (MCDM) pada tahun 2014
Metode MAIRCA (MultiAtributive Ideal-Real Comparative Analysis) diperkenalkan oleh Gigović et al. sebagai salah satu metode MDCM. Metode MAIRCA didasarkan pada pemeringkatan selisih nilai ideal dengan nilai empiris. Jumlah selisih nilai ini diperhitungkan untuk setiap kriteria . The calculated total value gives the total gap for each alternative observed. The ranking of the alternatives is done at the last stage. The best alternative in the ranking is the one with the lowest gap value. This alternative is the one with the closest values to the ideal rating by many criteria. (Pamučar et al., 2018: 1646; Gigović et al., 2016:11
)
Metode Multi Attributive Ideal-Real Comparative Analysis MAIRCA ... Dalam melakukan menyelesaikan masalah dan perangkingan, metode MAIRCA memiliki beberapa langkah yaitu:
Pada matriks keputusan (X), baris menunjukkan Alternatif dan kolom menunjukkan kriteria. Matriks keputusan menunjukkan kinerja dari masing-masing alternatif terhadap berbagai kriteria
xij ($x_{ij}\geq0$) menunjukkan nilai kinerja alternatif ke-i
pada kriteria ke-j
, m adalah banyaknya alternatif sedangkan n adalah banyaknya kriteria ($i \in \{1,2,3,.. m\}$ dan $j \in \{1,2,3,..,m\}$).
Dalam pemilihan alternatif, para pengambil keputusan (DM - Decision Makers) bersikap netral terhadap proses pemilihannya. Faktanya, mereka tidak memiliki preferensi untuk salah satu dari alternatif yang diusulkan. Asumsi utamanya adalah bahwa para pengambil keputusan tidak memperhitungkan probabilitas pemilihan alternatif. Di asumsikan masing-masing alternatif memiliki probabilitas yang sama, sehingga preferensi untuk memilih salah satunya dari $m$ alternatif yang mungkin adalah:
di mana $m$ menunjukkan jumlah total pilihan
Dalam analisis pengambilan keputusan, dengan probabilitas yang diberikan, diasumsikan bahwa pengambil keputusan netral terhadap risiko. Dalam hal ini, semua preferensi adalah sama sesuai dengan pemilihan alternatif tertentu
di mana $m$ menunjukkan jumlah total pilihan
matriks evaluasi teroritis ($T_p$) disusun dengan format $n \times m$ ($n$ adalah jumlah kriteria, $m$ adalah jumlah alternatif). Elemen matriks evaluasi teoritis ($t_{p_{ij}}$) dihitung dari perkalian dari nilai preferensi dari masing-masing alternatif $P_{A_i}$ dan bobot kriterianya ($w_i$, untuk $i=1, 2, ..., n$) :
Karena pengambil keputusan bersifat netral dalam pemilihan awal alternatuf, semua nilai preferensi ($P_{A_i}$) untuk semua alternatif adalah sama. Sehingga, persamaan (MAI-04) dapat dinyatakan seperti dalam persamaan (MAI-05):
dimana $n$ adalah jumlah kriteria, $t_{p_i}$ adalah elemen matriks evaluasi teoritis.
Tahap berikutnya adalah menentukan elemen matriks evaluasi realistis ($T_r$) untuk tiap-tiap kriteria, yang diperhitungakan dari data semua alternatif. Matriks Evaluasi Realistis yang terbentuk adalah :
dengan $n$ adalah jumlah kriteria, $m$ adalah jumlah alternatif. Perhitungan nilai elamen matriks evaluasi realistis ($T_r$) adalah dengan mengalikan nilai elemen matriks evaluasi teoritis ($T_p$) dengan elemen matriks keputusan ($X$) berdasarkan persamaan:
a. Untuk kriteria yang bertipe “benefit” (nilai kriteria yang lebih besar adalah lebih baik)
b. Untuk kriteria yang bertipe “cost” (nilai kriteria yang lebih kecil adalah lebih baik)
dimana $x_{ij}, x_i^{-}, x_i^{+}$ menunjukkan elemen-elemen dari matriks pengambilan keputusan awal $(X), x_i^{+}$ dan $x_i^{-}$ didefinisikan sebagai :
Nilai dari elemen-elemen matriks $G$ dihitung sebagai selisih (gap) antara nilai elemen matriks teoritis ($t_{p_{ij}}$) dan nilai elemen matriks realistis ($t_{r_{ij}}$), atau dengan mengurangkan elemen matriks evaluasi teoritis ($T_p$) dengan elemen matriks evaluasi realistis ($T_r$).
dimana $n$ adalah jumlah kriteria, $m$ adalah jumlah alternatif. Gap $g_{ij}$ bernilai antara $g_{ij} \in 0,(t_{p_{ij}}-t_{r_{ij}})$ ,seperti dalam persamaan :
DIinginkan $g_{ij}$ mendekati nol ( $gij \rightarrow 0$) karena alternatif dengan perbedaan yang terkecil antara nilai evaluasi teoristis ($t_{p_{ij}}$) dengan nilai evaluasi realistis ($t_{r_{ij}}$)-nyalah yang terpilih. Jika suatu alternatif $A_i$ untuk suatu kriteria $C_i$ memiliki nilai evaluasi teroritis yang sama dengan nilai evaluasi realistis ($t_{p_{ij}} = t_{r_{ij}}$), maka nilai selisih (gap untuk alternatif $A_i$ untuk kriteria $C_i$ adalah $g_{ij}= 0$. Atau bisa dikatakan bahwa alternatif $A_i$ untuk kriteria $C_i$ adalah alternatif yang terbaik (ideal) ($A_i^{+}$).
Jika suatu alternatif $A_i$ untuk kriteria $C_i$ mempunyai nilai evaluasi teoritis $t_{p_{ij}}$ dan nilai evaluasi realistis $t_{r_{ij}}= 0$, maka nilai selisih (gap) $A_i$ untuk kriteria $C_i$ adalah $g_{ij}=t_{p_{ij}}$. Dapat dikatakan alternatif $A_i$ untuk kriteria $C_i$ adalah alternatif yang terburuk (anti-ideal) ($A_i^{-}$).
Nilai fungsi kriteria diperoleh dari penjumlahan selisih gap ($g_{ij}$) untuk setiap alternatif, atau merupakan jumlah elemen matriks total gap ($G$) per baris untuk semua kolomnya
dimana $n$ adalah jumlah kriteria, $m$ adalah jumlah alternatif.
Tahap yang terakhir adalah perangkingan dari nilai akhir fungsi kriteria Q
dari nilai yang terendah hingga yang tertinggi. Alternatif dengan nilai total gap yang terendah menunjukkan alternatif yang terbaik.
Penerapan metode MAIRCA (Multi Attributive Ideal-Real Comparative Analysis) diharapkan mampu membantu dalam menentukan supplier yang terbaik dari beberapa alternatif supplier yang ditawarkan.
PT Loba Rasa Cakery (LRC) yang bergerak dalam bidang produksi Cake & Bakery memerlukan pasokan bahan baku roti dan kue yang berkelanjutan untuk usahanya. Seiring dengan semakin meningkatnya permintaan pasar terhadap produknya, LRC memerlukan dukungan pasokan dari supplier yang memenuhi 11 kriteria yang diharapkan, yaitu Kualitas, Biaya langsung, Pengiriman, Histori Performansi, Jarak Tempuh, Responsibilitas, Kebijakan Garansi, Sistem Komunikasi, Fleksibilitas, Management dan Organisasi, dan Kemampuan Teknis
.
Penggunaan metode Multi Attributive Ideal-Real Comparative Analysis (MAIRCA) diharapkan dapat membantu pembuat kebijakan untuk menentukan supplier yang terbaik, berdasarkan kritera-kriteria yang sudah ditentukan dan alternatif-alternatif supplier yang ada. Alternatif lokasi yang akan dipilih ada 9 supplier, yaitu Sari Prima, Pangan Mandiri, Rasa Mandiri, Sari Extra, Rasa Inti, Sari Mandiri, Boga Utama, Organik Sejahtera, dan Sari Inti
Pada kasus penentuan pemilihan supplier terbaik ini telah ditentukan 11 buah kriteria yang diperhitungkan, yaitu Kualitas, Biaya langsung, Pengiriman, Histori Performansi, Jarak Tempuh, Responsibilitas, Kebijakan Garansi, Sistem Komunikasi, Fleksibilitas, Management dan Organisasi, dan Kemampuan Teknis dengan rincian bobot penilaian seperti pada TABEL 1 berikut :
Kode | Kriteria | Tipe[1] | Bobot[2] |
---|---|---|---|
C1 | Kualitas | benefit | 0.184 |
C2 | Biaya langsung | cost | 0.132 |
C3 | Pengiriman | benefit | 0.145 |
C4 | Histori Performansi | benefit | 0.066 |
C5 | Jarak Tempuh | cost | 0.079 |
C6 | Responsibilitas | benefit | 0.053 |
C7 | Kebijakan Garansi | benefit | 0.079 |
C8 | Sistem Komunikasi | benefit | 0.026 |
C9 | Fleksibilitas | benefit | 0.092 |
C10 | Management dan Organisasi | benefit | 0.013 |
C11 | Kemampuan Teknis | benefit | 0.039 |
Data-data awal yang akan diperhitungkan dengan metoda MAIRCA ini adalah seperti yang tercantum dalam TABEL 2 berikut ini [3]
Alternatif | Kriteria | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kode | Nama | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 |
A1 | Sari Prima | 2 | 5 | 5 | 9 | 5 | 6 | 5 | 4 | 4 | 3 | 5 |
A2 | Pangan Mandiri | 3 | 3 | 7 | 10 | 7 | 4 | 4 | 3 | 5 | 3 | 5 |
A3 | Rasa Mandiri | 3 | 4 | 5 | 8 | 5 | 6 | 4 | 4 | 3 | 3 | 7 |
A4 | Sari Extra | 4 | 3 | 5 | 7 | 6 | 6 | 5 | 4 | 5 | 4 | 6 |
A5 | Rasa Inti | 2 | 3 | 5 | 10 | 4 | 3 | 5 | 3 | 3 | 4 | 6 |
A6 | Sari Mandiri | 4 | 4 | 4 | 9 | 8 | 5 | 4 | 3 | 5 | 4 | 5 |
A7 | Boga Utama | 3 | 4 | 7 | 7 | 4 | 4 | 5 | 3 | 5 | 3 | 8 |
A8 | Organik Sejahtera | 2 | 3 | 5 | 6 | 6 | 6 | 3 | 3 | 4 | 4 | 7 |
A9 | Sari Inti | 4 | 4 | 7 | 9 | 7 | 6 | 5 | 4 | 5 | 4 | 8 |
Keterangan
Berikut ini akan dijabarkan perhitungan dengan metoda MAIRCA secara manual lengkah demi langkah untuk memudahkan pemahaman terhadap metoda MAIRCA 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 :
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 x2,4
menunjukkan data untuk alternatif ke 2 yaitu Pangan Mandiri untuk kriteria ke 4 (Histori Performansi) dengan nilai 10
Secara lengkap, matriks keputusan (X
) yang diperoleh dapat ditampilkan dalam bentuk tabel sebagai berikut
Alternatif | Kriteria | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kode | Nama | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 |
A1 | Sari Prima | 2 | 5 | 5 | 9 | 5 | 6 | 5 | 4 | 4 | 3 | 5 |
A2 | Pangan Mandiri | 3 | 3 | 7 | 10 | 7 | 4 | 4 | 3 | 5 | 3 | 5 |
A3 | Rasa Mandiri | 3 | 4 | 5 | 8 | 5 | 6 | 4 | 4 | 3 | 3 | 7 |
A4 | Sari Extra | 4 | 3 | 5 | 7 | 6 | 6 | 5 | 4 | 5 | 4 | 6 |
A5 | Rasa Inti | 2 | 3 | 5 | 10 | 4 | 3 | 5 | 3 | 3 | 4 | 6 |
A6 | Sari Mandiri | 4 | 4 | 4 | 9 | 8 | 5 | 4 | 3 | 5 | 4 | 5 |
A7 | Boga Utama | 3 | 4 | 7 | 7 | 4 | 4 | 5 | 3 | 5 | 3 | 8 |
A8 | Organik Sejahtera | 2 | 3 | 5 | 6 | 6 | 6 | 3 | 3 | 4 | 4 | 7 |
A9 | Sari Inti | 4 | 4 | 7 | 9 | 7 | 6 | 5 | 4 | 5 | 4 | 8 |
Nilai preferensi alternatif ($P_{A_i}$) diperhitungkan dari banyaknya jumlah alternatif. Pada kasus pada artikel ini, banyaknya alternatif ($m$) adalah 9 sehingga berdasarkan persamaan [MAI-02] maka diperoleh niai preferensi alternatif nya sebagai berikut:
$\begin{align} P_{A_{i}}&=\frac{1}{9} \\ &= 0.11111111111111\\ \end{align}$Maka dari persamaan [MAI-03] diperoleh:
$ P_{A_{1}}=P_{A_{2}}=P_{A_{3}}=P_{A_{4}}=P_{A_{5}}=P_{A_{6}}=P_{A_{7}}=P_{A_{8}}=P_{A_{9}}=0.11111111111111$Matriks Evaluasi Teoritis ($T_p$) disusun dari elemen-elemen matriks berdasarkan persamaan [MAI-03] dan [MAI-04]. Semisal untuk elemen matriks dari alternatif ke-2 dan kriteria ke-4, yaitu $t_{p_{2,4}}$ diperhitungkan sebagai berikut:
$\begin{align} t_{p_{24}}&=P_{A_{2}}.w_{4} \\ &=0.11111111111111 \times 0.065789473684211 \\ &=0.0073099415204678\end{align}$Dengan perhitungan yang sama untuk nilai elemen matriks teoritis yang lain maka di peroleh matriks teoritis ($T_p$) sebagai berikut:
$T_p=\left[\begin{array}{ccccccccccc} 0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\0.02&0.015&0.016&0.007&0.009&0.006&0.009&0.003&0.01&0.001&0.004\\\end{array}\right] $
Berdasarkan persamaan [MAI-06], [MAI-07] dan [MAI-08] dapat disusun Matriks Evaluasi Realistis ($T_r$) untuk kasus ini. Sebagai contoh perhitungan, elemen matrik evaluasi realistis dari alternatif ke-2 dan kriteria ke-9, yaitu $t_{r_{2,9}}$ dapat dicari dengan perhitungan berdasarkan persamaan [MAI-07] karena kriteria ke-9 (Fleksibilitas) adalah merupakan kriteria yang bertipe benefit -- sebagai berikut:
$\begin{align}t_{r_{2,9}}&=t_{p_{2,9}}\left(\frac{x_{2,9}-x_{2}^{-}}{x_{2}^{+}-x_{2}^{-}}\right) \\ &=0.01\left(\frac{5-3}{5-3}\right) \\ &=0.01\left(\frac{2}{2}\right) \\ &=0.01\times 1 \\ &=0.01\end{align}$Sedangkan untuk kriteria yang bertipe cost diperhitungkan seperti untuk data $x_{2,5}$, untuk mencari elemen matriks realistisnya ($t_{r_{2,5}}$), dimana kriteria ke-5(Jarak Tempuh) adalah kriteria bertipe cost -- sebagai berikut
$\begin{align}t_{r_{2,5}} &=t_{p_{2,5}}\left(\frac{x_{2,5}-x_{2}^{+}}{x_{2}^{-}-x_{2}^{+}}\right) \\ &=0.009\left(\frac{7-8}{4-8}\right) \\ &=0.009\left(\frac{-1}{-4}\right) \\ &=0.009\times 0.25 \\ &=0.002\end{align}$Elemen-elemen matriks realistis yang lain dihitung dengan cara yang sama, sehingga diperoleh matriks realistis ($T_r$) sebagai berikut:
$T_r=\left[\begin{array}{ccccccccccc} 0&0&0.005&0.005&0.007&0.006&0.009&0.003&0.005&0&0\\0.01&0.015&0.016&0.007&0.002&0.002&0.004&0&0.01&0&0\\0.01&0.007&0.005&0.004&0.007&0.006&0.004&0.003&0&0&0.003\\0.02&0.015&0.005&0.002&0.004&0.006&0.009&0.003&0.01&0.001&0.001\\0&0.015&0.005&0.007&0.009&0&0.009&0&0&0.001&0.001\\0.02&0.007&0&0.005&0&0.004&0.004&0&0.01&0.001&0\\0.01&0.007&0.016&0.002&0.009&0.002&0.009&0&0.01&0&0.004\\0&0.015&0.005&0&0.004&0.006&0&0&0.005&0.001&0.003\\0.02&0.007&0.016&0.005&0.002&0.006&0.009&0.003&0.01&0.001&0.004\\\end{array}\right] $
G
)Elemen matriks total Gap ($g_{ij}$) adalah nilai selisih antara nilai elemen teoritis ($t_{p_{ij}}$) dengan elemen realistis($t_{r_{ij}}$) nya. Seperti yang ditunjukkan dalam persamaan [MAI-09] dan [MAI-10], sebagai contoh nilai elemen matriks total gap untuk alternatif ke-2 dan kriteria ke-4, yaitu $g_{2,4}$ dapat dihitung sebagai berikut:
$\begin{align}g_{2,4}&=t_{p_{2,4}}-t_{r_{2,4}}\\ &= 0.007 - 0.007 \\ &= 0 \end{align}$
Sehingga dengan perhitungan yang sama, matriks total gap ($G$) yang didapat dengan menghitung keseluruhan nilai elemen-elemen matriksnya adalah sebagai berikut :
$G=\left[\begin{array}{ccccccccccc}
0.02&0.015&0.011&0.002&0.002&0&0&0&0.005&0.001&0.004\\0.01&0&0&0&0.007&0.004&0.004&0.003&0&0.001&0.004\\0.01&0.007&0.011&0.004&0.002&0&0.004&0&0.01&0.001&0.001\\0&0&0.011&0.005&0.004&0&0&0&0&0&0.003\\0.02&0&0.011&0&0&0.006&0&0.003&0.01&0&0.003\\0&0.007&0.016&0.002&0.009&0.002&0.004&0.003&0&0&0.004\\0.01&0.007&0&0.005&0&0.004&0&0.003&0&0.001&0\\0.02&0&0.011&0.007&0.004&0&0.009&0.003&0.005&0&0.001\\0&0.007&0&0.002&0.007&0&0&0&0&0&0\\\end{array}\right]
$
Q
)Perhitungan nilai akhir fungsi kriteria $Q$ ini didasarkan pada persamaan [MAI-11]. Nilai akhir fungsi kriteria $Q$ dihitung dengan menjumlahkan nilai elemen matriks gap $G$ untuk semua kriteria dari alternatif tertentu. Semisal untuk alternatif ke$2$ dapat dihitung sebagia berikut:
$\begin{align} Q_{2}&= \sum_{j=1}^{11} g_{2,j} \\ &= g_{2,1}+g_{2,2}+g_{2,3}+g_{2,4}+g_{2,5}+g_{2,6}+g_{2,7}+g_{2,8}+g_{2,9}+g_{2,10}+g_{2,11} \\ &= 0.01+0+0+0+0.007+0.004+0.004+0.003+0+0.001+0.004 \\ &= 0.034\end{align}$
Dengan perhitungan yang sama, untuk alternatif-laternatif yang lain dapat dihitung nilai akhir fungsi kriterianya masing-masing. sehingga diperoleh hasil sebagai berikut:
Kode | Nama Alternatif | Nilai Akhir Fungsi Kriteria ($Q$) |
---|---|---|
$A_{1}$ | Sari Prima | 0.060794346978557 |
$A_{2}$ | Pangan Mandiri | 0.033869395711501 |
$A_{3}$ | Rasa Mandiri | 0.051656920077973 |
$A_{4}$ | Sari Extra | 0.023513645224172 |
$A_{5}$ | Rasa Inti | 0.053118908382066 |
$A_{6}$ | Sari Mandiri | 0.047636452241715 |
$A_{7}$ | Boga Utama | 0.031310916179337 |
$A_{8}$ | Organik Sejahtera | 0.061159844054581 |
Nilai akhir fungsi kriteria ($Q$) dari hasil perhitungan sebelumnya kemudian diurutkan dari yang nilainya terkecil hingga yang terbesar sebagai berikut :
Kode | Nama Alternatif | Nilai Akhir Fungsi Kriteria ($Q$) | Ranking |
---|---|---|---|
$A_{9}$ | Sari Inti | 0.015716374269006 | 1 |
$A_{4}$ | Sari Extra | 0.023513645224172 | 2 |
$A_{7}$ | Boga Utama | 0.031310916179337 | 3 |
$A_{2}$ | Pangan Mandiri | 0.033869395711501 | 4 |
$A_{6}$ | Sari Mandiri | 0.047636452241715 | 5 |
$A_{3}$ | Rasa Mandiri | 0.051656920077973 | 6 |
$A_{5}$ | Rasa Inti | 0.053118908382066 | 7 |
$A_{1}$ | Sari Prima | 0.060794346978557 | 8 |
$A_{8}$ | Organik Sejahtera | 0.061159844054581 | 9 |
Untuk alternatif dengan nilai akhir fungsi kriteria ($Q$) yang terkecil berarti adalah merupakan alternatif yang terpilih. Pada kasus ini alternatif dengan nilai akhir fungsi kriteria terkecil adalah alternatif ke -9 (Sari Inti) dengan nilai $Q_9$=0.015716374269006
Sebagai pelengkap artikel Metode Evaluation based on Distance from Average Solution (MAIRCA) pada bagian ini akan dibahas langkah-langkah dalam implementasinya dengan bahasa pemrograman PHP dan database MySQL/MariaDB.
Data-data yang digunakan dalam aplikasi ini adalah data-data yang ada pada contoh kasus sebelumnya
Sebagai bahan pembelajaran aplikasi MAIRCA 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 mai_criterias jika sudah ada DROP TABLE IF EXISTS mai_criterias; -- membuat tabel mai_criterias jika tidak ada CREATE TABLE IF NOT EXISTS mai_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 mai_criterias(id_criteria,criteria,weight,attribute) VALUES (1,'Kualitas',0.1840,'benefit'), (2,'Biaya langsung',0.1320,'cost'), (3,'Pengiriman',0.1450,'benefit'), (4,'Histori Performansi',0.0660,'benefit'), (5,'Jarak Tempuh',0.0790,'cost'), (6,'Responsibilitas',0.0530,'benefit'), (7,'Kebijakan Garansi',0.0790,'benefit'), (8,'Sistem Komunikasi',0.0260,'benefit'), (9,'Fleksibilitas',0.0920,'benefit'), (10,'Management dan Organisasi',0.0130,'benefit'), (11,'Kemampuan Teknis',0.0390,'benefit');
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 mai_alternatives jika sudah ada DROP TABLE IF EXISTS mai_alternatives; -- membuat tabel mai_alternatives jika tidak ada CREATE TABLE IF NOT EXISTS mai_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 mai_alternatives(id_alternative,name) VALUES (1,'Sari Prima'), (2,'Pangan Mandiri'), (3,'Rasa Mandiri'), (4,'Sari Extra'), (5,'Rasa Inti'), (6,'Sari Mandiri'), (7,'Boga Utama'), (8,'Organik Sejahtera'), (9,'Sari Inti');
Dalam tabel mai_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 mai_criterias
dengan tabel mai_alternatives
, yaitu tabel mai_evaluations
sebagai berikut:
-- menghapus tabel mai_evaluations jika sudah ada DROP TABLE IF EXISTS mai_evaluations; -- membuat tabel mai_evaluations jika tidak ada CREATE TABLE IF NOT EXISTS mai_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 mai_evaluations(id_alternative,id_criteria,value) VALUES (1,1,2),(1,2,5),(1,3,5),(1,4,9),(1,5,5),(1,6,6),(1,7,5),(1,8,4),(1,9,4),(1,10,3),(1,11,5), (2,1,3),(2,2,3),(2,3,7),(2,4,10),(2,5,7),(2,6,4),(2,7,4),(2,8,3),(2,9,5),(2,10,3),(2,11,5), (3,1,3),(3,2,4),(3,3,5),(3,4,8),(3,5,5),(3,6,6),(3,7,4),(3,8,4),(3,9,3),(3,10,3),(3,11,7), (4,1,4),(4,2,3),(4,3,5),(4,4,7),(4,5,6),(4,6,6),(4,7,5),(4,8,4),(4,9,5),(4,10,4),(4,11,6), (5,1,2),(5,2,3),(5,3,5),(5,4,10),(5,5,4),(5,6,3),(5,7,5),(5,8,3),(5,9,3),(5,10,4),(5,11,6), (6,1,4),(6,2,4),(6,3,4),(6,4,9),(6,5,8),(6,6,5),(6,7,4),(6,8,3),(6,9,5),(6,10,4),(6,11,5), (7,1,3),(7,2,4),(7,3,7),(7,4,7),(7,5,4),(7,6,4),(7,7,5),(7,8,3),(7,9,5),(7,10,3),(7,11,8), (8,1,2),(8,2,3),(8,3,5),(8,4,6),(8,5,6),(8,6,6),(8,7,3),(8,8,3),(8,9,4),(8,10,4),(8,11,7), (9,1,4),(9,2,4),(9,3,7),(9,4,9),(9,5,7),(9,6,6),(9,7,5),(9,8,4),(9,9,5),(9,10,4),(9,11,8);
Koneksi ke database server serta pengambilan data-data dari database diperlukan untuk selanjutnya diproses menggunakan metode MAIRCA.
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.
Sebelum masuk kebagian inti perhitungan dengan metode MAIRCA, sebelumnya diambil terlebih dahulu data-data yang akan digunakan dari database. Yang pertama ada data Alternatif. Data ini diambil dari tabel mai_alternatives
dan dimasukkan ke dalam variabel $alternatif
dengan kode script PHP seperti berikut
<?php
//-- inisialisasi variabel array alternatif
$alternatif=array();
$sql='SELECT * FROM mai_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
Data kriteria dan bobot diambil dari tabel mai_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 mai_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 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 'Biaya langsung' dengan atribut/tipe 'cost'
Sedangkan untuk data nilai bobot-nya dimasukkan ke dalam variabel $w
dengan index/key-nya berupa id_kriteria
yang bersesuaian
Bagian berikutnya adalah bagian inti dari perhitungan dengan metode MAIRCA. Di sini dijelaskan langkah per langkah-nya untuk kode PHP-nya, sesuai dengan langkah-langkah perhitungan MAIRCA secara manual sebelumnya.
Mengacu pada persamaan MAI-01 kita dapat membuat matriks keputusan (X) dengan mengambil data dari tabel mai_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 mai_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 matriks keputusan untuk alternatif ke $i
dan kriteria ke $j
Nilai Preferensi sesuai dengan pilihan alternatif ($P_{A_{i}} besarnya diasumsikan adalah sama untuk semua alternatif, sesuai dengan persamaan [MAI-02] dan [MAI-03]. Sehingga diperoleh nilainya sebagai nilai pembagian dari jumlah alternatifnya sebagai berikut :
<?php
//-- menghitung jumlah alternatif
$jml_alternatif=count($alternatif);
//-- menghitung nilai preferensi (P_A)
$P_A=1/$jml_alternatif;
?>
Pada metode MAIRCA ini diasumsikan bahwa para pengambil keputusan (DM - Decision Makers) tidak memihak pada suatu alternatid tertentu, sehingga nilai preferensi terhadap suatu alternatif ($P_{A_{i}}$) adalah sama untuk semua alternatif, yaitu senilai seper-jumlah alternatif yang ada.
Berdasarkan persamaan MAI-04 dan MAI-05 dibuat script untuk menentukan nilai elemen matriks teoritis sebagai berikut :
<?php
//-- inisialisasi Nilai matriks evaluasi teroritis (Tp)
$T_p=array();
foreach($X as $i=>$xi){
$T_p[$i]=array();
foreach($xi as $j=>$xij){
$T_p[$i][$j]=$P_A*$w[$j];
}
}
?>
Dalam script di atas, nilai elemen matriks evaluasi teoritis $T_p
didapat dari nilai preferensi alternatif $P_A
dikali dengan nilai bobot w
ditiap kriteria-nya.
Langkah selanjutnya adalah menghitung nilai elemen matriks evaluasi realistis Tr
sebagai berikut:
<?php
//-- inisialisasi T_r
$T_r=array();
foreach($T_p as $i=>$tp_i){
$T_r[$i]=array();
foreach($tp_i as $j=>$tp_ij){
if($kriteria[$j][1]=='benefit'){
//-- nilai elemen evaluasi realistis utuk kriteria bertipe 'benefit'
$T_r[$i][$j]=$tp_ij*(($X[$i][$j]-$x_min[$j])/($x_max[$j]-$x_min[$j]==0?1:$x_max[$j]-$x_min[$j]));
}else{
//-- nilai elemen evaluasi realistis utuk kriteria bertipe 'cost'
$T_r[$i][$j]=$tp_ij*(($X[$i][$j]-$x_max[$j])/($x_min[$j]-$x_max[$j]==0?1:$x_min[$j]-$x_max[$j]));
}
}
}
?>
Nilai elemen matriks evaluasi teoritis $T_r[$i][$j]
diperhitungkan berdasarkan tipe kriterianya. Untuk kriteria yang bertipe 'benefit', dihitung dengan membagi selisih antara nilai elemen $X[$i][$j]
dan nilai minimum $x_min[$j]
dengan selisih nilai maksimum $x_max[$j]
dan minimum $x_min[$j]
; yang dikalikan dengan nilai elemen evaluasi teoritisnya $T_p[$i][$j]
. Sedangkan untuk yang kriteria-nya bertipe 'cost', dihitung dengan membagi selisih antara nilai elemen $X[$i][$j]
dan nilai maksimum $x_max[$j]
dengan selisih nilai minimum $x_min[$j]
dan maksimum $x_max[$j]
; yang dikalikan dengan nilai elemen evaluasi teoritisnya $T_p[$i][$j]
. Dimana $i
menunjukkan alternatif ke-$i$, dan $j
menunjukkan kriteria ke-$j$.
Langkah berikutnya adalah menghitung nilai elemen matriks total Gap
<?php
//-- inisialisasi nilai matriks total gap G
$G=array();
foreach($T_p as $i=>$tp_i){
$G[$i]=array();
foreach($tp_i as $j=>$tp_ij){
//-- menghitung gap antara nilai elemen teoritis dgn nilai elemen realistis
$G[$i][$j]=$tp_ij-$T_r[$i][$j];
}
}
?>
Pada dasarnya nilai elemen matriks total gap $G[$i][$j}
adalah nilai selisih antara nilai elemen matriks evaluasi teoritis $tp_ij
dengan nilai elemen matriks evaluasi realistis $tr_ij
, dimana $i
merupakan menunjukkan alternatif ke-$i$ sedang $j
menunjukkan untuk kriteria ke-$j$
Berdasarkan persamaan MAI-11 kemudian dicari nilai akhir fungsi kriteria $Q$ dengan script berikut:
<?php
//-- inisialisasi array matriks nilai akhir fungsi kriteria Q
$Q=array();
foreach($G as $i=>$g_i){
//-- inisialisasi nilai akhir fungsi kriteria dari alternatif ke -i
$Q[$i]=0;
foreach($g_i as $j=>$g_ij){
//-- menjumlahkan nilai elemen total gap setiap kriteria dari alternatif ke-i
$Q[$i]+=$g_ij;
}
}
?>
Nilai akhir fungsi kriteria dari suatu alternatif ke-$i$ $Q[$i]
adalah merupakan penjumlahan dari nilai elemen matriks total gap $g_ij
untuk semua kriteria dari alternatif tersebut.
<?php
//-- mengurutkan secara descending
asort($Q);
//-- ambil key-index yang pertama
$terpilih=key($Q);
echo "Dari hasil perhitungan dipilih alternatif ke-{$terpilih}"
." ({$alternatif[$terpilih]}) <br>dengan nilai skor penilaian "
." sebesar {$H[$terpilih]}";
?>
Data nilai fungsi kriteria $Q$ diurutkan secara ascending dengan fungsi asort()
untuk mengurutkan berdasarkan nilay array namun tetap mempertahankan key-index-nya. Setelah diurutkan, maka item array yang pertama adalah nilai fungsi kriteria $Q$ 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-9 (Sari Inti)
dengan nilai skor penilaian sebesar 0.015716374269006
Source code selengkapnya bisa dilihat di tautan ini source
Beberapa simpulan yang bisa diambil dari contoh kasus pemilihan layanan katering terbaik dengan metoda Multi Attributive Ideal-Real Comparative Analysis (MAIRCA) ini adalah: