Anda di halaman 1dari 19

TUGAS MANDIRI

ALGORITMA, FLOWCHART,
IMPLEMENTASI/PSEUDOCODE Algoritma Elimination
And Choice Expressing Reality (ELECTRE)

Rahmaniar
2018130059

PPS STMIK HANDAYANI MAKASSAR 2018


A. Elimination And Choice Expressing Reality (ELECTRE)

Metode ELECTRE termasuk pada metode analisis pengambilan

keputusan multikriteria yang berasal dari Eropa pada tahun 1960an. ELECTRE

adalah akronim dari Elimination Et Choix Traduisant la Realité atau dalam

bahasa Inggris berarti Elimination and Choice Expressing Reality (wikipedia).

Menurut Janko dan Bernoider (2005:11) dalam Erwin Rianto (2017:20),

ELECTRE merupakan salah satu metode pengambilan keputusan multikriteria

berdasarkan pada konsep outrankingdengan menggunakan perbandingan

berpasangan dari alternatif-alternatif berdasarkan setiap kriteria yang sesuai.

Metode ELECTRE digunakan pada kondisi dimana alternatif yang kurang

sesuai dengan kriteria dieliminasi dan alternatif yang sesuai dapat dihasilkan.

Dengan kata lain, ELECTRE digunakan untuk kasus-kasus dengan banyak

alternatif namun hanya sedikit kriteria yang dilibatkan (Setiyawati dalam Erwin

Rianto (2017:20)). Suatu alternatif dikatakan mendominasi alternatif lainnya

jika satu atau lebih kriterianya melebihi (dibandingkan dengan kriteria alternatif

yang lain) dan sama dengan kriteria lain yang tersisa (Kusumadewi, 2006 dalam

Erwin Rianto (2017:20)).

Langkah-langkah yang dilakukan dalam penyelesaian masalah

menggunakan metode Electre adalah sebagai berikut:


1. Normalisasi matriks keputusan.

Dalam prosedur ini, setiap atribut diubah menjadi nilai yang

comparable.Setiap normalisasi dari nilai xij dapat dilakukan dengan rumus

……..Algoritma II-1.

Sehingga didapat matriks R hasil normalisasi,

R adalah matriks yang telah dinormalisasi, dimana m menyatakan

alternatif, n menyatakan kriteria dan rij adalah normalisasi pengukuran

pilihan dari alternatif ke-i dalam hubungannya dengan kriteria ke-j.

2. Pembobotan pada matriks yang telah dinormalisasi

Setelah dinormalisasi, setiap kolom dari matriks R dikalikan

dengan bobot-bobot (wj) yang ditentukan oleh pembuat keputusan.

Sehingga, weighted normalized matrix adalah yang ditulis sebagai:

……Algoritma II-2.

dimana W adalah
3. Menentukan himpunan concordance dan disordance

Untuk setiap pasang dari alternatif k dan l (k, l = 1,2,3, ..., m dan

k≠l) kumpulan J kriteria dibagi menjadi dua himpunan bagian, yaitu

concordance dan discordance. Sebuah kriteria dalam suatu alternatif

termasuk concordance jika:

……Algoritma II-3.

Sebaliknya, komplementer dari himpunan bagian concordance

adalah himpunan discordance, yaitu bila:

……Algoritma II-4.

4. Menghitung matriks concordance dan discordance

a. Menghitung matriks concordance

Untuk menentukan nilai dari elemen-elemen pada matriks

concordance adalah dengan menjumlahkan bobot-bobot yang

termasuk pada himpunan concordance, secara matematisnya

adalah sebagai berikut:

………………….Algoritma II-5.

b. Menghitung matrix discordance


Untuk menentukan nilai dari elemen-elemen pada matriks

disordance adalah dengan membagi maksimum selisih kriteria

yang termasuk ke dalam himpunan bagian disordance dengan

maksimum selisih nilai seluruh kriteria yang ada, secara

matematisnya adalah sebagai berikut:

………….Algoritma II-6.

5. Menentukan matriks dominan concordance dan disordance

a. Menghitung matriks dominan concordance

Matriks F sebagai matriks dominan concordancedapat

dibangun dengan bantuan nilai threshold, yaitu dengan

membandingkan setiap nilai elemen matriks concordance dengan

nilai threshold.

Ckl ≥ c

Dengan nilai threshold (c) adalah :

Sehingga elemen matriks F ditentukan sebagai berikut :

………….Algoritma II-7.

b. Menghitung matriks dominan disordance

Matriks G sebagai matriks dominan disordance dapat

dibangun dengan bantuan nilai threshold :


dan elemen matriks G ditentukan sebagai berikut:

………….Algoritma II-8.

