Anda di halaman 1dari 57

IMPLEMENTASI SISTEM INFORMASI

KALI BERSIH BERBASIS WEB UNTUK MENINGKATKAN

KUALITAS SUNGAI DI DKI JAKARTA

Kelompok 2

1.Fikri Nur Ihsan - 19210863

2.Attala Yuan Naufal - 19210166

3.Murni Aura Olivia Sari Wangi - 19211234

4.Annisa Putri Aprilia - 19211195

5.Muhammad Rafli Egirah - 19211197

FAKULTAS TEKNOLOGI INFORMASI & KOMUNIKASI


PRODI SISTEM INFORMASI
UNIVERSITAS BINA SARANA INFORMATIKA
KALIMALANG
2023
KATA PENGANTAR

Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha
Penyayang, kami panjatkan puja dan puji syukur atas kehadirat-Nya, yang telah

dapat menyelesaikan makalah Implementasi Sistem Informasi tentang kali bersih


berbasis web.

Makalah Implementasi Sistem Informasi  ini telah kami susun dengan


maksimal dan mendapatkan bantuan dari berbagai pihak sehingga dapat memperlancar
pembuatan makalah ini. Untuk itu kami menyampaikan banyak terima kasih kepada semua
pihak yang telah berkontribusi dalam pembuatan makalah ini.

Terlepas dari semua itu, kami meyadari sepenuhnya bahwa masih ada
kekurangan baik dari segi susunan kalimat maupun tata bahasanya. Oleh karena itu dengan
tangan terbuka kami menerima segala saran dan kritik dari pembaca dan pendengar agar
kami dapat memperbaiki makalah Implementasi Sistem Informasi ini.

Akhir kata kami berharap semoga makalah Implementasi Sistem


Informasi tentang kali bersih berbasis web ini dapat memberikan manfaat maupun inspirasi
terhadap pembaca ataupun pendengar.
DAFTAR ISI
 
Cover
Kata Pengantar 
Daftar Isi 
 
 
BAB I PROJECT CHARTER
1.1. Latar Belakang Masalah (Metode Penelitian)
1.2. Deskripsi Produk/Service (Manajemen Proyek Sistem Informasi)
1.3. Keuntungan yang Diharapkan (Manajemen Proyek Sistem Informasi)
 
 
BAB II PROJECT REPORT
2.1. Analisa Sistem Berjalan (Analisa dan Perancangan Sistem Informasi)
2.2. Analisa Kebutuhan Sistem Usulan (Analisa dan Perancangan Sistem Informasi)
A. Usecase (Pemodelan Sistem Berbasis Obyek)
B. Activity (Pemodelan Sistem Berbasis Obyek)
2.3. Desain Sistem 
A. Desain Basis Data (Sistem Basis Data)
B. Desain Antar Muka (Interaksi Manusia Komputer)
C. Class Diagram (Pemodelan Sistem Berbasis Obyek)
2.4. Pembuatan Kode Program (Web Programming III)  
 
BAB III PROJECT RESUME
4.1. Kesimpulan (Metode Penelitian)
4.2. Saran (Metode Penelitian)
 
 
DAFTAR PUSTAKA
LAMPIRAN
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Sungai merupakan salah satu komponen yang penting dalam

keberlangsungan hidup di alam ini, baik hewan, tumbuhan maupun manusia

sangat membutuhkannya. Kondisi sungai saat ini sungguh sangat

memperihatinkan banyaknya sampah yang menggenang di sungai, limbah rumah

tangga dan banyak lagi lainnya.

Air merupakan salah satu sumber kehidupan, seperti untuk minum,

memasak, mandi, dan mencuci. Bahkan di beberapa sungai, masih ada orang-

orang yang memanfaatkan sungai untuk kepentingan tersebut. Namun

bagaimana jadinya bila sungai yang kita temui malah kotor dan penuh sampah

yang menyengat.

Dilihat dari sungai yang diamati, sungai ini kotor dengan sampah-sampah yang

dibuang disana. Diseberang sungai pun ada rumah-rumah penduduk. Saya yakin

penduduk maupun pengguna jalan yang berada di sekitar sana terganggu dengan

bau dari kali yang sangat menyengat itu.

Air yang kita gunakan harus berstandart 3B yaitu tidak berwarna, tidak

berbau dan tidak beracun. Tetapi dari yang kita lihat, air yang berwarna keruh

dan berbau sering sungai bercampur dengan benda-benda sampah seperrti plastik,

sampah organik, kotoran manusia, kaleng dan sebagainya sehingga sangat tidak

boleh untuk menggunakannya untuk kepentingan manusia dan makhluk hidup


lain karena dapat menyebabkan kematian dilihat dari kandungan zat kimia.

Saat ini air menjadi masalah yang perlu mendapatkan perhatian serius.

Karena air telah tercemar oleh limbah –limbah dari berbagai hasil kegiatan

manusia. Kitapun tidak bisa hanya mengandalkan pihak – pihak dari pemerintah

untuk menangani hal ini. Kesadaran kita sebagai penduduk Jakarta pun perlu

ditingkatkan dengan menghilangkan rasa enggan untuk menegakan kebersihan di

Jakarta.

Untuk itu perlu solusi lebih lanjut salah satunya bisa dengan menggunakan

aplikasi. Sekarang ini banyak masyarakat terutama di DKI Jakarta ini sudah

