• Tidak ada hasil yang ditemukan

TUGAS MANDIRI Sistem Informasi Penjualan

N/A
N/A
Protected

Academic year: 2018

Membagikan "TUGAS MANDIRI Sistem Informasi Penjualan"

Copied!
34
0
0

Teks penuh

(1)

0

TUGAS MANDIRI

Sistem Informasi Penjualan Barang pada Apotek M-23

Mata Kuliah: Pemrograman Borland Delphi Versi 7.0

Disusun Oleh:

Nama

: FITRI GULTOM

NPM

: 093130030

Kode Kelas

: 111-IF37P-M2

DOSEN

:

Sasa

STMIK PUTERA BATAM

(2)

DAFTAR ISI

HALAMAN JUDUL

DAFTAR ISI ...1

KATA PENGANTAR...2

BAB I PENDAHULUAN ...3

1.1 Latar Belakang masalah...3

1.1.1 Sekilas Mengenai Borland Delphi 7.0...3

1.1.2 Sekilas Tentang Microsoft Access...4

1.2 Rumusan Masalah...4

1.3 Tujuan Penulis...4

BAB II. PEMBAHASAN...5

2.1 Listing Program Penjualan Barang Pada Apotek………... 5

33

3.1 Kesimpulan………...33

(3)

2

KATA PENGANTAR

Puji syukur kepada hadirat Tuhan Yang Maha Esa, karena dengan rahmat

dan karuniaNya penulis dapat menyelesaikan makalah ini. Tujuan penulisan

makalah ini adalah untuk menambah pengetahuan dalam pembelajaran mata

kuliah PEMROGRAMAN BORLAND DELPHI VERSI 7.0.

Penulis mengharapkan tugas ini dapat memberikan pengalaman yang berguna

baik bagi pembaca, yang tentunya akan menambah ilmu dan wawasan berfikir

mahasiswa. Terima kasih pada pihak-pihak yang membantu penyusunan makalah ini

semoga makalah ini dapat berguna bagi mahasiswa khususnya, maupun bagi

masyarakat pada umumnya.

Penulis menyadari bahwa makalah ini masih jauh dari sempurna, oleh

karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu kami

harapkan demi kesempurnaan penulisan selanjutnya.

Penulis, 5 Januari 2012

(4)

BAB I

PENDAHULUAN

1. 1. Latar Belakang masalah

1.1.1 Sekilas Mengenai Borlan Delphi 7.0

Delphi adalah sebuah bahasa pemrograman dan lingkungan

pengembangan perangkat lunak. Borland delphi 7.0 merupakan pilihan bagi

sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan

kelebihan yang ada pada borland delphi 7.0 berikut ini beberapa kelebihan

borlan delphi 7.0 antara lain :

1. Berbasis Objek Orientid programming, seperti bagian yang ada pada

program dipandang sebagai suatu objek yang mempunyai sifat-sifat

yang dapat diubah dan diatur , sehingga kita dapat membuat tampilan

sebuah program dengan desain kita sendiri tanpa harus membuat

codding yang panjang.

2. Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux,

bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang

dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua

produk tersebut merupakan produk Borland.

(5)

4

Microsoft Access merupakan salah satu aplikasi berbasis

database yang cukup populer dan paling banyak digunakan serta

memiliki kehandalan dalam menunjang kemampuan kerja komputer

khususnya bidang pengolahan data.

Database yang disusun dalam Access terdiri dari beberapa

komponen yang membentuk suatu kesatuan sistem yaitu : Table,

Query, Form, Report, Macro dan Module. GRA[3]. Untuk memulai

atau menjalankan program aplikasi Microsoft Access,

langkah-langkahnya adalah sebagai berikut :

1.

Klik tombol

Start

yang ada di taskbar

2.

Pilih menu

Program

3.

Kemudian pilih

Microsoft Office

4.

Pilih dan klik

Microsoft Access.

1. 2 Rumusan Masalah

1. Merancang sebuah program dengan menggunakan database Microsoft

Access 2007.

2. Membuat kesimpulan Dan Saran dari sebuah Program tersebut.

a.

3 Tujuan Penulisan

1. Merancang sebuah Program sebagai salah satu untuk menyelesaikan tugas

