Push Aplikasi Penentuan Status Gizi

This commit is contained in:
dwinurellisa 2024-05-31 14:07:52 +07:00
parent 8021405a87
commit 73b2727b78
76 changed files with 3418 additions and 1288 deletions

View File

@ -1,4 +1,4 @@
APP_NAME=spk_Al_Amien
APP_NAME=spk_status_gizi
APP_ENV=local
APP_KEY=
APP_DEBUG=true
@ -9,7 +9,7 @@ LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pkg
DB_DATABASE=spk_status_gizi
DB_USERNAME=root
DB_PASSWORD=

View File

@ -0,0 +1,14 @@
<?php
namespace App\Exports;
use App\Models\Balita;
use Maatwebsite\Excel\Concerns\FromCollection;
class BalitaExport implements FromCollection
{
public function collection()
{
return Balita::all();
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers;
use App\Models\Balita;
use App\Models\dataBalita;
class DashboardController extends Controller
{
public function index()
{
$countdatanilaibalita = Balita::count();
$countdataBalita = dataBalita::count();
return view('pages.dashboard', compact('countdatanilaibalita', 'countdataBalita'));
}
}

View File

@ -0,0 +1,308 @@
<?php
namespace App\Http\Controllers;
use App\Models\Balita;
use Illuminate\Http\Request;
use App\Models\dataBalita;
use App\Models\Nilai;
class DataBalitaController extends Controller
{
public function index()
{
$balitas = dataBalita::all();
return view('pages.data_lengkap.index', compact('balitas'));
}
public function create()
{
return view('pages.data_lengkap.form');
}
public function store(Request $request)
{
// Validasi data yang masuk
$validatedData = $request->validate([
'nama_balita' => 'required|string',
'nik' => 'required|string',
'nama_orangtua' => 'required|string',
'alamat_rt_rw' => 'required|string',
'jenis_kelamin' => 'required|in:1,2',
'tanggal_timbang' => 'required|date',
'tanggal_lahir' => 'required|date',
'umur_bulan' => 'required|integer',
'berat_badan' => 'required|numeric',
'tinggi_badan' => 'required|numeric',
]);
$berat_badan = $request->berat_badan;
$tinggi_badan = $request->tinggi_badan;
$umur_bulan = $request->umur_bulan;
//alternatif
$balita = Balita::create([
'balita' => $request->nama_balita,
'id_role' => $request->jenis_kelamin,
]);
//Laki - laki
if ($request->jenis_kelamin == 1) {
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($berat_badan < 2.1) {
$C1laki = 1;
} elseif ($berat_badan < 2.5) {
$C1laki = 2;
} elseif ($berat_badan <= 10.8) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($berat_badan < 7.1) {
$C1laki = 1;
} elseif ($berat_badan < 7.9) {
$C1laki = 2;
} elseif ($berat_badan <= 13.6) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($berat_badan < 8.8) {
$C1laki = 1;
} elseif ($berat_badan < 9.8) {
$C1laki = 2;
} elseif ($berat_badan <= 16.2) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($berat_badan < 10.1) {
$C1laki = 1;
} elseif ($berat_badan < 11.4) {
$C1laki = 2;
} elseif ($berat_badan <= 18.6) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($berat_badan < 11.3) {
$C1laki = 1;
} elseif ($berat_badan < 12.8) {
$C1laki = 2;
} elseif ($berat_badan <= 21.0) {
$C1laki = 3;
} else {
$C1laki = 4;
}
}
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($tinggi_badan < 44.2) {
$C2laki = 1;
} elseif ($tinggi_badan < 46.1) {
$C2laki = 2;
} elseif ($tinggi_badan <= 82.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($tinggi_badan < 69.6) {
$C2laki = 1;
} elseif ($tinggi_badan < 72.1) {
$C2laki = 2;
} elseif ($tinggi_badan <= 97.0) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($tinggi_badan < 78.6) {
$C2laki = 1;
} elseif ($tinggi_badan < 81.7) {
$C2laki = 2;
} elseif ($tinggi_badan <= 107.2) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($tinggi_badan < 85.5) {
$C2laki = 1;
} elseif ($tinggi_badan < 89.2) {
$C2laki = 2;
} elseif ($tinggi_badan <= 115.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($tinggi_badan < 91.2) {
$C2laki = 1;
} elseif ($tinggi_badan < 95.4) {
$C2laki = 2;
} elseif ($tinggi_badan <= 123.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
}
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 1,
'nilai' => $C1laki,
]);
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 2,
'nilai' => $C2laki,
]);
} elseif ($request->jenis_kelamin == 2) {
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($berat_badan < 2) {
$C1perempuan = 1;
} elseif ($berat_badan < 2.4) {
$C1perempuan = 2;
} elseif ($berat_badan <= 10.1) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($berat_badan < 6.4) {
$C1perempuan = 1;
} elseif ($berat_badan < 7.2) {
$C1perempuan = 2;
} elseif ($berat_badan <= 13.0) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($berat_badan < 8.2) {
$C1perempuan = 1;
} elseif ($berat_badan < 9.2) {
$C1perempuan = 2;
} elseif ($berat_badan <= 15.8) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($berat_badan < 9.7) {
$C1perempuan = 1;
} elseif ($berat_badan < 10.9) {
$C1perempuan = 2;
} elseif ($berat_badan <= 18.5) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($berat_badan < 11) {
$C1perempuan = 1;
} elseif ($berat_badan < 12.4) {
$C1perempuan = 2;
} elseif ($berat_badan <= 21.2) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
}
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($tinggi_badan < 43.6) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 45.4) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 81.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($tinggi_badan < 67.3) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 70) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 96.1) {
$C2perempuan = 3;
} else {
$C2lC2perempuanaki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($tinggi_badan < 76.8) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 80) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 106.5) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($tinggi_badan < 84.2) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 88) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 115.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($tinggi_badan < 90.3) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 94.6) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 123.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
}
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 1,
'nilai' => $C1perempuan,
]);
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 2,
'nilai' => $C2perempuan,
]);
}
// Simpan data balita ke dalam database
dataBalita::create($validatedData);
// Redirect ke halaman index atau halaman lain sesuai kebutuhan
return redirect()->route('data-lengkap')->with('success', 'Balita telah ditambahkan.');
}
public function destroy($id)
{
// Cari data balita berdasarkan ID
$balita = dataBalita::find($id);
if (!$balita) {
return redirect()->route('data-lengkap')->with('error', 'Balita tidak ditemukan.');
}
// Dapatkan nama balita
$namaBalita = $balita->nama_balita;
// Hapus data balita dari tabel dataBalita
$balita->delete();
// Dapatkan kdbalita berdasarkan nama balita dari tabel Balita
$kdbalita = Balita::where('balita', $namaBalita)->value('kdbalita');
// Hapus data nilai berdasarkan kdbalita dari tabel Nilai
Nilai::where('kdbalita', $kdbalita)->delete();
// Hapus data balita dari tabel Balita jika nama_balita cocok
Balita::where('balita', $namaBalita)->delete();
// Redirect ke halaman index atau halaman lain sesuai kebutuhan
return redirect()->route('data-lengkap')->with('success', 'Balita ' . $namaBalita . ' telah dihapus.');
}
}

View File

@ -0,0 +1,129 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Kriteria;
use App\Models\SubKriteria;
use Illuminate\Support\Facades\DB;
class KriteriaController extends Controller
{
public function index()
{
$kriteria = Kriteria::all();
$subkriteria = SubKriteria::all();
return view('pages.data_kriteria.index', compact('kriteria','subkriteria'));
}
public function create()
{
return view('pages.data_kriteria.form');
}
public function store(Request $request)
{
// Validate the request data
$request->validate([
'kode_kriteria' => 'required',
'sifat' => 'required',
'nama_kriteria' => 'required',
'bobot_kriteria' => 'required|numeric',
'itemKriteria1' => 'required',
'itemKriteria2' => 'required',
'itemKriteria3' => 'required',
'itemKriteria4' => 'required',
]);
// Create a new Kriteria instance and save it
$kriteria = Kriteria::create([
'kriteria' => $request->kode_kriteria,
'sifat' => $request->sifat,
'detail' => $request->nama_kriteria,
'bobot' => $request->bobot_kriteria,
]);
// Get the ID of the newly created Kriteria
$kdKriteria = DB::getPdo()->lastInsertId();
// Create SubKriteria instances and save them
$items = [
$request->itemKriteria1,
$request->itemKriteria2,
$request->itemKriteria3,
$request->itemKriteria4,
];
for ($i = 1; $i <= 4; $i++) {
SubKriteria::create([
'kdKriteria' => $kdKriteria,
'subKriteria' => $items[$i - 1],
'value' => $i,
]);
}
return redirect()->route('data_kriteria')->with('success', 'Data kriteria berhasil ditambahkan.');
}
public function edit($id)
{
$kriteria = Kriteria::findOrFail($id);
// Create an instance of the SubKriteria model
$subKriteriaModel = new SubKriteria;
// Retrieve subkriteria based on kdKriteria
$subkriteria = $subKriteriaModel->getSubKriteriaByKdKriteria($kriteria->kdKriteria);
return view('pages.data_kriteria.edit', compact('kriteria', 'subkriteria', 'id'));
}
public function update(Request $request, $id)
{
$request->validate([
'kode_kriteria' => 'required',
'sifat' => 'required',
'nama_kriteria' => 'required',
'bobot_kriteria' => 'required|numeric',
'itemKriteria.*' => 'required', // Validate all itemKriteria fields.
]);
$kriteria = Kriteria::findOrFail($id);
$kriteria->update([
'kriteria' => $request->kode_kriteria,
'sifat' => $request->sifat,
'detail' => $request->nama_kriteria,
'bobot' => $request->bobot_kriteria,
]);
SubKriteria::where('kdKriteria', $id)->delete();
$items = $request->itemKriteria;
for ($i = 0; $i < count($items); $i++) {
SubKriteria::create([
'kdKriteria' => $id,
'subKriteria' => $items[$i],
'value' => $i + 1,
]);
}
return redirect()->route('data_kriteria')->with('success', 'Data kriteria berhasil diperbarui.');
}
public function destroy($kdKriteria)
{
$kriteria = Kriteria::find($kdKriteria);
// Delete associated SubKriteria records based on kdKriteria
SubKriteria::where('kdKriteria', $kdKriteria)->delete();
// Delete the main Kriteria
$kriteria->delete();
if (!$kriteria) {
return redirect()->route('data_kriteria')->with('error', 'Kriteria tidak ditemukan.');
}
return redirect()->route('data_kriteria')->with('success', 'SubKriteria dan Kriteria berhasil dihapus berdasarkan ID Kriteria.');
}
}

View File

@ -0,0 +1,137 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Balita;
use App\Models\dataBalita;
use App\Models\Nilai;
use App\Models\Role;
use App\Models\Kriteria;
use App\Models\SubKriteria;
class MstBalitaController extends Controller
{
public function index()
{
$balita = Balita::all();
$roles = Role::all();
$kriteria = Kriteria::all();
return view('pages.mst_balita.index', compact('balita', 'roles'));
}
public function create($id = null)
{
$dataView = $this->getDataInsert();
$roles = Role::all();
$roleData = [];
$nilaiBalita = []; // Initialize $nilaiBalita as an empty array
if ($id !== null) {
$balita = Balita::find($id);
$nilaiBalita = Nilai::where('kdbalita', $id)->get();
$roleData = $balita->role;
}
// dd($dataView);
return view('pages.mst_balita.form', compact('dataView', 'roles', 'roleData', 'nilaiBalita'));
}
public function store(Request $request)
{
$request->validate([
'nama_balita' => 'required', // Corrected field name
'jenis_kelamin' => 'required', // Corrected field name
'nilai' => 'required',
]);
$balita = Balita::create([
'balita' => $request->nama_balita, // Corrected field name
'id_role' => $request->jenis_kelamin, // Corrected field name
]);
foreach ($request->nilai as $item => $value) {
Nilai::create([
'kdbalita' => $balita->kdbalita, // Adjust to the actual primary key column name
'kdKriteria' => $item,
'nilai' => $value,
]);
}
return redirect()->route('balita.index')->with('success', 'Data balita berhasil ditambahkan.');
}
public function edit($id)
{
// Fetch the "balita" with the given $id
$balita = Balita::findOrFail($id);
// Fetch the "nilai" values associated with the "balita"
$nilai = Nilai::where('kdbalita', $id)->get();
// Fetch data from the "dataBalita" model based on "nama_balita"
$data_balita = dataBalita::where('nama_balita', $balita->balita)->first();
// dd($data_balita);
// Fetch data to populate dataView
$dataView = $this->getDataInsert();
return view('pages.mst_balita.edit', compact('balita', 'dataView', 'nilai', 'data_balita'));
}
public function update(Request $request, $id)
{
$request->validate([
'balita' => 'required',
'role' => 'required',
'nilai' => 'required',
]);
$balita = Balita::find($id);
$balita->update([
'balita' => $request->balita,
'role' => $request->role,
]);
Nilai::where('kdbalita', $id)->delete();
foreach ($request->nilai as $item => $value) {
Nilai::create([
'kdbalita' => $balita->id,
'kdKriteria' => $item,
'nilai' => $value,
]);
}
return redirect()->route('balita.index')->with('success', 'Data balita berhasil diperbarui.');
}
public function destroy($id)
{
Nilai::where('kdbalita', $id)->delete();
Balita::find($id)->delete();
return redirect()->route('balita.index')->with('success', 'Data balita berhasil dihapus.');
}
private function getDataInsert()
{
$dataView = [];
$kriteria = Kriteria::all();
// Assuming you have an instance of the SubKriteria model
$subKriteriaModel = new SubKriteria();
foreach ($kriteria as $item) {
$subKriteriaData = $subKriteriaModel->getById($item->kdKriteria);
$dataView[$item->kdKriteria] = [
'nama' => $item->kriteria,
'detail' => $item->detail,
'data' => $subKriteriaData,
];
}
return $dataView;
}
}

View File

@ -1,21 +0,0 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\gurumodel;
use DataTables;
class MstGuruController extends Controller
{
public function index() {
$alamien = gurumodel::all();
return view('pages.mst_guru.index', compact('alamien'));
function create() {
return view('pages.mst_guru.form');
}
}
}

View File

