net/publication/329388874
CITATIONS READS
0 7,712
1 author:
Miftakhul Aninnia
Universitas Teknologi Yogyakarta
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Sistem Informasi Kasir berbasis Client-Server Studi kasus Optical Limpung View project
All content following this page was uploaded by Miftakhul Aninnia on 04 December 2018.
KERJA PRAKTIK
Disusun oleh:
Miftakhul Aninnia
5150311023
KERJA PRAKTIK
Disusun oleh:
Miftakhul Aninnia
5150311023
Pembimbing
Kerja Praktik ini telah diterima sebagai salah satu syarat untuk mencapai derajat
Sarjana S-1 Program Studi Sistem Informasi
Yogyakarta ,…………….
Ketua Program Studi Sistem Informasi
Fakultas Teknologi Informasi & Elektro, Universitas Teknologi Yogyakarta
Mengetahui
ii
LEMBAR PERNYATAAN
Dibuat di : Yogyakarta
Pada tanggal : 30 Juli 2018
Yang menyatakan
Miftakhul Aninnia
NIM 5150311023
iii
ABSTRAK
Pada umumnya sebuah toko ingin usahanya tetap eksis dan berkembang, untuk itu
diperlukan strategi dan pengelolaan yang baik. Strategi yang dimaksud berupa
peningkatan kualitas marketing, manajemen, pelayanan dan lain-lain termasuk
penerapan teknologi informasi didalamnya. Berdasarkan observasi dan
wawancara, adanya sistem informasi mempengaruhi berbagai aspek termasuk
aspek penjualan, yang biasanya sistem penjulannya masih konvensional hanya
menggunakan buku untuk perekapan data penjualan dan nota yang ditulis
peetugas kasir. Petugas kasir terkadang melakukan kesalahan ketika banyak
konsumen datang bersamaan. Maka dari suatu permasalahan tersebut dibuatkan
sistem informasi penjualan secara komputerisasi yang akan membuat lebih efisien
dan keakuratan data penjualan. Oleh karena itu penulis akan Merancang Bangun
Sistem Infromasi Aplikasi Kasir berbasis Client Server sebagai obyek kerja
praktik. Dengan adanya sistem informasi penjualan tersebut dapat membantu
petugas kasir dalam pengelolaan data penjualan yang lebih efisien dan akurat.
iv
ABSTRACT
In general a store wants its business still exist and develop. Therefore a good
strategy and management are required. Strategy is in the form of marketting
quality improvement, management, service, etc. Including the application of
information technology in it. Based of observation and interview, the existence of
sales information system is still conventional only use the book for the cashier.
Therefore, from its problem, the authors will be made a computerized sales
information system that will made more efficient and accurate sales data.
Therefore the authors will be designing the build system application information
cashier based on server client as the object of practical work. With the existence
of sales information system can help the cashier in the management of sales data
more efficient and accurate.
v
KATA PENGANTAR
Miftakhul Aninnia
vi
DAFTAR ISI
viii
DAFTAR GAMBAR
ix
Gambar 4.23 Desain Pendataan Pelanggan ............................................... 36
Gambar 4.24 Desain Pendataan Karyawan ............................................... 36
Gambar 4.25 Desain Form Penjualan ....................................................... 37
Gambar 4.26 Desain Form Pemesanan ..................................................... 38
Gambar 4.27 Desain Form Pemesanan ..................................................... 38
Gambar 5.28 Antarmuka Halaman Login ................................................. 40
Gambar 5.29 Peringatan Gagal Login ....................................................... 41
Gambar 5.30 Syntax Tampilan Login........................................................ 41
Gambar 5.31 Tampilan Home ................................................................... 42
Gambar 5.32 Syntax menampilkan form User .......................................... 42
Gambar 5.33 Syntax menampilkan form Master....................................... 43
Gambar 5.34 Syntax menampilkan form transaksi .................................... 43
Gambar 5.35 Syntax menampilkan laporan .............................................. 43
Gambar 5.36 Tampilan Data Barang ........................................................ 44
Gambar 5.37 Syntax Simpan untuk data barang ....................................... 44
Gambar 5.38 Tampilan Data User ............................................................ 45
Gambar 5.39 Syntax Simpan untuk data user ........................................... 46
Gambar 5.40 Tampilan Data Pelanggan ................................................... 47
Gambar 5.41 Syntax Simpan untuk data pelanggan .................................. 47
Gambar 5.42 Tampilan Data Faset............................................................ 48
Gambar 5.43 Syntax Simpan untuk data faset ........................................... 49
Gambar 5.44 Tampilan Data Faset............................................................ 50
Gambar 5.45 Syntax Simpan untuk data faset ........................................... 50
Gambar 5.46 Tampilan Data Penjualan .................................................... 51
Gambar 5.47 Syntax Simpan untuk data penjualan ................................... 52
Gambar 5.48 Nota Transaksi Penjualan .................................................... 53
Gambar 5.49 Tampilan Data Pembelian ................................................... 54
Gambar 5.50 Syntax Simpan untuk data pembelian.................................. 55
Gambar 5.51 Tampilan Data Pemesanan .................................................. 56
Gambar 5.52 Syntax Simpan untuk data pemesanan ................................ 57
Gambar 5.53 Nota Pengambilan Barang................................................... 58
x
Gambar 5.54 Tampilan Sortir Tanggal Laporan Penjualan ...................... 59
Gambar 5.55 Tampilan Laporan Penjualan .............................................. 59
Gambar 5.56 Tampilan Sortir Tanggal Laporan Pembelian ..................... 60
Gambar 5.57 Tampilan Laporan Pembelian ............................................. 61
Gambar 5.58 Tampilan Laporan Stok Barang .......................................... 62
Gambar 5.59 Tampilan Laporan Pendapatan Penjualan ........................... 63
xi
DAFTAR TABEL
xii
BAB I
PENDAHULUAN
1
2
b. Perancangan Sistem
Pada pembahasan ini, perancangan sistem yang digunakan adalah
merancang Data Flow Diagram (DFD) dan Entity Relationship Diagram
(ERD) serta merancang tampilan interface meliputi: menu utama, form
login, form data barang, form data petugas, form data pelanggan, form
pembelian, form pemesanan, form penjualan, form laporan data barang,
form laporan pembelian dan form laporan penjualan.
c. Implementasi
Dalam membangun sistem informasi aplikasi kasir, bahasa pemrograman
yang digunakan adalah Delphi dengan penyimpanan database
menggunakan MySql. Proses implementasi yaitu menerapkan rancangan
sistem yang sudah dibuat kedalam kode-kode program lalu kemudian
menguji sistem apakah sudah layak digunakan atau masih perlu perbaikan.
6
7
akibat kesalahan manusia (human error). Dalam sistem yang akan dibangun input
yang dibutuhkan adalah: data produk, data member, data pengguna, dan data
transaksi. Dengan kebutuhan sistem tersebut menghasilkan output berupa nota
penjualan, laporan penjualan, laporan persediaan barang.
Tabel 2.1 Perbandingan Tinjauan Pustaka
No Judul Penulis Tahun Hasil/ Kesimpulan
1 Sistem Informasi Rustam Siregar 2015 Penelitian ini bertujuan untuk
Toko Optik Nina mengembangkan Sistem
Informasi pada toko Optik Nina
agar dapat memberikan
informasi yang lebih spesifik,
sehingga diharapkan dapat
memperlancar kinerja dari
seluruh kegiatan penjualan.
2 Sistem Informasi Novan Prianto 2014 Penelitian ini bertujuan untuk
Penjualan PadaOptik mengembangkan sistem
Karya Abadi informasi penjualan agar dapat
berbasis Client membantu petugas kasir dalam
Server proses pengelolaan data
penjualan yang lebih efisien
dan akurat.
3 Sistem Informasi Sasono 2015 Menghasilkan analisis dan
Penjualan Pada Wibowo informasi yang akurat dan
Optik Tegal cepat terlihat dibandingkan
dengam perhitungan manual
sehingga Optik Tegal dapat
mempergunakannya sebagai
alat bantu dalam kegiatan
penjualan.
Seperti terlihat pada tabel 2.1. perbedaan dari ketiga referensi dengan judul
yang diangkat oleh penulis terletak pada metode, design, database, dan implementasi
sistem pada masing-masing perancangan sistem.
2.2.2 Informasi
Informasi adalah suatu data yang telah diproses sehingga dapat
mengurangi ketidakjelasan tentang keadaan atau suatu kejadian. Sedangkan kata
data adalah fakta atau kenyataan yang sebenarnya Kadir (2013).
Menurut Hartono, J., (2005), Informasi adalah data yang diolah menjadi
bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Menurut
Sutabri (2012) , Informasi adalah data yang telah diklasifikasikan atau diolah atau
diinterpretasikan untuk digunakan dalam proses pengambiilan keputusan.
Sedangkan menurut Kristanto, A., (2008), Informasi adalah kumpulan data yang
diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerima.
2.2.7 Database
Menurut Waljiyanto (2003), database atau memiliki istilah basis data
merupakan suatu kumpulan data yang saling berhubungan dan berkaitan dengan
subjek tertentu pada tujuan tertentu pula, hubungan antardata ini dapat dilihat oleh
adanya field ataupun kolom.
Sedangkan menurut Prahasta (2002), database itu didefinisikan sebagai
kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data
tersebut dapat dimanipulasi, diambil, dan dicari secara cepat.
Menurut Kusrini (2007), basis data adalah kumpulan data yang saling
berelasi. Data merupakan fakta mengenai obyek, orang, dan lain-lain. Data
dinyatakan dengan nilai (angka, deretan karakter, atau simbol).
jadi istilahnya layanan dari komputer database diakses oleh komputer lain dengan
kode program komputer yang sudah ditentukan. Fungsi dari database server yaitu:
1. Untuk menyimpan beberapa data yang bisa dilakukan dalam satu lokasi.
2. Data yang disimpan dalam database server akan aman karena memiliki
beberapa fasilitas yang tidak terdapat pada komputer biasa.
3. Menyediakan manejemen sistem yang artinya pengguna dapat melakukan
beberapa susunan unik untuk membuat data.
4. Mempermudah pengguna untuk menyimpan dan mencari dalam lingkup
database.
5. Setiap klien dapat mengakses secara bersamaan tanpa harus mengganggu
satu sama lain dalam kurun waktu bersamaan.
Adapun topologi dari model database server dapat dilihat pada Gambar 2.1.
2.2.9 Optik
Kata optik berasal dari bahasa Latin, yang berarti tampilan. Benda optik
adalah benda yang menggunakan lensa optik untuk melakukan fungsinya dalam
membantu kegiatan tertentu. Salah satu benda optik yang banyak digunakan
adalah kacamata, sebuah lensa tipis untuk mata untuk menormalkan dan
mempertajam pengelihatan.
12
2.2.11 Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat
berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi yang
terjadi diantara dua himpunan entitas dapat berupa:
a. One to One
Relasi satu ke satu berarti setiap entitas pada himpunan entitas A
13
b. One to Many
Relasi satu ke banyak berarti setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak
berlaku untuk sebaliknya. Entitas B hanya dapat berhubungan dengan satu
entitas pada himpunan A.
Contoh:
1 N
Entitas A Hubungan Entitas B
15
16
19
20
sedangkan kasir memasukkan data penjualan dan data pembelian. Data penjualan
dan data pembelian nanatinya akan diproses oleh sistem guna meendapatkan
laporan penjualan dan pembelian.
4.5.2 Tabel
Dalam pengembangan sistem informasi apliaksi kasir ini, nantinya akan
ada beberapa tabel yang digunakan untuk menyimpan data-data yang diperlukan
oleh sistem. Tabel-tabel tersebut diantaranya adalah sebagai berikut:
1. Tabel Barang
Nama tabel : barang
Primary key : kd_barang
Berikut adalah struktur tabel barang seperti pada tabel 4.1.
Tabel 4.1 Struktur Tabel Barang
2. Tabel User
Nama Tabel : tb_user
Primary key : kd_user
Berikut adalah struktur tabel karyawan seperti pada tabel 4.2.
Tabel 4.2 Struktur Tabel User
3. Tabel Pelanggan
Nama tabel : pelanggan
Primary key : id_pelanggan
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.3.
31
4. Tabel Faset
Nama tabel : faset
Primary key: id_faset
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.4
Tabel 4.4 Struktur Tabel Faset
5. Tabel Supplier
Nama tabel : supplier
Primary key: kd_supp
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.5
Tabel 4.5 Struktur Tabel Supplier
8. Tabel Pembelian
Nama tabel : pembelian
Primary key : kd_beli
Foreign key : kd_user
Berikut adalah struktur tabel pembelian seperti pada tabel 4.8.
Tabel 4.8 Struktur Tabel Pembelian
9. Tabel Penjualan
33
4.6.2 Login
Antarmuka menu login ini yaitu digunakan untuk masuk ke menu utama
supaya bisa mengakses menu yang ada di dalam form utama. Dalam antarmuka
form login ini berisi logo optik atau instansi, kolom nama pengguna, kata sandi
dan ada juga tombol login yang digunakan untuk mengecek apakah nama dan kata
sandi sudah benar, untuk digunakan masuk ke halaman utama.
35
BAB V
IMPLEMENTASI SISTEM
5.1 Implementasi
Sistem informasi Kasir Optik ini merupakan sebuah aplikasi desktop, yang
dibuat untuk membantu dalam pendataan dan proses penjualan, sehingga
pekerjaan yang dilakukan menjadi lebih mudah dan cepat. Beberapa komponen
yang digunakan untuk melakukan penjualan dalam aplikasi ini di antaranya,
penjualan, pembelian dan pemesanan.
Sistem ini didalamnya juga terdapat beberapa menu dengan sub-sub menu,
misalnya dalam menu master terdapat sub menu data user, data barang, data
pelanggan, data faset. Kemudian dalam menu transaksi terdapat sub menu
penjualan, pembelian dan pemesanan. Dan menu laporan terdapat sub menu
laporan penjualan, laporan pembelian, laporan stok barang, laporan laba
penjualan.
Desain aplikasi ini juga dibuat sesederhana mungkin sesuai kebutuhan
sistem pada Optik Limpung ini. Dengan aplikasi ini diharapkan proses
pengolahan data barang dan proses penjualan barang dapat lebih cepat dan mudah,
sehingga pekerjaan lebih efektif dan efisien.
a. Delphi 2010
b. Sqlyog
c. XAMPP
Berisikan uraian sebagai alat bantu untuk tahapan implementasi, sistem
operasi, perangkat implementasi, algoritma program, tampilan interaksi input-
output aplikasi dan pengujian implementasi tahapan awal. Untuk bidang network,
implementasi berisi hasil rancangan network yang dibangun, infrastrukur
pendukung network dan pengujian awal network.
5.6 Transaksi
5.6.1 Data Penjualan
Halaman penjualan merupakan bagian transaksi yang digunakan untuk
menghitung data penjualan barang. Berikut adalah gambar implementasi data
penjualan.
post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);
end;
ref2;
Gambar 5.47 Syntax Simpan untuk data penjualan
Adapun button cetak nota, cetak nota akan keluar saat transaksi disimpan,
berikut adalah hasil output cetak nota.
53
end;
bersih;
Gambar 5.52 Syntax Simpan untuk data pemesanan
Adapun button cetak nota pengambilan barang, cetak nota pengambilan
barang akan keluar saat transaksi disimpan, berikut adalah hasil output cetak nota.
58
5.7 Laporan
5.7.1 Laporan Penjualan
Pada halaman laporan ada pilihan periode tanggal yang ingin ditampilkan,
berikut tampilannya:
59
Pada halaman laporan menampilkan laporan sesuai dengan tanggal yang sudah
ditentukan pada inputan Filter tanggal, berikut tampilan laporan.
PENUTUP
6.1 Kesimpulan
Penelitian kerja praktik ini telah menghasilkan sistem informasi aplikasi
kasir berbasis client server pada studi kasus di Optical Limpung Batang. Berikut
beberapa kesimpulan dari hasil penelitian kerja praktik ini:
a. Sistem memberikan kemudahan penanganan dan pendataan untuk barang
penjualan maupun pembelian dengan menggantikan sistem lama yang
masih manual dan memanfaatkan komputer yang sudah ada sehingga
dapat digunakan oleh bagian kasir dalam membantu proses pendataan
barang.
b. Sistem mampu memberikan hasil perhitungan penjualan yang benar.
c. Sistem dapat menghasilkan laporan hasil laba yang didapat dari
penjualan.
6.2 Saran
Adapun saran-saran yang dapat penulis berikan adalah sebagai berikut:
1. Dalam pendataan penjualan ini masih sederhana karena kurangnya sistem
diskon otomatis saat melakukan penjualan.
2. Tampilan untuk program sendiri masih sederhana, karena kendala dalam
pengetahuan desain. Harusnya tampilan pada program ini bisa dibuat
lebih elegan sehingga pengguna akan lebih nyaman.
3. Dalam sistem client servernya masih sederhana karena hanya digunakan
untuk menghubungkan client dengan server saja, harusnya untuk fitur
client server dapat dibuat lebih bagus lagi dengan menambahkan fitur
pelayanan pelanggan artinya pelanggan dapat menservice dirinya sendiri.
64
DAFTAR PUSTAKA
Siregar, R. (2015), Sistem Informasi Toko Optik Nina, Politeknik Negeri Batam.
65
LAMPIRAN
procedure Form1.dxBarLargeButton1.Ena
TForm2.BitBtnLoginClick(Sen bled:=false;
der: TObject);
begin Form1.dxBarLargeButton2.Ena
{if (edtUsername.Text='') bled:=true;
or (edtPasswd.Text='') then
Application.MessageBox('Dat Form1.dxBarLargeButton3.Ena
a tidak bled:=true;
valid!','Peringatan!',MB_OK
+MB_ICONWARNING) Form1.dxBarLargeButton4.Ena
else bled:=true;
begin}
with DM.ADOLogin do Form1.dxBarLargeButton5.Ena
begin bled:=true;
Active:=False;
Close; Form1.dxBarLargeButton6.Ena
SQL.Clear; bled:=true;
SQL.Text:='select*from Form1.dxBarLargeButton7.Ena
tb_user where bled:=true;
username='+QuotedStr(edtUse
rname.Text)+' and Form1.dxBarLargeButton8.Ena
password='+QuotedStr(edtPas bled:=true;
swd.Text);
Open; Form1.dxBarLargeButton9.Ena
end; bled:=true;
if
DM.ADOLogin.RecordCount = 0 Form1.dxBarLargeButton10.En
then abled:=true;
begin
Form1.dxBarLargeButton11.En
MessageDlg('Username/passwo abled:=true;
rd salah!'+#13+'silahkan
ulangi', mtWarning, [mbOK], Form1.dxBarLargeButton12.En
0); abled:=true;
edtUsername.SetFocus;
end Form1.dxBarLargeButton13.En
else abled:=true;
begin
if Form1.dxBarLargeButton14.En
DM.ADOLogin.FieldByName('le abled:=true;
vel').AsString='Admin' then
Form1.StatusBar1.Panels.Ite
66
67
ms[0].Text:=DM.ADOLogin.Fie
ldValues['nama']; Form1.dxBarLargeButton14.En
Close; abled:=true;
end
else Form1.StatusBar1.Panels[1].
if Text:=DM.ADOLogin.FieldValu
DM.ADOLogin.FieldByName('le es['nama'];
vel').AsString='Karyawan' Form2.Close;
then end
begin else
Form1.show; if
DM.ADOLogin.FieldByName('le
Form1.dxBarLargeButton1.Ena vel').AsString='Pemilik'
bled:=false; then
begin
Form1.dxBarLargeButton2.Ena Form1.show;
bled:=true;
Form1.dxBarLargeButton1.Ena
Form1.dxBarLargeButton3.Ena bled:=false;
bled:=true;
Form1.dxBarLargeButton2.Ena
Form1.dxBarLargeButton4.Ena bled:=true;
bled:=true;
Form1.dxBarLargeButton3.Ena
Form1.dxBarLargeButton5.Ena bled:=true;
bled:=true;
Form1.dxBarLargeButton11.En
Form1.dxBarLargeButton6.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton12.En
Form1.dxBarLargeButton7.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton13.En
Form1.dxBarLargeButton8.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton14.En
Form1.dxBarLargeButton9.Ena abled:=true;
bled:=true;
Form1.StatusBar1.Panels[1].
Form1.dxBarLargeButton10.En Text:=DM.ADOLogin.FieldValu
abled:=true; es['nama'];
Form2.Close;
Form1.dxBarLargeButton11.En end
abled:=true; else
begin
Form1.dxBarLargeButton12.En ShowMessage('Maaf
abled:=true; anda tidak memiliki izin
untuk menggunakan
Form1.dxBarLargeButton13.En aplikasi');
abled:=true; end;
end;
68
{end;}
end; procedure
TForm2.FormKeyPress(Sender:
procedure TObject; var Key: Char);
TForm2.btnConnectSetClick(S begin
ender: TObject); if key = #27 then
begin Application.Terminate;
Form3.ShowModal;
end; end;
procedure procedure
TForm2.btnEscClick(Sender: TForm2.FormShow(Sender:
TObject); TObject);
begin begin
application.Terminate; edtUsername.Clear;
end; edtPasswd.Clear;
edtUsername.SetFocus;
end; Source code Barang
end.
procedure TForm4.bersih; head:='KC';
begin end
EditKdBrg.Clear; else if CbbJenisBrg.Text =
EditNmBrg.Clear; 'Frame' then
EditStok.Clear; begin
EditHrgJual.Clear; head:='FR';
end; end
else if CbbJenisBrg.Text =
procedure TForm4.ref; 'Softlens' then
begin begin
With DM.ADOBarang do head:='SL';
begin end;
Active:=False; begin
Close; nol:='0000';
SQL.Clear; with DM.ADOBarang do
begin
SQL.Text:='select*from Close;
barang order by kd_barang'; //id_barang like
Open; '+QuotedStr('%'+edit4.Text+
end; '%')+' and
end; SQL.Text:='select *
from barang where
procedure jenis_barang='+QuotedStr(Cb
TForm4.KodeOtomatis; bJenisBrg.Text)+' order by
var kode,kode_jadi,nol, kd_barang';
head:string; Open;
begin if recordcount >0
if CbbJenisBrg.Text = then
'Kacamata' then begin
begin Last;
69
procedure
kode:=Fieldbyname('kd_baran TForm4.btnCariBrgClick(Send
g').AsString; er: TObject);
begin
kode_jadi:=RightStr(kode,4) with DM.ADOBarang do
; begin
active:=false;
kode:=IntToStr(StrToInt(kod close;
e_jadi)+1); SQL.Clear;
if
kode_jadi:=LeftStr(nol,4- cbbBerdasar.ItemIndex=0
length(kode))+kode; then SQL.Text:='select*from
barang where kd_barang
EditKdBrg.Text:=head+kode_j like'+QuotedStr('%'+Edit1.T
adi; ext+'%');
end if
else cbbBerdasar.ItemIndex=1
begin then SQL.Text:='select*from
barang where namabarang
EditKdBrg.Text:=head+'0001' like'+QuotedStr('%'+Edit1.T
; ext+'%');
end; if
end; cbbBerdasar.ItemIndex=2
end; then SQL.Text:='select*from
barang where jenis_barang
end; like'+QuotedStr('%'+Edit1.T
ext+'%');
procedure if
TForm4.btnCancelClick(Sende cbbBerdasar.ItemIndex=3
r: TObject); then SQL.Text:='select*from
begin barang where stok
EditKdBrg.Enabled:=False; like'+QuotedStr('%'+Edit1.T
EditNmBrg.Enabled:=False; ext+'%');
EditStok.Enabled:=False; if
EditHrgJual.Enabled:=False; cbbBerdasar.ItemIndex=4
CbbJenisBrg.Enabled:=False; then SQL.Text:='select*from
EditKdBrg.Text:=''; barang where harga_jual
EditNmBrg.Text:=''; like'+QuotedStr('%'+Edit1.T
EditStok.Text:=''; ext+'%');
EditHrgJual.Text:=''; Active:=true;
Edit1.Text:=''; if IsEmpty then
EditKdBrg.SetFocus; ShowMessage('Data tidak
BtnSimpanBrg.Enabled:=False ditemukan');
; end;
btnUbahBrg.Enabled:=False; end;
btnHapusBrg.Enabled:=False;
btnTambah.Enabled:=True; procedure
end; TForm4.btnHapusBrgClick(Sen
der: TObject);
begin
70
if if EditHrgJual.Text =''
Application.MessageBox('Apa then
kah anda yakin ingin begin
menghapus data yang showmessage('harga jual
dipilih','konfirmasi',MB_YE masih kosong');
SNO or EditHrgJual.SetFocus;
MB_ICONINFORMATION)=idyes end;
then begin
begin if MessageDlg('Yakin akan
DM.ADOBarang.Delete; hapus data?
end; '+DM.ADOBarang.Fieldbyname(
end; 'kd_barang').AsString+'?',m
tConfirmation,[mbYes,mbNo],
procedure 0)=mrYes then
TForm4.btnRefreshBrgClick(S with DM.ADOBarang do
ender: TObject); begin
begin Append;
ref;
FieldByname('kd_barang').As
end; String := EditKdBrg.Text;
procedure FieldByName('namabarang').A
TForm4.BtnSimpanBrgClick(Se sString := EditNmBrg.Text;
nder: TObject);
begin FieldByName('jenis_barang')
if EditKdBrg.Text = '' then .AsString :=
begin CbbJenisBrg.Text;
Showmessage('Kode
barang masih kosong'); FieldByName('stok').AsInteg
EditKdBrg.SetFocus; er :=
end else strtoint(EditStok.Text);
if EditNmBrg.Text = ''
then FieldByName('harga_jual').A
begin sInteger
Showmessage('nama :=Strtoint(EditHrgJual.Text
barang masih kosong'); );
EditNmBrg.SetFocus; Post;
end else MessageDlg('Data
if CbbJenisBrg.Text ='' telah
then tersimpan',mtinformation,[m
begin bok],0);
Showmessage(' Kategori SQL.Text := 'SELECT *
masih kosong'); FROM barang';
CbbJenisBrg.SetFocus; Open;
end else end;
if EditStok.Text ='' then KodeOtomatis;
begin ref;
Showmessage('stok masih end;
kosong'); end;
EditStok.SetFocus;
end else
71
procedure end;
TForm4.btnTambahClick(Sende bersih;
r: TObject); KodeOtomatis;
begin ref;
EditKdBrg.SetFocus; end;
BtnSimpanBrg.Enabled:=True;
btnHapusBrg.Enabled:=False;
btnUbahBrg.Enabled:=False; procedure
Bersih; TForm4.CbbJenisBrgChange(Se
nder: TObject);
end; begin
KodeOtomatis;
procedure end;
TForm4.btnUbahBrgClick(Send
er: TObject); procedure
begin TForm4.DBGrid1DblClick(Send
DBGrid1.SetFocus; er: TObject);
With DM.ADOBarang do begin
begin EditKdBrg.Text:=DBGrid1.Fie
EditKdBrg.Enabled:=true; lds[0].AsString;
EditNmBrg.Enabled:=true; EditNmBrg.Text:=DBGrid1.Fie
EditStok.Enabled:=true; lds[1].AsString;
CbbJenisBrg.Text:=DBGrid1.F
CbbJenisBrg.Enabled:=true; ields[2].AsString;
EditStok.Text:=DBGrid1.Fiel
EditHrgJual.Enabled:=true; ds[3].AsString;
EditHrgJual.Text:=DBGrid1.F
ields[5].AsString;
with DM.ADOBarang do EditNmBrg.Enabled:=True;
begin CbbJenisBrg.Enabled:=True;
Close; EditStok.Enabled:=True;
SQL.Text := 'UPDATE barang EditHrgJual.Enabled:=True;
SET
namabarang="'+EditNmBrg.Tex end;
t+'",
jenis_barang="'+CbbJenisBrg procedure
.Text+'", TForm4.FormShow(Sender:
stok="'+EditStok.Text+'", TObject);
harga_jual="'+EditHrgJual.T begin
ext+'" WHERE btnHapusBrg.Enabled:=True;
kd_Barang='+QuotedStr(EditK btnUbahBrg.Enabled:=True;
dBrg.Text); KodeOtomatis;
ExecSQL; ref;
MessageDlg('Data Berhasil end;
Diubah',mtinformation,[mbok
],0); end.
SQL.Text := 'SELECT * FROM
barang';
Open; Source code karyawan
begin procedure
EditKdUser.Clear; TForm10.btnCariBrgClick(Sen
EditNama.Clear; der: TObject);
EditTelp.Clear; begin
EditUsername.Clear; with DM.ADOUser do
EditPasswd.Clear; begin
Edit1.Clear; active:=false;
MemoAlamat.Clear; close;
end; SQL.Clear;
if
procedure cbbBerdasar.ItemIndex=0
TForm10.KodeOtomatis; then SQL.Text:='select*from
var hasil,no:string; tb_user where kd_user
nilai:string; like'+QuotedStr('%'+Edit1.T
i,n:integer; ext+'%');
begin if
if DM.ADOUser.RecordCount cbbBerdasar.ItemIndex=1
= 0 then then SQL.Text:='select*from
n:=1 else tb_user where nama
begin like'+QuotedStr('%'+Edit1.T
DM.ADOUser.Last; ext+'%');
if
no:=DM.ADOUser['kd_user']; cbbBerdasar.ItemIndex=2
for i:=3 to 6 do then SQL.Text:='select*from
begin tb_user where jk
nilai:=nilai+no[i]; like'+QuotedStr('%'+Edit1.T
n:=StrToInt(nilai)+1; ext+'%');
end; if
end; cbbBerdasar.ItemIndex=3
then SQL.Text:='select*from
case length tb_user where level
(Trim(IntToStr(n))) of like'+QuotedStr('%'+Edit1.T
1: hasil ext+'%');
:='U'+'000'+Trim(IntToStr(n if
)); cbbBerdasar.ItemIndex=4
2: hasil then SQL.Text:='select*from
:='U'+'00'+Trim(IntToStr(n) tb_user where alamat
); like'+QuotedStr('%'+Edit1.T
3: hasil ext+'%');
:='U'+'0'+Trim(IntToStr(n)) if
; cbbBerdasar.ItemIndex=5
4: hasil then SQL.Text:='select*from
:='U'+Trim(IntToStr(n)); tb_user where nomor_telp
end; like'+QuotedStr('%'+Edit1.T
EditKdUser.Text:=hasil; ext+'%');
EditKdUser.SelStart:=length Active:=true;
(Trim(hasil)); if IsEmpty then
ShowMessage('Data tidak
ditemukan');
end; end;
end;
73
FieldByName('nama').AsStrin
procedure g:=EditNama.Text;
TForm10.btnHapusBrgClick(Se FieldByName('jk').AsString:
nder: TObject); =cbbJK.Text;
begin FieldByName('level').AsStri
if ng:=cbbLevel.Text;
Application.MessageBox('Apa FieldByName('alamat').AsStr
kah anda yakin ingin ing:=MemoAlamat.Text;
menghapus data yang FieldByName('nomor_telp').A
dipilih','konfirmasi',MB_YE sString:=EditTelp.Text;
SNO or FieldByName('username').AsS
MB_ICONINFORMATION)=idyes tring:=EditUsername.Text;
then FieldByName('password').AsS
begin tring:=EditPasswd.Text;
DM.ADOUser.Delete; post;
end; Application.MessageBox('Yak
end; in Data
Disimpan?','Informasi',MB_O
procedure K+MB_ICONINFORMATION);
TForm10.btnRefreshBrgClick( end;
Sender: TObject); bersih;
begin KodeOtomatis;
DM.ADOUser.Close; EditKdUser.SetFocus;
DM.ADOUser.SQL.Clear; //FormShow(Sender);
DM.ADOUser.SQL.Append('sele end;
ct * from tb_user order by
kd_user desc');
DM.ADOUser.Open; end;
end;
procedure
procedure TForm10.btnUbahBrgClick(Sen
TForm10.BtnSimpanBrgClick(S der: TObject);
ender: TObject); begin
begin DBGrid1.SetFocus;
if (EditKdUser.Text='') or With DM.ADOUser do
(cbbLevel.Text='') or begin
(EditNama.Text='') or EditKdUser.Enabled:=true;
(EditUsername.Text='') then EditNama.Enabled:=true;
cbbJK.Enabled:=true;
Application.MessageBox('Inp cbbLevel.Enabled:=true;
utan tidak EditTelp.Enabled:=true;
valid!','Peringatan!',MB_OK MemoAlamat.Enabled:=true;
+MB_ICONWARNING)
else EditUsername.Enabled:=true;
begin EditPasswd.Enabled:=true;
with DM.ADOUser do
begin with DM.ADOUser do
Append; begin
FieldByName('kd_user').AsSt Close;
ring:=EditKdUser.Text; SQL.Text := 'UPDATE tb_user
SET
74
nama="'+EditNama.Text+'", EditTelp.Enabled:=True;
jk="'+cbbJK.Text+'", MemoAlamat.Enabled:=True;
level="'+cbbLevel.Text+'", EditUsername.Enabled:=True;
alamat="'+MemoAlamat.Text+' EditPasswd.Enabled:=True;
", end;
nomor_telp="'+EditTelp.Text
+'",
username="'+EditUsername.Te procedure
xt+'", TForm10.FormShow(Sender:
password="'+EditPasswd.Text TObject);
+'" WHERE begin
kd_user='+QuotedStr(EditKdU bersih;
ser.Text); KodeOtomatis;
ExecSQL; end;
MessageDlg('Data Berhasil
Diubah',mtinformation,[mbok end.
],0);
SQL.Text := 'SELECT * FROM //Source code Pelanggan
tb_user';
Open; procedure
end; TFormPelanggan.bersih;
end; begin
bersih; EditID.clear;
KodeOtomatis; EditNama.clear;
EditTelp.clear;
end; MemoAlamat.clear;
EditSPh.Clear;
procedure EditCyl.Clear;
TForm10.DBGrid1DblClick(Sen EditAs.Clear;
der: TObject); EditSphKiri.Clear;
begin EditCylKiri.Clear;
EditKdUser.Text:=DBGrid1.Fi EditAsKiri.Clear;
elds[0].AsString; end;
EditNama.Text:=DBGrid1.Fiel
ds[1].AsString; procedure
cbbJK.Text:=DBGrid1.Fields[ TFormPelanggan.KodeOtomatis
2].AsString; ;
cbbLevel.Text:=DBGrid1.Fiel var hasil,no:string;
ds[3].AsString; nilai:string;
EditTelp.Text:=DBGrid1.Fiel i,n:integer;
ds[4].AsString; begin
MemoAlamat.Text:=DBGrid1.Fi if
elds[5].AsString; DM.ADOPelanggan.RecordCount
EditUsername.Text:=DBGrid1. = 0 then
Fields[6].AsString; n:=1 else
EditPasswd.Text:=DBGrid1.Fi begin
elds[6].AsString; DM.ADOPelanggan.Last;
EditKdUser.Enabled:=True;
EditNama.Enabled:=True; no:=DM.ADOPelanggan['id_pel
cbbJK.Enabled:=True; anggan'];
cbbLevel.Enabled:=True; for i:=3 to 6 do
75
begin end;
nilai:=nilai+no[i];
n:=StrToInt(nilai)+1; procedure
end; TFormPelanggan.ButtonCariCl
end; ick(Sender: TObject);
begin
case length with DM.ADOPelanggan do
(Trim(IntToStr(n))) of begin
1: hasil active:=false;
:='P'+'000'+Trim(IntToStr(n close;
)); SQL.Clear;
2: hasil if cbbCari.ItemIndex=0
:='P'+'00'+Trim(IntToStr(n) then SQL.Text:='select*from
); pelanggan where
3: hasil id_pelanggan
:='P'+'0'+Trim(IntToStr(n)) like'+QuotedStr('%'+EditKtK
; unci.Text+'%');
4: hasil if cbbCari.ItemIndex=1
:='P'+Trim(IntToStr(n)); then SQL.Text:='select*from
end; pelanggan where
EditID.Text:=hasil; namapelanggan
EditID.SelStart:=length(Tri like'+QuotedStr('%'+EditKtK
m(hasil)); unci.Text+'%');
if cbbCari.ItemIndex=2
then SQL.Text:='select*from
end; pelanggan where alamat
like'+QuotedStr('%'+EditKtK
procedure unci.Text+'%');
TFormPelanggan.Refresh1Clic if cbbCari.ItemIndex=3
k(Sender: TObject); then SQL.Text:='select*from
begin pelanggan where no_telp
TsPelanggan.Show; like'+QuotedStr('%'+EditKtK
end; unci.Text+'%');
Active:=true;
procedure if IsEmpty then
TFormPelanggan.ButtonHapusC ShowMessage('Data tidak
lick(Sender: TObject); ditemukan');
begin end;
if end;
Application.MessageBox('Apa
kah anda yakin ingin procedure
menghapus data yang TFormPelanggan.ButtonRefCli
dipilih','konfirmasi',MB_YE ck(Sender: TObject);
SNO or begin
MB_ICONINFORMATION)=idyes DM.ADOPelanggan.Close;
then DM.ADOPelanggan.SQL.Clear;
begin DM.ADOPelanggan.SQL.Append(
DM.ADOPelanggan.Delete; 'select * from pelanggan
end; order by id_pelanggan
bersih; desc');
KodeOtomatis; DM.ADOPelanggan.Open;
76
end; id_pelanggan='+QuotedStr(Ed
itID.Text);
procedure ExecSQL;
TFormPelanggan.ButtonSimpan MessageDlg('Data Berhasil
Click(Sender: TObject); Diubah',mtinformation,[mbok
begin ],0);
with DM.ADOPelanggan do SQL.Text := 'SELECT * FROM
begin pelanggan';
Append; Open;
FieldByName('id_pelanggan') end;
.AsString:=EditID.Text; end;
FieldByName('namapelanggan' bersih;
).AsString:=EditNama.Text; KodeOtomatis;
FieldByName('alamat').AsStr end;
ing:=MemoAlamat.Text;
FieldByName('no_telp').AsSt procedure
ring:=EditTelp.Text; TFormPelanggan.DBGrid1DblCl
post; ick(Sender: TObject);
Application.MessageBox('Yak begin
in Data TsPelanggan.Show;
Disimpan?','Informasi',MB_O
K+MB_ICONINFORMATION); EditID.Text:=DBGrid1.Fields
end; [0].AsString;
bersih; EditNama.Text:=DBGrid1.Fiel
KodeOtomatis; ds[1].AsString;
EditID.SetFocus; MemoAlamat.Text:=DBGrid1.Fi
end; elds[2].AsString;
EditTelp.Text:=DBGrid1.Fiel
procedure ds[3].AsString;
TFormPelanggan.ButtonUbahCl EditID.Enabled:=True;
ick(Sender: TObject); EditNama.Enabled:=True;
begin MemoAlamat.Enabled:=True;
With DM.ADOPelanggan do EditTelp.Enabled:=True;
begin end;
EditID.Enabled:=true;
EditNama.Enabled:=true; procedure
MemoAlamat.Enabled:=true; TFormPelanggan.FormShow(Sen
EditTelp.Enabled:=true; der: TObject);
begin
with DM.ADOPelanggan do TsPelanggan.Show;
begin bersih;
Close; KodeOtomatis;
SQL.Text := 'UPDATE end;
pelanggan SET
namapelanggan="'+EditNama.T procedure
ext+'", TFormPelanggan.Hapus1Click(
alamat="'+MemoAlamat.Text+' Sender: TObject);
", begin
no_telp="'+EditTelp.Text+'" if
WHERE Application.MessageBox('Apa
kah anda yakin ingin
77
if DM.ADOFaset.Open;
cbbBerdasar.ItemIndex=2 end;
then SQL.Text:='select*from
faset where jk procedure
like'+QuotedStr('%'+Edit1.T TForm15.BtnSimpanClick(Send
ext+'%'); er: TObject);
if begin
cbbBerdasar.ItemIndex=4 if (EditKdFaset.Text='') or
then SQL.Text:='select*from (cbbJK.Text='') or
faset where alamat (EditNama.Text='') or
like'+QuotedStr('%'+Edit1.T (EditNama.Text='') then
ext+'%');
if Application.MessageBox('Inp
cbbBerdasar.ItemIndex=5 utan tidak
then SQL.Text:='select*from valid!','Peringatan!',MB_OK
faset where no_telp +MB_ICONWARNING)
like'+QuotedStr('%'+Edit1.T else
ext+'%'); begin
Active:=true; with DM.ADOFaset do
if IsEmpty then begin
ShowMessage('Data tidak Append;
ditemukan'); FieldByName('id_faset').AsS
end; tring:=EditKdFaset.Text;
end; FieldByName('namafaset').As
String:=EditNama.Text;
procedure FieldByName('jk').AsString:
TForm15.btnHapusClick(Sende =cbbJK.Text;
r: TObject); FieldByName('alamat').AsStr
begin ing:=MemoAlamat.Text;
if FieldByName('no_telp').AsSt
Application.MessageBox('Apa ring:=EditTelp.Text;
kah anda yakin ingin post;
menghapus data yang Application.MessageBox('Yak
dipilih','konfirmasi',MB_YE in Data
SNO or Disimpan?','Informasi',MB_O
MB_ICONINFORMATION)=idyes K+MB_ICONINFORMATION);
then end;
begin bersih;
DM.ADOFaset.Delete; KodeOtomatis;
end; end;
end; end;
procedure procedure
TForm15.btnRefreshClick(Sen TForm15.btnUbahClick(Sender
der: TObject); : TObject);
begin begin
DM.ADOFaset.Close; DBGrid1.SetFocus;
DM.ADOFaset.SQL.Clear; With DM.ADOFaset do
DM.ADOFaset.SQL.Append('sel begin
ect * from faset order by
id_faset desc'); EditKdFaset.Enabled:=true;
79
EditNama.Enabled:=true;
cbbJK.Enabled:=true; procedure
EditTelp.Enabled:=true; TForm15.FormShow(Sender:
MemoAlamat.Enabled:=true; TObject);
begin
with DM.ADOFaset do bersih;
begin KodeOtomatis;
Close; EditKdFaset.Enabled:=False;
SQL.Text := 'UPDATE faset end;
SET
namafaset="'+EditNama.Text+ end.
'",
jk="'+cbbJK.Text+'",no_telp
="'+EditTelp.Text+'", //Source Code Transaksi Penjualan
alamat="'+MemoAlamat.Text+'
" WHERE procedure TForm12.ref;
id_faset='+QuotedStr(EditKd begin
Faset.Text); with DM.ADOPenjualan do
ExecSQL; begin
MessageDlg('Data Berhasil active:=false;
Diubah',mtinformation,[mbok Close;
],0); sql.Clear;
SQL.Text := 'SELECT * FROM sql.Text:='select *
faset'; from penjualan';
Open; Open;
end; end;
end; end;
bersih;
KodeOtomatis; procedure TForm12.ref2;
end; begin
with DM.ADODetPenjualan
procedure do
TForm15.DBGrid1DblClick(Sen begin
der: TObject); Active:=False;
begin Close;
EditKdFaset.Text:=DBGrid1.F SQL.Clear;
ields[0].AsString; SQL.Text:='select*from
EditNama.Text:=DBGrid1.Fiel vdetjual';
ds[1].AsString; Open;
cbbJK.Text:=DBGrid1.Fields[ end;
2].AsString; end;
EditTelp.Text:=DBGrid1.Fiel
ds[3].AsString; procedure TForm12.bersih;
MemoAlamat.Text:=DBGrid1.Fi begin
elds[4].AsString; Edit1.Clear;
EditKdFaset.Enabled:=True; Edit2.Clear;
EditNama.Enabled:=True; Edit8.Clear;
cbbJK.Enabled:=True;
EditTelp.Enabled:=True; DateTimePicker1.Date:=Now;
MemoAlamat.Enabled:=True; Edit9.Clear;
end; Edit10.Clear;
80
FieldByName('totalkeseluruh
an').AsString:=Edit19.Text; Edit6.Text:=FieldByName('ua
FieldByName('bayar').AsStri ngmuka').AsString;
ng:=Edit11.Text;
FieldByName('kembalian').As Edit7.Text:=FieldByName('ke
String:=Edit12.Text; kurangan').AsString;
Panel1.Hide;
post; DBGrid4.Hide;
Application.MessageBox('Yak end;
in Data
Disimpan?','Informasi',MB_O PageControl1.ActivePage:=Ta
K+MB_ICONINFORMATION); bSheet1;
end;
bersih; end;
ref;
KodeOtomatis; procedure
end; TForm12.DBGrid5DblClick(Sen
der: TObject);
procedure begin
TForm12.DBGrid3DblClick(Sen with DM.ADOBarang do
der: TObject); begin
begin
with DM.ADOPelanggan do Edit13.Text:=FieldByName('k
begin d_barang').AsString;
Edit9.Text:=FieldByName('id Edit14.Text:=FieldByName('n
_pelanggan').AsString; amabarang').AsString;
Panel2.Hide;
DBGrid3.Hide; Edit15.Text:=FieldByName('h
end; arga_jual').AsString;
PageControl1.ActivePage:=Ta Panel4.Hide;
bSheet1; DBGrid5.Hide;
end; end;
end;
procedure
TForm12.DBGrid4DblClick(Sen procedure
der: TObject); TForm12.Edit12Exit(Sender:
begin TObject);
with DM.ADOPemesanan do var a,b,c:Integer;
begin begin
a:=StrToInt(Edit19.Text);
Edit2.Text:=FieldByName('no b:=StrToInt(Edit11.Text);
_pemesanan').AsString; c:=a-b;
Edit12.Text:=IntToStr(c);
Edit3.Text:=FieldByName('fa end;
set').AsString;
procedure
Edit9.Text:=FieldByName('id TForm12.Edit16Exit(Sender:
_pelanggan').AsString; TObject);
var a,b,c:Integer;
begin
82
a:=StrToInt(Edit15.Text); begin
b:=StrToInt(Edit16.Text); Panel1.Show;
c:=a*b; Panel1.Enabled:=True;
Edit17.Text:=IntToStr(c); DBGrid4.Visible:=True;
end; end;
procedure procedure
TForm12.FormShow(Sender: TForm12.sBitBtn2Click(Sende
TObject); r: TObject);
begin begin
DateTimePicker1.Date:=Now; with DM.ADOPenjualan do
bersih; begin
KodeOtomatis; active:=false;
PageControl1.ActivePage:=Ta close;
bSheet1; SQL.Clear;
Edit1.Enabled:=False; if
Panel1.Enabled:=False; ComboBox2.ItemIndex=0 then
Panel2.Enabled:=False; SQL.Text:='select*from '+'
Panel3.Enabled:=False; vjual where no_pemesanan
Panel4.Enabled:=False; like'+QuotedStr('%'+Edit5.T
DBGrid3.Visible:=False; ext+'%');
DBGrid4.Visible:=False; if
DBGrid5.Visible:=False; ComboBox2.ItemIndex=1 then
Edit8.Enabled:=False; SQL.Text:='select*from '+'
Edit8.Text:=DM.ADOLogin.Fie vjual where kd_jual
ldValues['kd_user']; like'+QuotedStr('%'+Edit5.T
ext+'%');
end; if
ComboBox2.ItemIndex=2 then
procedure SQL.Text:='select*from '+'
TForm12.Hapus1Click(Sender: vjual where namabarang
TObject); like'+QuotedStr('%'+Edit5.T
begin ext+'%');
n:=DM.ADOPenjualan.FieldVal if
ues['kd_jual']; ComboBox2.ItemIndex=3 then
with DM.ADOPenjualan do SQL.Text:='select*from '+'
begin vjual where kd_barang
Active:=False; like'+QuotedStr('%'+Edit5.T
Close; ext+'%');
sql.Clear; Active:=true;
sql.Text:='delete from if IsEmpty then
penjualan where ShowMessage('Data tidak
kd_jual='+QuotedStr(n); ditemukan');
ExecSQL; end;
end; end;
ref;
end; procedure
TForm12.sBitBtn3Click(Sende
procedure r: TObject);
TForm12.sBitBtn1Click(Sende begin
r: TObject); ref;
83
ComboBox2.ItemIndex:=0; FieldByName('jumlah').AsStr
Edit5.Text:=''; ing:=Edit16.Text;
end; FieldByName('totaljual').As
String:=Edit17.Text;
procedure post;
TForm12.sBitBtn4Click(Sende ShowMessage('Data berhasil
r: TObject); ditambahkan!');
begin hitung;
Panel3.Show; Panel3.Hide;
panel3.Enabled:=True; Ref2;
end; end;
end;
procedure
TForm12.sBitBtn5Click(Sende procedure
r: TObject); TForm12.sBitBtn9Click(Sende
begin r: TObject);
ref2; begin
end; Panel4.Show;
Panel4.Enabled:=True;
procedure DBGrid5.Visible:=True;
TForm12.sBitBtn6Click(Sende end;
r: TObject);
begin //Source Code Transaksi Pembelian
Panel3.Hide;
end; procedure TForm5.bersih;
begin
procedure EditNotaBeli.Clear;
TForm12.sBitBtn7Click(Sende EditKdBrg.Clear;
r: TObject); EditJml.Clear;
begin EditHarga.Clear;
Panel2.Show;
Panel2.Enabled:=True; DateTimePicker1.Date:=Now;
DBGrid3.Visible:=True; EditTotbel.Clear;
end; EditIdKrywn.Clear;
EditSupp.Clear;
procedure EditKtKunci.Clear;
TForm12.sBitBtn8Click(Sende end;
r: TObject);
begin procedure
with DM.ADODetPenjualan do TForm5.KodeOtomatis;
var
begin kd,kode_jadi,kode_tgl,nol:s
Append; tring;
begin
FieldByName('kd_jual').AsSt nol:='000';
ring:=Edit13.Text; with DM.ADOPembelian do
FieldByName('kd_barang').As begin
String:=Edit14.Text; Close;
FieldByName('hargajual').As SQL.Text:='select *
String:=Edit15.Text; from pembelian order by
kd_beli';
84
Open; begin
if recordcount >0 then with DM.ADODetPembelian
begin do
Last; begin
Active:=False;
kd:=Fieldbyname('kd_beli'). Close;
AsString; SQL.Clear;
SQL.Text:='select*from
kode_jadi:=RightStr(kd,3); vdetailbeli';
Open;
kd:=IntToStr(StrToInt(kode_ end;
jadi)+1); end;
kode_tgl:=FormatDateTime('m procedure
mddyy', TForm5.sBitBtn1Click(Sender
DateTimePicker1.Date); : TObject);
begin
kode_jadi:=LeftStr(Nol,3- ref2;
length(kd))+kd; end;
EditNotaBeli.text:='PMBL'+k procedure
ode_tgl+kode_jadi; TForm5.tambahhilang;
end begin
else EditNotaBeli.Text:='';
begin EditKdBrg.Text:='';
EditJml.Text:='';
kode_tgl:=FormatDateTime('m EditHarga.Text:='';
mddyy', EditTotbel.Text:='';
DateTimePicker1.Date); EditIdKrywn.Text:='';
EditSupp.Text:='';
EditNotaBeli.text:='PMBL'+k end;
ode_tgl+'001';
end; procedure TForm5.totbar;
end; begin
end; with DM.ADODetPembelian
do
begin
procedure TForm5.ref; sql.Clear;
begin sql.Text:='select
with DM.ADOPembelian do SUM(total) as totalnya from
begin detailpembelian';
active:=false; ExecSQL;
Close;
sql.Clear; EditTotbel.Text:=FieldByNam
sql.Text:='select * e('totalnya').AsString;
from vbeli'; ref;
Open; end;
end; end;
end;
procedure TForm5.ref2;
85
procedure procedure
TForm5.btnCariKodebrgClick( TForm5.btnTambahClick(Sende
Sender: TObject); r: TObject);
begin begin
Panel1.Show; with DM.ADODetPembelian do
Panel1.Enabled:=True;
end; begin
Append;
procedure
TForm5.btnSimpanClick(Sende FieldByName('kd_beli').AsSt
r: TObject); ring:=EditNotaBeli.Text;
begin FieldByName('kd_barang').As
{if (EditNotaBeli.Text='') String:=EditKdBrg.Text;
or (EditSupp.Text='') or FieldByName('harga').AsStri
(EditIdKrywn.Text='') or ng:=EditHarga.Text;
(EditKdBrg.Text='') then FieldByName('jumbeli').AsSt
ring:=EditJml.Text;
Application.MessageBox('Inp FieldByName('totalbeli').As
utan tidak String:=EditTotbel.Text;
valid!','Peringatan!',MB_OK post;
+MB_ICONWARNING) ShowMessage('Data berhasil
else } ditambahkan!');
with DM.ADOPembelian do Ref2;
begin end;
Append; end;
FieldByName('kd_beli').AsSt
ring:=EditNotaBeli.Text; procedure
FieldByName('kd_sup').AsStr TForm5.btnHapusClick(Sender
ing:=EditSupp.Text; : TObject);
FieldByName('kd_user').AsSt begin
ring:=EditIdKrywn.Text; z:=DM.ADODetPembelian.Field
FieldByName('tanggal').AsDa Values['No'];
teTime:=DateTimePicker1.Dat with DM.ADODetPembelian do
e; begin
FieldByName('totalkeseluruh Active:=False;
an').AsString:=EditTotbel.T Close;
ext; sql.Clear;
post; sql.Text:='delete from
Application.MessageBox('Yak detailpembelian where
in Data No='+QuotedStr(z);
Disimpan?','Informasi',MB_O ExecSQL;
K+MB_ICONINFORMATION); end;
end; KodeOtomatis;
bersih; ref2;
ref; end;
KodeOtomatis;
procedure
//FormShow(Sender); TForm5.Button1Click(Sender:
end; TObject);
begin
Panel2.Show;
86
Panel2.Enabled:=True; ref;
DBGrid4.Visible:=True; cbbCari.ItemIndex:=0;
end; EditKtKunci.Text:='';
end;
procedure
TForm5.Button2Click(Sender: procedure
TObject); TForm5.CariData1Click(Sende
begin r: TObject);
frxReport1.ShowReport(); begin
end; FCaripembelian.ShowModal;
end;
procedure
TForm5.ButtonCariClick(Send procedure
er: TObject); TForm5.DataPembelian1Click(
begin Sender: TObject);
with DM.ADOPembelian do begin
begin FormPembelian1.ShowModal;
active:=false; end;
close;
SQL.Clear; procedure
if cbbCari.ItemIndex=0 TForm5.DBGrid1DblClick(Send
then SQL.Text:='select*from er: TObject);
'+' vbeli where kd_beli begin
like'+QuotedStr('%'+EditKtK TabSheetPembelian.Show;
unci.Text+'%'); EditNotaBeli.Text:=DBGrid1.
if cbbCari.ItemIndex=1 Fields[0].AsString;
then SQL.Text:='select*from EditIdKrywn.Text:=DBGrid1.F
'+' vbeli where kd_sup ields[1].AsString;
like'+QuotedStr('%'+EditKtK EditSupp.Text:=DBGrid1.Fiel
unci.Text+'%'); ds[2].AsString;
if cbbCari.ItemIndex=2 DateTimePicker1.Date:=DBGri
then SQL.Text:='select*from d1.Fields[3].AsDateTime;
'+' vbeli where kd_user EditJml.Text:=DBGrid1.Field
like'+QuotedStr('%'+EditKtK s[4].AsString;
unci.Text+'%'); EditTotbel.Text:=DBGrid1.Fi
if cbbCari.ItemIndex=3 elds[5].AsString;
then SQL.Text:='select*from EditNotaBeli.Enabled:=True;
'+' vbeli where tanggal EditIdKrywn.Enabled:=True;
like'+QuotedStr('%'+EditKtK EditSupp.Enabled:=True;
unci.Text+'%'); DateTimePicker1.Enabled:=Tr
Active:=true; ue;
if IsEmpty then EditJml.Enabled:=True;
ShowMessage('Data tidak EditTotbel.Enabled:=True;
ditemukan');
end; end;
end;
procedure procedure
TForm5.ButtonRefreshClick(S TForm5.DBGrid3DblClick(Send
ender: TObject); er: TObject);
begin begin
87
procedure procedure
TForm5.DBGrid4DblClick(Send TForm5.HapusClick(Sender:
er: TObject); TObject);
begin begin
with DM.ADOSupplier do n:=DM.ADOPembelian.FieldVal
begin ues['kd_beli'];
with DM.ADOPembelian do
EditSupp.Text:=FieldByName( begin
'kd_sup').AsString; Active:=False;
Panel2.Hide; Close;
DBGrid4.Hide; sql.Clear;
end; sql.Text:='delete from
pembelian where
PageControl1.ActivePage:=Ta kd_beli='+QuotedStr(n);
bSheetPembelian; ExecSQL;
end;
end; ref;
end;
procedure
TForm5.EditJmlExit(Sender: //Source Code Pemesanan
TObject);
var a,b,c,d:Integer; procedure
begin TForm8.DBGrid3DblClick(Send
a:=StrToInt(EditHarga.Text) er: TObject);
; begin
b:=StrToInt(EditJml.Text); with DM.ADOBarang do
c:=a*b; begin
EditTotbel.Text:=IntToStr(c
); EditKdBrg.Text:=FieldByName
('kd_barang').AsString;
end;
EditHarga.Text:=FieldByName
procedure ('harga_jual').AsString;
TForm5.FormShow(Sender: Panel2.Hide;
TObject); DBGrid3.Hide;
begin end;
DateTimePicker1.Date:=Now; end;
88
procedure begin
TForm8.DBGrid4DblClick(Send
er: TObject); kode_tgl:=FormatDateTime('m
begin mddyy',
with DM.ADOFaset do DateTimePicker1.Date);
begin
EditNoPmsn.text:='PMS'+kode
Edit1.Text:=FieldByName('id _tgl+'001';
_faset').AsString; end;
Panel3.Hide; end;
DBGrid4.Hide; end;
end;
end; procedure TForm8.cetaknota;
begin
procedure with DM.ADOPemesanan do
TForm8.KodeOtomatis; begin
var close;
kd,kode_jadi,kode_tgl,nol:s SQL.Clear;
tring; SQL.Add('select * from
begin pemesanan where
nol:='000'; no_pemesanan="'+EditNoPmsn.
with DM.ADOPenjualan do Text+'"');
begin open;
Close; end;
SQL.Text:='select *
from pemesanan order by frxReport1.ShowReport();
no_pemesanan'; end;
Open;
if recordcount >0 then
begin
Last;
procedure
kd:=Fieldbyname('no_pemesan TForm8.sBitBtn1Click(Sender
an').AsString; : TObject);
begin
kode_jadi:=RightStr(kd,3); Panel1.Show;
Panel1.Enabled:=True;
kd:=IntToStr(StrToInt(kode_ DBGrid2.Visible:=True;
jadi)+1); end;
kode_tgl:=FormatDateTime('m procedure
mddyy', TForm8.sBitBtn2Click(Sender
DateTimePicker1.Date); : TObject);
begin
kode_jadi:=LeftStr(Nol,3- Panel2.Show;
length(kd))+kd; Panel2.Enabled:=True;
DBGrid3.Visible:=True;
EditNoPmsn.text:='PMS'+kode end;
_tgl+kode_jadi;
end
else
89
a:=StrToInt(EditHarga.Text) Edit4.Text:=DM.ADOLogin.Fie
; ldValues['kd_user'];
if Edit2.Text='' then b:=0 end;
else
b:=StrToInt(Edit2.Text); procedure
Edit3.Text:=IntToStr(a-b); TForm8.btnSimpanClick(Sende
r: TObject);
end; } begin
with DM.ADOPemesanan do
procedure TForm8.bersih; begin
begin Append;
EditNoPmsn.clear; FieldByName('no_pemesanan')
EditIdPlgn.clear; .AsString:=EditNoPmsn.Text;
EditKdBrg.clear; FieldByName('kd_user').AsSt
EditHarga.clear; ring:=Edit4.Text;
EditSPh.Clear; FieldByName('id_pelanggan')
EditCyl.Clear; .AsString:=EditIdPlgn.Text;
EditAs.Clear; FieldByName('kd_barang').As
EditSphKiri.Clear; String:=EditKdBrg.Text;
EditCylKiri.Clear; FieldByName('tanggalpesan')
EditAsKiri.Clear; .AsDateTime:=DateTimePicker
Edit1.Clear; 1.Date;
Edit2.Clear; FieldByName('faset').AsStri
Edit3.Clear; ng:=Edit1.Text;
Edit4.Clear; FieldByName('nilaikananSPH'
end; ).AsString:=EditSPh.Text;
FieldByName('nilaikananCYL'
procedure ).AsString:=EditCyl.Text;
TForm8.btnCetakClick(Sender FieldByName('nilaikananAS')
: TObject); .AsString:=EditAs.Text;
begin FieldByName('nilaikiriSPH')
cetaknota; .AsString:=EditSphKiri.Text
end; ;
FieldByName('nilaikiriCYL')
procedure .AsString:=EditCylKiri.Text
TForm8.btnHapusClick(Sender ;
: TObject); FieldByName('nilaikiriAS').
begin AsString:=EditAsKiri.Text;
if FieldByName('totalharga').A
Application.MessageBox('Apa sString:=EditHarga.Text;
kah anda yakin ingin FieldByName('uangmuka').AsS
menghapus data yang tring:=Edit2.Text;
dipilih','konfirmasi',MB_YE FieldByName('kekurangan').A
SNO or sString:=Edit3.Text;
MB_ICONINFORMATION)=idyes post;
then ShowMessage('Data Pemesanan
begin Sudah Tersimpan');
DM.ADOPemesanan.Delete; end;
end; bersih;
bersih; Refresh;
KodeOtomatis; KodeOtomatis;
91
EditNoPmsn.Enabled:=False; Edit2.Enabled:=True;
Edit4.Text:=DM.ADOLogin.Fie Edit3.Enabled:=True;
ldValues['kd_user']; end;
EditIdPlgn.SetFocus;
procedure
end; TForm8.DBGrid2DblClick(Send
er: TObject);
procedure begin
TForm8.DBGrid1DblClick(Send with DM.ADOPelanggan do
er: TObject); begin
begin
EditNoPmsn.Text:=DBGrid1.Fi EditIdPlgn.Text:=FieldByNam
elds[0].AsString; e('id_pelanggan').AsString;
EditIdPlgn.Text:=DBGrid1.Fi
elds[1].AsString; EditSPh.Text:=FieldByName('
EditKdBrg.Text:=DBGrid1.Fie sphkanan').AsString;
lds[2].AsString;
Edit4.Text:=DBGrid1.Fields[ EditCyl.Text:=FieldByName('
3].AsString; cylkanan').AsString;
DateTimePicker1.Date:=DBGri
d1.Fields[4].AsDateTime; EditAs.Text:=FieldByName('a
Edit1.Text:=DBGrid1.Fields[ skanan').AsString;
5].AsString;
EditSPh.Text:=DBGrid1.Field EditSphKiri.Text:=FieldByNa
s[6].AsString; me('sphkiri').AsString;
EditCyl.Text:=DBGrid1.Field
s[7].AsString; EditCylKiri.Text:=FieldByNa
EditAs.Text:=DBGrid1.Fields me('cylkiri').AsString;
[8].AsString;
EditSphKiri.Text:=DBGrid1.F EditAsKiri.Text:=FieldByNam
ields[9].AsString; e('askiri').AsString;
EditCylKiri.Text:=DBGrid1.F Panel1.Hide;
ields[10].AsString; DBGrid2.Hide;
EditAsKiri.Text:=DBGrid1.Fi end;
elds[11].AsString; end;
EditHarga.Text:=DBGrid1.Fie
lds[12].AsString; procedure
Edit2.Text:=DBGrid1.Fields[ TForm8.Edit3Exit(Sender:
13].AsString; TObject);
Edit3.Text:=DBGrid1.Fields[ var a,b,c:Integer;
14].AsString; begin
EditKdBrg.Enabled:=True; a:=StrToInt(EditHarga.Text)
DateTimePicker1.Enabled:=Tr ;
ue; b:=StrToInt(Edit2.Text);
EditSPh.Enabled:=False; c:=a-b;
EditCyl.Enabled:=False; Edit3.Text:=IntToStr(c);
EditAs.Enabled:=False; end;
EditSphKiri.Enabled:=False;
EditCylKiri.Enabled:=False; procedure
EditAsKiri.Enabled:=False; TForm8.FormShow(Sender:
EditHarga.Enabled:=True; TObject);
92
begin EditAs.Enabled:=False;
bersih; EditSphKiri.Enabled:=False;
refresh; EditAsKiri.Enabled:=False;
KodeOtomatis; EditSPh.Enabled:=False;
Edit4.Text:=DM.ADOLogin.Fie Panel1.Enabled:=False;
ldValues['kd_user']; Panel2.Enabled:=False;
DateTimePicker1.Date:=Now; Panel3.Enabled:=False;
EditNoPmsn.Enabled:=False; DBGrid2.Visible:=False;
Edit4.Enabled:=False; DBGrid3.Visible:=False;
Edit4.Text:=DM.ADOLogin.Fie DBGrid4.Visible:=False;
ldValues['kd_user'];
EditSPh.Enabled:=False;
EditCyl.Enabled:=False; end;