6. Menentukan aggregate dominance matrix

Matriks E sebagai aggregate dominance matriks adalah matriks

yang setiap elemennya merupakan perkalian antara elemen matriks F

dengan elemen matriks G yang bersesuaian, secara matematis dapat

dinyatakan sebagai:

ekl = fkl x gkl …………………… Algoritma II-9.

7. Eliminasi alternatif yang less favourable

Matriks E memberikan urutan pilihan dari setiap alternatif, yaitu

bila ekl = 1 maka alternatif Ak merupakan alternatif yang lebih baik

daripada A1. Sehingga, baris dalam matriks E yang memiliki jumlah ekl=1

paling sedikit dapat dieliminasi. ..……Algoritma II-10

Dengan demikian, alternative terbaik adalah alternatif yang

mendominasi alternative lainnya (Setiyawati dalam Erwin Rianto

(2017:24)).
B. Contoh Aplikasi dengan ELECTRE

Pada Implementasi ini diangkat contoh program Sistem Pendukung

Keputusan Penentuan Takaran Pupuk Anorganik dengan Metode

ELECTRE.

1. Flowchart

2. Pseudocode Implementasi Algoritma

Algoritma adalah prosedur langkah-langkah untuk penghitungan,

pemrosesan data, dan penalaran otomatis.

Electre merupakan salah satu metode pengambilan keputusan

multikriteria berdasarkan pada konsep outranking dengan menggunakan

perbandingan berpasangan dari alternatif-alternatif berdasarkan setiap


kriteria yang sesuai. Electre digunakan pada kondisi dimana alternatif yang

kurang sesuai dengan kriteria dieliminasi dan alternatif yang sesuai dapat

dihasilkan. Dengan kata lain, Electre digunakan untuk kasus-kasus dengan

banyak alternatif namun hanya sedikit kriteria dilibatkan.

Implementasi dengan contoh kasus jika data lingkungan sebagai berikut :

Tabel 1 Contoh Data Uji Tanah


Status Status Status
Tekstur Tanah
Nitrogen (N) Fosfor (P) Kalium (K)
Tinggi Sedang Sedang Liat
Sumber : Hasil olahan penulis

Konversi data uji tanah ke Nilai :

Tabel 2 Konversi Data Uji Tanah


Status Status Status
Tekstur Tanah
Nitrogen (N) Fosfor (P) Kalium (K)
5 3 3 1
Sumber : Hasil olahan penulis
1. Tahap 1. Normalisasi matriks keputusan

Tahap pertama dalam Algoritma Electre adalah tahap normalisasi,

Dalam prosedur ini, setiap atribut diubah menjadi nilai yang comparable

yang menghasilkan matrix R. Seperti pada Algoritma II-1.

Listing

$bbt = array(0,$nitrogen,$posfor,$kalium,$tekstur);

$rekomtakaran = $this->Rekomedasi_model->get_rekomtakaran()->result();
foreach ($rekomtakaran as $row) {
$arr_N[$row->id] = $row->nitrogen2;
$arr_P[$row->id] = $row->posfor2;
$arr_K[$row->id] = $row->kalium2;
$arr_T[$row->id] = $row->tekstur2;
}

<?php $arr_SQRT[1]=number_format(SQRT(($arr_N[1]*$arr_N[1])+
($arr_N[2]*$arr_N[2]) + ($arr_N[3]*$arr_N[3]) + ($arr_N[4]*$arr_N[4]) +
($arr_N[5]*$arr_N[5]) + ($arr_N[6]*$arr_N[6]) + ($arr_N[7]*$arr_N[7]) +
($arr_N[8]*$arr_N[8]) + ($arr_N[9]*$arr_N[9]) + ($arr_N[10]*$arr_N[10])
+ ($arr_N[11]*$arr_N[11]) + ($arr_N[12]*$arr_N[12]) +
($arr_N[13]*$arr_N[13]) + ($arr_N[14]*$arr_N[14]) +
($arr_N[15]*$arr_N[15]) + ($arr_N[16]*$arr_N[16]) +
($arr_N[17]*$arr_N[17])),2); ?>

<?php $i=1; foreach ($rekomtakaran as $row) { ?>


<tr>
<td><?php echo $row->kd_formula; ?></td>
<td>
<?php echo $arr_nor[1][$i]=number_format(($row->nitrogen2
/
$arr_SQRT[1]),3) ; ?>
</td>
<td>
<?php echo $arr_nor[2][$i]=number_format(($row->posfor2 /
$arr_SQRT[2]),3);?>
</td>
<td>
<?php echo $arr_nor[3][$i]=number_format(($row->kalium2 /
$arr_SQRT[3]),3) ; ?>
</td>
<td>
<?php echo $arr_nor[4][$i]=number_format(($row->tekstur2 /
$arr_SQRT[4]),3) ; ?>
</td>
</tr>
<?php $i++; } ?>
Menghasilkan