@ -0,0 +1,117 @@
<?php
namespace App\Http\Controllers;
use App\Models\Balita;
use App\Models\dataBalita;
use App\Models\Kriteria;
use App\Models\Nilai;
use Illuminate\Http\Request;
class ProsesPerhitunganController extends Controller
{
public function index()
{
$balita = Balita::all();
$kriteria = Kriteria::all();
$nilai = Nilai::all();
$output = [];
// mendapatkan nilai maksimum dari setiap kdKriteria
$maxNilaiByKriteria = $nilai->groupBy('kdKriteria')->map(function ($grouped) {
return $grouped->max('nilai');
});
// Loop untuk mengumpulkan data untuk setiap balita
foreach ($balita as $b) {
$kdbalita = $b->kdbalita;
$namaBalita = $b->balita;
// Mengonversi nilai-nilai balita terpilih ke dalam bentuk array
$nilaiBalita = $nilai->where('kdbalita', $kdbalita)->toArray();
// Normalisasi nilai berdasarkan nilai maksimum untuk setiap kdKriteria
$normalizedNilai = array_map(function ($nilaiItem) use ($kriteria, $maxNilaiByKriteria) {
$matchingKriteria = $kriteria->where('kdKriteria', $nilaiItem['kdKriteria'])->first();
if ($matchingKriteria) {
$kdKriteria = $matchingKriteria->kdKriteria;
// Normalisasi nilai menggunakan nilai maksimum yang sesuai untuk setiap kdKriteria
$maxValueForKriteria = $maxNilaiByKriteria->get($kdKriteria);
if ($maxValueForKriteria) {
$normalizedValue = $nilaiItem['nilai'] / $maxValueForKriteria;
}
$nilaiItem['bobot'] = $matchingKriteria->bobot;
$nilaiItem['kriteria'] = $matchingKriteria->kriteria;
$nilaiItem['normalized'] = $normalizedValue;
$nilaiItem['nilaimaximum'] = $maxValueForKriteria;
$nilaiItem['nilai_preferensi'] = $normalizedValue * $nilaiItem['bobot'];
}
return $nilaiItem;
}, $nilaiBalita);
// Menghitung total preferensi untuk balita
$totalPreferensi = array_sum(array_column($normalizedNilai, 'nilai_preferensi'));
// Menentukan kategori gizi
if ($totalPreferensi > 90) {
$kategoriGizi = 'Gizi Baik';
} elseif ($totalPreferensi >= 81 && $totalPreferensi <= 90) {
$kategoriGizi = 'Gizi Sedang';
} elseif ($totalPreferensi >= 71 && $totalPreferensi <= 80) {
$kategoriGizi = 'Gizi Kurang';
} else {
$kategoriGizi = 'Gizi Buruk';
}
// Get additional data
$tanggal_timbang = dataBalita::where('nama_balita', $namaBalita)->value('tanggal_timbang');
$berat_badan = dataBalita::where('nama_balita', $namaBalita)->value('berat_badan');
$tinggi_badan = dataBalita::where('nama_balita', $namaBalita)->value('tinggi_badan');
// Menambahkan hasil kategori gizi tanpa melakukan perankingan
$output[] = [
'kdbalita' => $kdbalita,
'nama_balita' => $namaBalita,
'nilai' => $nilaiBalita,
'berat_badan' => $berat_badan,
'tinggi_badan' => $tinggi_badan,
'tanggal_timbang' => $tanggal_timbang,
'normalized_nilai' => $normalizedNilai,
'total_preferensi' => $totalPreferensi,
'kategori_gizi' => $kategoriGizi,
];
}
// Mengurutkan hasil berdasarkan total preferensi
usort($output, function ($a, $b) {
return $b['total_preferensi'] <=> $a['total_preferensi'];
});
// Menambahkan peringkat ke output
$currentRank = 1;
$previousTotalPreferensi = null;
foreach ($output as &$item) {
// Mengatur peringkat hanya ketika total preferensi berbeda dari entri sebelumnya
if ($item['total_preferensi'] !== $previousTotalPreferensi) {
$item['ranking'] = $currentRank;
}
// Increment the rank
$currentRank++;
}
// Mengurutkan hasil berdasarkan kdbalita
usort($output, function ($a, $b) {
return $a['kdbalita'] <=> $b['kdbalita'];
});
return view('pages.proses.index', [
'output' => $output,
]);
}
}

View File

@ -0,0 +1,106 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Balita;
use App\Models\dataBalita;
use App\Models\Role;
use App\Models\Kriteria;
use App\Models\Nilai;
class RangkingController extends Controller
{
public function index()
{
$balita = Balita::all();
$roles = Role::all();
$kriteria = Kriteria::all();
$nilai = Nilai::all();
$output = [];
// Get the maximum values for each kdKriteria
$maxNilaiByKriteria = $nilai->groupBy('kdKriteria')->map(function ($grouped) {
return $grouped->max('nilai');
});
// Loop to collect values for each balita
foreach ($balita as $b) {
$kdbalita = $b->kdbalita;
$namaBalita = $b->balita;
// dd($balita);
// Get values for the specific balita and convert to an array
$nilaiBalita = $nilai->where('kdbalita', $kdbalita)->toArray();
// Normalize the values based on the maximum value for each kdKriteria
$normalizedNilai = array_map(function ($nilaiItem) use ($kriteria, $maxNilaiByKriteria) {
$matchingKriteria = $kriteria->where('kdKriteria', $nilaiItem['kdKriteria'])->first();
if ($matchingKriteria) {
$kdKriteria = $matchingKriteria->kdKriteria;
// Normalize the value using the corresponding max value for this kdKriteria
$maxValueForKriteria = $maxNilaiByKriteria->get($kdKriteria);
if ($maxValueForKriteria) {
$normalizedValue = $nilaiItem['nilai'] / $maxValueForKriteria;
}
$nilaiItem['bobot'] = $matchingKriteria->bobot;
$nilaiItem['kriteria'] = $matchingKriteria->kriteria;
$nilaiItem['normalized'] = $normalizedValue;
$nilaiItem['nilaimaximum'] = $maxValueForKriteria;
$nilaiItem['nilai_preferensi'] = $normalizedValue * $nilaiItem['bobot'];
}
return $nilaiItem;
}, $nilaiBalita);
// Calculate the total preferensi for this balita
$totalPreferensi = array_sum(array_column($normalizedNilai, 'nilai_preferensi'));
if ($totalPreferensi > 90) {
$kategoriGizi = 'Gizi Baik';
} elseif ($totalPreferensi >= 81 && $totalPreferensi <= 90) {
$kategoriGizi = 'Gizi Sedang';
} elseif ($totalPreferensi >= 71 && $totalPreferensi <= 80) {
$kategoriGizi = 'Gizi Kurang';
} else {
$kategoriGizi = 'Gizi Buruk';
}
$tanggal_timbang = dataBalita::where('nama_balita', $namaBalita)->value('tanggal_timbang');
$berat_badan = dataBalita::where('nama_balita', $namaBalita)->value('berat_badan');
$tinggi_badan = dataBalita::where('nama_balita', $namaBalita)->value('tinggi_badan');
$nama_orangtua = dataBalita::where('nama_balita', $namaBalita)->value('nama_orangtua');
$nik = dataBalita::where('nama_balita', $namaBalita)->value('nik');
$alamat_rt_rw = dataBalita::where('nama_balita', $namaBalita)->value('alamat_rt_rw');
$jenis_kelamin = dataBalita::where('nama_balita', $namaBalita)->value('jenis_kelamin');
$tanggal_timbang = dataBalita::where('nama_balita', $namaBalita)->value('tanggal_timbang');
$tanggal_lahir = dataBalita::where('nama_balita', $namaBalita)->value('tanggal_lahir');
$umur_bulan = dataBalita::where('nama_balita', $namaBalita)->value('umur_bulan');
$output[] = [
'kdbalita' => $kdbalita,
'nama_balita' => $namaBalita,
'nilai' => $nilaiBalita,
'berat_badan' => $berat_badan,
'tinggi_badan' => $tinggi_badan,
'tanggal_timbang' => $tanggal_timbang,
'normalized_nilai' => $normalizedNilai,
'total_preferensi' => $totalPreferensi,
'kategori_gizi' => $kategoriGizi,
'nik' => $nik,
'alamat' => $alamat_rt_rw,
'jenis_kelamin' => $jenis_kelamin,
'tanggal_lahir' => $tanggal_lahir,
'umur_bulan' => $umur_bulan,
'nama_orangtua'=> $nama_orangtua
];
}
// dd($output);
return view('pages.data_penilaian.index', [
'output' => $output,
]);
}
}

View File

@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Role;
use App\Models\Player;
class RoleController extends Controller
{
public function index()
{
$roles = Role::all();
$data_role = Role::all();
$playerselected = Player::all(); // Gantilah dengan model Player yang sesuai
return view('role.index', compact('roles', 'data_role', 'playerselected'));
}
public function create()
{
return view('role.create');
}
public function store(Request $request)
{
$request->validate([
'namaRole' => 'required|string',
]);
$role = new Role([
'nama' => strtoupper($request->input('namaRole')),
]);
$role->save();
return redirect()->route('role.index');
}
public function edit($id)
{
$role = Role::find($id);
return view('role.edit', compact('role'));
}
public function update(Request $request, $id)
{
$request->validate([
'namaRole' => 'required|string',
]);
$role = Role::find($id);
$role->nama = strtoupper($request->input('namaRole'));
$role->save();
return redirect()->route('role.index');
}
public function destroy($id)
{
$role = Role::find($id);
$role->delete();
return redirect()->route('role.index');
}
}

View File

@ -0,0 +1,21 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\balitamodel;
use DataTables;
class MstBalitaController extends Controller
{
public function index() {
$gizi = balitamodel::all();
return view('pages.mst_balita.index', compact('gizi'));
function create() {
return view('pages.mst_balita.form');
}
}
}

61
app/Models/Balita.php Normal file
View File

@ -0,0 +1,61 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Balita extends Model
{
protected $table = 'balita';
protected $primaryKey = 'kdbalita'; // Ganti 'kdbalita' dengan nama kolom kunci utama yang sesuai
public $timestamps = false;
protected $fillable = ['balita', 'id_role'];
public function getBalitasByRoleId($role_id)
{
return $this->where('id_role', $role_id)->get();
}
public function Nilai()
{
return $this->hasOne(Nilai::class, 'kdbalita', 'kdbalita');
}
public function getAllBalitas()
{
return $this->all();
}
public function getNilaiByBalita($id)
{
return $this->select('balita.kdbalita', 'balita.balita', 'kriteria.kdKriteria', 'nilai')
->join('nilai', 'balita.kdbalita', '=', 'nilai.kdbalita')
->join('kriteria', 'kriteria.kdKriteria', '=', 'nilai.kdKriteria')
->where('balita.kdbalita', $id)
->get();
}
public function insertBalita($data)
{
return $this->create($data);
}
public function updateBalita($id, $data)
{
return $this->where('kdbalita', $id)->update($data);
}
public function deleteBalita($id)
{
return $this->where('kdbalita', $id)->delete();
}
public function getBalitasSelect($role_id)
{
return $this->where('id_role', $role_id)->get();
}
public function getLastBalitaID()
{
return $this->select('kdbalita')->orderBy('kdbalita', 'DESC')->first();
}
}

View File

@ -2,16 +2,57 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Kriteria extends Model
{
use HasFactory;
protected $table = 'mst_kriteria';
public $timestamps = false;
protected $table = 'kriteria';
protected $primaryKey = 'kdKriteria';
protected $fillable = [
'kode_kriteria', 'nama_kriteria', 'bobot_kriteria',
'kriteria', 'sifat', 'bobot', 'detail',
];
public function subkriteria()
{
return $this->hasMany(SubKriteria::class, 'kdKriteria', 'id'); // Adjust the column names as needed
}
public function getAll()
{
return $this->all();
}
public function getById($id)
{
return $this->find($id);
}
public function insert($data)
{
return $this->create($data);
}
public function updateKriteria($id, $data)
{
$kriteria = $this->find($id);
if ($kriteria) {
return $kriteria->update($data);
}
return false;
}
public function deleteById($id)
{
return $this->where('kdKriteria', $id)->delete();
}
public function getLastID()
{
return $this->select('kdKriteria')->orderBy('kdKriteria', 'desc')->first();
}
public function getBobotKriteria()
{
return $this->select('kriteria', 'bobot')->get();
}
}

44
app/Models/Nilai.php Normal file
View File

@ -0,0 +1,44 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Nilai extends Model
{
protected $table = 'nilai';
protected $primaryKey = 'id'; // Ganti 'id' dengan nama kolom kunci utama yang sesuai
public $timestamps = false;
protected $fillable = ['kdbalita', 'kdKriteria', 'nilai'];
public function getPlayerNilai()
{
return $this->select('kdbalita', 'kdKriteria', 'nilai')
->join('balita', 'balita.kdbalita', '=', 'nilai.kdbalita')
->join('kriteria', 'kriteria.kdKriteria', '=', 'nilai.kdKriteria')
->get();
}
public function getNilaiByPlayer($id)
{
return $this->select('nilai.kdbalita', 'balita', 'nilai.kdKriteria', 'nilai')
->join('balita', 'balita.kdbalita', '=', 'nilai.kdbalita')
->join('kriteria', 'kriteria.kdKriteria', '=', 'nilai.kdKriteria')
->where('nilai.kdbalita', $id)
->groupBy('nilai.kdbalita', 'balita', 'nilai.kdKriteria', 'nilai')
->get();
}
public function updateNilai()
{
return $this->where('kdbalita', $this->kdbalita)
->where('kdKriteria', $this->kdKriteria)
->update(['nilai' => $this->nilai]);
}
public function deleteNilai($id)
{
return $this->where('kdbalita', $id)->delete();
}
}

44
app/Models/Role.php Normal file
View File

@ -0,0 +1,44 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
protected $table = 'role';
protected $primaryKey = 'id'; // Ganti 'id' dengan nama kolom kunci utama yang sesuai
public $timestamps = false;
protected $fillable = ['namaRole'];
public function getAllRoles()
{
return $this->all();
}
public function getNilaiByRole($id)
{
return $this->where('id', $id)->get();
}
public function getRoleById($id)
{
return $this->find($id);
}
public function insertRole($data)
{
return $this->create($data);
}
public function updateRole($id, $data)
{
return $this->where('id', $id)->update($data);
}
public function deleteRole($id)
{
return $this->where('id', $id)->delete();
}
}

View File

