63
4. IMPLEMENTASI SISTEM Pada bab ini akan dijelaskan mengenai cara mengatur database program dan akan dijelaskan menu beserta submenunya secara detail. Untuk database menggunakan Microsoft SQL Server 2000 dan pembuatan program dengan menggunakan Borland Delphi 7. 4.1. Implementasi Database Database yang digunakan dalam pembuatan sistem administrasi pada Toko Foto Nirwana adalah Microsoft SQL Server 2000. Database yang dibuat sesuai dengan desain database yang dibuat pada Bab 3, seperti pada Gambar 4.1. Gambar 4.1 Tampilan Database Microsoft SQL Server 2000

4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

4. IMPLEMENTASI SISTEM

Pada bab ini akan dijelaskan mengenai cara mengatur database program

dan akan dijelaskan menu beserta submenunya secara detail. Untuk database

menggunakan Microsoft SQL Server 2000 dan pembuatan program dengan

menggunakan Borland Delphi 7.

4.1. Implementasi Database

Database yang digunakan dalam pembuatan sistem administrasi pada

Toko Foto Nirwana adalah Microsoft SQL Server 2000. Database yang dibuat

sesuai dengan desain database yang dibuat pada Bab 3, seperti pada Gambar 4.1.

Gambar 4.1 Tampilan Database Microsoft SQL Server 2000

Page 2: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

4.2.Setting Koneksi Database

Untuk koneksi database program dengan menggunakan komponen

ADOConnection.

Gambar 4.2 Komponen ADO Connection

Setelah itu untuk melakukan koneksi database, pilih connection string

pada object inspector nya ADOConnection.

Gambar 4.3 Object Inspector ADOConnection

Setelah itu, pilih connection string, kemudian tekan tombol build.

Setelah itu akan muncul gambar seperti Gambar 4.4 dibawah ini. Setelah itu pilih

Microsoft OLE DB Provider for SQL Server. Jika sudah benar tekan next, akan

Page 3: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

muncul Gambar 4.5. Pilih database yang digunakan dan tekan Test Connection

untuk memastikan database sudah bisa atau belum.

Gambar 4.4 OLE DB Provider SQL Server

Page 4: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Gambar 4.5 Data Link Properties

4.3.Implementasi Program

Setelah mengatur koneksi barulah user bisa menjalankan program ini.

Pada Form Main ada beberapa Menu dan juga beberapa Submenu. Pada Tabel 4.1

akan ditampilkan tiap menu dan juga submenu yang ada.

4.3.1. Menu dan Submenu

Tabel 4.1 Tabel Menu dan Submenu dari Form Main

Nama Menu Sub Menu Nama Form yang Digunakan

Master Supplier Master_Supplier

Customer Master_Customer

Pegawai Master_Pegawai

Barang Master_Barang

Barang Hasil Produksi FormMasterBrgProduksi

Mesin FormMasterMesin

Proses Produksi FormProsesProduksi

Page 5: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Transaksi Order Pembelian Form_Order_Pembelian

Pembelian FormPembelian

Retur Pembelian FormReturBeli

Pembayaran FormPembayaran

Penjualan FormPenjualan

Retur Penjualan FormReturPenjualan

Service Penerimaan Service FormPenerimaanService

Pengembalian Service FormPengembalianService

Pegawai Absensi FormAbsensiPegawai

Penggajian FormPenggajian

Panggilan Pemesanan Foto dan Video FormPemesananFotoVideo

Laporan Absensi FormReportAbsensiPegawai

Order Pembelian per Supplier FormReportOrderPembelian

Pembelian per Supplier FormReportPembelian

Pembelian per Barang FormReportPembelianPerBarang

Retur Pembelian per Barang FormReportReturPembelian

Penjualan per Barang FormReportPenjualanPerBarang

Hutang FormReportHutang

Pembayaran FormReportPembayaran

Pemesanan Foto Video FormReportPemesananFotoVideo

Cuci Cetak Pemesanan Cuci Cetak FormPemesananCuciCetak

Proses Proses Produksi FormProduksii

4.3.2. Nirwana

Nirwana adalah form main dari aplikasi ini.

Tabel 4.2 Daftar Procedure Form Main (Nirwana)

Nama Prosedur Fungsi Segmen

Program

procedure Msg(s: String; index: byte;

judul: String); Menampilkan pesan 4.1

procedure penggajian; Memeriksa waktu penerimaan gaji 4.2

function total_gaji (Kode_Pegawai :

string) : integer;

Menghitung total gaji pegawai beserta bonus

berdasarkan absensi 4.3

Page 6: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

function last_day (bulan,tahun :

integer) : integer;

Menentukan jumlah hari yang ada dari setiap

bulan 4.4

function get_tanggal_awal

(tanggal_masuk : TDate) : string; Menentukan tanggal awal dari tiap bulan 4.5

function get_tanggal (tanggal : TDate)

: integer; Mengambil tanggal 4.6

function get_bulan (bulan : TDate) :

integer; Mengambil bulan 4.7

function get_tahun (tahun : TDate) :

integer; Mengambil tahun 4.8

function StringToCurrency(str:

String): String; Mengubah dari string ke mata uang 4.9

function CurrencyToString(str:

String): String; Mengubah dari mata uang ke string 4.10

Segmen program 4.1. merupakan segmen yang digunakan untuk

menampilkan message dialog.

Segmen 4.1. Procedure Msg

procedure TNirwana.Msg(s: String; index: byte; judul: String);

begin

case index of

1: suiMessageDialog1.IconType := suiInformation;

2: suiMessageDialog1.IconType := suiWarning;

Segmen 4.1. Procedure Msg (lanjutan)

3: suiMessageDialog1.IconType := suiStop;

4: suiMessageDialog1.IconType := suiNone;

end;

suiMessageDialog1.Caption := judul;

suiMessageDialog1.Text := s;

suiMessageDialog1.ShowModal;

end;

Page 7: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.2 digunakan untuk memasukkan data pegawai ke dalam

database penggajian yang hari ini gajian.

Segmen 4.2. Procedure Penggajian

procedure TNirwana.penggajian;

begin

with QueryPenggajian do begin

Close;

SQL.Clear;

SQL.Add('select * from Pegawai where flag = 0');

Open;

end;

QueryPenggajian.First;

while not QueryPenggajian.Eof do begin

with QueryCek do begin

Close;

SQL.Clear;

SQL.Add('select * from Penggajian where Kode_Pegawai = :a

and Tanggal = :b');

Parameters.ParamByName('a').Value :=

QueryPenggajian['Kode_Pegawai'];

Parameters.ParamByName('b').Value := Floor(Now);

Open;

end;

if QueryCek.RecordCount = 0 then begin

Segmen 4.2. Procedure Penggajian (lanjutan)

dlm suatu bln dan tgl masuk > hari ini)

if (get_tanggal(QueryPenggajian['Tgl_Masuk']) =

get_tanggal(Now)) or ( (get_tanggal(QueryPenggajian['Tgl_Masuk'])

> last_day(get_bulan(Now),get_tahun(Now))) and

(get_tanggal(Now)=last_day(get_bulan(Now),get_tahun(Now))))then

begin

with QueryInsertPenggajian do begin

Close;

SQL.Clear;

Page 8: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

SQL.Add('insert into Penggajian values (:a, :b, :c,

:d)');

Parameters.ParamByName('a').Value :=

QueryPenggajian['Kode_Pegawai'];

Parameters.ParamByName('b').Value := Floor(Now);

Parameters.ParamByName('c').Value :=

total_gaji(QueryPenggajian['Kode_Pegawai']);

Parameters.ParamByName('d').Value := 'Belum Dibayar';

ExecSQL;

end;

end;

end;

QueryPenggajian.Next;

end;

end;

Segmen 4.3 digunakan untuk menghitung gaji pegawai beserta bonus

yang didapat. Penghitungan gaji ini berdasarkan absensinya.

Segmen 4.3. Function Total_Gaji function TNirwana.total_gaji(Kode_Pegawai: string): integer;

var gaji_harian, gaji_bulanan, total_absen : integer;

tanggal_masuk : TDate;

begin

Result := 0;

Segmen 4.3. Function Total_Gaji (lanjutan)

gaji_harian := 0;

gaji_bulanan := 0;

total_absen := 0;

with QueryTotalGaji do begin

Close;

SQL.Clear;

SQL.Add('Select * from Pegawai where Kode_Pegawai = :a');

Parameters.ParamByName('a').Value := Kode_Pegawai;

Open;

end;

Page 9: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

if QueryTotalGaji.RecordCount > 0 then begin

gaji_bulanan := QueryTotalGaji['Gaji'];

gaji_harian := gaji_bulanan div 30;

tanggal_masuk := QueryTotalGaji['Tgl_Masuk'];

end;

with QueryTotalGaji do begin

Close;

SQL.Clear;

