MIF_E31222307/resources/views/admin/proses/perbandingan.blade.php

243 lines
12 KiB
PHP

@extends('layout.app')
@section('content')
<div class="pagetitle">
<h1>Matriks Perbandingan</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ route('admindash') }}">Home</a></li>
<li class="breadcrumb-item"><a href="{{ route('perbandingan') }}">Perbandingan Kriteria</a></li>
</ol>
</nav>
</div><!-- End Page Title -->
<div class="card shadow-lg border-start border-4 border-primary mb-4">
<div class="card-body">
<h5 class="card-title text-primary fw-bold mb-0 d-flex justify-content-between align-items-center">
📌 Aturan Penilaian <span class="text-muted">| AHP</span>
<button class="btn btn-sm btn-outline-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAHP" aria-expanded="false" aria-controls="collapseAHP">
Lihat Detail
</button>
</h5>
<div class="collapse mt-3" id="collapseAHP">
<p class="fs-6">Sebelum melakukan perbandingan, pahami skala penilaian berikut. Skala ini digunakan untuk menilai tingkat kepentingan antar kriteria maupun alternatif.</p>
<div class="row row-cols-1 row-cols-md-2 g-3 mt-2">
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-success rounded-pill me-3">1</span>
<div>
<strong>Equal Importance</strong><br>
Kedua elemen sama pentingnya
</div>
</div>
</div>
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-primary rounded-pill me-3">3</span>
<div>
<strong>Moderate Importance</strong><br>
Salah satu elemen sedikit lebih penting
</div>
</div>
</div>
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-warning text-dark rounded-pill me-3">5</span>
<div>
<strong>Strong Importance</strong><br>
Salah satu elemen lebih penting secara kuat
</div>
</div>
</div>
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-danger rounded-pill me-3">7</span>
<div>
<strong>Very Strong Importance</strong><br>
Salah satu elemen sangat penting
</div>
</div>
</div>
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-dark rounded-pill me-3">9</span>
<div>
<strong>Extreme Importance</strong><br>
Salah satu elemen mutlak lebih penting
</div>
</div>
</div>
<div class="col">
<div class="d-flex align-items-start">
<span class="badge bg-secondary rounded-pill me-3">2, 4, 6, 8</span>
<div>
<strong>Intermediate Values</strong><br>
Nilai antara dua pertimbangan yang berdekatan
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="alert alert-info mt-4 rounded-4 shadow-sm" role="alert">
<i class="fas fa-info-circle me-2"></i>
<strong>Catatan:</strong>
<ul class="mb-0 mt-2">
<li>Lemak dan natrium adalah kriteria yang paling krusial untuk penderita jantung.</li>
<li>Energi dan karbohidrat tetap diperhatikan, namun tidak seprioritas dua kriteria pertama.</li>
</ul>
</div>
<section class="section">
<div class="row">
<div class="col-lg-12">
<!-- Form input -->
<div class="card">
<div class="card-body">
<h5 class="card-title mb-4">Input Perbandingan Kriteria</h5>
<form method="POST" action="{{ route('sementara') }}">
@csrf
<!-- Tambahkan dropdown waktu makan -->
<div class="row mb-4">
<div class="col-md-6">
<div class="form-group">
<label for="waktu_makan_id" class="form-label">Pilih Waktu Makan</label>
<select name="waktu_makan_id" id="waktu_makan_id" class="form-select" required>
<option value="">Pilih Waktu Makan</option>
@foreach(\App\Models\WaktuMakan::all() as $waktu)
<option value="{{ $waktu->id }}" {{ old('waktu_makan_id') == $waktu->id ? 'selected' : '' }}>
{{ $waktu->nama }}
</option>
@endforeach
</select>
@error('waktu_makan_id')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-bordered text-center">
<thead>
<tr>
<th>Kriteria</th>
@foreach ($kriterias as $k)
<th>{{ $k->nama }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($kriterias as $i => $k1)
<tr>
<th>{{ $k1->nama }}</th>
@foreach ($kriterias as $j => $k2)
<td>
@if ($i == $j)
<input type="text" class="form-control text-center" value="1" disabled>
@elseif ($i < $j)
<select name="nilai[{{ $k1->id }}][{{ $k2->id }}]" class="form-select">
@for ($n = 1; $n <= 9; $n++)
<option value="{{ $n }}">{{ $n }}</option>
@endfor
@for ($n = 2; $n <= 9; $n++)
<option value="{{ 1/$n }}">{{ '1/'.$n }}</option>
@endfor
</select>
@else
<input type="text" class="form-control text-center" value="-" disabled>
@endif
</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="text-end mt-3">
<button type="submit" class="btn btn-warning">Proses (Tampilkan)</button>
</div>
</form>
</div>
</div>
<!-- Tabel hasil sementara -->
@if(session('matriks'))
<div class="card mt-4">
<div class="card-body">
<h5 class="card-title">Matriks Perbandingan Sementara</h5>
<div class="table-responsive">
<table class="table table-bordered text-center">
<thead>
<tr>
<th>Kriteria</th>
@foreach ($kriterias as $k)
<th>{{ $k->nama }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($kriterias as $baris)
<tr>
<th>{{ $baris->nama }}</th>
@foreach ($kriterias as $kolom)
<td>{{ number_format(session('matriks')[$baris->id][$kolom->id], 4) }}</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- Tombol trigger modal -->
<div class="text-end">
<button type="button" class="btn btn-success" data-bs-toggle="modal" data-bs-target="#konfirmasiModal">
Simpan & Normalisasi
</button>
</div>
<!-- Modal konfirmasi -->
<div class="modal fade" id="konfirmasiModal" tabindex="-1" aria-labelledby="konfirmasiModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form method="POST" action="{{ route('simpan.perbandingan') }}">
@csrf
<div class="modal-header">
<h5 class="modal-title" id="konfirmasiModalLabel">Konfirmasi Penyimpanan</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Tutup"></button>
</div>
<div class="modal-body">
Apakah Anda yakin data perbandingan ini sudah benar dan ingin disimpan untuk proses normalisasi?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Ya, Simpan</button>
</div>
</form>
</div>
</div>
</div>
<!-- End Modal -->
</div>
</div>
@endif
</div>
</div>
</section>
@endsection