@ -0,0 +1,46 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class SubKriteria extends Model
{
protected $table = 'subkriteria';
public $timestamps = false;
protected $fillable = ['subKriteria', 'value', 'kdKriteria'];
public function getAll()
{
return DB::table($this->table)->get()->all();
}
public function getById($kdKriteria)
{
return DB::table($this->table)->where('kdKriteria', $kdKriteria)->get()->all();
}
public function getSubKriteriaByKdKriteria($kdKriteria)
{
return $this->where('kdKriteria', $kdKriteria)->get();
}
public function insertData($data)
{
return DB::table($this->table)->insert($data);
}
public function updateData($kdSubKriteria, $data)
{
return DB::table($this->table)
->where('kdSubKriteria', $kdSubKriteria)
->update($data);
}
public function deleteData($kdKriteria)
{
return DB::table($this->table)
->where('kdKriteria', $kdKriteria)
->delete();
}
}

16
app/Models/dataBalita.php Normal file
View File

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class dataBalita extends Model
{
protected $table = 'data_balita';
protected $fillable = [
'nama_balita', 'nik', 'nama_orangtua', 'alamat_rt_rw', 'jenis_kelamin',
'tanggal_timbang', 'tanggal_lahir', 'umur_bulan', 'berat_badan', 'tinggi_badan',
];
}

View File

@ -1,15 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class gurumodel extends Model
{
use HasFactory;
protected $fillable = [
'nama', 'nipa', 'email', 'kabupaten','nohp2',
];
}

View File

@ -14,6 +14,7 @@
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^8.0",
"laravel/tinker": "^2.0",
"maatwebsite/excel": "^1.1",
"yajra/laravel-datatables-oracle": "^9.21"
},
"require-dev": {

125
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ac82260fe1b4545e08e870e35c9b78a5",
"content-hash": "09c77649d3f099069ab1e18da60143fc",
"packages": [
{
"name": "asm89/stack-cors",
@ -1653,6 +1653,65 @@
],
"time": "2023-08-05T12:09:49+00:00"
},
{
"name": "maatwebsite/excel",
"version": "v1.1.5",
"source": {
"type": "git",
"url": "https://github.com/Maatwebsite/Laravel-Excel.git",
"reference": "0c67aba8387726458d42461eae91a3415593bbc4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/0c67aba8387726458d42461eae91a3415593bbc4",
"reference": "0c67aba8387726458d42461eae91a3415593bbc4",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"phpoffice/phpexcel": "~1.8.0"
},
"require-dev": {
"mockery/mockery": "~0.9",
"orchestra/testbench": "~2.2.0@dev",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Maatwebsite\\Excel\\": "src/"
},
"classmap": [
"src/Maatwebsite/Excel",
"tests/TestCase.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL"
],
"authors": [
{
"name": "Maatwebsite.nl",
"email": "patrick@maatwebsite.nl"
}
],
"description": "An eloquent way of importing and exporting Excel and CSV in Laravel 4 with the power of PHPExcel",
"keywords": [
"PHPExcel",
"batch",
"csv",
"excel",
"export",
"import",
"laravel"
],
"support": {
"issues": "https://github.com/Maatwebsite/Laravel-Excel/issues",
"source": "https://github.com/Maatwebsite/Laravel-Excel/tree/master"
},
"time": "2014-07-10T09:06:07+00:00"
},
{
"name": "monolog/monolog",
"version": "2.9.1",
@ -2131,6 +2190,68 @@
},
"time": "2022-01-27T09:35:39+00:00"
},
{
"name": "phpoffice/phpexcel",
"version": "1.8.1",
"source": {
"type": "git",
"url": "https://github.com/PHPOffice/PHPExcel.git",
"reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/372c7cbb695a6f6f1e62649381aeaa37e7e70b32",
"reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32",
"shasum": ""
},
"require": {
"ext-xml": "*",
"ext-xmlwriter": "*",
"php": ">=5.2.0"
},
"type": "library",
"autoload": {
"psr-0": {
"PHPExcel": "Classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL"
],
"authors": [
{
"name": "Maarten Balliauw",
"homepage": "http://blog.maartenballiauw.be"
},
{
"name": "Mark Baker"
},
{
"name": "Franck Lefevre",
"homepage": "http://blog.rootslabs.net"
},
{
"name": "Erik Tilt"
}
],
"description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
"homepage": "http://phpexcel.codeplex.com",
"keywords": [
"OpenXML",
"excel",
"php",
"spreadsheet",
"xls",
"xlsx"
],
"support": {
"issues": "https://github.com/PHPOffice/PHPExcel/issues",
"source": "https://github.com/PHPOffice/PHPExcel/tree/master"
},
"abandoned": "phpoffice/phpspreadsheet",
"time": "2015-05-01T07:00:55+00:00"
},
{
"name": "phpoption/phpoption",
"version": "1.9.1",
@ -7777,5 +7898,5 @@
"php": "^7.3 || ^8.0"
},
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.6.0"
}

View File

@ -1,34 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateMstKriteriaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('mst_kriteria', function (Blueprint $table) {
$table->id();
$table->string('kode_kriteria');
$table->string('nama_kriteria');
$table->integer('bobot_kriteria');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('mst_kriteria');
}
}

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateKriteriaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('kriteria', function (Blueprint $table) {
$table->id('kdKriteria');
$table->string('kriteria', 100);
$table->char('sifat', 1);
$table->integer('bobot');
$table->text('detail');
});
}
public function down()
{
Schema::dropIfExists('kriteria');
}
}

View File

@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateGurumodelsTable extends Migration
class CreateRoleTable extends Migration
{
/**
* Run the migrations.
@ -13,19 +13,14 @@ class CreateGurumodelsTable extends Migration
*/
public function up()
{
Schema::create('gurumodels', function (Blueprint $table) {
Schema::create('role', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('nama', 255);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('gurumodels');
Schema::dropIfExists('role');
}
}

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBalitaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('balita', function (Blueprint $table) {
$table->id('kdbalita');
$table->string('balita', 50);
$table->unsignedBigInteger('id_role');
$table->foreign('id_role')->references('id')->on('role');
});
}
public function down()
{
Schema::dropIfExists('balita');
}
}

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSubkriteriaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('subkriteria', function (Blueprint $table) {
$table->id('kdSubKriteria');
$table->string('subKriteria', 50);
$table->integer('value');
$table->unsignedBigInteger('kdKriteria');
$table->foreign('kdKriteria')->references('kdKriteria')->on('kriteria');
});
}
public function down()
{
Schema::dropIfExists('subkriteria');
}
}

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateNilaiTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('nilai', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('kdbalita');
$table->unsignedBigInteger('kdKriteria');
$table->integer('nilai');
$table->unique(['kdbalita', 'kdKriteria']);
$table->foreign('kdbalita')->references('kdbalita')->on('balita'); // Corrected typo here
$table->foreign('kdKriteria')->references('kdKriteria')->on('kriteria');
});
}
public function down()
{
Schema::dropIfExists('nilai');
}
}

View File

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBalitasTable extends Migration
{
public function up()
{
Schema::create('data_balita', function (Blueprint $table) {
$table->id();
$table->string('nama_balita');
$table->string('nik');
$table->string('nama_orangtua');
$table->string('alamat_rt_rw');
$table->tinyInteger('jenis_kelamin')->comment('1: Laki-laki, 2: Perempuan');
$table->date('tanggal_timbang');
$table->date('tanggal_lahir');
$table->integer('umur_bulan');
$table->decimal('berat_badan', 5, 2); // Misalnya, 5 digit dengan 2 digit di belakang koma
$table->decimal('tinggi_badan', 5, 2); // Misalnya, 5 digit dengan 2 digit di belakang koma
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('balitas');
}
}

View File

@ -15,6 +15,9 @@ class DatabaseSeeder extends Seeder
{
$this->call([
UsersSeeder::class,
RoleSeeder::class,
KriteriaSeeder::class,
SubkriteriaSeeder::class,
]);
}
}

View File

@ -0,0 +1,33 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class KriteriaSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Insert data into kriteria table
DB::table('kriteria')->insert([
[
'kriteria' => 'C1',
'sifat' => 'B',
'bobot' => 50,
'detail' => 'Berat Badan',
],
[
'kriteria' => 'C2',
'sifat' => 'B',
'bobot' => 50,
'detail' => 'Tinggi Badan',
],
]);
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Insert data into role table
DB::table('role')->insert([
['nama' => 'laki-laki'],
['nama' => 'perempuan'],
]);
}
}

View File

@ -0,0 +1,61 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class SubkriteriaSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Insert data into subkriteria table
DB::table('subkriteria')->insert([
[
'subKriteria' => 'Sangat Kurang',
'value' => 1,
'kdKriteria' => 1, // Sesuaikan dengan kdKriteria dari tabel kriteria
],
[
'subKriteria' => 'Kurang',
'value' => 2,
'kdKriteria' => 1,
],
[
'subKriteria' => 'Normal',
'value' => 3,
'kdKriteria' => 1,
],
[
'subKriteria' => 'Lebih',
'value' => 4,
'kdKriteria' => 1,
],
[
'subKriteria' => 'Sangat Pendek',
'value' => 1,
'kdKriteria' => 2, // Sesuaikan dengan kdKriteria dari tabel kriteria
],
[
'subKriteria' => 'Pendek',
'value' => 2,
'kdKriteria' => 2,
],
[
'subKriteria' => 'Normal',
'value' => 3,
'kdKriteria' => 2,
],
[
'subKriteria' => 'Tinggi',
'value' => 4,
'kdKriteria' => 2,
],
]);
}
}

View File

@ -16,7 +16,7 @@ class UsersSeeder extends Seeder
{
$users = [
[
'name' => 'Yuliana Dewi',
'name' => 'Dwi Nur Ellisa',
'username' => 'admin',
'password' => bcrypt('admin'),
'roles' => 'admin',

View File

@ -1,7 +1,7 @@
<footer class="sticky-footer bg-white">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span>All rights reserved by <a href="https://startbootstrap.com/theme/sb-admin-2" style="font-weight: bold">Start Bootstrap</a>. Designed and Developed by <b>Yuliana Dewi</b></span>
<span>All rights reserved by <a href="https://startbootstrap.com/theme/sb-admin-2" style="font-weight: bold">Start Bootstrap</a>. Designed and Developed by <b>Dwi Nur Ellisa</b></span>
</div>
</div>
</footer>

View File

@ -5,7 +5,7 @@
<i class="fa fa-bars"></i>
</button>
<h6 style="font-weight: bold; margin-top:10px">Sistem Pendukung Keputusan - Penilaian Kinerja Guru</h6>
<h6 style="font-weight: bold; margin-top:10px">Sistem Pendukung Keputusan - Penilaian Status Gizi Balita</h6>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
@ -20,7 +20,7 @@
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<!-- <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
@ -28,7 +28,7 @@
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<div class="dropdown-divider"></div>
<div class="dropdown-divider"></div> -->
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout

View File

@ -16,58 +16,28 @@
<hr class="sidebar-divider">
<div class="sidebar-heading">Master Data</div>
<li class="nav-item">
<a class="nav-link {{ request()->segment(1) == 'data-guru' ||
<a class="nav-link {{ request()->segment(1) == 'data-balita' ||
request()->segment(1) == 'data-alternatif' ||
request()->segment(1) == 'data-kriteria' ||
request()->segment(1) == 'data-sub-kriteria' ? '' : 'collapsed'}}" href="#" data-toggle="collapse" data-target="#collapse2"
aria-expanded="true" aria-controls="collapse2">
request()->segment(1) == 'data-sub-kriteria' ? '' : 'collapsed'}}" href="#" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">
<i class="fas fa-fw fa-list"></i>
<span>Data</span>
</a>
<div id="collapse2" class="collapse {{ request()->segment(1) == 'data-guru' ||
<div id="collapse2" class="collapse {{ request()->segment(1) == 'data-balita' ||
request()->segment(1) == 'data-alternatif' ||
request()->segment(1) == 'data-kriteria' ||
request()->segment(1) == 'data-sub-kriteria' ? 'show' : ''}}" aria-labelledby="heading2" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
@if (Auth::user()->roles =="admin")
<a class="collapse-item {{ request()->segment(1) == 'data-guru' ? 'active' : ''}}" href="{{ route('data_guru') }}">Guru</a>
@endif
<a class="collapse-item {{ request()->segment(1) == 'data-alternatif' ? 'active' : ''}}" href="{{ route('data_alternatif') }}">Alternatif</a>
<a class="collapse-item {{ request()->segment(1) == 'data-lengkap' ? 'active' : ''}}" href="{{ route('data-lengkap') }}">Data Balita</a>
<a class="collapse-item {{ request()->segment(1) == 'data-kriteria' ? 'active' : ''}}" href="{{ route('data_kriteria') }}">Kriteria</a>
<a class="collapse-item {{ request()->segment(1) == 'penilaian-alternatif' ? 'active' : ''}}" href="{{ route('penilaian_alternatif') }}">Sub Kriteria</a>
<a class="collapse-item {{ request()->segment(1) == 'data-balita' ? 'active' : ''}}" href="{{ route('data_balita') }}">Alternatif</a>
<a class="collapse-item {{ request()->segment(1) == 'proses-perhitungan' ? 'active' : ''}}" href="{{ route('proses-perhitungan') }}">Proses SAW</a>
<a class="collapse-item {{ request()->segment(1) == 'data-penilaian' ? 'active' : ''}}" href="{{ route('data-penilaian') }}">Hasil Penilaian</a>
@endif
</div>
</div>
</li>
{{-- <li class="nav-item {{ request()->segment(1) == 'bobot-kriteria' ? 'active' : ''}}">
<a class="nav-link" href="{{ route('data_bobot') }}">
<i class="fas fa-fw fa-balance-scale"></i>
<span>Data Bobot Kriteria</span></a>
</li>
<li class="nav-item {{ request()->segment(1) == 'data-kriteria' ? 'active' : ''}}">
<a class="nav-link" href="{{ route('data_kriteria') }}">
<i class="fas fa-fw fa-list"></i>
<span>Data Kriteria</span></a>
</li> --}}
<hr class="sidebar-divider">
<div class="sidebar-heading">Main Navigation</div>
<li class="nav-item {{ request()->segment(1) == 'penilaian-alternatif' ? 'active' : ''}}">
<a class="nav-link" href="{{ route('penilaian_alternatif') }}">
<i class="fas fa-fw fa-arrow-right"></i>
<span>Penilaian Alternatif</span>
</a>
</li>
<li class="nav-item {{ request()->segment(1) == 'proses-saw' ? 'active' : ''}}">
<a class="nav-link" href="{{ route('proses_saw') }}">
<i class="fas fa-fw fa-arrow-right"></i>
<span>Proses Perhitungan</span>
</a>
</li>
<li class="nav-item {{ request()->segment(1) == 'proses-saw' ? 'active' : ''}}">
<a class="nav-link" href="{{ route('hapus_hasil') }}">
<i class="fas fa-fw fa-arrow-right"></i>
<span>Data Hasil Keputusan</span>
</a>
</li>
@if (Auth::user()->roles == "admin")
<hr class="sidebar-divider m-0">
<li class="nav-item {{ request()->segment(1) == 'data-pengguna' ? 'active' : ''}}">

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>SPK Penilaian Kinerja Guru - @yield('title')</title>
<title>SPK Penilaian Status Gizi Balita - @yield('title')</title>
@include('component.css')
<style>

