Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(0);
- ?>
- <?php
- //-- konfigurasi database
- $dbhost = 'localhost';
- $dbuser = 'root';
- $dbpass = '';
- $dbname = 'db_moora';
- //-- 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);
- }
- ?>
- <?php
- //-- query untuk mendapatkan semua data kriteria di tabel moo_kriteria
- $sql = 'SELECT * FROM tbl_kriteria';
- $result = $db->query($sql);
- //-- menyiapkan variable penampung berupa array
- $kriteria=array();
- //-- melakukan iterasi pengisian array untuk tiap record data yang didapat
- foreach ($result as $row) {
- $kriteria[$row['id_kriteria']]=array($row['kriteria'],$row['tipe'],$row['bobot']);
- }
- ?>
- <?php
- //-- query untuk mendapatkan semua data kriteria di tabel moo_alternatif
- $sql = 'SELECT * FROM tbl_alternatif';
- $result = $db->query($sql);
- //-- menyiapkan variable penampung berupa array
- $alternatif=array();
- //-- melakukan iterasi pengisian array untuk tiap record data yang didapat
- foreach ($result as $row) {
- $alternatif[$row['id']]=array($row['alternatif'],
- $row['alamat'],
- $row['bagian']);
- }
- ?>
- <?php
- //-- query untuk mendapatkan semua data sample penilaian di tabel moo_nilai
- $sql = 'SELECT * FROM tbl_nilai ORDER BY id,id_kriteria';
- $result = $db->query($sql);
- //-- menyiapkan variable penampung berupa array
- $sample=array();
- //-- melakukan iterasi pengisian array untuk tiap record data yang didapat
- foreach ($result as $row) {
- //-- jika array $sample[$row['id_alternatif']] belum ada maka buat baru
- //-- $row['id_alternatif'] adalah id kandidat/alternatif
- if (!isset($sample[$row['id']])) {
- $sample[$row['id']] = array();
- }
- $sample[$row['id']][$row['id_kriteria']] = $row['nilai'];
- }
- ?>
- <?php
- //-- inisialisasi nilai normalisasi dengan nilai dari $sample
- $normal=$sample;
- foreach($kriteria as $id_kriteria=>$k){
- //-- inisialisasi nilai pembagi tiap kriteria
- $pembagi=0;
- foreach($alternatif as $id_alternatif=>$a){
- $pembagi+=pow($sample['id']['id_kriteria'],2);
- }
- foreach($alternatif as $id_alternatif=>$a){
- $normal['id']['id_kriteria']/=sqrt($pembagi);
- }
- }
- ?>
- <?php
- //-- menyiapkan variabel untuk menyimpan data yang sudah dioptimasi
- $optimasi=array();
- foreach($alternatif as $id=>$a){
- $optimasi[$id]=0;
- foreach($kriteria as $id_kriteria=>$k){
- $optimasi[$id]+=$normal[$id][$id_kriteria]*($k[1]=='benefit'?1:-1)*$k[2];
- }
- }
- ?>
- <?php
- //--mengurutkan data secara descending dengan tetap mempertahankan key/index array-nya
- arsort($optimasi);
- //-- mendapatkan key/index item array yang pertama
- $index=key($optimasi);
- //-- menampilkan hasil akhir:
- // echo "Karyawan terbaik adalah alternatif <b>{$alternatif[$index][0]}</b> ";
- // echo "dengan nilai optimasi <b>{$optimasi[$index]}</b> ";
- foreach($alternatif as $key => $rangking) {
- $data[] = [
- 'nama' => $rangking[0],
- 'kota' => $rangking[1],
- 'jabatan' => $rangking[2],
- 'optimasi' => $optimasi[$key],
- ];
- }
- $optimasi = array_column($data, 'optimasi');
- $rangking_karyawan = array_multisort($optimasi, SORT_DESC, $data);
- // echo "<pre>";
- // print_r($data);
- // echo "<pre>";die();
- ?>
- <html>
- <head><title></title>
- <link rel="stylesheet" type="text/css" href="style.css">
- </head>
- <body>
- <center>
- <div class="judul">
- <img src ='HDS_logo.png' align='left' width='150' height='150'>
- <h1>Hotel Dafam Semarang</h1>
- <h2>Jl. Imam Bonjol No.188 Semarang - Jawa Tengah</h2>
- <h3>Telepon: (024) 3554111</h3>
- </div>
- <br/>
- <h3>Perangkingan</h3>
- <table border="1" class="table">
- <tr>
- <th>No</th>
- <th>Nama</th>
- <th>Kota</th>
- <th>Jabatan</th>
- <th>Optimasi</th>
- </tr>
- <?php foreach($data as $key => $datas)
- {?>
- <tr>
- <td><?= $key+1 ?></td>
- <td><?= $datas['nama']?></td>
- <td><?= $datas['kota']?></td>
- <td><?= $datas['jabatan']?></td>
- <td><?= $datas['optimasi']?></td>
- </tr>
- <?php }?>
- </table>
- <p>Karyawan terbaik adalah <b><?php echo $data[0]['nama']?></b></p>
- <p>dengan nilai optimasi <b><?php echo $data[0]['optimasi']?></p>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement