SKRIPSI
Disusun Oleh :
2021
KETERANGAN SELESAI PENULISAN SKRIPSI
NPM : 171801004
Cirebon
Yang menyatakan,
(Arip Saripudin)
Menyetujui,
Pembimbing
NPM : 171801018
Cirebon
Yang menyatakan,
Menyetujui,
Pembimbing
NPM : 171801004
Cirebon
Telah mengikuti beberapa aktifitas pada instansi / perusahaan ini, dan telah
memperoleh sejumlah data dan informasi dari kami, sesuai dengan judul skripsi
Nama Pemilik
SURAT KETERANGAN INSTANSI / PERUSAHAAN
NPM : 171801018
Cirebon
Telah mengikuti beberapa aktifitas pada instansi / perusahaan ini, dan telah
memperoleh sejumlah data dan informasi dari kami, sesuai dengan judul skripsi
Nama Pemilik
LEMBAR PERSETUJUAN SKRIPSI
Disahkan Oleh:
Penguji I Penguji II
NIDN. NIDN.
Mengetahui,
NIDN. 0416068302
LEMBAR PERNYATAAN
NPM : 171801004
Cirebon
Menyatakan bahwa skripsi ini merupakan hasil karya saya sendiri yang dibuat
Saya mengerti bahwa gelar strata satu saya bisa dibatalkan jika saya terbukti telah
Yang menyatakan,
(Arip Saripudin)
LEMBAR PERNYATAAN
NPM : 171801018
Cirebon
Menyatakan bahwa skripsi ini merupakan hasil karya saya sendiri yang dibuat
Saya mengerti bahwa gelar strata satu saya bisa dibatalkan jika saya terbukti telah
Yang menyatakan,
Puji dan syukur penyusun panjatkan kepada Dzat yang maha segalanya
Allah SWT yang masih melimpahkan rahmat dan karunia-Nya hingga saat ini
sehingga penyusun dapat menyelesaikan Laporan skripsi ini. Shalawat serta salam
tak lupa penyusun curahkan kepada Nabi Besar Muhammad SAW, kepada
bimbingan dan petunjuk dari berbagai pihak, oleh karena itu rasa terima kasih dan
2. Patricia Astrid A., S.Kom., M.T., selaku Ketua STMIK WIT Cirebon.
Cirebon.
sebutkan satu per satu, yang telah membantu dan memberikan dukungan
i
Kami berharap laporan skripsi ini dapat memberikan kontribusi kepada
kekurangan dan kelemahan dalam laporan ini. Oleh karena itu, kritik dan saran
pembaca sangat harapkan. Harapan penyusun, semoga laporan ini bermanfaat bagi
Penyusun
ii
DAFTAR ISI
HALAMAN JUDUL
LEMBAR PERNYATAAN
ABSTRAK
KATA PENGANTAR..............................................................................................i
DAFTAR ISI..........................................................................................................iii
DAFTAR TABEL..................................................................................................vii
DAFTAR GAMBAR..............................................................................................ix
DAFTAR LAMPIRAN..........................................................................................xii
BAB I PENDAHULUAN...................................................................................1
1.4. Tujuan...............................................................................................4
iii
2.1. Konsep Dasar Sistem........................................................................9
2.7.1. PHP.......................................................................................33
2.7.2. MySQL.................................................................................33
2.7.4. XAMPP.................................................................................34
iv
2.7.5. Notepad++............................................................................35
v
4.7. Rancangan Keamanan Web............................................................92
BAB V PENUTUP.............................................................................................95
5.1. Kesimpulan.....................................................................................95
5.2. Saran...............................................................................................96
DAFTAR PUSTAKA
vi
DAFTAR TABEL
37
vii
Tabel 4. 3 Detail Service........................................................................................64
Tabel 4. 5 Login.....................................................................................................66
Tabel 4. 6 Pelanggan..............................................................................................67
Tabel 4. 7 Pembayaran...........................................................................................68
Tabel 4. 8 Service...................................................................................................69
Tabel 4. 9 Sparepart...............................................................................................70
Tabel 4. 10 Teknisi.................................................................................................71
Tabel 4. 11 Penerimaan..........................................................................................72
Tabel 4. 12 Pengambilan........................................................................................73
viii
DAFTAR GAMBAR
ix
Gambar 4. 16 Tabel Jenis Service..........................................................................65
Gambar 4. 34 Invoice.............................................................................................81
x
Gambar 4. 39 Laporan Data Penerimaan Barang..................................................86
xi
DAFTAR LAMPIRAN
xii
BAB I
PENDAHULUAN
tersebut guna menghasilkan informasi yang cepat, tepat dan akurat. Hal ini
pemanfaatan peluang terlihat sebagai suatu hal yang sederhana, namun jika
1
2
Puspita, 2021)
Menurut Kotler definisi jasa adalah setiap tindakan atau kinerja yang
ditawarkan oleh satu pihak ke pihak lain yang secara prinsip tidak berwujud
setiap kegiatan atau manfaat yang dapat diberikan suatu pihak kepada pihak
lainnya yang pada dasarnya tidak berwujud dan tidak pula berakibat
pemilikan sesuatu dan produksinya dapat atau tidak dapat dikaitkan dengan
suatu produk fisik. (Tahendrika, 2015). Oleh karena itu, diperlukan sistem
perusahaan.
transaksi service. Selain itu masih terdapat masalah tentang pencarian data
infromasi yang dapat mengatasi permasalahan yang ada, adapun judul yang
diambil untuk laporan Skripsi ini adalah “Sistem Informasi Pelayanan Jasa
Service Komputer Dan Printer Berbasis Web Pada CV. Multinet Compindo
Cirebon“.
web yang dapat mengolah data service dan pembayaran secara cepat dan
akurat?
sebagai berikut:
1.4. Tujuan
Komputer dan Printer Berbasis Web pada CV. Multinet Compindo Cirebon
adalah:
dapat mengolah data service dan pembayaran secara cepat dan akurat.
jasa service pada CV. Multinet Compindo menggunakan model air terjun
(waterfall) yang sering disebut juga sekuensial linier (sequential linear) atau
pengujian.
2. Desain
4. Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik. sistem
user, karena ada kesalahan yang muncul dan tidak terdeteksi saat
baru.
1. Observasi
2. Wawancara
yang terkait yaitu Ibu Shan Shan., selaku pemilik CV. Multinet
Compindo.
3. Studi Pustaka
Adapun sistematika yang akan ditulis dalam laporan skripsi kali ini
BAB I PENDAHULUAN
Sistematika Penulisan.
programnya.
BAB V PENUTUP
perusahaan.
BAB II
LANDASAN TEORI
(Kristanto, 2018)
9
L10
kejadian yang sedang terjadi, dimana data tersebut akan diolah dan
sistem.(Kristanto, 2018)
kegiatan atau manfaat yang dapat diberikan suatu pihak kepada pihak
lainnya yang pada dasarnya tidak berwujud dan tidak pula berakibat
pemilikan sesuatu dan produksinya dapat atau tidak dapat dikaitkan dengan
dalam bentuk fisik atau kontruksi, yang biasanya dikonsumsi pada saat yang
sama dengan waktu yang dihasilkan dan memberikan nilai tambah atau
(Kristanto, 2018)
SIMBOL ARTI
Multi Dokumen
Proses Manual
(arsip manual)
L14
SIMBOL ARTI
Simbol Keterangan
yang dimodelkan.
L16
Simbol Keterangan
keluaran (output)
kode program.
yang ada di dalam sebuah sistem informasi dan siapa saja yang
2018)
Simbol Deskripsi
Simbol Deskripsi
objek;
Simbol Deskripsi
2. Class Diagram
2018)
suatu kelas
Simbol Deskripsi
multiplicity
multiplicity
Simbol Deskripsi
3. Activity Diagram
proses bisnis atau menu yang ada pada perangkat lunak. Yang
aktor, jadi aktivitas yang dapat dilakukan oleh sistem. (Rosa &
Shalahuddin, 2018)
Simbol Deskripsi
awal
akhir
terjadi
4. Sequence Diagram
L23
Simbol Deskripsi
aktif
Simbol Deskripsi
lifeline
dibuat
5. Object Diagram
L25
Simbol Deskripsi
Simbol Deskripsi
Start / Status Awal Start atau initial state adalah state atau
hidup.
End / Status akhir End atau final state adalah state keadaan
Simbol Deskripsi
perubahan tersebut.
7. Communication Diagram
Simbol Deskripsi
Arah pesan / Arah pesan yang terjadi, jika pada suatu link ada
8. Component Diagram
Simbol Deskripsi
komponen
Simbol Deskripsi
langsung komponen
9. Package Diagram
Simbol Deskripsi
lainnya.
2. Sistem client/server.
Simbol Deskripsi
L32
node.
komponen.
dipakai
satu sama lain atau tidak perlu suatu kerangkapan data (controlled
2.7.1. PHP
2.7.2. MySQL
bersifat Open Source dan paling populer saat ini. Sistem database
ini dibuat untuk keperluan sistem database yang cepat, handal dan
MySQL dapat digunakan dua jenis web server yaitu Online Mode
lokal.(Madcoms, 2016)
2.7.4. XAMPP
(Madcoms, 2016)
2.7.5. Notepad++
distributor madu nusantara. Toko multinet bisa disebut juga sebagai toko
kita seperti perkakas, alat-alat tulis maupun peralatan mesin itu disebabkan
mungkin.
Shan (pemilik) Pada tanggal 15 mei 1995 mulai merintis toko Multinet
pemilik juga melihat belum adanya toko komputer yang lengkap dan
masih ramai dikunjungi oleh konsumen dari berbagai daerah karena selain
36
L37
harganya murah dan toko ini lebih mementingkan kualitas dari pada
kuantitas.
berikut :
Perusahaan
sparepart.
L38
Perusahaan (Lanjutan)
akan diservice.
untuk di service.
transaksi service. Selain itu masih terdapat masalah tentang pencarian data
kepada admin
L39
teknisi
pembayaran
sistem ini semua pengolahan data service dan pemakaian sparepart akan
tersimpan secara baik pada database sehingga dalam pencarian data dan
menjadi lebih optimal. Dengan sistem pengolahan data yang lebih mudah
dan cepat menjadikan kinerja yang lebih efektif dan efisien, sehingga setiap
kerjanya.
45
L46
yang ada di dalam sebuah sistem informasi dan siapa saja yang
1. Definisi Aktor
No Aktor Deskripsi
pengambilan.
service.
pencetakan laporan-laporan
pengambilan.
L49
masing.
belum.
oleh admin.
admin.
admin.
pemilik
Pelanggan pemilik
Pembayaran pemilik
L54
B. Class Diagram
C. Statechart Diagram
D. Activity Diagram
L56
E. Sequence Diagram
L58
F. Collaboration Diagram
L60
G. Component Diagram
L61
H. Package Diagram
L62
I. Deployment Diagram
L63
Jenis : transaksi
Tipe Ukuran
Nama Field Keterangan
Data Field
id_detail_service Int 11 Primary Key
id_service Int 11
id_jenis_service Int 11
id_sparepart Int 11
harga Double
Jenis : master
Tipe Ukuran
Nama Field Keterangan
Data Field
id_jenis_service Int 11 Primary Key
kode varchar 5
nama Varchar 50
harga Double
3. Tabel Login
Jenis : master
Tabel 4. 5 Login
Tipe Ukuran
Nama Field Keterangan
Data Field
id_login Int 11 Primary Key
username Varchar 25
password Text
nama Varchar 50
tipe Int 1
4. Tabel Pelanggan
Jenis : master
Tabel 4. 6 Pelanggan
Tipe Ukuran
Nama Field Keterangan
Data Field
id_pelanggan Int 11 Primary Key
kode Varchar 5
nama Varchar 50
alamat Text
telepon Varchar 20
5. Tabel Pembayaran
Jenis : transaksi
Tabel 4. 7 Pembayaran
Tipe Ukuran
Nama Field Keterangan
Data Field
id_pembayaran Int 11 Primary Key
kode Varchar 10
tanggal Date
id_service Int 11
jumlah Double
dibayar Double
kembali Double
6. Tabel Service
Jenis : transaksi
Tabel 4. 8 Service
Tipe Ukuran
Nama Field Keterangan
Data Field
id_service Int 11 Primary Key
tanggal Date
kode Varchar 10
id_penerimaan Int 11
selesai Int 1
dp Double
id_teknisi Int 11
7. Tabel Sparepart
Jenis : master
Tabel 4. 9 Sparepart
Tipe Ukuran
Nama Field Keterangan
Data Field
id_sparepart Int 11 Primary Key
kode Varchar 5
nama Varchar 50
harga Double
stok Int 11
8. Tabel Teknisi
Jenis : master
Tabel 4. 10 Teknisi
Tipe Ukuran
Nama Field Keterangan
Data Field
id_teknisi Int 11 Primary Key
kode Varchar 5
nama Varchar 50
alamat Text
telepon Varchar 20
9. Tabel Penerimaan
Jenis : transaksi
Tabel 4. 11 Penerimaan
Tipe Ukuran
Nama Field Keterangan
Data Field
id_penerimaan Int 11 Primary Key
kode Varchar 20
tanggal Date
id_pelanggan Int 11
keluhan Text
Jenis : transaksi
Tabel 4. 12 Pengambilan
Tipe Ukuran
Nama Field Keterangan
Data Field
id_pengambilan Int 11 Primary Key
kode Varchar 20
tanggal Date
id_service Int 11
1. Form Login
L74
dengan gambar 4. 25
gambar 4. 26
dengan gambar 4. 27
data jenis service Desain halaman form input data jenis service
gambar 4. 31
1. Invoice
L81
Gambar 4. 34 Invoice
35
4. 36
gambar 4. 37
4. 38
40
gambar 4. 41
berikut:
1. Admin
L90
teknisi, data sparepart, data jenis service dan data pelanggan. Serta
2. Kasir
3. Pemilik
data teknisi, laporan data sparepart, laporan data jenis service, laporan
lain berupa modul library function javascript untuk error handling dan
pada Gambar 4. 44
L92
minimal 250GB.
No Keterangan Biaya
Total 15.000.000
PENUTUP
5.1. Kesimpulan
perusahaan.
akurat.
sehingga laporan yang disajikan dapat lebih cepat dan sesuai dengan
keinginan perusahaan.
95
L96
5.2. Saran
1. Melatih sumber daya manusia untuk dapat terbiasa dengan sistem yang
diperbaiki kedepannya.
terakhir pencadangannya.
DAFTAR PUSTAKA
Erliza, Y. & Puspita, C. D., 2021. Sistem Informasi Pelayanan Jasa Servis
Komputer Pada CV. Technology Computer. Jurnal Jaringan Sistem
Informasi Robotik, V(1), pp. 28-33.
Kristanto, A., 2018. Perancangan Sistem Informasi dan Aplikasinya. Gava Media.
Yogyakarta.
Madcoms, 2016. Pemrograman PHP dan MySQL untuk Pemula. Penerbit Andi.
Yogyakarta.
Rosa & Shalahuddin, M., 2018. Rekayasa Perangkat Lunak (Terstruktur dan
Berorientasi Objek). Informatika. Bandung.
Suhada & Putra, A. E., 2016. Pengaruh Kualitas Pelayanan Jasa Terhadap
Kepuasan Pelanggan Pada CV. Nur Ihsan Palembang. Jurnal Media
Wahana Ekonomika, XIII(2), pp. 100-114.
LISTING PROGRAM
<?php
$nama_login="";
if(isset($_SESSION['login_success'])){
$paramQuery = array(":id"=>$_SESSION['id_login']);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM login WHERE
id_login=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$nama_login=$data["nama"];
}
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-
scale=1">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<meta name="keywords" content="" />
<meta name="author" content="">
<meta name="description" content="">
<meta http-equiv="Cache-Control" content="no-cache, no-
store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<link rel="icon" href="" type="image/gif" sizes="16x16">
<!-- css template -->
<script type="application/x-javascript">
addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>
<!-- Bootstrap Core CSS -->
<script type="application/x-javascript">
addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>
<!-- Bootstrap Core CSS -->
<link href="<?php echo
link_file(FOLDER_STYLE);?>/css/bootstrap.min.css" rel='stylesheet'
type='text/css' />
<!-- Custom CSS -->
<link href="<?php echo
link_file(FOLDER_STYLE);?>/css/style.css" rel='stylesheet'
type='text/css' />
L2
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="top1 navbar navbar-default navbar-static-top"
role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-
toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo
FOLDER_HOST.'/menu/home'; ?>">CV. Multinet Compindo Cirebon</a>
</div>
<!-- /.navbar-header -->
<ul class="nav navbar-nav navbar-right">
<?php
if(isset($_SESSION['login_success'])){
?>
<li class="dropdown">
<a href="#" class="dropdown-toggle avatar"
data-toggle="dropdown"><img src="<?php echo
link_file(FOLDER_STYLE);?>/images/users2.png"></a>
<ul class="dropdown-menu">
<li class="dropdown-menu-
header text-center">
<strong>Account</strong>
</li>
<li class="m_2"><a
onClick="return confirm('Apa anda yakin akan logout?');" href="<?
php echo FOLDER_HOST.'/menu/logout'; ?>"><i class="fa
fa-lock"></i> Logout</a></li>
</ul>
</li>
<?php
}
?>
</ul>
if(isset($_SESSION['login_success'])){
L4
if($_SESSION['tipe_login']==0 || $_SESSION['tipe_login']==1
|| $_SESSION['tipe_login']==2){
?>
<li>
<a href="#"><i class="fa fa-laptop
nav_icon"></i>Data Master<span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<?php if($_SESSION['tipe_login']==0
|| $_SESSION['tipe_login']==2){ ?>
<li><a href="<?php echo
FOLDER_HOST.'/menu/teknisi'; ?>">Data Teknisi</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/sparepart'; ?>">Data Sparepart</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/jenis_service'; ?>">Data Jenis Service</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/pelanggan'; ?>">Data Pelanggan</a></li>
<?
php }elseif($_SESSION['tipe_login']==0 ||
$_SESSION['tipe_login']==1){ ?>
<li><a href="<?php echo
FOLDER_HOST.'/menu/users'; ?>">Data Admin/Kasir</a></li>
<?php
}
?>
</ul>
<!-- /.nav-second-level -->
</li>
<?php
}
if($_SESSION['tipe_login']==0 || $_SESSION['tipe_login']==2
|| $_SESSION['tipe_login']==3){
?>
<li>
<a href="#"><i class="fa fa-flask
nav_icon"></i>Data Transaksi<span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<?php if($_SESSION['tipe_login']==0
|| $_SESSION['tipe_login']==2){ ?>
<li><a href="<?php echo
FOLDER_HOST.'/menu/service'; ?>">Data Service</a></li>
<?
php }elseif($_SESSION['tipe_login']==0 ||
$_SESSION['tipe_login']==3){ ?>
<li><a href="<?php echo
FOLDER_HOST.'/menu/pembayaran'; ?>">Data Pembayaran</a></li>
<?php
}
?>
</ul>
<!-- /.nav-second-level -->
</li>
<?php
}
L5
if($_SESSION['tipe_login']==0 || $_SESSION['tipe_login']==1)
{
?>
<li>
<a href="#"><i class="fa fa-sitemap
nav_icon"></i>Laporan-Laporan<span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_teknisi'; ?>">Laporan Data
Teknisi</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_sparepart'; ?>">Laporan Data
Sparepart</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_jenis_service'; ?>">Laporan Data Jenis
Service</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_pelanggan'; ?>">Laporan Data
Pelanggan</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_service'; ?>">Laporan Data
Service</a></li>
<li><a href="<?php echo
FOLDER_HOST.'/menu/laporan_pembayaran'; ?>">Laporan Data
Pembayaran</a></li>
</ul>
<!-- /.nav-second-level -->
</li>
<?php
}
}
?>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side -->
</nav>
<div id="page-wrapper">
<div class="graphs">
<div class="col_12" style="min-height: 600px;">
<div class="copy">
<p>Copyright © 2021 CV. Multinet
Compindo Cirebon. All Rights Reserved | Design by Arip Saripudin
dan Mohamad Riziq Sobrun Jamil </p>
</div>
</div>
L6
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
<?php
session_start();
//error_reporting(0);
require_once("pengaturan/pengaturan.php");
if(empty($_GET['id'])){$id='home';}else{$id=$_GET['id'];}
if($id=="logout"){
unset($_SESSION['tipe_login']);
unset($_SESSION['login_success']);
unset($_SESSION['id_login']);
echo
"<script>window.location.href='".FOLDER_HOST."/menu/home';</script
>";
}
include("halaman/halaman.php");
if(empty($_GET['type'])){$type='menu';}else{$type=$_GET['type'];}
if(isset($_SESSION['login_success'])){
switch ($_SESSION['tipe_login']) {
case 0:
$logintipe="it";
$namafolder= FOLDER_ADMIN;
$hakaksesfile =
array('home','logout','users','akun','teknisi','sparepart','jenis_
service','pelanggan','service','pembayaran','laporan_teknisi','lap
oran_sparepart','laporan_jenis_service','laporan_pelanggan','lapor
an_service','laporan_pembayaran');
break;
case 1:
$logintipe="pemilik";
$namafolder= FOLDER_ADMIN;
$hakaksesfile =
array('home','logout','users','akun','laporan_teknisi','laporan_sp
arepart','laporan_jenis_service','laporan_pelanggan','laporan_serv
ice','laporan_pembayaran');
break;
case 2:
$logintipe="admin";
$namafolder= FOLDER_ADMIN;
$hakaksesfile =
array('home','logout','akun','teknisi','sparepart','jenis_service'
,'pelanggan','service');
break;
L7
case 3:
$logintipe="kasir";
$namafolder= FOLDER_ADMIN;
$hakaksesfile =
array('home','logout','akun','pembayaran');
break;
default:
$folderid="publik";
$namafolder= FOLDER_PUBLIK;
break;
}
}else{
$logintipe="publik";
$namafolder= FOLDER_PUBLIK;
}
if($logintipe=="publik"){
$hakaksesfile = array('home');
}
require_once(FOLDER_MASUKAN.'/header.php');
$folderid="";
switch ($type){
case 'menu':
$folderid=$namafolder."/menu/";
break;
case 'input':
$folderid=$namafolder."/input/";
break;
case 'delete':
$ai=$_GET['ai'];
include($namafolder.'/module/mod_list/mod_delete.php');
delete($ai,$id);
break;
case 'proses':
$ai=$_GET['ai'];
include($namafolder.'/module/mod_list/mod_proses.php');
proses($ai,$id);
break;
default:
$folderid="";
break;
}
if(isset($_SESSION['login_success'])){
}else{
if(file_exists($folderid.$id.'.php')){
if (in_array($id, $hakaksesfile)){
include($folderid.$id.'.php');
L8
}else{
echo '<div class="page_error">';
echo '<h2><a href="'.FOLDER_HOST.'">Anda tidak
mempunyai hak akses untuk menu ini!!!</a></h2>';
echo '</div>';
}
}else{
echo '<div class="page_error">';
echo '<h2><a href="'.FOLDER_HOST.'">Halaman tidak
ditemukan</a></h2>';
echo '</div>';
}
if(isset($_SESSION['login_success'])){
include(FOLDER_MASUKAN.'/menu.php');
}else{
require_once(FOLDER_MASUKAN.'/footer.php');
$folder_module=$namafolder."/module/mod_submit/";
if(file_exists($folder_module.'/mod_'.$id.'.php')){
include_once($folder_module.'/mod_'.$id.'.php');
}
if(isset($_POST['login_user'])){
$username=$_POST['username'];
$password=$_POST['password'];
$cryptPassword=ngecrypt($password);
try{
$paramQuery = array(":username"=>$username);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM login
WHERE username=:username');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
}catch (PDOException $e){
$resultQuery=false;
}
if(!$resultQuery){
echo "<script>alert('Username tidak
ditemukan');</script>";
}else{
try{
$paramQuery =
array(":username"=>$username,":password"=>$cryptPassword);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM
login WHERE username=:username AND password=:password');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery-
>fetchAll(PDO::FETCH_ASSOC);
L9
if(!$resultQuery){
echo "<script>alert('Username dan Password tidak
cocok');</script>";
}else{
unset($_SESSION['tipe_login']);
unset($_SESSION['login_success']);
unset($_SESSION['id_login']);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$_SESSION['tipe_login']=$data["tipe"];
$_SESSION['login_success']=$data["username"];
$_SESSION['id_login']=$data["id_login"];
}
}
echo
"<script>window.location.href='".FOLDER_HOST."/menu/home';</script
>";
}
}
}
if(isset($_POST['register_user'])) {
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
$telepon=$_POST['telepon'];
$jk=$_POST['jk'];
$username=$_POST['username'];
$password=$_POST['password'];
$password=ngecrypt($password);
try{
$paramQuery = array(":username"=>$username);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM login
WHERE username=:username');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
}catch (PDOException $e){
$resultQuery=false;
}
if($resultQuery){
echo "<script>alert('Username sudah digunakan
!!');</script>";
}else{
try{
L10
$paramQuery = array(
":nama"=>$nama,
":username"=>$username,
":password"=>$password,
":tipe"=>3 //untuk member
);
$rowQuery = $dbKoneksi->prepare("INSERT INTO
login(username,password,nama,tipe)
VALUES(:username,:password,:nama,:tipe)");
$rowQuery->execute($paramQuery);
$rowQuery = $dbKoneksi->prepare('SELECT
RIGHT(kode,4) as no FROM member ORDER BY RIGHT(kode,4) DESC LIMIT
0,1');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery-
>fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$no=$data["no"]+1;
}
}else{
$no=1;
}
$kode="M".str_pad($no, 4, "0", STR_PAD_LEFT);
$paramQuery = array(
":nama"=>$nama,
":kode"=>$kode,
":alamat"=>$alamat,
":telepon"=>$telepon,
":jk"=>$jk,
":id_login"=>$id_login
);
$rowQuery = $dbKoneksi->prepare("INSERT INTO
member(kode,nama,alamat,telepon,jk,id_login)
VALUES(:kode,:nama,:alamat,:telepon,:jk,:id_login)");
$rowQuery->execute($paramQuery);
if($rowQuery){
L11
$dbKoneksi=null;
?>
<div class="text-center">
<h2>Data Service</h2>
</div>
<?php
$n=0;
$p = new Paging();
$batas=5;
$posisi = $p->cariPosisi($batas);
if(isset($_SESSION['tanggal1'])){
$tanggal1=$_SESSION['tanggal1'];
$tanggal2=$_SESSION['tanggal2'];
}else{
$tanggal1=date('Y').'-'.date('m').'-01';
$bulan_depan=date("Y-m-d",mktime(0, 0, 0,
date("m",strtotime($tanggal1))+1, date("d",strtotime($tanggal1)),
date("Y",strtotime($tanggal1))));
$tanggal2=date("Y-m-d",mktime(0, 0, 0,
date("m",strtotime($bulan_depan)),
date("d",strtotime($bulan_depan))-1,
date("Y",strtotime($bulan_depan))));
$_SESSION['tanggal1']=$tanggal1;
$_SESSION['tanggal2']=$tanggal2;
}
$kode="Kode";
$nama="Pelanggan";
if(isset($_POST["cari_data"])){
$kode=$_POST["kode"];
$nama=$_POST["nama"];
L12
$tanggal1=date("Y-m-d",strtotime($_POST['tanggal1']));
$tanggal2=date("Y-m-d",strtotime($_POST['tanggal2']));
$_SESSION['tanggal1']=$tanggal1;
$_SESSION['tanggal2']=$tanggal2;
$stringQuery="SELECT service.*,pelanggan.nama as
namapelanggan,teknisi.nama as namateknisi FROM service
INNER JOIN pelanggan ON
service.id_pelanggan=pelanggan.id_pelanggan
INNER JOIN teknisi ON
service.id_teknisi=teknisi.id_teknisi
".$where_sql." ORDER BY service.id_service DESC";
$rowQuery = $dbKoneksi->prepare($stringQuery);
$paramQuery = $arrayParam;
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$jmlrecord = $rowQuery->rowCount();
$jmlhalaman = $p->jumlahHalaman($jmlrecord,$batas);
?>
<h4 align="center">
<a class="btn btn-primary" href="<?php echo
FOLDER_HOST.'/input/service'; ?>">
<b>Tambah Data</b>
</a>
</h4>
<br/>
}else{
$rowQuery = $dbKoneksi->prepare($stringQuery." LIMIT $posisi,
$batas");
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$n=($_GET['halaman']-1)*$batas;
foreach($resultQuery as $data){
$paramQueryX = array(":id"=>$data["id_service"]);
$rowQueryX = $dbKoneksi->prepare('SELECT SUM(harga) as total
FROM detail_service WHERE id_service=:id');
$rowQueryX->execute($paramQueryX);
$resultQueryX = $rowQueryX->fetchAll(PDO::FETCH_ASSOC);
$totalDataX = $rowQueryX->rowCount();
if($totalDataX>0){
foreach($resultQueryX as $dataX)
{
$total=$dataX["total"];
}
}
if($data["selesai"]==0){
$ketselesai="BELUM";
}elseif($data["selesai"]==1){
$ketselesai="SELESAI";
}
$paramQueryX = array(":id"=>$data["id_service"]);
$rowQueryX = $dbKoneksi->prepare('SELECT * FROM pembayaran WHERE
id_service=:id');
$rowQueryX->execute($paramQueryX);
$resultQueryX = $rowQueryX->fetchAll(PDO::FETCH_ASSOC);
$totalDataX = $rowQueryX->rowCount();
if($totalDataX>0){
foreach($resultQueryX as $dataX)
{
$bayar=$dataX["jumlah"];
}
}else{
$bayar=0;
}
if($data['dp']+$bayar>=$total){
$ketbayar="LUNAS";
}else{
$ketbayar="BELUM";
}
?>
<tr>
<td style="text-align: center;"><?php echo ++$n; ?></td>
<td><?php echo $data["kode"]; ?></td>
<td><?php echo date('d/m/Y',strtotime($data["tanggal"])); ?></td>
<td><?php echo $data["namapelanggan"]; ?></td>
<td><?php echo $data["namateknisi"]; ?></td>
<td><?php echo number_format($total); ?></td>
L15
<?php
if(empty($_GET['ai'])){
$tipeForm = "Tambah";
}else{
$tipeForm = "Ubah";
}
$ai=0;
$id_service="";
$tanggal=date('d-m-Y');
$id_jenis_service="";
$id_sparepart="";
$jumlah="";
$harga="0";
$pilihan_service="";
$total=0;
$pilihan_sebelumnya=0;
$id_pelanggan="";
$id_teknisi="";
$stok="";
L16
if(empty($_GET['halaman'])){
if(!empty($_GET['ai'])){
$paramQuery = array(":id"=>$_GET['ai']);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM service WHERE
id_service=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$id_service=$data["id_service"];
$id_pelanggan=$data["id_pelanggan"];
$id_teknisi=$data['id_teknisi'];
$tanggal=$data["tanggal"];
$kode=$data["kode"];
$dp=$data["dp"];
}
}
}
}else{
if(!empty($_GET['jml'])){
$paramQuery = array(":id"=>$_GET['jml']);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM detail_service
WHERE id_detail_service=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$ai=$data["id_detail_service"];
$id_service=$data["id_service"];
$id_jenis_service=$data["id_jenis_service"];
$id_sparepart=$data["id_sparepart"];
$harga=$data["harga"];
if($id_jenis_service>0){
L17
$pilihan_service=1;
}elseif($id_sparepart>0){
$pilihan_service=2;
}
$pilihan_sebelumnya=$pilihan_service;
}
}
}
}
if(isset($_POST['pilihan_service']) && (!
isset($_POST['simpan_service_baru']) || !
isset($_POST['simpan_service_ubah']))){
$tanggal=$_POST['tanggal'];
$id_pelanggan=$_POST['id_pelanggan'];
$id_teknisi=$_POST['id_teknisi'];
$pilihan_service=$_POST['pilihan_service'];
$pilihan_sebelumnya=$_POST['pilihan_sebelumnya'];
}
if(isset($_POST['id_jenis_service']) && (!
isset($_POST['simpan_service_baru']) || !
isset($_POST['simpan_service_ubah']))){
$tanggal=$_POST['tanggal'];
$id_pelanggan=$_POST['id_pelanggan'];
$id_teknisi=$_POST['id_teknisi'];
$id_jenis_service=$_POST['id_jenis_service'];
$id_sparepart=$_POST['id_sparepart'];
$pilihan_service=$_POST['pilihan_service'];
}
if(isset($_POST['id_sparepart']) && (!
isset($_POST['simpan_service_baru']) || !
isset($_POST['simpan_service_ubah']))){
$tanggal=$_POST['tanggal'];
$id_pelanggan=$_POST['id_pelanggan'];
$id_teknisi=$_POST['id_teknisi'];
$id_jenis_service=$_POST['id_jenis_service'];
$id_sparepart=$_POST['id_sparepart'];
$pilihan_service=$_POST['pilihan_service'];
}
if($id_service>0){
$paramQuery = array(":id"=>$id_service);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM service WHERE
id_service=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
L18
if($totalData>0){
foreach($resultQuery as $data)
{
$id_service=$data["id_service"];
$id_pelanggan=$data["id_pelanggan"];
$id_teknisi=$data["id_teknisi"];
$tanggal=date('d-m-Y',strtotime($data["tanggal"]));
$kode=$data["kode"];
$dp=$data["dp"];
$paramQueryX = array(":id"=>$id_service);
$rowQueryX = $dbKoneksi->prepare('SELECT SUM(harga) as total
FROM detail_service WHERE id_service=:id');
$rowQueryX->execute($paramQueryX);
$resultQueryX = $rowQueryX->fetchAll(PDO::FETCH_ASSOC);
$totalDataX = $rowQueryX->rowCount();
if($totalDataX>0){
foreach($resultQueryX as $dataX)
{
$total=$dataX["total"];
}
}
}
}
}
if($id_pelanggan>0){
$paramQuery = array(":id"=>$id_pelanggan);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM pelanggan WHERE
id_pelanggan=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$nama_pelanggan=$data["nama"];
}
}
}else{
$nama_pelanggan="";
}
if($id_teknisi>0){
$paramQuery = array(":id"=>$id_teknisi);
$rowQuery = $dbKoneksi->prepare('SELECT * FROM teknisi WHERE
id_teknisi=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$nama_teknisi=$data["nama"];
}
}
L19
}else{
$nama_teknisi="";
}
if($id_jenis_service>0){
$paramQuery = array(":id"=>$id_jenis_service);
$rowQuery = $dbKoneksi->prepare('SELECT jenis_service.* FROM
jenis_service
WHERE id_jenis_service=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$nama_jenis_service=$data["nama"];
$harga=$data["harga"];
$stok=0;
}
}
}else{
$nama_jenis_service="";
}
if($id_sparepart>0){
$paramQuery = array(":id"=>$id_sparepart);
$rowQuery = $dbKoneksi->prepare('SELECT sparepart.* FROM
sparepart
WHERE id_sparepart=:id');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
$nama_sparepart=$data["nama"];
$harga=$data["harga"];
$stok=$data["stok"];
}
}
}else{
$nama_sparepart="";
}
if($pilihan_service==1){
$nama_pilihan_service="Service";
}elseif($pilihan_service==2){
$nama_pilihan_service="Sparepart";
}else{
$nama_pilihan_service="";
}
?>
<div class="text-center">
<h2><?php echo $tipeForm; ?> Data Service</h2>
L20
</div>
<?php
$paramQuery = array();
$rowQuery = $dbKoneksi->prepare('SELECT * FROM teknisi
ORDER BY nama ASC');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
if($id_teknisi!=$data["id_teknisi"]){
echo '<option value="'.$data["id_teknisi"].'">'.
$data["nama"].'</option>';
}
}
}
?>
</select>
</td>
</tr>
<tr>
<td style="font-weight:bold;">Pilihan Service</td>
<td <?php if($pilihan_service>0){ echo 'colspan="2"'; } ?>>
<select class="form-control" style="width:50%;font-
size:14px;border-color:#000 !important;" name="pilihan_service"
onchange="this.form.submit();">
<option value="<?php echo $pilihan_service; ?>"><?php
echo $nama_pilihan_service; ?></option>
<?php if($pilihan_service!=1){ ?><option
value="1">Service</option> <?php } ?>
<?php if($pilihan_service!=2){ ?><option
value="2">Sparepart</option> <?php } ?>
</select>
</td>
</tr>
<?php
if($pilihan_service>0){
if($pilihan_service==1){
?>
<tr>
<td style="font-weight:bold;">Service</td>
<td>
<select class="form-control" style="width:100%;font-
size:14px;border-color:#000 !important;" name="id_jenis_service"
onchange="this.form.submit();">
<option value="<?php echo $id_jenis_service; ?>"><?php
echo $nama_jenis_service; ?></option>
<?php
$paramQuery = array();
$rowQuery = $dbKoneksi->prepare('SELECT * FROM
jenis_service ORDER BY nama ASC');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
L22
{
if($id_jenis_service!=$data["id_jenis_service"]){
echo '<option value="'.
$data["id_jenis_service"].'">'.$data["nama"].'</option>';
}
}
}
?>
</select>
</td>
<td style="width:30%;">
<input class="form-control" disabled="disabled"
type="text" name="hargaX" value="<?php echo number_format($harga);
?>">
<input name="harga" value="<?php echo $harga; ?>"
hidden="hidden"/>
<input name="stok" value="<?php echo $stok; ?>"
hidden="hidden"/>
<input name="id_sparepart" value="" hidden="hidden"/>
</td>
</tr>
<?php
}elseif($pilihan_service==2){
?>
<tr>
<td style="font-weight:bold;">Sparepart</td>
<td>
<select class="form-control" style="width:100%;font-
size:14px;border-color:#000 !important;" name="id_sparepart"
onchange="this.form.submit();">
<option value="<?php echo $id_sparepart; ?>"><?php echo
$nama_sparepart; ?></option>
<?php
$paramQuery = array();
$rowQuery = $dbKoneksi->prepare('SELECT * FROM
sparepart ORDER BY nama ASC');
$rowQuery->execute($paramQuery);
$resultQuery = $rowQuery->fetchAll(PDO::FETCH_ASSOC);
$totalData = $rowQuery->rowCount();
if($totalData>0){
foreach($resultQuery as $data)
{
if($id_sparepart!=$data["id_sparepart"]){
echo '<option value="'.
$data["id_sparepart"].'">'.$data["nama"].'</option>';
}
}
}
?>
</select>
</td>
<td style="width:30%;">
<input class="form-control" disabled="disabled"
type="text" name="hargaX" value="<?php echo number_format($harga);
?>">
L23
foreach($resultQuery as $data){
if($data['id_jenis_service']>0){
$paramQueryX = array(":id"=>$data['id_jenis_service']);
$rowQueryX = $dbKoneksi->prepare('SELECT jenis_service.* FROM
jenis_service
WHERE id_jenis_service=:id');
$rowQueryX->execute($paramQueryX);
$resultQueryX = $rowQueryX->fetchAll(PDO::FETCH_ASSOC);
$totalDataX = $rowQueryX->rowCount();
if($totalDataX>0){
foreach($resultQueryX as $dataX)
{
$nama_service=$dataX["nama"];
}
}
}elseif($data['id_sparepart']>0){
$paramQueryX = array(":id"=>$data['id_sparepart']);
$rowQueryX = $dbKoneksi->prepare('SELECT sparepart.* FROM
sparepart
WHERE id_sparepart=:id');
$rowQueryX->execute($paramQueryX);
$resultQueryX = $rowQueryX->fetchAll(PDO::FETCH_ASSOC);
$totalDataX = $rowQueryX->rowCount();
if($totalDataX>0){
foreach($resultQueryX as $dataX)
{
$nama_service=$dataX["nama"];
}
}
}else{
$nama_service="";
}
?>
<tr>
<td style="text-align: center;"><?php echo ++$n; ?></td>
<td><?php echo $nama_service; ?></td>
<td><?php echo number_format($data["harga"]); ?></td>
<td style="text-align: center;">
<a class="btn btn-warning btn-sm" href="<?php echo
FOLDER_HOST.'/input/service/'.$data["id_service"].'/'.
$data["id_detail_service"]; ?>">
UBAH
</a>
</td>
<td style="text-align: center;">
<a class="btn btn-danger btn-sm" href="<?php echo
FOLDER_HOST.'/delete/detail_service/'.
$data["id_detail_service"]; ?>" onclick="return confirm('Apa anda
yakin akan menghapus data ini ?');">
HAPUS
</a>
</td>
</tr>
L25
<?php
$subtotal+=($data["harga"]);
}
?>
<tr>
<td colspan="2" style="text-align:right;">Total</td>
<td><?php echo number_format($subtotal); ?></td>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2" style="text-align:right;">DP</td>
<td>
<input class="form-control" type="text" name="dp" value="<?php
echo $dp; ?>">
</td>
<td colspan="2">
<input type="submit" class="btn btn-primary btn-sm"
name="simpan_dp" value="Simpan DP">
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right;">Sisa Bayar</td>
<td><?php echo number_format($subtotal-$dp); ?></td>
<td colspan="2"></td>
</tr>
</table>
<?php
}
?>
</form>