View File

@ -0,0 +1,46 @@
@extends('layout.auth')
@section('title', 'Login')
@push('css')
<style>
.form-control-user {
border-radius: 5px !important;
}
</style>
@endpush
@section('content')
<div class="container py-5 h-100">
<div class="row d-flex align-items-center justify-content-center h-100">
<div class="col-md-8 col-lg-7 col-xl-6">
<img src="https://mdbcdn.b-cdn.net/img/Photos/new-templates/bootstrap-login-form/draw2.svg" class="img-fluid" alt="Phone image">
</div>
<div class="col-md-7 col-lg-5 col-xl-5 offset-xl-1">
<div class="text-center">
<h5 class="text-gray-900 mb-5">SPK - Penilaian Status Gizi Balita<br></h5>
</div>
@if (session('message'))
<div class="row">
<div class="col-lg-12">
<div class="alert alert-danger">{{ session('message') }}</div>
</div>
</div>
@endif
<form class="user" action="{{ route('login.process') }}" method="post">
@csrf
<div class="form-outline mb-4">
<input type="text" name="username" id="form1Example13" class="form-control form-control-lg" />
<label class="form-label" for="form1Example13">Username</label>
</div>
<!-- Password input -->
<div class="form-outline mb-4">
<input type="password" name="password" id="form1Example23" class="form-control form-control-lg" />
<label class="form-label" for="form1Example23">Password</label>
</div>
<button type="submit" class="btn btn-sm btn-primary">Login</button>
</form>
</div>
</div>
</div>
@section('content')

View File

@ -2,56 +2,38 @@
@section('title', 'Login')
@push('css')
<style>
.form-control-user {
border-radius: 5px!important;
}
</style>
@endpush
@section('content')
<div class="login-box">
<div class="container">
<!-- Outer Row -->
<div class="row justify-content-center">
<div class="col-xl-5 col-lg-12 col-md-9">
<div class="card border-0 shadow-lg my-5">
<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="row">
<div class="col-lg-12">
<div class="p-5" style="margin-bottom: 120px">
<div class="text-center">
<h5 class="text-gray-900 mb-5">SPK - Penilaian Kinerja Guru<br>SD AL BAITUL AMIEN JEMBER</h5>
</div>
@if (session('message'))
<div class="row">
<div class="col-lg-12">
<div class="alert alert-danger">{{ session('message') }}</div>
</div>
</div>
@endif
<form class="user" action="{{ route('login.process') }}" method="post">
@csrf
<div class="form-group">
<input type="text" name="username" class="form-control form-control-user" placeholder="Username">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control form-control-user" placeholder="Password">
</div>
<div class="form-group row">
<div class="offset-6 col-xl-6 text-right">
<button type="submit" class="btn btn-sm btn-primary">Login</button>
</div>
</div>
</form>
</div>
</div>
</div>
<section class="vh-100">
<div class="container py-5 h-100">
<div class="row d-flex align-items-center justify-content-center h-100">
<div class="col-md-8 col-lg-7 col-xl-6">
<img src="https://mdbcdn.b-cdn.net/img/Photos/new-templates/bootstrap-login-form/draw2.svg" class="img-fluid" alt="Phone image">
</div>
<div class="col-md-7 col-lg-5 col-xl-5 offset-xl-1">
<div class="text-center">
<h5 class="text-gray-900 mb-5">SPK - Penilaian Status Gizi Balita<br></h5>
</div>
@if (session('message'))
<div class="row">
<div class="col-lg-12">
<div class="alert alert-danger">{{ session('message') }}</div>
</div>
</div>
@endif
<form class="user" action="{{ route('login.process') }}" method="post">
@csrf
<div class="form-outline mb-4">
<input type="text" name="username" id="form1Example13" class="form-control form-control-lg" />
<label class="form-label" for="form1Example13">Username</label>
</div>
<!-- Password input -->
<div class="form-outline mb-4">
<input type="password" name="password" id="form1Example23" class="form-control form-control-lg" />
<label class="form-label" for="form1Example23">Password</label>
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block">Sign in</button>
</form>
</div>
</div>
</div>
</div>
@endsection
</section>

View File

@ -1,7 +1,22 @@
@extends('layout.master')
@section('title', 'Dashboard')
@push('css')
<style>
/* Gaya CSS untuk footer */
.footer {
position: absolute;
bottom: 0;
width: 100%;
background-color: #f8f9fa; /* Atur warna latar belakang sesuai kebutuhan */
padding: 10px; /* Atur padding sesuai kebutuhan */
text-align: center; /* Atur penataan teks sesuai kebutuhan */
border-top: 1px solid #e3e6f0; /* Atur garis tepi sesuai kebutuhan */
}
</style>
@endpush
@section('content')
<!-- Content Row -->
<div class="row">
@ -12,8 +27,8 @@
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
Earnings (Monthly)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
Jumlah Balita</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ $countdataBalita }}</div>
</div>
<div class="col-auto">
<i class="fas fa-calendar fa-2x text-gray-300"></i>
@ -30,8 +45,8 @@
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Earnings (Annual)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
Jumlah Pemeriksaan</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ $countdatanilaibalita }}</div>
</div>
<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
@ -40,285 +55,8 @@
</div>
</div>
</div>
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50" aria-valuemin="0"
aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Pending Requests Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
Pending Requests</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
</div>
<div class="col-auto">
<i class="fas fa-comments fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
<div class="row">
<!-- Area Chart -->
<div class="col-xl-8 col-lg-7">
<div class="card shadow mb-4">
<!-- Card Header - Dropdown -->
<div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6>
<div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="chart-area">
<canvas id="myAreaChart"></canvas>
</div>
</div>
</div>
</div>
<!-- Pie Chart -->
<div class="col-xl-4 col-lg-5">
<div class="card shadow mb-4">
<!-- Card Header - Dropdown -->
<div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6>
<div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="chart-pie pt-4 pb-2">
<canvas id="myPieChart"></canvas>
</div>
<div class="mt-4 text-center small">
<span class="mr-2">
<i class="fas fa-circle text-primary"></i> Direct
</span>
<span class="mr-2">
<i class="fas fa-circle text-success"></i> Social
</span>
<span class="mr-2">
<i class="fas fa-circle text-info"></i> Referral
</span>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
<div class="row">
<!-- Content Column -->
<div class="col-lg-6 mb-4">
<!-- Project Card Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Projects</h6>
</div>
<div class="card-body">
<h4 class="small font-weight-bold">Server Migration <span
class="float-right">20%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-danger" role="progressbar" style="width: 20%"
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Sales Tracking <span
class="float-right">40%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-warning" role="progressbar" style="width: 40%"
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Customer Database <span
class="float-right">60%</span></h4>
<div class="progress mb-4">
<div class="progress-bar" role="progressbar" style="width: 60%"
aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Payout Details <span
class="float-right">80%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-info" role="progressbar" style="width: 80%"
aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Account Setup <span
class="float-right">Complete!</span></h4>
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 100%"
aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
<!-- Color System -->
<div class="row">
<div class="col-lg-6 mb-4">
<div class="card bg-primary text-white shadow">
<div class="card-body">
Primary
<div class="text-white-50 small">#4e73df</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-success text-white shadow">
<div class="card-body">
Success
<div class="text-white-50 small">#1cc88a</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-info text-white shadow">
<div class="card-body">
Info
<div class="text-white-50 small">#36b9cc</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-warning text-white shadow">
<div class="card-body">
Warning
<div class="text-white-50 small">#f6c23e</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-danger text-white shadow">
<div class="card-body">
Danger
<div class="text-white-50 small">#e74a3b</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-secondary text-white shadow">
<div class="card-body">
Secondary
<div class="text-white-50 small">#858796</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-light text-black shadow">
<div class="card-body">
Light
<div class="text-black-50 small">#f8f9fc</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-dark text-white shadow">
<div class="card-body">
Dark
<div class="text-white-50 small">#5a5c69</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<!-- Illustrations -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Illustrations</h6>
</div>
<div class="card-body">
<div class="text-center">
<img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
src="{{ url('sbAdmin/img/undraw_posting_photo.svg') }}" alt="...">
</div>
<p>Add some quality, svg illustrations to your project courtesy of <a
target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
constantly updated collection of beautiful svg images that you can use
completely free and without attribution!</p>
<a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on
unDraw &rarr;</a>
</div>
</div>
<!-- Approach -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Development Approach</h6>
</div>
<div class="card-body">
<p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce
CSS bloat and poor page performance. Custom CSS classes are used to create
custom components and custom utility classes.</p>
<p class="mb-0">Before working with this theme, you should become familiar with the
Bootstrap framework, especially the utility classes.</p>
</div>
</div>
</div>
</div>
<!-- End Content Row -->
@endsection
@push('js')
@ -328,5 +66,4 @@
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/chart-area-demo.js') }}"></script>
<script src="{{ url('sbAdmin/js/demo/chart-pie-demo.js') }}"></script>
@endpush
@endpush

View File

@ -1,49 +0,0 @@
@extends('layout.master')
@section('title', 'Data Alternatif')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_alternatif') }}" class="btn btn-sm btn-primary">Tambah Alternatif</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Kode</th>
<th>Alternatif</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>A1</td>
<td>Alternatif 1</td>
<td class="text-center">
<button class="btn btn-sm btn-warning">Edit</button>
<button class="btn btn-sm btn-danger">Hapus</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -0,0 +1,54 @@
@extends('layout.master')
@section('title', 'Edit Kriteria')
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body">
<form action="{{ route('update_kriteria', ['id' => $id]) }}" method="POST">
@csrf
@method('PUT')
<div class="form-group">
<label for="kode_kriteria">Kode Kriteria</label>
<input type="text" class="form-control" name="kode_kriteria" value="{{ $kriteria->kriteria }}">
</div>
<div class="form-group">
<label for="sifat">Sifat Kriteria</label>
<select class="form-control" name="sifat">
<option value="B" {{ $kriteria->sifat == 'B' ? 'selected' : '' }}>Benefit</option>
<option value="C" {{ $kriteria->sifat == 'C' ? 'selected' : '' }}>Cost</option>
</select>
</div>
<div class="form-group">
<label for="nama_kriteria">Nama Kriteria</label>
<input type="text" class="form-control" name="nama_kriteria" value="{{ $kriteria->detail }}">
</div>
<div class="form-group">
<label for="bobot_kriteria">Bobot Kriteria</label>
<input type="number" class="form-control" name="bobot_kriteria" value="{{ $kriteria->bobot }}">
</div>
<div class="form-group">
<label for="itemKriteria">Item Kriteria</label>
@if ($subkriteria)
@foreach ($subkriteria as $item)
<div class="mb-3">
<input type="text" class="form-control" name="itemKriteria[]" value="{{ $item->subKriteria }}">
</div>
@endforeach
@endif
</div>
<button class="btn btn-primary" type="submit">Perbarui</button>
</form>
</div>
</div>
@endsection

View File

@ -1,36 +1,116 @@
@extends('layout.master')
@section('title', 'Tambah Kriteria')
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="{{ route('store_kriteria') }}" method="POST">
@csrf
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="">Kode Kriteria</label>
<input type="text" class="form-control" name="kode_kriteria">
</div>
<div class="card border-top-primary shadow mb-4">
<form action="{{ route('store_kriteria') }}" method="POST" id="formTambahKriteria">
@csrf
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="">Kode Kriteria</label>
<input type="text" class="form-control" name="kode_kriteria">
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Nama Kriteria</label>
<input type="text" class="form-control" name="nama_kriteria">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="inputSifat">Sifat</label><br>
<label class="radio-inline">
<input type="radio" name="sifat" value="B"> Benefit
</label>
<label class="radio-inline">
<input type="radio" name="sifat" value="C"> Cost
</label>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Bobot Kriteria</label>
<input type="number" class="form-control" name="bobot_kriteria">
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Nama Kriteria</label>
<input type="text" class="form-control" name="nama_kriteria">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Bobot Kriteria</label>
<input type="number" class="form-control" name="bobot_kriteria">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label for="">Item Kriteria</label>
<div class="mb-3">
<input type="itemKriteria1" class="form-control" name="itemKriteria1" placeholder="Value 1">
</div>
<div class="mb-3">
<input type="itemKriteria2" class="form-control" name="itemKriteria2" placeholder="Value 2">
</div>
<div class="mb-3">
<input type="itemKriteria3" class="form-control" name="itemKriteria3" placeholder="Value 3">
</div>
<div class="mb-3">
<input type="itemKriteria4" class="form-control" name="itemKriteria4" placeholder="Value 4">
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
<button class="btn btn-sm btn-primary">Tambah</button>
</div>
</form>
</div>
</div>
<div class="card-footer text-left">
<button type="button" class="btn btn-primary" onclick="konfirmasiTambah()">Tambah</button>
<a href="{{ route('data_kriteria') }}" class="btn btn-secondary">Kembali</a>
</div>
</form>
</div>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>
<script>
function konfirmasiTambah() {
// Validasi input
var kode_kriteria = $('#kode_kriteria').val();
var sifat = $("input[name='sifat']:checked").val();
var nama_kriteria = $('#nama_kriteria').val();
var bobot_kriteria = $('#bobot_kriteria').val();
var itemKriteria1 = $('#itemKriteria1').val();
var itemKriteria2 = $('#itemKriteria2').val();
var itemKriteria3 = $('#itemKriteria3').val();
var itemKriteria4 = $('#itemKriteria4').val();
if (
kode_kriteria === '' ||
sifat === undefined ||
nama_kriteria === '' ||
bobot_kriteria === '' ||
itemKriteria1 === '' ||
itemKriteria2 === '' ||
itemKriteria3 === '' ||
itemKriteria4 === ''
) {
Swal.fire({
title: 'Peringatan',
text: 'Semua kolom harus diisi!',
icon: 'warning',
confirmButtonColor: '#3085d6',
confirmButtonText: 'OK'
});
} else {
// Jika semua input terisi, tampilkan popup konfirmasi
Swal.fire({
title: 'Konfirmasi',
text: 'Apakah Anda yakin ingin menambahkan kriteria?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Tambahkan!',
cancelButtonText: 'Batal'
}).then((result) => {
if (result.isConfirmed) {
// Jika user mengonfirmasi, submit form
document.getElementById('formTambahKriteria').submit();
}
});
}
}
</script>
@endsection

