Decision Support System Series

Multi Factor Evaluation Process (MFEP)

Contoh implementasi DSS (Decision Support System) dengan Metode Multi Factor Evaluation Process (MFEP) menggunakan PHP dan MySQL untuk penentuan jabatan manager

MFEP adalah metode kuantitatif yang menggunakan weighting system. Dalam pengambilan keputusan multi faktor, pengambil keputusan secara subyektif dan intuitif menimbang berbagai faktor yang mempunyai pengaruh penting terhadap alternatif pilihan mereka

author : cahya dsn, published on : April 20th, 2018 updated on : October 13th, 2020

minerva minerva donasi donation

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

Pertimbangan tersebut berupa pemberian bobot atas multifaktor yang terlibat dan dianggap penting. Tahapan dalam metode MFEP ini menentukan faktor-faktor tersebut sehingga memperoleh urutan faktor berdasarkan kepentigannya.

Menurut Render B and Stair (2002), Multi Factor Evaluation Process MFEP adalah metode kuantitatif yang menggunakan weighting system. Dalam pengambilan keputusan multifaktor, pengambil keputusan secara subjektif dan intuitif menimbang berbagai faktor yang mempunyai pengaruh penting terhadap alternatif pilihan mereka. Agar keputusan berpengaruh secara strategis, lebih dianjurkan menggunakan sebuah pendekatan kuantitatif seperti MFEP.

Dalam MFEP pertama-tama seluruh kriteria yang menjadi faktor penting dalam melakukan pertimbangan diberikan pembobotan (weighting) yang sesuai. Langkah yang sama juga dilakukan terhadap alternatif-alternatif yang akan dipilih, yang kemu dian dapat dievaluasi berkaitan dengan faktor-faktor pertimbangan tersebut.

Metode MFEP menentukan bahwa alternatif dengan nilai tertinggi adalah solusi terbaik berdasarkan kriteria yang telah dipilih (Khaidir 2014)

Pre-requisites

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

1.1. Tahapan Metode MFEP

Langkah-langkah dalam proses perhitungan dengan Metode MFEP adalah:

  1. Menentukan faktor / kriteria dan bobot faktor / kriteria dimana total pembobotan harus sama dengan 1 atau 100 ($\sum$ pembobotan = 1), yaitu factor weight.
  2. Mengisikan nilai untuk setiap faktor (kriteria) yang mempengaruhi dalam pengambilan keputusan dari data-data yang akan diproses, nilai yang dimasukkan dalam proses pengambilan keputusan merupakan nilai objektif, yaitu sudah pasti yaitu factor evaluation yang nilainya antara 0 - 1 ( 0-100 ).
  3. Proses perhitungan weight evaluation yang merupakan proses perhitungan bobot antara factor weight dan factor evaluation dengan serta penjumlahan seluruh hasil weight evaluations untuk memperoleh total hasil evaluasi.

    Nilai weight evaluation (yij) dari suatu alternatif ke-i pada kriteria/faktor ke-j merupakan hasil perkalian dari factor weight (wj) dengan factor evaluation (rij) yang dirumuskan sebagai berikut:

    $y_{ij}=w_{j}\times r_{ij}$
    .. [MFE-01]

    Nilai total evaluasi atau Nilai preferensi (Vi) dari alternatif ke-i merupakan penjumlahan dari seluruh weight evaluations (yij) yang dinyatakan dalam persamaan sebagai berikut:

    $V_{i}=\sum_{j=1}^{n}w_{j}\times r_{ij}=\sum_{j=1}^{n}y_{ij}$
    .. [MFE-02]
    Keterangan :
    • yij : weight evaluation alternatif ke-i pada kriteria ke-j
    • wj : weight factor kriteria ke-j
    • rij : factor evaluation alternatif ke-i pada kriteria ke-j
    • Vi : Nilai total evaluasi/preferensi dari alternatif ke-i
    • n : jumlah kriteria
  4. Proses perangkingan dari Nilai Total Evaluasi/Preferensi yang diperoleh, dimana nilai yang tertinggi adalah yang terbaik sesuai kriteria/faktor yang ditentukan

1.2. Kelebihan dan Kekurangan

Metode MFEP memiliki beberapa kelebihan dan kekurangan yaitu sebagai berikut

1.2.1. Kelebihan

Kelebihan dari metode MFEP adalah

  • Konsepnya sederhana dan mudah dipahami, kesederhanaan ini dilihat dari alur proses metode MFEP yang tidak rumit
  • Urutan faktor dapat ditentukan secara subjektif sesuai kepentingannya
  • Komputasinya efisien, perhitungan komputasinya lebih efisien dan dan cepat
  • Mampu dijadikan sebagai pengukur kinerja alternatif dan juga alternatif keputusan dalam sebuah bentuk output komputasi yang sederhana
  • Dapat digunakan sebagai metode pengambilan keputusan yang lebih cepat

1.2.2. Kekurangan

