Web Programming Assignment Code
Web Programming Assignment Code
Arjuna Sitepu
0702202213
DOSEN PENGAMPU
SUENDRI, M.Kom
2.Data Mahasiswa
3.Data Mata Kuliah
Source Code
1. Index.php
<?php
session_start();
if (!isset($_SESSION['id_user'])) {
header("location: login.php");
}
include_once('./config/db.php');
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
// ROUTE MAHASISWA
if ($_SESSION['role'] == 'mahasiswa') {
if ($page === '') {
$file = 'dashboard.php';
$title = 'Dashboard - ';
} else if ($page === 'matkul') {
$file = 'mahasiswa/matkul.php';
$title = 'Mata Kuliah - ';
} else if ($page === 'khs') {
$file = 'khs.php';
$title = 'Laporan KHS - ';
} else if ($page === 'profile') {
$file = 'profile.php';
$title = 'Data Pribadi - ';
$script = '<script src="assets/js/profile.js"></script>';
} else {
$file = '404.php';
$title = '404 Not Found - ';
}
}
} else {
if ($_SESSION['role'] == 'admin') {
$file = 'admin/dashboard.php';
} else {
$file = 'dashboard.php';
}
$title = 'Dashboard - ';
}
?>
<title><?= $title ?>Sistem Informasi Mahasiswa</title>
</head>
<body>
<div class="wrapper">
<!-- Sidebar -->
<?php include('./components/sidebar.php'); ?>
<!-- Page Content -->
<div id="main">
<!-- Navbar -->
<?php include('./components/navbar.php'); ?>
<!-- Userinfo -->
<div class='py-3 px-4 bg-warning text-light fs-5'>Selamat datang <?= $_SESSION['nama_lengkap'] ?> <?=
$_SESSION['role'] == 'mahasiswa' ? '| Prodi: ' . $_SESSION['nama_prodi']: ''?></div>
<!-- Content -->
<div id="content">
<?php
include('./pages/' . $file);
?>
<!-- End div content -->
</div>
<!-- End div main -->
</div>
<!-- End div wrapper -->
</div>
<!-- Script -->
<?= $script ?>
</body>
</html>
2. Login.php
<?php
session_start();
$error = false;
if (isset($_SESSION['id_user'])) {
header("location: index.php");
} else {
$submit = @$_POST['submit'];
$username = @$_POST['username'];
$password = @$_POST['password'];
$encodedPassword = md5($password);
if (isset($submit)) {
if($username == '' || $password == '') {
$error = true;
} else {
include_once('./config/db.php');
$query = "SELECT users.id, roles.nama_role FROM users ";
$query .= "LEFT JOIN roles ON roles.id = users.id_role ";
$query .= "WHERE username='$username' AND password='$encodedPassword'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$user = $result->fetch_assoc();
$id_user = $user['id'];
$role = $user['nama_role'];
$query = "SELECT nama_lengkap, status FROM biodata WHERE id_user = '$id_user'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$biodata = $result->fetch_assoc();
if ($biodata['status']) {
$_SESSION['id_user'] = $id_user;
$_SESSION['nama_lengkap'] = $biodata['nama_lengkap'];
$_SESSION['role'] = $role;
if ($role === 'mahasiswa') {
$query = "SELECT prodi.nama_prodi FROM mahasiswa ";
$query .= "LEFT JOIN prodi ON prodi.id = mahasiswa.id_prodi ";
$query .= "WHERE id_user = '$id_user'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$prodi = $result->fetch_assoc();
$_SESSION['nama_prodi'] = $prodi['nama_prodi'];
}
}
header("location: index.php");
} else {
$error = true;
$errorText = "Akun ini tidak aktif, silahkan hubungi administrator";
}
}
} else {
$error = true;
$errorText = "NIM atau password salah";
}
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
3. Dashboard
<?php
$query = "SELECT id FROM users WHERE id_role = 2";
$result = $connect->query($query);
$mahasiswa = $result->num_rows;
?>
<div class="row mt-3">
<div class="col">
<div class="small-box bg-primary">
<div class="inner">
<h3> <?= $mahasiswa ?> </h3>
<p class='text-light'> Mahasiswa </p>
</div>
<i class="icon fas fa-users"></i>
</div>
</div>
<div class="col">
<div class="small-box bg-success">
<div class="inner">
<h3> <?= $mata_kuliah ?> </h3>
<p class='text-light'> Mata Kuliah </p>
</div>
<i class="icon fas fa-book"></i>
</div>
</div>
<div class="col">
<div class="small-box bg-warning">
<div class="inner">
<h3> <?= $prodi ?> </h3>
<p class='text-light'> Program Studi </p>
</div>
<i class="icon fas fa-clipboard-list"></i>
</div>
</div>
<div class="col">
<div class="small-box bg-danger">
<div class="inner">
<h3> <?= $fakultas ?> </h3>
<p class='text-light'> Fakultas </p>
</div>
<i class="icon fas fa-graduation-cap"></i>
</div>
</div>
</div>
4. Mahasiswa
<div class="row mt-3">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<?php
$errorDelete = false;
$successStatus = false;
$successText = "";
$errorStatus = false;
$errorText = "";
if (isset($_POST['change-status'])) {
$status = $_POST['status'] ? 0 : 1;
$query = "UPDATE biodata SET status = '$status' WHERE id_user = '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result) {
$successStatus = true;
$successText = $_POST['status'] ? "dinonaktifkan" : "diaktifkan";
} else {
$errorStatus = true;
$errorText = $_POST['status'] ? "dinonaktifkan" : "diaktifkan";
}
}
if (isset($_POST['delete'])) {
$query = "DELETE FROM users WHERE id = '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result) {
$successStatus = true;
$successText = "dihapus";
} else {
$errorStatus = true;
$errorText = "dihapus";
}
}
?>
<?php if ($successStatus) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Mahasiwa Berhasil <?= $successText ?></div>
</div>
<?php } ?>
<?php if ($errorStatus) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> Mahasiwa gagal <?= $errorText ?></div>
</div>
<?php } ?>
<?php
$query = "SELECT users.id, users.username, biodata.nama_lengkap, biodata.foto,
biodata.jenis_kelamin, biodata.status, mahasiswa.semester, prodi.nama_prodi FROM users ";
$query .= "LEFT JOIN biodata ON biodata.id_user = users.id ";
$query .= "LEFT JOIN mahasiswa ON mahasiswa.id_user = users.id ";
$query .= "LEFT JOIN prodi ON mahasiswa.id_prodi = prodi.id ";
$query .= "WHERE id_role=2 ";
if (isset($_POST['btn-cari'])) {
$cari = $_POST['cari'];
$query .= "AND (users.username LIKE '%$cari%' OR biodata.nama_lengkap LIKE '%$cari%') ";
}
$query .= "ORDER BY biodata.nama_lengkap";
?>
<div class="row">
<div class="col-12 col-md-4 ">
<form method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name='cari' placeholder="Cari NIM / Nama" aria-
label="Cari berdasarkan nama" aria-describedby="btn-cari" value="<?= @$_POST['cari'] ?>">
<button class="btn btn-primary" type="submit" name='btn-cari' id="btn-cari"
title='Cari'><i class="fa fa-search"></i></button>
</div>
</form>
</div>
<div class="col-12 col-md-8 text-right">
<a href="?page=mahasiswa&action=add" class="btn btn-primary" title='Tambah
Mahasiswa'>Tambah Mahasiswa</a>
</div>
</div>
<div>
<div class="table-responsive">
<table class="table table-bordered table-striped dataTable">
<thead>
<tr class="text-center">
<th>No</th>
<th>Foto</th>
<th>NIM</th>
<th>Nama Lengkap</th>
<th>Jenis Kelamin</th>
<th>Semester</th>
<th>Program Studi</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$result = $connect->query($query);
if ($result->num_rows > 0) {
$mahasiswa = $result->fetch_all(MYSQLI_ASSOC);
for ($i = 0; $i < count($mahasiswa); $i++) {
$nama = $mahasiswa[$i]['nama_lengkap'];
?>
<tr>
<td class="text-center"><?= $i + 1 ?></td>
<td class="text-center"><img src="<?= $mahasiswa[$i]['foto'] ?>" class='object-cover
object-center' alt="" width="80px" height="80px"></td>
<td class="text-center"><?= $mahasiswa[$i]['username'] ?></td>
<td><?= $mahasiswa[$i]['nama_lengkap'] ?></td>
<td class="text-center"><span class='<?= $mahasiswa[$i]['jenis_kelamin'] ? 'bg-danger' :
'bg-primary' ?> rounded-pill px-2 text-white'><?= $mahasiswa[$i]['jenis_kelamin'] ? 'Perempuan' : 'Laki-
Laki' ?></span></td>
<td class="text-center"><?= $mahasiswa[$i]['semester'] ?></td>
<td class="text-center"><?= $mahasiswa[$i]['nama_prodi'] ?></td>
<td class="text-center"><?= $mahasiswa[$i]['status'] ? 'Aktif' : 'Tidak Aktif' ?></td>
<td class="text-center" style="min-width:10px">
<div class="row">
<form method="post" class="col-12 col-md-8 formChangeStatus" nama-
mahasiswa="<?= $nama?>" status="<?= $mahasiswa[$i]['status'] ?>">
<div class="row">
<input type="hidden" name="id" value="<?= $mahasiswa[$i]['id'] ?>"/>
<input type="hidden" name="status" value="<?= $mahasiswa[$i]['status'] ?>"/>
<input type="hidden" name='change-status'/>
<div class="col-12 col-md-6">
<a
href="?page=mahasiswa&action=edit&id=<?= $mahasiswa[$i]['id'] ?>"
name='delete'
class='btn btn-sm btn-primary'
title='Ubah Data Mahasiswa'
>
<i class="fa fa-pencil-alt"></i> Ubah
</a>
</div>
<div class="col-12 col-md-6">
<?php
if ($mahasiswa[$i]['status']) {
?>
<button
class='btn btn-sm btn-warning text-white'
title='Nonaktifkan Mahasiswa'
>
<i class="fa fa-times"></i> Non-aktif
</button>
<?php
} else {
?>
<button
class='btn btn-sm btn-success text-white'
title='Aktifkan Mahasiswa'
>
<i class="fa fa-check"></i> Aktifkan
</button>
<?php
}
?>
</div>
</div>
</form>
<form method="post" class="col-12 col-md-4 formDelete" nama-mahasiswa="<?=
$nama?>">
<input type="hidden" name="id" value="<?= $mahasiswa[$i]['id'] ?>"/>
<input type="hidden" name='delete'/>
<button
class='btn btn-sm btn-danger'
title='Hapus Data mahasiswa'
>
<i class="fa fa-trash"></i> Hapus
</button>
</form>
</div>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="9" class='text-center'>Tidak ada mata mahasiswa</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
5. Jadwal
<div class="row mt-3">
<div class="col-md-12 mb-4">
<div class="card">
<div class="card-body">
<?php
$successTambah = false;
$errorTambah = false;
$errorTambahText = "";
if (isset($_POST['tambah'])) {
$matkul = $_POST['matkul'];
$dosen = $_POST['dosen'];
$jam_kuliah = $_POST['jam_kuliah'];
$hari_kuliah = $_POST['hari_kuliah'];
$ruang = $_POST['ruang'];
$errorTambah = true;
if ($matkul == '-1') {
$errorTambahText = "Mata kuliah tidak boleh kosong";
} else if ($dosen == '-1') {
$errorTambahText = "Dosen tidak boleh kosong";
} else if ($jam_kuliah == '') {
$errorTambahText = "Jam kuliah tidak boleh kosong";
} else if ($hari_kuliah == '-1') {
$errorTambahText = "Hari kuliah tidak boleh kosong";
} else if ($ruang == '') {
$errorTambahText = "Ruang tidak boleh kosong";
} else {
$errorTambah = false;
$query = "INSERT into jadwal_kuliah (id_mata_kuliah, id_dosen, jam_kuliah, hari_kuliah, ruang) ";
$query .= "VALUES ('$matkul', '$dosen', '$jam_kuliah', '$hari_kuliah', '$ruang')";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = 'ditambah';
} else {
$errorTambah = true;
$errorTambahText = $connect->error;
}
}
}
if (isset($_POST['update'])) {
$id = $_POST['id'];
$matkul = $_POST['matkul'];
$dosen = $_POST['dosen'];
$jam_kuliah = $_POST['jam_kuliah'];
$hari_kuliah = $_POST['hari_kuliah'];
$ruang = $_POST['ruang'];
$errorTambah = true;
if ($matkul == '-1') {
$errorTambahText = "Mata kuliah tidak boleh kosong";
} else if ($dosen == '-1') {
$errorTambahText = "Dosen tidak boleh kosong";
} else if ($jam_kuliah == '') {
$errorTambahText = "Jam kuliah tidak boleh kosong";
} else if ($hari_kuliah == '-1') {
$errorTambahText = "Hari kuliah tidak boleh kosong";
} else if ($ruang == '') {
$errorTambahText = "Ruang tidak boleh kosong";
} else {
$errorTambah = false;
$query = "UPDATE jadwal_kuliah SET id_mata_kuliah = '$matkul', id_dosen = '$dosen' , jam_kuliah
= '$jam_kuliah', hari_kuliah = '$hari_kuliah', ruang = '$ruang' ";
$query .= "WHERE id = $id";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = "diubah";
}
}
}
?>
<?php if ($successTambah) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Jadwal kuliah berhasil <?= $successTambahText ?></div>
</div>
<?php } ?>
<?php if ($errorTambah) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> <?= $errorTambahText ?></div>
</div>
<?php } ?>
<?php
// EDIT MATKUL
if (@$_GET['action'] == 'edit' && isset($_GET['id'])) {
$query = "SELECT mata_kuliah.id as matkul, dosen.nip as dosen, jadwal_kuliah.* FROM
jadwal_kuliah ";
$query .= "LEFT JOIN mata_kuliah ON mata_kuliah.id = jadwal_kuliah.id_mata_kuliah ";
$query .= "LEFT JOIN dosen ON dosen.nip = jadwal_kuliah.id_dosen ";
$query .= "WHERE jadwal_kuliah.id = '". $_GET['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$jadwal = $result->fetch_assoc();
}
?>
<form class="row" method="POST" action="?page=jadwal">
<input type="hidden" name="id" value="<?= $jadwal['id'] ?>">
<?php
$query = "SELECT mata_kuliah.id, CONCAT(prodi.nama_prodi, ' | ',
.mata_kuliah.nama_mata_kuliah, ' | ', mata_kuliah.sks) as matkul FROM mata_kuliah ";
$query .= "LEFT JOIN prodi ON prodi.id = mata_kuliah.id_prodi ";
$query .= "ORDER BY prodi.nama_prodi, nama_mata_kuliah";
$result = $connect->query($query);
$matkul = [];
if ($result->num_rows > 0) {
$matkul = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-3 mb-2">
<label class="labels">Mata Kuliah</label>
<select class="form-select" aria-label="Mata kuliah" name='matkul'>
<option value='-1'>Pilih Mata kuliah</option>
<?php
if (count($matkul) == 0) {
echo "<option selected>Tidak ada Mata kuliah</option>";
}
foreach ($matkul as $item) {
$selected = $jadwal['matkul'] == $item['id'] ? 'selected' : '';
echo "<option value='".$item['id']."' $selected>" . $item['matkul'] . "</option>";
}
?>
</select>
</div>
<?php
$query = "SELECT * FROM dosen ";
$query .= "ORDER BY nama_dosen";
$result = $connect->query($query);
$dosen = [];
if ($result->num_rows > 0) {
$dosen = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-3 mb-2">
<label class="labels">Dosen</label>
<select class="form-select" aria-label="Dosen" name='dosen'>
<option value='-1'>Pilih Dosen</option>
<?php
if (count($dosen) == 0) {
echo "<option selected>Tidak ada Dosen</option>";
}
foreach ($dosen as $item) {
$selected = $jadwal['dosen'] == $item['nip'] ? 'selected' : '';
echo "<option value='".$item['nip']."' $selected >" . $item['nama_dosen'] . "</option>";
}
?>
</select>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Jam Kuliah</label>
<input type="time" min=1 class="form-control" placeholder="Jam Kuliah" name='jam_kuliah'
value="<?= $jadwal['jam_kuliah'] ?>">
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Hari Kuliah</label>
<select class="form-select" aria-label="Hari Kuliah" name='hari_kuliah'>
<option value='-1'>Pilih Hari Kuliah</option>
<option value='Senin' <?= $jadwal['hari_kuliah'] == 'Senin' ? 'selected' : '' ?>>Senin</option>
<option value='Selasa' <?= $jadwal['hari_kuliah'] == 'Selasa' ? 'selected' : '' ?>>Selasa</option>
<option value='Rabu' <?= $jadwal['hari_kuliah'] == 'Rabu' ? 'selected' : '' ?>>Rabu</option>
<option value='Kamis' <?= $jadwal['hari_kuliah'] == 'Kamis' ? 'selected' : '' ?>>Kamis</option>
<option value='Jumat' <?= $jadwal['hari_kuliah'] == 'Jumat' ? 'selected' : '' ?>>Jumat</option>
</select>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Ruang Kuliah</label>
<input type="text" min=1 class="form-control" placeholder="Ruang Kuliah" name='ruang'
value="<?= $jadwal['ruang'] ?>">
</div>
<div class="col-12 text-right">
<a href="?page=jadwal" class="btn btn-danger" title='Batal Ubah'>Batal</a>
<button class="btn btn-primary" name='update' title='Tambah Mahasiswa'>Simpan Mata
Kuliah</button>
</div>
</form>
<?php
} else {
// ADD MATKUL
?>
<form class="row" method="POST">
<?php
$query = "SELECT mata_kuliah.id, CONCAT(prodi.nama_prodi, ' | ',
.mata_kuliah.nama_mata_kuliah, ' | ', mata_kuliah.sks) as matkul FROM mata_kuliah ";
$query .= "LEFT JOIN prodi ON prodi.id = mata_kuliah.id_prodi ";
$query .= "ORDER BY prodi.nama_prodi, nama_mata_kuliah";
$result = $connect->query($query);
$matkul = [];
if ($result->num_rows > 0) {
$matkul = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-3 mb-2">
<label class="labels">Mata Kuliah</label>
<select class="form-select" aria-label="Mata kuliah" name='matkul'>
<option value='-1'>Pilih Mata kuliah</option>
<?php
if (count($matkul) == 0) {
echo "<option selected>Tidak ada Mata kuliah</option>";
}
foreach ($matkul as $item) {
echo "<option value='".$item['id']."'>" . $item['matkul'] . "</option>";
}
?>
</select>
</div>
<?php
$query = "SELECT * FROM dosen ";
$query .= "ORDER BY nama_dosen";
$result = $connect->query($query);
$dosen = [];
if ($result->num_rows > 0) {
$dosen = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-3 mb-2">
<label class="labels">Dosen</label>
<select class="form-select" aria-label="Dosen" name='dosen'>
<option value='-1'>Pilih Dosen</option>
<?php
if (count($dosen) == 0) {
echo "<option selected>Tidak ada Dosen</option>";
}
foreach ($dosen as $item) {
echo "<option value='".$item['nip']."'>" . $item['nama_dosen'] . "</option>";
}
?>
</select>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Jam Kuliah</label>
<input type="time" min=1 class="form-control" placeholder="Jam Kuliah" name='jam_kuliah'>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Hari Kuliah</label>
<select class="form-select" aria-label="Hari Kuliah" name='hari_kuliah'>
<option value='-1'>Pilih Hari Kuliah</option>
<option value='Senin'>Senin</option>
<option value='Selasa'>Selasa</option>
<option value='Rabu'>Rabu</option>
<option value='Kamis'>Kamis</option>
<option value='Jumat'>Jumat</option>
</select>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Ruang Kuliah</label>
<input type="text" min=1 class="form-control" placeholder="Ruang Kuliah" name='ruang'>
</div>
<div class="col-12 text-right">
<button class="btn btn-primary" name='tambah' title='Tambah Mahasiswa'>Tambah Mata
Kuliah</button>
</div>
</form>
<?php
}
?>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="card-body">
<?php
$successStatus = false;
$successText = "";
$errorStatus = false;
$errorText = "";
if (isset($_POST['delete'])) {
$query = "SELECT id FROM mata_kuliah WHERE id= '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$query = "DELETE FROM mata_kuliah WHERE id = '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result) {
$successStatus = true;
$successText = "Berhasil dihapus";
} else {
$errorStatus = true;
$errorText = "gagal dihapus : mata kuliah sedang aktif";
}
} else {
$errorStatus = true;
$errorText = "tidak ditemukan";
}
}
?>
<?php if ($successStatus) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Jadwal kuliah <?= $successText ?></div>
</div>
<?php } ?>
<?php if ($errorStatus) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> Jadwal kuliah <?= $errorText ?></div>
</div>
<?php } ?>
<?php
$query = "SELECT jadwal_kuliah.*, mata_kuliah.nama_mata_kuliah, dosen.nama_dosen FROM
jadwal_kuliah ";
$query .= "LEFT JOIN mata_kuliah ON mata_kuliah.id = jadwal_kuliah.id_mata_kuliah ";
$query .= "LEFT JOIN dosen ON dosen.nip = jadwal_kuliah.id_dosen ";
if (isset($_POST['btn-cari'])) {
$cari = $_POST['cari'];
$query .= "WHERE mata_kuliah.nama_mata_kuliah LIKE '%$cari%' OR dosen.nama_dosen LIKE
'%$cari%' ";
}
$query .= "ORDER BY mata_kuliah.nama_mata_kuliah";
?>
<div class="row">
<div class="col-12 col-md-4 ">
<form method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name='cari' placeholder="Cari mata kuliah" aria-
label="Cari berdasarkan nama" aria-describedby="btn-cari" value="<?= @$_POST['cari'] ?>">
<button class="btn btn-primary" type="submit" name='btn-cari' id="btn-cari"
title='Cari'><i class="fa fa-search"></i></button>
</div>
</form>
</div>
</div>
<div>
<div class="table-responsive">
<table class="table table-bordered table-striped dataTable">
<thead>
<tr class="text-center">
<th>No</th>
<th>Mata Kuliah</th>
<th>Dosen</th>
<th>Jam Kuliah</th>
<th>Hari</th>
<th>Ruang</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$result = $connect->query($query);
if ($result->num_rows > 0) {
$mataKuliah = $result->fetch_all(MYSQLI_ASSOC);
for ($i = 0; $i < count($mataKuliah); $i++) {
?>
<tr>
<td class="text-center"><?= $i + 1 ?></td>
<td><?= $mataKuliah[$i]['nama_mata_kuliah'] ?></td>
<td><?= $mataKuliah[$i]['nama_dosen'] ?></td>
<td class="text-center"><?= $mataKuliah[$i]['jam_kuliah'] ?></td>
<td class="text-center"><?= $mataKuliah[$i]['hari_kuliah'] ?></td>
<td class="text-center"><?= $mataKuliah[$i]['ruang'] ?></td>
<td class="text-center" style="min-width:10px">
<div class="row justify-content-center">
<div class="col-12 col-md-4">
<a
href="?page=jadwal&action=edit&id=<?= $mataKuliah[$i]['id'] ?>"
name='delete'
class='btn btn-sm btn-primary'
title='Ubah Data mata kuliah'
>
<i class="fa fa-pencil-alt"></i> Ubah
</a>
</div>
<form method="post" class="col-12 col-md-4 formDelete" nama-matkul="<?=
$mataKuliah[$i]['nama_mata_kuliah'] ?>">
<input type="hidden" name="id" value="<?= $mataKuliah[$i]['id'] ?>"/>
<input type="hidden" name='delete'/>
<button
class='btn btn-sm btn-danger'
title='Hapus Data mata kuliah'
>
<i class="fa fa-trash"></i> Hapus
</button>
</form>
</div>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="7" class='text-center'>Tidak ada jadwal kuliah</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
6. Mata Kuliah
<div class="row mt-3">
<div class="col-md-12 mb-4">
<div class="card">
<div class="card-body">
<?php
$successTambah = false;
$errorTambah = false;
$errorTambahText = "";
if (isset($_POST['tambah'])) {
$nama_mata_kuliah = $_POST['nama_mata_kuliah'];
$sks = $_POST['sks'];
$semester = $_POST['semester'];
$prodi = $_POST['prodi'];
$errorTambah = true;
if ($nama_mata_kuliah == '') {
$errorTambahText = "Mata kuliah tidak boleh kosong";
} else if ($sks == '') {
$errorTambahText = "SKS tidak boleh kosong";
} else if ($semester == '') {
$errorTambahText = "Semester tidak boleh kosong";
} else if ($prodi == '-1') {
$errorTambahText = "Program Studi tidak boleh kosong";
} else {
$errorTambah = false;
$query = "INSERT into mata_kuliah (nama_mata_kuliah, id_prodi, sks, semester) ";
$query .= "VALUES ('$nama_mata_kuliah', '$prodi', '$sks', '$semester')";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = 'ditambah';
}
}
}
if (isset($_POST['update'])) {
$id = $_POST['id'];
$nama_mata_kuliah = $_POST['nama_mata_kuliah'];
$sks = $_POST['sks'];
$semester = $_POST['semester'];
$prodi = $_POST['prodi'];
$errorTambah = true;
if ($nama_mata_kuliah == '') {
$errorTambahText = "Mata kuliah tidak boleh kosong";
} else if ($sks == '') {
$errorTambahText = "SKS tidak boleh kosong";
} else if ($semester == '') {
$errorTambahText = "Semester tidak boleh kosong";
} else if ($prodi == '-1') {
$errorTambahText = "Program Studi tidak boleh kosong";
} else {
$errorTambah = false;
$query = "UPDATE mata_kuliah SET nama_mata_kuliah = '$nama_mata_kuliah', id_prodi = '$prodi' ,
sks = '$sks', semester = '$semester' ";
$query .= "WHERE id = $id";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = "diubah";
}
}
}
?>
<?php if ($successTambah) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Mata kuliah berhasil <?= $successTambahText ?></div>
</div>
<?php } ?>
<?php if ($errorTambah) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> <?= $errorTambahText ?></div>
</div>
<?php } ?>
<?php
// EDIT MATKUL
if (@$_GET['action'] == 'edit' && isset($_GET['id'])) {
$query = "SELECT mata_kuliah.*, prodi.id as prodi FROM mata_kuliah ";
$query .= "LEFT JOIN prodi ON mata_kuliah.id_prodi = prodi.id ";
$query .= "WHERE mata_kuliah.id = '". $_GET['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$matkul = $result->fetch_assoc();
}
?>
<form class="row" method="POST" action="?page=matkul">
<input type="hidden" name="id" value="<?= $matkul['id'] ?>">
<div class="col-12 col-md-4 mb-2">
<label class="labels">Mata Kuliah</label>
<input type="text" class="form-control" placeholder="Mata Kuliah" name='nama_mata_kuliah'
value="<?= @$matkul['nama_mata_kuliah'] ?>">
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">SKS</label>
<input type="number" min=1 class="form-control" placeholder="SKS" name='sks' value="<?=
@$matkul['sks'] ?>">
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Semester</label>
<input type="number" min=1 class="form-control" placeholder="Semester" name='semester'
value="<?= @$matkul['semester'] ?>">
</div>
<?php
$query = "SELECT prodi.id, CONCAT(fakultas.nama_fakultas, ' - ', prodi.nama_prodi) as
nama_prodi FROM prodi ";
$query .= "LEFT JOIN fakultas ON fakultas.id = prodi.id_fakultas ";
$query .= "ORDER BY nama_fakultas";
$result = $connect->query($query);
$prodi = [];
$dosen = [];
if ($result->num_rows > 0) {
$prodi = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-4 mb-2">
<label class="labels">Program Studi</label>
<select class="form-select" aria-label="Program Studi" name='prodi'>
<option value='-1'>Pilih Program Studi</option>
<?php
if (count($prodi) == 0) {
echo "<option selected>Tidak ada program studi</option>";
}
foreach ($prodi as $item) {
$selected = @$matkul['prodi'] == $item['id'] ? 'selected' : '';
echo "<option value='".$item['id']."' " . $selected . ">" . $item['nama_prodi'] . "</option>";
}
?>
</select>
</div>
<div class="col-12 text-right">
<a href="?page=matkul" class="btn btn-danger" title='Batal Ubah'>Batal</a>
<button class="btn btn-primary" name='update' title='Tambah Mahasiswa'>Simpan Mata
Kuliah</button>
</div>
</form>
<?php
} else {
// ADD MATKUL
?>
<form class="row" method="POST">
<div class="col-12 col-md-4 mb-2">
<label class="labels">Mata Kuliah</label>
<input type="text" class="form-control" placeholder="Mata Kuliah" name='nama_mata_kuliah'>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">SKS</label>
<input type="number" min=1 class="form-control" placeholder="SKS" name='sks'>
</div>
<div class="col-6 col-md-2 mb-2">
<label class="labels">Semester</label>
<input type="number" min=1 class="form-control" placeholder="Semester" name='semester'>
</div>
<?php
$query = "SELECT prodi.id, CONCAT(fakultas.nama_fakultas, ' - ', prodi.nama_prodi) as
nama_prodi FROM prodi ";
$query .= "LEFT JOIN fakultas ON fakultas.id = prodi.id_fakultas ";
$query .= "ORDER BY nama_fakultas";
$result = $connect->query($query);
$prodi = [];
$dosen = [];
if ($result->num_rows > 0) {
$prodi = $result->fetch_all(MYSQLI_ASSOC);
}
?>
<div class="col-12 col-md-4 mb-2">
<label class="labels">Program Studi</label>
<select class="form-select" aria-label="Program Studi" name='prodi'>
<option value='-1'>Pilih Program Studi</option>
<?php
if (count($prodi) == 0) {
echo "<option selected>Tidak ada program studi</option>";
}
foreach ($prodi as $item) {
echo "<option value='".$item['id']."'>" . $item['nama_prodi'] . "</option>";
}
?>
</select>
</div>
<div class="col-12 text-right">
<button class="btn btn-primary" name='tambah' title='Tambah Mahasiswa'>Tambah Mata
Kuliah</button>
</div>
</form>
<?php
}
?>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="card-body">
<?php
$successStatus = false;
$successText = "";
$errorStatus = false;
$errorText = "";
if (isset($_POST['delete'])) {
$query = "SELECT id FROM mata_kuliah WHERE id= '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$query = "DELETE FROM mata_kuliah WHERE id = '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result) {
$successStatus = true;
$successText = "Berhasil dihapus";
} else {
$errorStatus = true;
$errorText = "gagal dihapus : mata kuliah sedang aktif";
}
} else {
$errorStatus = true;
$errorText = "tidak ditemukan";
}
}
?>
<?php if ($successStatus) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Mata kuliah <?= $successText ?></div>
</div>
<?php } ?>
<?php if ($errorStatus) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> Mata kuliah <?= $errorText ?></div>
</div>
<?php } ?>
<?php
$query = "SELECT mata_kuliah.*, prodi.nama_prodi FROM mata_kuliah ";
$query .= "LEFT JOIN prodi ON mata_kuliah.id_prodi = prodi.id ";
if (isset($_POST['btn-cari'])) {
$cari = $_POST['cari'];
$query .= "WHERE mata_kuliah.nama_mata_kuliah LIKE '%$cari%' ";
}
$query .= "ORDER BY mata_kuliah.nama_mata_kuliah";
?>
<div class="row">
<div class="col-12 col-md-4 ">
<form method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name='cari' placeholder="Cari mata kuliah" aria-
label="Cari berdasarkan nama" aria-describedby="btn-cari" value="<?= @$_POST['cari'] ?>">
<button class="btn btn-primary" type="submit" name='btn-cari' id="btn-cari"
title='Cari'><i class="fa fa-search"></i></button>
</div>
</form>
</div>
</div>
<div>
<div class="table-responsive">
<table class="table table-bordered table-striped dataTable">
<thead>
<tr class="text-center">
<th>No</th>
<th>Mata Kuliah</th>
<th>SKS</th>
<th>Semester</th>
<th>Program Studi</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$result = $connect->query($query);
if ($result->num_rows > 0) {
$mataKuliah = $result->fetch_all(MYSQLI_ASSOC);
for ($i = 0; $i < count($mataKuliah); $i++) {
?>
<tr>
<td class="text-center"><?= $i + 1 ?></td>
<td><?= $mataKuliah[$i]['nama_mata_kuliah'] ?></td>
<td class="text-center"><?= $mataKuliah[$i]['sks'] ?></td>
<td class="text-center"><?= $mataKuliah[$i]['semester'] ?></td>
<td><?= $mataKuliah[$i]['nama_prodi'] ?></td>
<td class="text-center" style="min-width:10px">
<div class="row justify-content-center">
<div class="col-12 col-md-4">
<a
href="?page=matkul&action=edit&id=<?= $mataKuliah[$i]['id'] ?>"
name='delete'
class='btn btn-sm btn-primary'
title='Ubah Data mata kuliah'
>
<i class="fa fa-pencil-alt"></i> Ubah
</a>
</div>
<form method="post" class="col-12 col-md-4 formDelete" nama-matkul="<?=
$mataKuliah[$i]['nama_mata_kuliah'] ?>">
<input type="hidden" name="id" value="<?= $mataKuliah[$i]['id'] ?>"/>
<input type="hidden" name='delete'/>
<button
class='btn btn-sm btn-danger'
title='Hapus Data mata kuliah'
>
<i class="fa fa-trash"></i> Hapus
</button>
</form>
</div>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="6" class='text-center'>Tidak ada mata kuliah</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
7. Pengumuman
<div class="row mt-3">
<div class="col-md-12 mb-4">
<div class="card">
<div class="card-body">
<?php
$successTambah = false;
$errorTambah = false;
$errorTambahText = "";
if (isset($_POST['tambah'])) {
$judul = $_POST['judul'];
$isi_berita = $_POST['isi_berita'];
$errorTambah = true;
if ($judul == '') {
$errorTambahText = "Judul tidak boleh kosong";
} else if ($isi_berita == '') {
$errorTambahText = "Isi pengumuman tidak boleh kosong";
} else {
$errorTambah = false;
$query = "INSERT into berita (judul, berita) ";
$query .= "VALUES ('$judul', '$isi_berita')";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = 'dipublish';
} else {
$errorTambah = true;
$errorTambahText = "Pengumuman gagal dipublish";
}
}
}
if (isset($_POST['update'])) {
$id = $_POST['id'];
$judul = $_POST['judul'];
$isi_berita = $_POST['isi_berita'];
$errorTambah = true;
if ($judul == '') {
$errorTambahText = "Judul tidak boleh kosong";
} else if ($isi_berita == '') {
$errorTambahText = "Isi pengumuman tidak boleh kosong";
} else {
$errorTambah = false;
$query = "UPDATE berita SET judul = '$judul', berita = '$isi_berita' ";
$query .= "WHERE id = $id";
$result = $connect->query($query);
if ($result) {
$successTambah = true;
$successTambahText = "diubah";
} else {
$errorTambah = true;
$errorTambahText = "Pengumuman gagal diubah";
}
}
}
?>
<?php if ($successTambah) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Pengumuman berhasil <?= $successTambahText ?></div>
</div>
<?php } ?>
<?php if ($errorTambah) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> <?= $errorTambahText ?></div>
</div>
<?php } ?>
<?php
// EDIT BERITA
if (@$_GET['action'] == 'edit' && isset($_GET['id'])) {
$query = "SELECT * FROM berita ";
$query .= "WHERE id = '". $_GET['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$pengumuman = $result->fetch_assoc();
}
?>
<form class="row" method="POST" action="?page=pengumuman">
<input type="hidden" name="id" value="<?= $pengumuman['id'] ?>">
<div class="col-12 mb-2">
<label class="labels">Judul</label>
<input type="text" class="form-control" placeholder="Judul" name='judul' value="<?=
$pengumuman['judul'] ?>">
</div>
<div class="col-12 mb-2">
<label class="labels">Isi Pengumuman</label>
<textarea class="form-control" rows='4' placeholder="Isi pengumuman" name='isi_berita'><?=
$pengumuman['berita'] ?></textarea>
</div>
<div class="col-12 text-right">
<a href="?page=matkul" class="btn btn-danger" title='Batal Ubah'>Batal</a>
<button class="btn btn-primary" name='update' title='Tambah Mahasiswa'>Simpan
Perubahan</button>
</div>
</form>
<?php
} else {
// ADD BERITA
?>
<form class="row" method="POST">
<div class="col-12 mb-2">
<label class="labels">Judul</label>
<input type="text" class="form-control" placeholder="Judul" name='judul'>
</div>
<div class="col-12 mb-2">
<label class="labels">Isi Pengumuman</label>
<textarea class="form-control" rows='4' placeholder="Isi pengumuman"
name='isi_berita'></textarea>
</div>
<div class="col-12 text-right">
<button class="btn btn-primary" name='tambah' title='Tambah Mahasiswa'>Publish</button>
</div>
</form>
<?php
}
?>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="card-body">
<?php
$successStatus = false;
$successText = "";
$errorStatus = false;
$errorText = "";
if (isset($_POST['delete'])) {
$query = "SELECT id FROM berita WHERE id= '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result->num_rows > 0) {
$query = "DELETE FROM berita WHERE id = '". $_POST['id'] ."'";
$result = $connect->query($query);
if ($result) {
$successStatus = true;
$successText = "Berhasil dihapus";
} else {
$errorStatus = true;
$errorText = "gagal dihapus";
}
} else {
$errorStatus = true;
$errorText = "tidak ditemukan";
}
}
?>
<?php if ($successStatus) { ?>
<div class="alert alert-success d-flex align-items-center" role="alert">
<i class="fas fa-check bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Sukses!</strong> Pengumuman <?= $successText ?></div>
</div>
<?php } ?>
<?php if ($errorStatus) { ?>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<i class="fas fa-exclamation-triangle bi flex-shrink-0 me-2" width="24" height="24"></i>
<div><strong>Gagal!</strong> Pengumuman <?= $errorText ?></div>
</div>
<?php } ?>
<?php
$query = "SELECT * FROM berita ";
if (isset($_POST['btn-cari'])) {
$cari = $_POST['cari'];
$query .= "WHERE judul LIKE '%$cari%' OR berita LIKE '%$cari%' ";
}
$query .= "ORDER BY created_at DESC";
?>
<div class="row">
<div class="col-12 col-md-4 ">
<form method="post">
<div class="input-group mb-3">
<input type="text" class="form-control" name='cari' placeholder="Cari pengumuman" aria-
label="Cari" aria-describedby="btn-cari" value="<?= @$_POST['cari'] ?>">
<button class="btn btn-primary" type="submit" name='btn-cari' id="btn-cari"
title='Cari'><i class="fa fa-search"></i></button>
</div>
</form>
</div>
</div>
<div>
<div class="table-responsive">
<table class="table table-bordered table-striped dataTable">
<thead>
<tr class="text-center">
<th>No</th>
<th>Judul</th>
<th>Isi</th>
<th>Tanggal Publish</th>
<th>Tanggal Ubah</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$result = $connect->query($query);
if ($result->num_rows > 0) {
$berita = $result->fetch_all(MYSQLI_ASSOC);
for ($i = 0; $i < count($berita); $i++) {
?>
<tr>
<td class="text-center"><?= $i + 1 ?></td>
<td><?= $berita[$i]['judul'] ?></td>
<td><?= strlen($berita[$i]['berita']) > 100 ? substr($berita[$i]['berita'],0,100) . '...' :
$berita[$i]['berita'] ?></td>
<td class="text-center"><?= date_format(date_create($berita[$i]['created_at']), "d-M-Y")
?></td>
<td class="text-center"><?= date_format(date_create($berita[$i]['updated_at']), "d-M-Y")
?></td>
<td class="text-center" style="min-width:10px">
<div class="row justify-content-center">
<div class="col-12 col-md-4">
<a
href="?page=pengumuman&action=edit&id=<?= $berita[$i]['id'] ?>"
name='delete'
class='btn btn-sm btn-primary'
title='Ubah Data pengumuman'
>
<i class="fa fa-pencil-alt"></i> Ubah
</a>
</div>
<form method="post" class="col-12 col-md-4 formDelete" nama-pengumuman="<?=
$berita[$i]['judul'] ?>">
<input type="hidden" name="id" value="<?= $berita[$i]['id'] ?>"/>
<input type="hidden" name='delete'/>
<button
class='btn btn-sm btn-danger'
title='Hapus Data pengumuman'
>
<i class="fa fa-trash"></i> Hapus
</button>
</form>
</div>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="6" class='text-center'>Tidak ada pengumuman</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>