View File

@ -3,38 +3,106 @@
@section('title', 'Data Kriteria')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
<link href="{{ asset('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_kriteria') }}" class="btn btn-sm btn-primary">Tambah Kriteria</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th width="5%">Kode</th>
<th>Kriteria</th>
<th class="text-center" width="5%">Bobot</th>
<th class="text-center" width="30%">Action</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_kriteria') }}" class="btn btn-sm btn-primary">Tambah Kriteria</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th width="5%">Kode</th>
<th width="5%">Sifat</th>
<th>Kriteria</th>
<th class="text-center" width="5%">Bobot</th>
<th class="text-center" width="30%">Action</th>
</tr>
</thead>
<tbody>
@foreach($kriteria as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item->kriteria }}</td>
<td>
@if($item->sifat == 'B')
Benefit
@elseif($item->sifat == 'C')
Cost
@endif
</td>
<td>{{ $item->detail }}</td>
<td class="text-center">{{ $item->bobot }}</td>
<td class="text-center">
<a href="{{ route('edit_kriteria', ['id' => $item->kdKriteria]) }}" class="btn btn-warning btn-sm">Edit</a>
<!-- Button to trigger the modal -->
<button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#myModal{{ $item->kdKriteria }}">
View Details
</button>
<form action="{{ route('delete_kriteria', ['kdKriteria' => $item->kdKriteria]) }}" method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus kriteria ini?')">Delete</button>
</form>
<!-- Modal -->
<div class="modal fade" id="myModal{{ $item->kdKriteria }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Kriteria Details</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<!-- Add modal content here based on your requirements -->
Kriteria: {{ $item->kriteria }}<br>
Sifat: @if($item->sifat == 'B')
Benefit
@elseif($item->sifat == 'C')
Cost
@endif<br>
Detail: {{ $item->detail }}<br>
Bobot: {{ $item->bobot }}<br>
SubKriteria:
@foreach($subkriteria as $index2 => $item2)
@if($item->kdKriteria == $item2->kdKriteria)
{{ $item2->subKriteria }},
@endif
@endforeach
<!-- You can customize this section based on your needs -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level plugins -->
<script src="{{ asset('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ asset('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -0,0 +1,76 @@
@extends('layout.master')
@section('title', 'Edit Player')
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="{{ route('store_balita') }}" method="POST">
@csrf
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="nama_balita">Nama Balita</label>
<input type="text" class="form-control" name="nama_balita" id="nama_balita" value="{{ $balita->balita }}">
</div>
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin:</label>
<select class="form-control" name="jenis_kelamin" id="jenis_kelamin">
<option value="1" {{ $balita->id_role == '1' ? 'selected' : '' }}>laki-laki</option>
<option value="2" {{ $balita->id_role == '2' ? 'selected' : '' }}>perempuan</option>
</select>
</div>
<div class="form-group">
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-3">Kriteria</th>
<th colspan="5" class="text-center col-md-9">Nilai</th>
</tr>
</thead>
<tbody>
<?php foreach ($dataView as $item) : ?>
<tr>
<td><?php echo $item['nama'] . '(' . $item['detail'] . ')'; ?></td>
<?php
$no = 1;
foreach ($item['data'] as $dataItem) :
$isChecked = false;
if (isset($nilai)) {
foreach ($nilai as $value) {
?>
<?php
if ($value->kdKriteria == $dataItem->kdKriteria && $value->nilai == $dataItem->value) {
$isChecked = true;
break;
}
}
} elseif ($no == 3) {
$isChecked = true;
}
?>
<td>
<input type="radio" name="nilai[<?php echo $dataItem->kdKriteria ?>]" value="<?php echo $dataItem->value ?>" <?php echo $isChecked ? 'checked' : '' ?> /> <?php echo $dataItem->subKriteria; ?>
</td>
<?php
$no++;
endforeach;
?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
<button class="btn btn-sm btn-primary" type="submit">Tambah</button>
</div>
</form>
</div>
@endsection

View File

@ -0,0 +1,137 @@
@extends('layout.master')
@section('title', 'Tambah Balita')
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body">
<h5 class="card-title">Tambah Balita</h5>
<form action="{{ route('store_data') }}" method="POST" id="formTambahBalita">
@csrf
<div class="form-group">
<label for="nama_balita">Nama Balita</label>
<input type="text" class="form-control" id="nama_balita" name="nama_balita" required>
</div>
<div class="form-group">
<label for="nik">NIK</label>
<input type="text" class="form-control" id="nik" name="nik" required>
</div>
<div class="form-group">
<label for="nama_orangtua">Nama Orangtua</label>
<input type="text" class="form-control" id="nama_orangtua" name="nama_orangtua" required>
</div>
<div class="form-group">
<label for="alamat_rt_rw">Alamat RT/RW</label>
<input type="text" class="form-control" id="alamat_rt_rw" name="alamat_rt_rw" required>
</div>
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin</label>
<select class="form-control" id="jenis_kelamin" name="jenis_kelamin" required>
<option value="1">Laki-laki</option>
<option value="2">Perempuan</option>
</select>
</div>
<div class="form-group">
<label for="tanggal_lahir">Tanggal Lahir</label>
<input type="date" class="form-control" id="tanggal_lahir" name="tanggal_lahir" required>
</div>
<div class="form-group">
<label for="tanggal_timbang">Tanggal Timbang</label>
<input type="date" class="form-control" id="tanggal_timbang" name="tanggal_timbang" required>
</div>
<div class="form-group">
<label for="umur_bulan">Umur (BLN)</label>
<input type="number" class="form-control" id="umur_bulan" name="umur_bulan" required readonly>
</div>
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function() {
$('#tanggal_lahir, #tanggal_timbang').on('change', function() {
var tanggal_lahir = new Date($('#tanggal_lahir').val());
var tanggal_timbang = new Date($('#tanggal_timbang').val());
// Calculate the difference in months
var umur_bulan = (tanggal_timbang.getFullYear() - tanggal_lahir.getFullYear()) * 12 +
tanggal_timbang.getMonth() - tanggal_lahir.getMonth();
// Set umur_bulan to a minimum of 0
umur_bulan = Math.max(0, umur_bulan);
// Update the umur_bulan input field
$('#umur_bulan').val(umur_bulan);
});
});
</script>
<div class="form-group">
<label for="berat_badan">Berat Badan <span style="color: red;">*</span><span style="font-size: 13px;"> Menggunakan Titik</span></label>
<input type="number" class="form-control" id="berat_badan" name="berat_badan" step="any" required>
</div>
<div class="form-group">
<label for="tinggi_badan">Tinggi Badan <span style="color: red;">*</span><span style="font-size: 13px;"> Menggunakan Titik</span></label>
<input type="number" class="form-control" id="tinggi_badan" name="tinggi_badan" step="any" required>
</div>
<button type="button" class="btn btn-primary" onclick="validasiDanKonfirmasi()">Simpan & Hitung</button>
<a href="{{ route('data-lengkap') }}" class="btn btn-secondary">Kembali</a>
</form>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>
<script>
function validasiDanKonfirmasi() {
// Validasi input
var nama_balita = $('#nama_balita').val();
var nik = $('#nik').val();
var nama_orangtua = $('#nama_orangtua').val();
var alamat_rt_rw = $('#alamat_rt_rw').val();
var jenis_kelamin = $('#jenis_kelamin').val();
var tanggal_lahir = $('#tanggal_lahir').val();
var tanggal_timbang = $('#tanggal_timbang').val();
var umur_bulan = $('#umur_bulan').val();
var berat_badan = $('#berat_badan').val();
var tinggi_badan = $('#tinggi_badan').val();
if (
nama_balita === '' ||
nik === '' ||
nama_orangtua === '' ||
alamat_rt_rw === '' ||
jenis_kelamin === '' ||
tanggal_lahir === '' ||
tanggal_timbang === '' ||
umur_bulan === '' ||
berat_badan === '' ||
tinggi_badan === ''
) {
Swal.fire({
title: 'Peringatan',
text: 'Semua kolom harus diisi!',
icon: 'warning',
confirmButtonColor: '#3085d6',
confirmButtonText: 'OK'
});
} else {
// Jika semua input terisi, tampilkan popup konfirmasi
konfirmasiSimpan();
}
}
function konfirmasiSimpan() {
Swal.fire({
title: 'Konfirmasi',
text: 'Apakah Anda yakin ingin menyimpan data?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Simpan!',
cancelButtonText: 'Batal'
}).then((result) => {
if (result.isConfirmed) {
// Jika user mengonfirmasi, submit form
document.getElementById('formTambahBalita').submit();
}
});
}
</script>
@endsection

View File

@ -0,0 +1,78 @@
@extends('layout.master')
@section('title', 'Data Balita')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_data') }}" class="btn btn-sm btn-primary">Tambah Balita</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
<th>NIK</th>
<th>Nama Orangtua</th>
<th>Alamat RT/RW</th>
<th>Jenis Kelamin</th>
<th>Tanggal Lahir</th>
<th>Tanggal Timbang</th>
<th>Umur (BLN)</th>
<th>Berat Badan</th>
<th>Tinggi Badan</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
@foreach($balitas as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item->nama_balita }}</td>
<td>{{ $item->nik }}</td>
<td>{{ $item->nama_orangtua }}</td>
<td>{{ $item->alamat_rt_rw }}</td>
<td>{{ $item->jenis_kelamin == 1 ? 'Laki-laki' : 'Perempuan' }}</td>
<td>{{ $item->tanggal_lahir }}</td>
<td>{{ $item->tanggal_timbang }}</td>
<td>{{ $item->umur_bulan }}</td>
<td>{{ $item->berat_badan }}</td>
<td>{{ $item->tinggi_badan }}</td>
<td class="text-center">
<form action="{{ route('delete_data', ['id' => $item->id]) }}" method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus balita ini?')">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable').DataTable();
});
</script>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -0,0 +1,115 @@
@extends('layout.master')
@section('title', 'Data Penilaian')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Tanggal Timbang</th>
<th>Nama Balita</th>
<th>NIK</th>
<th>Nama Orang Tua</th>
<th>Alamat</th>
<th>Jenis Kelamin</th>
<th>Tanggal Lahir</th>
<th>Umur (bulan)</th>
<th>Berat Badan</th>
<th>Tinggi Badan</th>
<th>Nilai Preferensi</th>
<th>Kategori Gizi</th>
<th>Rangking</th>
<!-- Tambahkan kolom lainnya sesuai kebutuhan -->
<!-- <th>Aksi</th> -->
</tr>
</thead>
<tbody>
@php
$output = collect($output)->sortByDesc('total_preferensi')->values()->all();
@endphp
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['tanggal_timbang'] }}</td>
<td>{{ $item['nama_balita'] }}</td>
<td>{{ $item['nik'] }}</td>
<td>{{ $item['nama_orangtua'] }}</td>
<td>{{ $item['alamat'] }}</td>
<td>{{ $item['jenis_kelamin'] }}</td>
<td>{{ $item['tanggal_lahir'] }}</td>
<td>{{ $item['umur_bulan'] }}</td>
<td>{{ $item['berat_badan'] }}</td>
<td>{{ $item['tinggi_badan'] }}</td>
<td>{{ $item['total_preferensi'] }}</td>
<td>{{ $item['kategori_gizi'] }}</td>
<td>{{ $index + 1 }}</td>
<!-- Tambahkan informasi lainnya sesuai kebutuhan -->
<!-- <td>
<a href="javascript:void(0);" class="btn btn-primary btn-sm" onclick="printRow({{ $index }})">Print</a>
</td> -->
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="text-right mb-3">
<a href="javascript:void(0);" class="btn btn-primary" onclick="printAll()">Print All</a>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable').DataTable();
});
function printAll() {
var table = $('#datatable').DataTable();
var printWindow = window.open('', '', 'width=800,height=600');
printWindow.document.open();
printWindow.document.write('<html><head><title>SPK Penentuan Status Gizi Balita Berdasarkan Indeks Antropometri BB/Tb Menggunakan Metode Simple Additive Weighting</title>');
printWindow.document.write('<style>');
printWindow.document.write('@page { size: landscape; }'); // Atur mode cetak ke landscape
printWindow.document.write('table { border-collapse: collapse; width: 100%; }'); // Tambahkan CSS untuk mengatur ketebalan garis
printWindow.document.write('table, th, td { border: 1px solid #000; }');
printWindow.document.write('</style>');
printWindow.document.write('</head><body>');
printWindow.document.write('<h2 style="text-align: center;">Data Hasil Penilaian Status Gizi Balita</h2>');
printWindow.document.write('<table>');
// Menyimpan struktur kolom dalam variabel
var columnHeaders = $('#datatable thead tr').html();
printWindow.document.write('<thead>' + columnHeaders + '</thead>'); // Menggunakan struktur kolom yang disimpan
// Menyimpan isi tbody dalam variabel
var tbodyContent = $('#datatable tbody').html();
printWindow.document.write('<tbody>' + tbodyContent + '</tbody>'); // Menggunakan isi tbody yang disimpan
printWindow.document.write('</table>');
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.print();
}
</script>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -1,6 +1,6 @@
@extends('layout.master')
@section('title', 'Tambah Guru')
@section('title', 'Tambah Balita')
@push('css')
<style>

View File

@ -0,0 +1,6 @@
<!-- <a href="{{ route('edit_balita', ['id' => $item->kdbalita]) }}" class="btn btn-warning btn-sm">Edit</a>
<form action="{{ route('delete_balita', ['kdbalita' => $item->kdbalita]) }}" method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus balita ini?')">Delete</button>
</form> -->

View File