banyak menggunakan telepon pintar/ smartphone. Hal ini bisa dimanfaatkan

untuk membuat aplikasi yang praktis dan fungsional dalam mengatasi kali kotor.

Dengan adanya aplikasi ini diharapkan masyaraakat mudah melaporkan kepada

pihak yang berwenang terkait keberadaan sungai kotor di daerahnya masing –

masing Menurut pakar dari Pusat Penelitian Lingkungan Hidup (PPLH) IPB Dr.

Liyantono mengaku status mata air di DKI Jakarta mengalami kondisi yang

cemar sangat berat. Salah satu alas an penyebab tercemarnya sungai di DKI

Jakarta karena perilaku masyarakat nya tersendiri yang suka membuang sampah

sembarangan dengan tercemarnya sungai yang ada di DKI Jakarta ini

masyarakat harusnya bisa melihat dan sadar diri agar tidak lagi buang sampah

sembarangan.
Dengan kondisi demikian pemerintah DKI Jakarta harus bertindak tegas

dalam menghadapi kondisi ini dengan mengerahkan pasukan oranye untuk

membersihkan sungai yang tercemar dan melakukan tindakan tegas dengan

memberi denda kepada orang yang membuang sampah ke sungai

1.2 Rumusan Masalah

Bagaimana peran aplikasi kalbers dalam mengatasi masalah sungai kotor di

DKI Jakarta

1.3 Analisa Masalah Dan Solusi

Berdasarkan masalah diatas, maka dapat diide ntifikasikan permasalahan

sebagai berikut :

 Masih banyak masyarakat yang kurang berpatisipasi dalam menjaga

kebersihan sungai

 Kurangnya edukasi tentang penanggulangan sampah rumah tangga, sebab itu

masyarakat membuang sampah di sungai.

 Karna masih banyak masyarakat yg kesulitan untuk melapor ke

pihak berwajib

 Kurangnya sarana tempat membuang sampah disekitar sungai sehingga

masyarakat menilai membuang sampah di sungai lebih praktis dan

gratis.

 Masyarakat masih menganggap bahwa sampah bukanlah barang yang penting

sehingga tidak memerlukan perhatian khusus.

 Masyarakat seringkali mengira sampah bukan tanggungjawab

pribadi melainkan petugas kebersihan ataupun pemerintah setempat.

 Masyarakat masih percaya bahwa tidak ada konsekuensi membuang sampah

sembarangan di sungai.
Dengan aplikasi kalbers ini yang berbasis mobile, masyarakat / publik pengguna

smartphone dapat ikut berpatisipasi dalam menjaga kebersihan sungai ikut serta / aplikasi

ini diharapkan masyaraakat mudah melaporkan kepada pihak yang berwenang terkait

keberadaan sungai kotor di daerahnya masing – masing., aplikasi ini dapat diakses dimana

saja

1.4 Tujuan Dan Manfaat Aplikasi

Tujuan dan Manfaat aplikasi kalbers adalah sebagai berikut:

 Membantu masyarakat menciptakan sungai yang bersih dengan melaporkan

titik sungai mana saja yang kotor agar dilaporkan ke pemerintah supaya cepet

dilakukan pembersihan agar cepat terciptanya lingkungan yang bersih.

 Membantu pemerintah dalam pencarian sungai yang kotor.

 Memanfaatkan teknologi sebagai sarana informasi yang bermanfaat.


1.5 Batasan Perangkat Lunak

Batasan aplikasi yang dibuat adalah

 Aplikasi mobile berbasis Android yang dibuat adalah aplikasi untuk

pencarian sungai yang kotor

 Pembahasan dikhususkan tentang aplikasi mobile-nya bukan pada website.

 Aplikasi berbasis mobile ini berfungsi untuk membantu masyarakat

menyampaikan keluhannya terhadap sampah yang berada di sekitaran sungai

maupun sungai yang sudah tercemar oleh limbah

 Dalam pembuatan aplikasi mobile ini menggunakan platform Flutter

 Databese yang digunakan adalah MySQL.


BAB II PROJECT REPORT

2.1 Analisa Sistem Berjalan

Sebelum membuat aplikasi Kalbers ini kami sebelumnya sudah melakukan

riset dan mencari tau apa yang sebetulnya dibutuhkan oleh masyarakat. Analisis ini

bertujuan untuk membantu masyarakat menciptakan sungai yang bersih dan

mengetahui kelebihan, kekurangan, dan hambatan yang dihadapi.

Dalam analisis sitem berjalan, kami sudah melakukan studi kasus terhadap

aplikasi ini berikut yang kami kembangkan:

2.1.1 Kelebihan

 Mempermudah masyarakat dalam melaporkan lokasi sungai yang masih


kotor.

 Membantu masyarakat agar terciptanya lingkungan yang bersih.

 Membantu masyarakat menciptakan lingkungan yang sehat.

 Aplikasi ini sangat sederhana sehingga mudah dipahami.

 Aplikasi ini tidak memerlukan ruang memori yang besar sehingga tidak
memakan tempat penyimpanan memori yang banyak.

2.1.2 Kekurangan

 Beberapa laporan pengaduan tidak berhasil karena koneksi yang kurang


bagus.

 Beberapa laporan ditolak karena tidak jelas informasinya sehingga tidak


