0% found this document useful (0 votes)
113 views

Lampiran Source Code

1. The document contains source code for an application that manages finances and cash flow. It includes files for the index page, database connection, user login/logout, cash inflows, expense categories, and reports for cash inflows and expenses. 2. The files set up the basic application structure and functionality like database connection, sessions for user login, queries to retrieve financial data, and pages to view/manage cash inflows, expenses, and generate reports. 3. Key files include the index (home) page, login/logout functionality, functions to retrieve financial summary data, and pages to view and generate reports on cash inflows and expenses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views

Lampiran Source Code

1. The document contains source code for an application that manages finances and cash flow. It includes files for the index page, database connection, user login/logout, cash inflows, expense categories, and reports for cash inflows and expenses. 2. The files set up the basic application structure and functionality like database connection, sessions for user login, queries to retrieve financial data, and pages to view/manage cash inflows, expenses, and generate reports. 3. Key files include the index (home) page, login/logout functionality, functions to retrieve financial summary data, and pages to view and generate reports on cash inflows and expenses.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Source code

1. Index.php

<?php
error_reporting(0);

include ('koneksi/conn.php');

session_start();
if (!isset($_SESSION['user'])) {
header('Location: auth/login.php');
}
$timeout = 60; // Set timeout satuan menit
$logout_redirect_url = "auth/login.php"; // Set logout URL

$timeout = $timeout * 60; // Ubah menit ke detik


if (isset($_SESSION['start_time'])) {
$elapsed_time = time() - $_SESSION['start_time'];
if ($elapsed_time >= $timeout) {
session_destroy();
echo "<script> alert('Session Anda Telah Habis, Silahkan Login kembali!');
window.location = '$logout_redirect_url'</script>";
}
}
$_SESSION['start_time'] = time();

include 'helpers/Format.php';

$fm=new Format();

header("Cache-Control: no-cache, must-revalidate");


header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: max-age=2592000");