@ -0,0 +1,92 @@
@extends('layout.master')
@section('title', 'Detail Balita')
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="" method="">
@csrf
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="nama_balita">Nama Balita</label>
<input type="text" class="form-control" name="nama_balita" id="nama_balita" value="{{ $balita->balita }}" readonly>
</div>
<div class="form-group">
<label for="umur_balita">Umur Balita</label>
<input type="text" class="form-control" name="umur_balita" id="umur_balita" value="{{ $data_balita->umur_bulan }}" readonly>
</div>
<div class="form-group">
<label for="tinggi_balita">Tinggi Balita</label>
<input type="text" class="form-control" name="tinggi_balita" id="tinggi_balita" value="{{ $data_balita->tinggi_badan }}" readonly>
</div>
<div class="form-group">
<label for="berat_balita">Berat Balita</label>
<input type="text" class="form-control" name="berat_balita" id="berat_balita" value="{{ $data_balita->berat_badan }}" readonly>
</div>
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin:</label>
<select class="form-control" name="jenis_kelamin" id="jenis_kelamin" readonly>
<option value="1" {{ $balita->id_role == '1' ? 'selected' : '' }}>laki-laki</option>
<option value="2" {{ $balita->id_role == '2' ? 'selected' : '' }}>perempuan</option>
</select>
</div>
<div class="form-group">
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-3">Kriteria</th>
<th colspan="5" class="text-center col-md-9">Nilai</th>
</tr>
</thead>
<tbody>
@foreach ($dataView as $item)
<tr>
<td>{{ $item['nama'] . '(' . $item['detail'] . ')' }}</td>
@php
$no = 1;
@endphp
@foreach ($item['data'] as $dataItem)
@php
$isChecked = false;
if (isset($nilai)) {
foreach ($nilai as $value) {
if ($value->kdKriteria == $dataItem->kdKriteria && $value->nilai == $dataItem->value) {
$isChecked = true;
break;
}
}
} elseif ($no == 3) {
$isChecked = true;
}
@endphp
<td>
<input type="radio" name="nilai[{{ $dataItem->kdKriteria }}]" value="{{ $dataItem->value }}" {{ $isChecked ? 'checked' : '' }} />
{{ $dataItem->subKriteria }}
</td>
@php
$no++;
@endphp
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</form>
<div class="card-footer text-left">
<a class="btn btn-primary" href="{{ route('data_balita') }}">Kembali</a>
</div>
</div>
@endsection

View File

@ -0,0 +1,78 @@
@extends('layout.master')
@section('title', 'Tambah Balita')
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="{{ route('store_balita') }}" method="POST">
@csrf
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<label for="nama_balita">Nama Balita</label>
<input type="text" class="form-control" name="nama_balita" id="nama_balita">
</div>
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin:</label>
<select name="jenis_kelamin" class="form-control" id="jenis_kelamin">
<option value="">-- Pilih Role --</option>
<option value="1">Laki-laki</option>
<option value="2">perempuan</option>
</select>
</div>
<div class="form-group">
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-3">Kriteria</th>
<th colspan="5" class="text-center col-md-9">Nilai</th>
</tr>
</thead>
<tbody>
<?php foreach ($dataView as $item) : ?>
<tr>
<td><?php echo $item['nama'] . '(' . $item['detail'] . ')'; ?></td>
<?php
$no = 1;
foreach ($item['data'] as $dataItem) :
$isChecked = false;
if (isset($nilaiplayer)) {
foreach ($nilaiplayer as $value) {
?>
<script>
console.log(<?php echo json_encode($value); ?>);
</script>
<?php
if ($value->kdKriteria == $dataItem->kdKriteria && $value->nilai == $dataItem->value) {
$isChecked = true;
break;
}
}
} elseif ($no == 3) {
$isChecked = true;
}
?>
<td>
<input type="radio" name="nilai[<?php echo $dataItem->kdKriteria ?>]" value="<?php echo $dataItem->value ?>" <?php echo $isChecked ? 'checked="checked"' : '' ?> /> <?php echo $dataItem->subKriteria; ?>
</td>
<?php
$no++;
endforeach;
?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
<button class="btn btn-sm btn-primary" type="submit">Tambah</button>
</div>
</form>
</div>
@endsection

View File

@ -0,0 +1,64 @@
@extends('layout.master')
@section('title', 'Data Alternatif ')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<!-- <div class="mb-2">
<a href="{{ route('create_balita') }}" class="btn btn-sm btn-primary">Tambah Balita</a>
</div> -->
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Kode</th>
<th>Nama Balita</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
@foreach($balita as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>A{{ $index + 1 }}</td>
<td>{{ $item->balita }}</td>
<td class="text-center">
<a href="{{ route('edit_balita', ['id' => $item->kdbalita]) }}" class="btn btn-warning btn-sm">Detail</a>
<!-- <form action="{{ route('delete_balita', ['kdbalita' => $item->kdbalita]) }}" method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus balita ini?')">Delete</button>
</form> -->
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable').DataTable();
});
</script>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -1,228 +0,0 @@
@extends('layout.master')
@section('title', 'Tambah Guru')
@push('css')
<style>
.data-title{
color: red;
}
.card-footer{
display: flex;
}
</style>
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="">
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-12"><b class="data-title">(*) Data Guru</b><br><small><i>Nb: Semua field wajib di isi. Isikan tanda " - " jika ada field yang ingin dikosongi</i></small></div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Nama</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Jenis Kelamin</label>
<select name="" id="" class="form-control">
<option value="">Laki-Laki</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Tempat Lahir</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Tanggal Lahir</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Alamat Lengkap</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-3">
<div class="form-group">
<label for="">RT</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-3">
<div class="form-group">
<label for="">RW</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Provinsi</label>
<select name="" id="" class="form-control">
<option value="">--Pilih Provinsi--</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Kabupaten</label>
<select name="" id="" class="form-control">
<option value="">--Pilih Kabupaten--</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Kecamatan</label>
<select name="" id="" class="form-control">
<option value="">--Pilih Kecamatan--</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Kelurahan</label>
<select name="" id="" class="form-control">
<option value="">--Pilih Kelurahan--</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Dusun</label>
<select name="" id="" class="form-control">
<option value="">--Pilih Dusun--</option>
<option value="">Perempuan</option>
</select>
</div>
</div>
<div class="col-lg-12"><b class="data-title">(*) Riwayat Pendidikan</b></div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Pendidikan Terakhir</label>
<select name="" id="" class="form-control">
<option value="">SMA/K</option>
<option value="">D1</option>
<option value="">D2</option>
<option value="">D3</option>
<option value="">D4</option>
<option value="">S1</option>
<option value="">S2</option>
<option value="">S3</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Sekolah/Universitas</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Tahun Lulus</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Fakultas</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Jurusan</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Program Studi</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Akta Mengajar</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-12"><b class="data-title">(*) Data Pengajar</b></div>
<div class="col-lg-4">
<div class="form-group">
<label for="">NIPA</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">NUPTK</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">NRG</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Jenis Guru</label>
<select name="" id="" class="form-control">
<option value="">Bidang Studi (Al-Quran)</option>
<option value="">Bidang Studi (Bahasa Arab)</option>
<option value="">Guru Kelas</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Tugas Mengajar</label>
<select name="" id="" class="form-control">
<option value="">Kelas 1</option>
<option value="">Kelas 2</option>
<option value="">Kelas 3</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label for="">Tugas Tambahan</label>
<select name="" id="" class="form-control">
<option value="-">Pilih Tugas Tambahan</option>
<option value="">Kepala Sekolah</option>
<option value="">Wali Kelas 1</option>
<option value="">Wali Kelas 2</option>
<option value="">Wali Kelas 3</option>
</select>
</div>
</div>
</div>
</div>
<div class="card-footer justify-content-between">
<a href="{{ url()->previous() }}" class="btn btn-sm btn-warning">Kembali</a>
<button class="btn btn-sm btn-primary">Tambah</button>
</div>
</form>
</div>
<script>
$(document).ready(function() {
$('#dataTable').DataTable();
});
</script>
@endsection

View File

@ -1,68 +0,0 @@
@extends('layout.master')
@section('title', 'Data Guru')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_guru') }}" class="btn btn-sm btn-primary">Tambah Guru</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama</th>
<th>NIP</th>
<th>Email</th>
<th>Address</th>
<th>Phone</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
@foreach($alamien as $guru)
<tr>
<th scope="row">{{ $loop->iteration }}</th>
<td>{{ $guru->nama }}</td>
<td>{{ $guru->nipa }}</td>
<td>{{ $guru->email }}</td>
<td>{{ $guru->kabupaten }}</td>
<td>{{ $guru->nohp1 }}</td>
<td>
<form class="text-center" method="post">
<button type="submit" class="btn btn-warning">Edit</button>
<button type="submit" class="btn btn-danger">Hapus</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable').DataTable();
});
</script>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -1,94 +0,0 @@
@extends('layout.master')
@section('title', 'Tambah Klasifikasi')
@section('content')
<div class="card border-top-primary shadow mb-4">
<form action="">
<div class="card-body pt-3">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="">Periode</label>
<select name="" id="" class="form-control">
<option value="">Pilih</option>
<option value="">Periode 1</option>
<option value="">Periode 2</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="">Alternatif</label>
<select name="" id="" class="form-control">
<option value="">Pilih</option>
<option value="">Alternatif 1</option>
<option value="">Alternatif 2</option>
</select>
</div>
</div>
<div class="col-lg-8">
<label for=""><b>Penilaian Kriteria</b></label>
<hr style="border: 1px solid; margin-top:0px">
<table width="100%">
<tr>
<td>Kriteria</td>
<td>Nilai</td>
</tr>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck">
<label class="custom-control-label" for="customCheck">Kriteria 1</label>
</div>
</td>
<td>
<select name="" id="" class="form-control mb-2">
<option value="">Pilih</option>
<option value="">Nilai 1</option>
<option value="">Nilai 2</option>
</select>
</td>
</tr>
<tr>
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck">
<label class="custom-control-label" for="customCheck">Kriteria 2</label>
</div>
</td>
<td>
<select name="" id="" class="form-control mb-2">
<option value="">Pilih</option>
<option value="">Nilai 1</option>
<option value="">Nilai 2</option>
</select>
</td>
</tr>
</table>
</div>
<div class="col-lg-4">
<label for="" class="mt-3"><b>Keterangan Nilai</b></label>
<p>*Untuk kriteria Daya Tahan, Umur, & Harga</p>
<label for="" class="ml-4 mb-0">1 = Sangat Baik</label><br>
<label for="" class="ml-4 mb-0">2 = Baik</label><br>
<label for="" class="ml-4 mb-0">3 = Biasa</label><br>
<label for="" class="ml-4 mb-0">4 = Buruk</label><br>
<label for="" class="ml-4 mb-0">5 = Sangat Buruk</label>
<p class="mt-4">*Untuk layanan Purna Jual</p>
<label for="" class="ml-4 mb-0">1 = Sangat Baik</label><br>
<label for="" class="ml-4 mb-0">2 = Baik</label><br>
<label for="" class="ml-4 mb-0">3 = Biasa</label><br>
<label for="" class="ml-4 mb-0">4 = Buruk</label><br>
<label for="" class="ml-4 mb-0">5 = Sangat Buruk</label>
</div>
</div>
</div>
<div class="card-footer" style="display: flex; justify-content: space-between!important;">
<button class="btn btn-sm btn-warning">Kembali</button>
<button class="btn btn-sm btn-primary">Simpan</button>
</div>
</form>
</div>
@endsection

View File

