0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan37 halaman

Modul Pelangggaran

Diunggah oleh

rfy.2521084
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai RTF, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan37 halaman

Modul Pelangggaran

Diunggah oleh

rfy.2521084
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai RTF, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 37

CRUD KASUS PELANGGARAN DI SEKOLAH SMK N 1 KINALI

DENGAN FRAMEWORK CODEIGNITER 4

A. Menampilkan data dari database pelanggaran dengan tabel siswa,


pelanggaran, jenis_pelanggaran pelanggaran dengan tabel siswa,
pelanggaran, jenis_pelanggaran yang sudah di relasikan.

Disini kita akan coba menampilkan data dari Database pelanggaran


dengan tabel siswa, pelanggaran, jenis_pelanggaran. langkah-langkah
sebagai berikut :

1. Buka Terminal (Terminal – New), pada Terminal ketikan


composer create-project codeigniter4/appstarter pelanggaran

2. Menjalankan pada terminal ->


Ketikan : C:/pelanggaran -> php spark serve

3. Buka Folder pelanggaran pada C:/pelanggaran

4. Buat Struktur pada Folder Views, sebagai berikut :


5. Paste (ctrl+v) Pada Views/Layout/header.php, dari file tadi pecah
antara header dan footer, sehingga yang bagian footer kita paste ke
footer.
Untuk Views/Layout/header.php
Views/Layout/footer.php

6. Tambahkan File Pada Controller dengan nama Pelanggaran.php


7. Kita coba jalankan, sebelumnya perhatikan Routes.php pada Config
dan kita arahkan kepada controller Pelanggaran kita, dengan cara
sebagai berikut :

8. Kita Tambah isi file index.php yang berada pada


Views/Pelanggaran/index.php yang merupakan tampilan awal kita
nanti dengan mengambil Card pada Bootstrap, tambahkan file
gambar pada public/img, tampilan sebagai berikut :
Lalu kita tekan pada http://localhost:8080
Tampilan sebagai berikut :

9. Bangun Database pelanggaran dengan table siswa, pelanggaran dan


jenis_pelanggaran
10.Setelah database dibangun,lakukan settingan pada .env

11.Tambahkan file TpelanggaranModel.php pada model, isikan pada


codingan berikut.
12.Tambahkan File Pelanggaran.php pada Controller, isikan koding
sesuai tampilan sebagai berikut :
13.Tambahkan pada folder Views/Pelanggaran file siswa.php
14.Pada halaman Views/Layout/Header.php, tambahkan link untuk
menu pelanggaran dengan tampian sebagai berikut :

sehingga saat dijalankan, akan menampilkan


tampilan sebagai berikut :
15.Pada file views/Pelanggaran/siswa.php tambahkan coding untuk
tombol detail dengan tampilan sebagai berikut:

<a class="btn btn-warning" href="detail/<?=$r['nis']; ?>"


role="button">Detail</a>

B. TOMBOL DETAIL
C. TAMBAH DATA/ INSERT DATA
Langkah Langkah yang dilakukan untuk menambahkan data adalah sebagai
berikut :
1. Tambahkan tombol tambah data pada file
views/Pelanggaran/siswa.php kitab bisa copy dan tombol boostrap atau
ambil nama class dari button boostrap,seperti tambilan berikut :

<a href="/Pelanggaran/tambahdata" class="btn btn-primary">Tambahkan


Siswa</a>

2. Tambahkan formular tambah data pada views dengan nama


tambahdata.php.
3. Tambahkan method tambahandata() pada controller
Pelanggaran dengan tambilan sebagai berikut :

4. Supaya saat klik tombol tambah data yang berada pada


views/Pelanggaran/siswa.php dengan mengisi link bisa akita lihat pada
tampilan sebagai berikut :
D. TOMBOL DELETE
Langkah-langkah dalam menggunakan Tombol Delete adalah sebagai
berikut :
1. Pada Views/Pelanggaran/detail.php kita tambahkan koding pada
Tombol
Delete, dengan tampilan sebagi berikut :

2. Pada Controller Pelanggaran tambahkan Method delete, dengan


tampilan sebagai berikut :

3. Pada Views/Pelanggaran/detail tambahkan getFlashdata(‘hapus’),


seperti tampilan berikut ini:

Saat dijalankan, diklik tombol Hapus, maka akan tampil pertanyaan