$q_keluar = $conn->query("SELECT
SUM(a.jumlah) as jumlah_pengeluaran
from pembayaran a
INNER JOIN kategori_bayar b
ON (a.id_kategori=b.id_kategori)");
$row_keluar = $q_keluar->fetch_assoc();
$pengeluaran = $row_keluar['jumlah_pengeluaran'];

$q_masuk = $conn->query("SELECT SUM(jumlah) as dana_masuk


FROM kas_masuk");
$row_masuk=$q_masuk->fetch_assoc();
$pemasukan = $row_masuk['dana_masuk'];
$saldo = $pemasukan - $pengeluaran;
?>
2. Conn.php
<?php
error_reporting(0);
$conn = new mysqli("localhost","root","","sc_kas");
date_default_timezone_set("Asia/Jakarta");
define(base_url, (isset($_SERVER['HTTPS']) ? "https://" : "http://").
$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",
$_SERVER['SCRIPT_NAME']));
?>

3. Login.php

<?php
require_once('../koneksi/conn.php');
error_reporting(0);
session_start();
if(isset($_SESSION['user'])) {
header('location: ../index.php');
}

include '../helpers/Format.php';
$fm=new Format();

header("Cache-Control: no-cache, must-revalidate");


header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: max-age=2592000");
$errors = array();
if(isset($_POST['login-submit'])) {
$username = $fm->validation($_POST['username']);
$password = $fm->validation($_POST['password']);
$user = $conn->real_escape_string($username);
$pass = $conn->real_escape_string($password);

if(empty($user) || empty($pass)) {
if($user == "") {
$errors[] = "Username Wajib di isi";
}
if($pass == "") {
$errors[] = "Password Wajib di isi";
}
}else {
$sql1 = $conn->query("SELECT username FROM tbl_user WHERE username =
'$user'");
if ($sql1->num_rows > 0) {
$sql = $conn->query("SELECT password FROM tbl_user WHERE username =
'$user'");
$data = $sql->fetch_assoc();
$hash = $data['password'];
$pass1 = password_verify($pass,$hash);
if($pass1){
$sesi = $conn->query("SELECT * FROM tbl_user WHERE username='$user'");
$value = $sesi->fetch_assoc();
// set session
$_SESSION['user'] = $value['name'];
$_SESSION['id'] = $value['id'];
header('location: ../index.php');

}else{
$errors[] = "Password Salah !";
}
}else{
$errors[] = "Username tidak ditemukan !";
}

}
} //tutup post

?>

4. Logout.php

<?php
session_start();
session_unset();
session_destroy();

header('location:login.php');
?>

5. Kas_masuk.php

<?php
require_once '../koneksi/conn.php';
$query = $conn->query("SELECT * FROM kas_masuk ORDER BY tanggal DESC");
?>
<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Dana Masuk</h4> </div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="#">Dana Masuk</a></li>
</ol>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="row">
<div class="col-sm-6">
<h3 class="box-title">Data Dana Masuk</h3>
</div>
<div class="col-sm-6">
<button class="btn btn-success btn-sm pull-right"
onclick="tambah()">Tambah</button>
<button class="btn btn-warning btn-sm pull-right" onclick="laporan()"
style="margin-right: 5px;">Laporan Dana Masuk</button>
</div>
</div>

<div class="table-responsive">
<table class="table" id="dataku">
<thead>

6. Kategori_pengeluaran

<?php
require_once '../koneksi/conn.php';
$query = $conn->query("SELECT * FROM kategori_bayar");
?>
<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Kategori Pengeluaran</h4> </div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="#">Kategori Pengeluaran</a></li>
</ol>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="row">
<div class="col-sm-6">
<h3 class="box-title">Data Kategori Pengeluaran</h3>
</div>
<div class="col-sm-6">
<button class="btn btn-success btn-sm pull-right"
onclick="tambah()">Tambah</button>
</div>
</div>

<div class="table-responsive">
<table class="table" id="dataku">
<thead>
7. Laporan_kas_masuk.php

<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Laporan Dana Masuk</h4> </div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="#">Laporan Dana Masuk</a></li>
</ol>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="row">
<div class="col-sm-4">
<input type="text" name="tanggal_awal" data-date-format="yyyy-mm-dd"
readonly id="tanggal_awal" placeholder="Tanggal Awal" class="form-control form-control-
line tgl">
</div>
<div class="col-sm-4">
<input type="text" placeholder="Tanggal Akhir" data-date-format="yyyy-mm-
dd" readonly name="tanggal akhir" id="tanggal_akhir" class="form-control form-control-line
tgl">
</div>
<div class="col-sm-4">
<button type="button" class="btn btn-warning pull-right"
onclick="back()">Kembali</button>
<button type="button" class="btn btn-primary pull-right"
onclick="lihat_laporan()" style="margin-right: 5px;">Lihat</button>

</div>
</div>
<br>

<div class="table-responsive">
<div id="isi_tabel">
<table class="table">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Jumlah</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- /.row -->
</div>
<script>
$('.tgl').datepicker();
function back() {
$('#kontenku').load('page/kas_masuk.php');
}
function lihat_laporan() {

let tgl_awal = $('#tanggal_awal').val();


let tgl_akhir = $('#tanggal_akhir').val();
if (tgl_awal=='' || tgl_akhir=='' ) {
alert('harap isi tanggal terlebih dulu');
}else{
$('#isi_tabel').load('server_side/kas_masuk/laporan_masuk.php?
tgl_awal='+tgl_awal+'&tgl_akhir='+tgl_akhir);
}

}
</script>

8. Laporan_pengeluaran.php

<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Laporan Pengeluaran</h4> </div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="#">Laporan Pengeluaran</a></li>
</ol>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="row">
<div class="col-sm-4">
<input type="text" name="tanggal_awal" data-date-format="yyyy-mm-dd"
id="tanggal_awal" readonly placeholder="Tanggal Awal" class="form-control form-control-
line tgl">
</div>
<div class="col-sm-4">
<input type="text" placeholder="Tanggal Akhir" data-date-format="yyyy-mm-
dd" readonly name="tanggal akhir" id="tanggal_akhir" class="form-control form-control-line
tgl">
</div>
<div class="col-sm-4">
<button type="button" class="btn btn-warning pull-right"
onclick="back()">Kembali</button>
<button type="button" class="btn btn-primary pull-right"
onclick="lihat_laporan()" style="margin-right: 5px;">Lihat</button>

</div>
</div>
<br>

<div class="table-responsive">
<div id="isi_tabel">
<table class="table">
<thead>
<tr>
<th>No</th>
<th>Pembayaran</th>
<th>Kategori</th>
<th>Jumlah</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- /.row -->
</div>
<script>
$('.tgl').datepicker();
function back() {
$('#kontenku').load('page/pengeluaran.php');
}
function lihat_laporan() {

let tgl_awal = $('#tanggal_awal').val();


let tgl_akhir = $('#tanggal_akhir').val();
if (tgl_awal=='' || tgl_akhir=='' ) {
alert('harap isi tanggal terlebih dulu');
}else{
$('#isi_tabel').load('server_side/pengeluaran/laporan_keluar.php?
tgl_awal='+tgl_awal+'&tgl_akhir='+tgl_akhir);
}

}
</script>

9. Pengeluaran.php

<?php
require_once '../koneksi/conn.php';
$query = $conn->query("SELECT nama_kategori,id_bayar,nama_bayar,jumlah,tanggal FROM
pembayaran a INNER JOIN kategori_bayar b
ON (a.id_kategori=b.id_kategori) ORDER BY tanggal DESC");
$query_kategori = $conn->query("SELECT * FROM kategori_bayar");
?>
<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Biaya Pengeluaran</h4> </div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="#">Biaya Pengeluaran</a></li>
</ol>
</div>
<!-- /.col-lg-12 -->
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="row">
<div class="col-sm-6">
<h3 class="box-title">Data Pengeluaran</h3>
</div>
<div class="col-sm-6">
<button class="btn btn-success btn-sm pull-right"
onclick="tambah()">Tambah</button>
<button class="btn btn-warning btn-sm pull-right" onclick="laporan()"
style="margin-right: 5px;">Laporan Pengeluaran</button>
</div>
</div>

10. Edit_kas_masuk.php

<?php
require_once '../../koneksi/conn.php';
$id = $conn->real_escape_string($_POST['id']);
$nama = $conn->real_escape_string($_POST['nama']);
$jumlah = $conn->real_escape_string($_POST['jumlah']);

$data = array();
$data['error_string'] = array();
$data['inputerror'] = array();
$data['status'] = TRUE;

if($nama == ''){
$data['inputerror'][] = 'nama';
$data['error_string'][] = 'Nama wajib di isi';
$data['status'] = FALSE;
}

if($jumlah == ''){
$data['inputerror'][] = 'jumlah';
$data['error_string'][] = 'Jumlah wajib diisi';
$data['status'] = FALSE;
}

if($data['status'] === FALSE){


echo json_encode($data);
exit();
}

$sql=$conn->query("UPDATE kas_masuk SET nama='$nama', jumlah='$jumlah' WHERE


id='$id' ");
if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

11. Get_data_masuk.php

<?php
require_once '../../koneksi/conn.php';
$id=$_GET['id'];
$query = $conn->query("SELECT * FROM kas_masuk WHERE id = '$id'");
$result = array();
$fetchData = $query->fetch_assoc();
$result = $fetchData;
echo json_encode($result);
?>

12. Hapus_kas_masuk.php

hapus<?php
require_once '../../koneksi/conn.php';
$id = $conn->real_escape_string($_GET['id']);

$sql=$conn->query("DELETE FROM kas_masuk WHERE id='$id' ");


if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

13. Laporan_masuk.php

<?php
require_once '../../koneksi/conn.php';
$tgl_awal=$_GET['tgl_awal'];
$tgl_akhir=$_GET['tgl_akhir'];
$query = $conn->query("SELECT * FROM kas_masuk WHERE DATE_FORMAT(tanggal, '%Y-
%m-%d') >= '$tgl_awal'
AND DATE_FORMAT(tanggal, '%Y-%m-%d') <= '$tgl_akhir' ");
?>
<div id="tes">
<h2>Laporan Dana Masuk Tanggal <?= $tgl_awal. ' s/d '.$tgl_akhir ?> </h2>
<table class="table" id="printed">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Jumlah</th>
</tr>
</thead>
<tbody>
<?php
$no=1;
while ($row = $query->fetch_assoc()) { ?>
<tr>
<td><?=$no++; ?></td>
<td><?=$row['nama'] ?></td>
<td><?= "Rp. ".number_format($row['jumlah']); ?></td>
</tr>

<?php
$total=$total+$row['jumlah'];
}

?>

</tbody>
<tr>
<th></th>
<th>Total Dana Masuk</th>
<td><b><?= "Rp. ".number_format($total); ?></b></td>
</tr>
</table>

</div>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-success" onclick="print()">Print PDF</button>
</div>
</div>

<script>
function print() {
var pdf = new jsPDF('p', 'pt', 'letter');
source = $('#tes')[0];
specialElementHandlers = {
'#bypassme': function (element, renderer) {
return true
}
};
margins = {
top: 40,
bottom: 40,
left: 80,
width: 700
};
// all coords and widths are in jsPDF instance's declared units
// 'inches' in this case
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},

function (dispose) {
pdf.save('Test.pdf');
}, margins);
}
</script>

14. Tambah_kas_masuk.php

<?php
require_once '../../koneksi/conn.php';

$nama = $conn->real_escape_string($_POST['nama']);
$jumlah = $conn->real_escape_string($_POST['jumlah']);

$data = array();
$data['error_string'] = array();
$data['inputerror'] = array();
$data['status'] = TRUE;

if($nama == ''){
$data['inputerror'][] = 'nama';
$data['error_string'][] = 'Nama wajib di isi';
$data['status'] = FALSE;
}

if($jumlah == ''){
$data['inputerror'][] = 'jumlah';
$data['error_string'][] = 'Jumlah wajib diisi';
$data['status'] = FALSE;
}

if($data['status'] === FALSE){


echo json_encode($data);
exit();
}

$sql=$conn->query("INSERT INTO kas_masuk VALUES ('','$nama','$jumlah',NULL) ");


if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

15. Edit_pengeluaran.php

<?php
require_once '../../koneksi/conn.php';
$id_bayar = $conn->real_escape_string($_POST['id_bayar']);
$id_kategori = $conn->real_escape_string($_POST['id_kategori']);
$nama_bayar = $conn->real_escape_string($_POST['nama_bayar']);
$jumlah = $conn->real_escape_string($_POST['jumlah']);

$data = array();
$data['error_string'] = array();
$data['inputerror'] = array();
$data['status'] = TRUE;

if($id_kategori == ''){
$data['inputerror'][] = 'id_kategori';
$data['error_string'][] = 'Kategori silahkan dipilih dulu';
$data['status'] = FALSE;
}

if($nama_bayar == ''){
$data['inputerror'][] = 'nama_bayar';
$data['error_string'][] = 'Nama Pembayaran di isi';
$data['status'] = FALSE;
}

if($jumlah == ''){
$data['inputerror'][] = 'jumlah';
$data['error_string'][] = 'Jumlah wajib diisi';
$data['status'] = FALSE;
}

if($data['status'] === FALSE){


echo json_encode($data);
exit();
}

$sql=$conn->query("UPDATE pembayaran SET id_kategori='$id_kategori',


nama_bayar='$nama_bayar', jumlah='$jumlah' WHERE id_bayar='$id_bayar' ");
if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

16. Get_data_pengeluaran.php

<?php
require_once '../../koneksi/conn.php';
$id_bayar=$_GET['id_bayar'];
$query = $conn->query("SELECT * FROM pembayaran WHERE id_bayar = '$id_bayar'");
$result = array();
$fetchData = $query->fetch_assoc();
$result = $fetchData;
echo json_encode($result);
?>

17. Hapus_pengeluaran.php

<?php
require_once '../../koneksi/conn.php';
$id_bayar = $conn->real_escape_string($_GET['id_bayar']);

$sql=$conn->query("DELETE FROM pembayaran WHERE id_bayar='$id_bayar' ");


if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

18. Laporan_keluar.php

<?php
require_once '../../koneksi/conn.php';
$tgl_awal=$_GET['tgl_awal'];
$tgl_akhir=$_GET['tgl_akhir'];
$query = $conn->query("
SELECT
a.nama_bayar,
b.nama_kategori,
SUM(a.jumlah) as jumlah
from pembayaran a
INNER JOIN kategori_bayar b
ON (a.id_kategori=b.id_kategori)
WHERE DATE_FORMAT(tanggal, '%Y-%m-
%d') >= '$tgl_awal'
AND DATE_FORMAT(tanggal, '%Y-%m-%d')
<= '$tgl_akhir'
GROUP BY b.nama_kategori asc,
a.nama_bayar asc
");
?>
<div id="tes">
<h2>Laporan Dana Pengeluaran Tanggal <?= $tgl_awal. ' s/d '.$tgl_akhir ?> </h2>
<table class="table" id="printed">
<thead>
<tr>
<th>No</th>
<th>Pembayaran</th>
<th>Kategori</th>
<th>Jumlah</th>
</tr>
</thead>
<tbody>
<?php
$no=1;
while ($row = $query->fetch_assoc()) { ?>
<tr>
<td><?=$no++; ?></td>
<td><?=$row['nama_bayar'] ?></td>
<td><?=$row['nama_kategori'] ?></td>
<td><?= "Rp. ".number_format($row['jumlah']); ?></td>
</tr>

<?php
$total=$total+$row['jumlah'];
}

?>

</tbody>
<tr>
<th></th>
<th>Total Pengeluaran</th>
<th></th>
<td><b><?= "Rp. ".number_format($total); ?></b></td>
</tr>
</table>

</div>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-success" onclick="print()">Print PDF</button>
</div>
</div>

<script>
function print() {
var pdf = new jsPDF('p', 'pt', 'letter');
source = $('#tes')[0];
specialElementHandlers = {
'#bypassme': function (element, renderer) {
return true
}
};
margins = {
top: 40,
bottom: 40,
left: 80,
width: 700
};
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},

function (dispose) {
pdf.save('Laporan-pengeluaran.pdf');
}, margins);
}
</script>

19. Tambah_pengeluaran.php

<?php
require_once '../../koneksi/conn.php';
$id_kategori = $conn->real_escape_string($_POST['id_kategori']);
$nama_bayar = $conn->real_escape_string($_POST['nama_bayar']);
$jumlah = $conn->real_escape_string($_POST['jumlah']);

$data = array();
$data['error_string'] = array();
$data['inputerror'] = array();
$data['status'] = TRUE;

if($id_kategori == ''){
$data['inputerror'][] = 'id_kategori';
$data['error_string'][] = 'Kategori silahkan dipilih dulu';
$data['status'] = FALSE;
}

if($nama_bayar == ''){
$data['inputerror'][] = 'nama_bayar';
$data['error_string'][] = 'Nama Pembayaran di isi';
$data['status'] = FALSE;
}

if($jumlah == ''){
$data['inputerror'][] = 'jumlah';
$data['error_string'][] = 'Jumlah wajib diisi';
$data['status'] = FALSE;
}

if($data['status'] === FALSE){


echo json_encode($data);
exit();
}

$sql=$conn->query("INSERT INTO pembayaran VALUES


('','$id_kategori','$nama_bayar','$jumlah',NULL) ");
if ($sql) {
echo json_encode(array("status" => TRUE));
}
?>

You might also like