@ -1,53 +0,0 @@
@extends('layout.master')
@section('title', 'Data Nilai Alternatif')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="mb-2">
<a href="{{ route('create_penilaian') }}" class="btn btn-sm btn-primary">Tambah Nilai Alternatif</a>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Periode</th>
<th>Alternatif</th>
<th>Kriteria</th>
<th>Nilai</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2023</td>
<td>Guru 1</td>
<td>Kriteria 1</td>
<td>Nilai</td>
<td class="text-center">
<button class="btn btn-sm btn-warning">Edit</button>
<button class="btn btn-sm btn-danger">Hapus</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -0,0 +1,306 @@
@extends('layout.master')
@section('title', 'Proses Penilaian')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<?php
if (!$output) {
?>
<div class="card border-top-primary shadow mb-4">
<h4 style="text-align: center;margin:40px">
Data masih Kosong
</h4>
</div>
<?php
} else {
?>
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div>
<h4 style="color: #000000;">Data Masing Masing Balita Terhadap Kriteria</h4>
<h5 style="color: #000000;">Membuat matriks keputusan sesuai dengan bobot sub kriteria yang telah ditentukan</h5>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
@foreach($output[0]['normalized_nilai'] as $normalized_nilai)
<th>
@if($normalized_nilai['kriteria'] == 'C1')
C1 (Tinggi Badan)
@elseif($normalized_nilai['kriteria'] == 'C2')
C2 (Berat Badan)
@else
{{ $normalized_nilai['kriteria'] }}
@endif
</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
@foreach($item['nilai'] as $nilai)
<td>
{{ $nilai['nilai'] }}
</td>
@endforeach
<!-- Tambahkan informasi lainnya sesuai kebutuhan -->
<!-- <td>
<a href="javascript:void(0);" class="btn btn-primary btn-sm" onclick="printRow({{ $index }})">Print</a>
</td>-->
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div>
<h4 style="color: #000000;">Menghitung Nilai Normalisasi</h4>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
@foreach($output[0]['normalized_nilai'] as $normalized_nilai)
<th>
@if($normalized_nilai['kriteria'] == 'C1')
C1 (Tinggi Badan)
@elseif($normalized_nilai['kriteria'] == 'C2')
C2 (Berat Badan)
@else
{{ $normalized_nilai['kriteria'] }}
@endif
</th>
@endforeach
<th>Rumus Normalisasi</th> <!-- Tambah kolom untuk rumus normalisasi -->
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
@foreach($item['normalized_nilai'] as $nilaiItem)
<td>
{{ $nilaiItem['nilai'] }} / {{ $nilaiItem['nilaimaximum'] }} = {{ $nilaiItem['normalized'] }}
</td>
@endforeach
<td> <!-- Tambahkan kolom untuk rumus normalisasi -->
Rumus Normalisasi: (Nilai Kriteria) / (Nilai Maksimum Kriteria)
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<!-- <div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div>
<h4 style="color: #000000;">Hasil Nilai Normalisasi</h4>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable3" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
@foreach($output[0]['normalized_nilai'] as $normalized_nilai)
<th>
{{ $normalized_nilai['kriteria'] }}
</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
@foreach($item['normalized_nilai'] as $nilaiItem)
<td>
{{ $nilaiItem['normalized'] }}
</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div> -->
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div>
<h4 style="color: #000000;">Menghitung Nilai Preferensi</h4>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable4" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
@foreach($output[0]['normalized_nilai'] as $normalized_nilai)
<th>
@if($normalized_nilai['kriteria'] == 'C1')
C1 (Tinggi Badan)
@elseif($normalized_nilai['kriteria'] == 'C2')
C2 (Berat Badan)
@else
{{ $normalized_nilai['kriteria'] }}
@endif
</th>
<th>
Hasil {{ $normalized_nilai['kriteria'] }}
</th>
@endforeach
<th>
Total Preferensi
</th>
<th>
Rumus Preferensi
</th> <!-- Tambah kolom untuk rumus preferensi -->
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
@foreach($item['normalized_nilai'] as $nilaiItem)
<td>
{{$nilaiItem['bobot']}} x {{ $nilaiItem['normalized'] }}
</td>
<td>
{{$nilaiItem['nilai_preferensi']}}
</td>
@endforeach
<td>
{{$item['total_preferensi']}}
</td>
<td> <!-- Tambahkan kolom untuk rumus preferensi -->
Rumus Preferensi: Σ (Bobot x Nilai Normalisasi)
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div>
<h4 style="color: #000000;">Status Gizi dan Rangking</h4>
</div>
<div class="table-responsive">
<table class="table table-bordered" id="datatable5" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
<th>Nilai Preferensi</th>
<th>Status Gizi</th>
<th>Rangking</th>
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
<td>{{ $item['total_preferensi'] }}</td>
<style>
.btn-green {
background-color: green;
color: white;
}
.btn-yellow {
background-color: yellow;
color: black;
}
.btn-red {
background-color: red;
color: white;
}
.btn-orange {
background-color: orange;
color: black;
}
</style>
<td>
@php
$buttonColor = '';
switch ($item['kategori_gizi']) {
case 'Gizi Baik':
$buttonColor = 'green';
break;
case 'Gizi Sedang':
$buttonColor = 'yellow';
break;
case 'Gizi Buruk':
$buttonColor = 'red';
break;
case 'Gizi Kurang':
$buttonColor = 'orange';
break;
}
@endphp
<button class="btn btn-{{ $buttonColor }}">{{ $item['kategori_gizi'] }}</button>
</td>
<td>{{ $item['ranking']}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable2').DataTable();
$('#datatable').DataTable();
$('#datatable3').DataTable();
$('#datatable4').DataTable();
$('#datatable5').DataTable();
});
</script>
<?php
}
?>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -1,220 +0,0 @@
@extends('layout.master')
@section('title', 'Proses Perhitungan')
@push('css')
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<h4 class="text-gray-900">1. Data Masing Masing Guru Terhadap Kriteria</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>4</td>
<td>5</td>
<td>3</td>
<td>7</td>
</tr>
</tbody>
<tfoot>
<tr>
<th colspan="2">Nilai Maks</th>
<th class="bg-secondary text-white">5</th>
<th class="bg-secondary text-white">5</th>
<th class="bg-secondary text-white">4</th>
<th class="bg-secondary text-white">7</th>
</tr>
<tr>
<th colspan="2">Nilai Min</th>
<th class="bg-secondary text-white">2</th>
<th class="bg-secondary text-white">3</th>
<th class="bg-secondary text-white">3</th>
<th class="bg-secondary text-white">3</th>
</tr>
</tfoot>
</table>
</div>
<h4 class="text-gray-900 mt-4">2. Menghitung Nilai Normalisasi</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>4/5</td>
<td>5/5</td>
<td>3/4</td>
<td>7/7</td>
</tr>
</tbody>
</table>
</div>
<h4 class="text-gray-900 mt-4">3. Hasil Normalisasi</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>0.8</td>
<td>1</td>
<td>0.8</td>
<td>1</td>
</tr>
</tbody>
</table>
</div>
<h4 class="text-gray-900 mt-4">4. Menghitung Nilai Refrensi</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>0.8 x 0.2</td>
<td>1 x 0.3</td>
<td>0.8 x 0.35</td>
<td>1 x 0.15</td>
</tr>
</tbody>
<tfoot>
<tr>
<th colspan="2">Bobot Kriteria</th>
<th class="bg-secondary text-white">0.2</th>
<th class="bg-secondary text-white">0.3</th>
<th class="bg-secondary text-white">0.35</th>
<th class="bg-secondary text-white">0.15</th>
</tr>
</tfoot>
</table>
</div>
<h4 class="text-gray-900 mt-4">5. Hasil Prefrensi</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>0.16</td>
<td>0.3</td>
<td>0.28</td>
<td>0.15</td>
</tr>
</tbody>
</table>
</div>
<h4 class="text-gray-900 mt-4">6. Menghitung Total Nilai Prefrensi</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Nama Alternatif</th>
<th>Daya Tahan</th>
<th>Umur</th>
<th>Harga</th>
<th>Layanan Purna Jual</th>
<th>Total Nilai Prefrensi</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>0.16</td>
<td>0.3</td>
<td>0.28</td>
<td>0.15</td>
<td class="bg-secondary text-white">0.89</td>
</tr>
</tbody>
</table>
</div>
<h4 class="text-gray-900 mt-4">7. Perankingan</h4>
<div class="table-responsive">
<table class="table table-striped text-center" width="100%">
<thead>
<tr>
<th>No</th>
<th>Nama Alternatif</th>
<th>Nilai Prefrensi</th>
<th>Ranking</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="text-left">Guru 1</td>
<td>0.89</td>
<td class="bg-secondary text-white">1</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push('js')
@endpush

View File

@ -0,0 +1,53 @@
@extends('layout.master')
@section('title', 'Data Balita')
@push('css')
<link href="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
@endpush
@section('content')
<div class="card border-top-primary shadow mb-4">
<div class="card-body pt-3">
<div class="table-responsive">
<table class="table table-bordered" id="datatable" width="100%" cellspacing="0">
<thead>
<tr>
<th width="5%">No</th>
<th>Nama Balita</th>
<th>Kategori Gizi</th>
<!-- Tambahkan kolom lainnya sesuai kebutuhan -->
</tr>
</thead>
<tbody>
@foreach($output as $index => $item)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $item['nama_balita'] }}</td>
<td>{{ $item['kategori_gizi'] }}</td>
<!-- Tampilkan informasi lainnya sesuai kebutuhan -->
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
$('#datatable').DataTable();
});
</script>
@endsection
@push('js')
<!-- Page level plugins -->
<script src="{{ url('sbAdmin/vendor/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ url('sbAdmin/vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
<!-- Page level custom scripts -->
<script src="{{ url('sbAdmin/js/demo/datatables-demo.js') }}"></script>
@endpush

View File

