- Tblbarang, tabel ini berfungsi untuk menyimpan data â" data barang yang kita sediakan.
- Tblsementara, tabel ini berfungsi untuk menyimpan sementra data â" data transaksi pembelian kita, atau anda juga bisa menggunakan Temporary Table. Disini saya menggunakan tabel bayangan hanya untuk mempermudah saja. :D
- Penjualan, tabel ini berfungsi untuk menyimpan segala aktivitas penjualan pada program ini
- DetailPenjualan, tabel ini berfungsi untuk menyimpan detail penjualan yang telah kita lakukan pada transaksi penjualan.
- Tblbarang
- Tblsementara
Nb : Untuk Tabel sementara jangan gunakan Primary key
- Tpenjualan
- detailpenjualan
Nb : Untuk Tabel detailpenjualan jangan gunakan Primary key
Setelah semua tabel dibuat, sekarang kita mulai pada pengkodingan. Sebelumnya disini saya menggunakan Jquery dan Twitter Bootstrap untuk mendukung aplikasi yang akan kita buat :- Download Jquery http://jquery.com/
- Download Twitter Bootstrap http://twitter.github.com/bootstrap/
- Koneksi.php : untuk koneksi ke database
- barang.php : untuk mengelola form input barang
- transaksi.php : untuk mengelola form transaksi penjualan
- proses.php : untuk memproses form barang
- pk.php : untuk memproses transaksi penjualan
- index.php : untuk menggabungkan semua file kita
- Jquery
- Bootstrap.css
- Style.css
1. koneksi.php
<?php2. barang.php
$srvr=âlocalhostâ; //SESUAIKAN DENGAN WEBSERVER ANDA
$db=âpenjualanâ; //SESUAIKAN DENGAN WEBSERVER ANDA
$usr=ârootâ; //SESUAIKAN DENGAN WEBSERVER ANDA
$pwd=ââ;//SESUAIKAN DENGAN WEBSERVER ANDA
mysql_connect($srvr,$usr,$pwd);
mysql_select_db($db);
?>
<!DOCTYPE html>3. Proses.php
<html>
<head>
<title>Form Barang</title>
<script src=âjs/jquery.jsâ></script>
<script>
//mengidentifikasikan variabel yang kita gunakan
var kode;
var nama;
var beli;
var jual;
var stok;
$(function(){
$(â#kodeâ).load(âproses.phpâ,âop=kodeâ);
$(â#barangâ).load(âproses.phpâ,âop=barangâ);
//jika ada perubahan di kode barang
$(â#kodeâ).change(function(){
kode=$(â#kodeâ).val();
//tampilkan status loading dan animasinya
$(â#statusâ).html(âloading. . .â);
$(â#loadingâ).show();
//lakukan pengiriman data
$.ajax({
url:âproses.phpâ,
data:âop=ambildata&kode=â+kode,
cache:false,
success:function(msg){
data=msg.split(â|â);
//masukan isi data ke masing â" masing field
$(â#namaâ).val(data[0]);
$(â#beliâ).val(data[1]);
$(â#jualâ).val(data[2]);
$(â#stokâ).val(data[3]);
//hilangkan status animasi dan loading
$(â#statusâ).html(ââ);
$(â#loadingâ).hide();
}
});
});
//cek kode barang yang sudah ada
$(â#kode2â³).change(function(){
var kd=$(â#kode2â³).val();
$.ajax({
url:âproses.phpâ,
data:âop=cek&kd=â+kd,
success:function(data){
if(data==0){
$(â#pesanâ).html(âKode Barang Bisa digunakanâ);
$(â#kode2â³).css(âborderâ,â3px #090 solidâ);
}else{
$(â#pesanâ).html(âKode Barang sudah adaâ);
$(â#kode2â³).css(âborderâ,â3px #c33 solidâ);
}
}
});
});
//ketika tombol update di klik
$(â#updateâ).click(function(){
//cek apakah kode barang kosong atau tidak
kode=$(â#kodeâ).val();
if(kode==âKode Barangâ){
alert(âPilih Kode barang duluâ);
exit();
}
nama=$(â#namaâ).val();
beli=$(â#beliâ).val();
jual=$(â#jualâ).val();
stok=$(â#stokâ).val();
//tampilkan status update
$(â#statusâ).html(âsedang diupdate. . .â);
$(â#loadingâ).show();
$.ajax({
url:âproses.phpâ,
data:âop=update&kode=â+kode+â&nama=â+nama+â&beli=â+beli+â&jual=â+jual+â&stok=â+stok,
cache:false,
success:function(msg){
if(msg==âSuksesâ){
$(â#statusâ).html(âUpdate Berhasil. . .â);
}else{
$(â#statusâ).html(âERROR. . .â)
}
$(â#loadingâ).hide();
$(â#namaâ).val(ââ);
$(â#jualâ).val(ââ);
$(â#beliâ).val(ââ);
$(â#stokâ).val(ââ);
$(â#barangâ).load(âproses.phpâ,âop=barangâ);
$(â#kodeâ).load(âproses.phpâ,âop=kodeâ);
}
});
});
//ketika tombol hapus diklik
$(â#hapusâ).click(function(){
kode=$(â#kodeâ).val();
if(kode==âKode Barangâ){
alert(âKode barang belim dipilihâ);
exit();
}
$(â#statusâ).html(âSedang Dihapus. . .â);
$(â#loadingâ).show();
$.ajax({
url:âproses.phpâ,
data:âop=delete&kode=â+kode,
cache:false,
success:function(msg){
if(msg==âsuksesâ){
$(â#statusâ).html(âBerhasil Dihapus. . .â);
}else{
$(â#statusâ).html(âERROR. . .â);
}
$(â#namaâ).val(ââ);
$(â#jualâ).val(ââ);
$(â#beliâ).val(ââ);
$(â#stokâ).val(ââ);
$(â#barangâ).load(âproses.phpâ,âop=barangâ);
$(â#kodeâ).load(âproses.phpâ,âop=kodeâ);
}
});
});
//ketika tombol simpan diklik
$(â#simpanâ).click(function(){
kode=$(â#kode2â³).val();
if(kode==ââ){
alert(âKode Barang Harus diisiâ);
exit();
}
nama=$(â#namaâ).val();
beli=$(â#beliâ).val();
jual=$(â#jualâ).val();
stok=$(â#stokâ).val();
$(â#statusâ).html(âsedang diproses. . .â);
$(â#loadingâ).show();
$.ajax({
url:âproses.phpâ,
data:âop=simpan&kode=â+kode+â&nama=â+nama+â&beli=â+beli+â&jual=â+jual+â&stok=â+stok,
cache:false,
success:function(msg){
if(msg==âsuksesâ){
$(â#statusâ).html(âBerhasil disimpan. . .â);
}else{
$(â#statusâ).html(âERROR. . .â);
}
$(â#loadingâ).hide();
$(â#namaâ).val(ââ);
$(â#jualâ).val(ââ);
$(â#beliâ).val(ââ);
$(â#stokâ).val(ââ);
$(â#kode2â³).val(ââ);
}
});
});
});
</script>
</head>
<body>
<?php
$p=isset($_GET['act'])?$_GET['act']:null;
switch($p){
default:
echoâ
<legend>Data Barang</legend>
<label>Kode Barang</label>
<select id=âkodeâ></select>
<input type=âtextâ id=ânamaâ placeholder=âNama Barangâ>
<input type=âtextâ id=âbeliâ placeholder=âHarga Beliâ>
<input type=âtextâ id=âjualâ placeholder=âHarga Jualâ>
<input type=âtextâ id=âstokâ placeholder=âStokâ>
<button id=âupdateâ>Update</button>
<button id=âhapusâ>Hapus</button>
<span id=âstatusâ></span>
<table id=âbarangâ>
</table>';
break;
case âtambahâ:
echo'<legend>Tambah Data Barang</legend>
<label>Kode Barang</label>
<input type=âtextâ id=âkode2â³> <span id=âpesanâ></span>
<label>Nama Barang</label>
<input type=âtextâ id=ânamaâ >
<label>Harga Beli</label>
<input type=âtextâ id=âbeliâ >
<label>Harga Jual</label>
<input type=âtextâ id=âjualâ >
<label>Stok</label>
<input type=âtextâ id=âstokâ>
<label></label>
<button id=âsimpanâ>Simpan</button>
<a href=â?page=barangâ>Kembali</a>
<div id=âstatusâ></div>';
break;
}
?>
</body>
</html>
<?php4. Transaksi.php
include âdb/koneksi.phpâ;
$data=mysql_query(âselect * from tblbarangâ);
$op=isset($_GET['op'])?$_GET['op']:null;
if($op==âkodeâ){
echoâ<option>Kode Barang</option>â;
while($r=mysql_fetch_array($data)){
echo â<option value=â$r[kode]â>$r[kode]</option>â;
}
}elseif($op==âbarangâ){
echo'<thead>
<tr>
<Td colspan=â5â³><a href=â?page=barang&act=tambahâ>Tambah Barang</a></td>
</tr>
<tr>
<td>Kode Barang</td>
<td>Nama Barang</td>
<td>Harga Beli</td>
<td>Harga Jual</td>
<td>Stok</td>
</tr>
</thead>';
while($b=mysql_fetch_array($data)){
echoâ<tr>
<td>$b[kode]</td>
<td>$b[nama]</td>
<td>$b[hrg_beli]</td>
<td>$b[hrg_jual]</td>
<td>$b[stok]</td>
</tr>â;
}
}elseif($op==âambildataâ){
$kode=$_GET['kode'];
$dt=mysql_query(âselect * from tblbarang where kode=â$kode'â);
$d=mysql_fetch_array($dt);
echo $d['nama'].â|â.$d['hrg_beli'].â|â.$d['hrg_jual'].â|â.$d['stok'];
}elseif($op==âcekâ){
$kd=$_GET['kd'];
$sql=mysql_query(âselect * from tblbarang where kode=â$kd'â);
$cek=mysql_num_rows($sql);
echo $cek;
}elseif($op==âupdateâ){
$kode=$_GET['kode'];
$nama=htmlspecialchars($_GET['nama']);
$beli=htmlspecialchars($_GET['beli']);
$jual=htmlspecialchars($_GET['jual']);
$stok=htmlspecialchars($_GET['stok']);
$update=mysql_query(âupdate tblbarang set nama=â$namaâ,
hrg_beli=â$beliâ,
hrg_jual=â$jualâ,
stok=â$stokâ
where kode=â$kode'â);
if($update){
echo âSuksesâ;
}else{
echo âERROR. . .â;
}
}elseif($op==âdeleteâ){
$kode=$_GET['kode'];
$del=mysql_query(âdelete from tblbarang where kode=â$kode'â);
if($del){
echo âsuksesâ;
}else{
echo âERRORâ;
}
}elseif($op==âsimpanâ){
$kode=$_GET['kode'];
$nama=htmlspecialchars($_GET['nama']);
$jual=htmlspecialchars($_GET['jual']);
$beli=htmlspecialchars($_GET['beli']);
$stok=htmlspecialchars($_GET['stok']);
$tambah=mysql_query(âinsert into tblbarang (kode,nama,hrg_beli,hrg_jual,stok)
values (â$kodeâ,â$namaâ,â$beliâ,â$jualâ,â$stokâ)â);
if($tambah){
echo âsuksesâ;
}else{
echo âerrorâ;
}
}
?>
<!DOCTYPE html>5. pk.php
<html>
<head>
<title>Transaki Penjualan</title>
<link rel=âstylesheetâ href=âcss/bootstrap.cssâ>
<script src=âjs/jquery.jsâ></script>
<script src=âjs/jquery.ui.datepicker.jsâ></script>
<script>
//mendeksripsikan variabel yang akan digunakan
var nota;
var tanggal;
var kode;
var nama;
var harga;
var jumlah;
var stok;
$(function(){
//meload file pk dengan operator ambil barang dimana nantinya
//isinya akan masuk di combo box
$(â#kodeâ).load(âpk.phpâ,âop=ambilbarangâ);
//meload isi tabel
$(â#barangâ).load(âpk.phpâ,âop=barangâ);
//mengkosongkan input text dengan masing2 id berikut
$(â#namaâ).val(ââ);
$(â#hargaâ).val(ââ);
$(â#jumlahâ).val(ââ);
$(â#stokâ).val(ââ);
//jika ada perubahan di kode barang
$(â#kodeâ).change(function(){
kode=$(â#kodeâ).val();
//tampilkan status loading dan animasinya
$(â#statusâ).html(âloading. . .â);
$(â#loadingâ).show();
//lakukan pengiriman data
$.ajax({
url:âproses.phpâ,
data:âop=ambildata&kode=â+kode,
cache:false,
success:function(msg){
data=msg.split(â|â);
//masukan isi data ke masing â" masing field
$(â#namaâ).val(data[0]);
$(â#hargaâ).val(data[1]);
$(â#stokâ).val(data[3]);
$(â#jumlahâ).focus();
//hilangkan status animasi dan loading
$(â#statusâ).html(ââ);
$(â#loadingâ).hide();
}
});
});
//jika tombol tambah di klik
$(â#tambahâ).click(function(){
kode=$(â#kodeâ).val();
stok=$(â#stokâ).val();
jumlah=$(â#jumlahâ).val();
if(kode==âKode Barangâ){
alert(âKode Barang Harus diisiâ);
exit();
}else if(jumlah > stok){
alert(âStok tidak terpenuhiâ);
$(â#jumlahâ).focus();
exit();
}else if(jumlah < 1){
alert(âJumlah beli tidak boleh 0â³);
$(â#jumlahâ).focus();
exit();
}
nama=$(â#namaâ).val();
harga=$(â#hargaâ).val();
$(â#statusâ).html(âsedang diproses. . .â);
$(â#loadingâ).show();
$.ajax({
url:âpk.phpâ,
data:âop=tambah&kode=â+kode+â&nama=â+nama+â&harga=â+harga+â&jumlah=â+jumlah,
cache:false,
success:function(msg){
if(msg==âsuksesâ){
$(â#statusâ).html(âBerhasil disimpan. . .â);
}else{
$(â#statusâ).html(âERROR. . .â);
}
$(â#loadingâ).hide();
$(â#namaâ).val(ââ);
$(â#hargaâ).val(ââ);
$(â#jumlahâ).val(ââ);
$(â#stokâ).val(ââ);
$(â#kodeâ).load(âpk.phpâ,âop=ambilbarangâ);
$(â#barangâ).load(âpk.phpâ,âop=barangâ);
}
});
});
//jika tombol proses diklik
$(â#prosesâ).click(function(){
nota=$(â#notaâ).val();
tanggal=$(â#tanggalâ).val();
$.ajax({
url:âpk.phpâ,
data:âop=proses¬a=â+nota+â&tanggal=â+tanggal,
cache:false,
success:function(msg){
if(msg==âsuksesâ){
$(â#statusâ).html(âTransaksi Pembelian berhasilâ);
alert(âTransaksi Berhasilâ);
exit();
}else{
$(â#statusâ).html(âTransaksi Gagalâ);
alert(âTransaksi Gagalâ);
exit();
}
$(â#kodeâ).load(âpk.phpâ,âop=ambilbarangâ);
$(â#barangâ).load(âpk.phpâ,âop=barangâ);
$(â#loadingâ).hide();
$(â#namaâ).val(ââ);
$(â#hargaâ).val(ââ);
$(â#jumlahâ).val(ââ);
$(â#stokâ).val(ââ);
}
})
})
});
</script>
</head>
<body>
<div>
<?php
include âdb/koneksi.phpâ;
$p=isset($_GET['act'])?$_GET['act']:null;
switch($p){
default:
echo â<table class=âtable table-borderedâ>
<tr>
<td colspan=â3â²><a href=â?page=penjualan&act=tambahâ class=âbtn btn-primaryâ>Input Transaksi</a></td>
</tr>
<tr>
<td>No.Nota</td>
<td>Tanggal</td>
<td>Jumlah</td>
<td>Tools</td>
</tr>â;
$query=mysql_query(âselect * from penjualanâ);
while($r=mysql_fetch_array($query)){
echo â<tr>
<td><a href=â?page=penjualan&act=detail¬a=$r[nonota]â>$r[nonota]</a></td>
<td>$r[tanggal]</td>
<td>$r[total]</td>
<td><a href=â?page=penjualan&act=detail¬a=$r[nonota]â>Cetak Nota</a></td>
</tr>â;
}
echoâ</table>â;
break;
case âtambahâ:
$tgl=date(âY-m-dâ);
//untuk autonumber di nota
$auto=mysql_query(âselect * from penjualan order by nonota desc limit 1â³);
$no=mysql_fetch_array($auto);
$angka=$no['nonota']+1;
echo â<div class=ânavbar-form pull-rightâ>
No. Nota : <input type=âtextâ id=ânotaâ value=â$angkaâ readonly >
<input type=âtextâ id=âtanggalâ value=â$tglâ readonly>
</div>â;
echo'<legend>Transaksi Penjualan</legend>
<label>Kode Barang</label>
<select id=âkodeâ></select>
<input type=âtextâ id=ânamaâ placeholder=âNama Barangâ readonly>
<input type=âtextâ id=âhargaâ placeholder=âHargaâ readonly>
<input type=âtextâ id=âstokâ placeholder=âstokâ readonly>
<input type=âtextâ id=âjumlahâ placeholder=âJumlah Beliâ>
<button id=âtambahâ>Tambah</button>
<span id=âstatusâ></span>
<table id=âbarangâ>
</table>
<div>
<button id=âprosesâ>Proses</button>
</div>';
break;
case âdetailâ:
echo â<legend>Nota Penjualan</legend>â;
$nota=$_GET['nota'];
$query=mysql_query(âselect penjualan.nonota,detailpenjualan.kode,tblbarang.nama,
detailpenjualan.harga,detailpenjualan.jumlah,detailpenjualan.subtotal
from detailpenjualan,penjualan,tblbarang
where penjualan.nonota=detailpenjualan.nonota and tblbarang.kode=detailpenjualan.kode
and detailpenjualan.nonota=â$nota'â);
$nomor=mysql_fetch_array(mysql_query(âselect * from penjualan where nonota=â$nota'â));
echo â<div class=ânavbar-form pull-rightâ>
Nota : <input type=âtextâ value=â$nomor[nonota]â disabled>
<input type=âtextâ value=â$nomor[tanggal]â disabled>
</div>â;
echo â<table class=âtable table-hoverâ>
<thead>
<tr>
<td>Kode Barang</td>
<td>Nama</td>
<td>Harga</td>
<td>Jumlah</td>
<td>Subtotal</td>
</tr>
</thead>â;
while($r=mysql_fetch_row($query)){
echo â<tr>
<td>$r[1]</td>
<td>$r[2]</td>
<td>$r[3]</td>
<td>$r[4]</td>
<td>$r[5]</td>
</tr>â;
}
echo â<tr>
<td colspan=â4â²><h4 align=ârightâ>Total</h4></td>
<td colspan=â5â²><h4>$nomor[total]</h4></td>
</tr>
</table>â;
break;
}
?>
</div>
</body>
</html>
<?php5. Index.php
include âdb/koneksi.phpâ;
$op=isset($_GET['op'])?$_GET['op']:null;
if($op==âambilbarangâ){
$data=mysql_query(âselect * from tblbarangâ);
echoâ<option>Kode Barang</option>â;
while($r=mysql_fetch_array($data)){
echo â<option value=â$r[kode]â>$r[kode]</option>â;
}
}elseif($op==âambildataâ){
$kode=$_GET['kode'];
$dt=mysql_query(âselect * from tblbarang where kode=â$kode'â);
$d=mysql_fetch_array($dt);
echo $d['nama'].â|â.$d['hrg_jual'].â|â.$d['stok'];
}elseif($op==âbarangâ){
$brg=mysql_query(âselect * from tblsementaraâ);
echo â<thead>
<tr>
<td>Kode Barang</td>
<td>Nama</td>
<td>Harga</td>
<td>Jumlah Beli</td>
<td>Subtotal</td>
<td>Tools</td>
</tr>
</thead>â;
$total=mysql_fetch_array(mysql_query(âselect sum(subtotal) as total from tblsementaraâ));
while($r=mysql_fetch_array($brg)){
echo â<tr>
<td>$r[kode]</td>
<td>$r[nama]</td>
<td>$r[harga]</td>
<td><input type=âtextâ name=âjumâ value=â$r[jumlah]â class=âspan2â²></td>
<td>$r[subtotal]</td>
<td><a href=âpk.php?op=hapus&kode=$r[kode]â id=âhapusâ>Hapus</a></td>
</tr>â;
}
echo â<tr>
<td colspan=â3â²>Total</td>
<td colspan=â4â²>$total[total]</td>
</tr>â;
}elseif($op==âtambahâ){
$kode=$_GET['kode'];
$nama=$_GET['nama'];
$harga=$_GET['harga'];
$jumlah=$_GET['jumlah'];
$subtotal=$harga*$jumlah;
$tambah=mysql_query(âINSERT into tblsementara (kode,nama,harga,jumlah,subtotal)
values (â$kodeâ,â$namaâ,â$hargaâ,â$jumlahâ,â$subtotalâ)â);
if($tambah){
echo âsuksesâ;
}else{
echo âERRORâ;
}
}elseif($op==âhapusâ){
$kode=$_GET['kode'];
$del=mysql_query(âdelete from tblsementara where kode=â$kode'â);
if($del){
echo â<script>window.location=âindex.php?page=penjualan&act=tambah';</script
}else{
echo â<script>alert(âHapus Data Berhasilâ);
window.location=âindex.php?page=penjualan&act=tambah';</script
}
}elseif($op==âprosesâ){
$nota=$_GET['nota'];
$tanggal=$_GET['tanggal'];
$to=mysql_fetch_array(mysql_query(âselect sum(subtotal) as total from tblsementaraâ));
$tot=$to['total'];
$simpan=mysql_query(âinsert into penjualan(nonota,tanggal,total)
values (â$notaâ,â$tanggalâ,â$totâ)â);
if($simpan){
$query=mysql_query(âselect * from tblsementaraâ);
while($r=mysql_fetch_row($query)){
mysql_query(âinsert into detailpenjualan(nonota,kode,harga,jumlah,subtotal)
values(â$notaâ,â$r[0]â,â$r[2]â,â$r[3]â,â$r[4]â)â);
mysql_query(âupdate tblbarang set stok=stok-â$r[3]â
where kode=â$r[0]ââ);
}
//hapus seluruh isi tabel sementara
mysql_query(âtruncate table tblsementaraâ);
echo âsuksesâ;
}else{
echo âERRORâ;
}
}
?>
<!doctype html>Tampilan Program :
<html>
<head>
<title>Aplikasi Penjualan</title>
<link rel=âstylesheetâ href=âcss/style.cssâ>
<link rel=âstylesheetâ href=âcss/bootstrap.cssâ>
</head>
<body>
<div id=âcontainerâ>
<header>
<h1><a href=âhttps://www.facebook.com/groups/commit.stmiktegal/â>Communitas Mahasiswa IT</a></h1>
</header>
<!â"menu â">
<nav>
<ul>
<li><a href=âindex.phpâ>Master</a>
<ul>
<li><a href=â?page=barangâ>Barang</a></li>
</ul>
</li>
<li><a href=â#â>Transaksi</a>
<ul>
<li><a href=â?page=penjualanâ>Penjualan</a></li>
</ul>
</li>
</ul>
</nav>
<br>
<div>
<?php
include âdb/koneksi.phpâ;
$p=isset($_GET['page'])?$_GET['page']:null;
switch($p){
default:
break;
case âbarangâ:
include âbarang.phpâ;
break;
case âpenjualanâ:
include âtransaksi.phpâ;
break;
}
?>
</div>
</body>
</html>
1. Data Barang

2. Tambah Data barang

3. Data Transaksi Penjualan

4. Input Transaksi Penjualan

5. Nota Penjualan

Download filenya disini
Source : http://ghantexs16.wordpress.com/2013/01/17/membuat-transaksi-penjualan-dengan-php-jquery-ajax/