IMPLEMENTASI SISTEM
IV.2. Tampilan Program dan Penjelasan
IV.2.4. Halaman Bagian Administrasi
Pada halaman ini user diberi hak akses untuk menambah data transaksi
proyek(transaksi biasa, jurnal penyesuaian, kasbon, pertanggungjawaban kasbon)
$qry = "SELECT kode_proyek, nama_proyek, alamat_lokasi, status_dana, nilai_proyek,
tgl_mulai, tgl_deadline, tgl_selesai, nama_mitra, nama_perwalian FROM proyek, mitra
WHERE kode_proyek = '$kode_proyek' AND mitra.kode_mitra = proyek.kode_mitra";
104
serta melihat data transaksi dalam bentuk jurnal umum, buku besar, laporan laba-rugi
dan daftar saldo. Berikut adalah submenu dari halaman administrasi:
a) Tampilan Halaman Utama bagian Administrasi
Halaman ini akan muncul pertama kali setelah user bagian
administrasi sukses melakukan login. Halaman ini dikhususkan untuk
melakukan pencarian data transaksi dan penyesuaian transaksi.
Tampilannya adalah seperti gambar di bawah ini:
Gambar 4.23. Halaman Utama Bagian Administrasi
Untuk melakukan pencarian transaksi caranya juga hampir sama dengan
pencarian data pegawai atau proyek atau juga yang lainnya. Perintahnya
b) Tampilan Halaman Transaksi
Pada halaman transaksi terdapat menu-menu pengolahan data
transaksi yaitu: tambah transaksi, tambah kasbon, kasbon pegawai, jurnal
penyesuaian, rincian transaksi, jurnal umum, laporan. Berikut adalah
tampilan dari halaman transaksi:
Gambar 4.24. Halaman Pengolahan Data Transaksi $qry = "SELECT kode_proyek, no_nota, tgl_transaksi, keterangan,
id_account, nama_account, debet, kredit, nama_transaksi FROM transaksi a, account b
WHERE a.id_account = b.id_account AND (a.nama_transaksi LIKE '%$keyword%'
OR a.id_account LIKE '$keyword'
OR a.tgl_transaksi LIKE '%$keyword%' OR a.keterangan LIKE '%$keyword%'
OR b.nama_account LIKE '$keyword%' OR a.no_nota LIKE '%$keyword%%')
ORDER BY a.kode_transaksi LIMIT $awal, $hal";
106
Menu pertama pada navigasi sebelah kiri adalah tombol tambah transaksi
yang digunakan untuk menambah data transaksi. Tampilannya adalah
seperti gambar di bawah ini:
Gambar 4.25. Form Input Data Transaksi
Jenis transaksi di atas ada tiga belas macam namun query untuk
menginputkan data ke dalam databae relatif sama. Di bawah ini adalah
contoh dari perintah yang digunakan untuk menambah transaksi
untukjenis transaksi pelunasan piutang usaha. Perintahnya adalah:
$qryx = "INSERT INTO Transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota2','$kode_proyek', '100','Pelunasan Piutang Usaha', '$nominal', 0, '$tgl_transaksi', '$keterangan')";
Submenu berikutnya adalah tambah kasbon, tampilannya adalah
sebagai berikut ini:
Gambar 4.26. Form Input Data Kasbon Pegawai
Perintah untuk menambah data kasbon pegawai adalah sebagai berikut:
$qry2x = "INSERT INTO Transaksi(no_nota,kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota2','$kode_proyek', '104', 'Pelunasan Piutang Usaha', 0, '$nominal', '$tgl_transaksi', '$keterangan')";
mysql_query($qry2x);
$qry2y = mysql_query("SELECT saldo_d AS s_d FROM account WHERE id_account = '100'");
$row1 = mysql_fetch_object($qry2y); $s_d = $row1->s_d;
$qry2z = mysql_query("SELECT saldo_k AS s_k FROM account WHERE id_account = '104'");
$row2 = mysql_fetch_object($qry2z); $s_k = $row2->s_k;
$new1 = $s_d + $nominal; $new2 = $s_k + $nominal;
$upd = mysql_query("UPDATE account SET saldo_d = '$new1' WHERE id_account = '100'");
$upd2 = mysql_query("UPDATE account SET saldo_k = '$new2' WHERE id_account = '104'");
108
Untuk transaksi tambah kasbon selain menambah transaksi
akun piutang karyawan di sisi debet dan akun kas di sisi kredit juga
menambah data kasbon pegawai di tabel kasbon. Ini ditunjukkan oleh
variabel $kbBB. Dan juga saldo debet pada akun piutang karyawan juga
diupdate begitu pula saldo kredit pada akun kas.
$no_nota = getIDNota('NOFKBN'); //Pembuatan nota kasbon oleh sistem $qwry = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota', '$kode_proyek', '105','Kasbon Pegawai untuk Biaya Bahan Baku', '$jml_kasbon', 0, '$tgl_transaksi', '$keterangan')";
mysql_query($qwry);
$qwry2 = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota','$kode_proyek', '100','Kasbon Pegawai untuk Biaya Bahan Baku', '0', $jml_kasbon, '$tgl_transaksi', '$keterangan')";
mysql_query($qwry2);
kbBB = "INSERT INTO kasbon(no_nota, nip, kode_proyek, jml_kasbon, tgl_kasbon, status)
VALUES ('$no_nota','$nip2', '$kode_proyek', '$jml_kasbon', '$tgl_transaksi', '0')";
mysql_query($kbBB);
$qry2y = mysql_query("SELECT saldo_d AS s_d FROM account WHERE id_account = '105'");
$row1 = mysql_fetch_object($qry2y); $s_d = $row1->s_d;
$qry2z = mysql_query("SELECT saldo_k AS s_k FROM account WHERE id_account = '100'");
$row2 = mysql_fetch_object($qry2z); $s_k = $row2->s_k;
$new1 = $s_d + $jml_kasbon; $new2 = $s_k + $jml_kasbon;
$upd = mysql_query("UPDATE account SET saldo_d = '$new1' WHERE id_account = '105'");
$upd2 = mysql_query("UPDATE account SET saldo_k = '$new2' WHERE id_account = '100'");
Submenu berikutnya adalah kasbon pegawai. Pada submenu ini
sistem menampilkan siapa saja pegawai yang kasbon, baik kasbon itu
sudah dipertanggung jawabkan atau belum, user dapat memilih tipenya
apakah kasbon yang sudah lunas atau kasbon yang belum lunas. Berikut
adalah tampilannya:
Gambar 4.27. Daftar Kasbon Belum Lunas
Untuk form pertanggungjawaban kasbon tampilannya adalah seperti
110
Gambar 4.28. Form Pertanggungjawaban Kasbon
Pertama user akan mengisikan jumlah nota, misal 2 maka aka muncul
tampilan seperti gambar di bawah ini:
Gambar di atas adalah detail transaksi kasbon untuk biaya bahan baku
terdiri dari dua jenis field yaitu nominal dan keterangan. Untuk input
pertanggungjawaban kasbon perintahnya adalah sebagai berikut:
$total = 0; //variabel utk menampung total nominal tiap nota for($i = 1; $i <= $jml_nota; $i++)
{
$total = $total + $nominal[$i]; }
if($total > $jml_kasbon) {
echo "<script>alert('Jumlah nominal pertanggungjawaban kasbon lebih besar daripada jumlah kasbonnya...!!!')</script>";
} else {
for($i = 1; $i <= $jml_nota; $i++) {
$qwry = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota', '$kode_proyek', '201','Pertanggungjawaban Kasbon Pegawai untuk Biaya Bahan Baku', '$nominal[$i]', 0,
'$tgl_transaksi', '$keterangan[$i]')"; mysql_query($qwry);
$qry2y = mysql_query("SELECT saldo_d AS s_d FROM account WHERE id_account = '201'");
$row1 = mysql_fetch_object($qry2y); $s_d = $row1->s_d;
$qry2z = mysql_query("SELECT saldo_k AS s_k FROM account WHERE id_account = '105'");
$row2 = mysql_fetch_object($qry2z); $s_k = $row2->s_k;
$new1 = $s_d + $total; $new2 = $s_k + $total;
$upd = mysql_query("UPDATE account SET saldo_d = '$new1' WHERE id_account = '201'");
$upd2 = mysql_query("UPDATE account SET saldo_k = '$new2' WHERE id_account = '105'");
if($total < $jml_kasbon) {
$kml = $jml_kasbon - $total;
$qwry3 = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota','$kode_proyek', '100','Pertanggungjawaban Kasbon Pegawai untuk Biaya Bahan Baku', '$kml', 0, '$tgl_transaksi', 'Sisa kembalian')";
112
Pada transaksi pertanggungjawaban kasbon yang pertama-tama
adalah menhitung total nominal semua nota menggunakan perulangan
dan disimpan dalam variabel $total kemudian akan di cek apakah
jumlah nominal seluruh nota lebih besar daripada nominal kasbon? Jika
benar maka akan muncul pesan kesalahan jika tidak maka tiap nota yang
diinputkan tadi akan dimasukkan ke dalam database. Kemudian akan
dicek kembali apakah total nominal nota lebih kecil daripada nominal
$qwry4 = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota','$kode_proyek', '105','Pertanggungjawaban Kasbon Pegawai untuk Biaya Bahan Baku', '0', $kml, '$tgl_transaksi', 'Sisa kembalian')";
mysql_query($qwry4); }
$qry3y = mysql_query("SELECT saldo_d AS sd FROM account WHERE id_account = '100'");
$row2 = mysql_fetch_object($qry3y); $sd = $row2->sd;
$qry3z = mysql_query("SELECT saldo_k AS sk FROM account WHERE id_account = '105'");
$row3 = mysql_fetch_object($qry3z); $sk = $row3->sk;
$new3 = $sd + $kml; $new4 = $sk + $kml;
$upd3 = mysql_query("UPDATE account SET saldo_d = '$new3' WHERE id_account = '100'");
$upd4 = mysql_query("UPDATE account SET saldo_k = '$new4' WHERE id_account = '105'");
//echo "$upd3<br>"; //echo "$upd4<br>";
$upKB = "UPDATE kasbon SET status = '1', tgl_lunas = ‘$tgl_transaksi’ WHERE no_nota = '$no_nota'";
$res = mysql_query($upKB); }
kasbon? Jika benar maka akan dimasukkan transaksi tambahan yaitu sisa
kembalian uang, akun kas didebet dan akun piutang karyawan dikredit
agar seimbang. Kemudian saldo debet dan kredit pada tabel account
juga diupdate untuk semua transaksi di atas.
Untuk melihat kasbon yang sudah lunas user dapat melihat
pada gambar di atas lalu memilih tipe kasbon sudah lunas. Tampilannya
adalah sebagai berikut:
Gambar 4.30. Daftar Kasbon Sudah Lunas
Pada field Kasbon angka nominal tersebut bila diklik akan muncul
rincian transaksi biaya bahan baku dari kasbon tersebut, tampilannya
114
Gambar 4.31. Detail Transaksi Kasbon Biaya Bahan Baku
Perintah untuk menampilkan data rincian biaya bahan baku
dari kasbon tersebut adalah
Submenu selanjutnya adalah jurnal penyesuaian yang
digunakan untuk melakukan koreksi transaksi. Tampilannya seperti
gambar di bawah ini:
$qryB = "SELECT no_nota, tgl_transaksi, debet, kredit, keterangan FROM transaksi
WHERE no_nota = '$no_nota' AND kode_proyek = '$kode_proyek' AND (id_account = '201' OR id_account = '100')
AND nama_transaksi LIKE 'Pertanggungjawaban%'"; $res = mysql_query($qryB);
Gambar 4.32. Form Input Jurnal Penyesuaian
Perintah yang digunakan untuk memasukkan koreksi transaksi atau
inputpenyesuaian adalah sebagai berikut:
$qry = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota', '$kode_proyek', '$kor_debet', 'Koreksi $nama_transaksi', $nominal, 0, '$tgl_transaksi', '$keterangan')";
$res1 = mysql_query($qry);
$qry2 = "INSERT INTO transaksi(no_nota, kode_proyek, id_account, nama_transaksi, debet, kredit, tgl_transaksi, keterangan)
VALUES ('$no_nota','$kode_proyek', '$kor_kredit', 'Koreksi $nama_transaksi', 0, '$nominal', '$tgl_transaksi', '$keterangan')";
$res2 = mysql_query($qry2);
$qryD = mysql_query("SELECT saldo_d FROM account WHERE id = '$kor_debet'");
$row2 = mysql_fetch_object($qryD); $deb = $row2->saldo_d;
$qryK = mysql_query("SELECT saldo_k FROM account WHERE id = '$kor_kredit'");
$row3 = mysql_fetch_object($qryK); $kre = $row3->saldo_k;
116
Cara penambahan data koreksi transaksi penyesuaian sama dengan
penambahan transaksi biasa hanya saja bila tipe transaksinya
berhubungan dengan piutang karyawan seperti yang ditunjukkan oleh
baris perintah:
if(($kor_debet == '105' and $kor_kredit == '100') or ($kor_debet == '100' and $kor_kredit == '105'))
maka data kasbon pegawai juga diubah yaitu pada fieldjml_kasbon. Hal itu ditunjukkan pada vaiabel$ksb.
$nilaiD = $deb + $nominal; $nilaiK = $kre + $nominal;
$kor = mysql_query("UPDATE account SET saldo_d = '$nilaiD' WHERE id = '$kor_debet'");
$kor2 = mysql_query ("UPDATE account SET saldo_k = '$nilaiK' WHERE id = '$kor_kredit'");
if(($kor_debet == '105' and $kor_kredit == '100') or ($kor_debet == '100' and $kor_kredit == '105'))
{
//echo "Koreksi Kasbon<br>";
$kor = "SELECT SUM(debet) - SUM(kredit) AS jml FROM transaksi
WHERE id_account = '105' AND no_nota = '$no_nota' AND kode_proyek = '$kode_proyek'";
$res_kor = mysql_query($kor); $row = mysql_fetch_object($res_kor); $jml_baru = $row->jml;
$ksb = "UPDATE kasbon SET jml_kasbon = '$jml_baru' WHERE no_nota = '$no_nota'";
$res_ksb = mysql_query($ksb); }
Submenu selanjutnya adalah rincian transaksi yaitu rincian data
transaksi tiap proyek atau buku pembantu proyek. Tampilannya adalah
sebagai berikut:
Gambar 4.33. Buku Pembantu Proyek
118
$qry9 = "SELECT nama_account, SUM(debet) - SUM(kredit) AS jml4 FROM transaksi a, account b
WHERE a.kode_proyek = '$kode_proyek' AND a.id_account = '104' AND a.id_account = b.id
GROUP BY kode_proyek"; $qry10 = mysql_query($qry9);
$qry11 = "SELECT nilai_proyek FROM proyek WHERE kode_proyek = '$kode_proyek'";
$qry12 = mysql_query($qry11);
$qry13 = "SELECT SUM(debet) - SUM(kredit) AS Biaya_TK_dibayar FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Pelunasan Hutang Biaya Tenaga Kerja'";
$qry14 = mysql_query($qry13);
$qry15 = "SELECT SUM(debet) - SUM(kredit) AS Biaya_BB_dibayar FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Pelunasan Hutang Biaya Bahan Baku'";
$qry16 = mysql_query($qry15);
$qry17 = "SELECT SUM(debet) - SUM(kredit) AS Biaya_KP_dibayar FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Pelunasan Hutang Biaya Komisi Pegawai'";
$qry18 = mysql_query($qry17);
$qry19 = "SELECT SUM(debet) - SUM(kredit) AS Biaya_LL_dibayar FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Pelunasan Hutang Biaya Lain-lain'";
$qry20 = mysql_query($qry19);
$qry21 = "SELECT SUM(kredit) - SUM(debet) AS Hutang_Biaya_TK FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Biaya Tenaga Kerja Dicatat%'";
$qry22 = mysql_query($qry21);
$qry23 = "SELECT SUM(kredit) - SUM(debet) AS Hutang_Biaya_BB FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Biaya Bahan Baku Dicatat%'";
Submenu selanjutnya adalah jurnal, tampilannya adalah sebagai berikut:
FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Biaya Komisi Pegawai Dicatat%'";
$qry26 = mysql_query($qry25);
$qry27 = "SELECT SUM(kredit) - SUM(debet) AS Hutang_Biaya_LL FROM transaksi
WHERE kode_proyek = '$kode_proyek' AND id_account = '400' AND nama_transaksi LIKE '%Biaya Lain-lain Dicatat%'";
$qry28 = mysql_query($qry27);
$piutang = $nilai_proyek - $pendapatan;
$labaSementara = $pendapatan - ($biaya_TK + $biaya_BB + $biaya_KP + $biaya_LL);
$laba = $nilai_proyek - ($biaya_TK + $biaya_BB + $biaya_KP + $biaya_LL);
$total_biaya = $biaya_TK + $biaya_BB + $biaya_KP + $biaya_LL; if($pendapatan == 0 AND $total_biaya == 0)
{ $bar_income = 0; $bar_cost = 0; $bar_laba = 0; else {
$bar_income = (($nilai_proyek / ($nilai_proyek + $total_biaya)) * 100); $bar_cost = (($total_biaya / ($nilai_proyek + $total_biaya)) * 100); }
if($laba > 0)
$bar_laba = (($laba / ($nilai_proyek + $total_biaya)) * 100); elseif($laba < 0)
$bar_laba = ((($laba * -1) / ($nilai_proyek + $total_biaya)) * 100); else
$bar_laba = 0;
$total_hutang = $Hutang_Biaya_TK + $Hutang_Biaya_BB + $Hutang_Biaya_KP + $Hutang_Biaya_LL;
$total_sisa_hutang = ($Hutang_Biaya_TK - $Biaya_TK_dibayar) + ($Hutang_Biaya_BB $Biaya_BB_dibayar) + ($Hutang_Biaya_KP -$Biaya_KP_dibayar) + ($Hutang_Biaya_LL - $Biaya_LL_dibayar);
120
Gambar 4.34. Jurnal
Perintah yang digunakan untuk menampilkan data di atas adalah:
Submenu selanjutnya adalah laporan, tampilannya adalah
sebagai berikut:
$qry = "SELECT tgl_transaksi, debet, kredit, keterangan, nama_account, id_account FROM Transaksi, Account
WHERE Transaksi.id_account = Account.id AND tgl_transaksi LIKE '$thn-$bln-%' ORDER Bytgl_transaksi, kode_transaksi ASC LIMIT $awal, $hal";
Gambar 4.35. Daftar laporan
Daftar laporan-laporan yang bisa dilihat oleh user bagian
administrasi adalah laporan laba rugi, laporan grafik bulanan dan laporan
daftar saldo. Untuk laporan laba rugi tampilannya adalah sebagai berikut:
122
Perintah yang digunakan untuk menampilkan laporan laba rugi
adalah sebagai berikut:
$qry = "SELECT SUM(kredit) - SUM(debet) AS income FROM transaksi WHERE id_account = '103'
AND tgl_transaksi LIKE '$thn% AND kode_proyek NOT LIKE 'xxx''"; $qry2 = mysql_query($qry);
while($row = mysql_fetch_object($qry2)) {
$totalPendapatan = $row->income; }
$qry3 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaTK FROM transaksi WHERE id_account LIKE '200'
AND tgl_transaksi LIKE '$thn% AND kode_proyek NOT LIKE 'xxx''"; $qry4 = mysql_query($qry3);
while($row1 = mysql_fetch_object($qry4)) {
$totalBiayaTK = $row1->totalBiayaTK; }
$qry5 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaBB FROM transaksi
WHERE id_account LIKE '201'
AND tgl_transaksi LIKE '$thn% AND kode_proyek NOT LIKE 'xxx''"; $qry6 = mysql_query($qry5);
while($row2 = mysql_fetch_object($qry6)) {
$totalBiayaBB = $row2->totalBiayaBB; }
$qry7 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaKP FROM transaksi
WHERE id_account LIKE '202'
AND tgl_transaksi LIKE '$thn% AND kode_proyek NOT LIKE 'xxx''"; $qry8 = mysql_query($qry7);
while($row3 = mysql_fetch_object($qry8)) {
$totalBiayaKP = $row3->totalBiayaKP; }
$qry9 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaLL FROM transaksi
WHERE id_account LIKE '203'
AND tgl_transaksi LIKE '$thn% AND kode_proyek NOT LIKE 'xxx''"; $qry10 = mysql_query($qry9);
while($row4 = mysql_fetch_object($qry10)) {
$totalBiayaLL = $row4->totalBiayaLL; }
Pada laporan laba rugi di atas ada lima buah akun yang ditampilkan
yaitu pendapatan, biaya bahan baku, biaya tenaga kerja, biaya komisi
pegawai, biaya lain-lain. Variabel $totalPendapatan digunakan untuk
menampung total nilai pendapatan dalam setahun, query yang ditunjukkan
dalam variabel $qry digunakan untuk menghitung selisih total field kredit
dan field debet dimana id_accountnya sama dengan 103 karena pendapatan
bertambah di sisi kredit dan bila ada penyesuaian, pendapatan berkurang di
sisi debit. Sedangkan pada biaya(semua kategori biaya), querynya adalah
menghitung selisih field debet dan kredit karena biaya bertambah di sisi
debet dan berkurang di sisi kredit seperti ditunjukkan pada variabel $qry3,
$qry5, $qry7, $qry9. variabel $totalAllBiaya digunakan untuk menampung
jumlah seluruh biaya(semua kategori biaya) dan variabel $laba digunakan
untuk menghitung selisih total pendapatan dan total biaya
Selanjutnya adalah laporan grafik bulanan, yaitu laporan laba rugi
yang ditampilkan per bulan dan disertai dengan grafik. Tampilannya adalah
seperti gambar di bawah ini:
$totalAllBiaya = $totalBiayaTK + $totalBiayaBB + $totalBiayaKP + $totalBiayaLL;
124
Gambar 4.37. Laporan Grafik Bulanan
Perintah untuk menampilkan laporan laba rugi bulanan hampir
sama dengan laporan laba rugi tahunan perbedaannya adalah pada interval
waktunya. Ini ditunjukkan pada potongan query yang dicetak tebal di bawah ini.
Selanjutnya adalah laporan daftar saldo yaitu laporan yang
menampilkan saldo akun terkini. Tampilannya adalah sebagai berikut:
$qry1 = "SELECT SUM(kredit) - SUM(debet) AS pendapatan FROM transaksi
WHERE id_account = '103' ANDtgl_transaksi LIKE '$tahun-$bulan-%'" AND kode_proyek NOT LIKE 'xxx';
$res_q = mysql_query($qry1);
while($row1 = mysql_fetch_object($res_q)) {
$pendapatan = $row1->pendapatan; }
Gambar 4.38. Laporan Daftar Saldo
Perintah yang digunakan untuk menampilkan laporan daftar
saldo di atas adalah sebagai berikut:
$qry = mysql_query("SELECT * FROM account"); while($row = mysql_fetch_object($qry))
{
$sAkun = $row->saldo_d - $row->saldo_k; if($sAkun < 0)
{
$sAkun = $sAkun * -1; }
$saldoAkun = array('saldoAkun' => $sAkun); $wrn = pilWarna($i);
$warna = array('warna' => $wrn);
$arrGabung = array_merge($row, $warna, $saldoAkun); array_push($arrData, $arrGabung);
$i++; }
$qry2 = mysql_query("SELECT SUM(saldo_d) AS deb, SUM(saldo_k) AS kre FROM account");
126
Didalam laporan tersebut ada dua buah tombol yaitu “Lihat
Rekap ” dan “Tutup Buku”. Tombol “Lihat Rekap” digunakan untuk
melihat selisih debet dan kredit tiap akun, setelah tombol ditekan
tampilannya adalah seperti dibawah ini:
Gambar 4.39. Rekapitulasi Daftar Saldo
Perintah yang digunakan untuk menampilkan rekap saldo
tersebut adalah sebagai berikut:
$temp1 = "CREATE TEMPORARY TABLE temp_saldo (
no_akun VARCHAR(4) NOT NULL , nama VARCHAR(30) NOT NULL , debitx BIGINT(20) NOT NULL , kreditx BIGINT(20) NOT NULL, PRIMARY KEY(no_akun)
)";
$res_temp = mysql_query($temp1);
$qry = "SELECT id_account, nama_account, SUM(saldo_d)- SUM(saldo_k) AS sal
FROM account
GROUP BY id_account"; $qry2 = mysql_query($qry);
while($row = mysql_fetch_object($qry2)) {
if($row->sal > 0) {
$ttp = "INSERT INTO temp_saldo(no_akun, nama, debitx, kreditx) VALUES('$row->id_account', '$row->nama_account', '$row->sal', '0')";
$tes = mysql_query($ttp); //echo "$ttp<br>"; } else { $sal = $row->sal * -1;
$ttp3 = "INSERT INTO temp_saldo(no_akun, nama, debitx, kreditx) VALUES('$row->id_account', '$row->nama_account', '0', '$sal')";
$tes3 = mysql_query($ttp3); //echo "$ttp3<br>";
} }
$arrData = array();
$out = "SELECT * FROM temp_saldo"; $out2 = mysql_query($out); $i = 1; while($row2 = mysql_fetch_object($out2)) { $wrn = pilWarna($i); $warna = array('warna' => $wrn);
$arrGabung = array_merge($row2, $warna); array_push($arrData, $arrGabung);
$i++;
//echo ">no_akun, >nama, >debitx, $row2->kreditx";
}
$sum = "SELECT SUM(debitx) AS sal_d, SUM(kreditx) AS sal_k FROM temp_saldo";
$sum1 = mysql_query($sum); $row3 = mysql_fetch_object($sum1); $sal_d = $row3->sal_d;
128
Pada listing di atas pertama-tama kita membuat tabel sementara
dengan nama temp_saldo, querynya ditunjukkan pada variabel $temp1, setelah itu kita menghitung selisih nilai saldo debet dan saldo kredit pada
tabel account dan dikelompokkan berdasarkan id_account, ini ditunjukkan
pada varibel $qry. Kemudian dicek apakah nilai selisihnya adalah positif?
Jika positif maka nilai selisih saldo tersebut disimpan di sisi debet(pada field
debitx) dan sisi kredit di set nol sedangkan jika negatif nilai selisih saldo
tersebut disimpan di sisi kredit(pada field kreditx) dan sisi debet di set nol.
Data pada field id_account dan nama_account pada tabel account juga
dicopydalam tabel temp_saldo. Kemudian setelah semuanya dicopy,semua
data pada tabel temp_saldo akan ditampilkan, ini ditunjukkan pada variabel
$out, dan jumlah saldo debet dan kredit semua akun juga akan ditampilkan,
ini ditunjukkan pada variabel$sum.
Selanjutanya adalah tombol “Tutup Buku”. Tombol ini hanya
akan aktif pada akhir tahun (31 Desember) yang digunakan untuk
menutup buku besar. Perintah yang digunakan dalam proses tutup buku
$tgl = date('d'); $bln = date('m'); $thn = date('Y');
$tgl_transaksi = $thn."-".$bln."-".$tgl;
$qry = "SELECT SUM(kredit) - SUM(debet) AS income FROM transaksi WHERE id_account = '103'
AND tgl_transaksi LIKE '$thn%' AND kode_proyek NOT LIKE 'xxx'"; $qry2 = mysql_query($qry);
while($row = mysql_fetch_object($qry2)) {
$totalPendapatan = $row->income; }
$qry3 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaTK FROM transaksi WHERE id_account LIKE '200'
AND tgl_transaksi LIKE '$thn%' AND kode_proyek NOT LIKE 'xxx'"; $qry4 = mysql_query($qry3);
while($row1 = mysql_fetch_object($qry4)) {
$totalBiayaTK = $row1->totalBiayaTK; }
$qry5 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaBB FROM transaksi WHERE id_account LIKE '201'
AND tgl_transaksi LIKE '$thn%' AND kode_proyek NOT LIKE 'xxx'"; $qry6 = mysql_query($qry5);
while($row2 = mysql_fetch_object($qry6)) {
$totalBiayaBB = $row2->totalBiayaBB; }
$qry7 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaKP FROM transaksi WHERE id_account LIKE '202'
AND tgl_transaksi LIKE '$thn%' AND kode_proyek NOT LIKE 'xxx'"; $qry8 = mysql_query($qry7);
while($row3 = mysql_fetch_object($qry8)) {
$totalBiayaKP = $row3->totalBiayaKP; }
$qry9 = "SELECT SUM(debet) - SUM(kredit) AS totalBiayaLL FROM transaksi
WHERE id_account LIKE '203'
AND tgl_transaksi LIKE '$thn%' AND kode_proyek NOT LIKE 'xxx'"; $qry10 = mysql_query($qry9);
while($row4 = mysql_fetch_object($qry10)) {
$totalBiayaLL = $row4->totalBiayaLL; }
130
$laba = ($totalPendapatan - ($totalBiayaTK + $totalBiayaBB +