204 lines
6.6 KiB
PHP
204 lines
6.6 KiB
PHP
@extends('layouts.main')
|
|
|
|
@section('main-container')
|
|
<div id="main-content">
|
|
<div class="page-heading">
|
|
<div class="page-title">
|
|
<div class="row">
|
|
<div class="col-12 col-md-6 order-md-1 order-last">
|
|
<h3>Perbandingan</h3>
|
|
<p class="text-subtitle text-muted">
|
|
Perbandingan Kriteria Algoritma AHP
|
|
</p>
|
|
</div>
|
|
<div class="col-12 col-md-6 order-md-2 order-first">
|
|
<nav
|
|
aria-label="breadcrumb"
|
|
class="breadcrumb-header float-start float-lg-end"
|
|
>
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item" aria-current="page">
|
|
Data Master
|
|
</li>
|
|
<li class="breadcrumb-item" aria-current="page">
|
|
Algoritma AHP
|
|
</li>
|
|
<li class="breadcrumb-item active" aria-current="page">
|
|
Perbandingan
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="page-content">
|
|
<section class="section">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Matriks Perbandingan Berpasangan</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="col-12">
|
|
<form action="{{ route('generatePerbandingan') }}" method="POST">
|
|
@csrf
|
|
@method('POST')
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<th scope="col">#</th>
|
|
@foreach ($kriteria as $k)
|
|
<th scope="col">{{ $k->nama_kriteria }}</th>
|
|
@endforeach
|
|
</tr>
|
|
|
|
@foreach ($kriteria as $k)
|
|
<tr>
|
|
<th>{{ $k->nama_kriteria }}</th>
|
|
@foreach ($k->Perbandingan as $kp)
|
|
<td>
|
|
@if ($kp->id_kriteria_1 - $kp->id_kriteria_2 < 0)
|
|
<select class="form-select kriteria" name="{{ $kp->id_kriteria_1 . ':' . $kp->id_kriteria_2 }}">
|
|
@for ($i = 1; $i < 10; $i++)
|
|
<option value="{{ $i }}" {{ $kp->nilai == $i ? 'selected' : '' }}>
|
|
{{ $i }}
|
|
</option>
|
|
@endfor
|
|
</select>
|
|
@else
|
|
<input type="number" class="form-control" value="{{ $kp->id_kriteria_1 == $kp->id_kriteria_2 ? 1 : (string) $kp->nilai }}" name="{{ $kp->id_kriteria_1 . ':' . $kp->id_kriteria_2 }}" readonly>
|
|
@endif
|
|
</td>
|
|
@endforeach
|
|
</tr>
|
|
@endforeach
|
|
<tr>
|
|
<th>Total</th>
|
|
@foreach ($kriteria as $k)
|
|
<td>
|
|
<div class="total{{ $k->id }}">
|
|
0
|
|
</div>
|
|
</td>
|
|
@endforeach
|
|
</tr>
|
|
</table>
|
|
<div class="col-sm-12 d-flex justify-content-center">
|
|
<button type="submit" class="btn btn-primary me-1 mb-1">
|
|
<i class="bi bi-arrow-repeat"></i>
|
|
Generate
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
@if (isset($nilai))
|
|
<section class="section">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Nilai Prioritas</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="col-12">
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<tr>
|
|
<th>Kriteria</th>
|
|
<th>Nilai Prioritas</th>
|
|
</tr>
|
|
@php
|
|
$total = 0;
|
|
@endphp
|
|
@foreach ($nilai as $n)
|
|
<tr>
|
|
<td>{{ $n->Kriteria->nama_kriteria }}</td>
|
|
<td>{{ $n->nilai }}</td>
|
|
</tr>
|
|
@php
|
|
$total += $n->nilai;
|
|
@endphp
|
|
@endforeach
|
|
<tr>
|
|
<th>Total</th>
|
|
<td class="{{ (string) $total == '1' ? 'text-success' : 'text-danger' }} font-semibold"> {{ $total }}</td>
|
|
</tr>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="card-title">Rasio Konsistensi</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="col-12">
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<th>λmax</th>
|
|
<td>{{ $lambdaMax }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>CI</th>
|
|
<td>{{ $ci }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>CR</th>
|
|
<td>{{ $cr }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Hasil</th>
|
|
@if ($cr < 0.1)
|
|
<td class="text-success">Konsisten</td>
|
|
@else
|
|
<td class="text-danger">Tidak Konsisten</td>
|
|
@endif
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
@endif
|
|
</div>
|
|
@endsection
|
|
|
|
@push('custom-script')
|
|
<script>
|
|
var arr = []
|
|
</script>
|
|
@foreach ($id_kriteria as $idk)
|
|
<script>
|
|
arr.push({{ $idk->id }})
|
|
</script>
|
|
@endforeach
|
|
|
|
<script>
|
|
var n = {{ $kriteria->count() }}
|
|
|
|
function hitungTotal(n) {
|
|
for (let i = 0; i < n; i++) {
|
|
let total = 0;
|
|
for (let j = 0; j < n; j++) {
|
|
let nm = '[name="' + arr[j] + ":" + arr[i] + '"]';
|
|
let kk = $(nm).val();
|
|
total += parseFloat(kk);
|
|
}
|
|
$(".total" + arr[i]).text(total);
|
|
}
|
|
}
|
|
hitungTotal(n);
|
|
$(".kriteria").on('change', function() {
|
|
let name = $(this).attr('name').split(':');
|
|
let nm = name[1] + ':' + name[0];
|
|
$('input[name="' + nm + '"]').val(1 / this.value);
|
|
hitungTotal(n);
|
|
});
|
|
</script>
|
|
@endpush |