Data Sub Kriteria
{{ Auth::user()->username }}
Logout
Konfirmasi Logout
Apakah Anda yakin ingin logout?
@php $groupedSubkriterias = $datasubkriterias->groupBy('id_kriteria'); @endphp @foreach ($groupedSubkriterias as $id_kriteria => $subkriterias)
{{ $id_kriteria }}
No
Kode Sub Kriteria
Nama Sub Kriteria
Nilai Bobot
@foreach ($subkriterias as $index => $subkriteria)
{{ $index + 1 }}
{{ $subkriteria->kode_subkriteria }}
{{ $subkriteria->nama_subkriteria }}
{{ $subkriteria->nilai_bobot }}
@endforeach
@csrf
Pilih Kode Kriteria
@foreach($subkriterias as $datakriteria)
{{$datakriteria->kode_subkriteria}}
@endforeach
Sama Pentingnya(1)
Sama Hingga Sedikit Lebih Penting(2)
Sedikit Lebih Penting(3)
Sedikit Lebih Hingga Jelas Lebih Penting(4)
Jelas Lebih Penting(5)
Jelas Hingga Sangat Jelas Lebih Penting(6)
Sangat Jelas Lebih Penting(7)
Sangat Jelas Hingga Mutlak Lebih Penting(8)
Mutlak Lebih Penting(9)
Pilih Kode Kriteria
@foreach($subkriterias as $datakriteria)
{{$datakriteria->kode_subkriteria}}
@endforeach
Kode
@foreach ($subkriterias as $index => $subkriteria)
{{ $subkriteria->kode_subkriteria }}
@endforeach
@php $columnTotals = []; // Array untuk menyimpan total per kolom @endphp @foreach ($subkriterias as $index => $row)
{{ $row->kode_subkriteria }}
@php $rowTotal = 0; // Total per baris @endphp @foreach ($subkriterias as $column)
@php if ($row->kode_subkriteria === $column->kode_subkriteria) { $nilai_bobot = 1; // Isi otomatis dengan nilai 1 jika xkriteria dan ykriteria sama } else { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $row->kode_subkriteria) ->where('subkriteria2', $column->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $column->kode_subkriteria) ->where('subkriteria2', $row->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = 0; // Set nilai_bobot menjadi 0 jika tidak ada data yang ditemukan } else { $nilai_bobot = 1 / floatval($nilai_bobot); // Menghitung nilai kebalikan setelah mengubah ke tipe float } } } $rowTotal += floatval($nilai_bobot); // Menambahkan nilai ke total per baris setelah mengubah ke tipe float $columnTotals[$loop->index] = isset($columnTotals[$loop->index]) ? $columnTotals[$loop->index] + floatval($nilai_bobot) : floatval($nilai_bobot); // Menambahkan nilai ke total per kolom setelah mengubah ke tipe float @endphp
@endforeach
@endforeach
Total
@foreach ($columnTotals as $total)
@endforeach
Normalisasi
@php $lambdaMax = 0; // Inisialisasi nilai Lambda Max $CI = 0; // Inisialisasi nilai Consistency Index $CR = 0; // Inisialisasi nilai Consistency Ratio $jumlahKriteria = count($subkriterias); // Dapatkan jumlah kriteria dari database // Hitung nilai Random Index (RI) berdasarkan jumlah kriteria if ($jumlahKriteria <= 2) { $RI = 0; } elseif ($jumlahKriteria == 3) { $RI = 0.58; } elseif ($jumlahKriteria == 4) { $RI = 0.90; } elseif ($jumlahKriteria == 5) { $RI = 1.12; } elseif ($jumlahKriteria == 6) { $RI = 1.24; } elseif ($jumlahKriteria == 7) { $RI = 1.32; } elseif ($jumlahKriteria == 8) { $RI = 1.41; } elseif ($jumlahKriteria == 9) { $RI = 1.45; } elseif ($jumlahKriteria == 10) { $RI = 1.49; } else { // Tambahkan logika tambahan untuk nilai RI jika jumlah kriteria lebih dari 10 } $RI = ($RI != 0) ? $RI : 0.01; $totalPrioritas = 0; // Inisialisasi total prioritas $priorities = []; // Array untuk menyimpan prioritas masing-masing kriteria // Hitung nilai prioritas untuk masing-masing kriteria foreach ($subkriterias as $rowIndex => $row) { $rowSum = 0; // Untuk menyimpan jumlah per baris foreach ($subkriterias as $columnIndex => $column) { $nilai_bobot = 0; if ($row->kode_subkriteria === $column->kode_subkriteria) { $nilai_bobot = 1; // Isi otomatis dengan nilai 1 jika xkriteria dan ykriteria sama } else { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $row->kode_subkriteria) ->where('subkriteria2', $column->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $column->kode_subkriteria) ->where('subkriteria2', $row->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = 0; // Set nilai_bobot menjadi 0 jika tidak ada data yang ditemukan } else { $nilai_bobot = 1 / floatval($nilai_bobot); // Menghitung nilai kebalikan setelah mengubah ke tipe float } } } $normalizedValue = 0; if (isset($columnTotals[$columnIndex]) && $columnTotals[$columnIndex] != 0) { $normalizedValue = floatval($nilai_bobot) / $columnTotals[$columnIndex]; } $rowSum += $normalizedValue; // Menambahkan nilai ke jumlah per baris } $priority = $rowSum / $jumlahKriteria; // Menghitung prioritas sebagai rata-rata $priorities[$rowIndex] = $priority; $totalPrioritas += $priority; } // Hitung Lambda Max $lambdaMax = array_sum(array_map(function ($priority, $index) use ($columnTotals) { return $priority * $columnTotals[$index]; }, $priorities, array_keys($priorities))); // Hitung Consistency Index (CI) $CI = ($lambdaMax - $jumlahKriteria) / ($jumlahKriteria - 1); // Hitung Consistency Ratio (CR) $CR = $CI / $RI; @endphp
@csrf
Variabel
@foreach ($subkriterias as $item)
{{ $item->kode_subkriteria}}
@endforeach
Jumlah
Priority
@foreach ($subkriterias as $rowIndex => $row)
{{ $row->kode_subkriteria }}
@php $rowSum = 0; // Untuk menyimpan jumlah per baris @endphp @foreach ($subkriterias as $columnIndex => $column)
@php $nilai_bobot = 0; if ($row->kode_subkriteria === $column->kode_subkriteria) { $nilai_bobot = 1; // Isi otomatis dengan nilai 1 jika xkriteria dan ykriteria sama } else { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $row->kode_subkriteria) ->where('subkriteria2', $column->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = App\Models\Perbandingans::where('subkriteria1', $column->kode_subkriteria) ->where('subkriteria2', $row->kode_subkriteria) ->value('nilai_bobot'); if (!$nilai_bobot) { $nilai_bobot = 0; // Set nilai_bobot menjadi 0 jika tidak ada data yang ditemukan } else { $nilai_bobot = 1 / floatval($nilai_bobot); // Menghitung nilai kebalikan setelah mengubah ke tipe float } } } $normalizedValue = 0; if (isset($columnTotals[$columnIndex]) && $columnTotals[$columnIndex] != 0) { $normalizedValue = floatval($nilai_bobot) / $columnTotals[$columnIndex]; } $rowSum += $normalizedValue; // Menambahkan nilai ke jumlah per baris @endphp
@endforeach
@php $priority = $rowSum / $jumlahKriteria; @endphp
@endforeach
Simpan Priority
Lambda Max: {{ $lambdaMax }}
Consistency Index (CI): {{ $CI }}
Consistency Ratio (CR): {{ $CR }}
@if ($CR <= 0.1)
Data konsisten
@else
Data tidak konsisten
@endif
@endforeach