mandiri bagi penulis.

2. Meningkatkan Ilmu penulis dalam Pembelajaran Pemrograman Delphi

BAB II

(6)

2.1. Listing Program Penjualan Barang Pada Apotek

a. Form Login

procedure TF_login.btn_loginClick(Sender: TObject);

begin

with ADOQuery1 do begin

Close;

SQL.Clear; // bersihkan perintah sql jika ada

SQL.Add('select * from login where username='+QuotedStr(edusername.Text));

Open;

end; // end with

// jika tidak ditemukan data yang dicari maka

// tampilkan pesan

if ADOQuery1.RecordCount = 0 then

Application.MessageBox('Maap, username tersebut tidak ada', 'Informasi',

MB_OK or MB_ICONINFORMATION)

else begin

if ADOQuery1.FieldByName('password').AsString <> edpassword.Text

then Application.MessageBox('Pastikan username atau password benar', 'Error',

(7)

6

else begin

Hide;

F_utama.Show;

end

end;

end;

procedure TF_login.btn_cancelClick(Sender: TObject);

begin

application.terminate;

end;

b. Form Utama

(8)

procedure TF_supplayer.btn_keluarClick(Sender: TObject);

begin

hide;

end;

procedure TF_supplayer.FormCreate(Sender: TObject);

begin

ADOTable1.TableName := 'tbl_supplayer';

ADOTable1.Open;

end;

procedure TF_supplayer.btn_tambahClick(Sender: TObject);

begin

f_tambah_supplayer.showmodal;

end;

procedure TF_supplayer.DBNavigator1Click(Sender: TObject;

Button: TNavigateBtn);

begin

end;

(9)

8

procedure TF_tambah_pelanggan.btn_batalClick(Sender: TObject);

begin

close;

end;

procedure TF_tambah_pelanggan.btn_simpanClick(Sender: TObject);

begin

with F_pelanggan.ADOTable1 do begin

if (txt_kode.text <> '') and (txt_nama.text <> '')

and (txt_alamat.text <> '') and (txt_kode_pos.text <> '')

and (txt_telepon.text <> '') and (txt_fax.text <> '')

and (txt_kota.text <> '') and (txt_kontak.text <> '') then

begin

if Locate('Kode Pelanggan',txt_kode.Text,[]) then

begin

exit;

end;

Append;

(10)

FieldByName('Nama').AsString := txt_nama.Text;

FieldByName('Alamat').Asstring := txt_alamat.Text;

FieldByName('Kode Pos').AsString := txt_kode_pos.Text;

FieldByName('Telepon').AsString := txt_telepon.Text;

FieldByName('Fax').Asstring := txt_fax.Text;

FieldByName('Kota').AsString := txt_kota.Text;

FieldByName('Kontak').AsString := txt_kontak.Text;

Post;

txt_kode.Text:='';

txt_nama.Text:='';

txt_alamat.Text:='';

txt_kode_pos.Text:='';

txt_telepon.Text:='';

txt_fax.Text:='';

txt_kota.Text:='';

txt_kontak.Text:='';

application.MessageBox('Data telah tersimpan..!','informasi')

end;

end;

end;

end.

(11)

10

procedure TF_pelanggan.btn_keluarClick(Sender: TObject);

begin

close;

end;

procedure TF_pelanggan.FormCreate(Sender: TObject);

begin

ADOTable1.TableName := 'tbl_pelanggan';

ADOTable1.Open;

end;

procedure TF_pelanggan.btn_tambahClick(Sender: TObject);

begin

f_tambah_pelanggan.showmodal;

end;

end.

(12)

procedure TF_cari_barang_pembelian.btn_keluarClick(Sender: TObject);

begin

close;

end;

procedure TF_cari_barang_pembelian.Button1Click(Sender: TObject);

begin

ADOTable1.CLOSE;

ADOTable1.TableName := 'tbl_barang';

ADOTable1.Open;

end;

end.

g. Form Obat

(13)

12

begin

if (txt_kode_barang.text <> '') and (txt_nama_barang.text <> '')

and (cbo_jenis.text <> '') and (cbo_satuan.text <> '')

and (txt_harga_beli.text <> '') and (txt_harga_jual.text <> '')

and (txt_minimum_stok.text <> '') and (txt_maksimum_stok.text <> '')

and (txt_kode_supplayer.text <> '') and (txt_nama_supplayer.text <> '') then

begin

with F_barang.ADOTable1 do begin

if Locate('Kode Obat',txt_kode_barang.Text,[]) then

begin

exit;

end;

Append;

FieldByName('Kode Obat').AsString := txt_kode_barang.Text;

FieldByName('Nama Obat').AsString := txt_nama_barang.Text;

FieldByName('Jenis Obat').Asstring := cbo_jenis.Text;

FieldByName('Satuan').AsString := cbo_satuan.Text;

FieldByName('Harga Beli').AsString := txt_harga_beli.Text;

FieldByName('Harga Jual').Asstring := txt_harga_jual.Text;

FieldByName('Minimum Stok').AsString := txt_minimum_stok.Text;

FieldByName('Maksimum Stok').AsString := txt_maksimum_stok.Text;

FieldByName('Keterangan').Asstring := txt_keterangan.Text;

FieldByName('Kode Supplier').Asstring := txt_kode_supplayer.Text;

FieldByName('Nama Supplier').Asstring := txt_nama_supplayer.Text;

(14)

end;

with F_barang.ADOTable2 do begin

if Locate('Kode Obat',txt_kode_barang.Text,[]) then

begin

exit;

end;

Append;

FieldByName('Kode Obat').AsString := txt_kode_barang.Text;

FieldByName('Nama Obat').AsString := txt_nama_barang.Text;

FieldByName('supplier').AsString := txt_nama_supplayer.Text;

FieldByName('Qty').Asstring := '0';

Post;

end;

txt_kode_barang.Text:='';

txt_nama_barang.Text:='';

txt_harga_beli.Text:='';

txt_harga_jual.Text:='';

txt_minimum_stok.Text:='';

txt_maksimum_stok.Text:='';

txt_keterangan.text:='';

txt_nama_supplayer.Text:='';

txt_kode_supplayer.Text:='';

(15)

14

end;

end;

procedure TF_tambah_barang.btn_batalClick(Sender: TObject);

begin

txt_kode_barang.Text:='';

txt_nama_barang.Text:='';

txt_harga_beli.Text:='';

txt_harga_jual.Text:='';

txt_minimum_stok.Text:='';

txt_maksimum_stok.Text:='';

txt_keterangan.text:='';

txt_nama_supplayer.Text:='';

txt_kode_supplayer.Text:='';

close;

end;

procedure TF_tambah_barang.Button1Click(Sender: TObject);

begin

f_cari_supplayer.showmodal;

end;

end.

(16)

procedure TF_penjualan.FormCreate(Sender: TObject);

begin

ADOTable1.CLOSE;

ADOTable1.TableName := 'tbl_penjualan';

ADOTable1.Open;

ADOTable2.CLOSE;

ADOTable2.TableName := 'tbl_stok';

ADOTable2.Open;

end;

procedure TF_penjualan.btn_simpanClick(Sender: TObject);

var

qty:real;

QtyTotal:real;

StrQtySebelum:string;

FloatQtySebelum:real;

begin

ADOTable1.CLOSE;

(17)

16

ADOTable1.Open;

ADOTable2.CLOSE;

ADOTable2.TableName := 'tbl_stok';

ADOTable2.Open;

if (txt_no_faktur.text <> '') and (txt_kode.text <> '')

and (txt_nama.text <> '') and (txt_qty.text <> '')

and (txt_harga.text <> '') and (txt_total.text <> '') then

begin

with F_penjualan.ADOTable1 do begin

if Locate('no faktur',txt_no_faktur.Text,[]) then

begin

application.MessageBox('No Faktur Telah digunakan..!','Informasi');

txt_no_faktur.Text:='';

exit;

end;

Append;

FieldByName('Kode Obat').AsString := txt_kode.Text;

FieldByName('Nama Obat').AsString := txt_nama.Text;

FieldByName('Qty').Asstring := txt_qty.Text;

FieldByName('harga').AsString := txt_harga.Text;

FieldByName('total').AsString := txt_total.Text;

FieldByName('no faktur').Asstring := txt_no_faktur.Text;

FieldByName('Pelanggan').Asstring := txt_pelanggan.Text;

Post;

//ambil nilai sebelumnya di stok

(18)

if adotable2.Locate('Kode Obat',txt_kode.Text,[]) then

begin

with F_penjualan.ADOTable2 do begin

StrQtySebelum:= FieldByName('Qty').AsString;

FloatQtySebelum :=StrToFloat(StrQtySebelum);

qty:=StrToFloat(txt_qty.text);

QtyTotal:=FloatQtySebelum - qty;

edit;

FieldByName('Qty').Asstring := FloatTostr(QtyTotal);

Post;

end;

end;

txt_kode.Text:='';

txt_nama.Text:='';

txt_qty.Text:='';

txt_harga.Text:='';

txt_total.Text:='';

txt_no_faktur.Text:='';

txt_pelanggan.Text:='';

application.MessageBox('Data tersimpan..!','informasi')

end;

end;

end;

procedure TF_penjualan.btn_batalClick(Sender: TObject);

begin

txt_kode.Text:='';

txt_nama.Text:='';

(19)

18

txt_harga.Text:='';

txt_total.Text:='';

txt_no_faktur.Text:='';

txt_pelanggan.Text:='';

close;

end;

procedure TF_penjualan.btn_cari_kode_barangClick(Sender: TObject);

begin

f_cari_penjualan.showmodal;

end;

procedure TF_penjualan.txt_qtyChange(Sender: TObject);

var

total: real;

harga: real;

qty: real;

begin

if txt_qty.Text = '' then

begin

exit

end

else

begin

harga:= StrToFloat(txt_harga.Text);

qty:= StrToFloat(txt_qty.Text);

total:=harga*qty;

txt_total.text:=FloatToStr(total);

(20)

end;

procedure TF_penjualan.Button1Click(Sender: TObject);

begin

f_cari_pelanggan.showmodal;

end;

end.

i.

Form Cari Pelanggan

procedure TF_cari_barang_pembelian.Button1Click(Sender: TObject);

begin

ADOTable1.CLOSE;

ADOTable1.TableName := 'tbl_barang';

ADOTable1.Open;

end;

end.

(21)

20

procedure TF_pembelian.btn_cari_kode_barangClick(Sender: TObject);

begin

f_cari_barang_pembelian.showmodal;

end;

procedure TF_pembelian.btn_batalClick(Sender: TObject);

begin

close;

end;

procedure TF_pembelian.btn_simpanClick(Sender: TObject);

var

qty:real;

QtyTotal:real;

StrQtySebelum:string;

FloatQtySebelum:real;

(22)

ADOTable1.CLOSE;

ADOTable1.TableName := 'tbl_pembelian';

ADOTable1.Open;

ADOTable2.CLOS;

ADOTable2.TableName := 'tbl_stok';

ADOTable2.Open;

if (txt_no_faktur.text <> '') and (txt_kode.text <> '')

and (txt_nama.text <> '') and (txt_qty.text <> '')

and (txt_harga.text <> '') and (txt_total.text <> '')

and (txt_supplayer.text <> '') then

begin

with F_pembelian.ADOTable1 do begin

if Locate('no faktur',txt_no_faktur.Text,[]) then

begin

application.MessageBox('No Faktur Telah digunakan..!','Informasi');

txt_no_faktur.Text:='';

exit;

end;

Append;

FieldByName('Kode Obat').AsString := txt_kode.Text;

FieldByName('Nama Obat').AsString := txt_nama.Text;

FieldByName('Qty').Asstring := txt_qty.Text;

FieldByName('harga').AsString := txt_harga.Text;

FieldByName('total').AsString := txt_total.Text;

FieldByName('no faktur').Asstring := txt_no_faktur.Text;

FieldByName('Supplier').Asstring := txt_supplayer.Text;

(23)

22

//ambil nilai sebelumnya di stok

//update stok

if adotable2.Locate('Kode Obat',txt_kode.Text,[]) then

begin

with F_pembelian.ADOTable2 do begin

StrQtySebelum:= FieldByName('Qty').AsString;

FloatQtySebelum :=StrToFloat(StrQtySebelum);

qty:=StrToFloat(txt_qty.text);

QtyTotal:=qty + FloatQtySebelum;

edit;

FieldByName('Qty').Asstring := FloatTostr(QtyTotal);

Post;

end;

end;

application.MessageBox('Data tersimpan..!','informasi');

txt_kode.Text:='';

txt_nama.Text:='';

txt_qty.Text:='';

txt_harga.Text:='';

txt_total.Text:='';

txt_no_faktur.Text:='';

txt_supplayer.Text:='';

end;

end;

end;

procedure TF_pembelian.FormCreate(Sender: TObject);

(24)

ADOTable1.TableName := 'tbl_pembelian';

ADOTable1.Open;

ADOTable2.TableName := 'tbl_stok';

ADOTable2.Open;

end;

procedure TF_pembelian.txt_qtyChange(Sender: TObject);

var

total: real;

harga: real;

qty: real;

begin

if txt_qty.Text = '' then

begin

exit

end

else

begin

harga:= StrToFloat(txt_harga.Text);

qty:= StrToFloat(txt_qty.Text);

total:=harga*qty;

txt_total.text:=FloatToStr(total);

end;

end;

procedure TF_pembelian.Button1Click(Sender: TObject);

(25)

24

f_cari_barang_pembelian.showmodal;

end;

end.

begin

f_cari_return.showmodal;

end;

procedure TF_return_pembelian.btn_simpanClick(Sender: TObject);

var

qty:real;

QtyTotal:real;

StrQtySebelum:string;

FloatQtySebelum:real;

begin

ADOTable1.CLOSE;

ADOTable1.TableName := 'tbl_return_pembelian';

ADOTable1.Open;

ADOTable2.CLOSE;

(26)

ADOTable2.Open;

with F_return_pembelian.ADOTable1 do begin

if (txt_no_faktur.text <> '') and (txt_kode.text <> '')

and (txt_nama.text <> '') and (txt_qty.text <> '')

and (txt_harga.text <> '') and (txt_total.text <> '')

and (txt_supplayer.text <> '') then

begin

if Locate('no faktur',txt_no_faktur.Text,[]) then

begin

application.MessageBox('No Faktur Telah digunakan..!','Informasi');

txt_no_faktur.Text:='';

exit;

end;

Append;

FieldByName('kode barang').AsString := txt_kode.Text;

FieldByName('Nama Barang').AsString := txt_nama.Text;

FieldByName('Qty').Asstring := txt_qty.Text;

FieldByName('harga').AsString := txt_harga.Text;

FieldByName('total').AsString := txt_total.Text;

FieldByName('no faktur').Asstring := txt_no_faktur.Text;

FieldByName('Supplayer').Asstring := txt_supplayer.Text;

Post;

//ambil nilai sebelumnya di stok

//update stok

if adotable2.Locate('kode barang',txt_kode.Text,[]) then

(27)

26

with F_return_pembelian.ADOTable2 do begin

StrQtySebelum:= FieldByName('Qty').AsString;

FloatQtySebelum :=StrToFloat(StrQtySebelum);

qty:=StrToFloat(txt_qty.text);

QtyTotal:=FloatQtySebelum - qty;

edit;

FieldByName('Qty').Asstring := FloatTostr(QtyTotal);

Post;

end;

end;

application.MessageBox('Data tersimpan..!','informasi');

txt_kode.Text:='';

txt_nama.Text:='';

txt_qty.Text:='';

txt_harga.Text:='';

txt_total.Text:='';

txt_no_faktur.Text:='';

application.MessageBox('Data tersimpan..!','informasi')

end;

end;

end;

procedure TF_return_pembelian.FormCreate(Sender: TObject);

begin

(28)

ADOTable1.TableName := 'tbl_return_pembelian';

ADOTable1.Open;

ADOTable2.CLOSE;

ADOTable2.TableName := 'tbl_stok';

ADOTable2.Open;

end;

procedure TF_return_pembelian.btn_batalClick(Sender: TObject);

begin

txt_kode.Text:='';

txt_nama.Text:='';

txt_qty.Text:='';

txt_harga.Text:='';

txt_total.Text:='';

txt_no_faktur.Text:='';

txt_supplayer.Text:='';

close;

end;

procedure TF_return_pembelian.txt_qtyChange(Sender: TObject);

var

total: real;

harga: real;

qty: real;

begin

if txt_qty.Text = '' then

begin

(29)

28

end

else

begin

harga:= StrToFloat(txt_harga.Text);

qty:= StrToFloat(txt_qty.Text);

total:=harga*qty;

txt_total.text:=FloatToStr(total);

end;

end;

procedure TF_return_pembelian.Button1Click(Sender: TObject);

begin

f_cari_return.showmodal;

end;

end.

k. Form Laporan Penjualan

procedure TF_lap_penjualan.Button1Click(Sender: TObject);

begin

with ADOQuery1 do begin

close;

sql.clear;

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

(30)

end;

close;

QuickRep1.Preview;

end;

procedure TF_lap_penjualan.Button2Click(Sender: TObject);

begin

close;

end;

end.

l. Form Laporan Pemblian

procedure TF_lap_pembelian.Button1Click(Sender: TObject);

begin

(31)

30

close;

sql.clear;

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

Open;

end;

close;

QuickRep1.Preview;

end;

procedure TF_lap_pembelian.Button2Click(Sender: TObject);

begin

close;

end;

end.

m.Form Laporan return Pembelian

procedure TF_lap_return.Button1Click(Sender: TObject);

begin

with ADOQuery1 do begin

close;

sql.clear;

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

(32)

end;

close;

QuickRep1.Preview;

end;

procedure TF_lap_return.Button2Click(Sender: TObject);

begin

close;

end;

end.

n. Form Laporan Stock

procedure TF_stok.Button1Click(Sender: TObject);

begin

begin

with ADOQuery1 do begin

close;

sql.clear;

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

Open;

end;

end;

close;

(33)

32

end;

procedure TF_stok.Button2Click(Sender: TObject);

begin

close;

end;

end.

BAB III

PENUTUP

3.1 Kesimpulan

Setelah dilakukan perancangan sistem informasi penjualan yang baru

dirancang oleh penuli maka dapat diambil bebrapa kesimpulan bahwa :

(34)

2. Program Borlan Delphi 7.0 dapat membantu dalam penyajian

laporan kepada manajer tepat pada waktunya.

3. Dengan Menggunakan Program Borlan Delphi 7.0dengan

Database Access maka keamanan data lebih terjami

3.2 Saran

Setelah mendapat kesimpulan diatas, maka penulis mengajukan beberapa

saran sehubungan dengan penerapan dan pengembangan sistem lebih lanjut.

Adapun saran-saran tersebut adalah sebagai berikut :

Referensi

Dokumen terkait

Ketersediaan saprodi, kredit usahatani, dan pasar hasil usahatani. Tinggi rendahnya tingkat adopsi inovasi teknologi oleh petani ini akan menentukan tingkat produksi

Penelitian ini bertujuan untuk menganalisis apakah ukuran perusahaan, debt to equity ratio, profitabilitas, ukuran Kantor Akuntan Publik, opini auditor, perusahaan

Tujuan penelitian ini adalah 1) mengetahui perbedaan secara signifikan hasil belajar IPA siswa yang dibelajarkan menggunakan model pembelajaran inkuiri terbimbing berbasis

Perencanaan kawasan permukiman pesisir pulau Bungin menjadi adalah satu. permukiman yang mampu memberikan nilai ekologis tinggi terhadap

ini, ICA , ICA dan dan organisasi organisasi serta serta aliansi aliansi lainnya lainnya dapat dapat membantu membantu lembaga lembaga ini ini dengan dengan memberikan

Kelembaban normal pada ruang tanam tanpa menggunakan sistem ini adalah sebesar 61% dan hal ini tidak sesuai dengan kelembaban untuk budidaya tomat ceri, karena kelembaban

tidak terlalu lama dengan menjadwalkan kembali pelelangan pascakualifikasi Pengadaan Barang. Inventaris Kantor pada KPPBC Tipe Madya Pabean

Puji Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, yang telah melimpahkan rahmat dan hidayat-Nya sehingga sehingga penulis dapat menyelesaikan Skripsi dengan