Metode COmplex PRoportional Assessment (COPRAS) mengasumsikan ketergantungan langsung dan proporsional dari tingkat signifikansi dan utilitas dari alternatif yang ada dengan adanya kriteria yang saling bertentangan. Ini memperhitungkan kinerja alternatif sehubungan dengan kriteria yang berbeda dan juga bobot kriteria yang sesuai.
author : cahya dsn
,
published on : July 2nd, 2023
updated on : August 20th, 2023
Metode COmplex PRoportional Assessment COPRAS diperkenalkan oleh Zavadskas pada tahun 1994 (Zavadskas et al., 1994
) biasanya diterapkan dalam keadaan di mana pembuat keputusan dipaksa untuk memilih di antara banyak alternatif sambil mempertimbangkan serangkaian kriteria yang biasanya saling bertentangan
Gagasan COPRAS dipelopori oleh Zavadskas et al. untuk memecahkan masalah MCDA secara efektif. Hasil utama dari pendekatan COPRAS adalah sebagai berikut: (1) penerapannya sederhana; (2) mempertimbangkan rasio terhadap opsi dan solusi ideal, pada saat yang sama; dan (3) mengembalikan hasilnya dalam waktu singkat. (Mardani et al., 2023
)
Metode COmplex PRoportional Assessment (COPRAS) menggunakan peringkat bertahap dan mengevaluasi prosedur alternatif dalam hal signifikansi dan tingkat utilitas. Metode COPRAS memiliki kemampuan untuk memperhitungkan kriteria positif (menguntungkan) dan negatif (tidak menguntungkan), yang dapat dinilai secara terpisah dalam proses evaluasi (Makhesana, 2015
). Metode ini lebih unggul dari metode lain karena metode ini dapat digunakan untuk menghitung tingkat utilitas alternatif yang menunjukkan sejauh mana satu alternatif lebih baik atau lebih buruk dari pada alternatif lain yang diambil untuk perbandingan. ( Aan et al, 2017
)
Metode COmplex PRoportional Assessment COPRAS memiliki kemampuan untuk memperhitungkan kriteria positif (menguntungkan) dan negatif (tidak menguntungkan), yang dapat dinilai secara terpisah dalam proses evaluasi. Fitur terpenting yang membuat metode COPRAS lebih unggul dari metode lainnya adalah dapat digunakan untuk menghitung tingkat utilitas alternatif yang menunjukkan sejauh mana alternatif yang diambil untuk perbandingan. (Sihite, 2020
)
Langkah-langkah metode COPRAS adalah sebagai berikut:
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\}$).
Dari matriks keputusan (X
) yang diperoleh, dibuat matriks Normalisasi (R
)-nya dengan persamaan:
Nilai normalisasi terbobot (D
) dihitung dengan persamaan sebagai berikut :
dimana $w_{j} (0 < w_{j}<1)$ merupakan nilai bobot (weight) dari kriteria ke $j$, sedangkan :
Tahap berikutnya adalah menentukan nilai Signifikansi (S
) untuk tiap-tiap alternatif, yang diperhitungakan dari data semua alternatif. Nilai Signifikansi Positif (Si+
) yang terbentuk adalah :
dimana nilai dari $d_{ij}^{+}$ adalah merupakan nilai ternormalisasi terbobot (D
) untuk setiap kriteria ke $j$ yang mempunyai atribut maksimum/benefit dari alternatif ke-$i$. Sedangkan nilai Signifikansi Negatif (Si-
) dapat dicari dari
dimana nilai dari $d_{ij}^{-}$ adalah merupakan nilai ternormalisasi terbobot (D
) untuk setiap kriteria ke $j$ yang mempunyai atribut minimum/cost dari alternatif ke-$i$.
Nilai Signifikansi Relatif (Q
) untuk setiap alternatif ke-$i$ diperhitungkan dengan persamaan sebagai berikut :
Dimana
TIngkat Utilitas (N
) dari setiap alternatif ke-$i$ ditentukan dengan persamaan berikut :
dimana nilai alternatif dengan nilai Tingkat Utilitas $N$ yang lebih besar/tinggi merupakan alternatif yang lebik baik
Tahap yang terakhir adalah perangkingan dari Nilai Tingkat Utilitas N
dari nilai yang tertinggi hingga yang terendah. Alternatif dengan nilai $N$ yang tertinggi menunjukkan alternatif yang terbaik.
Penerapan metode COPRAS (COmplex PRoportional Assessment) 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 Sistem Komunikasi, Waktu Produksi, Kapasitas Produksi, Kemampuan Teknis, Transportasi, Histori Performansi, Responsibilitas, Jumlah Produk, Harga, Jarak, dan Fleksibilitas
.
Penggunaan metode COmplex PRoportional Assessment (COPRAS) diharapkan dapat membantu pembuat kebijakan untuk menentukan supplier yang terbaik, berdasarkan kritera-kriteria yang sudah ditentukan dan alternatif-alternatif supplier yang ada. Alternatif supplier yang akan dipilih ada 13 supplier, yaitu Organik Prima, Fresh Prima, Fresh Inti, Pangan Utama, Fresh Extra, Organik Extra, Rasa Inti, Rasa Prima, Fresh Mandiri, Rasa Sejahtera, Rasa Mandiri, Sari Extra, dan Fresh Utama
Pada kasus penentuan pemilihan supplier terbaik ini telah ditentukan 11 buah kriteria yang diperhitungkan, yaitu Sistem Komunikasi, Waktu Produksi, Kapasitas Produksi, Kemampuan Teknis, Transportasi, Histori Performansi, Responsibilitas, Jumlah Produk, Harga, Jarak, dan Fleksibilitas dengan rincian bobot penilaian seperti pada TABEL 1 berikut :
Kode | Kriteria | Tipe[1] | Bobot[2] |
---|---|---|---|
C1 | Sistem Komunikasi | benefit | 0.026 |
C2 | Waktu Produksi | cost | 0.077 |
C3 | Kapasitas Produksi | benefit | 0.128 |
C4 | Kemampuan Teknis | benefit | 0.038 |
C5 | Transportasi | benefit | 0.141 |
C6 | Histori Performansi | benefit | 0.064 |
C7 | Responsibilitas | benefit | 0.051 |
C8 | Jumlah Produk | benefit | 0.103 |
C9 | Harga | cost | 0.179 |
C10 | Jarak | çost | 0.090 |
C11 | Fleksibilitas | benefit | 0.090 |
Data-data awal yang akan diperhitungkan dengan metoda COPRAS 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 | Organik Prima | 3 | 5 | 4 | 6 | 6 | 6 | 5 | 4 | 4 | 3 | 7 |
A2 | Fresh Prima | 4 | 4 | 8 | 8 | 5 | 3 | 4 | 3 | 3 | 4 | 6 |
A3 | Fresh Inti | 1 | 4 | 8 | 6 | 5 | 6 | 5 | 2 | 4 | 4 | 7 |
A4 | Pangan Utama | 1 | 5 | 4 | 6 | 5 | 3 | 5 | 4 | 5 | 4 | 7 |
A5 | Fresh Extra | 2 | 3 | 8 | 9 | 5 | 6 | 5 | 2 | 5 | 4 | 5 |
A6 | Organik Extra | 2 | 3 | 4 | 7 | 4 | 3 | 4 | 3 | 5 | 4 | 6 |
A7 | Rasa Inti | 1 | 5 | 5 | 7 | 4 | 4 | 3 | 2 | 5 | 3 | 6 |
A8 | Rasa Prima | 2 | 5 | 6 | 9 | 5 | 6 | 4 | 3 | 3 | 4 | 5 |
A9 | Fresh Mandiri | 3 | 4 | 4 | 9 | 6 | 6 | 5 | 2 | 3 | 3 | 6 |
A10 | Rasa Sejahtera | 3 | 3 | 4 | 8 | 7 | 3 | 3 | 2 | 4 | 3 | 6 |
A11 | Rasa Mandiri | 2 | 5 | 5 | 8 | 5 | 5 | 5 | 3 | 3 | 3 | 5 |
A12 | Sari Extra | 1 | 3 | 8 | 7 | 6 | 4 | 4 | 4 | 5 | 3 | 6 |
A13 | Fresh Utama | 1 | 3 | 8 | 8 | 5 | 3 | 4 | 2 | 3 | 4 | 7 |
Keterangan
Berikut ini akan dijabarkan perhitungan dengan metoda COPRAS secara manual lengkah demi langkah untuk memudahkan pemahaman terhadap metoda COPRAS 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
; scodngkan data pada kolom ke-j
menunjukkan kriteria ke-j
. Misalnya untuk data x13,2
menunjukkan data untuk alternatif ke 13 yaitu Fresh Utama untuk kriteria ke 2 (Waktu Produksi) dengan nilai 3
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 | Organik Prima | 3 | 5 | 4 | 6 | 6 | 6 | 5 | 4 | 4 | 3 | 7 |
A2 | Fresh Prima | 4 | 4 | 8 | 8 | 5 | 3 | 4 | 3 | 3 | 4 | 6 |
A3 | Fresh Inti | 1 | 4 | 8 | 6 | 5 | 6 | 5 | 2 | 4 | 4 | 7 |
A4 | Pangan Utama | 1 | 5 | 4 | 6 | 5 | 3 | 5 | 4 | 5 | 4 | 7 |
A5 | Fresh Extra | 2 | 3 | 8 | 9 | 5 | 6 | 5 | 2 | 5 | 4 | 5 |
A6 | Organik Extra | 2 | 3 | 4 | 7 | 4 | 3 | 4 | 3 | 5 | 4 | 6 |
A7 | Rasa Inti | 1 | 5 | 5 | 7 | 4 | 4 | 3 | 2 | 5 | 3 | 6 |
A8 | Rasa Prima | 2 | 5 | 6 | 9 | 5 | 6 | 4 | 3 | 3 | 4 | 5 |
A9 | Fresh Mandiri | 3 | 4 | 4 | 9 | 6 | 6 | 5 | 2 | 3 | 3 | 6 |
A10 | Rasa Sejahtera | 3 | 3 | 4 | 8 | 7 | 3 | 3 | 2 | 4 | 3 | 6 |
A11 | Rasa Mandiri | 2 | 5 | 5 | 8 | 5 | 5 | 5 | 3 | 3 | 3 | 5 |
A12 | Sari Extra | 1 | 3 | 8 | 7 | 6 | 4 | 4 | 4 | 5 | 3 | 6 |
A13 | Fresh Utama | 1 | 3 | 8 | 8 | 5 | 3 | 4 | 2 | 3 | 4 | 7 |
R
)Matrik Normalisai (R
) untuk dari data tiap-tiap alternatif dan kriteria diperhitungkan berdasarkan persamaan COP-02. Sebagai contoh untuk data $x_{13,10}$, nilai normalisai $r_{13,10}$ diperhitungkan sebagai berikut
$\begin{align} r_{13,10}&=\frac{x_{13,10}}{\Sigma_{j=1}^n x_{13,j}} \\ &=\frac{x_{13,10}}{x_{13,1}+x_{13,2}+x_{13,3}+x_{13,4}+x_{13,5}+x_{13,6}+x_{13,7}+x_{13,8}+x_{13,9}+x_{13,10}+x_{13,11}} \\ &=\frac{4}{1+3+8+8+5+3+4+2+3+4+7} \\ &=\frac{4}{48} \\ &=0.083\end{align}$
Dengan perhitungan yang sama, dilakukan perhitungan nilai normalisai R
untuk data-data yang lain sehingga diperoleh matriks Normalisasi R
sebagai berikut:
$R=\left[\begin{array}{ccccccccccc} \\ 0.057 & 0.094 & 0.075 & 0.113 & 0.113 & 0.113 & 0.094 & 0.075 & 0.075 & 0.057 & 0.132 \\ 0.077 & 0.077 & 0.154 & 0.154 & 0.096 & 0.058 & 0.077 & 0.058 & 0.058 & 0.077 & 0.115 \\ 0.019 & 0.077 & 0.154 & 0.115 & 0.096 & 0.115 & 0.096 & 0.038 & 0.077 & 0.077 & 0.135 \\ 0.020 & 0.102 & 0.082 & 0.122 & 0.102 & 0.061 & 0.102 & 0.082 & 0.102 & 0.082 & 0.143 \\ 0.037 & 0.056 & 0.148 & 0.167 & 0.093 & 0.111 & 0.093 & 0.037 & 0.093 & 0.074 & 0.093 \\ 0.044 & 0.067 & 0.089 & 0.156 & 0.089 & 0.067 & 0.089 & 0.067 & 0.111 & 0.089 & 0.133 \\ 0.022 & 0.111 & 0.111 & 0.156 & 0.089 & 0.089 & 0.067 & 0.044 & 0.111 & 0.067 & 0.133 \\ 0.038 & 0.096 & 0.115 & 0.173 & 0.096 & 0.115 & 0.077 & 0.058 & 0.058 & 0.077 & 0.096 \\ 0.059 & 0.078 & 0.078 & 0.176 & 0.118 & 0.118 & 0.098 & 0.039 & 0.059 & 0.059 & 0.118 \\ 0.065 & 0.065 & 0.087 & 0.174 & 0.152 & 0.065 & 0.065 & 0.043 & 0.087 & 0.065 & 0.130 \\ 0.041 & 0.102 & 0.102 & 0.163 & 0.102 & 0.102 & 0.102 & 0.061 & 0.061 & 0.061 & 0.102 \\ 0.020 & 0.059 & 0.157 & 0.137 & 0.118 & 0.078 & 0.078 & 0.078 & 0.098 & 0.059 & 0.118 \\ 0.021 & 0.062 & 0.167 & 0.167 & 0.104 & 0.062 & 0.083 & 0.042 & 0.062 & 0.083 & 0.146 \\ \end{array}\right] $
Secara lengkap, matriks Normalisasi (R) 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 | - | 0.057 | 0.094 | 0.075 | 0.113 | 0.113 | 0.113 | 0.094 | 0.075 | 0.075 | 0.057 | 0.132 |
A2 | Organik Prima | 0.077 | 0.077 | 0.154 | 0.154 | 0.096 | 0.058 | 0.077 | 0.058 | 0.058 | 0.077 | 0.115 |
A3 | Fresh Prima | 0.019 | 0.077 | 0.154 | 0.115 | 0.096 | 0.115 | 0.096 | 0.038 | 0.077 | 0.077 | 0.135 |
A4 | Fresh Inti | 0.020 | 0.102 | 0.082 | 0.122 | 0.102 | 0.061 | 0.102 | 0.082 | 0.102 | 0.082 | 0.143 |
A5 | Pangan Utama | 0.037 | 0.056 | 0.148 | 0.167 | 0.093 | 0.111 | 0.093 | 0.037 | 0.093 | 0.074 | 0.093 |
A6 | Fresh Extra | 0.044 | 0.067 | 0.089 | 0.156 | 0.089 | 0.067 | 0.089 | 0.067 | 0.111 | 0.089 | 0.133 |
A7 | Organik Extra | 0.022 | 0.111 | 0.111 | 0.156 | 0.089 | 0.089 | 0.067 | 0.044 | 0.111 | 0.067 | 0.133 |
A8 | Rasa Inti | 0.038 | 0.096 | 0.115 | 0.173 | 0.096 | 0.115 | 0.077 | 0.058 | 0.058 | 0.077 | 0.096 |
A9 | Rasa Prima | 0.059 | 0.078 | 0.078 | 0.176 | 0.118 | 0.118 | 0.098 | 0.039 | 0.059 | 0.059 | 0.118 |
A10 | Fresh Mandiri | 0.065 | 0.065 | 0.087 | 0.174 | 0.152 | 0.065 | 0.065 | 0.043 | 0.087 | 0.065 | 0.130 |
A11 | Rasa Sejahtera | 0.041 | 0.102 | 0.102 | 0.163 | 0.102 | 0.102 | 0.102 | 0.061 | 0.061 | 0.061 | 0.102 |
A12 | Rasa Mandiri | 0.020 | 0.059 | 0.157 | 0.137 | 0.118 | 0.078 | 0.078 | 0.078 | 0.098 | 0.059 | 0.118 |
A13 | Sari Extra | 0.021 | 0.062 | 0.167 | 0.167 | 0.104 | 0.062 | 0.083 | 0.042 | 0.062 | 0.083 | 0.146 |
D
)Setelah didapat nilai normalisasinya (R
), berikutnya adalah membuat Matriks Normalisasi Terbobot (D
) maka berdasarkan persamaan COP-03 dan COP-04 dapat dicari nilai R
-nya. Sebagai contoh untuk kriteria ke-2
(Waktu Produksi) pada alternatif ke-13 (Fresh Utama) bisa dihitung nilai d13,2
sebagai berikut:
$\begin{align} d_{13,2}&= r_{13,2} \times w_{2} \\ &=0.062 \times 0.077 \\ &=0.005 \\ \end{align}$
Dengan perhitungan yang sama untuk semua data dari matriks normalisasi (R
) diperoleh data matriks normalisasi terbobot (D
) seperti dalam TABEL 5 berikut ini:
No. | Alternatif | D | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kode | Nama | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | |
1 | A1 | Organik Prima | 0.001 | 0.007 | 0.010 | 0.004 | 0.016 | 0.007 | 0.005 | 0.008 | 0.014 | 0.005 | 0.012 |
2 | A2 | Fresh Prima | 0.002 | 0.006 | 0.020 | 0.006 | 0.014 | 0.004 | 0.004 | 0.006 | 0.010 | 0.007 | 0.010 |
3 | A3 | Fresh Inti | 0.000 | 0.006 | 0.020 | 0.004 | 0.014 | 0.007 | 0.005 | 0.004 | 0.014 | 0.007 | 0.012 |
4 | A4 | Pangan Utama | 0.001 | 0.008 | 0.010 | 0.005 | 0.014 | 0.004 | 0.005 | 0.008 | 0.018 | 0.007 | 0.013 |
5 | A5 | Fresh Extra | 0.001 | 0.004 | 0.019 | 0.006 | 0.013 | 0.007 | 0.005 | 0.004 | 0.017 | 0.007 | 0.008 |
6 | A6 | Organik Extra | 0.001 | 0.005 | 0.011 | 0.006 | 0.013 | 0.004 | 0.005 | 0.007 | 0.020 | 0.008 | 0.012 |
7 | A7 | Rasa Inti | 0.001 | 0.009 | 0.014 | 0.006 | 0.013 | 0.006 | 0.003 | 0.005 | 0.020 | 0.006 | 0.012 |
8 | A8 | Rasa Prima | 0.001 | 0.007 | 0.015 | 0.007 | 0.014 | 0.007 | 0.004 | 0.006 | 0.010 | 0.007 | 0.009 |
9 | A9 | Fresh Mandiri | 0.002 | 0.006 | 0.010 | 0.007 | 0.017 | 0.008 | 0.005 | 0.004 | 0.011 | 0.005 | 0.011 |
10 | A10 | Rasa Sejahtera | 0.002 | 0.005 | 0.011 | 0.007 | 0.021 | 0.004 | 0.003 | 0.004 | 0.016 | 0.006 | 0.012 |
11 | A11 | Rasa Mandiri | 0.001 | 0.008 | 0.013 | 0.006 | 0.014 | 0.007 | 0.005 | 0.006 | 0.011 | 0.005 | 0.009 |
12 | A12 | Sari Extra | 0.001 | 0.005 | 0.020 | 0.005 | 0.017 | 0.005 | 0.004 | 0.008 | 0.018 | 0.005 | 0.011 |
13 | A13 | Fresh Utama | 0.001 | 0.005 | 0.021 | 0.006 | 0.015 | 0.004 | 0.004 | 0.004 | 0.011 | 0.007 | 0.013 |
S
) Posisitf dan NegatifNilai Signifikansi S
adalah merupakan jumlah nilai ternormalisasi terbobot (D
) untuk setiap alternatif ke i
, dikelompokkan berdasarkan atribut kriteria-nya. Sebagai contoh, sesuai dengan persamaan COP-05 dan COP-06 didapat nilai S13+
dan S13-
, yaitu nilai Signifikansi Positif dan Negatif untuk alternatif ke-13
(Fresh Utama)) sebagai berikut :
$\begin{align} S_{13}^{+}&= \Sigma^n_{j=1} d_{13,j}^{+}\\ &=d_{13,1}+ d_{13,3}+ d_{13,4}+ d_{13,5}+ d_{13,6}+ d_{13,7}+ d_{13,8}+ d_{13,10}+ d_{13,11}\\ &=0.001+0.021+0.006+0.015+0.004+0.004+0.004+0.007+0.013\\ &=0.075\\ \end{align}$
$\begin{align} S_{13}^{-}&= \Sigma^n_{j=1} d_{13,j}^{-}\\ &=d_{13,2}+ d_{13,9}\\ &=0.005+ 0.011\\ &=0.016\\ \end{align}$
Nilai dari S13+
diambil dari penjumlahan semua nilai dengan kriteria yang mempunyai atribut maksimum/benefit dari nilai ternormalisasi terbobot D
untuk alternatif ke-13
. Sedangkan nilai dari S13-
diambil dari penjumlahan semua nilai dengan kriteria yang mempunyai atribut minimum/cost dari nilai ternormalisasi terbobot D
untuk alternatif ke-13
Setelah dilakukan perhitungan yang sama untuk alternatif-alternatif yang lain, maka diperoleh nilai Signifikansi Posisif Si+
dan Signifikansi Negatif Si-
seperti dalam TABEL 6 berikut ini :
No. | Alternatif | $S_i^{+}$ | $S_i^{-}$ | |
---|---|---|---|---|
Kode | Nama | |||
1 | A1 | Organik Prima | 0.068 | 0.021 |
2 | A2 | Fresh Prima | 0.072 | 0.016 |
3 | A3 | Fresh Inti | 0.073 | 0.020 |
4 | A4 | Pangan Utama | 0.068 | 0.026 |
5 | A5 | Fresh Extra | 0.070 | 0.021 |
6 | A6 | Organik Extra | 0.067 | 0.025 |
7 | A7 | Rasa Inti | 0.065 | 0.028 |
8 | A8 | Rasa Prima | 0.069 | 0.018 |
9 | A9 | Fresh Mandiri | 0.067 | 0.017 |
10 | A10 | Rasa Sejahtera | 0.071 | 0.021 |
11 | A11 | Rasa Mandiri | 0.068 | 0.019 |
12 | A12 | Sari Extra | 0.075 | 0.022 |
13 | A13 | Fresh Utama | 0.076 | 0.016 |
Q
)Berdasarkan persamaan COP-07 penentuan Nilai Signifikansi Relatif (Q
) untuk setiap alternatif ke-$i$ dapat dihitung, semisal untuk alternatif ke-13
(Fresh Utama) dapat ditentukan Nilai Signifikansi Relatif-nya (Q13
) seperti perhitungan berikut:
$\begin{align} Q_{13}&=S_{13}^{+} + \frac{\text{min}(S^{-})\Sigma_{i=1}^m S_i^{-}}{S_{13}^{-} \Sigma_{i=1}^m\frac{\text{min}(S^{-})}{S_i^{-}} }\\ &=S_{13}^{+} + \frac{S_{13}^{-}\Sigma_{i=1}^m S_i^{-}}{S_{13}^{-} \Sigma_{i=1}^m\frac{S_{13}^{-}}{S_i^{-}} }\\ &=S_{13}^{+} + \frac{S_{13}^{-} (S_{1}^{-}+S_{2}^{-}+S_{3}^{-}+S_{4}^{-}+S_{5}^{-}+S_{6}^{-}+S_{7}^{-}+S_{8}^{-}+S_{9}^{-}+S_{10}^{-}+S_{11}^{-}+S_{12}^{-}+S_{13}^{-}) }{S_{13}^{-} (\frac{S_{13}^{-}}{S_{1}^{-}}+\frac{S_{13}^{-}}{S_{2}^{-}}+\frac{S_{13}^{-}}{S_{3}^{-}}+\frac{S_{13}^{-}}{S_{4}^{-}}+\frac{S_{13}^{-}}{S_{5}^{-}}+\frac{S_{13}^{-}}{S_{6}^{-}}+\frac{S_{13}^{-}}{S_{7}^{-}}+\frac{S_{13}^{-}}{S_{8}^{-}}+\frac{S_{13}^{-}}{S_{9}^{-}}+\frac{S_{13}^{-}}{S_{10}^{-}}+\frac{S_{13}^{-}}{S_{11}^{-}}+\frac{S_{13}^{-}}{S_{12}^{-}}+\frac{S_{13}^{-}}{S_{13}^{-}})}\\ &=0.08 + \frac{0.02 * (0.02+0.02+0.02+0.03+0.02+0.03+0.03+0.02+0.02+0.02+0.02+0.02+0.02) }{0.02 * (\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.03}+\frac{0.02}{0.02}+\frac{0.02}{0.03}+\frac{0.02}{0.03}+\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.02}+\frac{0.02}{0.02})}\\ &=0.10209822439622\end{align}$
Untuk alternatif-alternatif yang lain bisa dihitung nilai Q
-nya dengan cara yang sama, dan hasilnya adalah sebagai berikut:
No. | Alternatif | Q | |
---|---|---|---|
Kode | Nama | ||
1 | A1 | Organik Prima | 0.08823 |
2 | A2 | Fresh Prima | 0.09757 |
3 | A3 | Fresh Inti | 0.09458 |
4 | A4 | Pangan Utama | 0.08368 |
5 | A5 | Fresh Extra | 0.08996 |
6 | A6 | Organik Extra | 0.08327 |
7 | A7 | Rasa Inti | 0.07957 |
8 | A8 | Rasa Prima | 0.09224 |
9 | A9 | Fresh Mandiri | 0.09246 |
10 | A10 | Rasa Sejahtera | 0.09070 |
11 | A11 | Rasa Mandiri | 0.08960 |
12 | A12 | Sari Extra | 0.09423 |
13 | A13 | Fresh Utama | 0.10210 |
N
)Nilai Tingkat Utilitas (N
) dibentuk berdasarkan pada persamaan COP-08. Sebagai contoh perhitungan, untuk nilai $N_{13}$ diperhitungkan sebagai berikut:
$\begin{align} N_{13}&=\frac{Q_{13}}{\text{max}(Q)} \times 100\% \\ &=\frac{Q_{13}}{Q_{13}} \times 100\% \\ &=\frac{0.10210}{0.10210} \times 100\% \\ &=100.00000\end{align}$
Dengan menghitung semua nilai Ni
dari semua alternatif yang ada, diperoleh hasil seperti terlihat di TABEL 8 berikut ini:
No | Alternatif | Tingkat Utilitas (N) | |
---|---|---|---|
Kode | Nama | ||
1 | A1 | Organik Prima | 86.41259 % |
2 | A2 | Fresh Prima | 95.56969 % |
3 | A3 | Fresh Inti | 92.63359 % |
4 | A4 | Pangan Utama | 81.95650 % |
5 | A5 | Fresh Extra | 88.11425 % |
6 | A6 | Organik Extra | 81.55961 % |
7 | A7 | Rasa Inti | 77.93378 % |
8 | A8 | Rasa Prima | 90.34234 % |
9 | A9 | Fresh Mandiri | 90.56123 % |
10 | A10 | Rasa Sejahtera | 88.83329 % |
11 | A11 | Rasa Mandiri | 87.76052 % |
12 | A12 | Sari Extra | 92.29635 % |
13 | A13 | Fresh Utama | 100.00000 % |
Nilai skor penilaian Assessment Score (H
) yang diperoleh dari hasil perhitungan sebelumnya selanjutnya diurutkan dari yang terbesar hingga yang terendah seperti terlihat dalam TABEL 10 seperti berikut ini :
No | Alternatif | Tingkat Utilitas (N) | Ranking | |
---|---|---|---|---|
Kode | Nama | |||
1 | A13 | Fresh Utama | 100.00000 % | 1 |
2 | A2 | Fresh Prima | 95.56969 % | 2 |
3 | A3 | Fresh Inti | 92.63359 % | 3 |
4 | A12 | Sari Extra | 92.29635 % | 4 |
5 | A9 | Fresh Mandiri | 90.56123 % | 5 |
6 | A8 | Rasa Prima | 90.34234 % | 6 |
7 | A10 | Rasa Sejahtera | 88.83329 % | 7 |
8 | A5 | Fresh Extra | 88.11425 % | 8 |
9 | A11 | Rasa Mandiri | 87.76052 % | 9 |
10 | A1 | Organik Prima | 86.41259 % | 10 |
11 | A4 | Pangan Utama | 81.95650 % | 11 |
12 | A6 | Organik Extra | 81.55961 % | 12 |
13 | A7 | Rasa Inti | 77.93378 % | 13 |
Dari hasil perankingan nilai tingkat utilitas (Q
) tersebut, diperoleh bahwa supplier ke-13 (Fresh Utama) dengan nilai signifikansi relatif ($Q$) sebesar 0.10210
dan tingkat utilitas ($N$) sebesar 100 %
terpilih sebagai pemasok bahan baku yang paling baik, berdasar kriteria-kriteria dan bobot yang sudah ditentukan.
Sebagai pelengkap artikel Metode COmplex PRoportional Assessment (COPRAS) 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 COPRAS 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 cop_criterias jika sudah ada DROP TABLE IF EXISTS cop_criterias; -- membuat tabel cop_criterias jika tidak ada CREATE TABLE IF NOT EXISTS cop_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 cop_criterias(id_criteria,criteria,weight,attribute) VALUES (1,'Sistem Komunikasi',0.0260,'benefit'), (2,'Waktu Produksi',0.0770,'cost'), (3,'Kapasitas Produksi',0.1280,'benefit'), (4,'Kemampuan Teknis',0.0380,'benefit'), (5,'Transportasi',0.1410,'benefit'), (6,'Histori Performansi',0.0640,'benefit'), (7,'Responsibilitas',0.0510,'benefit'), (8,'Jumlah Produk',0.1030,'benefit'), (9,'Harga',0.1790,'cost'), (10,'Jarak',0.0900,'çost'), (11,'Fleksibilitas',0.0900,'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 cop_alternatives jika sudah ada DROP TABLE IF EXISTS cop_alternatives; -- membuat tabel cop_alternatives jika tidak ada CREATE TABLE IF NOT EXISTS cop_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 cop_alternatives(id_alternative,name) VALUES (1,'Organik Prima'), (2,'Fresh Prima'), (3,'Fresh Inti'), (4,'Pangan Utama'), (5,'Fresh Extra'), (6,'Organik Extra'), (7,'Rasa Inti'), (8,'Rasa Prima'), (9,'Fresh Mandiri'), (10,'Rasa Sejahtera'), (11,'Rasa Mandiri'), (12,'Sari Extra'), (13,'Fresh Utama');
Dalam tabel cop_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 cop_criterias
dengan tabel cop_alternatives
, yaitu tabel cop_evaluations
sebagai berikut:
-- menghapus tabel cop_evaluations jika sudah ada DROP TABLE IF EXISTS cop_evaluations; -- membuat tabel cop_evaluations jika tidak ada CREATE TABLE IF NOT EXISTS cop_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 cop_evaluations(id_alternative,id_criteria,value) VALUES (1,1,3),(1,2,5),(1,3,4),(1,4,6),(1,5,6),(1,6,6),(1,7,5),(1,8,4),(1,9,4),(1,10,3),(1,11,7), (2,1,4),(2,2,4),(2,3,8),(2,4,8),(2,5,5),(2,6,3),(2,7,4),(2,8,3),(2,9,3),(2,10,4),(2,11,6), (3,1,1),(3,2,4),(3,3,8),(3,4,6),(3,5,5),(3,6,6),(3,7,5),(3,8,2),(3,9,4),(3,10,4),(3,11,7), (4,1,1),(4,2,5),(4,3,4),(4,4,6),(4,5,5),(4,6,3),(4,7,5),(4,8,4),(4,9,5),(4,10,4),(4,11,7), (5,1,2),(5,2,3),(5,3,8),(5,4,9),(5,5,5),(5,6,6),(5,7,5),(5,8,2),(5,9,5),(5,10,4),(5,11,5), (6,1,2),(6,2,3),(6,3,4),(6,4,7),(6,5,4),(6,6,3),(6,7,4),(6,8,3),(6,9,5),(6,10,4),(6,11,6), (7,1,1),(7,2,5),(7,3,5),(7,4,7),(7,5,4),(7,6,4),(7,7,3),(7,8,2),(7,9,5),(7,10,3),(7,11,6), (8,1,2),(8,2,5),(8,3,6),(8,4,9),(8,5,5),(8,6,6),(8,7,4),(8,8,3),(8,9,3),(8,10,4),(8,11,5), (9,1,3),(9,2,4),(9,3,4),(9,4,9),(9,5,6),(9,6,6),(9,7,5),(9,8,2),(9,9,3),(9,10,3),(9,11,6), (10,1,3),(10,2,3),(10,3,4),(10,4,8),(10,5,7),(10,6,3),(10,7,3),(10,8,2),(10,9,4),(10,10,3),(10,11,6), (11,1,2),(11,2,5),(11,3,5),(11,4,8),(11,5,5),(11,6,5),(11,7,5),(11,8,3),(11,9,3),(11,10,3),(11,11,5), (12,1,1),(12,2,3),(12,3,8),(12,4,7),(12,5,6),(12,6,4),(12,7,4),(12,8,4),(12,9,5),(12,10,3),(12,11,6), (13,1,1),(13,2,3),(13,3,8),(13,4,8),(13,5,5),(13,6,3),(13,7,4),(13,8,2),(13,9,3),(13,10,4),(13,11,7);
Koneksi ke database server serta pengambilan data-data dari database diperlukan untuk selanjutnya diproses menggunakan metode COPRAS.
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 COPRAS, sebelumnya diambil terlebih dahulu data-data yang akan digunakan dari database. Yang pertama ada data Alternatif. Data ini diambil dari tabel cop_alternatives
dan dimasukkan ke dalam variabel $alternatif
dengan kode script PHP seperti berikut
<?php
//-- inisialisasi variabel array alternatif
$alternatif=array();
$sql='SELECT * FROM cop_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 cop_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 cop_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 scodngkan 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 'Waktu Produksi' dengan atribut/tipe 'cost'
Scodngkan 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 COPRAS. Di sini dijelaskan langkah per langkah-nya untuk kode PHP-nya, sesuai dengan langkah-langkah perhitungan COPRAS secara manual sebelumnya.
Mengacu pada persamaan COP-01 kita dapat membuat matriks keputusan (X) dengan mengambil data dari tabel cop_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 cop_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, scodngkan dimensi yang kedua merupakan index kriteria-nya.$X[$i][$j]
berarti merupakan data matrik keputusan untuk alternatif ke $i
dan kriteria ke $j
Dari matrik keputusan X
yang sudah ditentukan dilangkah sebelumnya, kemudian dicari nilai Normalisasinya (R
) dengan script berikut:
<?php
//-- inisialisasi array nilai normalisasi (R)
$R=array();
//-- proses untuk setiap data alternatif ke-i
foreach($X as $i=>$xi){
$R[$i]=array();
//-- proses untuk setiap data alternatif ke-i kriteria ke-j
foreach($xi as $j=>$xij){
$R[$i][$j]=$xij/array_sum($xi);
}
}
?>
Sesuai dengan persamaan COP-02, untuk normalisasi dari data matrik keputusan X
untuk alternatif ke-i
dan kriteria ke-i
(xi,j
), yaitu nilai ri,j
diperoleh dengan membagi nilai xi,j
dengan jumlah seluruh nilai matrik keputusan alternatif ke-i
tersebut.
D
)Berdasarkan persamaan COP-03 dan COP-04 untuk perhitungan nilai normalisasi terbobot (D
) dibuat script sebagai berikut :
<?php
//-- inisialisasi Nilai Normalisasi Terbobot (D)
$D=array();
foreach($R as $i=>$ri){
//-- inisialisasi Nilai Normalisasi Terbobot Alternatif ke-i (Di)
$D[$i]=array();
foreach($ri as $j=>$nij){
//-- menentukan Nilai Normalisasi Terbobot Alternatif ke-i kriteria ke-j (Dij)
$D[$i][$j]=$rij*$w[$j];
}
}
?>
Dalam script di atas, nilai normalisasi terbobot D
didapat dari nilai matriks normalisasi R
dikali dengan nilai bobot w
ditiap kriteria-nya.
S
) Positif dan NegatifLangkah selanjutnya adalah menghitung nilai Signifikansi (S
) Positif dan Negatif sebagai berikut:
<?php
//-- inisialisasi array Spos & Sneg
$Spos=$Sneg=array();
foreach($D as $i=>$di){
//-- inisialilasi nilai signifikasni positif/negatif utk alternatif ke-i
$Spos[$i]=0;
$Sneg[$i]=0;
foreach($di as $j=>$dij){
$Spos[$i]+=($kriteria[$j][1]=='benefit')?$dj:0;
$Sneg[$i]+=($kriteria[$j][1]=='cost')?$dj:0;
}
}
?>
Nilai Signifikasi positif untuk alternatif ke-i
yaitu $Spos[$i]
merupakan jumlah semua nilai normalisasi terbobot D
dari alternatif ke-i
yang mempunyai atribut benefit/maksimum; sedangkan nilai Signifikasi negatif untuk alternatif ke-i
yaitu $Sneg[$i]
merupakan jumlah semua nilai normalisasi terbobot D
dari alternatif ke-i
yang mempunyai atribut cost/minimum
Q
)Langkah berikutnya adalah menghitung Nilai Signifikansi Relatif Q
dengan script berikut ini:
<?php
//-- inisialisasi array nilai Signifikansi Relatif (Q)
$Q=array();
//-- inisialisasi nilai normalisasi signifikansi negatif
$spneg=0;
//-- menghitung jumlah nilai normalisasi siginifikansi negatif
foreach($Sneg as $i=>$sni){
$spneg+=min($Sneg)/$sni;
}
foreach($Spos as $i=>$spi){
//-- menghitung nilai Signifikansi Relatif (Q) alternatif ke-i
$Q[$i]=$spi+(min($Sneg)*array_sum($Sneg))/($Sneg[$i]*$spneg);
}
?>
N
)Berdasarkan persamaan COP-08 kemudian dicari nilai Tingkat Utilitas (N
) dengan script berikut:
<?php
//-- inisialisasi array nilai tingkat utilitas N
$N=array();
for($i=1;$i<=$jml_alternative;$i++){
$N[$i]=$Q[$i]/max($Q)*100;
}
?>
$N
diurutkan dari yang terbesar hingga yang terkecil. Berikut adalah contoh script PHP-nya
<?php
//-- mengurutkan secara descending
arsort($N);
//-- ambil key-index yang pertama
$terpilih=key($N);
echo "Dari hasil perhitungan dipilih alternatif ke-{$terpilih}"
." ({$alternatif[$terpilih]}) <br>dengan nilai signifikansi relatif "
." sebesar {$Q[$terpilih]}";
?>
Data nilai skor penilaian $H
diurutkan secara descending dengan fungsi arsort()
untuk mengurutkan berdasarkan nilai array namun tetap mempertahankan key-index-nya. Setelah diurutkan, maka item array yang pertama adalah nilai skor penilaian H
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 (Fresh Utama)
dengan nilai signifikansi relatif sebesar 0.10209822439622
Source code selengkapnya bisa dilihat di tautan ini source
Beberapa simpulan yang bisa diambil dari contoh kasus pemilihan supplier terbaik dengan metoda Combinative Distance-Based Assessment (COPRAS) ini adalah: