-
Notifications
You must be signed in to change notification settings - Fork 0
/
proses.php
104 lines (84 loc) · 2.29 KB
/
proses.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
include('config.php');
include('fungsi.php');
if (isset($_POST['submit'])) {
$jenis = $_POST['jenis'];
// jumlah kriteria
if ($jenis == 'kriteria') {
$n = getJumlahKriteria();
} else {
$n = getJumlahAlternatif();
}
// memetakan nilai ke dalam bentuk matrik
// x = baris
// y = kolom
$matrik = array();
$urut = 0;
for ($x=0; $x <= ($n-2) ; $x++) {
for ($y=($x+1); $y <= ($n-1) ; $y++) {
$urut++;
$pilih = "pilih".$urut;
$bobot = "bobot".$urut;
if ($_POST[$pilih] == 1) {
$matrik[$x][$y] = $_POST[$bobot];
$matrik[$y][$x] = 1 / $_POST[$bobot];
} else {
$matrik[$x][$y] = 1 / $_POST[$bobot];
$matrik[$y][$x] = $_POST[$bobot];
}
if ($jenis == 'kriteria') {
inputDataPerbandinganKriteria($x,$y,$matrik[$x][$y]);
} else {
inputDataPerbandinganAlternatif($x,$y,($jenis-1),$matrik[$x][$y]);
}
}
}
// diagonal --> bernilai 1
for ($i = 0; $i <= ($n-1); $i++) {
$matrik[$i][$i] = 1;
}
// inisialisasi jumlah tiap kolom dan baris kriteria
$jmlmpb = array();
$jmlmnk = array();
for ($i=0; $i <= ($n-1); $i++) {
$jmlmpb[$i] = 0;
$jmlmnk[$i] = 0;
}
// menghitung jumlah pada kolom kriteria tabel perbandingan berpasangan
for ($x=0; $x <= ($n-1) ; $x++) {
for ($y=0; $y <= ($n-1) ; $y++) {
$value = $matrik[$x][$y];
$jmlmpb[$y] += $value;
}
}
// menghitung jumlah pada baris kriteria tabel nilai kriteria
// matrikb merupakan matrik yang telah dinormalisasi
for ($x=0; $x <= ($n-1) ; $x++) {
for ($y=0; $y <= ($n-1) ; $y++) {
$matrikb[$x][$y] = $matrik[$x][$y] / $jmlmpb[$y];
$value = $matrikb[$x][$y];
$jmlmnk[$x] += $value;
}
// nilai priority vektor
$pv[$x] = $jmlmnk[$x] / $n;
// memasukkan nilai priority vektor ke dalam tabel pv_kriteria dan pv_alternatif
if ($jenis == 'kriteria') {
$id_kriteria = getKriteriaID($x);
inputKriteriaPV($id_kriteria,$pv[$x]);
} else {
$id_kriteria = getKriteriaID($jenis-1);
$id_alternatif = getAlternatifID($x);
inputAlternatifPV($id_alternatif,$id_kriteria,$pv[$x]);
}
}
// cek konsistensi
$eigenvektor = getEigenVector($jmlmpb,$jmlmnk,$n);
$consIndex = getConsIndex($jmlmpb,$jmlmnk,$n);
$consRatio = getConsRatio($jmlmpb,$jmlmnk,$n);
if ($jenis == 'kriteria') {
include('output.php');
} else {
include('bobot_hasil.php');
}
}
?>