Yakin Data di Hapus ? dan saat diklik OK maka akan menampilkan
pesan/message “Data Telah di Hapus”, seperti tampilan berikut ini :
E. EDIT DATA
Langkah-langkah dalam membuat Edit Data adalah sebagai berikut :
1. Copy file tambahdata pada Views/Pelanggaran/tambahdata.php, lalu
ganti nama menjadi editdata.php, perbaiki judul form dan nama tombol
ganti menjadi Edit Data
2. Tambahkan Method Edit pada Controller Pelanggaran, dengan
koding sebagai berikut :

ada Public function edit($kode) ini dikarenakan kita melakukan edit


data berdasarkan field kode Dengan adanya pemanggilan echo
view(‘Pelanggaran/editdata’), maka saat di jalankan akan menampilkan
file editdata.php pada views yang telah kita buat sebelumnya, klik
Tombol Edit Data, maka akan menampilkan form edit data sebagai
berikut:
F. Lampiran file
a. File pada Views
1. Views/Layout/header.php
<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<title>SMK N 1 KINALI</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstra
p.min.css" rel="stylesheet"
integrity="sha384-
T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN"
crossorigin="anonymous">
<style>
body {
background-color: #f8f9fa;
color: #343a40;
font-family: 'Arial', sans-serif;
}
header {
background-color: #007bff;
color: #ffffff;
padding: 20px;
text-align: center;
}
h1 {
margin-bottom: 0;
font-size: 2.5rem;
font-weight: bold;
}
p {
font-size: 1.2rem;
margin-bottom: 0;
}
nav {
background-color: #343a40;
}
.navbar-nav .nav-link {
color: #ffffff;
}
.navbar-nav .nav-link:hover {
color: #007bff;
}
img {
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<header>
<img src="/img/logo.png" alt="SMK N 1 KINALI Logo"
class="img-fluid">
<h1>Welcome to SMK N 1 KINALI</h1>
<p>Jln. Teuku Umar Padang Kuranji KM.1 Kapunduang</p>
<?php
echo "<p>Today is " . date("Y-m-d") . "</p>";
?>
</header>
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page"
href="/Pelanggaran">Home</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="/Pelanggaran/profile">Profil</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="/Pelanggaran/siswa">Pelanggaran</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="/Pelanggaran/kontak">Kontak</a>
</li>
</ul>
</div>
</nav>

2. Views/Layout/footer.php
<footer class="bg-primary text-white text-center py-3">

<p>&copy; 2023 SMK N 1 KINALI | Designed by <b>@RFY</b></p>


</footer>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstr
ap.bundle.min.js"
integrity="sha384-
C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
crossorigin="anonymous"></script>
</body>
</html>

3. Views/Layout/kontak.php
<!DOCTYPE html>

<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Contact Information - SMK Negeri 1 Kinali</title>
<style>
section {
max-width: 600px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 10px;
}
</style>
</head>

<body>
<h1 class="text-center text-primary mt-5">SMK Negeri 1
Kinali</h1>
<section>
<h2>Contact Information</h2>
<p>Email: <a
href="mailto:[email protected]">[email protected]</a></p>
<p>Phone: 0813 63 368650</p>
<p>Website : <a href="http://www.smkn1kinali.sch.id"
target="_blank">www.smkn1kinali.sch.id</a></p>

<h2>Social Media</h2>
<p>Instagram: <a
href="https://www.instagram.com/smknegeri1kinali/?
utm_source=ig_web_button_share_sheet&igshid=OGQ5ZDc2ODk2ZA=="
target="_blank">SMKNegeri1Kinali</a></p>
</section>
<br>
<br>
<br>
<br>

4. Views/Layout/profile.php
<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Profil SMK Negeri 1 Kinali</title>
<style>
section {
max-width: 600px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 10px;
}
</style>
</head>
<body>
<center><h2>Profil SMK Negeri 1 Kinali</h2></center>
<section>
<h2>Informasi Sekolah</h2>
<p>NSS: 3210 8105 001</p>
<p>Alamat Sekolah : Jl. Teuku Umar KM.1 Kapundung Padang
Kuranji</p>
<p>Kanagarian : Kinali</p>
<p>Kecamatan : Kinali</p>
<p>Kabupaten : Pasaman Barat</p>
<p>Kode Pos : 26367</p>
<p>Telepon / HP : 0813 63 368650</p>
<h2>Website dan Kontak</h2>
<p>Website : <a href="http://www.smkn1kinali.sch.id"
target="_blank">www.smkn1kinali.sch.id</a></p>
<p>Email : [email protected]</p>

<h2>Bidang Keahlian</h2>
<p>Kelompok Teknologi Industri</p>
<p>Bidang Keahlian:</p>
<ul>
<li>Teknik Audio-Video</li>
<li>Teknik Komputer dan Jaringan</li>
<li>Teknik Multimedia</li>
<li>Administrasi Perkantoran</li>
<li>Akuntansi</li>
<li>Teknik dan Bisnis Sepeda Motor</li>
</ul>
</section>

</body>
</html>

5. Views/Pelanggaran/detail.php
<div class="container">

<div class="row mt-4">


<div class="col">
<div class="card text-bg-info mb-6" style="max-width:
30rem;" align="center">
<div class="card-header">
<!-- Menampilkan data siswa -->
<h1> Detail Siswa</h1>
</div>
<div class="card-body">
<?php
// Initialize fallback values
$nis = '';
$nama = '';
$kelas = '';
$j_k = '';
$alamat = '';
if ($siswa) :
?>
<table class="table table-striped">
<tr>
<th>NIS : </th>
<td><?=
htmlspecialchars($siswa[0]->nis) ?></td>
</tr>
<tr>
<th>Nama : </th>
<td><?=
htmlspecialchars($siswa[0]->nama) ?></td>
</tr>
<tr>
<th>Kelas : </th>
<td><?=
htmlspecialchars($siswa[0]->kelas) ?></td>
</tr>
<tr>
<th>Jenis Kelamin : </th>
<td><?=
htmlspecialchars($siswa[0]->j_k) ?></td>
</tr>
<tr>
<th>Alamat : </th>
<td><?=
htmlspecialchars($siswa[0]->alamat) ?></td>
</tr>
</table>
<?php else : ?>
<p>No student data available.</p>
<?php endif; ?>
</div>
<h3 class="mt-4">Pelanggaran</h3>
<?php if ($pelanggaran) : ?>
<table class="table table-striped">
<thead>
<tr>
<th>ID Pelanggaran</th>
<th>Tanggal Pelanggaran</th>
<th>Keterangan</th>
</tr>
</thead>
<tbody>
<?php foreach ($pelanggaran as $p) :
?>
<tr>
<td><?= isset($p->id_pel) ?
htmlspecialchars($p->id_pel) : ''; ?></td>
<td><?= isset($p->tgl_pel) ?
htmlspecialchars($p->tgl_pel) : ''; ?></td>
<td><?= isset($p->ket) ?
htmlspecialchars($p->ket) : ''; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else : ?>
<p>No violation data available.</p>
<?php endif; ?>
<a href="/Pelanggaran/editdata/<?
=htmlspecialchars($siswa[0]->nis); ?>" class="btn btn-light">Edit
Data</a><br>
<a href="/Pelanggaran/delete/<?=
htmlspecialchars($siswa[0]->nis); ?>" class="btn btn-danger"
onclick="return confirm('Apakah Yakin Data di Hapus');">Hapus
Data</a><br>
<a href="/Pelanggaran/siswa" class="btn btn-
success">Kembali ke Daftar Siswa</a>
</div>

6. Views/Pelanggaran/editdata.php
<div class="container">

<div class="row">
<div class="col">
<h1 class="mt-3">Formulir Edit Data Pelanggaran
Siswa</h1>

<form action="/Pelanggaran/editdata" method="POST">


<?= csrf_field(); ?>
<div class="row mb-3">
<label for="nis" class="col-sm-2 col-form-
label">NIS Siswa</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="nis" id="nis" value="<?= isset($objek['nis']) ?
htmlspecialchars($objek['nis']) : ''; ?>" readonly>
</div>
</div>
<div class="row mb-3">
<label for="nama" class="col-sm-2 col-form-
label">Nama Siswa</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="nama" id="nama" value="<?= isset($objek['nama']) ?
htmlspecialchars($objek['nama']) : ''; ?>">
</div>
</div>
<div class="row mb-3">
<label for="kelas" class="col-sm-2 col-form-
label">Kelas</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="kelas" id="kelas" value="<?= isset($objek['kelas']) ?
htmlspecialchars($objek['kelas']) : ''; ?>">
</div>
</div>
<div class="row mb-3">
<label for="j_k" class="col-sm-2 col-form-
label">Jenis Kelamin</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="j_k" id="j_k" value="<?= isset($objek['j_k']) ?
htmlspecialchars($objek['j_k']) : ''; ?>">
</div>
</div>
<div class="row mb-3">
<label for="alamat" class="col-sm-2 col-form-
label">Alamat</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="alamat" id="alamat" value="<?= isset($objek['alamat']) ?
htmlspecialchars($objek['alamat']) : ''; ?>">
</div>
</div>

<button type="submit" class="btn btn-


primary">Edit Data</button>
<a href="/Pelanggaran/siswa" class="btn btn-
success">Kembali ke Daftar Siswa</a>
</form>
</div>
</div>
</div>

7. Views/Pelanggaran/index.php
. <div class="container">

<div class="row">
<div class="col">
<h1 class="text-center text-primary mt-5">
Selamat Datang di Aplikasi Pelanggaran Siswa
</h1>
<div class="card bg-dark text-danger mt-4">
<img src="img/sekolah.png" class="card-img"
alt="Sekolah Image">
<div class="card-img-overlay">
</div>
</div>
</div>
</div>
</div>

8. Views/Pelanggaran/siswa.php
<div class="container">

<div class="row">
<div class="col"><br>
<a href="/Pelanggaran/tambahdata" class="btn btn-
primary">Tambahkan Siswa</a>
<a href="/Pelanggaran/tampilpel" class="btn btn-
primary">Laporan Pelanggaran</a>
<?php if (session()->getFlashdata('pesan')) : ?>
<div class="alert alert-success" role="alert">
<?= session()->getFlashdata('pesan') ; ?>
</div>
<?php endif; ?>
<?php if (session()->getFlashdata('error')) : ?>
<div class="alert alert-danger" role="alert">
<?= session()->getFlashdata('error') ; ?>
</div>
<?php endif; ?>
<h1> Daftar Siswa</h1>
<table class="table table-striped table-hover">
<thead>
<tr class="table-info">
<th scope="col">#</th>
<th scope="col">NIS</th>
<th scope="col">Nama</th>
<th scope="col">Kelas</th>
<th scope="col">Jenis Kelamin</th>
<th scope="col">Alamat</th>
<th scope="col">Detail</th>
</tr>
</thead>
<tbody>
<?php $no = 1; ?>
<?php foreach ($objek as $r) : ?>
<tr class="table-striper">
<th scope="row"><?= $no++; ?></th>
<td><?= $r['nis']; ?></td>
<td><?= $r['nama']; ?></td>
<td><?= $r['kelas']; ?></td>
<td><?= $r['j_k']; ?></td>
<td><?= $r['alamat']; ?></td>
<th scope="col">
<a class="btn btn-warning"
href="detail/<?=$r['nis']; ?>" role="button">Detail</a>
</th>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
9. Views/Pelanggaran/tambahdata.php
<div class="container">

<div class="row">
<div class="col">
<?php if (session()->getFlashdata('required')) : ?>
<div class="alert alert-success" role="alert">
<?= session()->getFlashdata('required'); ?>
</div>
<?php endif; ?>
<h1 class="mt-3">Formulir Isi Data Siswa</h1>
<form action="/Pelanggaran/savedata" method="POST">

<div class="row mb-3">


<label for="nis" class="col-sm-2 col-form-
label">NIS Siswa*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="nis" id="nis" required>
</div>
</div>
<div class="row mb-3">
<label for="nama" class="col-sm-2 col-form-
label">Nama Siswa*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="nama" id="nama" required>
</div>
</div>
<div class="row mb-3">
<label for="kelas" class="col-sm-2 col-form-
label">Kelas*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="kelas" id="kelas" required>
</div>
</div>
<div class="row mb-3">
<label for="j_k" class="col-sm-2 col-form-
label">Jenis Kelamin*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="j_k" id="j_k" required>
</div>
</div>
<div class="row mb-3">
<label for="alamat" class="col-sm-2 col-form-
label">Alamat*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="alamat" id="alamat" required>
</div>
</div>
<!-- Fields for jenis_pelanggaran -->
<div class="row mb-3">
<label for="id_j_pel" class="col-sm-2 col-
form-label">ID Jenis Pelanggaran*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="id_j_pel" id="id_j_pel" required>
</div>
</div>
<div class="row mb-3">
<label for="n_j_pel" class="col-sm-2 col-
form-label">Jenis Pelanggaran*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="n_j_pel" id="n_j_pel" required>
</div>
</div>
<div class="row mb-3">
<label for="poin" class="col-sm-2 col-form-
label">Poin Pelanggaran*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="poin" id="poin" required>
</div>
</div>

<!-- Fields for pelanggaran -->


<div class="row mb-3">
<label for="id_pel" class="col-sm-2 col-form-
label">ID Pelanggaran*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="id_pel" id="id_pel" required>
</div>
</div>
<div class="row mb-3">
<label for="tgl_pel" class="col-sm-2 col-
form-label">Tanggal Pelanggaran*</label>
<div class="col-sm-10">
<input type="date" class="form-control"
name="tgl_pel" id="tgl_pel" required>
</div>
</div>
<div class="row mb-3">
<label for="ket" class="col-sm-2 col-form-
label">Keterangan Pelanggaran*</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="ket" id="ket" required>
</div>
</div>
<button type="submit" class="btn btn-
primary">Simpan</button>
<a href="/Pelanggaran/siswa" class="btn btn-
danger">Batal</a>
<?php if (session()->getFlashdata('required')) :
?>
<div class="alert alert-success"
role="alert">
<?= session()->getFlashdata('required');
?>
</div>
<?php endif; ?>
</form>
</div>
</div>
</div>

10.Views/Pelanggaran/tampilpel.php
<!DOCTYPE html>

<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Tampil Data Pelanggaran</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstr
ap.min.css">
</head>

<body>
<div class="container mt-4">
<h1>Tampil Data Pelanggaran</h1>
<table class="table table-striped">
<thead>
<tr>
<th>NIS</th>
<th>Nama</th>
<th>Kelas</th>
<th>Jenis Kelamin</th>
<th>Alamat</th>
<th>ID Jenis Pelanggaran</th>
<th>Nama Jenis Pelanggaran</th>
<th>Poin Pelanggaran</th>
<th>ID Pelanggaran</th>
<th>Tanggal Pelanggaran</th>
<th>Keterangan Pelanggaran</th>
</tr>
</thead>
<tbody>
<?php foreach ($objek as $data) : ?>
<tr>
<td><?= htmlspecialchars($data['nis']); ?
></td>
<td><?= htmlspecialchars($data['nama']);
?></td>
<td><?= htmlspecialchars($data['kelas']);
?></td>
<td><?= htmlspecialchars($data['j_k']); ?
></td>
<td><?=
htmlspecialchars($data['alamat']); ?></td>
<td><?=
htmlspecialchars($data['id_j_pel']); ?></td>
<td><?=
htmlspecialchars($data['n_j_pel']); ?></td>
<td><?= htmlspecialchars($data['poin']);
?></td>
<td><?=
htmlspecialchars($data['id_pel']); ?></td>
<td><?=
htmlspecialchars($data['tgl_pel']); ?></td>
<td><?= htmlspecialchars($data['ket']); ?
></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<a href="/Pelanggaran/siswa" class="btn btn-
success">Kembali ke Daftar Siswa</a>
</div>
</body>

</html>

b. File pada Model Model/TpelanggaranModel.php


<?php

namespace App\Models;
use CodeIgniter\Model;
class TpelanggaranModel extends Model
{
protected $table = 'siswa';
protected $primaryKey = 'nis';
protected $useAutoIncrement = false;
protected $allowedFields = ['nis', 'nama', 'kelas', 'j_k',
'alamat'];
public function getObjek($nis = false)
{
if ($nis === false) {
return $this->findAll();
}

return $this->where(['nis' => $nis])->first();


}
public function lapRelasi($nis)
{
return $this->db->table('siswa')
->join('pelanggaran', 'siswa.nis = pelanggaran.nis')
->join('jenis_pelanggaran', 'pelanggaran.id_j_pel =
jenis_pelanggaran.id_j_pel')
->where('siswa.nis', $nis)
->get()
->getResult();
}
public function getAllPelanggaran() {
$query = $this->join('pelanggaran', 'pelanggaran.nis =
siswa.nis')
->join('jenis_pelanggaran', 'jenis_pelanggaran.id_j_pel
= pelanggaran.id_j_pel')
->findAll();

return $query;
}
public function getSiswa($nis)
{
return $this->db->table('siswa')
->where('siswa.nis', $nis)
->get()
->getResult();
}
public function savePelanggaran($data)
{
return $this->db->table('pelanggaran')->insert($data);
}
public function saveJenisPelanggaran($data)
{
return $this->db->table('jenis_pelanggaran')->insert($data);
}
}

c. File pada Controller Controller/Pelanggaran.php


. <?php

namespace App\Controllers;
use App\Models\TpelanggaranModel;
class Pelanggaran extends BaseController
{
protected $Objek;
public function __construct()
{
$this->Objek = new TpelanggaranModel();
}
public function index()
{
echo view('Layout/header');
echo view('Pelanggaran/index');
echo view('Layout/footer');
}
public function profile()
{
$data = [
'title' => 'Profile Penulis'
];
echo view('Layout/header', $data);
echo view('Layout/profile');
echo view('Layout/footer');
}
public function kontak()
{
echo view('Layout/header');
echo view('Layout/kontak');
echo view('Layout/footer');
}
public function savedata()
{
$siswaData = [
'nis' => $this->request->getVar('nis'),
'nama' => $this->request->getVar('nama'),
'kelas' => $this->request->getVar('kelas'),
'j_k' => $this->request->getVar('j_k'),
'alamat' => $this->request->getVar('alamat'),
];
$this->Objek->save($siswaData);
$nis = $this->request->getVar('nis');
$jenisPelanggaranData = [
'id_j_pel' => $this->request->getVar('id_j_pel'),
'n_j_pel' => $this->request->getVar('n_j_pel'),
'poin' => $this->request->getVar('poin'),
];
$this->Objek->saveJenisPelanggaran($jenisPelanggaranData);
$pelanggaranData = [
'id_pel' => $this->request->getVar('id_pel'),
'tgl_pel' => $this->request->getVar('tgl_pel'),
'ket' => $this->request->getVar('ket'),
'nis' => $nis,
'id_j_pel' => $this->request->getVar('id_j_pel'), //
Include id_j_pel
];
$this->Objek->savePelanggaran($pelanggaranData);
session()->setFlashdata('pesan', 'Data Telah Berhasil di
Simpan');
return redirect()->to('/Pelanggaran/siswa');
}
public function siswa()
{
$Objek = $this->Objek->findAll();
$data = [
'title' => 'Data Siswa',
'objek' => $Objek
];
echo view('Layout/header', $data);
echo view('Pelanggaran/siswa');
echo view('Layout/footer');
}
public function detail($nis)
{
$siswa = $this->Objek->getSiswa($nis);
$pelanggaran = $this->Objek->lapRelasi($nis);
$data = [
'title' => 'Detail Data Siswa ' . $nis,
'siswa' => $siswa,
'pelanggaran' => $pelanggaran,
];
echo view('Layout/header', $data);
echo view('Pelanggaran/detail', $data);
echo view('Layout/footer');
}
public function tambahdata()
{
session();
$data = [
'title' => 'Formulir Tambah Data Siswa',
'validation' => \Config\Services::validation()
];
echo view('Layout/header', $data);
echo view('Pelanggaran/tambahdata');
echo view('Layout/footer');
}
public function delete($nis)
{
$this->Objek->delete($nis);
session()->setFlashdata('pesan', 'Data Telah Berhasil di
Hapus');
return redirect()->to('/Pelanggaran/isidata');
}
public function editdata($nis)
{
$objek = $this->Objek->getobjek($nis);
$data = [
'title' => 'Edit Data Siswa ' . $objek['nis'],
'objek' => $objek,
];
echo view('Layout/header', $data);
echo view('Pelanggaran/editdata');
echo view('Layout/footer');
}
public function dataedit()
{
$this->Objek->save([
'nis' => $this->request->getVar('nis'),
'nama' => $this->request->getVar('nama'),
'kelas' => $this->request->getVar('kelas'),
'j_k' => $this->request->getVar('j_k'),
'alamat' => $this->request->getVar('alamat'),
]);
session()->setFlashdata('pesan', 'Data Telah Berhasil di
Edit');
return redirect()->to('/Pelanggaran/isidata');
}
public function tampilpel()
{
$ObjekModel = new \App\Models\TpelanggaranModel();
$objek = $ObjekModel->getAllPelanggaran();
$data = [
'title' => 'Tampil Data',
'objek' => $objek,
];
echo view('Layout/header', $data);
echo view('Pelanggaran/tampilpel', $data);
echo view('Layout/footer');
}
}

d. File Config/Routes.php
. <?php

use CodeIgniter\Router\RouteCollection;

/**
* @var RouteCollection $routes
*/
$routes->setAutoRoute(true);
$routes->get('/', 'Pelanggaran::index');

e. File .env
database.default.hostname = localhost

database.default.database = pelanggaran
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306

Anda mungkin juga menyukai