Advertisement
Firdaus_Shinoda

Untitled

Jun 16th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.36 KB | None | 0 0
  1. public function postCari()
  2.     {
  3.         $uMin = array('1','18','40');
  4.         $uMax = array('18','40','80');
  5.         $mMin = array('1','3');
  6.         $mMax = array('3','6');
  7.  
  8.         $gMin = array('100000','500000','1500000');
  9.         $gMax = array('500000','1500000','2000000');
  10.  
  11.         $umur = $this->input->post('umur');
  12.         if ($umur == "Usia Muda") {
  13.             $QW1_0 = "0";
  14.         } elseif ($umur == "Usia Parobaya") {
  15.             $QW1_0 = "1";
  16.         } elseif ($umur == "Usia Tua") {
  17.             $QW1_0 = "2";
  18.         }
  19.  
  20.         $gaji =$this->input->post('gaji');
  21.         if ($gaji == "Gaji Rendah") {
  22.             $QW1_2 = "0";
  23.         } elseif ($gaji == "Gaji Sedang") {
  24.             $QW1_2 = "1";
  25.         } elseif ($gaji == "Gaji Tinggi") {
  26.             $QW1_2 = "2";
  27.         }
  28.         $ketentuan = $this->input->post('ketentuan');
  29.         if ($ketentuan == "Dan") {
  30.             $QW1_1 = "0";
  31.         } else {
  32.             $QW1_1 = "1";
  33.         }
  34.  
  35.         $QW1 = array($QW1_0,$QW1_1,$QW1_2);//array(1,0,0);
  36.  
  37.         $this->get_data_karyawan();
  38.         $uK = array(); $mK = array(); $gK = array();
  39.         $uFinal = array();
  40.         $gFinal = array();
  41.         $nFinal = array();
  42.  
  43.         for ($i = 0; $i <= COUNT($this->DT) -1; $i++) {
  44.             array_push($nFinal,array('nama'=>$this->DT[$i][1]));
  45.             $uK[$i] = array(); $mK[$i] = array(); $gK[$i] = array();
  46.  
  47.             $uTengah = ($uMin[2]-$uMax[0])/2+$uMax[0];
  48.             // HITUNG KEANGGOTAAN USIA MUDA
  49.             if ($this->DT[$i][2] <= $uMax[0]) {
  50.                 //bernilai 1 jika x <= max usia muda
  51.                 $uK[$i][0] = 1;
  52.             } else if ($this->DT[$i][2] >= $uMin[0] && $this->DT[$i][2] <= $uTengah) {
  53.                 //bernilai hitung jika x >= max usia muda dan x <= usia tengah
  54.                 $uK[$i][0] = ($uTengah - $this->DT[$i][2])/($uTengah -  $uMax[0]);
  55.             } else if ($this->DT[$i][2] >= $uTengah) {
  56.                 //bernilai 0 jika x => max usia muda
  57.                 $uK[$i][0] = 0;
  58.             }
  59.  
  60.             // HITUNG KEANGGOTAAN USIA PAROBAYA
  61.             //$nil = 45;
  62.             if ($this->DT[$i][2] <= $uMax[0] || $this->DT[$i][2] >= $uMin[2]) {
  63.                 //bernilai 0 jika x <= max usia muda atau x => minimal usia tua
  64.                 $uK[$i][1] = 0;
  65.             } else if ($this->DT[$i][2] >= $uMax[0] && $this->DT[$i][2] <= $uTengah) {
  66.                 //bernilai hitung jika x => max usia muda dan x <= minimal usia tengah
  67.                 $uK[$i][1] = ($this->DT[$i][2] - $uMax[0])/($uTengah - $uMax[0]);
  68.             } else if ($this->DT[$i][2] >= $uTengah && $this->DT[$i][2] <= $uMin[2]) {
  69.                 //bernilai hitung jika x => usia tenagh dan x <= minimal usia tua
  70.                 $uK[$i][1] = ($uMin[2] - $this->DT[$i][2]) / ($uMin[2] - $uTengah);
  71.             } elseif ($this->DT[$i][2] == $uTengah) {
  72.                 //bernilai 1 jika x == usia tengah
  73.                 $uK[$i][1] = 1;
  74.             }
  75.  
  76.             // HITUNG KEANGGOTAAN USIA TUA
  77.             if ($this->DT[$i][2] <= $uMin[2]) {
  78.                 //bernilai 0 jika x <= usia tengah
  79.                 $uK[$i][2] = 0;
  80.             } else if ($this->DT[$i][2] >= $uTengah && $this->DT[$i][2] <= $uMin[2]) {
  81.                 //bernilai hitung jika  => usia tengah dan x <= min usia tengah
  82.                 $uK[$i][2] = ($this->DT[$i][2] - $uMin[2])/($uMax[2] - $uMin[2]);
  83.             } else if ($this->DT[$i][2] >= $uMin[2]) {
  84.                 //bernilai 1 jika x bernilai lebih dari min usia tua
  85.                 $uK[$i][2] = 1;
  86.             }
  87.  
  88.             //hasil usia final
  89.             array_push($uFinal, array('usia_muda'=>$uK[$i][0],'usia_parobaya'=>$uK[$i][1],'usia_tua'=>$uK[$i][2]));
  90.  
  91.             // HITUNG KEANGGOTAAN MASA KERJA BARU
  92.             if ($this->DT[$i][3] <= $mMin[0]) {
  93.                 $mK[$i][0] = 1;
  94.             } else if ($this->DT[$i][3] >= $mMin[0] && $this->DT[$i][3] <= $mMax[0]) {
  95.                 $mK[$i][0] = ($mMax[0] - $this->DT[$i][3])/($mMax[0] - $mMin[0]);
  96.             } else if ($this->DT[$i][3] >= $mMax[0]) {
  97.                 $mK[$i][0] = 0;
  98.             }
  99.  
  100.             // HITUNG KEANGGOTAAN MASA KERJA LAMA
  101.             if ($this->DT[$i][3] <= $mMin[1]) {
  102.                 $mK[$i][1] = 0;
  103.             } else if ($this->DT[$i][3] >= $mMin[1] && $this->DT[$i][3] <= $mMax[1]) {
  104.                 $mK[$i][1] = ($this->DT[$i][3] - $mMin[1])/($mMax[1] - $mMin[1]);
  105.             } else if ($this->DT[$i][3] >= $mMax[1]) {
  106.                 $mK[$i][1] = 1;
  107.             }
  108.  
  109.             // HITUNG KEANGGOTAAN GAJI RENDAH
  110.             $gTengah = ($gMin[2]-$gMax[0])/2+$gMax[0];
  111.             if ($this->DT[$i][4] <= $gMax[0]) {
  112.                 $gK[$i][0] = 1;
  113.             } else if ($this->DT[$i][4] >= $gMax[0] && $this->DT[$i][4] <= $gTengah) {
  114.                 $gK[$i][0] = ($gTengah - $this->DT[$i][4])/($gTengah - $gMax[0]);
  115.             } else if ($this->DT[$i][4] >= $gTengah) {
  116.                 $gK[$i][0] = 0;
  117.             }
  118.  
  119.  
  120.             //$nil = $uMin[1] + round(($uMax[1] - $uMin[1])/ 2);
  121.             $nil1 = 1000000;
  122.  
  123.             // HITUNG KEANGGOTAAN GAJI SEDANG
  124.             if ($this->DT[$i][4] <= $gMax[0] || $this->DT[$i][4] >= $gMin[2]) {
  125.                 $gK[$i][1] = 0;
  126.             } else if ($this->DT[$i][4] >= $gMax[0] && $this->DT[$i][4] <= $gTengah) {
  127.                 $gK[$i][1] = ($this->DT[$i][4] - $gMax[0])/($gTengah - $gMax[0]);
  128.             } else if ($this->DT[$i][4] >= $gTengah && $this->DT[$i][4] <= $gMin[2]) {
  129.                 $gK[$i][1] = ($gMin[2] - $this->DT[$i][4]) / ($gMin[2] - $gTengah);
  130.             } elseif ($this->DT[$i][4] == $gTengah) {
  131.                 $gK[$i][1] = 1;
  132.             }
  133.  
  134.             // HITUNG KEANGGOTAAN GAJI TINGGI
  135.             if ($this->DT[$i][4] <= $gTengah) {
  136.                 $gK[$i][2] = 0;
  137.             } else if ($this->DT[$i][4] >= $gTengah && $this->DT[$i][4] <= $gMin[2]) {
  138.                 $gK[$i][2] = ($this->DT[$i][4] - $gTengah)/($gMin[2] - $gTengah);
  139.             } else if ($this->DT[$i][4] >= $gMin[2]) {
  140.                 $gK[$i][2] = 1;
  141.             }
  142.             array_push($gFinal, array('gaji_rendah'=>$gK[$i][0],'gaji_sedang'=>$gK[$i][1],'gaji_tinggi'=>$gK[$i][2]));
  143.  
  144.         }
  145.         //array_push($uFinal,array('uMuda'=>$usia_muda));
  146.  
  147.         $hQW1 = array(); $j = 0;
  148.         $nils = 0;
  149.         $hQW2 = array(); $l = 0;
  150.         $hQW3 = array(); $b = 0;
  151.         $hQw4 = array(); $o = 0;
  152.         for ($i = 0; $i <= COUNT($this->DT) - 1; $i++) {
  153.             // HITUNG QUERY PERTAMA
  154.             if ($QW1[1] == 1) {
  155.                 if ($uK[$i][$QW1[0]] <= $gK[$i][$QW1[2]]) { $nils = $gK[$i][$QW1[2]];
  156.                 } else {
  157.                     $nils = $uK[$i][$QW1[0]];
  158.                 }
  159.             } else {
  160.                 if ($uK[$i][$QW1[0]] >= $gK[$i][$QW1[2]]) {
  161.                     $nils = $gK[$i][$QW1[2]];
  162.                 } else {
  163.                     $nils = $uK[$i][$QW1[0]];
  164.                 }
  165.             }
  166.             if ($nils > 0) {
  167.                 $hQW1[$j] = $this->DT[$i][1]; $j++;
  168.             }
  169.         }
  170.  
  171.         if (COUNT($hQW1) != 0) {
  172.             for ($i = 0; $i <= COUNT($hQW1) - 1; $i++) {
  173.                 if ($i == 0 && COUNT($hQW1) >= 2) {
  174.                     $nQW1 = $hQW1[$i];
  175.                 } else if (COUNT($hQW1) >= 2 && $i != 0) {
  176.                     $nQW1 .= ", ".$hQW1[$i];
  177.                 } else {
  178.                     $nQW1 = $hQW1[$i];
  179.                 }
  180.             }
  181.         } else {
  182.             $nQW1 = "Tidak ada data";
  183.         }
  184.         $nmFinal = array();
  185.         array_push($nmFinal, array('Nama'=>$nQW1));
  186.        
  187.         $response = array("status"=>"1","result"=>$nmFinal,"usia"=>$uFinal,"gaji"=>$gFinal,"nama"=>$nFinal);
  188.  
  189.     $this->output
  190.       ->set_status_header(200)
  191.       ->set_content_type('application/json', 'utf-8')
  192.       ->set_output(json_encode($response, JSON_PRETTY_PRINT))
  193.       ->_display();
  194.       exit;
  195.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement