Sistem Pendukung Keputusan Menggunakan Metode SAW Berbasis Web

Setelah beberapa minggu belum ada tulisan, kali ini saya akan membagikan tulisan saya mengenai sistem pendukung keputusan. Jika tulisan ini bermanfaat berarti banyak pembacanya dan menjadi motivasi saya untuk terus menulis di blog ini.

Kali ini saya akan membahas mengenai sistem pendukung keputusan untuk memilih kepala bagian sistem informasi pada suatu perusahaan.

keriteria yang digunakan adalah sebagai berikut:

  1. C1 = Test pengetahuan (wawasan) sistem informasi
  2. C2 = Praktek instalasi jaringan
  3. C3 = Test kepribadian
  4. C4 = Test pengetahuan agama

Selanjutnya kita akan merancang sistem pendukung keputusannya. Rangcangan ini adalah rancangan saya pribadi yang dikembangkan dari artikel di atas.
Pada sistem yang di buat pertama adalah login, kemudian input data alternatif, kemudian input bobot, proses SAW dan tampilkan hasil dan terakhir adalah logout yang semua di kerjakan oleh admin.

Baik setelah desain proses nya kira-kira sudah cukup maka kita coba untuk desain database.

Nama database : db_spk

Tabel Admin


Tabel Alternatif


Tabel Bobot


Tabel Nilai


Untuk memudahkan membuat database di atas saya akan bagikan SQL nya.