SQL.Add('Select * from Absensi_Pgw where Kode_Pegawai = :a and

Tanggal >= :b and Tanggal < :c and Status = ''Tidak Masuk'' ');

Parameters.ParamByName('a').Value := Kode_Pegawai;

Parameters.ParamByName('b').Value := get_tanggal_awal(tanggal_masuk);

Parameters.ParamByName('c').Value := Floor(Now);

Open;

end;

if QueryTotalGaji.RecordCount > 0 then begin

total_absen := QueryTotalGaji.RecordCount;

end;

if total_absen <= 3 then begin

Result := gaji_bulanan + 3*gaji_harian * (3-total_absen);

end

Segmen 4.3. Function Total_Gaji (lanjutan)

else begin

Result := gaji_bulanan - (total_absen - 3)*gaji_harian;

end;

end;

egmen 4.4 digunakan untuk menentukan jumlah hari yang ada dari

setiap bula

Segmen 4.4. Function Last_Day

nction TNirwana.last_day(bulan,tahun: integer): integer;

S

n.

fu

begin

Page 10: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Result := 0;

hen begin

if bulan = 2 then begin

n

lt := 28;

if bulan = 3 then begin

if bulan = 4 then begin

if bulan = 5 then begin

if bulan = 6 then begin

if bulan = 7 then begin

if bulan = 1 t

Result := 31;

end

else

if tahun div 4 = 0 then begi

Result := 29;

end

else

Resu

end

else

Result := 31;

end

else

Result := 30;

end

else

Result := 31;

end

else

Result := 30;

end

else

Segmen 4.4. Function Last_Day (lanjutan)

Result := 31;

end

else if bulan = 8 then begin

Result := 31; end

else if bulan = 9 then begin

Result := 30;

end

else if bulan = 10 then begin

Result := 31;

end

else if bulan = 11 then begin

Result := 30;

Page 11: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

end

else if bulan = 12 then begin

Result := 31;

end;

end;

egmen 4.5 digunakan untuk menentukan tanggal awal dari setiap

bulan yang

egmen 4.5. Function Get_Tanggal_Awal

nction TNirwana.get_tanggal_awal(tanggal_masuk : TDate): string;

gal gajian umum

(get_tanggal(tanggal_masuk)) + '/' +

//skrg bln 1, bln lalu 12, tahun beda

anggal_masuk)) + '/12' + '/' +

S

digunakan untuk menghitung penggajian pegawai.

S

fu

var temp_tanggal : string;

begin

//tang

Result := IntToStr

IntToStr(get_bulan(Now)-1) + '/' + IntToStr(get_tahun(Now));

if get_bulan(Now) = 1 then begin