Metode MFEP mempunyai beberapa kekurangan, diantaranya adalah

  • Pada metode MFEP penentuan nilai bobot faktor sangat bergantung pada pengambil keputusan
  • Kurang cocok untuk perhitungan yang memerlukan inputan data berupa data ordinal karena data yang diperhitungkan sudah dikuantisasi menjadi data kardinal dalam bentuk nilai factor evaluation

2.1. Kriteria dan Bobot

Pada kasus pemilihan laptop ini telah ditentukan 5 buah kriteria yang diperhitungkan, yaitu Kedisiplinan, Keaktifan, Total Penjualan, Jumlah Anggota, dan Kegigihan dengan rincian bobot penilaian seperti pada TABEL 1 berikut :

TABEL 1 : Kriteria dan Bobot
KodeNamaBobot
C1Kedisiplinan0.2
C2Keaktifan0.15
C3Total Penjualan0.3
C4Jumlah Anggota0.25
C5Kegigihan0.15

2.2. Contoh Data Factor Evaluation (R)

Data-data yang akan diperhitungakan dengan metoda MFEP ini adalah seperti yang tercantum dalam TABEL 2 berikut ini

TABEL 2 : Contoh Data
Alternatif Kriteria
Kode Nama C1C2C3C4C5
A1Bella44445
A2Carlie43323
A3Dewi43553
A4Enrico35335
A5Reza34445
A6Nina23423
A7Hilmi45533
A8Mirza45523
A9James25323

Keterangan

  • C1 : Kedisiplinan
  • C2 : Keaktifan
  • C3 : Total Penjualan
  • C4 : Jumlah Anggota
  • C5 : Kegigihan

Data pada TABEL 2 dapat dituliskan dalam bentuk matrik sebagai berikut:

$R=\left[ \begin{array}{ccccc}\\ 4 & 4 & 4 & 4 & 5 \\4 & 3 & 3 & 2 & 3 \\4 & 3 & 5 & 5 & 3 \\3 & 5 & 3 & 3 & 5 \\3 & 4 & 4 & 4 & 5 \\2 & 3 & 4 & 2 & 3 \\4 & 5 & 5 & 3 & 3 \\4 & 5 & 5 & 2 & 3 \\2 & 5 & 3 & 2 & 3\end{array} \right]$

2.3. Perhitungan Weight Evaluation (Y)

Perhitungan Weight Evaluation Y sesuai dengan persamaan MEP-01, yaitu dengan mengalikan masing-masing suku pada Data Factor Evaluation R dengan bobot kriterianya masing-masing

Sebagai contoh untuk data Factor Evaluation R5,3 dapat diperoleh nilai Weight Evaluation Y5,3 -nya dengan perhitungan sebagai berikut:

$\begin{align}Y_{5,3}&=R_{5,3}\times W_{3}\\ &=4 \times 0.3 \\ &=1.2\end{align}$

Dengan perhitungan yang sama untuk semua alternatif dan kriteria, sehingga diperoleh matrik Weight Evaluation (Y) sebagai berikut:

$Y=\left[ \begin{array}{ccccc}\\ 0.8 & 0.6 & 1.2 & 1 & 0.75 \\0.8 & 0.45 & 0.9 & 0.5 & 0.45 \\0.8 & 0.45 & 1.5 & 1.25 & 0.45 \\0.6 & 0.75 & 0.9 & 0.75 & 0.75 \\0.6 & 0.6 & 1.2 & 1 & 0.75 \\0.4 & 0.45 & 1.2 & 0.5 & 0.45 \\0.8 & 0.75 & 1.5 & 0.75 & 0.45 \\0.8 & 0.75 & 1.5 & 0.5 & 0.45 \\0.4 & 0.75 & 0.9 & 0.5 & 0.45\end{array} \right]$

Data matrik Weight Evaluation (Y) tersebut dapat direpresentasikan dalam bentuk tabel sebagai berikut:

TABEL 3 : Nilai Weight Evaluation (Y)
Alternatif Kriteria
Kode Nama C1C2C3C4C5
A1Bella0.80.61.210.75
A2Carlie0.80.450.90.50.45
A3Dewi0.80.451.51.250.45
A4Enrico0.60.750.90.750.75
A5Reza0.60.61.210.75
A6Nina0.40.451.20.50.45
A7Hilmi0.80.751.50.750.45
A8Mirza0.80.751.50.50.45
A9James0.40.750.90.50.45

2.4. Perhitungan Total Evaluation (V)

Mengacu pada persamaan MEP-02 dapat dihitung nilai Total Evaluation atau nilai Preferensi V dari data Weight Evaluation Y yang diperoleh pada perhitungan sebelumnya.

Semisal untuk alternatif ke-5 (Reza), dapat dihitung nilai Total Evaluation ($V_{5}$) - nya sebagai berikut:

$\begin{align} V_{5}&=\sum_{j=1}^{5}y_{5,j}\\ &=y_{1}+y_{2}+y_{3}+y_{4}+y_{5} \\ &=0.6+0.6+1.2+1+0.75 \\ &=4.15\end{align}$