2. Tahap 2. Pembobotan pada matriks yang telah dinormalisasi

Setelah dinormalisasi, tahap kedua yang dilakukan yaitu setiap kolom

dari matriks R dikalikan dengan bobot-bobot yang ditentukan oleh pembuat

keputusan. Seperti pada Algoritma II-2.

Listing

<?php $i=1; foreach ($rekomtakaran as $row) { ?>


<?php echo $row->kd_formula; ?>
<?php echo $arr_bbt[1][$i]=number_format(($arr_nor[1][$i]
*
$bbt[1]),3) ; ?>
<?php echo $arr_bbt[2][$i]=number_format(($arr_nor[2][$i]
*
$bbt[2]),3) ; ?>
<?php echo $arr_bbt[3][$i]=number_format(($arr_nor[3][$i]
*
$bbt[3]),3) ; ?>
<?php echo $arr_bbt[4][$i]=number_format(($arr_nor[4][$i] *
$bbt[4]),3) ; ?>
<?php $i++; } ?>
Menghasilkan

3. Tahap 3. Menentukan himpunan concordance dan discordance

Setelah tahap pembobotan, dilakukan tahap ketiga yakni kriteria

dibagi menjadi dua himpunan bagian, yaitu concordance dan discordance.

Seperti pada Algoritma II-3 dan Algoritma II-4.


Listing

<!-- Corcordance -->

<?php
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
for ($j=1; $j <= 4; $j++) {
if ($arr_nor[$j][$h] >= $arr_nor[$j][$i]) {
$arr_ccd[$i][$h]= @$arr_ccd[$i][$h] .'1'. ",";
$arr_XMccd[$i][$h]= @$arr_XMccd[$i][$h] .
$bbt[$j]. ",";
} else {
$arr_ccd[$i][$h]= @$arr_ccd[$i][$h] .'0'. ",";
$arr_XMccd[$i][$h]= @$arr_XMccd[$i][$h] . 0 .
",";
}
}
}
}
for ($i=0; $i <=17 ; $i++) {
$arr_ccd[$i][$i]='-';
}
?>
<!-- N Corcordance -->

<!-- Discordance -->


<?php
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
for ($j=1; $j <= 4; $j++) {
if ($arr_nor[$j][$h] < $arr_nor[$j][$i]) {
$arr_dcd[$i][$h]= @$arr_dcd[$i][$h] .'1'. ",";
$arr_XMdcd[$i][$h]= @$arr_XMdcd[$i][$h] .
$bbt[$j].
",";
} else {
$arr_dcd[$i][$h]= @$arr_dcd[$i][$h] .'0'. ",";
$arr_XMdcd[$i][$h]= @$arr_XMdcd[$i][$h] . 0 .
",";
}
}
}
}
for ($i=0; $i <=17 ; $i++) {
$arr_dcd[$i][$i]='-';
}
?>
<!-- N Discordance -->
Menghasilkan

4. Tahap 4. Menghitung matriks concordance dan discordance

Kemudian dilakukan tahap keempat yakni, untuk menentukan nilai dari

elemen-elemen matriks concordance adalah dengan menjumlahkan bobot-

bobot yang termasuk pada himpunan concordance. Untuk menentukan nilai

dari elemen-elemen pada matriks discordance dengan membagi maksimum

selisih kriteria yang termasuk ke dalam himpunan bagian disordance

dengan maksimum selisih nilai kriteria yang ada.


Seperti pada Algoritma II-5 dan Algoritma II-6.

Listing

<!--Matriks Corcordance-->
<?php
$thresholdCon=0;
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
$arr_Mccd[$i][$h] = array_sum($arr_int = json_decode('[' .
$Mccd1=substr($arr_XMccd[$i][$h], 0, -1) . ']', true));
}
}
for ($h=1; $h <=17 ; $h++) {
$arr_Mccd[$h][$h]='-';
for ($i=1; $i <= 17; $i++) {
$thresholdCon= $arr_Mccd[$i][$h] + @$thresholdCon;
}
}
?>
<!—End Matriks Corcordance-->

<!--Matriks Discordance-->

<?php
$thresholdDis=0;
$x[1]=0;
$y[1]=0;
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
for ($j=1; $j <= 4; $j++) {
if ($h !== $i) $x[$j] = @$$x[$j] . ABS($arr_bbt[$j][$h] -
$arr_bbt[$j][$i]);
}

