diff --git a/app/Http/Controllers/SiswaController.php b/app/Http/Controllers/SiswaController.php
index df7908b..63aa8f6 100644
--- a/app/Http/Controllers/SiswaController.php
+++ b/app/Http/Controllers/SiswaController.php
@@ -21,28 +21,31 @@ class SiswaController extends Controller
public function store(Request $request)
{
- $request->validate([
- 'nama' => 'required',
- 'kelas' => 'required',
- 'umur' => 'required|integer',
- 'absen' => 'required|integer',
- ]);
+ $request->validate([
+ 'nama' => 'required',
+ 'kelas' => 'required',
+ 'umur' => 'required|integer',
+ 'absen' => 'required|integer',
+ ]);
- $siswaBaru = [
- 'nama' => $request->nama,
- 'kelas' => $request->kelas,
- 'umur' => $request->umur,
- 'absen' => $request->absen,
- ];
+ $siswas = session('siswas', []);
- $siswas = session('siswas', []);
- $siswas[] = $siswaBaru;
- session(['siswas' => $siswas]);
+ // Index mulai dari 1
+ $index = count($siswas) + 1;
- return redirect()->route('siswa.index')->with('success', 'Data berhasil ditambahkan!');
+ $siswas[$index] = [
+ 'nama' => $request->nama,
+ 'kelas' => $request->kelas,
+ 'umur' => $request->umur,
+ 'absen' => $request->absen,
+ ];
+
+ session(['siswas' => $siswas]);
+
+ return redirect()->route('siswa.index')->with('success', 'Data berhasil ditambahkan!');
}
- public function edit($id)
+ public function edit($id)
{
$siswas = session('siswas', []);
if (!isset($siswas[$id])) return redirect()->route('siswa.index')->with('error', 'Data tidak ditemukan');
@@ -73,4 +76,34 @@ class SiswaController extends Controller
return redirect()->route('siswa.index')->with('success', 'Data siswa berhasil diupdate!');
}
+
+ public function show($id)
+ {
+ $siswa = [
+ 1 => [
+ 'nama' => 'syifa',
+ 'kelas' => 'XIII',
+ 'umur' => 19,
+ 'absen' => 34
+ ],
+ 2 => [
+ 'nama' => 'cipa',
+ 'kelas' => 'XIII SIJA A',
+ 'umur' => 18,
+ 'absen' => 35
+ ]
+ ];
+
+ // Jika data tidak ditemukan, tampilkan halaman khusus
+ if (!isset($siswa[$id])) {
+ return view('siswa.notfound', ['id' => $id]);
+ }
+
+ return view('siswa.detail', [
+ 'id' => $id,
+ 'siswa' => $siswa[$id]
+ ]);
}
+}
+
+
diff --git a/resources/views/siswa/datasiswa.blade.php b/resources/views/siswa/datasiswa.blade.php
new file mode 100644
index 0000000..10b17e6
--- /dev/null
+++ b/resources/views/siswa/datasiswa.blade.php
@@ -0,0 +1,106 @@
+
+
+
+ Data Siswa
+
+
+
+
+
Data Siswa
+
+
+
+ | No |
+ Nama |
+ Kelas |
+ Umur |
+ Absen |
+ Aksi |
+
+
+
+ @foreach ($siswa as $index => $item)
+
+ | {{ $index + 1 }} |
+ {{ $item->nama }} |
+ {{ $item->kelas }} |
+ {{ $item->umur }} |
+ {{ $item->absen }} |
+
+ Edit
+ |
+
+ @endforeach
+
+
+
+
+ Tambah Data Siswa
+
+
+
diff --git a/resources/views/siswa/detail.blade.php b/resources/views/siswa/detail.blade.php
new file mode 100644
index 0000000..aa2a0b6
--- /dev/null
+++ b/resources/views/siswa/detail.blade.php
@@ -0,0 +1,96 @@
+
+
+
+ Data Siswa
+
+
+
+
+
Data Siswa
+
+
+
+ | No |
+ Nama |
+ Kelas |
+ Umur |
+ Absen |
+
+
+ | {{ $id }} |
+ {{ $siswa['nama'] }} |
+ {{ $siswa['kelas'] }} |
+ {{ $siswa['umur'] }} |
+ {{ $siswa['absen'] }} |
+
+
+
+
+
+
diff --git a/resources/views/siswa/notfound.blade.php b/resources/views/siswa/notfound.blade.php
new file mode 100644
index 0000000..0433991
--- /dev/null
+++ b/resources/views/siswa/notfound.blade.php
@@ -0,0 +1,60 @@
+
+
+
+ Data Siswa Tidak Ditemukan
+
+
+
+
+
Data siswa dengan ID {{ $id }} tidak ditemukan
+
+
Kembali ke daftar siswa
+
+
+
diff --git a/routes/web.php b/routes/web.php
index 7bdda0c..ce4db41 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -17,4 +17,7 @@ Route::get('/siswa/create', [SiswaController::class, 'create'])->name('siswa.cre
Route::post('/siswa', [SiswaController::class, 'store'])->name('siswa.store');
Route::get('/siswa/{id}/edit', [SiswaController::class, 'edit'])->name('siswa.edit');
-Route::put('/siswa/{id}', [SiswaController::class, 'update'])->name('siswa.update');
\ No newline at end of file
+Route::put('/siswa/{id}', [SiswaController::class, 'update'])->name('siswa.update');
+
+Route::get('/datasiswa/{id}', [SiswaController::class, 'show']);
+Route::get('/datasiswa/{id}', [SiswaController::class, 'show'])->name('siswa.show');
\ No newline at end of file