Dengan cara yang sama untuk alternatif-alternatif yang lain diperoleh nilai Total Evaluation (V) seperti dalam TABEL 4 berikut ini:

TABEL 4 : Nilai Total Evaluation (V)
No Alternatif Total Evaluation (V)
Kode Nama
1A1Bella4.35
2A2Carlie3.1
3A3Dewi4.45
4A4Enrico3.75
5A5Reza4.15
6A6Nina3
7A7Hilmi4.25
8A8Mirza4
9A9James3

2.5. Perangkingan

Dari nilai Total Evaluation (V) yang diperoleh pada bagian sebelumnya; kemudian dilakukan perangkingan dengan mengurutkan data dari yang terbesar hingga yang terkecil. Alternatif dengan nilai Total Evaluation tertinggi adalah alternatif yang terpilih.

TABEL 5 : Hasil Perangkingan
No Alternatif Total Evaluation (V) Rangking
Kode Nama
1A3Dewi4.451
2A1Bella4.352
3A7Hilmi4.253
4A5Reza4.154
5A8Mirza45
6A4Enrico3.756
7A2Carlie3.17
8A6Nina38
9A9James39

Dari hasil perangkingan yang dilakukan maka alternatif yang terpilih adalah Dewi dengan nilai Total Evaluation (V) sebesar 4.45

Untuk melengkapi artikel ini, berikut ini akan diberikan gambaran implementasi Metode MFEP dengan menggunakan PHP untuk menyelesaikan masalah pengambilan keputusan pemilihan laptop seperti dalam contoh kasus yang ditunjukkan sebelumnya.

Uraian diberikan secara langkah per langkah agar memudahkan pemahaman dalam pembuatan aplikasinya. Dimulai dari rancangan schema database-nya hingga langkah-langkah implemantasi proses sesuai Metode MFEP yang sudah dijelaskan sebelumnya, dengan menggunakan data sesuai dengan contoh kasus yang diberikan.

3.1. Persiapan Database

Sebagai bahan pembelajaran Metode MFEP ini; dibuat database (dalam hal ini menggunakan MySQL/MariaDB Database server) sebagai berikut:

CREATE DATABASE IF NOT EXISTS db_dss;
USE db_dss;

Awalnya membuat dulu database dengan nama db_dss jika belum ada database dengan nama tersebut, kemudian gunakan database tersebut dengan memakai sintak USE db_dss;

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

3.1.1. Pembuatan Tabel Alternatif

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

-- menghapus tabel mfe_alternatives jika sudah ada
DROP TABLE IF EXISTS mfe_alternatives;
-- membuat tabel mfe_alternatives jika tidak ada
CREATE TABLE IF NOT EXISTS mfe_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 mfe_alternatives(id_alternative,name)
VALUES
(1,'Bella'),
(2,'Carlie'),
(3,'Dewi'),
(4,'Enrico'),
(5,'Reza'),
(6,'Nina'),
(7,'Hilmi'),
(8,'Mirza'),
(9,'James');

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

3.1.2. Pembuatan Tabel Kriteria dan Bobot

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

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

-- memasukkan data-data kriteria
INSERT INTO mfe_criterias(id_criteria,criteria,weight)
VALUES
(1,'Kedisiplinan',0.200),
(2,'Keaktifan',0.150),
(3,'Total Penjualan',0.300),
(4,'Jumlah Anggota',0.250),
(5,'Kegigihan',0.150);

3.1.3. Pembuatan Tabel Evaluasi

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

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

3.2.1. Koneksi ke Database

Sebelum melakukan operasi dengan data dari database, perlu dibuat script untuk koneksi ke database terlebih dahulu. Dari database yang sudah dibuat, kita bisa membuat script php untuk membuat koneksi ke database server dengan extension mysqli sebagai berikut:

<?php
//-- konfigurasi database
$dbhost 'localhost';
$dbuser 'root';
$dbpass '';
$dbname 'db_dss';
//-- koneksi ke database server dengan extension mysqli
$db = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
//-- hentikan program dan tampilkan pesan kesalahan jika koneksi gagal
if ($db->connect_error) {
    die(
'Connect Error ('.$db->connect_errno.')'.$db->connect_error);
}
?>

Sesuaikan nilai-nilai $dbhost,$dbuser,$dbpass dan $dbname dengan konfigurasi database yg digunakan.

3.2.1 Mengambil Data Alternatif

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

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

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

3.2.2 Mengambil Data Kriteria dan Bobot

Data kriteria dan bobot diambil dari tabel mfe_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 mfe_criterias';
$data=$db->query($sql);
while(
$row $data->fetch_object()){
    
$kriteria[$row->id_criteria]=$row->name;
    
$w[$row->id_kriteria]=$row->weight;
}
?>

Data kriteria berupa nama kriteria dimasukkan ke dalam variabel $kriteria, Sebagai contoh untuk $kriteria[2] berisi data nama dari kriteria ke-2 yaitu 'Keaktifan'

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

Source code selengkapnya bisa dilihat di tautan ini source source