Uploaded by User13923

BAB 5 Aplikasi Manajemen

advertisement
BAB 5
IMPLEMENTASI SISTEM
Pada bab ini akan membahas tentang implementasi sistem yang akan
diterapkan pada program. Implementasi sistem ini merupakan pembuatan sistem
manajemen pembangunan rumah pada PT. X. Implementasi sistem yang akan
dijelaskan pada bab ini merupakan implementasi data dan implementasi proses.
5.1
Implementasi
Data Implementasi data merupakan penerapan desain data yang dibuat pada
bab sebelumnya. Hasil implementasi ERD dan mapping dalam bentuk tabel dalam
basis data. Tabel-tabel tersebut dilengkapi dengan tipe data dari setiap kolomnya.
Tabel ini yang akan digunakan dalam pembuatan sistem informasi nantinya.
5.1.1
Tabel Master Proyek
Tabel master proyek merupakan tabel yang berfungsi untuk menyimpan
data utama sebuah proyek pada PT. X. Data yang disimpan antara lain seperti id
master proyek, nama proyek, lokasi, harga, tanggal deal, tanggal mulai, tanggal
akhir, gambar rancangan, id client, id pegawai, luas, id mandor, angsuran, dan status
proyek. Tabel master proyek dapat dilihat pada Gambar 5.1.
BAB V IMPLEMENTASI SISTEM
5-2
Gambar 5.1 Gambar Tabel Master Proyek
5.1.2
Tabel Master Plan
Tabel master plan berisi nama-nama pekerjaan apa saja yang bisa dilakukan
oleh perusahaan. Nantinya setiap pekerjaan akan berisi bahan bangunan apa saja
yang diperlukan untuk menyelesaikan pekerjaan tersebut. Data yang tersimpan
pada tabel master plan antara lain seperti id master plan, nama pekerjaan, dan id
jenis. Tabel master plan dapat dilihat pada Gambar 5.2.
Gambar 5.2 Gambar Tabel Pegawai
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5.1.3
5-3
Tabel Jenis Master Plan
Tabel jenis master plan berfungsi untuk mengelompokkan pekerjaan-
pekerjaan kedalam jenis-jenis pekerjaan. Data yang tersimpan pada tabel jenis
master plan adalah id jenis master plan dan nama jenis. Tabel jenis master plan
dapat dilihat pada Gambar 5.3.
Gambar 5.3 Gambar Tabel Jenis Master Plan
5.1.4
Tabel jadwal
Tabel jadwal berguna untuk menyimpan data pekerjaan dan jadwal
pekerjaan yang akan dilakukan di setiap proyek. Data yang tersimpan pada tabel
jadwal antara lain seperti id jadwal, tanggal awal, tanggal akhir, harga, persentase,
keterangan, id master proyek, id master plan, dan status jadwal. Gambar tabel
jadwal dapat dilihat pada Gambar 5.4.
Gambar 5.4 Gambar Jadwal
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5.1.5
5-4
Tabel Buruh
Tabel buruh digunakan sebagai tempat untuk menampung data para buruh
yang berkerja di setiap proyek. Data yang terdapat pada tabel buruh antara lain
seperti id buruh, nama buruh, honor, jabatan, dan id proyek. Tabel buruh dapat
dilihat pada Gambar 5.5
Gambar 5.5 Gambar Tabel Buruh
5.1.6
Tabel Beli Barang
Tabel beli barang digunakan untuk menyimpan data bahan bangunan yang
sudah dibeli oleh perusahaan yang dipergunakan untuk kebutuhan pada sebuah
proyek. Data tersebut seperti id barang, id beli, jumlah, satuan, dan harga. Tabel
hutang beli barang dapat dilihat pada Gambar 5.6.
Gambar 5.6 Gambar Tabel Beli Barang
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5.1.7
5-5
Tabel Barang Jadwal
Tabel barang jadwal berisi data bahan baku yang akan digunakan untuk
menyelesaikan suatu pekerjaan pada setiap jadwal. Seperti dijelaskan pada sub bab
sebelumnya bahwa setiap jadwal berisi nama-nama pekerjaan dan setiap pekerjaan
berisi nama-nama bahan baku yang akan digunakan.
Data yang tersimpan pada tabel barang jadwal antara lain seperti id barang
jadwal, id barang, id jadwal, id master proyek, jumlah, dan total harga. Tabel barang
jadwal dapat dilihat pada Gambar 5.7.
Gambar 5.7 Gambar Tabel Barang Jadwal
5.1.8
Tabel Barang
Tabel barang digunakan untuk menyimpan data seluruh bahan bangunan
yang terdapat di perusahaan PT X. Data tersebut antara lain id barang, nama barang,
satuan, dan harga barang. Tabel barang dapat dilihat pada Gambar 5.8.
Gambar 5.8 Gambar Tabel Barang
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5.1.9
5-6
Tabel Pelanggan
Tabel pelanggan digunakan untuk menyimpan data pelanggan pada
perusahaan PT X. Setiap pelanggan yang berkerja sama dengan perusahaan bisa
mempunyai lebih dari satu proyek pembangunan rumah. Data pelanggan yang
tersimpan adalah id client, nama pelanggan, alamat, dan telp. Tabel pelanggan dapat
dilihat pada Gambar 5.9.
Gambar 5.9 Gambar Tabel Pelanggan
5.1.10 Gaji Pegawai
Tabel gaji pegawai digunakan untuk menyimpan data gaji dari setiap
pegawai yang berkerja pada perusahaan PT X. Pegawai yang tersimpan pada tabel
ini adalah pegawai yang berkerja di kantor perusahaan. Data yang tersimpan pada
tabel gaji pegawai adalah id gaji, nominal, tanggal, id pegawai penerima, id pegawai
pembayar. Tabel gaji pegawai dapat dilihat pada Gambar 5.10.
Gambar 5.10 Gambar Tabel Gaji Pegawai
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5-7
5.1.11 Pegawai
Tabel pegawai digunakan untuk menyimpan data setiap pegawai yang
berkerja pada perusahaan PT X. Data yang tersimpan pada tabel pegawai adalah id
pegawai, nama pegawai, jabatan, dan nominal gaji pegawai. Tabel pegawai dapat
dilihat pada Gambar 5.11.
Gambar 5.11 Gambar Tabel Pegawai
5.1.12 Pembayaran
Tabel pembayaran berfungsi sebagai tempat untuk menyimpan data
pembayaran dari seorang pelanggan kepada perusahaan yang berhubungan dengan
sesuatu proyek. Data yang tersimpan pada tabel ini adalah id pembayaran, tanggal
tempo, tanggal pembayaran, nominal, keterangan, cara bayar, foto bukti,
pembayaran ke, id master proyek, id pegawai, dan status pembayaran. Tabel
pembayaran dapat dilihat pada Gambar 5.12.
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5-8
Gambar 5.12 Gambar Tabel Pembayaran
5.1.13 Tabel Pengeluaran Jasa
Tabel pengeluaran jasa digunakan untuk menyimpan data keuangan
perusahaan yang berhubungan dengan pengeluaran jasa. Data tersebut adalah id
pengeluaran jasa, nama jasa, tanggal, nominal, keterangan, id master proyek, dan
id pegawai. Tabel pengeluaran jasa dapat dilihat pada Gambar 5.13.
Gambar 5.13 Gambar Tabel Pengeluaran Jasa
5.1.14 Tabel Realisasi
Tabel realisasi digunakan untuk menyimpan data pekerjaan yang sudah
dikerjakan secara sepenuhnya ataupun sebagian. Data yang disimpan pada tabel ini
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5-9
seperti id realisasi, tanggal realisasi, tanggal akhir, persentase realisasi, dan id
jadwal. Tabel realisasi dapat dilihat pada Gambar 5.14.
Gambar 5.14 Gambar Tabel Realisasi
5.1.15 Tabel Supplier
Tabel supplier berfungsi untuk menyimpan data supplier yang mengirim
bahan bahan bangunan kepada perusahaan di mana bahan bangunan tersebut
digunakan pada suatu proyek tertentu. Data pada tabel supplier adalah id supplier,
nama supplier, dan alamat supplier. Tabel supplier dapat dilihat pada Gambar 5.15.
Gambar 5.15 Gambar Tabel Supplier
5.1.16 Tabel Pengguna
Tabel pengguna digunakan sebagai wadah untuk menyimpan data pengguna
yang dapat masuk atau login kedalam sistem. Data tersebut antara lain seperti id
pengguna, nama pengguna, password, id pegawai Tabel Pengguna dapat dilihat
pada Gambar 5.16.
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 10
Gambar 5.16 Gambar Tabel Pengguna
5.2
Implemetasi Proses
Pada subbab ini akan dibahas tentang implementasi dari proses yang sudah
didesain pada bab sebelumnya. Pada subbab ini juga akan disertai dengan potongan
baris program yang digunakan untuk menjalankan proses yang sudah didesain.
Potongan proses program yang akan dibahas adalah pembuatan rancangan anggaran
biaya (RAB), pembayaran pelanggan, jadwal pembangunan, pembelian bahan
bangunan, pembayaran jasa, progres pembangunan.
5.2.1
Pembuatan Rancangan Anggaran Biaya (RAB)
Pembuatan rancangan anggaran biaya dibuat ketika ada seorang pengguna
yang akan menggunakan jasa perusahaan PT X untuk menyelesaikan proyek
pembangunan rumah pengguna tersebut. Proses pembuatan RAB dibagi menjadi
beberapa proses bagian antara lain seperti proses penambahan data utama proyek,
penyusunan pekerjaan proyek, menentukan bahan bangunan dari setiap pekerjaan,
menentukan buruh dan gajinya, dan menentukan jumlah angsuran. Potongan baris
program dari proses ini dapat dilihat pada Listing 5.1 sampai Listing 5.5.
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 11
Listing 5.1. Potongan Baris Program Proses Penambahan Proyek Baru
<?php
session_start();
$mycon = new mysqli("localhost", "root", "", "mydb");
if (isset($_POST["submit"]))
{
$target_dir = "foto_lokasi/";
$target_file =
$target_dir.basename($_FILES['fot_lokasi']['name']);
$imagetypefile = pathinfo($target_file,PATHINFO_EXTENSION);
$uploadOk = 1;
// Check if file already exists
if (file_exists($target_file)) {
echo "Maaf, Foto Belum Di Upload";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fot_lokasi"]["size"] > 500000) {
echo "Maaf, Ukuran Foto Terlalu Besar";
$uploadOk = 0;
}
// Allow certain file formats
if($imagetypefile != "jpg" && $imagetypefile != "png" &&
$imagetypefile != "jpeg"
) {
echo "Sorry, hanya foto dengan format JPG, JPEG, & PNG yang bisa
di upload.";
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 12
Listing 5.1. Potongan Baris Program Proses Penambahan Proyek Baru
(lanjutan)
$uploadOk = 0;
}
$check = getimagesize($_FILES["fot_lokasi"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
$nama = $_POST['nama'];
$lokasi = $_POST['lokasi'];
$deal = $_POST['deal'];
$bangun = $_POST['bangun'];
$luas = $_POST['luas'];
$harga = $_POST['harga'];
$namamandor = $_POST['namamandor'];
$target = $_POST['target'];
$angsuran = $_POST['angsuran'];
echo $target_file;
$harganow = str_replace(".", "", $harga);
$namaclient = $_SESSION['namaclient'];
$iduser = $_SESSION['iduser'];
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 13
Listing 5.1. Potongan Baris Program Proses Penambahan Proyek Baru
(lanjutan)
$rslt_idproyek = $mycon->query("SELECT * FROM `masterproyek` ORDER
BY idmasterproyek DESC LIMIT 1");
$row_idproyek = $rslt_idproyek->fetch_array();
$idproyek = $row_idproyek['idmasterproyek'] + 1;
$_SESSION['namaproyek'] = $nama;
$_SESSION['lokasiproyek'] = $lokasi;
$_SESSION['tgldeal'] = $deal;
$_SESSION['luasbangun'] = $luas;
//$_SESSION['hargaproyek'] = $harga;
$_SESSION['namamandor'] = $namamandor;
if ($uploadOk == 0) {
echo "Sorry, Upload Failed.";
// if everything is ok, try to upload file
}
else {
if (move_uploaded_file($_FILES["fot_lokasi"]["tmp_name"],
$target_file)) {
echo "The file ". basename( $_FILES["fot_lokasi"]["name"]). " has
been uploaded.";
$addproyek = "INSERT INTO `mydb`.`masterproyek` (`idmasterproyek`,
`namaproyek`, `lokasi`, `harga`, `tgldeal`, `tglmulai`,
`tglakhir`, `gambar_lok`, `gambar_ran`,`client_idclient`,
`pegawai_idpegawai`, `luas`, `idpegawai_mandor`, `angsuran`,
`status`) VALUES ('".$idproyek."', '".$nama."', '".$lokasi."',
'".$harganow."', '".$deal."', '".$bangun."', '".$target."',
'".$target_file."', '', '1', '".$iduser."', '".$luas."',
'".$namamandor."', '".$angsuran."', '0')";
$rslt_addproyek = $mycon->query($addproyek);
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 14
Listing 5.1. Potongan Baris Program Proses Penambahan Proyek Baru
(lanjutan)
if ($rslt_addproyek) {
# code...
echo $harganow;
$pilihproyek = $mycon->query("select * from masterproyek where
idmasterproyek = '".$idproyek."'");
$row_pilihproyek = $pilihproyek->fetch_array();
$dp = $row_pilihproyek['harga'] * '0.2';
$retensi = $row_pilihproyek['harga'] * '0.05';
$sisa = $row_pilihproyek['harga'] - $dp - $retensi;
$addbayar = "INSERT INTO `pembayaran` (`idpembayaran`,
`tanggaltempo`, `tanggal`, `nominal`, `keterangan`, `cara_bayar`,
`foto_bukti`, `pembayaran_ke`, `masterproyek_idmasterproyek`,
`pegawai_idpegawai`, `status`) VALUES (NULL, '".$deal."', NULL,
'".$dp."', 'DP', '', '', '1', '".$idproyek."', '1', 'Belum
Lunas')";
$rslt_addbayar = $mycon->query($addbayar);
if ($rslt_addbayar) {
# code...
echo "Bayar DP Berhasil";
$start_date = new DateTime($bangun);
$end_date = new DateTime($target);
$interval = $start_date->diff($end_date);
setcookie("proyek[id]",$idproyek);
header("Location: ta_masterjadwal.php");
}
else {echo "BAYAR DP GAGAL";}
}
}
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 15
Listing 5.1. Potongan Baris Program Proses Penambahan Proyek Baru
(lanjutan)
else {
echo "Sorry, there was an error uploading your file.";
}
}
}
?>
Listing 5.2. Potongan Baris Program Proses Penyusunan Pekerjaan Proyek
$mycon = new mysqli("localhost", "root", "", "mydb");
if (isset($_POST["simpanplanning"])) {
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$cekstatus = $mycon->query("SELECT * FROM masterproyek
where idmasterproyek = '".$idnyaproyek."'");
$row_statusproyek = $cekstatus->fetch_array();
if ($row_statusproyek['status'] == 1) {
# code...
$_SESSION['pesan'] = 'Anda tidak bisa menentukan planning baru.
RAB sudah dikunci';
header("Location: ta_bahanbaku.php");
}
else{
$idnya = $_POST['idnya'];
$plan = $_POST['plan'];
$jumlahplan = count($plan);
if ($jumlahplan == 0) {
# code...
header("Location: ta_bahanbaku.php");
}
else{
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 16
Listing 5.2. Potongan Baris Program Proses Penyusunan Pekerjaan Proyek
(lanjutan)
for ($i=0; $i < $jumlahplan ; $i++) {
# code...
$rslt_idjadwal = $mycon->query("SELECT * FROM
idjadwal DESC LIMIT 1");
`jadwal` ORDER BY
$row_idjadwal = $rslt_idjadwal->fetch_array();
$idjadwal = $row_idjadwal['idjadwal'] + 1;
$query_plan = "INSERT INTO `jadwal` (`idjadwal`, `tglawal`,
`tglakhir`, `prosentase`, `keterangan`,
`masterproyek_idmasterproyek`, `masterplan_idmasterplan`,
`status`) VALUES ('".$idjadwal."', NULL, NULL, '0', '',
'".$idnya."', '".$plan[$i]."', '0')";
$rslt_query_plan = $mycon->query($query_plan);
if ($rslt_query_plan) {
# code...
$_SESSION['pesan'] = 'Pembuatan Jadwal Berhasil';
header("Location: ta_bahanbaku.php");
}
}
}
}
}
Listing 5.3. Potongan Baris Program Proses Menentukan Bahan Bangunan
if (isset($_POST["simpanbahan"])) {
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$idjadwal = $_POST['idjadwal'];
$pilihbarang = $_POST['pilihbarang'];
$jumlahbarang = count($pilihbarang);
for ($i=0; $i < $jumlahbarang; $i++) {
# code...
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 17
Listing 5.3. Potongan Baris Program Proses Menentukan Bahan Bangunan
(lanjutan)
$addbarang = $mycon->query("INSERT INTO `barang_jadwal2`
(`idbarang_jadwal`, `barang_idbarang`,
`masterproyek_idmasterproyek`, `jadwal_idjadwal`, `jumlah`,
`totalharga`) VALUES ('', '".$pilihbarang[$i]."',
'".$idnyaproyek."', '".$idjadwal."', '', '')");
if ($addbarang) {
# code...
$_SESSION['pesan'] = 'Pemilihan Bahan Bangunan Berhasil';
header("Location: ta_bahanbaku.php");
}
else {
# code...
$_SESSION['pesan'] = 'Pemilihan Bahan Bangunan Gagal';
header("Location: ta_bahanbaku.php");
}
}
}
Listing 5.4. Potongan Baris Program Proses Menentukan Jumlah dan Gaji
Buruh
if (isset($_POST["simpanburuh"])) {
# code...
$mycon = new mysqli("localhost", "root", "", "mydb");
$idnyaproyek = $_COOKIE["proyek"]["id"];
$nama = $_POST['nama'];
$jabatan = $_POST['jabatan'];
$gaji = $_POST['gaji'];
$gajinow = str_replace(".", "", $gaji);
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 18
Listing 5.4. Potongan Baris Program Proses Menentukan Jumlah dan Gaji
Buruh (lanjutan)
$tambahburuh = $mycon->query("INSERT INTO `buruh` (`idburuh`,
`nama_buruh`, `honor`, `jabatan`, `idproyek`) VALUES (NULL,
'$nama', '$gajinow', '$jabatan', '$idnyaproyek')");
if ($tambahburuh) {
# code...
$hargakeg = $mycon->query("SELECT sum(harga) as jumlah from jadwal
WHERE masterproyek_idmasterproyek = '".$idnyaproyek."'");
$row_hargakeg = $hargakeg->fetch_array();
$totalhargakeg = $row_hargakeg['jumlah'];
$proyek = "Select * from masterproyek where idmasterproyek =
'".$idnyaproyek."'";
$rslt_proyek = $mycon->query($proyek);
$row_proyek = $rslt_proyek->fetch_array();
$start_date = new DateTime($row_proyek['tglmulai']);
$end_date = new DateTime($row_proyek['tglakhir']);
$interval = $start_date->diff($end_date);
$selisihhari = $interval->days;
$hargaburuh = $mycon->query("SELECT sum(honor) as jumlah from
buruh WHERE idproyek = '".$idnyaproyek."'");
$row_hargaburuh = $hargaburuh->fetch_array();
$totalhargaburuh = $row_hargaburuh['jumlah'] * $selisihhari;
$totalpengeluaran = $totalhargakeg + $totalhargaburuh;
$ubahhargaproyek = $mycon->query("UPDATE
`masterproyek` SET `harga` = '".$totalpengeluaran."' WHERE
`masterproyek`.`idmasterproyek` = '".$idnyaproyek."'");
header("Location: ta_pilihburuh.php");
}
}
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 19
Listing 5.5. Potongan Baris Program Proses Menentukan Jumlah Angsuran
if (isset($_POST["rab"])) {
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$jmlhangsuran = $_POST['angsuran'];
echo $jmlhangsuran." angsuran <br>";
$ambilharga = $mycon->query("select * from masterproyek WHERE
idmasterproyek = '".$idnyaproyek."'");
$row_ambilharga = $ambilharga->fetch_array();
$hargaproyek = $row_ambilharga['harga'];
$tglakhir = $row_ambilharga['tglakhir'];
$target = $row_ambilharga['tglakhir'];
$start_date = new DateTime($row_ambilharga['tglmulai']);
$end_date = new DateTime($row_ambilharga['tglakhir']);
$interval = $start_date->diff($end_date);
$selisihhari = $interval->days;
$dp = $hargaproyek * '0.2';
$retensi = $hargaproyek * '0.05';
$sisa = $hargaproyek - $dp - $retensi;
$perangsuran = $sisa / $jmlhangsuran;
for ($i=1; $i <= $jmlhangsuran; $i++) {
# code...
//Bayar Angsuran
$addangsuran = "INSERT INTO `pembayaran` (`idpembayaran`,
`tanggaltempo`, `tanggal`, `nominal`, `keterangan`, `cara_bayar`,
`foto_bukti`, `pembayaran_ke`, `masterproyek_idmasterproyek`,
`pegawai_idpegawai`, `status`) VALUES (NULL, '', NULL,
'".$perangsuran."', 'Angsuran Ke ".$i."', '', '', '".$i."',
'".$idnyaproyek."', '1', 'Belum Lunas')";
$rslt_addangsuran = $mycon->query($addangsuran);
if ($rslt_addangsuran) {
# code...
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 20
Listing 5.5. Potongan Baris Program Proses Menentukan Jumlah Angsuran
(lanjutan)
echo "Bayar Angsuran Berhasil";
}
}
$keretensi = $jmlhangsuran +1;
$tanggalretensi = date('Y-m-d', strtotime('+60 days',
strtotime($target)));
//Bayar Retensi
$addretensi = "INSERT INTO `pembayaran` (`idpembayaran`,
`tanggaltempo`, `tanggal`, `nominal`, `keterangan`, `cara_bayar`,
`foto_bukti`, `pembayaran_ke`, `masterproyek_idmasterproyek`,
`pegawai_idpegawai`, `status`) VALUES (NULL,
'".$tanggalretensi."', NULL, '".$retensi."', 'Retensi', '', '',
'".$keretensi."', '".$idnyaproyek."', '1', 'Belum Lunas')";
$rslt_addretensi = $mycon->query($addretensi);
$ubahstatus = $mycon->query("UPDATE `masterproyek` SET `status` =
'1' WHERE `masterproyek`.`idmasterproyek` = '".$idnyaproyek."'");
if ($ubahstatus) {
# code...
$_SESSION['pesan'] = 'Kunci RAB Berhasil';
header("Location: ta_dataproyek.php");
}
}
else{
$idnyaproyek = $_COOKIE["proyek"]["id"];
$ambilharga = $mycon->query("select * from masterproyek WHERE
idmasterproyek = '".$idnyaproyek."'");
$row_ambilharga = $ambilharga->fetch_array();
$hargaproyek = $row_ambilharga['harga'];
$jmlhangsuran = $row_ambilharga['angsuran'];
$start_date = new DateTime($row_ambilharga['tglmulai']);
$end_date = new DateTime($row_ambilharga['tglakhir']);
$interval = $start_date->diff($end_date);
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 21
Listing 5.5. Potongan Baris Program Proses Menentukan Jumlah Angsuran
(lanjutan)
$selisihhari = $interval->days;
$dp = $hargaproyek * '0.2';
$retensi = $hargaproyek * '0.05';
$sisa = $hargaproyek - $dp - $retensi;
$perangsuran = $sisa / $jmlhangsuran;
$ubah1 = $mycon->query("UPDATE `pembayaran` SET `nominal` =
'".$dp."' WHERE `pembayaran`.`masterproyek_idmasterproyek` =
'".$idnyaproyek."' and `pembayaran`.`keterangan` = 'DP'");
for ($i=1; $i <= $jmlhangsuran ; $i++) {
# code...
$ubah2 = $mycon->query("UPDATE `pembayaran` SET `nominal` =
'".$perangsuran."' WHERE
`pembayaran`.`masterproyek_idmasterproyek` = '".$idnyaproyek."'
and `pembayaran`.`keterangan` = 'Angsuran Ke ".$i."'");
}
$ubah3 = $mycon->query("UPDATE `pembayaran` SET `nominal` =
'".$retensi."' WHERE `pembayaran`.`masterproyek_idmasterproyek` =
'".$idnyaproyek."' and `pembayaran`.`keterangan` = 'Retensi'");
echo $hargaproyek."<br>";;
echo $dp."<br>";
echo $sisa."<br>";
echo $retensi."<br>";
header("Location: ta_bayarclient.php");
}
5.2.2
Pembuatan Rancangan Pembayaran Pelanggan
Proses pembayaran dari pelanggan dilakukan ketika proyek atau pekerjaan
pembangunan rumah akan dilakukan. Nominal yang harus dibayar kepada PT. X
telah disepakati sejak awal dengan pelanggan. Proses pembayaran bisa dilakukan
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 22
dengan beberapa kali transaksi. Potongan baris program dari proses ini dapat dilihat
pada Listing 5.6.
Listing 5.6. Potongan Baris Program Proses Pembayaran Pelanggan
if (isset($_POST['simpanbayar'])) {
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$cekstatus = $mycon->query("SELECT * FROM masterproyek where
idmasterproyek = '".$idnyaproyek."'");
$row_statusproyek = $cekstatus->fetch_array();
if ($row_statusproyek['status'] == 1) {
$idbayar = $_POST['idbayar'];
$nominal = $_POST['nominal'];
$carabayar = $_POST['carabayar'];
$ket = $_POST['ket'];
$idp = $_POST['idp'];
$harganow = str_replace(".", "", $nominal);
$target_dir = "foto_bukti_bayar/";
$target_file = $target_dir.basename($_FILES['fot_bukti']['name']);
$imagetypefile = pathinfo($target_file,PATHINFO_EXTENSION);
$uploadOk = 1;
// Check if file already exists
if (file_exists($target_file)) {
echo "Maaf, Foto Belum Di Upload";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fot_bukti"]["size"] > 500000) {
echo "Maaf, Ukuran Foto Terlalu Besar";
$uploadOk = 0;
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 23
Listing 5.6. Potongan Baris Program Proses Pembayaran Pelanggan
(lanjutan)
}
// Allow certain file formats
if($imagetypefile != "jpg" && $imagetypefile != "png" &&
$imagetypefile != "jpeg"
) {
echo "Sorry, hanya foto dengan format JPG, JPEG, & PNG yang bisa
di upload.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
$check = getimagesize($_FILES["fot_bukti"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, Upload Failed.";
// if everything is ok, try to upload file
}
else {
if (move_uploaded_file($_FILES["fot_bukti"]["tmp_name"],
$target_file)) {
echo "The file ". basename( $_FILES["fot_bukti"]["name"]). " has
been uploaded.";
$rslt_idproyek = $mycon->query("SELECT * FROM `pembayaran`WHERE
masterproyek_idmasterproyek = '".$idp."' ORDER BY idpembayaran
DESC LIMIT 1");
$row_idproyek = $rslt_idproyek->fetch_array();
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 24
Listing 5.6. Potongan Baris Program Proses Pembayaran Pelanggan
(lanjutan)
$ke = $row_idproyek['pembayaran_ke'] + 1;
$addproyek = "UPDATE `pembayaran` SET `tanggal` = '".date('Y-md')."', `status` = 'Lunas', cara_bayar = '".$carabayar."' WHERE
`pembayaran`.`idpembayaran` = '".$idbayar."'";
$rslt_addproyek = $mycon->query($addproyek);
if ($rslt_addproyek) {
# code...
//header("Location :pdfnota.php");
header("Location: ta_bayarclient.php");
}
}
else {
echo "Sorry, there was an error uploading your file.";
}
}
}
else{
$_SESSION['pesan'] = 'RAB Belum Dikunci';
header("Location: ta_bayarclient.php");
}
}
5.2.3
Pembuatan Rancangan Jadwal Pembangunan
Pada potongan program dibawah ini digunakan untuk memyusun jadwal
pembangunan yang akan dikerjakan pada suatu proyek tertentu. Jadwal
pembangunan disusun setiap akhir minggu setelah melalui berbagai proses
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 25
pemilihan urutan pekerjaan. Potongan baris program dari proses ini dapat dilihat
pada Listing 5.7.
Listing 5.7. Potongan Baris Program Proses Penyusunan Jadwal
if (isset($_POST["simpanjadwal"])) {
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$cekbyr = $mycon->query("SELECT * FROM `pembayaran` WHERE
masterproyek_idmasterproyek = '".$idnyaproyek."' and keterangan =
'DP' and status = 'Lunas'");
$row_cekbyr = $cekbyr->fetch_array();
if ($row_cekbyr['status'] >= 'Lunas') {
$jad = $_POST['jad'];//idjadwal
$tglawal = $_POST['tglawal'];
$tglakhir = date('Y-m-d', strtotime('+5 days',
strtotime($tglawal)));
//$tglakhir = $_POST['tglakhir'];
$jumlahjad = count($jad);
for ($i=0; $i < $jumlahjad ; $i++) {
# code...
$rslt_idproyek = $mycon->query("UPDATE `jadwal` SET `tglawal` =
'".$tglawal."', `tglakhir` = '".$tglakhir."' , `status` = '1'
WHERE `jadwal`.`idjadwal` = '".$jad[$i]."'");
if ($rslt_idproyek) {
# code...
$_SESSION['pesan'] = 'Pembuatan Jadwal Mingguan Berhasil';
echo '<script>window.location="ta_jadwal.php"</script>';
}
else {
# code...
$_SESSION['pesan'] = 'Pembuatan Jadwal Mingguan Gagal, Pastikan
Semua Terisi';
echo '<script>window.location="ta_jadwal.php"</script>';
}
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 26
Listing 5.7. Potongan Baris Program Proses Penyusunan Jadwal (lanjutan)
}
}
else{
$_SESSION['pesan'] = 'Mohon Lakukan Pembayaran Sebagai DP Awal';
echo
'<script>window.location="ta_jadwal.php"</script>';
}
}
5.2.4
Pembuatan Rancangan Pembelian Bahan Bangunan
Potongan program dibawah ini digunakan untuk proses pembelian bahan
bangunan kepada supplier yang sudah bekerja sama dengan perusahan PT. X.
Bahan baku yang dibeli akan digunakan untuk kebutuhan satu proyek. Jumlah
Listing 5.8. Potongan Baris Program Proses Pembelian Bahan Baku
<?php
if (isset($_POST['submit2'])) {
$mycon = new mysqli("localhost", "root", "", "mydb");
# code...
$idnyaproyek = $_COOKIE["proyek"]["id"];
$nama = $_POST['nama'];
$jumlah = $_POST['jumlah'];
$harga = $_POST['harga'];
$supplier = $_POST['supplier'];
$satuan = $_POST['satuan'];
$tangglnow = date("Y-m-d");
$iduser = $_SESSION['iduser'];
$harganow = str_replace(".", "", $harga);
Listing 5.8. Potongan Baris Program Proses Pembelian Bahan Baku (lanjutan)
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 27
$rslt_idbeli = $mycon->query("SELECT * FROM `beli` ORDER BY idbeli
DESC LIMIT 1");
$row_idbeli = $rslt_idbeli->fetch_array();
$idbeli = $row_idbeli['idbeli'] + 1;
$tambahbeli = $mycon->query("INSERT INTO `beli` (`idbeli`,
`tanggal`, `masterproyek_idmasterproyek`, `suplier_idsuplier`,
`pegawai_idpegawai`) VALUES ('".$idbeli."', '".$tangglnow."',
'".$idnyaproyek."', '".$supplier."', '".$iduser."')");
if ($tambahbeli) {
# code...
$tambahbarangbeli = $mycon->query("INSERT INTO `barang_beli`
(`barang_idbarang`, `beli_idbeli`, `jumlah_beli`, `satuan`,
`harga_beli`) VALUES ('".$nama."', '".$idbeli."', '".$jumlah."',
'".$satuan."', '".$harganow."')");
if ($tambahbarangbeli) {
# code...
$updatebarang = $mycon->query("UPDATE `barang` SET
`harga_terakhir` = '".$harganow."' WHERE `barang`.`idbarang` =
'".$nama."'");
if ($updatebarang) {
# code...
//$barangproyek = $mycon->query("");
header("Location: ta_belibarang.php");
}
}
}
}
?>
5.2.5
Pembuatan Rancangan Pembayaran Jasa
Potongan program dibawah ini digunakan untuk proses pembayaran jasa
pada proyek pembangunan PT. X. Pembayaran jasa dilakukan ketika ada suatu
pekerjaan yang tidak bisa dilakukan oleh pegawai perusahaan atau buruh yang
bekerja di suatu proyek. Sehingga pekerjaan tersebuh harus dilakukan oleh orang
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 28
tertentu dengan keahlian tertentu. Potongan baris pada program ini dapat dilihat
pada Listing 5.9.
Listing 5.9. Potongan Baris Program Proses Pembayaran Jasa
if (isset($_POST['submit2'])) {
$mycon = new mysqli("localhost", "root", "", "mydb");
# code...
$idpro = $_POST['idpro'];
$nama = $_POST['namajasa'];
$nominal = $_POST['nominal'];
$ket = $_POST['keterangan'];
$date = date('Y-m-d');
$iduser = $_SESSION['iduser'];
$harganow = str_replace(".", "", $nominal);
$idclient = "SELECT * FROM `masterproyek` where idmasterproyek =
'".$idpro."'";
$rslt_idclient = $mycon->query($idclient);
$row_idclient = $rslt_idclient->fetch_array();
$tambah = "INSERT INTO `mydb`.`pengeluaranjasa`
(`idpengeluaranjasa`, `nama_jasa`, `tanggal`, `nomial`,
`keterangan`, `masterproyek_idmasterproyek`, `pegawai_idpegawai`)
VALUES (NULL, '".$nama."', '".$date."', '".$harganow."',
'".$ket."', '".$idpro."', '".$iduser."')";
$rslt_tambah = $mycon->query($tambah);
if ($rslt_tambah) {
# code...
echo "Sukses";
header("Location: ta_bayarjasa.php");
}
}
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5.2.5
5 - 29
Pembuatan Rancangan Progres Pembangunan
Potongan program dibawah ini digunakan untuk proses laporan progres
pembangunan rumah PT. X. Progres yang tampilkan berupa prosesntase
penyelesaikan yang terjadi pada suatu proyek. Dengan laporan progres ini sesorang
dapat mengetahui tahap apa saja yang sudah terselesaikan dan tahap yang belum
terselesaikan. Potongan baris pada program ini dapat dilihat pada Listing 5.10
Listing 5.10. Potongan Baris Program Proses Progres Pembangunan
<div class="tab-pane fade" id="settings">
<h4>Daftar Realisasi</h4>
<div class="panel-body">
<table width="100%" class="table table-striped table-bordered
table-hover" id="dataTables-example">
<thead>
<tr>
<th>No</th>
<th>Kegiatan </th>
<th>Tanggal Awal</th>
<th>Tanggal Akhir</th>
<th>Prosentase</th>
</tr>
</thead>
<?php
$mycon = new mysqli("localhost", "root", "", "mydb");
$realisasi = "Select * from realisasi a, jadwal b, masterplan c
where a.jadwal_idjadwal = b.idjadwal and
b.masterproyek_idmasterproyek =
'".$row_proyek['idmasterproyek']."' and b.masterplan_idmasterplan
= c.idmasterplan";
$rslt_realisasi = $mycon->query($realisasi);
$noo = 1;
while ($row_realisasi = $rslt_realisasi->fetch_array())
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
BAB V IMPLEMENTASI SISTEM
5 - 30
Listing 5.10. Potongan Baris Program Proses Progres Pembangunan
(lanjutan)
{
echo "<tbody>";
echo "<tr class='odd gradeX'>";
echo "<td>".$noo++."</td>";
echo "<td>".$row_realisasi['nama_acara']."</td>";
echo "<td>".date("d F Y",
strtotime($row_realisasi['tanggalawal']))."</td>";
echo "<td>".date("d F Y",
strtotime($row_realisasi['tanggalakhir']))."</td>";
echo "<td>".$row_realisasi['prosentase_realisasi']." %</td>";
echo "</tr>";
echo "</tbody>";
}
?>
</table></div></div>.
Jurusan Teknik Informatika Fakultas Teknik Universitas Surabaya
Download