/*
MySQL Data Transfer
Source Host: localhost
Source Database: db_spk
Target Host: localhost
Target Database: db_spk
Date: 09/03/2020 11.45.06
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for tbl_admin
-- ----------------------------
CREATE TABLE `tbl_admin` (
  `id_admin` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(30) NOT NULL,
  `username` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  PRIMARY KEY (`id_admin`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Table structure for tbl_alternatif
-- ----------------------------
CREATE TABLE `tbl_alternatif` (
  `id_alternatif` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(30) NOT NULL,
  `alamat` varchar(60) NOT NULL,
  `no_telp` varchar(14) NOT NULL,
  PRIMARY KEY (`id_alternatif`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Table structure for tbl_bobot
-- ----------------------------
CREATE TABLE `tbl_bobot` (
  `id_bobot` int(11) NOT NULL AUTO_INCREMENT,
  `w1` double NOT NULL,
  `w2` double NOT NULL,
  `w3` double NOT NULL,
  `w4` double NOT NULL,
  PRIMARY KEY (`id_bobot`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Table structure for tbl_nilai
-- ----------------------------
CREATE TABLE `tbl_nilai` (
  `id_nilai` int(11) NOT NULL AUTO_INCREMENT,
  `id_alternatif` int(11) NOT NULL,
  `c1` int(11) NOT NULL,
  `c2` int(11) NOT NULL,
  `c3` int(11) NOT NULL,
  `c4` int(11) NOT NULL,
  `skor` double DEFAULT NULL,
  PRIMARY KEY (`id_nilai`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `tbl_admin` VALUES ('1', 'Fadil', 'admin', 'admin');
INSERT INTO `tbl_alternatif` VALUES ('1', 'Mei', 'Medan', '123456789123');
INSERT INTO `tbl_bobot` VALUES ('1', '0.35', '0.25', '0.15', '0.25');
INSERT INTO `tbl_nilai` VALUES ('1', '1', '70', '50', '60', '80');


Oke kita sudah membuat database nya. sekarang kita akan membuat tampilan antarmuka untuk login.
sebelumnya buat folder dengan nama spk di dalam htdocs. Kita menggunakan bootstrap untuk desain web yang bisa di dapatkan di sini.

spk (folder)
     css (sub folder)
     js (sub folder)

     login.php (dalam folder spk)





nama file: login.php
Source code nya seperti ini.

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<style type="text/css">
.login{
min-height: 250px;
background-color: gold;
margin: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row d-flex justify-content-center">
<div class="col-5">
<div class="login border border-dark rounded">
<form action="aksi_login.php" method="POST">
<table style="margin: 10px; width: 90%" cellpadding="1" border="0">
<h3 align="center" style="margin: 10px">LOGIN</h3>

<tr>
<td>Username</td>
<td>:</td>
<td>
<div class="form-group">
<input class="form-control" type="text" name="username">
</div>
</td>
</tr>

<tr>
<td>Password</td>
<td>:</td>
<td><input class="form-control" type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<input class="btn btn-primary" type="submit" name="" value="LOGIN">
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript" src="js/bootstrap.js"></script>
</html>

Selanjutnya kita akan membuat aksi dari form login di atas.

spk (folder)
     css (sub folder)
     js (sub folder)

     login.php (dalam folder spk)
     aksi_login.php (dalam folder spk)

nama file aksi_login.php
kodenya seperti ini:

<?php
include "koneksi.php";
$username=$_POST['username'];
$password=$_POST['password'];
$hasil=mysqli_query($koneksi,"select * from tbl_admin where username = '$username' and password = '$password'");
$row=mysqli_fetch_array($hasil);
if ($row['id_admin']<>"") {
session_start();
$_SESSION['id_admin']=$row['id_admin'];
$_SESSION['nama']=$row['nama'];
header("location:index.php");
}else{
header("location:login.php?pesan=gagal_login");
}
?>

kode di atas menggunakan file koneksi.php yang belum kita buat. File koneksi.php ini fungsinya untuk koneksi ke database.

nama file koneksi.php
berikut kodenya:


<?php
$koneksi=mysqli_connect("localhost","root","","db_spk");
mysqli_select_db($koneksi,"db_spk") or die("Gagal Terhubung ke database!");
?>

sekarang kita sudah dapat melakukan login:
username :admin
password:admin

jika login berhasil maka url akan beruka menjadi http://localhost/index.php. Tampilannya NOT FOUND

Selanjutnya kita buat file index.php nya
nama file : index.php
berikut kodenya:

<?php
session_start();
if (!isset($_SESSION['id_admin'])) {
header("location:login.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Sistem Pendukung Keputusan</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<nav class="navbar navbar-expand-lg navbar-light" style="background-color: gold">
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarTogglerDemo01">
    <a class="navbar-brand" href="#" style="color: white; font-weight: bold">Z-SPK</a>
    <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
      <li class="nav-item active">
        <a class="nav-link" href="index.php?halaman=home" style="font-weight: bold">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="index.php?halaman=data" style="font-weight: bold">Data Alternatif</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="index.php?halaman=penilaian" style="font-weight: bold">Penilaian</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="index.php?halaman=rangking" style="font-weight: bold">Rangking</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="index.php?halaman=bobot" style="font-weight: bold">Bobot</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="logout.php" style="font-weight: bold">Logout</a>
      </li>
      <!--li class="nav-item">
        <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
      </li-->
    </ul>
    <form class="form-inline my-2 my-lg-0">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
  </div>
</nav>
</div>
</div>
<div class="row" style="margin-top:10px">
   <div class="col-2">
<div class="alert alert-success" style="min-height: 550px">
Selamat datang admin. Gunakan wewenang dengan baik!
</div>

   </div>
<?php
include "konten.php";
?>
</div>
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-center">
&copy;opyright Z-SPK 2020
</div>
</div>
</div>

</div>
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript">
$('.carousel').carousel({
  interval: 2000
})
</script>
</html>

Disini kita menambahkan jquery, buka link tersebut dan copy isi nya kemudian silahkan tambahkan file jquery.js di lamam folder js dan paste kan.

Di dalam file di atas kita ada menginclude file konten.php yang akan kita buat.

nama file konten.php
berikut kodenya:

<?php
if (isset($_GET['halaman'])) {
if ($_GET['halaman']=='home') {
include "home.php";
}else{
echo "Halaman tidak ditemukan!";
}
}else{
include "home.php";
}
?>

Di dalam file konten.php kita ada menginclude file home.php yang belum kita buat.

nama file: home.php
berikut kode nya:


<div class="col-10">
<div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="img/gambar1.jpg" class="d-block w-100" alt="..." style="height: 550px">
    </div>
    <div class="carousel-item">
      <img src="img/gambar2.jpg" class="d-block w-100" alt="..." style="height:550px">
    </div>
    <div class="carousel-item">
      <img src="img/gambar3.jpg" class="d-block w-100" alt="..." style="height: 550px">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleFade" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleFade" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
</div>

Sekarang kita telah menyelesaikan index.php
Login
Index


Selanjutnya kita akan menyelesaikan create, read, update, delete (CRUD) data alternatif. buat lah sebuah folder di dalam folder spk bernapa alternatif dan buat beberapa file seperi dibawah. Sampai disini projek yang kita punya seperti ini.

spk (folder)
     alternatif (sub folder)
  • aksi_edit_alternatif.php
  • aksi_hapus_alternatif.php
  • aksi_tambah_alternatif.php
  • alternatif.php
  • edit_alternatif.php
  • tambah_alternatif.php

     css (sub folder)
     img
  • gambar1.jpg (gambar bebas tambah jika belum ada)
  • gambar2.jpg (gambar bebas tambah jika belum ada)
  • gambar3.jpg (gambar bebas tambah jika belum ada)

     js (sub folder)

    aksi_login.php(dalam folder spk)
    home.php(dalam folder spk)
    index.php(dalam folder spk)
    koneksi.php(dalam folder spk)
    konten.php(dalam folder spk)
    login.php (dalam folder spk)

Untuk mempersingkat waktu, saya akan membagikan kode CRUD data alaternatif di atas.

nama file : aksi_edit_alternatif.php
berikut kodenya:


<?php
$id_alternatif=$_POST['id_alternatif'];
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$no_telp =$_POST['no_telp'];
include "../koneksi.php";
$sql="update tbl_alternatif set nama = '$nama',
 alamat='$alamat',
 no_telp='$no_telp' where id_alternatif='$id_alternatif'";
$hasil=mysqli_query($koneksi,$sql);
//echo "$sql";
if ($hasil) {
header("location:../index.php?halaman=data&pesan=edit_sukses");
}else
{
header("location:../index.php?halaman=data&pesan=edit_gagal");
}
?>

nama file: aksi_hapus_alternatif.php
berikut kodenya:


<?php
include "../koneksi.php";
$sql="delete from tbl_alternatif where id_alternatif='$_GET[id_alternatif]'";
mysqli_query($koneksi,$sql);
//echo "$sql";
header("location:../index.php?halaman=data");
?>

nama file: aksi_tambah_alternatif.php
berikut kodenya:


<?php
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$no_telp =$_POST['no_telp'];
include "../koneksi.php";
$sql="insert into tbl_alternatif (nama, alamat, no_telp) 
values ('$nama','$alamat','$no_telp')";
$hasil=mysqli_query($koneksi,$sql);
//echo "$sql";
if ($hasil) {
header("location:../index.php?halaman=data&pesan=tambah_sukses");
}else
{
header("location:../index.php?halaman=data&pesan=tambah_gagal");
}
?>

nama file: alternatif.php
berikut kodenya:


<?php
include "koneksi.php";
$slq="select * from tbl_alternatif";
$hasil=mysqli_query($koneksi,$slq);
?>
<div class="col-10">
<a href="index.php?halaman=tambah_data">
<input style="float: left;" type="button" class="btn btn-primary" value="Tambah" name="" style="margin-bottom:5px ">
</a>
<h3 style="float: left;"> &nbsp;Tabel Data Alternatif</h3>
<table class="table table-bordered">
<thead>
<tr style="font-weight: bold">
<td width="5%">No.</td>
<td width="30%">Nama</td>
<td width="35%">Alamat</td>
<td width="15%">No. Telp</td>
<td width="15%">Aksi</td>
</tr>
</thead>
<tbody>
<?php
$no=1;
while ($row=mysqli_fetch_array($hasil)) {
?>
<tr>
<td><?php echo $no++?></td>
<td><?php echo $row['nama']?></td>
<td><?php echo $row['alamat']?></td>
<td><?php echo $row['no_telp']?></td>
<td>
<a href="index.php?halaman=edit_data&id_alternatif=<?php echo $row['id_alternatif'] ?>">
<input type="button" value="Edit" class="btn btn-warning" name="">
</a>
<a onclick="return confirm('Kamu Yakin?')" href="alternatif/aksi_hapus_alternatif.php?id_alternatif=<?php echo $row['id_alternatif'] ?>">
<input type="button" value="Hapus" class="btn btn-danger" name="">
</a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>

nama file: edit_alternatif.php
berikut kodenya:

<?php
include "koneksi.php";
$sql="select * from tbl_alternatif where id_alternatif='$_GET[id_alternatif]'";
$hasil=mysqli_query($koneksi,$sql);
$row=mysqli_fetch_array($hasil);
?>
<div class="col-10">
<h3>Edit Alternatif</h3>
<form action="alternatif/aksi_edit_alternatif.php" method="POST">
  <div class="form-group row">
    <label for="staticEmail" class="col-sm-2 col-form-label">Nama</label>
    <div class="col-sm-10">
    <input type="hidden" name="id_alternatif" value="<?php echo $row['id_alternatif'] ?>">
      <input type="text"  class="form-control" name="nama" value="<?php echo $row['nama'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">Alamat</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="alamat" value="<?php echo $row['alamat'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">No. Telp</label>
    <div class="col-sm-10">
      <input type="number" class="form-control" name="no_telp" value="<?php echo $row['no_telp'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label"></label>
    <div class="col-sm-10">
      <input type="submit" class="btn btn-success" value="Simpan">
    </div>
  </div>
</form>
</div>

nama file: tambah_alternatif.php
berikut kodenya:

<div class="col-10">
<h3>Tambah Alternatif</h3>
<form action="alternatif/aksi_tambah_alternatif.php" method="POST">
  <div class="form-group row">
    <label for="staticEmail" class="col-sm-2 col-form-label">Nama</label>
    <div class="col-sm-10">
      <input type="text"  class="form-control" name="nama">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">Alamat</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="alamat">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">No. Telp</label>
    <div class="col-sm-10">
      <input type="number" class="form-control" name="no_telp">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label"></label>
    <div class="col-sm-10">
      <input type="submit" class="btn btn-success" value="Simpan">
    </div>
  </div>
</form>
</div>

Jangan lupa ubah isi file konten.php seperti berikut:


<?php
if (isset($_GET['halaman'])) {
if ($_GET['halaman']=='home') {
include "home.php";
}
elseif ($_GET['halaman']=='data') {
include "alternatif/alternatif.php";
}
elseif ($_GET['halaman']=='tambah_data') {
include "alternatif/tambah_alternatif.php";
}
elseif ($_GET['halaman']=='edit_data') {
include "alternatif/edit_alternatif.php";
}else{
echo "Halaman tidak ditemukan!";
}
}else{
include "home.php";
}
?>

Sekarang kita telah menyelesaikan index.php
Login
Index
Data Alternatif


Sekarang kita lanjut untuk menu penilaian. Berikut struktur projek yang terbaru:

spk (folder)
     alternatif (sub folder)
  • aksi_edit_alternatif.php
  • aksi_hapus_alternatif.php
  • aksi_tambah_alternatif.php
  • alternatif.php
  • edit_alternatif.php
  • tambah_alternatif.php

     css (sub folder)
     img
  • gambar1.jpg (gambar bebas tambah jika belum ada)
  • gambar2.jpg (gambar bebas tambah jika belum ada)
  • gambar3.jpg (gambar bebas tambah jika belum ada)

     js (sub folder)
     penilaian
  • penilaian.php
  • aksi_penilaian.php
    aksi_login.php(dalam folder spk)
    home.php(dalam folder spk)
    index.php(dalam folder spk)
    koneksi.php(dalam folder spk)
    konten.php(dalam folder spk)
    login.php (dalam folder spk)

nama file: penilaian.php
berikut kodenya:

<?php
include "koneksi.php";
$slq="select `db_spk`.`tbl_alternatif`.`id_alternatif` AS `id_alternatif`,`db_spk`.`tbl_alternatif`.`nama` AS `nama`,`db_spk`.`tbl_nilai`.`c1` AS `c1`,`db_spk`.`tbl_nilai`.`c2` AS `c2`,`db_spk`.`tbl_nilai`.`c3` AS `c3`,`db_spk`.`tbl_nilai`.`c4` AS `c4`,`db_spk`.`tbl_nilai`.`id_nilai` AS `id_nilai` from (`db_spk`.`tbl_alternatif` left join `db_spk`.`tbl_nilai` on((`db_spk`.`tbl_alternatif`.`id_alternatif` = `db_spk`.`tbl_nilai`.`id_alternatif`)))";
$hasil=mysqli_query($koneksi,$slq);
?>
<div class="col-10">
<?php
if (isset($_GET['pesan'])) {
?>
<div class="alert alert-info alert-dismissible fade show" role="alert">
  <strong>Pesan : </strong> Nilai berhasil diperbarui.
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
</div>
<?php
}
?>
<h3 style="float: left;"> &nbsp;Tabel Penilaian Alternatif</h3>
<table class="table table-bordered">
<thead>
<tr style="font-weight: bold">
<td width="5%">No.</td>
<td width="18%">Nama</td>
<td width="13%">C1</td>
<td width="13%">C2</td>
<td width="13%">C3</td>
<td width="13%">C4</td>

</tr>
</thead>
<tbody>
<?php
$no=1;
$i=0;
while ($row=mysqli_fetch_array($hasil)) {
?>
<tr>
<td><?php echo $no++?></td>
<td><?php echo $row['nama']?></td>
<form action="penilaian/aksi_penilaian.php" method="POST">
<td>
<input type="hidden" value="<?php echo $row['id_alternatif'] ?>" name="id_alternatif<?php echo $i;?>">
<input type="hidden" value="<?php echo $row['id_nilai'] ?>" name="id_nilai<?php echo $i;?>">
<input required="" class="form-control" type="text" value="<?php echo $row['c1']?>" name="c1<?php echo $i;?>">
</td>
<td><input required="" class="form-control" type="text" value="<?php echo $row['c2']?>" name="c2<?php echo $i;?>"></td>
<td><input required="" class="form-control" type="text" value="<?php echo $row['c3']?>" name="c3<?php echo $i;?>"></td>
<td><input required="" class="form-control" type="text" value="<?php echo $row['c4']?>" name="c4<?php echo $i;?>"></td>
</tr>
<?php
$i++;
}
?>
<tr>
<td colspan="6">
<input type="hidden" name="jumlah" value="<?php echo $i?>">
<input type="submit" value="simpan" class="btn btn-success" name="simpan">
</td>
</tr>
</form>
</tbody>
</table>

</div>


nama file: aksi_penilaian.php
berikut kodenya:


<?php
if (isset($_POST['simpan'])) {
include "../koneksi.php";
$jumlah=$_POST['jumlah'];
for ($i=0; $i <$jumlah ; $i++) { 
$temp_id_alternatif="id_alternatif".$i;
$temp_id_nilai="id_nilai".$i;
$temp_c1="c1".$i;
$temp_c2="c2".$i;
$temp_c3="c3".$i;
$temp_c4="c4".$i;

$fix_id_alternatif= $_POST[$temp_id_alternatif];
$fix_id_nilai= $_POST[$temp_id_nilai];
$fix_c1= $_POST[$temp_c1];
$fix_c2= $_POST[$temp_c2];
$fix_c3= $_POST[$temp_c3];
$fix_c4= $_POST[$temp_c4];

$sql="select * from tbl_nilai where id_nilai='$fix_id_nilai'";
//echo "$sql";
$hasil=mysqli_query($koneksi,$sql);
if (mysqli_num_rows($hasil)<=0) {
$sql="insert into tbl_nilai(id_alternatif,c1,c2,c3,c4) values('$fix_id_alternatif','$fix_c1','$fix_c2','$fix_c3','$fix_c4')";
mysqli_query($koneksi,$sql);
//echo "$sql";
}else{
$sql="update tbl_nilai set c1='$fix_c1', c2='$fix_c2', c3='$fix_c3', c4='$fix_c4' where id_nilai='$fix_id_nilai'";
//echo "$sql";
mysqli_query($koneksi,$sql);
}
}

}
header("location:../index.php?halaman=penilaian&pesan=1");
?>

Jangan lupa update file konten.php seperti ini:

<?php
if (isset($_GET['halaman'])) {
if ($_GET['halaman']=='home') {
include "home.php";
}
elseif ($_GET['halaman']=='data') {
include "alternatif/alternatif.php";
}
elseif ($_GET['halaman']=='tambah_data') {
include "alternatif/tambah_alternatif.php";
}
elseif ($_GET['halaman']=='edit_data') {
include "alternatif/edit_alternatif.php";
}
elseif ($_GET['halaman']=='penilaian') {
include "penilaian/penilaian.php";
}
else{
echo "Halaman tidak ditemukan!";
}
}else{
include "home.php";
}
?>

Sampai disini progres yang kita kerjakan sekarang.
Login
Index
Data Alternatif
Penilaian


Selanjutnya kita akan menyelesaikan menu bobot.

spk (folder)
     alternatif (sub folder)
  • aksi_edit_alternatif.php
  • aksi_hapus_alternatif.php
  • aksi_tambah_alternatif.php
  • alternatif.php
  • edit_alternatif.php
  • tambah_alternatif.php
     bobot (sub folder)
  • bobot.php
  • aksi_ubah_bobot.php

     css (sub folder)
     img
  • gambar1.jpg (gambar bebas tambah jika belum ada)
  • gambar2.jpg (gambar bebas tambah jika belum ada)
  • gambar3.jpg (gambar bebas tambah jika belum ada)

     js (sub folder)
     penilaian (sub folder)

  • penilaian.php
  • aksi_penilaian.php
    aksi_login.php(dalam folder spk)
    home.php(dalam folder spk)
    index.php(dalam folder spk)
    koneksi.php(dalam folder spk)
    konten.php(dalam folder spk)
    login.php (dalam folder spk)

nama file: bobot.php
berikut kodenya:



<?php
include "koneksi.php";
$sql="select * from tbl_bobot";
$hasil=mysqli_query($koneksi,$sql);
$row=mysqli_fetch_array($hasil);
?>
<div class="col-10">
<?php
if (isset($_GET['pesan'])) {
?>
<div class="alert alert-info alert-dismissible fade show" role="alert">
  <strong>Pesan : </strong> Bobot berhasil diperbarui.
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
</div>
<?php
}
?>
<h3>Ubah Bobot</h3>
<form action="bobot/aksi_ubah_bobot.php" method="POST">
  <div class="form-group row">
    <label for="staticEmail" class="col-sm-2 col-form-label">W1</label>
    <div class="col-sm-10">
      <input type="text"  class="form-control" name="w1" value="<?php echo $row['w1'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">W2</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="w2" value="<?php echo $row['w2'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">W3</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="w3" value="<?php echo $row['w3'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label">W4</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="w4" value="<?php echo $row['w4'] ?>">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword" class="col-sm-2 col-form-label"></label>
    <div class="col-sm-10">
      <input type="submit" class="btn btn-success" value="Ubah">
    </div>
  </div>
</form>
</div>

nama file: aksi_ubah_bobot.php
berikut kodenya:


<?php
$w1=$_POST['w1'];
$w2=$_POST['w2'];
$w3=$_POST['w3'];
$w4=$_POST['w4'];
$sql="update tbl_bobot set w1='$w1',w2='$w2',w3='$w3',w4='$w4'";
include "../koneksi.php";
mysqli_query($koneksi,$sql);
header("location:../index.php?halaman=bobot&pesan=1");
?>

Jangan lupa update file konten.php nya seperti ini.

<?php
if (isset($_GET['halaman'])) {
if ($_GET['halaman']=='home') {
include "home.php";
}
elseif ($_GET['halaman']=='data') {
include "alternatif/alternatif.php";
}
elseif ($_GET['halaman']=='tambah_data') {
include "alternatif/tambah_alternatif.php";
}
elseif ($_GET['halaman']=='edit_data') {
include "alternatif/edit_alternatif.php";
}
elseif ($_GET['halaman']=='penilaian') {
include "penilaian/penilaian.php";
}
elseif ($_GET['halaman']=='tambah_penilaian') {
include "penilaian/tambah_penilaian.php";
}
elseif ($_GET['halaman']=='bobot') {
include "bobot/bobot.php";
}
elseif ($_GET['halaman']=='rangking') {
include "rangking/rangking.php";
}
else{
echo "Halaman tidak ditemukan!";
}
}else{
include "home.php";
}
?>

Berikut ini hasil tampilanya:

Sampai disini progres yang kita kerjakan sekarang.
Login
Index
Data Alternatif
Penilaian
Bobot

Sekarang sampailah kita di bagian terperting dari sistem pendukung keputusan ini yaitu mengimplementasikan metode SAW.

spk (folder)
     alternatif (sub folder)
  • aksi_edit_alternatif.php
  • aksi_hapus_alternatif.php
  • aksi_tambah_alternatif.php
  • alternatif.php
  • edit_alternatif.php
  • tambah_alternatif.php
     bobot (sub folder)
  • bobot.php
  • aksi_ubah_bobot.php
     css (sub folder)
     img
  • gambar1.jpg (gambar bebas tambah jika belum ada)
  • gambar2.jpg (gambar bebas tambah jika belum ada)
  • gambar3.jpg (gambar bebas tambah jika belum ada)

     js (sub folder)
     penilaian (sub folder)
  • aksi_penilaian.php
  • penilaian.php
      rangking (sub folder)
  • aksi_rangking.php
  • rangking.php
    aksi_login.php(dalam folder spk)
    home.php(dalam folder spk)
    index.php(dalam folder spk)
    koneksi.php(dalam folder spk)
    konten.php(dalam folder spk)
    login.php (dalam folder spk)

nama file: rangking.php
berikut kodenya:

<div class="col-10">
<?php
include "koneksi.php";
$sql="select * from tbl_nilai where skor IS NULL";
$hasil=mysqli_query($koneksi,$sql);
if (mysqli_num_rows($hasil)>0) {
?>
<div class="alert alert-danger alert-dismissible fade show" role="alert">
  <strong>Pesan : </strong> Rangking Perlu diperbarui.
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
</div>
<a href="rangking/aksi_rangking.php"><input style="margin-bottom:5px " class="btn btn-primary" type="button" name="" value="Mulai"></a>
<?php
}else{
?>
<a href="rangking/aksi_rangking.php"><input style="margin-bottom:5px " class="btn btn-primary" type="button" name="" value="Perbarui!"></a>
<?php
}
$sql="select `db_spk`.`tbl_alternatif`.`id_alternatif` AS `id_alternatif`,`db_spk`.`tbl_alternatif`.`nama` AS `nama`,`db_spk`.`tbl_nilai`.`id_nilai` AS `id_nilai`,`db_spk`.`tbl_nilai`.`skor` AS `skor` from (`db_spk`.`tbl_alternatif` left join `db_spk`.`tbl_nilai` on((`db_spk`.`tbl_alternatif`.`id_alternatif` = `db_spk`.`tbl_nilai`.`id_alternatif`))) order by skor desc";
$hasil=mysqli_query($koneksi,$sql);
?>
<table class="table table-bordered">
<thead>
<tr style="font-weight: bold">
<td width="5%">No.</td>
<td width="45%">Nama</td>
<td width="50%">Skor</td>

</tr>
</thead>
<tbody>
<?php
$no=1;
$i=0;
while ($row=mysqli_fetch_array($hasil)) {
?>
<tr>
<td><?php echo $no++?></td>
<td><?php echo $row['nama']?></td>
<form action="rangking/aksi_rangking.php" method="POST">
<td>
<?php echo $row['skor']?>
</td>
</tr>
<?php
$i++;
}
?>

</form>
</tbody>
</table>
</div>

nama file: aksi_rangking.php
berikut kodenya:

<?php
include "../koneksi.php";
$sql="select max(c1) as max_c1, max(c2) as max_c2, max(c3) as max_c3,max(c4) as max_c4 from tbl_nilai";
$hasil=mysqli_query($koneksi,$sql);
$row=mysqli_fetch_array($hasil);
$max_c1=$row['max_c1'];
$max_c2=$row['max_c2'];
$max_c3=$row['max_c3'];
$max_c4=$row['max_c4'];

$sql=" select * from tbl_bobot";
$hasil=mysqli_query($koneksi,$sql);
$row=mysqli_fetch_array($hasil);
$w1=$row['w1'];
$w2=$row['w2'];
$w3=$row['w3'];
$w4=$row['w4'];

$sql="select * from tbl_nilai";
$hasil=mysqli_query($koneksi,$sql);
$i=0;
while ($row=mysqli_fetch_array($hasil)) {
$id_nilai[$i]=$row['id_nilai'];
$c1_normalisasi=round(($row['c1']/$max_c1),2);
$c2_normalisasi=round(($row['c2']/$max_c2),2);
$c3_normalisasi=round(($row['c3']/$max_c3),2);
$c4_normalisasi=round(($row['c4']/$max_c4),2);

$skor[$i]=round((($w1*$c1_normalisasi)+($w2*$c2_normalisasi)+($w3*$c3_normalisasi)+($w4*$c4_normalisasi)),3);
$i++;
}

$x=0;

foreach ($skor as $key => $value) {
$sql="update tbl_nilai set skor='$value' where id_nilai='$id_nilai[$x]'";
mysqli_query($koneksi,$sql);
$x++;
echo "$sql";
echo "<br>";
}
header("location:../index.php?halaman=rangking");
?>

Baik sekarang kita telah menyelesaikan perangkingan dengan metode SAW, mari lihat hasilnya:

Untuk pengujian pertama cukup bandingkan dengan hasil perhitungan manual. Untuk tes kedua silahkan tambah sebuah data dan hitung manual terlebih dahulu.

Terakhir, kita akan menyelesaikan menu logout.

spk (folder)
     alternatif (sub folder)
  • aksi_edit_alternatif.php
  • aksi_hapus_alternatif.php
  • aksi_tambah_alternatif.php
  • alternatif.php
  • edit_alternatif.php
  • tambah_alternatif.php
     bobot (sub folder)
  • bobot.php
  • aksi_ubah_bobot.php
     css (sub folder)
     img
  • gambar1.jpg (gambar bebas tambah jika belum ada)
  • gambar2.jpg (gambar bebas tambah jika belum ada)
  • gambar3.jpg (gambar bebas tambah jika belum ada)
     js (sub folder)
     penilaian (sub folder)
  • aksi_penilaian.php
  • penilaian.php
      rangking (sub folder)
  • aksi_rangking.php
  • rangking.php
    aksi_login.php(dalam folder spk)
    home.php(dalam folder spk)
    index.php(dalam folder spk)
    koneksi.php(dalam folder spk)
    konten.php(dalam folder spk)
    login.php (dalam folder spk)
    logout.php (dalam folder spk)

nama file: logout.php
berikut kodenya:

<?php
session_start();
session_destroy();
header("location:login.php?pesan=logout")
?>

Kita sudah menyelesaikan semuanya.
Login
Index
Data Alternatif
Penilaian
Bobot
Rangking
Logout
Terimakasih telah membaca.

Kami ucapkan terima kasih untuk pertanyaan dan koreksi atas postingan ini. Untuk kesalahan tutorial ini sudah di perbaiki pada bagian kode SQL yang berwarna merah.

Popular posts from this blog

Cara membuat Link ke Halaman lain dan Link ke bagian Halaman

Cara Menggunakan Template Admin LTE Sebagai Template Web Dinamis

Cara Membuat Kalkulator Dengan Java Script