You are on page 1of 23

Laporan Tentang Pembuatan Aplikasi Cataan Perjalanan Berbasis

web

NUR ALVIANI HIDAYAH

XII RPL 2
Laporan ini dibuat untuk menyelesaikan tugas PWPB semester ganjil.

1. Tools yang digunakan :

• XAMPP

• Visual Studio Code

• Chrome

2. Database dengan nama db_perjalanan dan tabel beserta


atributnya sesuai desain database berikut:

3.Struktur folder
Keterangan untuk folder dan file:
Folder : Folder
File : File
Perjalananal

• controller

• crud.php

• logout.php

• panggil.php
• model

• koneksi.php

• panggil.php

• prosescrud.php

• views

• register.php

• dashboard.php

• home.php

• input.php

• editperjalanan.php

• index.php
4. contoller
1. Kode program crud.php

<?php

require 'panggil.php';

// proses tambah

if (!empty($_GET['aksi'] == 'daftar')){
$tabel = 'users';
# proses insert
$data = array(

'username' =>$_POST['username'],

'password' =>md5($_POST['password']),

'nama' => $_POST['nama']

);

$proses->daftar($tabel, $data);

echo '<script>alert("Daftar Berhasil");window.location="../index.php"</script>';


}
//login
if(!empty($_GET['aksi'] == 'login'))
{

// validasi text untuk filter karakter khusus dengan fungsi strip_tags()


$user = strip_tags($_POST['username']);
$pass = strip_tags($_POST['password']);

// panggil fungsi proses_login() yang ada di class prosesCrud()


$hasil = $proses->proses_login($user, $pass);
if($hasil=='gagal')
{
echo "<script> alert('Login gagal. Nama Pengguna Atau Kata Sandi Salah!');
window.location='../index.php?get=gagal';</script>";
}else{

// status yang diberikan

session_start();
$_SESSION['ADMIN'] = $hasil;
// status yang diberikan
echo "<script>window.location='../views/dashboard.php';</script>";

if (!empty($_GET['aksi']=='tambah')){

$tabel ='perjalanan';
#proses insert
$data= array(
'iduser' =>$_POST['iduser'],
'tanggal'=>$_POST['tanggal'],
'jam'=> $_POST['jam'],
'lokasi'=> $_POST['lokasi'],
'acarakegiatan'=>$_POST['acarakegiatan'],
'lama'=>$_POST['lama'],
'suhu'=>$_POST['suhu'],

);
$proses->tambah_data($tabel,$data);
echo'<script>alert("data berhasil
disimpan");window.location="../views/input.php";</script>';
}

//hapus data
if (!empty($_GET['aksi']=='hapus'))
{
$tabel='perjalanan';
$where='idperjalanan';
$id=strip_tags($_GET['hapusid']);
$proses->hapus_riwayat($tabel,$where,$id);
echo'<script>alert("hapus data
berhasil");window.location="../views/input.php"</script>';
}

if(!empty($_GET['aksi']=='edit1'))
{
$data = array(
'tanggal' => $_POST['tanggal'],
'jam' => $_POST['jam'],
'lokasi' => $_POST['lokasi'],
'acarakegiatan' => $_POST['acarakegiatan'],
'lama' => $_POST['lama'],
'suhu' => $_POST['suhu']

);
$tabel = 'perjalanan';
$where = 'idperjalanan';
$id = $_POST['idperjalanan'];
$proses->edit_data($data,$tabel,$where, $id);
echo'<script>alert("Edit Data
Berhasil");window.location="../views/input.php";</script>';
}

2. Kode program logout.php

<?php
//logout
if(!empty($_GET['aksi'] == 'logout'))
{
session_start();
session_destroy();
echo '<script>alert("Logout
Berhasil");window.location="../index.php"</script>';
}

?>
3. Kode program panggil.php

<?php

// panggil file

include '../model/koneksi.php';

include '../model/prosescrud.php';

// cara panggil class di koneksi php

$db = new Koneksi();

// cara panggil koneksi di fungsi DBConnect()

$koneksi = $db->dbkonek();

// panggil class prosesCrud di file prosescrud.php

$proses = new prosescrud($koneksi);

//menghilangkan pesan error

//error_reporting(0);

?>

5. model
1. Kode program koneksi.php

<?php
class Koneksi
{
public function dbkonek()
{

$dbhost = 'localhost';
$dbname = 'db_perjalanan';
$dbuser = 'root';
$dbpass = '';

try {
$dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser,
$dbpass);
$dbConnection->exec("set names utf8");
$dbConnection->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
return $dbConnection;

} catch (PDOException $e) {

return 'Connection failed: ' . $e->getMessage();

2. Kode program prosescrud.php

<?php
class prosesCrud
{
protected $db;
function __construct($db)
{
$this->db = $db;
}
public function daftar($tabel, $data)
{

$username = $data['username'];
$password = $data['password'];
$namauser = $data['nama'];
$sql = "INSERT INTO $tabel (username, password, nama) VALUES ('$username',
'$password', '$namauser')";
$save = $this->db->prepare($sql);

return $save->execute();
}
public function proses_login($user, $pass)

// untuk password kita enkrip dengan md5


$row = $this->db->prepare('SELECT * FROM users WHERE username=? AND
password=md5(?)');
$row->execute(array($user, $pass));
$count = $row->rowCount();
if ($count > 0) {

return $count = $row->fetch();


} else {

return 'gagal';
}
}
public function tambah_data($tabel,$data)
{
$iduser = $data ['iduser'];
$tanggal= $data ['tanggal'];
$jam = $data ['jam'];
$lokasi= $data ['lokasi'];
$acarakegiatan = $data ['acarakegiatan'];
$lama = $data ['lama'];
$suhu = $data ['suhu'];

$sql = "INSERT INTO


$tabel(iduser,tanggal,jam,lokasi,acarakegiatan,lama,suhu)VALUES('$iduser','$tangg
al','$jam','lokasi ',
'$acarakegiatan','$lama','$suhu')";
$save = $this->db->prepare($sql);
return $save -> execute();
}

function tampil_data($tabel,$where){

$row = $this->db->prepare("SELECT*FROM $tabel WHERE tanggal = Date(NOW()) AND


iduser");
$row ->execute();
return $hasil=$row->fetchAll();
}
function hapus_riwayat($tabel,$where,$id)
{
$sql ="DELETE FROM $tabel WHERE $where =?";
$row =$this->db->prepare($sql);
return$row->execute(array($id));
}

function tampil_data_id($tabel,$where,$id)
{
$row = $this->db->prepare("SELECT * FROM $tabel WHERE $where=?");
$row->execute(array($id));
return $hasil = $row->fetch();
}

public function edit_data($data,$tabel,$where,$id)


{
$tanggal = $data['tanggal'];
$jam = $data['jam'];
$lokasi = $data['lokasi'];
$acarakegiatan = $data['acarakegiatan'];
$lama = $data['lama'];
$suhu = $data['suhu'];

$sql = "UPDATE $tabel SET tanggal = '$tanggal', jam ='$jam',lokasi =


'$lokasi',acarakegiatan ='$acarakegiatan',lama='$lama',suhu = '$suhu'WHERE
$where='$id'";
$result = $this->db->prepare($sql);
return $result->execute();
}

6. views
1. Kode program register.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Form Registrasi</title>
<link rel="stylesheet" href="../bootstrap.css">
<style>
body {
background-color: #f8f9fa;
}
.card {
border: 1px solid #ddd;
border-radius: 10px;
}
.card-header {
background-color: #007bff;
color: white;
border-bottom: none;
border-radius: 10px 10px 0 0;
}
.card-body {
padding: 20px;
}
.btn-primary {
background-color: #007bff;
border-color: #007bff;
}
.btn-primary:hover {
background-color: #0056b3;
border-color: #0056b3;
}
a.text-decoration-none {
color: #007bff;
}
a.text-decoration-none:hover {
color: #0056b3;
}
</style>
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card">
<div class="card-header text-center">
<h2>REGISTER</h2>
</div>
<div class="card-body">
<form action="../controller/crud.php?aksi=daftar"
method="post">
<div class="mb-3">
<label for="name" class="form-label">Nama
Lengkap</label>
<input type="text" name="nama"
class="form-control">
</div>
<div class="mb-3">
<label for="username"
class="form-label">Username</label>
<input type="text" name="username"
class="form-control">
</div>
<div class="mb-3">
<label for="password"
class="form-label">Password</label>
<input type="password" name="password"
class="form-control">
</div>
<button type="submit" class="btn btn-primary btn-block
mb-3">DAFTAR</button>
<a href="../index.php"
class="text-decoration-none">Sudah punya akun? Login di sini.</a>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

2. Kode program dashboard.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dashboard</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
}
header {
background-color: #333;
color: #fff;
padding: 15px;
text-align: center;
}

nav {
background-color: #555;
color: #fff;
padding: 10px;
text-align: center;
}

section {
padding: 20px;
}

.card {
background-color: #fff;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
border-radius: 8px;
padding: 20px;
margin: 10px;
text-align: center;
}
</style>
</head>
<body>

<header>
<h1>Dashboard</h1>
</header>

<section>

<div class="card">
<li class="nav-item">
<a class="nav-link" href="home.php">PERJALANAN</a>
</li>
</div>

<div class="card">
<li class="nav-item">
<a class="nav-link" href="input.php">INPUTAN</a>
</li>
</div>

<div class="card">
<li class="nav-item">
<a class="nav-link" href="register.php">REGISTER</a>
</li>
</div>

<div class="card">
<li class="nav-item">
<a class="nav-link" href="../controller/logout.php?aksi=logout">LOG OUT</a>
</li>
</div>

</section>

</body>
</html>

3. Kode program home.php

<!DOCTYPE html>
<html lang="en">
<head>
<?php
session_start();
$sesi=$_SESSION['ADMIN'];
//jika tidak ada session
if(!empty($_SESSION['ADMIN'])){}else{header('location:login.php');}
include'../controller/panggil.php';
?>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>perjalanan</title>
<link rel="stylesheet" href="../bootstrap.css">
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card">
<div class="card-header text-center">
<h2>perjalanan</h2>
</div>
<div class="card-body">
<form
action="../controller/crud.php?aksi=tambah"method="post">
<input type="hidden" id="iduser" name="iduser" value="<?php
echo $sesi['iduser']; ?>" required>
<div class="mb-3">
<label
for="tanggal"class="form-label">tanggal</label>
<input type="date"
name="tanggal"class="form-control">
</div>
<div class="mb-3">
<label for="jam"class="form-label">jam</label>
<input type="time" name="jam"class="form-control">
</div>
<div class="mb-3">
<label
for="lokasi"class="form-label">lokasi</label>
<input type="text"
name="lokasi"class="form-control">
</div>
<div class="mb-3">
<label for="acarakegiatan"class="form-label">acara
kegiatan</label>
<input type="text"
name="acarakegiatan"class="form-control">
</div>
<div class="mb-3">
<label for="lama"class="form-label">lama</label>
<input type="text" name="lama"class="form-control">
</div>
<div class="mb-3">
<label for="suhu"class="form-label">suhu</label>
<input type="number"
name="suhu"class="form-control">
</div>
<button type="submit"class="btn
btn-primary">Simpan</button>
<a href ="dashboard.php"class="btn
btn-danger">Keluar</a>
</form>
</div>

</div>

</div>

</div>
</div>

</body>
</html>

4. Kode program input.php

<!DOCTYPE html>
<html lang="en">
<head>
<?php
session_start();
$sesi=$_SESSION['ADMIN'];
//jika tidak ada session
if(!empty($_SESSION['ADMIN'])){}else{header('location:login.php');}
include'../controller/panggil.php';
?>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Data Harian</title>
<link rel="stylesheet" href="../bootstrap.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="../index.php">Data Harian</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<?php if (!empty($_SESSION['ADMIN'])): ?>
<li class="nav-item">
<a class="nav-link"
href="../controller/logout.php?aksi=logout">Logout</a>
</li>
<?php endif; ?>
</ul>
</div>
</nav>
<div class="container mt-4">
<h4 class="text-center mb-4">Data Perjalanan</h4>
<a href ="home.php"class="btn btn-link">inputan</a>
<a href ="../controller/logout.php?aksi=logout"class="btn
btn-link">logout</a>

<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead class="thead-light">
<tr>
<th>No</th>
<th>Tanggal</th>
<th>Jam</th>
<th>Lokasi</th>
<th>Acara Kegiatan</th>
<th>Lama</th>
<th>Suhu</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$hasil = $proses->tampil_data('perjalanan', $sesi['iduser']);
foreach ($hasil as $data):
?>
<tr>
<td><?php echo $no;?></td>
<td><?php echo $data['tanggal']?></td>
<td><?php echo $data['jam']?></td>
<td><?php echo $data['lokasi']?></td>
<td><?php echo $data['acarakegiatan']?></td>
<td><?php echo $data['lama']?></td>
<td><?php echo $data['suhu']?></td>
<td style="text-align:center;">
<a href="editperjalanan.php?id=<?php echo
$data['idperjalanan'];?>" class="btn btn-success btn-md">Edit <span class="fa
fa-edit"></span></a>&nbsp;
<a onclick="return confirm('Apakah yakin data akan
dihapus?')" href="../controller/crud.php?aksi=hapus&hapusid=<?php echo
$data['idperjalanan'];?>" class="btn btn-danger btn-md">Hapus <span class="fa
fa-trash"></span></a>

</td>
</tr>
<?php
$no++;
endforeach;
?>
</tbody>
</table>
</div>
</div>
</body>
</html>

5. Kode program editperjalanan.php

<!DOCTYPE html>
<html lang="en">
<head>
<?php
session_start();
$sesi=$_SESSION['ADMIN'];
//jika tidak ada session
if(!empty($_SESSION['ADMIN'])){}else{header('location:login.php');}
include'../controller/panggil.php';
$id = strip_tags($_GET['id']);
$hasil = $proses->tampil_data_id('perjalanan', 'idperjalanan', $id);
?>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>perjalanan</title>
<link rel="stylesheet" href="../bootstrap.css">
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card">
<div class="card-header text-center">
<h2>perjalanan</h2>
</div>
<div class="card-body">
<form action="../controller/crud.php?aksi=edit1"
method="post">
<input type="hidden" class="form-control"
id="idperjalanan" name="idperjalanan" value="<?php echo $hasil['idperjalanan']?>">
<div class="mb-3">
<label
for="tanggal"class="form-label">tanggal</label>
<input type="date"
name="tanggal"class="form-control" value="<?php echo $hasil['tanggal']?>" required>
</div>
<div class="mb-3">
<label for="jam"class="form-label">jam</label>
<input type="time" name="jam"class="form-control"
value="<?php echo $hasil['jam']?>" required>
</div>
<div class="mb-3">
<label
for="lokasi"class="form-label">lokasi</label>
<input type="text" name="lokasi"class="form-control"
value="<?php echo $hasil['lokasi']?>" required>
</div>
<div class="mb-3">
<label for="acarakegiatan"class="form-label">acara
kegiatan</label>
<input type="text"
name="acarakegiatan"class="form-control" value="<?php echo
$hasil['acarakegiatan']?>" required>
</div>
<div class="mb-3">
<label for="lama"class="form-label">lama</label>
<input type="text" name="lama"class="form-control"
value="<?php echo $hasil['lama']?>" required>
</div>
<div class="mb-3">
<label for="suhu"class="form-label">suhu</label>
<input type="number" name="suhu"class="form-control"
value="<?php echo $hasil['suhu']?>" required>
</div>
<button type="submit"class="btn
btn-primary">Simpan</button>
<a href ="index.php"class="btn btn-danger">Keluar</a>
</form>

</div>

</div>

</div>

</div>
</div>

</body>
</html>

7. index.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Form Login</title>
<link rel="stylesheet" href="bootstrap.css">
<style>
body {
background-color: #f8f9fa;
}
.card {
border: 1px solid #ccc;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.card-header {
background-color: #007bff;
color: white;
border-radius: 10px 10px 0 0;
padding: 15px;
text-align: center;
font-size: 24px;
}
.card-body {
padding: 20px;
}
.form-label {
font-weight: bold;
}
.form-control {
border-radius: 5px;
padding: 10px;
}
.btn-primary {
background-color: #007bff;
border-color: #007bff;
padding: 10px;
width: 100%;
}
.btn-primary:hover {
background-color: #0056b3;
border-color: #0056b3;
}
.text-decoration-none {
color: #007bff;
}
.text-decoration-none:hover {
color: #0056b3;
}
</style>
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card">
<div class="card-header">
LOGIN
</div>
<div class="card-body">
<form action="controller/crud.php?aksi=login"
method="post">
<div class="mb-3">
<label for="username"
class="form-label">Username</label>
<input type="text" name="username"
class="form-control">
</div>
<div class="mb-3">
<label for="password"
class="form-label">Password</label>
<input type="password" name="password"
class="form-control">
</div>
<button type="submit" class="btn btn-primary
mb-3">Login</button>
<p class="mb-0">Belum punya akun? <a
href="Views/register.php" class="text-decoration-none">Daftar di sini.</a></p>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

8. Tampilan

• Tampilan dari dari file index.php

• Tampilan dari dari file register.php


• Tampilan dari dari file dashboard.php

• Tampilan dari dari file home.php


• Tampilan dari dari file input.php

• Tampilan dari dari file editperjalanan.php

You might also like