Result := IntToStr(get_tanggal(t

Segmen 4.5. Function Get_Tanggal_Awal (lanjutan)

IntToStr(get_tahun(Now)-1);

end;

//jika skrg tgl masuk 31, bln sblm 30

if get_tanggal(tanggal_masuk) > last_day(get_bulan(Now)-

1,get_tahun(Now)) then begin

Result := IntToStr(last_day(get_bulan(Now)-1,get_tahun(Now)))

+ '/' + IntToStr(get_bulan(Now)-1) + '/' +

IntToStr(get_tahun(Now));

end;

end;

Segmen 4.6 digunakan untuk mengambil hanya tanggalnya saja.

Page 12: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.6. Function Get_Tanggal

nction TNirwana.get_tanggal(tanggal: TDate): integer;

tanggal := DateToStr(tanggal);

oInt(Copy(temp_tanggal,1,2));

fu

var temp_tanggal : string;

begin

temp_

Result := 0;

Result := StrT

end;

Segmen 4.7 digunakan untuk mengambil hanya bulannya saja.

Segmen 4.7. Function Get_Bulan

nction TNirwana.get_bulan(bulan: TDate): integer;

bulan := DateToStr(bulan);

oInt(Copy(temp_bulan,4,2));

fu

var temp_bulan : string;

begin

temp_

Result := 0;

Result := StrT

end;

egmen 4.8 digunakan untuk mengambil hanya tahunnya saja.

Segmen 4.8. Function Get_Tahun

nction TNirwana.get_tahun(tahun: TDate): integer;

tahun := DateToStr(tahun);

oInt(Copy(temp_tahun,7,4));

S

fu

var temp_tahun : string;

begin

temp_

Result := 0;

Result := StrT

end;

Page 13: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.9 digunakan untuk mengubah string yang berupa angka

menjadi string yang berupa currency. Contohnya, jika terdapat string

‘125000750’ maka akan dirubah menjadi ‘125.000.750’.

Segmen 4.9. Function StringToCurrency

function TNirwana.StringToCurrency(str: String): String;

var i, counter: Integer;

tempResult: String;

begin

tempResult := '';

if Length(Trim(str)) > 0 then

begin

counter := 0;

for i := Length(str) downto 1 do

begin

counter := counter + 1;

if counter = 3 then

begin

tempResult := '.' + str[i] + tempResult;

counter := 0;

end

else

begin

tempResult := str[i] + tempResult;

Segmen 4.9. Function StringToCurrency (lanjutan)

end;

end;

if TempResult[1] = '.' then

begin

tempResult := Copy(tempResult,2,Length(tempResult));

end;

end;

Result := tempResult;

end;

Page 14: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.10 digunakan untuk mengubah string yang berupa currency

menjadi string yang berupa angka. Contohnya, jika terdapat string ‘125.000.750’

maka akan dirubah menjadi ‘125000750’.

Segmen 4.10. Function CurrencyToString

function TNirwana.CurrencyToString(str: String): String;

var i: Integer;

tempResult: String;

begin

tempResult := '';

if Length(Trim(str)) > 0 then

begin

for i := 1 to Length(str) do

begin

if str[i] <> '.' then

tempResult := tempResult + str[i];

end;

end;

Result := tempResult;

end;

4.3.3. Form Login

Daftar Procedure Form Login

Nama Prosedur Fungsi Segmen

Program

function valid_input : Boolean; Memeriksa username dan password benar

atau salah/

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

procedure

ButtonLoginClick(Sender:

TObject);

Menampilkan Form Main jika username dan

passwordnya benar

procedure ButtonQuitClick(Sender: Tidak jadi masuk ke dalam aplikasi

Page 15: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

TObject);

procedure FormActivate(Sender:

TObject); Mengosongkan username dan password

procedure

EditPasswordKeyPress(Sender:

TObject; var Key: Char);

Menampilkan Form Main jika username dan

passwordnya benar

4.3.4. Form Master Supplier

Daftar Procedure Form Master Supplier

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; Membuat kode supplier secara otomatis 4.11

procedure isi_kota; Memasukkan isi kota ke dalam combo box

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

function valid_input : Boolean; Memeriksa daa supplier sudah diisi dengan

benar atau tidak

procedure FormActivate(Sender:

TObject); Memanggil Button Clear

procedure ButtonClearClick(Sender:

TObject);

Mengosongkan edit text dan refresh dbgrib

master supplier

Tabel 4.4. Daftar Procedure Form Master Supplier (lanjutan)

Nama Prosedur Fungsi

Segmen

Program

procedure ButtonAddClick(Sender:

TObject);

Memasukkan data master supplier ke dalam

database 4.12

procedure ButtonGoClick(Sender:

TObject);

Mencari nama supplier jika ingin melihat,

menghapus atau mengubah

procedure

suiDBGrid1DblClick(Sender:

TObject);

Menampilkan ke dalam edit text

procedure

ButtonDeleteClick(Sender:

TObject);

Menghapus data supplier 4.13

procedure No telp tidak boleh diisi dengan huruf

Page 16: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

EditTelpKeyPress(Sender: TObject;

var Key: Char);

Segmen 4.11 digunakan untuk membuat Kode Customer secara

otomatis.

Segmen 4.11. Function Generate_Code function TMaster_Supplier.generate_code: string;

var

temp_angka : integer;

kode : string;

begin

kode := '';

with QueryCode do begin

close;

sql.Clear;

sql.Add('select * from Supplier');

open;

end;

if QueryCode.RecordCount > 0 then begin

temp_angka := QueryCode.RecordCount + 1;if temp_angka < 10

then begin kode := 'SUP000' + IntToStr(temp_angka);

Segmen 4.11. Function Generate_Code

end

else if temp_angka < 100 then begin

kode := 'SUP00' + IntToStr(temp_angka);

end

else if temp_angka < 1000 then begin

kode := 'SUP0' + IntToStr(temp_angka);

end

else if temp_angka < 10000 then begin

kode := 'SUP' + IntToStr(temp_angka);

end;

end

else begin

kode := 'SUP0001';

end;

Result := kode;

Page 17: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

end;

Segmen 4.12 digunakan untuk memasukkan data customer dan mengubah

data customer jika sudah ada. Sebelum dimasukkan maupun diubah terlebih

dahulu di cek sudah valid atau tidak.

Segmen 4.12. Procedure ButtonAddClick

procedure TMaster_Supplier.ButtonAddClick(Sender: TObject);

begin

if valid_input then begin

with QueryCek do begin

Close;

SQL.Clear;

SQL.Add('select * from supplier');

SQL.Add('where Kode_Supplier = :a');

Parameters.ParamByName('a').Value := Trim(EditKode.Text);

Open;

end;

//update supplier

Segmen 4.12. Procedure ButtonAddClick (lanjutan)

if QueryCek.RecordCount > 0 then begin

with QuerySupplier do begin

Close;

SQL.Clear;

SQL.Add('update supplier set Nama = :a,');

SQL.Add('Alamat = :b, Kota = :c, No_Telp = :d');

SQL.Add('where Kode_Supplier = :e');

Parameters.ParamByName('a').Value := EditNama.Text;

Parameters.ParamByName('b').Value := EditAlamat.Text;

Parameters.ParamByName('c').Value := ComboBoxKota.Text;

Parameters.ParamByName('d').Value := EditTelp.Text;

Parameters.ParamByName('e').Value := EditKode.Text;

ExecSQL;

end;

Msg('Data Sudah Dirubah',1,'Information');

ButtonClearClick(Sender);

end

Page 18: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

else begin

//insert supplier

with QuerySupplier do begin

Close;

SQL.Clear;

SQL.Add('insert into supplier values (:a, :b, :c, :d, :e,

:f)');

Parameters.ParamByName('a').Value := EditKode.Text;

Parameters.ParamByName('b').Value := EditNama.Text;

Parameters.ParamByName('c').Value := EditAlamat.Text;

Parameters.ParamByName('d').Value := EditTelp.Text;

Parameters.ParamByName('e').Value := ComboBoxKota.Text;

Parameters.ParamByName('f').Value := 0;

ExecSQL;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

ButtonClearClick(Sender);

end;

end; end;

Segmen 4.13 digunakan untuk menghapus data dari customer dengan

mengubah

Segmen 4.13. Procedure ButtonDeleteClick

ocedure TMaster_Supplier.ButtonDeleteClick(Sender: TObject);

QueryCek do begin

r;

ect * from supplier');

rim(EditKode.Text);

ryCek.RecordCount > 0 then begin

r;

flag dari 0 menjadi 1.

pr

begin

with

Close;

SQL.Clea

SQL.Add('sel

SQL.Add('where Kode_Supplier = :a');

Parameters.ParamByName('a').Value := T

Open;

end;

if Que

with QuerySupplier do begin

Close;

SQL.Clea

Page 19: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

SQL.Add('update supplier set flag = 1');

ditKode.Text;

ata Sudah Dihapus',1,'Information');

begin

Ada Data Yang Dihapus',1,'Information');

SQL.Add('where Kode_Supplier = :a');

Parameters.ParamByName('a').Value := E

ExecSQL;

end;

Msg('D

ButtonClearClick(Sender);

end

else

Msg('Tidak

end;

end;

4.3.5. Form Master Customer

ustomer Daftar Procedure Form Master C

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; customer secara otomatis Membuat kode

procedure isi_kota; Memasukkan isi kota ke dalam combo box

procedure Msg(s: String; index: Menampilkan pesan

byte; judul: String);

function valid_input : Boolean; Memeriksa data customer sudah diisi dengan

benar atau tidak

procedure FormActivate(Sender: emanggil Button Clear

TObject); M

procedure

ButtonClea

TObject);

rClick(Sender: Mengosongkan edit text dan refresh dbgrib

master customer

procedure ButtonAddClick(Sender: Memasukkan data master customer ke dalam

TObject); database

procedure ButtonGoClick(Sender: ama customer jika ingin melihat,

TObject);

Mencari n

menghapus atau mengubah

procedure

suiDBGrid

TObject);

1DblClick(Sender: Menampilkan ke dalam edit text

Page 20: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure

ButtonDele

TObject);

teClick(Sender: Menghapus data customer

procedure

EditTelpKe

TObject; var Key: Char);

yPress(Sender: No telp tidak boleh diisi dengan huruf

.3.6. Form Master Pegawai

Pegawai

4

Daftar Procedure Form Master

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; Membuat kode pegawai secara otomatis

procedure isi_kota; Memasukkan isi kota ke dalam combo box

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

function valid_input : Boolean; sudah diisi

Memeriksa data pegawai

dengan benar atau tidak

procedure FormActivate(Sender:

TObject); Memanggil Button Clear

procedure

ButtonClearClick(Sender: TObject);

refresh dbgrib

Mengosongkan edit text dan

master pegawai

procedure ButtonAddClick(Sender:

TObject);

Memasukkan data master pegawai ke

dalam database

procedure ButtonGoClick(Sender: gawai jika ingin melihat,

TObject);

Mencari nama pe

menghapus atau mengubah

procedure

suiDBGrid1

TObject);

DblClick(Sender: Menampilkan ke dalam edit text

procedure

ButtonDele

TObject);

teClick(Sender: Menghapus data pegawai

procedure

EditTelpKe

var Key: Char);

yPress(Sender: TObject; No telp tidak boleh diisi dengan huruf

procedure Jumlah gaji tidak boleh diisi dengan huruf

Page 21: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

EditGajiKe

var Key: Char);

yPress(Sender: TObject;

procedure EditGajiChange(Sender: Mengubah string menjadi mata uang

TObject);

.3.7. Form Master Barang

r Barang

4

Daftar Procedure Form Maste

Nama Prosedur Fungsi

Segmen

Program

function generate_code : string; t kode barang secara otomatis Membua

procedure ButtonClearClick(Sender: bgrib

TObject);

Mengosongkan edit text dan refresh d

master barang

procedure Msg(s: String; index: Menampilkan pesan

byte; judul: String);

function valid_input : Boolean; Memeriksa data barang sudah diisi dengan

benar atau tidak

procedure FormActivate(Sender: emanggil Button Clear

TObject); M

procedure ButtonAddClick(Sender: barang ke dalam

TObject);

Memasukkan data master

database

procedure ButtonGoClick(Sender: nama barang jika ingin melihat,

TObject);

Mencari

menghapus atau mengubah

procedure

suiDBGrid1

TObject);

DblClick(Sender: Menampilkan ke dalam edit text

procedure

ButtonDele

TObject);

teClick(Sender: Menghapus data barang

procedure

EditJumlah

TObject;

StokKeyPress(Sender: Jumlah stok tidak boleh diisi dengan huruf

procedure

ualKeyPress(Sender: Harga jual tidak boleh diisi dengan huruf EditHargaJ

TObject; var Key: Char);

Page 22: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

4.3.8. Form Master Barang Hasil Produksi

Daftar Procedure Form Master Barang

Nama Prosedur Fungsi

Segmen

Program

function generate_code : string; Membuat kode barang secara otomatis

procedure ButtonClearClick(Sender:

TObject);

Mengosongkan edit text dan refresh dbgrib

master barang

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

function valid_input : Boolean; Memeriksa data barang sudah diisi dengan

benar atau tidak

procedure FormActivate(Sender:

TObject); Memanggil Button Clear

procedure ButtonAddClick(Sender:

TObject);

Memasukkan data master barang ke dalam

database

procedure ButtonGoClick(Sender:

TObject);

Mencari nama barang jika ingin melihat,

menghapus atau mengubah

procedure

suiDBGrid1DblClick(Sender:

TObject);

Menampilkan ke dalam edit text

procedure

ButtonDeleteClick(Sender:

TObject);

Menghapus data barang

procedure

EditJumlahStokKeyPress(Sender:

TObject;

Jumlah stok tidak boleh diisi dengan huruf

procedure

EditHargaJualKeyPress(Sender:

TObject; var Key: Char);

Harga jual tidak boleh diisi dengan huruf

4.3.9. Form Master Mesin

Page 23: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Daftar Procedure Form Master Mesin

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; Membuat kode mesin secara otomatis

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

function valid_input : Boolean; Memeriksa data mesin sudah diisi dengan

benar atau tidak

procedure FormActivate(Sender:

TObject); Memanggil Button Clear

procedure ButtonClearClick(Sender:

TObject);

Mengosongkan edit text dan refresh dbgrib

master mesin

procedure ButtonAddClick(Sender:

TObject);

Memasukkan data master mesin ke dalam

database

procedure ButtonGoClick(Sender:

TObject);

Mencari nama mesin jika ingin melihat,

menghapus atau mengubah

procedure

suiDBGrid1DblClick(Sender:

TObject);

Menampilkan ke dalam edit text

procedure

ButtonDeleteClick(Sender:

TObject);

Menghapus data mesin

procedure

EditHargaBeliChange(Sender:

TObject);

Mengubah string ke mata uang

procedure

EditHargaBeliKeyPress(Sender:

TObject; var Key: Char);

Mengubah string ke mata uang

procedure

EditJangkaWaktuKeyPress(Sender:

TObject; var Key: Char);

Jangka waktu tidak boleh diisi dengan huruf

4.3.10. Form Master Proses Produksi

Page 24: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Daftar Procedure Form Master Proses Produksi

Nama Prosedur Fungsi Segmen

Program

function valid_input : boolean; Memeriksa nama mesin dan nama produksi

sudah diisi dengan benar atau tidak

function valid_input_bahan : boolean; Memeriksa data bahan dasar sudah diisi

dengan benar atau tidak

procedure Msg(s: String; index: byte;

judul: String); Menampilkan pesan

procedure

suiDBGrid1DblClick(Sender:

TObject);

Menampilkan nama barang hasil produksi

ke dalam edit text

procedure EditSearchChange(Sender:

TObject); Mencari nama barang hasil produksi

procedure FormActivate(Sender:

TObject); Menampilkan nama pada stringgrid

procedure suiButton1Click(Sender:

TObject);

Memasukkan nama produksi dan jenis

mesin apa yang digunakan

procedure

EditSearchBahanChange(Sender:

TObject);

Mencari bahan dasar

procedure

suiDBGrid2DblClick(Sender:

TObject);

Menampilkan nama bahan dasar ke dalam

edit text

procedure

ButtonAddBahanClick(Sender:

TObject);

Memasukkan bahan dasar ke dalam

stringgrid

procedure

StringGrid2SelectCell(Sender:

TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

Menghapus data yang ada di stringgrid

bahan dasar

procedure

StringGrid2KeyPress(Sender:

TObject; var Key: Char);

Menentukan kursor pada stringgrid

Daftar Procedure Form Master Proses Produksi (lanjutan)

Page 25: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure

EditJumlahBahanKeyPress(Sender:

TObject; var Key: Char);

Jumlah bahan tidak boleh diisi dengan huruf

procedure

ButtonSimpanClick(Sender:

TObject);

Menyimpan data ke dalam database

procedure ClearClick(); Mengembalikan tampilan ke keadaan

semula

4.3.11. Form Order Pembelian

Tabel 1.1. Daftar Procedure Form Order Pembelian

Nama Prosedur Fungsi

Segmen

Program

procedure FormActivate(Sender:

TObject);

Memanggil Button Clear dan menampilkan

tulisan pada stringgrid

procedure

EditSearchSupplierChange(Sender:

TObject);

Mencari data supplier

procedure

EditSearchBarangChange(Sender:

TObject);

Mencari data barang

function generate_code : string; Membuat no order pembelian secara

otomatis berdasarkan tanggal

function get_waktu( Waktu : integer

) : string;

Mengambil waktu hari ini untuk membuat

no order

procedure ButtonClearClick(Sender:

TObject); Mengembalikan tampilan seperti semula

procedure

suiDBGrid1DblClick(Sender:

TObject);

Memasukkan supplier ke dalam edit text

procedure

EditJumlahBarangKeyPress(Sender:

TObject; var Key: Char);

Jumlah barang tidak boleh diisi dengan

huruf

Tabel 4.11. Daftar Procedure Form Order Pembelian (lanjutan)

Page 26: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Nama Prosedur Fungsi Segmen

Program

procedure

suiDBGrid2DblClick(Sender:

TObject);

Menampilkan barang ke dalam edit text

procedure

EditHargaBarangChange(Sender:

TObject);

Harga barang tidak boleh diisi dengan huruf

function valid_input : Boolean; Memeriksa supplier sudah diisi atau belum

function valid_input_simpan :

Boolean;

Memeriksa data barang sudah diisi atau

belum

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

procedure

ButtonSimpanClick(Sender:

TObject);

Menyimpan data order pembelian ke dalam

database 4.14

function hitung_total : integer; Menghitung jumlah total order pembelian

procedure

StringGrid1KeyPress(Sender:

TObject; var Key: Char);

Menghapus data di stringgrid

procedure

StringGrid1SelectCell(Sender:

TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

Menentukan cursor dari stringgrid

Segmen 4.14 digunakan untuk memasukkan semua data order

pembelian ke dalam database order_pembelian dan detail_order_pembelian.

Sebelum dimasukkan di cek terlebih dahulu valid atau tidak.

Segmen 4.14. Procedure ButtonSimpanClick

procedure TForm_Order_Pembelian.ButtonSimpanClick(Sender:

TObject);

var i : integer;

begin

Segmen 4.14. Procedure ButtonSimpanClick (lanjutan)

Page 27: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

if valid_input_simpan then begin

with QueryOrderPembelian do begin

Close;

SQL.Clear;

SQL.Add('Insert into Order_Pembelian values (:a, :b, :c,

:d)');

Parameters.ParamByName('a').Value := EditOrder.Text;

Parameters.ParamByName('b').Value := EditKode.Text;

Parameters.ParamByName('c').Value := Floor(Now);

Parameters.ParamByName('d').Value := 'Belum Terpenuhi';

ExecSQL;

end;

for i := 1 to jumlah_item do begin

with QueryOrderPembelian do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Order_Pembelian values (:a,

:b, :c, :d)');

Parameters.ParamByName('a').Value := EditOrder.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

ExecSQL;

end;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

ButtonClearClick(Sender);

end;

end;

4.3.12. Form Pembelian

Tabel 1.2. Daftar Procedure Form Pembelian

Page 28: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; Membuat no nota pembelian secara otomatis

berdasarkan tanggal

function get_waktu( Waktu : integer

) : string;

Mengambil waktu hari ini untuk membuat

no nota

procedure ButtonClearClick(Sender:

TObject); Mengembalikan tampilan seperti semula

procedure FormActivate(Sender:

TObject);

Memanggil Button Clear dan menampilkan

tulisan pada stringgrid

procedure insert_order; Memasukkan no order ke dalam form

pembelian 4.15

procedure

ComboBox1Change(Sender:

TObject);

Berisi pembelian secara order atau tanpa

order

procedure

ComboBoxOrderChange(Sender:

TObject);

Berisi no order yang telah dilakukan

procedure

EditSearchSupplierChange(Sender:

TObject);

Mencari nama supplier

procedure

EditSearchBarangChange(Sender:

TObject);

Mencari nama barang

function hitung_total : integer; Untuk menghitung jumlah total pembelian

procedure

suiDBGrid1DblClick(Sender:

TObject);

Memasukkan nama supplier ke dalam edit

text

procedure

suiDBGrid2DblClick(Sender:

TObject);

Memasukkan nama barang ke dalam edit

text

function valid_input : Boolean; Memeriksa supplier sudah diisi atau belum

function valid_input_simpan :

Boolean;

Memeriksa data barang sudah diisi atau

belum

Tabel 4.12 Daftar Procedure Form Pembelian (lanjutan) function

get_kode_FIFO(Kode_Barang :

string) : string;

Memberi barang kode FIFO setiap

melakukan pembelian 4.16

Page 29: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure Msg(s: String; index: byte;

judul: String); Menampilkan pesan

procedure

ButtonSimpanClick(Sender:

TObject);

Menyimpan data pembelian ke dalam

database 4.17

procedure

EditHargaBarangKeyPress(Sender:

TObject; var Key: Char);

Harga barang tidak boleh diisi huruf

procedure

EditJumlahBarangKeyPress(Sender:

TObject; var Key: Char);

Jumlah barang tidak boleh diisi huruf

procedure

RadioButtonCashClick(Sender:

TObject);

Pembayaran cash

procedure

RadioButtonKreditClick(Sender:

TObject);

Pembayaran kredit

procedure

StringGrid1SelectCell(Sender:

TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

Menentukan cursor dari stringgrid

procedure

StringGrid1KeyPress(Sender:

TObject; var Key: Char);

Untuk menghapus data pada stringgrid

Segmen 4.15 digunakan untuk memasukkan no_order ke dalam Form

Pembelian.

Segmen 4.15. Procedure Insert_Order

procedure TFormPembelian.insert_order;

begin

ComboBoxOrder.Clear;

Segmen 4.15. Procedure Insert_Order (lanjutan)

with QueryOrder do begin

Close;

SQL.Clear;

Page 30: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

SQL.Add('Select * from Order_Pembelian where Status = ''Belum

Terpenuhi'' ');

Open;

end;

QueryOrder.First;

while not QueryOrder.Eof do begin

ComboBoxOrder.Items.Add(QueryOrder['No_Order']);

QueryOrder.Next;

end;

ComboBoxOrder.ItemIndex := 0;

end;

Segmen 4.16 digunakan untuk memberikan setiap barang Kode_FIFO

pada setiap transaksi pembelian. Contohnya ‘BRG0001-0001’.

Segmen 4.16. Function Get_Kode_FIFO function TFormPembelian.get_kode_FIFO(Kode_Barang: string):

string;

var

temp_angka : integer;

kode : string;

begin

Result := '';

kode := '';

with QueryCode do begin

close;

sql.Clear;

sql.Add('select * from Detail_Barang where Kode_Barang = :a');

Parameters.ParamByName('a').Value := Kode_Barang;

open;

end;

Segmen 4.16. Function Get_Kode_FIFO (lanjutan)

if QueryCode.RecordCount > 0 then begin

temp_angka := QueryCode.RecordCount + 1;

if temp_angka < 10 then begin

kode := Kode_Barang + '-000' + IntToStr(temp_angka);

Page 31: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

end

else if temp_angka < 100 then begin

kode := Kode_Barang + '-00' + IntToStr(temp_angka);

end

else if temp_angka < 1000 then begin

kode := Kode_Barang + '-0' + IntToStr(temp_angka);

end

else if temp_angka < 10000 then begin

kode := Kode_Barang + '-' + IntToStr(temp_angka);

end;

end

else begin

kode := Kode_Barang + '-0001';

end;

Result := kode;

end;

egmen 4.17 digunakan untuk memasukkan data – data pembelian.

Sebelum d

Segmen 4.17. Procedure ButtonSimpanClick lick(Sender: TObject);

integer;

ring;

lid_input_simpan then begin

do begin

r;

ert into Pembelian values (:a, :b, :c, :d,

S

imasukkan akan di cek terlebih dahulu valid atau tidak.

procedure TFormPembelian.ButtonSimpanC

var

i :

kode_FIFO : st

begin

if va

//insert pembelian

with QueryPembelian

Close;

SQL.Clea

SQL.Add('Ins

Segmen 4.17. Procedure ButtonSimpanClick (lanjutan)

:e, :f, :g, :h, :i)');

Parameters.ParamByName('a').Value := EditNota.Text;

if ComboBox1.ItemIndex = 0 then begin

Page 32: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('b').Value := ComboBoxOrder.Text;

end

else begin

Parameters.ParamByName('b').Value := '';

end;

Parameters.ParamByName('c').Value := EditKode.Text;

Parameters.ParamByName('d').Value := Floor(Now);

Parameters.ParamByName('e').Value := EditTotal.Text;

if RadioButtonCash.Checked then begin

Parameters.ParamByName('f').Value := 'Cash';

Parameters.ParamByName('g').Value :=

Floor(DateTimePicker1.Date);

Parameters.ParamByName('h').Value := 'Lunas';

end

else begin

Parameters.ParamByName('f').Value := 'Kredit';

Parameters.ParamByName('g').Value :=

Floor(DateTimePicker1.Date);

Parameters.ParamByName('h').Value := 'Belum Lunas';

end;

Parameters.ParamByName('i').Value := Floor(Now);

ExecSQL;

end;

//insert detail pembelian

for i := 1 to jumlah_item do begin

kode_FIFO := get_kode_FIFO(StringGrid1.Cells[0,i]);

with QueryPembelian do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Pembelian values (:a, :b, :c,

:d, :e, :f)');

Parameters.ParamByName('a').Value := EditNota.Text;

Segmen 4.17. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Page 33: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

Parameters.ParamByName('e').Value :=

StringGrid1.Cells[5,i];

Parameters.ParamByName('f').Value := kode_FIFO;

ExecSQL;

end;

//update stok barang

with QueryPembelian do begin

Close;

SQL.Clear;

SQL.Add('Update Barang set Jumlah_Stok = Jumlah_Stok + :a

where Kode_barang = :b');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

ExecSQL;

end;

//insert detail barang

with QueryPembelian do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Barang values (:a, :b, :c, :d,

:e, :f)');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('b').Value := EditNota.Text;

Parameters.ParamByName('c').Value := Floor(Now);

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

S

yName('e').Value :=

egmen 4.17. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamB

StringGrid1.Cells[3,i];

Page 34: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('f').Value := kode_FIFO;

ExecSQL;

end;

end;

//update status order

with QueryPembelian do begin

Close;

SQL.Clear;

SQL.Add('Update Order_Pembelian set Status = ''Terpenuhi''

where No_Order = :a');

Parameters.ParamByName('a').Value := ComboBoxOrder.Text;

ExecSQL;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

ButtonClearClick(Sender);

End;

end;

4.3.13. Form Retur Pembelian

abel 1.3. Daftar Procedure Form Retur Pembelian T

Nama Prosedur Fungsi Segmen

Program

procedure B nClearClick(Sender: utto

TObject); Mengembalikan tampilan seperti semula

procedure FormActivate(Sender: gil Button Clear dan menampilkan

tulisan pada stringgrid TObject);

Memang

procedure

ComboBoxSearchChange(Sender:

TObject);

Memilih supplier mana yang akan diretur

Tabel 4.14 Daftar Procedure Form Retur Pembelian (lanjutan)

1CellClick(Column:

TColumn);

Mengeluarkan detail barang

procedure

suiDBGrid

Page 35: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure

KeyDown(Sender:

hift:

;

Mengeluarkan detail barang suiDBGrid1

TObject; var Key: Word; S

TShiftState)

procedure

suiDBGrid1KeyUp(Sender:

TObject; var Key: Word; Shift:

TShiftState);

Mengeluarkan detail barang

function generate_code : string; Membuat no nota pembelian secara otomatis

berdasarkan tanggal

function get_waktu( Waktu : integer

) : string;

Mengambil waktu hari ini untuk membuat

no nota

procedure

form jumlah retur suiDBGrid2DblClick(Sender:

TObject);

Untuk menampilkan

function detail_valid_input : ta barang sudah diisi atau

belum

boolean;

Memeriksa da

procedure Msg(s: String; i

byte; judul: Strin

ndex:

g); Menampilkan pesan

procedure

ButtonSimpanClick(Sender: e

.18

TObject);

Menyimpan data retur pembelian ke dalam

databas4

Segmen 4.18 digunakan untuk m

p sukkan ek terlebih dahulu valid atau tidak.

Segmen 4.18. Procedure ButtonSimpanClick procedure TFormReturBeli.ButtonSimpanClick(Sender: TObject);

begin

n

emasukkan data – data retur

akan di cembelian. Sebelum dima

var i : integer;

if jum_brg_yg_diretur > 0 then begi

with QueryInsert do begin

Close;

Segmen 4.18. Procedure ButtonSimpanClick (lanjutan)

SQL.Clear;

SQL.Add('Insert into Retur_Pembelian values (:a, :b, :c)');

Parameters.ParamByName('a').Value := EditNoRetur.Text;

Page 36: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('b').Value :=

Copy(ComboBoxSearch.Text,1,7);

Parameters.ParamByName('c').Value := Floor(Now);

ExecSQL;

end;

for i := 1 to jum_brg_yg_diretur do begin

with QueryInsert do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Retur_Pembelian values (:a,

:b, :c, :d, :e)');

Parameters.ParamByName('a').Value := EditNoRetur.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.Param yName 'c').Value := B (

StringGrid1.Cells[1,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('e').Value :=

StringGrid1.Cells[4,i];

ExecSQL;

end;

end;

Msg('Barang Sudah Diretur',1,'Information');

ButtonClearClick(Sender);

end

else begin

Msg('Jumlah Yang diretur kosong',1,'Information');

end;

end;

4.3.14. Form Pembayaran

.4. Daftar Procedure Form Pembayaran Tabel 1

Nama Prosedur Fungsi

Segmen

Program

Page 37: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure ButtonClearClick(Sender:

TObject);

Mengembalikan tampilan seperti

semula

procedure

EditSearchChange(Sender:

TObject);

Mencari berdasarkan supplier

procedure

DblClick(Sender: Melakukan pembayaran 4.19 suiDBGrid1

TObject);

procedure suiButton2Click(Sender: Memanggil procedure DBGrid dblClick

TObject);

procedure FormActivate(Se

TObject);

nder: Refresh ADO Query

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

Segmen 4.19 digunakan untuk memasukkan data – data pembayaran

Segmen 4.

procedure TFormPembayaran.suiDBGrid1DblClick(Sender: TObject);

begin

then begin

with QueryBayar do begin

QL.Clear;

''Lunas'' where

rs.ParamByName('a').Value :=

yang telah dilunasi.

19. Procedure DBGrid1DblClick

if QueryPembayaran.RecordCount > 0

Close;

S

SQL.Add('Update Pembelian set Status =

No_Nota = :a');

Paramete

Segmen 4.19. Procedure DBGrid1DblClick (lanjutan)

QueryPembayaran['No_Nota'];

ExecSQL;

end;

Msg('Sudah Dibayar',1,'Information');

QueryPembayaran.Close;

QueryPembayaran.Open;

Page 38: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

end;

end;

4.3.15. Form Penjualan

abel 1.5. Daftar Procedure Form Penjualan T

Nama Prosedur Fungsi Segmen

Program

fu e_cembelian secara otomatis

berdasarkan tanggal nction generat ode : string;

Membuat no nota p

function get_waktu( Waktu : integer ) : Mengambil waktu hari ini untuk membuat no

string; nota

procedure FormActivate(Sender:

TObject);

Memanggil buttonclear dan mengisi judul

stringgrid

procedure ButtonClearClick(Sender:

TObject); Menampilkan tampilan semula

procedure

suiDBGrid2DblClick(Sender: an nama barang ke dalam edit text

TObject);

Memasukk

procedure

EditSearch

TObject);

BarangChange(Sender: Untuk mencari barang

procedure

EditHargaB

TObject; var Key: Char);

arangKeyPress(Sender: Harga barang harus diisi dengan angka

procedure

EditJumlah

TObject; var Key: Char);

BarangKeyPress(Sender: Jumlah barang harus diisi dengan angka

Tabel 4procedure

EditHargaBarangChange(S

.16 Daftar Procedure Form Penjualan (lanjutan)

ender:

Object);

Mengubah string menjadi mata uang

T

pr alan ke dalam

database 4.20

ocedure ButtonSimpanClick(Sender: Memasukkan data penju

TObject);

procedure Menghapus data yang ada di stringgrid

Page 39: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

StringGrid1KeyPress(Sender: TObject;

var Key: Char);

procedure

StringGrid1

TObject; ACol, ARow: Integer; var

CanSelect: Boole

SelectCell(Sender:

an);

Menentukan letak cursor

function valid_input:boolean; Memeriksa supplier sudah diisi atau belum

function valid_input_simpan : Boolean; dah diisi atau belum Memeriksa data barang su

function hitung_total:integer; Untuk menghitung jumlah total pembelian

procedure Msg(s: String; index: byte;

judul: String); Menampilkan pesan

Segmen 4.20 digunak enj lan ke

n. Sebelum dimasukkan di cek

rlebih dahulu valid atau tidak.

var i,jumlah : integer;

gin

alan

with QueryPenjualan do begin

lose;

ualan values (:a, :b, :c)');

Value := EditNota.Text;

rs.ParamByName('b').Value := Floor(Now);

an untuk memasukkan data – data p ua

dalam database penjualan dan juga detail_penjuala

te

Segmen 4.20. Procedure ButtonSimpanClick

procedure TFormPenjualan.ButtonSimpanClick(Sender: TObject);

be

if valid_input_simpan then begin

//insert master penju

C

SQL.Clear;

SQL.Add('insert into Penj

Parameters.ParamByName('a').

Paramete

Segmen 4.20. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('c').Value := EditTotal.Text;

ExecSQL;

end;

//Insert Detail

for i := 1 to jumlah_item do begin

Page 40: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

jumlah := StrToInt(StringGrid1.Cells[3,i]);

with QueryJumlahBarang do begin

Close;

SQL.Clear;

SQL.Add('Select * From Detail_Barang where Kode_Barang =

:a Order By Kode_FIFO');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[0,i];

Open;

end;

QueryJumlahBarang.First;

while jumlah <> 0 do begin

//insert detail jika jumlahbrg dr suatu nota beli >= dr

jumlah brg yg dijual

if QueryJumlahBarang['Jumlah'] >= jumlah then begin

with QueryPenjualan do begin

Close;

SQL.Clear;

SQL.Add('insert into Detail_Penjualan values(:a, :b,

:c, :d, :e, :f, :g, 0)');

Parameters.ParamByName('a').Value := EditNota.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value := jumlah;

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

Parameters.ParamByName('e').Value := jumlah *

StrToInt(Nirwana.CurrencyToString(StringGrid1.Cells[4,i]));

Parameters.ParamByName('f').Value :=

QueryJumlahBarang['Kode_FIFO'];

if RadioButtonTidak.Checked then begin

Segmen 4.20. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('g').Value := 'Tidak'

end

else begin

Parameters.ParamByName('g').Value := 'Dapat'

end;

ExecSQL;

Page 41: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

end;

jumlah := 0;

end

else begin

//insert detail jika jumlahbrg dr suatu nota beli < dr

jumlah brg yg dijual

with QueryPenjualan do begin

Close;

SQL.Clear;

SQL.Add('insert into Detail_Penjualan values(:a, :b,

:c, :d, :e, :f, :g, 0)');

Parameters.ParamByName('a').Value := EditNota.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value :=

QueryJumlahBarang['Jumlah'];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

Parameters.ParamByName('e').Value :=

QueryJumlahBarang['Jumlah'] *

StrToInt(Nirwana.CurrencyToString(StringGrid1.Cells[4,i]));

Parameters.ParamByName('f').Value :=

QueryJumlahBarang['Kode_FIFO'];

if RadioButtonTidak.Checked then begin

Parameters.ParamByName('g').Value := 'Tidak'

end

else begin

Parameters.ParamByName('g').Value := 'Dapat'

end;

ExecSQL;

end;

Segmen 4.20. Procedure ButtonSimpanClick (lanjutan)

jumlah := jumlah - QueryJumlahBarang['Jumlah'];

end;

QueryJumlahBarang.Next;

end;

with QueryPenjualan do begin

Close;

SQL.Clear;

Page 42: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

SQL.Add('update Barang set Jumlah_Stok = Jumlah_Stok - :a

where Kode_Barang = :b');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

ExecSQL;

end;

end;

with QueryJumlahBarang do begin

Close;

SQL.Clear;

SQL.Add('Select * from Detail_Penjualan where No_Nota =

:a');

Parameters.ParamByName('a').Value := EditNota.Text;

Open;

end;

QueryJumlahBarang.First;

while not QueryJumlahBarang.Eof do begin

with QueryPenjualan do begin

Close;

SQL.Clear;

SQL.Add('update Detail_Barang set Jumlah = Jumlah - :a

where Kode_FIFO = :b');

Parameters.ParamByName('a').Value :=

QueryJumlahBarang['Jumlah'];

Parameters.ParamByName('b').Value :=

QueryJumlahBarang['Kode_FIFO'];

ExecSQL;

Segmen 4.20. Procedure ButtonSimpanClick (lanjutan)

end;

QueryJumlahBarang.Next;

end;

with FormNotaPenjualan do begin

ADOQuery1.Close;

Page 43: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

ADOQuery1.Parameters.ParamByName('a').Value :=

EditNota.Text;

ADOQuery1.Open;

if ADOQuery1.RecordCount > 0 then

begin

QuickRep1.Preview;

end;

end;

ButtonClearClick(Sender);

end;

end;

4.3.16. Form Retur Penjualan

Daftar Procedure Form Retur Penjualan Tabel 1.6.

Nama Prosedur Fungsi Segmen

Program

function get_waktu( Waktu : integer ) :

string;

Mengambil waktu hari ini untuk membuat

no nota

function generate_code : string; at no nota pembelian secara Membu

otomatis berdasarkan tanggal

function detail_valid_input : boolean; umlah barang yang diretur Memeriksa j

function valid_input_simpan : boolean; Memeriksa data barang sudah diisi atau

belum

procedure Msg(s: String; index: byte;

judul: String); Menampilkan pesan

function valid_input:boolean; Memeriksa supplier sudah diisi atau belum

function hitung_total:integer; Menghitung jumlah total retur penjualan

Tabel 4.17 Daftar Procedure Form Retur Penjualan (lanjutan)

function hitung_total_retur:integer; ng

iretur

Menghitung jumlah total barang ya

d

function hitung_total_bayar:integer; Menghitung jumlah total yang harus

dibayar

procedure ButtonClearClick(Sender: balikan tampilan seperti semula

TObject); Mengem

Page 44: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure FormActivate(Sender: gil Button Clear dan menampilkan

TObject); tulisan pada

Memang

stringgrid

procedure suiDBGrid2DblClick(Sender: Menampilka form jumlah retur

TObject);

procedure StringGrid1SelectCell(Sender:

Boolean);

enentukan cursor dari stringgrid TObject; ACol, ARow: Integer; var

CanSelect:

M

procedure StringGrid1KeyPress(Sender:

TObject; var Key: Char); Menghapus data di stringgrid

procedure suiDBGrid1DblClick(Sender: Memasukkan nama barang ke dalam edit

xt

TObject); te

procedure EditHargaKeyPress(Sender:

TObject; var Key: Char); Harga harus diisi dengan angka

procedure EditHargaChange(Sender: ubah string menjadi mata uang

TObject); Meng

procedure EditJumlahKeyPress(Sender: lah harus diisi dengan angka

TObject; var Key: Char); Jum

procedure

EditSearchBarangChange(Sender:

TObject);

Mencari nama barang

procedure

StringGridTukarDenganKeyPress(S

TObject; va

ender:

r Key: Char);

nggrid Menghapus data di stri

procedure

TObject);

ButtonSimpanClick(Sender: Menyimpan data retur penjualan ke dalam 4.21

database

Segmen 4.21 digunak

penjualan. Sebelum

an untuk memasukkan data – data retur

dimasukkan akan di cek terlebih dahulu valid atau tidak.

procedure TFormReturPenjualan.ButtonSimpanClick(Sender: TObject);

var i, jumlAh:integer;

alan

h QueryInsert do begin

Segmen 4.21. Procedure ButtonSimpanClick

begin

if valid_input_simpan then begin

//insert retur penju

wit

Page 45: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Close;

SQL.Clear;

SQL.Add('Insert into Retur_Penjualan values (:a, :b)');

rs.ParamByName('a').Value := EditNoRetur.Text;

aramByName('b').Value := Floor(Now);

:= 1 to jum_brg_yg_diretur do begin

//update detail penjualan : jumlah retur

with QueryInsert do begin

Penjualan set Jumlah_Retur =

a where No_Nota = :b and Kode_FIFO = :c');

me('a').Value := StringGrid1.Cells[4,i];

sert do begin

e;

tail_Retur_Penjualan values (:a,

:f)');

aramByName('a').Value := EditNoRetur.Text;

Paramete

Parameters.P

ExecSQL;

end;

for i

Close;

SQL.Clear;

SQL.Add('Update Detail_

Jumlah_Retur + :

Parameters.ParamByNa

Parameters.ParamByName('b').Value := StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value := StringGrid1.Cells[2,i];

ExecSQL;

end;

//insert detail barang yg diretur

with QueryIn

Clos

SQL.Clear;

SQL.Add('insert into De

:b, :c, :d, :e,

Parameters.P

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Segmen 4.21. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[1,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[5,i];

Parameters.ParamByName('e').Value :=

StringGrid1.Cells[2,i];

Parameters.ParamByName('f').Value :=

StringGrid1.Cells[4,i];

Page 46: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

ExecSQL;

end;

//update stok barang(bertambah) yg diretur

with QueryInsert do begin

Close;

SQL.Clear;

SQL.Add('update Barang set Jumlah_Stok = Jumlah_Stok + :a

where Kode_Barang = :b ');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[4,i];

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[1,i];

ExecSQL;

end;

//update detail_barang yg diretur (bertambah) berdasarkan

kode_FIFO

with QueryInsert do begin

Close;

SQL.Clear;

SQL.Add('Update Detail_Barang set Jumlah = Jumlah + :a

where Kode_FIFO = :b');

Parameters.ParamByName('a').Value :=

StringGrid1.Cells[4,i];

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[2,i];

ExecSQL;

end;

end;

Segmen 4.21. Procedure ButtonSimpanClick (lanjutan)

Barang set Jumlah_Stok = Jumlah_Stok - :a where SQL.Add('update

Kode_Barang = :b ');

Parameters.ParamByName('a').Value :=

StringGridTukarDengan.Cells[3,i];

Parameters.ParamByName('b').Value :=

StringGridTukarDengan.Cells[0,i];

ExecSQL;

end;

Page 47: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

with QueryJumlahBarang do begin

Close;

SQL.Clear;

SQL.Add('Select * From Detail_Barang where Kode_Barang =

:a Order By Kode_FIFO');

Parameters.ParamByName('a').Value :=

StringGridTukarDengan.Cells[0,i];

Open;

end;

//insert ke detail penjualan seperti FormPenjualan

QueryJumlahBarang.First;

while jumlah <> 0 do begin

//insert detail jika jumlahbrg dr suatu nota beli >= dr

jumlah brg yg dijual

if QueryJumlahBarang['Jumlah'] >= jumlah then begin

with QueryInsert do begin

Close;

SQL.Clear;

SQL.Add('insert into

Detail_Retur_Penjualan_Pengembalian_Barang values(:a, :b, :c, :d,

:e)');

Parameters.ParamByName('a').Value := EditNoRetur.Text;

Parameters.ParamB := yName('b').Value

StringGridTukarDengan.Cells[0,i];

Parameters.ParamByName('c').Value := jumlah;

Segmen 4.21. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('d').Value :=

StringGridTukarDengan.Cells[4,i];

Parameters.ParamByName('e').Value :=

QueryJumlahBarang['Kode_FIFO'];

ExecSQL;

end;

jumlah := 0;

end

else begin

Page 48: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

//insert detail jika jumlahbrg dr suatu nota beli < dr

jumlah brg yg dijual

with QueryInsert do begin

Close;

SQL.Clear;

SQL.Add('insert into

Detail_Retur_Penjualan_Pengembalian_Barang values(:a, :b, :c, :d,

:e)');

Parameters.ParamByName('a').Value := EditNoRetur.Text;

Parameters.ParamByName('b').Value :=

StringGridTukarDengan.Cells[0,i];

Parameters.ParamByName('c').Value := QueryJumlahBarang['Jumlah'];

Parameters.ParamByName('d').Value :=

StringGridTukarDengan.Cells[4,i];

Parameters.ParamByName('e').Value :=

QueryJumlahBarang['Kode_FIFO'];

ExecSQL;

end;

jumlah := jumlah - QueryJumlahBarang['Jumlah'];

end;

QueryJumlahBarang.Next;

end;

//update detail barang (berkurang)

with QueryJumlahBarang do begin

Close;

SQL.Clear;

Segmen 4.21. Procedure ButtonSimpanClick (lanjutan)

'Select * from SQL.Add(

Detail_Retur_Penjualan_Pengembalian_Barang where No_Retur = :a');

Parameters.ParamByName('a').Value := EditNoRetur.Text;

Open;

end;

QueryJumlahBarang.First;

while not QueryJumlahBarang.Eof do begin

with QueryInsert do begin

Close;

SQL.Clear;

Page 49: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

SQL.Add('update Detail_Barang set Jumlah = Jumlah - :a

where Kode_FIFO = :b');

Parameters.ParamByName('a').Value :=

QueryJumlahBarang['Jumlah'];

Parameters.ParamByName('b').Value :=

QueryJumlahBarang['Kode_FIFO'];

ExecSQL;

end;

QueryJumlahBarang.Next;

end;

end;

ButtonClearClick(Sender);

end;

end;

4.3.17. Form Penerimaan Service

abel 1.7. Daftar Procedure Form Penerimaan Service T

Nama Prosedur Fungsi Segmen

Program

procedure ButtonClearClick(Sender: balikan tampilan seperti semula

TObject); Mengem

procedure ButtonGoClick(Sender:

TObject); Mencari data customer

Tabel 4.18. Daftar Procedure Form Penerimaan Service (lanjutan)

Nama Prosedur Fungsi Segmen

Program

function get_waktu( Waktu : integer Mengambil waktu hari ini untuk membuat

ce ) : string; no servi

function generate_code : string; Membuat kode service otomatis

procedure FormActivate(Sender: l Button Clear

TObject); Memanggi

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

function valid_input : Boolean; Memeriksa data sudah diisi atau belum

Page 50: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure

ButtonSimpanClick(Sender:

TObject);

Menyimpan data service ke dalam database .22 4

procedure

suiDBGrid1DblClick(Sender:

text

TObject);

Memasukkan nama customer ke dalam edit

Segmen 4.22 digunakan untuk memasukkan data – data penerimaan

ervice. Sebelum dimasukkan akan di cek terlebih dahulu data tersebut valid atau

tidak.

n 4.22. Procedure ButtonSimpanClick

ice.ButtonSimpanClick(Sender:

bject);

input then begin

h QueryService do begin

Add('insert into Service values (:a, :b, :c, :d, :e,

rameters.ParamByName('b').Value := EditKode.Text;

s

Segme

procedure TFormPenerimaanServ

TO

begin

if valid_

wit

Close;

SQL.Clear;

SQL.

:f)');

Parameters.ParamByName('a').Value := EditService.Text;

Pa

Parameters.ParamByName('c').Value := EditBarang.Text;

Parameters.ParamByName('d').Value := Floor(Now);

Segmen 4.22. Procedure ButtonSimpanClick (lanjutan)

Parameters.ParamByName('e').Value := MemoKeterangan.Text;

Parameters.ParamByName('f').Value := 'Belum Selesai';

ExecSQL;

end;

with FormReportTandaTerimaService.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('select S.*, C.Nama as Nama_Customer, C.Alamat as

Alamat_Customer, C.No_Telp as Telepon, C.Kota as Kota');

SQL.Add('from Customer C, Service S');

SQL.Add('where No_Service = :a');

Page 51: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('a').Value := EditService.Text;

Open;

end;

FormReportTandaTerimaService.QuickRep1.Preview;

ButtonClearClick(Sender);

end;

end;

4.3.18. Form Pengembalian Service

abel 1.8. Daftar Procedure Form Pengembalian Service T

Nama Prosedur Fungsi Segmen

Program

function vali put : Boolean; Memeriksa data sudah diisi atau bed_in lum

function valid_input_detail :

Boolean;

Memeriksa keterangan dan biaya sudah diisi

atau belum

procedure

EditBiayaKeyPress(Sender:

TObject; var Key: Char);

Biaya harus diisi dengan angka

procedure

ButtonSimp

TObject);

anClick(Sender: ata order pembelian ke dalam

database 4.23

Menyimpan d

Tabel 4.1procedure Msg(s: String;

byte; judul: Strin

9 Daftar Procedure Formindex:

g); kan pesan

Pengembalian Service (lanjutan)

Menampil

procedure ButtonClearClick(Sender:

TObject); Mengembalikan tampilan seperti semula

procedure FormActivate(Sender:

TObject); Memanggil Button Clear

procedure

suiDBGrid1DblClick(Sender: ext

TObject);

Memasukkan data service ke dalam edit t

procedure EditBiayaChange(Sender: Mengubah string menjadi mata uang

TObject);

function hitung_total : integer; Menghitung jumlah total dari service

Page 52: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure

StringGrid1SelectCell(Sender:

TObject; ACol, ARow: Integer; var

CanSelect: Boolean);

Menentukan cursor dari stringgrid

procedure

StringGrid1KeyPress(Sender:

TObject; var Key: Char);

Menghapus data di stringgrid

Segmen 4.23 digunakan untuk memasukkan data – data pengembalian

s an aka ata tersebut v lid atau

dak.

ure TFormPengembalianService.ButtonSimpanClick(Sender:

ar i : integer;

eryPengembalianService do begin

QL.Clear;

e set Status = ''Selesai'' where

Name('a').Value :=

xt; ExecSQL;

ervice. Sebelum dimasukk n di cek terlebih dahulu d a

ti

Segmen 4.23. Procedure ButtonSimpanClick proced

TObject);

v

begin

if valid_input then begin

with Qu

Close;

S

SQL.Add('update Servic

No_Service = :a');Parameters.ParamBy

EditService.Te

Segmen 4.23. Procedure ButtonSimpanClick (lanjutan)

end;

with QueryPengembalianService do begin

Close;

SQL.Clear;

SQL.Add('insert into Pengembalian_Service values (:a, :b,

:c)');

Parameters.ParamByName('a').Value := EditService.Text;

Parameters.ParamByName('b').Value := Floor(Now);

Parameters.ParamByName('c').Value :=

Nirwana.CurrencyToString(EditTotal.Text);

ExecSQL;

end;

Page 53: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

for i := 1 to jumlah_biaya do begin

with QueryPengembalianService do begin

Close;

SQL.Clear;

SQL.Add('insert into Detail_Pengembalian_Service values

(:a, :b, :c, :d)');

Parameters.ParamByName('a').Value := EditService.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[1,i];

Parameters.ParamByName('d').Value :=

Nirwana.CurrencyToString(StringGrid1.Cells[2,i]);

ExecSQL;

end;

end;

QPengembalianService.Close;

QPengembalianService.Open;

with FormReportPembayaranService.ADOQuery1 do begin

Close;

SQL.Clear;

Segmen 4.23. Procedure ButtonSimpanClick (lanjutan)

_Customer SQL.Add('select S.No_Service as No_Service, S.Kode

as Kode_Customer,');

SQL.Add('C.Nama as Nama, C.Alamat as Alamat, C.Kota as Kota,

PS.Tanggal as Tanggal,');

SQL.Add('PS.Total as Total, DPS.No as No, DPS.Keterangan as

Keterangan, DPS.Harga as Harga');

SQL.Add('from Pengembalian_Service PS,

Detail_Pengembalian_Service DPS,');

SQL.Add('Customer C, Service S');

SQL.Add('where S.Kode_Customer = C.Kode_Customer and

S.No_Service = PS.No_Service');

SQL.Add('and rvice = PS.No_S and DPS.No_Se ervice

PS.No_Service = :a');

Parameters.ParamByName('a').Value := EditService.Text;

Page 54: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Open;

end;

FormReportPembayaranService.QuickRep1.Preview;

ButtonClearClick(Sender);

end;

end;

4.3.19. Form Absensi Pegawai

Tabel 1.9. Daftar Procedure Form Absensi Pegawai

Nama Prosedur Fungsi Segmen

Program

procedure FormActivate(Sender: Memanggil Button Clear

TObject);

procedure ButtonClearClick(Sender: Mengembalikan tampilan seperti semula

TObject);

function get_tanggal (tanggal : Mengambil tanggal

TDate) : string;

procedure

ButtonSelectAllClick(Sender:

TObject);

Memilih semua

Tabel 4.20 Daftar Procedure Formprocedure

Absensi Pegawai (lanjutan)

StringGrid1

TObject);

DblClick(Sender: Mengganti status pegawai

procedure

StringGrid1SelectCell(Sender: Menentukan cursor dari stringgrid

TObject; A

CanSelect: Boolean);

Col, ARow: Integer; var

function valid_input : Boolean; Memeriksa data sudah benar atau belum

procedure

byte; judul: String);

Msg(s: String; index: Menampilkan pesan

procedure

ButtonSimpanClick(Sender: Menyimpan data pembelian ke dalam

4.24

TObject); database

Page 55: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.24 digunakan untuk memasukkan data – data absensi

pegawai. Sebelum dimasukkan ak alid atau

tidak.

Segmen 4.24.

if valid_input then begin

lete from Absensi_Pgw where Tanggal = :a');

'a').Value := DateToStr(Now);

jumlah_pegawai do begin

('insert into Absensi_Pgw values (:a, :b,

an di cek terlebih dahulu data tersebut v

Procedure ButtonSimpanClickk procedure TFormAbsensiPegawai.ButtonSimpanClick(Sender: TObject);

var i : integer;

begin

with QueryHapus do begin

Close;

SQL.Clear;

QL.Add('de S

Parameters.ParamByName(

ExecSQL;

end;

for i := 1 to

with QAbsensiPegawai do begin

Close;

r; SQL.Clea

L.Add SQ

Segmen 4.24. Procedure ButtonSimpanClick (lanjutan)

:c)');

Parameters.ParamByName('a').Value := Floor(Now);

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[2,i];

ExecSQL;

end;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

end;

end;

Page 56: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

4.3.20. Form Penggajian

4.1.20.1.1.1.1.1. Daftar Procedure Form Penggajian

Nama Prosedur Fungsi Segmen

Program

procedure Form

TObject); Mengisi nama pada stringgrid

Activate(Sender:

procedure

k(Sender: ar gaji pegawai ButtonBayarClic

TObject);

Membay

procedure

suiDBGrid

TObject);

1DblClick(Sender: Membayar gaji pegawai

procedure Msg(s: String; index:

String); Menampilkan pesan

byte; judul:

.3.21. Form Pemesanan Foto Video

Daftar Procedure Form Pemesanan Foto Video

4

Tabel 1.10.

Nama Prosedur Fungsi Segmen

Program

procedure

EditSearchCu merChange(Sender: Mencari nama customer sto

TObject);

procedure

EditSearchB

TObject);

arangChange(Sender: Mencari nama barang

function generate_code : string; Membuat no pemesanan ot video secara

nggal

otomatis berdasarkan ta

Page 57: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

procedure Msg(s: String; index:

byte; judul: Strin

g); Menampilkan pesan

function get_waktu( Waktu : integer

) : string;

Mengambil waktu hari ini untuk membuat

no pemesanan

function valid_input : Boolean; Memeriksa customer sudah diisi atau belum

function valid_input_simpan : Memeriksa data barang sudah diisi atau

Boolean; belum

function hitung_total : integer; ng jumlah total Untuk menghitu

procedure FormActivate(Sender:

TObject);

Memanggil Button Clear dan menampilkan

tulisan pada stringgrid

procedure ButtonClearClick(Sender: ula

TObject); Mengembalikan tampilan seperti sem

procedure

suiDBGrid1DblClick(Sender: ke dalam edit text

TObject);

Memasukkan customer

procedure

EditUangM

TObject);

ukaChange(Sender: Merubah string menjadi mata uang

procedure

EditHargaB

TObject);

arangChange(Sender: Merubah string menjadi mata uang

procedure

EditUangM

TObject; var Key: Char);

ukaKeyPress(Sender: Uang muka harus diisi dengan angka

Tabel 4.22 Daftar Procedure Form Pemesanan Foto Video (lanjutan)

procedure

suiDBGrid2DblClick(Sender:

TObject);

Memasukkan barang ke dalam edit text

procedure

EditJumlah

TObject; var Key: Char);

BarangKeyPress(Sender: Jumlah barang harus diisi dengan angka

procedure

ButtonSimp

TObject);

anClick(Sender: Menyimpan data pemesanan foto video ke

4.25 dalam database

procedure

EditHargaB

TObject; var Key: Char);

arangKeyPress(Sender: Harga barang harus diisi dengan angka

Page 58: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Segmen 4.25 digunakan untuk memasukkan data – data pemesanan

f su u data tersebut

valid

Segmen 4.25.

var i : integer;

rt pemesanan

sanan do begin

lose;

to Pemesanan_Foto_Video values (:a, :b,

rs.ParamByName('a').Value := EditNoPesanan.Text;

aramByName('b').Value := EditKodeCustomer.Text;

amByName('d').Value := EditUangMuka.Text;

oto dan video. Sebelum dima

atau tidak.

kkan akan di cek terlebih dahul

Procedure ButtonSimpanClick procedure TFormPemesananFotoVideo.ButtonSimpanClick(Sender:

TObject);

begin

if valid_input_simpan then begin

// inse

with QueryPeme

C

SQL.Clear;

SQL.Add('Insert in

:c, :d, :e, :f)');

Paramete

Parameters.P

Parameters.ParamByName('c').Value := EditLokasi.Text;

Parameters.Par

Parameters.ParamByName('e').Value :=

Segmen 4.25. Procedure ButtonSimpanClick (lanjutan)

Floor(DateTimePicker1.Date);

Parameters.ParamByName('f').Value := DateTimePicker2.Time;

ExecSQL;

end;

//insert detail pemesanan

for i := 1 to jumlah_barang do begin

with QueryPemesanan do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Pemesanan_Foto_Video values

(:a, :b, :c, :d)');

Parameters.ParamByName('a').Value := EditNoPesanan.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Page 59: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

ExecSQL;

end;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

ButtonClearClick(Sender);

end;

end;

4.3.22. Form Pemesanan Cuci Cetak

Daftar Procedure Form Pemesanan Foto Video Tabel 1.11.

Nama Prosedur Fungsi Segmen

Program

function generate_code : string; Membuat no pemesanan otomatis

Tabel 4.23 Daftar Procedure Form esanan Foto Video (lanjutan) Pemfunction valid_input : Boolean; Memeriksa customer sudah diisi atau belum

function valid_input_simpan : isi atau

Boolean; belum

Memeriksa data barang sudah di

function get_waktu( Waktu : integer

) : string;

Mengambil waktu hari ini untuk membuat

no pemesanan

procedure ButtonClearClick(Sender: mbalikan tampilan seperti semula

TObject); Menge

procedure FormActivate(Sender: tton Clear dan menampilkan

tulisan pada stringgrid

TObject);

Memanggil Bu

procedure

EditSearchCustomerChange(Sender:

TObject);

Mencari nama customer

procedure

suiDBGrid1DblClick(Sender:

TObject);

Untuk menghitung jumlah total

procedure

EditSearchBarangChange(Sender: Mencari nama barang

Page 60: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

TObject);

procedure

suiDBGrid2DblClick(Sender:

TObject);

Memasukkan nama baran

text

g ke dalam edit

procedure

ComboBoxUserChange(Sende

TObject);

r: Merubah status pelanggan

procedure

EditUangMukaChange(Sender:

TObject);

Merubah string menjadi mata uang

procedure

EditUangMukaKeyPress(Sender

TObject; va

:

r Key: Char);

Uang muka harus diisi dengan angka

procedure

EditJumlahBarangKeyPress(Sende

TObject; var Key: Char);

r: a Jumlah barang harus diisi dengan angk

procedure

byte; judul: String);

Msg(s: String; index: Menampilkan pesan

function hitung_total : integer; Menghitung total biaya

4.26 digunakan untuk memasukkan data – data pemesanan

cuci cetak. Sebelum valid

procedure TFormPemesananCuciCetak.ButtonSimpanClick(Sender:

r i : integer;

input_simpan then begin

sanan cuci cetak

h QueryPemesanan do begin

anan_Cuci_Cetak values (:a, :b,

, :g)');

Segmen

dimasukkan akan di cek terlebih dahulu data tersebut

atau tidak.

Segmen 4.26. Procedure ButtonSimpanClick

TObject);

va

begin

if valid_

// insert peme

wit

Close;

SQL.Clear;

SQL.Add('Insert into Pemes

:c, :d, :e, :f

Page 61: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Parameters.ParamByName('a').Value := EditNoPesanan.Text;

Name('c').Value := EditNamaCustomer.Text;

o jumlah_barang do begin

Parameters.ParamByName('b').Value := EditKodeCustomer.Text;

Parameters.ParamBy

Parameters.ParamByName('d').Value := Floor(Now);

Parameters.ParamByName('e').Value := DateTimePicker1.Date;

Parameters.ParamByName('f').Value :=

FormatDateTime('HH:mm',DateTimePicker2.Time);

Parameters.ParamByName('g').Value := EditUangMuka.Text;

ExecSQL;

end;

//insert detail pemesanan cuci cetak

for i := 1 t

Segmen 4.26. Procedure ButtonSimpanClick (lanjutan)

with QueryPemesanan do begin

Close;

SQL.Clear;

SQL.Add('Insert into Detail_Pemesanan_Cuci_Cetak values

(:a, :b, :c, :d)');

Parameters.ParamByName('a').Value := EditNoPesanan.Text;

Parameters.ParamByName('b').Value :=

StringGrid1.Cells[0,i];

Parameters.ParamByName('c').Value :=

StringGrid1.Cells[3,i];

Parameters.ParamByName('d').Value :=

StringGrid1.Cells[4,i];

ExecSQL

end;

end;

Msg('Data Sudah Dimasukkan',1,'Information');

ButtonClearClick(Sender);

end;

end;

Page 62: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

4.3.23. Form Pembatalan Order Pembelian

atalan Order Pembelian Tabel 1.12. Daftar Procedure Form Pemb

Nama Prosedur Fungsi Segmen

Program

function hitung_total : integer; ung total biaya Menghit

procedure Msg(s: String; index:

byte; judul: String); Menampilkan pesan

procedure ButtonClearClick(Sender:

TObject); Mengembalikan tampilan seperti semula

procedure FormActivate(Sender:

TObject);

Memanggil Button Clear dan menampilkan

tulisan pada stringgrid

procedure ButtonSimpanClick(Sender:

TObject);

Menyimpan data pembatalan order

pembelian ke dalam database .27 4

Segmen 4.27 digunakan untuk melakukan pembatalan pad

aktu pemesanan.

a order

pembelian jika ada kesalahan pada w

an.ButtonSimpanClick(Sender:

bject);

yBatalOrderPembelian do begin

se;

'Update Order_Pembelian set Status = ''Batal'' where

dah Dimasukkan',1,'Information');

ClearClick(Sender);

Segmen 4.27. Procedure ButtonSimpanClickk

procedure TFormPembatalanOrderPembeli

TO

begin

with Quer

Clo

SQL.Clear;

SQL.Add(

No_Order = :a');

Parameters.ParamByName('a').Value := ComboBoxNoOrder.Text;

ExecSQL;

end;

Msg('Data Su

Button

end;

Page 63: 4. IMPLEMENTASI SISTEM · ADOConnection. Gambar 4.2 Komponen ADO Connection Setelah itu untuk melakukan koneksi database, pilih connection string pada object inspector nya ADOConnection

Universitas Kristen Petra59