dapat diproses lebih lanjut.

 Tidak semua laporan masuk ke system karena aplikasi tersebut suka


error secara tiba tiba.

2.1.3 Hambatan

 System yang belum stabil jadi membuat masyarakat yang ingin


melaporkan sering mengalami gangguan sehingga banyak yang
complain.

 Memakan biaya promosi yang cukup besar untuk memberi tahu

masyarakat ada aplikasi ini yang kiranya dapat membantu menciptakan

lingkungan bersih.
2.2 Analisis Kebutuhan Sistem Usulan
Berdasarkan hasil analisis sistem berjalan yang telah dilakukan, kami menyimpulkan

bahwa masih banyak kebutuhan kebutuhan yang belum tercukupi dalam aplikasi Kalbers ini.

Oleh karena itu kami harus segera memperbaiki setiap kelemahan dalam aplikasi ini dan

menambah fitur fitur dalam aplikasi ini agar dapat mempermudah masyarakat.

2.2.1 Kebutuhan Fungsional

 Menyiapkan fitur pengaduan ke admin.

 Menyiapkan informasi lebih detail masalah pengaduan seperti titik

koordinat lokasi.

 Menyediakan fitur chat langsung ke admin supaya bisa langsung

berkonsultasi jika ada ke tidak tahuan penggunaan aplikasi dan lainnya.

 Memberi fitur pesan langsung jika laporan diterima melalui sms atau

wa.

2.2.2 Kebutuhan Non-Fungsional

 Mampu memberikan experience yang menyenangkan ketika

menggunakan aplikasi.

 Menjadikan aplikasi lebih baik lagi seperti kecepatan proses pengiriman

yang sebelumnya kurang baik.


A. Use Case Diagram

 Admin
 User
B. Activity Diagram
2.3 Desain Basis Data
1. Entity Relationship Diagram

B. Desain Antar Muka


1. Tampilan awal aplikasi kalbers
2. Tampilan halaman registrasi aplikasi kalbers

3. Tampilan halaman login aplikasi kalbers


4. Tampilan halaman login admin/petugas aplikasi kalbers
5. Tampilan halaman form pengaduan aplikasi kalbers

6. Tampilan halaman pengaduan berhasil dikirim aplikasi kalbers


7. Tampilan halaman data pengaduan masyarakat di bagian admin aplikasi kalbers

C. Class Diagram
2.4 Pembuatan Kode Program
Pada saat pembuatan aplikasi Kalbers berbasis website, kami membutuhkan

sebuah kode program yang akan dijalankan, bahasa program dan framework yang digunakan

adalah, bahasa program HTML, CSS, Java Script dan menggunakan bootstrap

Berikut kode program :

2.4.1 Folder Admin