@ -5,12 +5,17 @@ use App\Http\Controllers\Auth\{
LoginController,
};
use App\Http\Controllers\{
MstGuruController,
MstBalitaController,
DataAlternatifController,
DataBalitaController,
DataKriteriaController,
KriteriaController,
PenilaianAlternatifController,
PerhitunganController,
UsersController
RangkingController,
UsersController,
DashboardController,
ProsesPerhitunganController
};
/*
@ -32,44 +37,46 @@ Route::post('/logout', [LoginController::class, 'logout'])->name('logout');
Route::middleware(['auth'])->group(function () {
// Admin Role
Route::middleware('admin')->group(function () {
Route::prefix('data-guru')->group(function () {
Route::get('/', [MstGuruController::class, 'index'])->name('data_guru');
Route::get('/guru', [MstGuruController::class, 'index'])->name('guru.index');
Route::get('/tambah', [MstGuruController::class, 'create'])->name('create_guru');
Route::prefix('data-balita')->group(function () {
Route::get('/', [MstBalitaController::class, 'index'])->name('data_balita');
Route::get('/balita', [MstBalitaController::class, 'index'])->name('balita.index');
Route::get('/tambah', [MstBalitaController::class, 'create'])->name('create_balita');
Route::post('/store', [MstBalitaController::class, 'store'])->name('store_balita');
Route::get('edit/{id}', [MstBalitaController::class, 'edit'])->name('edit_balita');
// Route::put('update/{id}', [KriteriaController::class, 'update'])->name('update_balita');
Route::delete('balita/{kdbalita}', [MstBalitaController::class, 'destroy'])->name('delete_balita');
});
Route::prefix('data-kriteria')->group(function () {
Route::get('/', [DataKriteriaController::class, 'index'])->name('data_kriteria');
Route::get('/tambah', [DataKriteriaController::class, 'create'])->name('create_kriteria');
Route::post('/store', [DataKriteriaController::class, 'store'])->name('store_kriteria');
Route::get('/', [KriteriaController::class, 'index'])->name('data_kriteria');
Route::get('/tambah', [KriteriaController::class, 'create'])->name('create_kriteria');
Route::post('/store', [KriteriaController::class, 'store'])->name('store_kriteria');
Route::get('edit/{id}', [KriteriaController::class, 'edit'])->name('edit_kriteria');
Route::put('update/{id}', [KriteriaController::class, 'update'])->name('update_kriteria');
Route::delete('kriteria/{kdKriteria}', [KriteriaController::class, 'destroy'])->name('delete_kriteria');
});
Route::prefix('data-pengguna')->group(function () {
Route::get('/', [UsersController::class, 'index'])->name('data_pengguna');
Route::get('/tambah', [UsersController::class, 'create'])->name('create_pengguna');
Route::post('/store', [UsersController::class, 'store'])->name('store_pengguna');
Route::delete('/hapus/{id}', [UsersController::class, 'destroy'])->name('destroy_pengguna');
});
});
// Admin & Penguji role
Route::get('/dashboard', function () {
return view('pages.dashboard');
})->name('dashboard');
Route::prefix('data-alternatif')->group(function () {
Route::get('/', [DataAlternatifController::class, 'index'])->name('data_alternatif');
Route::get('/tambah', [DataAlternatifController::class, 'create'])->name('create_alternatif');
});
Route::prefix('penilaian-alternatif')->group(function () {
Route::get('/', [PenilaianAlternatifController::class, 'index'])->name('penilaian_alternatif');
Route::get('/tambah', [PenilaianAlternatifController::class, 'create'])->name('create_penilaian');
});
Route::prefix('proses-saw')->group(function () {
Route::get('/', [PerhitunganController::class, 'index'])->name('proses_saw');
});
Route::prefix('data-lengkap')->group(function () {
Route::get('/', [DataBalitaController::class, 'index'])->name('data-lengkap');
Route::get('/tambah', [DataBalitaController::class, 'create'])->name('create_data');
Route::post('/store', [DataBalitaController::class, 'store'])->name('store_data');
Route::delete('data/{id}', [DataBalitaController::class, 'destroy'])->name('delete_data');
});
Route::prefix('data-penilaian')->group(function () {
Route::get('/', [RangkingController::class, 'index'])->name('data-penilaian');
});
Route::get('/laporan-hasil', function () {
return view('pages.dashboard');
})->name('laporan_hasil');
Route::get('/hapus-hasil', function () {
return view('pages.dashboard');
})->name('hapus_hasil');
Route::prefix('dashboard')->group(function () {
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
});
Route::prefix('proses-perhitungan')->group(function () {
Route::get('/', [ProsesPerhitunganController::class, 'index'])->name('proses-perhitungan');
});
});
});

440
spk_status_gizi.sql Normal file
View File

@ -0,0 +1,440 @@
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Mar 31, 2024 at 06:49 PM
-- Server version: 10.4.32-MariaDB
-- PHP Version: 8.0.30
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `spk_status_gizi`
--
-- --------------------------------------------------------
--
-- Table structure for table `balita`
--
CREATE TABLE `balita` (
`kdbalita` bigint(20) UNSIGNED NOT NULL,
`balita` varchar(50) NOT NULL,
`id_role` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `balita`
--
INSERT INTO `balita` (`kdbalita`, `balita`, `id_role`) VALUES
(11, 'Bilal Hariz Attahilah', 1),
(16, 'Karisma Pramu Dita', 2),
(17, 'Ahmat Alfin Alfarizi', 1),
(18, 'Naylatul Basmala', 2),
(19, 'Azkia Ainun Niswah', 2),
(20, 'Kahyang Galuh Rahayu', 2),
(21, 'Candra Cahyo Saputro', 1),
(22, 'Aghna Hanin Hana', 2),
(23, 'Bima Arta Dwi C', 1),
(24, 'Nadhira Putri Azmi', 2),
(25, 'Najma Adiba Al', 2),
(26, 'Assyaka Syakil Fatansyah', 1),
(27, 'Shafeeya Alhumaira', 2),
(28, 'Shafana Kumaisaroh', 2),
(29, 'Thalita Aina Rahma', 2),
(30, 'Ahmad Syaufan A', 1),
(31, 'Dhimas Rahmat Hidayat', 1),
(32, 'Ardika Keona Pratiwi', 2),
(33, 'Saila Aimatus S', 2),
(34, 'Ilham Nur Rahman', 1),
(35, 'Anisatul Mahawil', 2),
(36, 'Tsaqila Raicandra P', 2),
(37, 'Rohiqul Nazar', 1),
(38, 'Wendi Saputra', 1),
(40, 'Revan Yulianto', 1);
-- --------------------------------------------------------
--
-- Table structure for table `data_balita`
--
CREATE TABLE `data_balita` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama_balita` varchar(255) NOT NULL,
`nik` varchar(255) NOT NULL,
`nama_orangtua` varchar(255) NOT NULL,
`alamat_rt_rw` varchar(255) NOT NULL,
`jenis_kelamin` tinyint(4) NOT NULL COMMENT '1: Laki-laki, 2: Perempuan',
`tanggal_timbang` date NOT NULL,
`tanggal_lahir` date NOT NULL,
`umur_bulan` int(11) NOT NULL,
`berat_badan` decimal(5,2) NOT NULL,
`tinggi_badan` decimal(5,2) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `data_balita`
--
INSERT INTO `data_balita` (`id`, `nama_balita`, `nik`, `nama_orangtua`, `alamat_rt_rw`, `jenis_kelamin`, `tanggal_timbang`, `tanggal_lahir`, `umur_bulan`, `berat_badan`, `tinggi_badan`, `created_at`, `updated_at`) VALUES
(11, 'Bilal Hariz Attahilah', '3523061906220001', 'Susi', 'RT 01 / RW 01', 1, '2023-02-15', '2022-06-20', 8, 7.10, 72.00, '2024-03-13 20:25:26', '2024-03-13 20:25:26'),
(16, 'Karisma Pramu Dita', '3523066004220001', 'Alfiana', 'RT 04 / RW 01', 2, '2023-02-15', '2022-04-21', 10, 9.00, 73.00, '2024-03-13 21:19:43', '2024-03-13 21:19:43'),
(17, 'Ahmat Alfin Alfarizi', '3523061306220001', 'Sukarti', 'RT 04 / RW 01', 1, '2023-02-15', '2022-06-13', 8, 11.10, 77.00, '2024-03-13 22:04:22', '2024-03-13 22:04:22'),
(18, 'Naylatul Basmala', '3523066706220002', 'Khilmia', 'RT 02 / RW 01', 2, '2023-02-15', '2022-06-27', 8, 8.10, 75.00, '2024-03-13 22:06:04', '2024-03-13 22:06:04'),
(19, 'Azkia Ainun Niswah', '3523066806980001', 'Tutut', 'RT 01 / RW 01', 2, '2023-02-15', '2022-07-15', 7, 8.00, 70.00, '2024-03-13 22:07:00', '2024-03-13 22:07:00'),
(20, 'Kahyang Galuh Rahayu', '3523065908220001', 'Rohmatul', 'RT 04 / RW 02', 2, '2023-02-15', '2022-08-19', 6, 7.40, 65.00, '2024-03-16 23:48:52', '2024-03-16 23:48:52'),
(21, 'Candra Cahyo Saputro', '3523060605220001', 'Lista', 'RT 04 / RW 02', 1, '2023-02-15', '2022-05-06', 9, 8.20, 78.00, '2024-03-16 23:51:23', '2024-03-16 23:51:23'),
(22, 'Aghna Hanin Hana', '3523064402210001', 'Devi Nur Q', 'RT 04 / RW 03', 2, '2023-02-15', '2021-02-09', 24, 12.60, 83.00, '2024-03-16 23:52:41', '2024-03-16 23:52:41'),
(23, 'Bima Arta Dwi C', '3523061211210001', 'Novita C', 'RT 01 / RW 03', 1, '2023-02-15', '2021-11-12', 15, 10.80, 76.00, '2024-03-16 23:53:45', '2024-03-16 23:53:45'),
(24, 'Nadhira Putri Azmi', '3523067101210002', 'Susekowati', 'RT 03 / RW 01', 2, '2023-02-15', '2021-01-31', 25, 9.40, 92.00, '2024-03-16 23:58:14', '2024-03-16 23:58:14'),
(25, 'Najma Adiba Al', '3523125509210001', 'Nurma R', 'RT 04 / RW 02', 2, '2023-02-15', '2021-09-15', 17, 7.00, 80.00, '2024-03-17 00:00:02', '2024-03-17 00:00:02'),
(26, 'Assyaka Syakil Fatansyah', '3578061508210001', 'Wiwit P R', 'RT 03 / RW 01', 1, '2023-02-15', '2021-09-14', 17, 17.80, 83.00, '2024-03-17 00:01:49', '2024-03-17 00:01:49'),
(27, 'Shafeeya Alhumaira', '3523066803180001', 'Vevi', 'RT 01 / RW 01', 2, '2023-02-15', '2018-03-28', 59, 18.00, 102.00, '2024-03-17 00:04:16', '2024-03-17 00:04:16'),
(28, 'Shafana Kumaisaroh', '3523065209180001', 'Ruminah', 'RT 01 / RW 01', 2, '2023-02-15', '2018-09-12', 53, 18.70, 104.00, '2024-03-17 00:11:16', '2024-03-17 00:11:16'),
(29, 'Thalita Aina Rahma', '3523065812180001', 'Supikah', 'RT 01 / RW 01', 2, '2023-02-15', '2018-12-18', 50, 11.90, 99.00, '2024-03-17 00:14:54', '2024-03-17 00:14:54'),
(30, 'Ahmad Syaufan A', '3523062412180001', 'Zulaekah', 'RT 03 / RW 01', 1, '2023-02-15', '2018-12-24', 50, 13.00, 97.00, '2024-03-17 00:21:06', '2024-03-17 00:21:06'),
(31, 'Dhimas Rahmat Hidayat', '3523061312180001', 'Dina Af', 'RT 03 / RW 01', 1, '2023-02-15', '2018-12-13', 50, 11.40, 96.00, '2024-03-17 00:24:54', '2024-03-17 00:24:54'),
(32, 'Ardika Keona Pratiwi', '3523046008190002', 'Rizky', 'RT 03 / RW 01', 2, '2023-02-15', '2019-08-20', 42, 20.30, 99.00, '2024-03-17 00:29:13', '2024-03-17 00:29:13'),
(33, 'Saila Aimatus S', '3523066105190003', 'Sriwati', 'RT 01 / RW 01', 2, '2023-02-15', '2019-12-02', 38, 9.10, 85.00, '2024-03-17 00:32:00', '2024-03-17 00:32:00'),
(34, 'Ilham Nur Rahman', '3523062510180001', 'Sambiyah', 'RT 02 / RW 02', 1, '2023-02-15', '2018-10-25', 52, 12.30, 95.00, '2024-03-17 00:41:03', '2024-03-17 00:41:03'),
(35, 'Anisatul Mahawil', '3523064703200001', 'Aminatun', 'RT 04 / RW 01', 2, '2023-02-15', '2020-03-07', 35, 11.00, 93.00, '2024-03-17 00:47:16', '2024-03-17 00:47:16'),
(36, 'Tsaqila Raicandra P', '3523066811200001', 'Ninik Dwi R', 'RT 03 / RW 01', 2, '2023-02-15', '2020-11-28', 27, 11.00, 91.00, '2024-03-17 00:48:31', '2024-03-17 00:48:31'),
(37, 'Rohiqul Nazar', '3523060205180002', 'Katini', 'RT 02 / RW 02', 1, '2023-02-15', '2019-05-02', 45, 13.40, 102.00, '2024-03-17 00:50:07', '2024-03-17 00:50:07'),
(38, 'Wendi Saputra', '3523062211180001', 'Suparti', 'RT 01 / RW 05', 1, '2023-02-15', '2018-11-22', 51, 12.80, 100.00, '2024-03-17 00:51:50', '2024-03-17 00:51:50'),
(40, 'Revan Yulianto', '3523062301190001', 'Sutiah', 'RT 01 / RW 05', 1, '2023-02-15', '2019-01-23', 49, 13.30, 102.00, '2024-03-25 22:33:28', '2024-03-25 22:33:28');
-- --------------------------------------------------------
--
-- Table structure for table `kriteria`
--
CREATE TABLE `kriteria` (
`kdKriteria` bigint(20) UNSIGNED NOT NULL,
`kriteria` varchar(100) NOT NULL,
`sifat` char(1) NOT NULL,
`bobot` int(11) NOT NULL,
`detail` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `kriteria`
--
INSERT INTO `kriteria` (`kdKriteria`, `kriteria`, `sifat`, `bobot`, `detail`) VALUES
(1, 'C1', 'B', 50, 'Berat Badan'),
(2, 'C2', 'B', 50, 'Tinggi Badan');
-- --------------------------------------------------------
--
-- Table structure for table `migrations`
--
CREATE TABLE `migrations` (
`id` int(10) UNSIGNED NOT NULL,
`migration` varchar(255) NOT NULL,
`batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `migrations`
--
INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2014_10_12_000000_create_users_table', 1),
(2, '2023_10_29_132002_create_kriteria_table', 1),
(3, '2023_10_29_132009_create_role_table', 1),
(4, '2023_10_29_132010_create_balita_table', 1),
(5, '2023_10_29_132012_create_subkriteria_table', 1),
(6, '2023_10_29_132021_create_nilai_table', 1),
(7, '2023_11_04_085636_create_balitas_table', 1);
-- --------------------------------------------------------
--
-- Table structure for table `nilai`
--
CREATE TABLE `nilai` (
`id` bigint(20) UNSIGNED NOT NULL,
`kdbalita` bigint(20) UNSIGNED NOT NULL,
`kdKriteria` bigint(20) UNSIGNED NOT NULL,
`nilai` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `nilai`
--
INSERT INTO `nilai` (`id`, `kdbalita`, `kdKriteria`, `nilai`) VALUES
(21, 11, 1, 3),
(22, 11, 2, 3),
(31, 16, 1, 3),
(32, 16, 2, 3),
(33, 17, 1, 4),
(34, 17, 2, 3),
(35, 18, 1, 3),
(36, 18, 2, 3),
(37, 19, 1, 3),
(38, 19, 2, 3),
(39, 20, 1, 3),
(40, 20, 2, 3),
(41, 21, 1, 3),
(42, 21, 2, 3),
(43, 22, 1, 3),
(44, 22, 2, 3),
(45, 23, 1, 3),
(46, 23, 2, 3),
(47, 24, 1, 3),
(48, 24, 2, 3),
(49, 25, 1, 2),
(50, 25, 2, 3),
(51, 26, 1, 4),
(52, 26, 2, 3),
(53, 27, 1, 3),
(54, 27, 2, 3),
(55, 28, 1, 3),
(56, 28, 2, 3),
(57, 29, 1, 2),
(58, 29, 2, 3),
(59, 30, 1, 3),
(60, 30, 2, 3),
(61, 31, 1, 2),
(62, 31, 2, 3),
(63, 32, 1, 4),
(64, 32, 2, 3),
(65, 33, 1, 1),
(66, 33, 2, 2),
(67, 34, 1, 2),
(68, 34, 2, 2),
(69, 35, 1, 3),
(70, 35, 2, 3),
(71, 36, 1, 3),
(72, 36, 2, 3),
(73, 37, 1, 3),
(74, 37, 2, 3),
(75, 38, 1, 3),
(76, 38, 2, 3),
(79, 40, 1, 3),
(80, 40, 2, 3);
-- --------------------------------------------------------
--
-- Table structure for table `role`
--
CREATE TABLE `role` (
`id` bigint(20) UNSIGNED NOT NULL,
`nama` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `role`
--
INSERT INTO `role` (`id`, `nama`) VALUES
(1, 'laki-laki'),
(2, 'perempuan');
-- --------------------------------------------------------
--
-- Table structure for table `subkriteria`
--
CREATE TABLE `subkriteria` (
`kdSubKriteria` bigint(20) UNSIGNED NOT NULL,
`subKriteria` varchar(50) NOT NULL,
`value` int(11) NOT NULL,
`kdKriteria` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `subkriteria`
--
INSERT INTO `subkriteria` (`kdSubKriteria`, `subKriteria`, `value`, `kdKriteria`) VALUES
(5, 'Sangat Pendek', 1, 2),
(6, 'Pendek', 2, 2),
(7, 'Normal', 3, 2),
(8, 'Tinggi', 4, 2),
(13, 'Sangat Kurang', 1, 1),
(14, 'Kurang', 2, 1),
(15, 'Normal', 3, 1),
(16, 'Lebih', 4, 1);
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`id` bigint(20) UNSIGNED NOT NULL,
`name` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`roles` enum('admin','penguji') NOT NULL DEFAULT 'penguji',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `name`, `username`, `password`, `roles`, `created_at`, `updated_at`) VALUES
(1, 'Dwi Nur Ellisa', 'admin', '$2y$10$0Z73JjpUidpFFMlxRIA.2ucVNDWB/DLGup9xads8sa9USMkKCywoi', 'admin', '2024-01-10 07:57:50', '2024-01-10 07:57:50');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `balita`
--
ALTER TABLE `balita`
ADD PRIMARY KEY (`kdbalita`),
ADD KEY `balita_id_role_foreign` (`id_role`);
--
-- Indexes for table `data_balita`
--
ALTER TABLE `data_balita`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `kriteria`
--
ALTER TABLE `kriteria`
ADD PRIMARY KEY (`kdKriteria`);
--
-- Indexes for table `migrations`
--
ALTER TABLE `migrations`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `nilai`
--
ALTER TABLE `nilai`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `nilai_kdbalita_kdkriteria_unique` (`kdbalita`,`kdKriteria`),
ADD KEY `nilai_kdkriteria_foreign` (`kdKriteria`);
--
-- Indexes for table `role`
--
ALTER TABLE `role`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `subkriteria`
--
ALTER TABLE `subkriteria`
ADD PRIMARY KEY (`kdSubKriteria`),
ADD KEY `subkriteria_kdkriteria_foreign` (`kdKriteria`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `users_username_unique` (`username`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `balita`
--
ALTER TABLE `balita`
MODIFY `kdbalita` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;
--
-- AUTO_INCREMENT for table `data_balita`
--
ALTER TABLE `data_balita`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;
--
-- AUTO_INCREMENT for table `kriteria`
--
ALTER TABLE `kriteria`
MODIFY `kdKriteria` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT for table `nilai`
--
ALTER TABLE `nilai`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=81;
--
-- AUTO_INCREMENT for table `role`
--
ALTER TABLE `role`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `subkriteria`
--
ALTER TABLE `subkriteria`
MODIFY `kdSubKriteria` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `balita`
--
ALTER TABLE `balita`
ADD CONSTRAINT `balita_id_role_foreign` FOREIGN KEY (`id_role`) REFERENCES `role` (`id`);
--
-- Constraints for table `nilai`
--
ALTER TABLE `nilai`
ADD CONSTRAINT `nilai_kdbalita_foreign` FOREIGN KEY (`kdbalita`) REFERENCES `balita` (`kdbalita`),
ADD CONSTRAINT `nilai_kdkriteria_foreign` FOREIGN KEY (`kdKriteria`) REFERENCES `kriteria` (`kdKriteria`);
--
-- Constraints for table `subkriteria`
--
ALTER TABLE `subkriteria`
ADD CONSTRAINT `subkriteria_kdkriteria_foreign` FOREIGN KEY (`kdKriteria`) REFERENCES `kriteria` (`kdKriteria`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -1,3 +0,0 @@
*
!public/
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore

View File

@ -1,9 +0,0 @@
compiled.php
config.php
down
events.scanned.php
maintenance.php
routes.php
routes.scanned.php
schedule-*
services.json

View File

@ -1,3 +0,0 @@
*
!data/
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore

View File

@ -1,2 +0,0 @@
*
!.gitignore