for ($k=1; $k <= 1; $k++) {


if ($h !== $i) $y[$k] = @$$y[$k] . ABS($arr_bbt[$k][$h] –
$arr_bbt[$k][$i]);
}

if (MAX($y)==0 or MAX($x)==0)
$arr_Mdcd[$i][$h] = 0; else $arr_Mdcd[$i][$h]
=number_format((MAX($y)/MAX($x)),3);

}
}
for ($h=1; $h <=17 ; $h++) {
$arr_Mdcd[$h][$h]='-';
for ($i=1; $i <= 17; $i++) {

$thresholdDis=$arr_Mdcd[$i][$h] + $thresholdDis;
}
}
?>
<!—End Matriks Discordance-->
Menghasilkan

5. Tahap 5. Menghitung matriks dominan concordance dan

discordance

Pada tahap 5 dibentuk matriks F sebagai matriks dominan

concordance dan discordance yang dapat dibangun dengan

membandingkan setiap nilai elemen matriks concordance dan discordance

dengan nilai threshold. Setelah matriks F dibentuk, kemudian dibentuk

matriks G sebagai matriks dominan discordance dapat dibangun dengan

bantuan nilai threshold.


Seperti pada Algoritma II-7 dan Algoritma II-8.

Listing

<!—Nilai Threshold-->
<div class="col-sm-6">
<h3 class="block-header">Nilai Threshold Dominan Matriks
Corcordance; <?php echo
$thresholdConFix=number_format(($thresholdCon/(17*17)-1),3);
?></h3>
</div>

<div class="col-sm-6">
<h3 class="block-header">Nilai Threshold Dominan Matriks
Discordance : <?php echo
$thresholdDisFix=number_format(($thresholdDis/(17*17)-
1),3); ?>
</h3>
</div>
<!—End Nilai Threshold-->

<!—Matriks D Corcordance-->
<?php
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
if ($arr_Mccd[$i][$h] >= $thresholdConFix) {
$arr_MDccd[$i][$h] = 1;
} else {
$arr_MDccd[$i][$h] = 0;
}
}
}
for ($h=1; $h <=17 ; $h++) {
$arr_MDccd[$h][$h]='-';
}
?>
<!—End Matriks D Corcordance-->

<!—Matriks D Discordance-->

<?php
$thresholdDis=0;
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
if ($arr_Mdcd[$i][$h] >= $thresholdDisFix) {
$arr_MDdcd[$i][$h] = 1;
} else {
$arr_MDdcd[$i][$h] = 0;
}
}
}

for ($h=1; $h <=17 ; $h++) {


$arr_MDdcd[$h][$h]='-';
}
?>
<!—End Matriks D Discordance-->
Menghasilkan
6. Tahap 6. Menentukan aggregate dominance matrix

Pada tahap ini dibentuk Matriks E sebagai aggregate dominance

matriks yang setiap elemennya merupakan perkalian antara elemen matriks

F dengan elemen matriks G yang bersesuaian.

Seperti pada Algoritma II-9.

Listing

<?php
for ($h=1; $h <= 17; $h++) {
for ($i=1; $i <= 17; $i++) {
$arr_DME[$i][$h] = $arr_MDccd[$i][$h] * $arr_MDdcd[$i][$h];
$arr_DME[18][$h]= @$arr_DME[18][$h] + $arr_DME[$i][$h];
}
}

for ($h=1; $h <=17 ; $h++) {


$arr_DME[$h][$h]='-';
}
?>

Menghasilkan
7. Tahap 7. Eliminasi alternatif yang less favourable

Matriks E memberikan urutan pilihan dari setiap alternatif, yaitu

bila ekl = 1 maka alternative Ak merupakan alternatif yang lebih baik

daripada A1. Sehingga, baris dalam matriks E yang memiliki jumlah ekl=1

paling sedikit dapat dieliminasi. Dengan demikian, alternative terbaik

adalah alternatif yang mendominasi alternatif lainnya.

Seperti pada Algoritma II-10.

Listing

<?php
$i=1; foreach ($rekomtakaran as $row) {
$data_poin_electre = array(
'id_analisa' => $ujitanah_DSC->id,
'kd_formula' => $row->kd_formula,
'poin' => $arr_DME[18][$i],
);
$insert = $this->Rekomedasi_model-
>add_poin_electre($data_poin_electre);
$i++;}
?>
<?php
$poin=$this->Rekomedasi_model
>get_poin_topsis($ujitanah_DSC->id);
$i=1; foreach ($poin as $row) {
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row->formula; ?></td>
<td><?php echo $row->poin; ?></td>
<td><?php echo $i; ?></td>
</tr>
<?php $i++; }

Menghasilkan

Anda mungkin juga menyukai