1. file data_pengaduan:
<div class="container">
<div class="row">
<div class="col-md-12 mt-3"></div>
<div class="card">
<div class="card-header">
DATA PENGADUAN
</div>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>NO</th>
<th>TANGGAL</th>
<th>NAMA</th>
<th>JUDUL</th>
<th>LAPORAN</th>
<th>FOTO</th>
<th>STATUS</th>
<th>AKSI</th>
</tr>
</thead>
<tbody>
<?php
include '../config/koneksi.php';
$no = 1;
$query = mysqli_query($koneksi, "SELECT
a.*,b.* FROM pengaduan a INNER JOIN masyarakat b ON a.nik=b.nik ORDER BY
id_pengaduan DESC");
while ($data = mysqli_fetch_array($query)) { ?
>

<tr>
<td><?php echo $no
['id_pengaduan']?></td>
<td><?php echo $data
['tgl_pengaduan'] ?></td>
<td><?php echo $data ['nama'] ?
></td>
<td><?php echo $data
['judul_laporan'] ?></td>
<td><?php echo $data
['isi_laporan'] ?></td>
<td><img src="../assets/img/<?
php echo $data['foto'] ?>" width="100"></td>
<td>
<?php
if ($data['status'] ==
'proses') {
echo "<span
class='badge bg-warning'>Proses</span>";
} elseif ($data['status']
== 'selesai'){
echo "<span
class='badge bg-success'>Selesai</span>";
} else {
echo "<span
class='badge bg-success'>Menanggapi</span>";
}

?>

</td>
<td>
<a href="" class="btn
btn-primary"data-bs-toggle="modal" data-bs-target="#verifikasi<?php echo
$data['id_pengaduan'] ?>">VERIFIKASI</a>
<!-- Modal Verifikasi -->
<div class="modal fade"
id="verifikasi<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div
class="modal-dialog">
<div
class="modal-content">

<div class="modal-header">

<h1 class="modal-title fs-5" id="exampleModalLabel">Verifikasi : <?php echo


$data['judul_laporan'] ?></h1>

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-


label="Close"></button>
</div>

<div class="modal-body">

<form action="" method="POST">

<input type="hidden" name="id_pengaduan" class="form-control" value="<?


php echo $data['id_pengaduan']?>">

<div class="row mb-3">

<label class="col-md-4">Status</label>

<div class="col-md-8">

<select class="form-control"name="status">

<option value="proses">Proses</option>

<option value="0">Tolak</option>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button type="submit" name="kirim" class="btn


btn-primary">Verifikasi</button>

</div>
</form>

<?
php
if
(isset($_POST['kirim'])) {

$id_pengaduan = $_POST['id_pengaduan'];

$status = $_POST['status'];

$query = mysqli_query($koneksi, "UPDATE pengaduan SET status='$status'


WHERE id_pengaduan");

echo " <script>

alert('Data berhasil diverifikasi!');

window.location='index.php?page=pengaduan';

</script>

";
}

?>

</div>
</div>
</div>

<a href="" class="btn


btn-dark"data-bs-toggle="modal" data-bs-target="#tanggapi<?php echo
$data['id_pengaduan'] ?>">TANGGAPI</a>
<!-- Modal Tanggapi -->
<div class="modal fade"
id="tanggapi<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div
class="modal-dialog">
<div
class="modal-content">

<div class="modal-header">

<h1 class="modal-title fs-5" id="exampleModalLabel">Tanggapi : <?php echo


$data['judul_laporan'] ?></h1>

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-


label="Close"></button>

</div>

<div class="modal-body">

<form action="" method="POST">

<input type="hidden" name="id_pengaduan" class="form-control" value="<?


php echo $data['id_pengaduan']?>">

<div class="row mb-3">

<label class="col-md-4">Tanggal</label>

<div class="col-md-8">

<input type="text" name="tgl_pengaduan" class="form-


control" value="<?php echo $data['tgl_pengaduan'] ?>" readonly>

</div>

</div>
<div class="row mb-3">

<label class="col-md-4">Judul</label>

<div class="col-md-8">

<input type="text" name="judul_laporan" class="form-


control" value="<?php echo $data['judul_laporan'] ?>" readonly>

</div>

</div>

<div class="row mb-3">

<label class="col-md-4">Isi</label>

<div class="col-md-8">

<textarea name="isi_laporan" class="form-control" readonly>


<?php echo $data['isi_laporan'] ?></textarea>

</div>

</div>

<div class="row mb-3">

<label class="col-md-4">Foto</label>

<div class="col-md-8">

<img src="../assets/img/<?php echo $data['foto'] ?>"


width="100">

</div>
</div>

<div class="row mb-3">

<label class="col-md-4">Tanggapan</label>

<div class="col-md-8">

<textarea name="tanggapan" class="form-control"


required></textarea>

</div>

</div>

</div>

<div class="modal-footer">

<button type="submit" name="kirim" class="btn


btn-primary">Tanggapi</button>

</div>

</form>

<?
php
if
(isset($_POST['kirim'])) {

$id_pengaduan = $_POST['id_pengaduan'];

$id_petugas = $_SESSION['id_petugas'];

$tanggal = date("Y-m-d");
$tanggapan = $_POST['tanggapan'];

$query
= mysqli_query($koneksi, "INSERT INTO tanggapan VALUES('','$id_pengaduan',
'$tanggal', '$tanggapan', '$id_petugas') ");

if ($tanggapan != NULL) {

$update = mysqli_query($koneksi,"UPDATE pengaduan SET status='selesai'


WHERE id_pengaduan='$id_pengaduan' ");

echo " <script>

alert('Data berhasil ditanggapi!');

window.location='index.php?page=pengaduan';

</script>

";
}

?>

</div>
</div>
</div>

<a href="" class="btn


btn-danger"data-bs-toggle="modal" data-bs-target="#hapus<?php echo
$data['id_pengaduan'] ?>">HAPUS</a>
<!-- Modal Hapus -->
<div class="modal fade"
id="hapus<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div
class="modal-dialog">
<div
class="modal-content">

<div class="modal-header">

<h1 class="modal-title fs-5" id="exampleModalLabel">Hapus Data : </h1>

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-


label="Close"></button>

</div>

<div class="modal-body">

<form action="edit_data.php" method="POST">

<input type="hidden" name="id_pengaduan" class="form-control" value="<?


php echo $data['id_pengaduan']?>">

<p>apakah yakin akan menghapus data <br><?php echo


$data['judul_laporan'] ?></p>

</div>

<div class="modal-footer">

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


danger">Hapus</button>

</div>

</form>
</div>
</div>
</div>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>

</div>
</div>
</div>

2 Folder Admin File Data_tanggapan:

<div class="container">
<div class="row">
<div class="col-md-12 mt-3"></div>
<div class="card">
<div class="card-header">
DATA TANGGAPAN
</div>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>NO</th>
<th>TANGGAL</th>
<th>NIK</th>
<th>JUDUL</th>
<th>TANGGAPAN</th>
<th>STATUS</th>
<th>AKSI</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>21/05/2023</td>
<td>3171032090807</td>
<td>Sungai Kotor</td>
<td>Sedang diperbaiki petugas</td>
<td>Selesai</td>
<td>
<a href="" class="btn btn-
danger">HAPUS</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>

</div>
</div>
</div>

3 Folder Admin File Edit_data:


<?php

include '../config/koneksi.php';

if (isset($_POST['hapus_pengaduan'])) {
$id_pengaduan= $_POST['id_pengaduan'];
$query = mysqli_query($koneksi, "SELECT * FROM pengaduan WHERE
id_pengaduan='$id_pengaduan'");
$data = mysqli_fetch_array($query);
if (is_file("../assets/img/".$data['foto'])) {
unlink("../assets/img/".$data['foto']);
mysqli_query($koneksi, "DELETE FROM pengaduan WHERE
id_pengaduan='$id_pengaduan");
header('location:index.php');
}
}

?>

4 Folder Admin File home:


<div class="container">
<h3 class="mt-3">Dashboard</h3>
<div class="row mt-3">
<div class="col-md-3 mt-3">
<div class="card">
<div class="card-header">Masyarakat</div>
<div class="card-body">10 Orang</div>
</div>
</div>
<div class="col-md-3 mt-3">
<div class="card">
<div class="card-header">Pengaduan</div>
<div class="card-body">10 Aduan</div>
</div>
</div>
<div class="col-md-3 mt-3">
<div class="card">
<div class="card-header">Tanggapan</div>
<div class="card-body">10 Tanggapan</div>
</div>
</div>
<div class="col-md-3 mt-3">
<div class="card">
<div class="card-header">Petugas</div>
<div class="card-body">10 Pengguna</div>
</div>
</div>
</div>
</div>

5. Folder Admin File Index:


<?php
session_start();
include '../layouts/header.php';

if (isset($_GET['page'])) {
$page= $_GET['page'];

switch ($page) {
case 'pengaduan':
include 'data_pengaduan.php';
break;
case 'tanggapan':
include 'data_tanggapan.php';
break;
case 'petugas':
include 'data_petugas.php';
break;
case 'masyarakat':
include 'data_masyarakat.php';
break;
default:
echo "Halaman tidak tersedia";
break;
}
} else {
include 'home.php';
}

include '../layouts/footer.php';

?>
6. Folder Admin Bagian Tanggapan:
<div class="container">
<div class="row">
<div class="col-md-12 mt-3"></div>
<div class="card">
<div class="card-header">
DATA PENGADUAN
</div>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>NO</th>
<th>TANGGAL</th>
<th>NAMA</th>
<th>JUDUL</th>
<th>LAPORAN</th>
<th>FOTO</th>
<th>STATUS</th>
<th>AKSI</th>
</tr>
</thead>
<tbody>
<?php
include '../config/koneksi.php';
$no = 1;
$query = mysqli_query($koneksi, "SELECT
a.*, b.nama FROM pengaduan a INNER JOIN masyarakat b ON a.nik=b.nik ORDER BY
id_pengaduan DESC");
while ($data = mysqli_fetch_array($query)) { ?
>
<tr>
<td><?php echo $no ?></td>
<td><?php echo
$data['tgl_pengaduan'] ?></td>
<td><?php echo $data['nama'] ?
></td>
<td><?php echo
$data['judul_laporan'] ?></td>
<td><?php echo
$data['isi_laporan'] ?></td>
<td><img src="../assets/img/<?
php echo $data['foto'] ?>" width="100"></td>
<td>
<?php if ($data['status']
== 'proses'): ?>
<span
class='badge bg-warning'>Proses</span>
<?php elseif
($data['status'] == 'selesai'): ?>
<span
class='badge bg-success'>Selesai</span>
<?php else: ?>
<span
class='badge bg-success'>Menanggapi</span>
<?php endif; ?>
</td>
<td>
<a href="" class="btn
btn-primary" data-bs-toggle="modal" data-bs-target="#verifikasi<?php echo
$data['id_pengaduan'] ?>">VERIFIKASI</a>
<a href="" class="btn
btn-primary" data-bs-toggle="modal" data-bs-target="#tanggapi<?php echo
$data['id_pengaduan'] ?>">TANGGAPI</a>
<a href="" class="btn
btn-danger">HAPUS</a>
</td>
</tr>

<!-- Modal Verifikasi -->


<div class="modal fade"
id="verifikasi<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-
content">
<div
class="modal-header">
<h1
class="modal-title fs-5" id="exampleModalLabel">Verifikasi : <?php echo
$data['judul_laporan'] ?></h1>
<button
type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div
class="modal-body">
<form
action="" method="POST">

<input type="hidden" name="id_pengaduan" class="form-control" value="<?php


echo $data['id_pengaduan'] ?>">

<div class="row mb-3">

<label class="col-md-4">Status</label>

<div class="col-md-8">

<select class="form-control" name="status">

<option value="proses">Proses</option>

<option value="0">Tolak</option>

</select>

</div>
</div>

<div class="modal-footer">

<button type="submit" name="kirim" class="btn btn-primary">Verifikasi</button>

</div>
</form>
</div>
</div>
</div>
</div>

<!-- Modal Tanggapi -->


<div class="modal fade"
id="tanggapi<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-
content">
<div
class="modal-header">
<h1
class="modal-title fs-5" id="exampleModalLabel">Tanggapi : <?php echo
$data['judul_laporan'] ?></h1>
<button
type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div
class="modal-body">
<form
action="" method="POST">

<input type="hidden" name="id_pengaduan" class="form-control" value="<?php


echo $data['id_pengaduan'] ?>">
<div class="row mb-3">

<label class="col-md-4">Tanggal</label>

<div class="col-md-8">

<input type="text" name="tgl_pengaduan" class="form-control"


value="<?php echo $data['tgl_pengaduan'] ?>" readonly>

</div>

</div>

<div class="row mb-3">

<label class="col-md-4">Judul</label>

<div class="col-md-8">

<input type="text" name="judul_laporan" class="form-control"


value="<?php echo $data['judul_laporan'] ?>" readonly>

</div>

</div>

<div class="row mb-3">

<label class="col-md-4">Isi</label>

<div class="col-md-8">

<textarea name="isi_laporan" class="form-control" readonly><?php


echo $data['isi_laporan'] ?></textarea>

</div>
</div>

<div class="row mb-3">

<label class="col-md-4">Foto</label>

<div class="col-md-8">

<img src="../assets/img/<?php echo $data['foto'] ?>" width="100">

</div>

</div>

<div class="row mb-3">

<label class="col-md-4">Tanggapan</label>

<div class="col-md-8">

<textarea name="tanggapan" class="form-control"


required></textarea>

</div>

</div>

<div class="modal-footer">

<button type="submit" name="kirim" class="btn


btn-primary">Tanggapi</button>

</div>

</form>
</div>
</div>
</div>
</div>
<a href="" class="btn btn-
danger">HAPUS</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>

2.4.2 Folder Config


1. File Aksi_Login:
<?php
session_start();
include 'koneksi.php';

$username = $_POST['username'];
$password = md5($_POST['password']);
$level = $_POST['level'];

if ($level == 'masyarakat') {
$login = mysqli_query($koneksi, "SELECT * FROM masyarakat WHERE
username='$username' AND password='$password'");
} else {
$login = mysqli_query($koneksi, "SELECT * FROM petugas WHERE
username='$username' AND password='$password'");
}

$cek = mysqli_num_rows($login);
if ($cek > 0) {
$data = mysqli_fetch_assoc($login);

if ($data['level'] == 'admin') {
$_SESSION['id_petugas'] = $data['id_petugas'];
$_SESSION['nama_petugas'] = $data['nama_petugas'];
$_SESSION['login'] = "admin";
header('location:../admin/');
} elseif ($data['level'] == 'petugas'){
$_SESSION['id_petugas'] = $data['id_petugas'];
$_SESSION['nama_petugas'] = $data['nama_petugas'];
$_SESSION['login'] = "petugas";
header('location:../admin/');
} elseif ($data['level'] == 'masyarakat'){
$_SESSION['nik'] = $data['nik'];
$_SESSION['nama'] = $data['nama'];
$_SESSION['login'] = "masyarakat";
header('location:../masyarakat/');
}
} else {
echo "<script>
alert ('Username atau Password tidak terdaftar');
window.location='../index.php';
</script";
}

?>

2. Folder Config File Aksi_Logout:


<?php
session_start();
session_destroy();
header('location:../index.php');

?>
3. Folder Config File Koneksi:
<?php
$koneksi = mysqli_connect("localhost","root","","kalbers_kalibersih");

?>

2.4.3 Folder Layouts


1. File Footer:
<footer class="footer py-2 bg-light">
<div class="container">
<p class="text-center">Kalbers | Menciptakan | Lingkungan Bersih</p>
</div>
</footer>

<script type="text/javascript" src="../assets/js/bootstrap.min.js"></script>


</body>
</html>

2. File Header:
<!DOCTYPE html>
<html>
<head>
<meta charsets"utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kalbers | Kali Bersih</title>
<link rel="stylesheet" type="text/css" href="../assets/css/bootstrap.min.css">
</head>
<body>
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container">
<a class="navbar-brand" href="index.php">Kalbers</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">

<?php
if ($_SESSION['login']=='admin') { ?>
<a class="nav-link" href="index.php?page=pengaduan">Data Pengaduan</a>
<a class="nav-link" href="../config/aksi_logout.php">Keluar</a>

<?php } elseif ($_SESSION['login']=='petugas'){ ?>


<a class="nav-link" href="index.php?page=pengaduan">Data Pengaduan</a>
<a class="nav-link" href="../config/aksi_logout.php">Keluar</a>

<?php }elseif ($_SESSION['login']=='masyarakat'){ ?>


<a class="nav-link" href="../config/aksi_logout.php">Keluar</a>

<?php }else{ ?>


<a class="nav-link" href="index.php?page=registrasi">Daftar Akun</a>
<a class="nav-link" href="index.php?page=login">Login</a>

<?php } ?>

</ul>
</div>
</div>
</nav>

2.4.4 Folder Masyarakat


1. File Edit_data:
<?php
include '../config/koneksi.php';
session_start();

if (isset($_POST['hapus_pengaduan'])) {
$id_pengaduan = $_POST['id_pengaduan'];
$query = mysqli_query($koneksi, "SELECT * FROM pengaduan");
$data = mysqli_fetch_array($query);
if (is_file('../assets/img/'.$data['foto'])) {
unlink('../assets/img/'.$data['foto']);
mysqli_query($koneksi, "DELETE FROM pengaduan WHERE
id_pengaduan='$id_pengaduan'");
header('location:index.php');
}
}

?>

2. File Home:
<div class="container">
<div class="row">
<div class="col-md-12" mt-3>
<p>Selamat Datang <?php echo $_SESSION['nama'] ?></p>
<div class="card">
<div class="card-header">
FORM PENGADUAN
</div>
<div class="card-body">
<form action="" method="POST"
enctype="multipart/form-data">
<div class="mb-3">
<label class="form-label">Judul
Laporan</label>
<input type="text" class="form-control"
name="judul_laporan" placeholder="Masukan Judul" required>
</div>
<div class="mb-3">
<label class="form-label">Isi
Laporan</label>
<textarea class="form-control"
name="isi_laporan" placeholder="Masukan Isi Laporan" required></textarea>
</div>
<div class="mb-3">
<label class="form-label">Foto</label>
<input type="file" class="form-control"
name="foto" required>
</div>
</div>
<div class="card-footer">
<button type="submit" name="kirim"
class="btn btn-primary">KIRIM</button>
</div>
</form>
<?php
include '../config/koneksi.php';
$tanggal = date("Y-m-d");
if (isset($_POST['kirim'])) {
$nik = $_SESSION['nik'];
$judul_laporan = $_POST['judul_laporan'];
$isi_laporan = $_POST['isi_laporan'];
$status = 0;
$foto = $_FILES['foto']['name'];
$tmp = $_FILES['foto']['tmp_name'];
$lokasi = '../assets/img/';
$nama_foto = rand(0,999).'-'.$foto;

move_uploaded_file($tmp, $lokasi.$nama_foto);
$query = mysqli_query($koneksi, "INSERT INTO
pengaduan VALUES
('','$tanggal','$nik','$judul_laporan','$isi_laporan','$nama_foto','$status')");

echo " <script>


alert('Data berhasil dikirim!');
window.location='index.php';
</script>
";
}

?>

</div>

</div>
</div>

<div class="row">
<div class="col-md-12 mt-3"></div>
<div class="card">
<div class="card-header">
RIWAYAT PENGADUAN
</div>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>NO</th>
<th>JUDUL</th>
<th>ISI</th>
<th>FOTO</th>
<th>STATUS</th>
<th>AKSI</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$nik = $_SESSION['nik'];
$query = mysqli_query($koneksi, "SELECT *
FROM pengaduan WHERE $nik='$nik' ORDER BY id_pengaduan DESC");
while ($data = mysqli_fetch_array($query)) { ?
>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo
$data['judul_laporan'] ?></td>
<td><?php echo
$data['isi_laporan'] ?></td>
<td><img src="../assets/img/<?
php echo $data['foto'] ?>"width="100"></td>
<td>
<?php
if ($data['status'] ==
'proses') {
echo "<span
class='badge bg-warning'>Proses</span>";
} elseif ($data['status']
== 'selesai'){
echo "<span
class='badge bg-success'>Selesai</span>";
} else {
echo "<span
class='badge bg-danger'>Menunggu</span>";
}

?>
</td>
<td>
<button type="button"
class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#hapusModal<?php echo
$data['id_pengaduan'] ?>">
Hapus
</button>

<!-- Modal Hapus -->


<div class="modal fade"
id="hapusModal<?php echo $data['id_pengaduan'] ?>" tabindex="-1" aria-
labelledby="exampleModalLabel" aria-hidden="true">
<div
class="modal-dialog">
<div
class="modal-content">

<div class="modal-header">

<h1 class="modal-title fs-5" id="exampleModalLabel">Hapus Data</h1>

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-


label="Close"></button>

</div>

<form action="edit_data.php" method="POST">

<input type="hidden" name="id_pengaduan" value="<?php echo


$data['id_pengaduan']?>">

<div class="modal-body">

Apakah anda yakin akan menghapus data <br> <?php echo


$data['judul_laporan'] ?>

</div>

<div class="modal-footer">

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


name="hapus_pengaduan">Hapus</button>

</div>

</form>
</div>
</div>
</div>
</td>
</tr>

<?php } ?>
</tbody>
</table>
</div>
</div>

</div>
</div>
</div>

3. File Index:
<?php
session_start();
include '../layouts/header.php';

if (isset($_GET['page'])) {
$page= $_GET['page'];

switch ($page) {
case 'tanggapan':
include 'tanggapan.php';
break;
default:
echo "Halaman tidak tersedia";
break;
}
} else {
include 'home.php';
}

include '../layouts/footer.php';
?>

4. File Tanggapan:
<div class="container"></div>
<div class="row">
<div class="col-md-12" mt-3>
<div class="card">
<div class="card-header">
TANGGAPAN
</div>
<div class="card-body">
<form action="" method="POST">
<div class="mb-3">
<label class="form-label">Judul
Laporan</label>
<input type="text" class="form-control"
value="" readonly>
</div>
<div class="mb-3">
<label class="form-label">Isi
Laporan</label>
<textarea class="form-control"
value="" readonly></textarea>
</div>
<div class="mb-3">
<label class="form-label">Foto</label>
<img src="" class="form-control"
style="width: 150px;">
</div>
<div class="mb-3">
<label class="form-
label">Tanggapan</label>
<textarea
class="form-control"></textarea>
</div>
</div>
<div class="card-footer">
<a href="index.php" class="btn btn-
primary">KEMBALI</a>
</div>
</form>
</div>

</div>
</div>
</div>

5. File Home 2:
<div class="container">
<h4 class="text-center mt-3">Kalbers <br>Aplikasi Kali Bersih <br> Tahun 2023</h4>
<hr>
<div class="row mt-3">
<div class="col-md-8">
<div class="card">
<div class="card-reader" INFORMASI</div>
<div class="card-body">
Aplikasi kali bersih ini dibuat untuk membantu masyrakat menciptakan
sungai bersih <br><br>
Petunjuk Penggunaan Aplikasi:
</div>
<div class="card-footer"></div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">KONTAK</div>
<div class="card-body">
Dikembangkan oleh: Kalbers Group <br>
Address : Jakarta <br>
Contact Us : 0812195678 <br>
</div>
<div class="card-footer"></div>
</div>
</div>
</div>
</div>

6. File Index 2:
<!DOCTYPE html>
<html>
<head>
<meta charsets"utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kalbers | Kali Bersih</title>
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
</head>
<body>
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container">
<a class="navbar-brand" href="index.php">Kalbers</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="index.php?page=registrasi">Daftar Akun</a>
</li>
<li class="nav-item">
<a class="nav-link" href="index.php?page=login">Login</a>
</li>
</ul>
</div>
</div>
</nav>

<?php
if (isset($_GET['page'])) {
$page= $_GET['page'];

switch ($page) {
case 'login':
include 'login.php';
break;
case 'registrasi':
include 'registrasi.php';
break;

default:
echo "Halaman tidak tersedia";
break;
}
} else {
include 'home.php';
}

?>

<footer class="footer py-2 bg-light">


<div class="container">
<p class="text-center">Kalbers | Nama Lengkap | Nama Daerah</p>
</div>
</footer>

<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>


</body>
</html>

7. File Login:
<div class="row mt-3">
<div class="col-md-4 offset-md-4">
<div class="card">
<div class="card-header">
LOGIN
</div>
<div class="card-body">
<form action="config/aksi_login.php" method="POST">
<div class="mb-3">
<label class="form-label">Username</label>
<input type="text" class="form-control" name="username" placeholder="Masukan
Username" required>
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="password"
placeholder="Masukan Passsword" required>
</div>
<div class="mb-3">
<label class="form-label">Login Sebagai</label>
<select class="form-control" name="level">
<option value="masyarakat">Masyarakat</option>
<option value="petugas">Petugas</option>
</select>
</div>
</div>
<div class="card-footer">
<button type="submit" name="kirim" class="btn btn-primary">LOGIN</button>
<a href="index.php?page=registrasi" class="m-3">Belum punya akun? Daftar
disini</a>
</div>
</form>
</div>
</div>
</div>
8. File Registrasi:
<div class="row mt-3">
<div class="col-md-4 offset-md-4">
<div class="card">
<div class="card-header">
REGISTRASI
</div>
<div class="card-body">
<form action="" method="POST">
<div class="mb-3">
<label class="form-label">NIK</label>
<input type="number" class="form-control" name="nik" placeholder="Masukan
NIK" required>
</div>
<div class="mb-3">
<label class="form-label">Nama Lengkap</label>
<input type="text" class="form-control" name="nama" placeholder="Masukan
Nama Lengkap" required>
</div>
<div class="mb-3">
<label class="form-label">Username</label>
<input type="text" class="form-control" name="username" placeholder="Masukan
Username" required>
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="password"
placeholder="Masukan Passsword" required>
</div>
<div class="mb-3">
<label class="form-label">No. Telp</label>
<input type="number" class="form-control" name="telp" placeholder="Masukan
No.Telp" required>
</div>
</div>
<div class="card-footer">
<button type="submit" name="kirim" class="btn btn-primary">DAFTAR</button>
<a href="index.php?page=login" class="m-3">Sudah punya akun? Login disini</a>
</div>
</form>
</div>
</div>
</div>

<?php
include 'config/koneksi.php';
if (isset($_POST['kirim'])) {
$nik = $_POST['nik'];
$nama = $_POST['nama'];
$username = $_POST['username'];
$password = md5($_POST['password']);
$telp = $_POST['telp'];
$level = 'masyarakat';

$query = mysqli_query($koneksi, "INSERT INTO masyarakat VALUES


('$nik','$nama','$username','$password','$telp','$level')");

if ($query) {
header('location:index.php?page=login');
}
}

?>
BAB III PROJECT RESUME
4.1. Kesimpulan (Metode Penelitian)

Dalam aplikasi ini pada menu laporan, pengguna diharapkan dapat Mengisi form keluhan

dengan informasi yang benar

dan akurasi.Form keluhan mewajibkan pengguna untuk memasukkan beberapa

detailinformasi seperti keluhan, lokasi, dan kondisi kali yang dilaporkan pengguna.

Informasi tersebut guna untuk melaporkan keluhan kali agar disertai dengan bukti yang

valid.
Informasi yang sudah dikirimkan pengguna selanjutnya akan dilanjutkan ke pihak

berwenang agar dapat ditinjaklanjuti, serta menjadi tanggung jawab pengguna selaku

pelapor keluhan fasilitas.

Apalagi informasi yang diberikan oleh pengguna tidak valid, maka pengguna diharapkan

dapat memberikan pertanggung jawaban.

4.2. Saran (Metode Penelitian)

A) Harus banyak melakukan perbaikan dalam sisi design maupun fitur sehingga

masyarakat dapat mendapatkan experience yang baik, dan agar masyarakat dapat lebih

mengetahui proses pengaduan yang dilaporkan sudah sampai mana perkembangannya.

B) Perlunya dilakukan promosi yang lebih luas lagi kepada masyarakat melalui media

online maupun offline, agar masyarakat tahu bahwa ada aplikasi Kalbers ini yang bisa

sangat membantu masyarakat apabila ditemukan sungai yang kotor agar terciptanya

lingkungan yang bersih.

Anda mungkin juga menyukai