eremaka

proses.php

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