Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 1
Membuat Tabel, Relasi Tabel, View Data, Triggers dengan tools SQLyog Enterprise v7.14 Target : membuat 5 tabel dan mengisi field-field didalam setiap tabel. relasi antar tabel. membuat view mudah di SQLyog. membuat triggers. 1. Membuat Database, Tabel, Field. Langkah 1: Buka tools SQLyog, kemudian sesuaikan di laptop masing-masing ketika mengistall Appserv, klik button Connect, seperti gambar berikut.
Langkah 2: Setelah masuk ke tampilan utama SQLyog, klik kanan dibagian root@localhost dan pilih Create Database.
Langkah 3: Tentukan nama database yang akan dibuat, isi seperti gambar berikut.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 1
Langkah 4: Setelah membuat nama database, maka selanjutnya membuat tabel dan mengisi field-field yang dibutuhkan, pada modul ini ada 5 tabel yang akan dibuat, yaitu: tbl_barang, tbl_detailfaktur, tbl_faktur, tbl_login, tbl_supplier. berikut secara rinci keterangan yang ada di dalam setiap tabel. 1. Tabel Barang Nama Field Tipe Data KodeBarang char NamaBarang varchar Harga int Stok int
Ukuran 5 25 11 11
Keterangan Primary Key
2. Tabel Detail Faktur Nama Field Tipe Data NomorUrut int NomorFaktur char KodeSupplier char KodeBarang char JumlahBeli int Jumlah int
Ukuran 11 15 5 5 11 11
Ketarangan Primary Key, Auto Increment
3. Tabel Faktur Nama Field NomorFaktur TanggalFaktur TanggalJatuhTempo TotalFaktur
Tipe Data char date date int
Ukuran 15
Ketarangan Primary Key
11
4. Tabel Login Nama Field Tipe Data User varchar Password varchar
Ukuran 10 10
Ketarangan Primary Key
5. Tabel Supplier Nama Field Tipe Data KodeSupplier char NamaSupplier varchar AlamatSupplier varchar TeleponSupplier varchar
Ukuran 5 25 50 14
Ketarangan Primary Key
2. Relasi Antar Tabel. Langkah 1: Untuk membuat relasi tabel di SQLyog, pastikan layar sudah di SchemaDesigner, dan pilih add table(s) to canvas. atau klik kanan di SchemaDesigner dan pilih add tables.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 2
Langkah 2: Berikut gambar tampilan desain relasi tabel yang akan dibuat.
tips: pastikan foreign key dahulu yang dipilih kemudian ke primary key, caranya lakukan drag and drop, jangan lupa perhatikan constrain namenya jangan sampai ada yang sama. 3. Membuat View. Langkah 1: View yang akan dibuat pada modul ini ada 2, yaitu: vdetailbeli & vfaktur. Untuk membuat view di SQLyog sebenarnya menggunakan perintah sql command, tetapi untuk mempermudah pembuatan, modul ini memanfaatkan QueryBuilder, berikut tampilan contoh pembuatan dengan QueryBuilder pada vdetailbeli. Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 3
Langkah 2: Buat view detailbeli, dengan cara klik kanan di bagian view, create view, tentukan nama view dengan nama: vdetailbeli. maka akan muncul perintah sql, lakukan copy-paste untuk sqlnya, dari QueryBuilder yang telah dibuat diatas. Berikut apabila masih bingung perintah sqlnya tinggal copy-paste di bagian (SELECT * FROM ...). CREATE /*[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }]*/ VIEW `db_ti12d`.`vdetailbeli` AS (SELECT tbl_detailfaktur.NomorUrut , tbl_faktur.NomorFaktur , tbl_supplier.KodeSupplier , tbl_supplier.NamaSupplier , tbl_barang.KodeBarang , tbl_barang.NamaBarang , tbl_barang.Harga , tbl_detailfaktur.JumlahBeli , tbl_detailfaktur.Jumlah FROM db_ti12d.tbl_faktur, db_ti12d.tbl_detailfaktur INNER JOIN db_ti12d.tbl_supplier ON (tbl_detailfaktur.KodeSupplier = tbl_supplier.KodeSupplier) INNER JOIN db_ti12d.tbl_barang ON (tbl_detailfaktur.KodeBarang = tbl_barang.KodeBarang));
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 4
Langkah 3: Caranya sama dengan langkah 1 & langkah 2, berikut adalah urutan langkahlangkah yang harus di klik 2x terlebih dahulu pada QueryBuilder di vew faktur yang masih kosong/belum terisi. Urutan Pilih Tabel Field 1 tbl_faktur NomorFaktur 2 tbl_faktur TanggalFaktur 3 tbl_faktur TanggalJatuhTempo 4 tbl_supplier KodeSupplier 5 tbl_supplier NamaSupplier 6 tbl_barang KodeBarang 7 tbl_barang NamaBarang 8 tbl_barang Harga 9 tbl_detailfaktur JumlahBeli 10 tbl_detailfaktur Jumlah 11 tbl_faktur TotalFaktur Setelah membuat querybuilder lalu copy-paste, berikut sql lengkapnya. CREATE /*[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }]*/ VIEW `db_ti12d`.`vfaktur` AS (SELECT tbl_faktur.NomorFaktur , tbl_faktur.TanggalFaktur , tbl_faktur.TanggalJatuhTempo , tbl_supplier.KodeSupplier , tbl_supplier.NamaSupplier , tbl_barang.KodeBarang , tbl_barang.NamaBarang , tbl_barang.Harga , tbl_detailfaktur.JumlahBeli , tbl_detailfaktur.Jumlah , tbl_faktur.TotalFaktur FROM db_ti12d.tbl_faktur, db_ti12d.tbl_detailfaktur INNER JOIN db_ti12d.tbl_barang ON (tbl_detailfaktur.KodeBarang = tbl_barang.KodeBarang) INNER JOIN db_ti12d.tbl_supplier ON (tbl_detailfaktur.KodeSupplier = tbl_supplier.KodeSupplier));
4. Membuat Triggers. Langkah 1: Dalam pembuatan modul ini ada 2 triggers yaitu: tsimpanpembelian & thapuspembelian, untuk membuat triggers di dalam SQLyog adalah dengan cara klik kanan folder triggers, pilih create trigger, tentukan nama triggersnya. Maka akan muncul perintah sql command yang akan di excute. Langkah 2: Copy-paste source code berikut ini untuk triggers tsimpanpembelian. Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 5
DELIMITER $$ DROP TRIGGER /*!50032 IF EXISTS */ `xyz`.`TSimpanPembelian`$$ CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER `TSimpanPembelian` AFTER INSERT ON `tbl_detailfaktur` FOR EACH ROW BEGIN UPDATE tbl_barang SET stok = stok + new. JumlahBeli WHERE KodeBarang = new.KodeBarang; END; $$ DELIMITER ;
Langkah 3: Copy-paste source code berikut untuk triggers thapuspembelian. DELIMITER $$ DROP TRIGGER /*!50032 IF EXISTS */ `xyz`.`THapusPembelian`$$ CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER `THapusPembelian` AFTER DELETE ON `tbl_detailfaktur` FOR EACH ROW BEGIN UPDATE tbl_barang SET stok = stok - old. JumlahBeli WHERE KodeBarang = old.KodeBarang; END; $$ DELIMITER ;
Pada proses pertama pada aplikasi transaksi penjualan sederhana semua sudah selesai, mulai dari pembuatan database, tabel, field, relasi tabel, view dan triggers. Semoga modul ini dapat diikuti langkah-langkahnya secara mudah, dan dapat dimengerti oleh orang yang baru mengenal database dan tools SQLyog sekalipun. Ilmu yang bermanfaat adalah ilmu yang di bagikan. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 6
Membuat Koneksi ODBC Untuk Penghubung MySQL dengan Borland Delphi 7 Target : menginstall driver ODBC. membuat koneksi ODBC di windows 8 dan konfigurasinya. 1. Menginstall Driver ODBC. Langkah 1: Apabila belum mempunyai software mysql connector odbc 5.1.5 win32.exe, maka terpaksa anda harus mendownloadnya terlebih dahulu. saya tidak memberikan link downloadnya, karena di internet sudah banyak beredar software tersebut. Langkah 2: Setelah memiliki software tersebut, lalu install softwarenya, cara installnya sama saja seperti software pada umumnya (tidak ada penjelasan cara menginstallnya). tips : disini saya menggunakan mysql connector odbc v5.1, untuk menjaga agar database tidak error, maka ganti/gunakan driver odbc tersebut di komputer anda. 2. Membuat Koneksi ODBC di Windows 8 dan Konfigurasinya. Langkah 1: Masuk ke Control Panel windows anda, pilih Administrative Tools, pilih ODBC Data Sources (32-bit). untuk memperjelas berikut gambarnya.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 7
Langkah 2: Setelah memilih ODBC Data Sources (32-bit), maka akan muncul kotak dialog berikut.
Langkah 3: Untuk membuat koneksi ODBC baru klik Add, maka akan muncul gambar berikut dan pilih yang MySQL ODBC 5.1 Driver. Kemudian klik Finish.
Langkah 4: Selanjutnya akan muncuk kotak dialog ODBC, samakan pada gambar berikut.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 8
Langkah 5: Setelah diisi semua dengan benar maka klik ok dan akan ada tampilan berikut, yang berarti koneksi yang dibuat sukses/berhasil. Klik Ok sekali lagi untuk mengakhiri.
Koneksi ODBC sudah selesai. Apabila ada yang masih error, bisa jadi kesalahan dalam menginstall odbc-nya. Semoga bisa diikuti langkah-langkahnya sampai selesai, selanjutnya akan membuat form untuk data barang. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 9
Membuat Form Menu Utama & Login Dengan Menggunakan Software Borland Delphi 7 Target : membuat desain form dan mengisi properties. memanggil form-form untuk ditampilkan. mengisi semua kode program. mengcustom sedikit form di menu utama. 1. Membuat Desain Form Menu Utama dan Login. Langkah 1: Berikut adalah tampilan desain form menu utama yang akan dibuat, silahkan di desain sesuai dengan keinginan atau mengikuti desain ini.
Langkah 2: Masukkan beberapa komponen berikut, Komponen yang dibutuhkan berada di tab Pallete Standard, tab Pallete Addtional, dan tab Pallete ADO. Isi semua semua propertiesnya untuk form menu utama. Komponen Form1 : TForm1 ADOQuery1 : TADOQuery
MainMenu1 : TMainMenu
Properties Yang Diubah Caption WindowState Name ConnectionString Name SQL Klik 2x QLogin Active Klik 2x
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Nilai Properties Menu Utama wsMaximized FMenuUtama ODBC_TI12D QLogin SELECT * FROM tbl_login Klik kanan Add all fields True Isi rincian berikut : Menu file - Login
Page 10
GroupBox1 : TGroupBox Label1 : TLabel (GroupBox1) Label2 : TLabel (GroupBox1) TEdit1 : TEdit (GroupBox1) TEdit2 : TEdit (GroupBox1) TBitBtn1 : TBitBtn (GroupBox1) TBitBtn2 : TBitBtn (GroupBox1) Image1 : Timage (main menu) Image2 : Timage (Groupbox1)
Caption Caption Caption Name Name PasswordChar Caption Name Caption Name Picture Stretch Align Picture Stretch Align
- Logout - Keluar Menu Data - Barang - Supplier - Pembelian .:: Form Login ::. Username Password EdUser EdPassword * (agar karakter terbaca *) Login BtnLogin Keluar BtnKeluar Cari lokasi gambar True alClient Cari lokasi gambar True alClient
2. Memanggil Form Lain Untuk Ditampilkan. Langkah 1: Pastikan menu-menu yang dibuat sudah sesuai, pilih menu data masuk ke barang, maka akan mengarah ke kode programnya. Isi dengan kode program berikut. procedure Tfmenuutama.Supplier1Click(Sender: TObject); begin FBarang.ShowModal; //menampilkan form barang end;
tips : untuk memanggil form lain maka gunakan tombol (alt+f11) pilih form yang akan digunakan. misalnya kita berada di FMenuUtama dan ingin memanggil FBarang maka gunakan tombol (alt+f11) untuk memanggilnya. (tombol alt+f11 adalah untuk menampilkan kotak dialog use unit). Langkah 2: pilih menu data, masuk ke supplier, maka akan mengarah ke kode programnya. Isi dengan kode program berikut. procedure Tfmenuutama.Supplier2Click(Sender: TObject); begin FSupplier.ShowModal; end;
Langkah 3: pilih menu data, masuk ke pembelian, maka akan mengarah ke kode programnya. Isi dengan kode program berikut. procedure Tfmenuutama.Pembelian1Click(Sender: TObject); begin FFaktur.ShowModal; end;
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 11
3. Mengisi Semua Kode Program Langkah 1: pilih menu file, masuk ke keluar, maka akan mengarah ke kode programnya. Isi dengan kode program berikut. procedure Tfmenuutama.Keluar1Click(Sender: TObject); begin Application.Terminate; end;
Langkah 2: Menyembunyikan GroupBox1 ketika program di jalankan, caranya klik pada FMenuUtama klik 2x sembarang syaratnya posisi di FmenuUtama. Maka akan tampil kode program yang masih kosong isikan dengan kode berikut. procedure Tfmenuutama.FormCreate(Sender: TObject); begin //menyembunyikan group login GroupBox1.Visible := false; Data1.Enabled := false; //mematikan fungsi logout Logout1.Enabled := false; end;
Langkah 3: Mengisi kode pada menu file, bagian login, dengan kode berikut. procedure Tfmenuutama.Login1Click(Sender: TObject); begin //menampilkan group login GroupBox1.Visible := true; eduser.Clear; edpassword.Clear; eduser.SetFocus; Data1.Enabled := false; //mengaktifkan fungsi logout Logout1.Enabled := true; Login1.Enabled := false //matikan login end;
Langkah 4: Mengisi kode pada menu file, bagian logout, dengan kode berikut. procedure Tfmenuutama.Logout1Click(Sender: TObject); begin //menyembunyikan group login GroupBox1.Visible := false; Data1.Enabled := false; //mematikan fungsi logout Logout1.Enabled := false; Login1.Enabled := true; //aktifkan login end;
Langkah 5: Mengisi BtnBatal dengan kode berikut. procedure Tfmenuutama.btnbatalClick(Sender: TObject); begin Logout1Click(Sender); end;
Langkah 6: Mengisi BtnLogin dengan kode berikut. procedure Tfmenuutama.btnloginClick(Sender: TObject); begin qlogin.Close; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 12
qlogin.SQL.Clear; qlogin.SQL.Add('select * from tbl_login where '+ 'user = '+QuotedStr(eduser.Text)+' AND '+ 'password = '+QuotedStr(edpassword.Text)+''); qlogin.Open; if qlogin.RecordCount <> 0 THEN //jika ada/sesuai begin ShowMessage('SELAMAT DATANG GAN'); GroupBox1.Visible := False; Data1.Enabled := True;; end else //jika data tidak ada/sesuai begin ShowMessage('USER/PASS SALAH GAN! PC LOADING'); eduser.SetFocus; end; end;
4. Mengcustom Sedikit Form di Menu Utama. Langkah 1: Pada saat login, user tanpa harus menekan tombol login. Tetapi dengan menggunakan keyboard Enter user langsung masuk ke pengolahan data (dengan syarat username dan password benar). Caranya pilih EdPassword, arahkan ke Object Inspector, pilih Event, cari tulisan OnKeyPress, klik 2x di sebelah kanannya. Isikan kode berikut. procedure Tfmenuutama.edpasswordKeyPress(Sender: TObject; var Key: Char); begin if key =#13 then btnloginClick(Sender); end;
tips : untuk yang lain silahkan dicoba sendiri. Untuk form menu utama sudah selesai, silahkan di running programnya. Apabila ada yang masih error, kemungkinan karena kurang teliti saja. Semoga bisa diikuti langkahlangkahnya sampai selesai, selanjutnya akan membuat form untuk data barang. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 13
Membuat Form Data Barang Dengan Menggunakan Software Borland Delphi 7 Target : membuat desain form dan mengisi properties. membuat procedure global dan var global. setting ADOConnection. mengisi semua kode program. meminimalisir kesalahan pada form data barang. 1. Membuat Desain Form Data Barang. Langkah 1: Berikut adalah tampilan desain form data barang yang akan dibuat, silahkan di desain sesuai dengan keinginan atau mengikuti desain ini.
Langkah 2: Masukkan beberapa komponen berikut, Komponen yang dibutuhkan berada di tab Pallete Standard, tab Pallete Data Acces, tab Pallete Addtional dan tab Pallete ADO. Isi semua semua propertiesnya untuk form data barang. Komponen Form1 : TForm1 Panel1 : TPanel Panel2 : TPanel Panel3 : TPanel Panel4 : TPanel GroupBox1 : TGroupBox Label1 : TLabel (Panel1) Label2 : TLabel (Panel1)
Properties Yang Diubah Caption Position Name Caption BevelInnter Caption BevelInnter Caption BevelInnter Caption BevelInnter Caption Caption Caption
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Nilai Properties .:: FORM DATA BARANG ::. PoScreenCenter FBarang bvLowered bvLowered bvLowered bvLowered .:: Pencarian Data ::. Kode Barang Nama Barang
Page 14
Label3 : TLabel (Panel1) Label4 : TLabel (Panel1) Label5 : TLabel (GroupBox1) Edit1 : TEdit (Panel1) Edit2 : TEdit (Panel1) Edit3 : TEdit (Panel1) Edit4 : TEdit (Panel1) Edit5 : TEdit (GroupBox1) BitBtn1 : TBitBtn (Panel4) BitBtn2 : TBitBtn (Panel4) BitBtn3 : TBitBtn (Panel4) BitBtn4 : TBitBtn (Panel4) BitBtn5 : TBitBtn (Panel3) BitBtn6 : TBitBtn (Panel3) Button1 : TButton (Groupbox1) ADOConnection1 : TADOConnection ADOQuery1 : TADOQuery
ADOCommad1 : TADOCommand DataSource1 : TDataSource DBGrid1 : TDBGrid
Caption Caption Caption Name Name Name Name Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption ConnetionString LoginPromt Connection Name SQL Klik 2x QBarang Active Connection DataSet Name DataSource Options... (dgEditing) Options... (dbRowSelect)
Harga Stok Masukkan Nama Barang EdKodeBarang EdNamaBarang EdHargaBarang EdStok EdCariBarang Baru BtnBaru Edit BtnEdit Hapus BtnHapus Keluar BtnKeluar Batal BtnBatal BtnSimpan << ODBC_TI12D False ADOConnection1 QBarang SELECT * FROM tbl_barang Klik kanan Add all fields True ADOConnection1 QBarang DSBarang DSBarang False True
2. Membuat Procedure Public dan Var Global. Langkah 1: Klik 2x di FBarang, cari tulisan { Public declarations } isikan koding seperti dibawah ini. public { Public declarations } PROCEDURE BERSIH; PROCEDURE REFRESH_DB; PROCEDURE AUTONUMBER; PROCEDURE ATURPANEL(X:BOOLEAN); end;
Kemudian klik 2x lagi di Fbarang, cara tulisan var isikan koding seperti berikut. var FBarang: TFBarang; //MEMBUAT VAR GLOBAL KET, sebagai keterangan tombol; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 15
KET : STRING;
Langkah 2: Pastikan kursor berada di procedure yang dibuat, kemudian tekan tombol (shift+ctrl+c), isikan masing-masing procedure dengan kode program berikut. PROCEDURE AUTONUMBER procedure TFBarang.AUTONUMBER; (jangan ikut dicopy ya) var kode : double; //membuat var untuk menampung kodebarang begin REFRESH_DB; //mengurutkan data melalui refresh db //KONDISI, jika belum ada data 1 pun di tabel barang IF QBarang.RecordCount = 0 THEN kode := 0001 ELSE //KONDISI, jika sudah ada data minimal 1 di tbl BEGIN QBarang.Last; //melihat data yang terakhir kode := StrToFloat(COPY(QBarangKodeBarang.AsString,2,4)); kode := kode + 1; END; EdKodeBarang.Text := 'B'+FormatFloat('0000',kode); end;
PROCEDURE BERSIH procedure TFBarang.BERSIH; (jangan ikut dicopy ya) begin EdKodeBarang.Clear; EdNamaBarang.Clear; EdHargaBarang.Clear; EdStok.Clear; EdCariBarang.Clear; end;
PROCEDURE REFRESH_DB procedure TFBarang.REFRESH_DB; (jangan ikut dicopy ya) begin //MEREFRESH DATA PADA TABEL QBarang.Close; QBarang.SQL.Clear; QBarang.SQL.Add('select * from tbl_barang order by KodeBarang'); QBarang.Open; end;
3. Setting ADOConnection. Langkah 1: Pastikan posisi kursor berada di ADOConnection1, arahkan ke Object Inspector, pilih tab Properties, pilih yang ConnectionString, klik 2x disebelah kanannya. Maka akan muncul gambar berikut dan klik build.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 16
Langkah 2: Setelah klik Build maka akan muncul gambar berikut, pilih yang ada tulisan ODBC Driver, kemudian klik Next.
Langkah 3: Ini adalah bagian penting, setelah di klik Next akan muncul kotak dialog ketentuan ODBC, sesuaikan dengan gambar ini.
Langkah 4: Apabila sudah diisi dengan benar maka klik Ok, Klik Ok lagi. tips : untuk yang form yang lain saya tidak menyertakan cara setting ADOConnection, jadi gambaranya seperti diatas caranya. jika didalam form yang tidak ada ADOConnection dan langsung menggunakan ADOQuery caranya sama, pilih di Propertiesnya yang ConnectionString dan atur seperti diatas. 4. Mengisi Semua Kode Program. Langkah 1: Pastikan sudah berada di Form Barang, kemudian pilih Object Inspector, pilih Event, cari tulisan OnActive, klik 2x di sebelah kanannya, maka akan muncul kode program yang masih kosong, isikan dengan kode program dibawah ini. Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 17
FORM BARANG ONACTIVE procedure TFBarang.FormActivate(Sender: TObject); (jangan ikut dicopy ya) begin //MEMBUAT BEBERAPA PROCEDURE BERSIH; REFRESH_DB; ATURPANEL(TRUE); end;
Langkah 2: Mengisi kode program pada BtnBaru, caranya klik 2x BitBtn tersebut dan copy kode berikut. TOMBOL BARU procedure TFBarang.BtnBaruClick(Sender: TObject); begin ATURPANEL(FALSE); BERSIH; AUTONUMBER; KET := 'BARU'; //tombol ini pada saat diklik mempunyai keterangan BARU EdNamaBarang.SetFocus; //fokus kursor ke ednamabarang end;
Langkah 3: Berikut kode program untuk BtnEdit. TOMBOL EDIT procedure TFBarang.BtnEditClick(Sender: TObject); begin ATURPANEL(FALSE); KET := 'EDIT'; //keterangan tombol adalah edit EdNamaBarang.SetFocus; end;
Langkah 4: Berikut kode program untuk BtnBatal. TOMBOL BATAL procedure TFBarang.BtnBatalClick(Sender: TObject); begin FormActivate(Sender); //memanggil coding di form aktif end;
Langkah 5: Jika kita klik di bagian DBGrid harus muncul kembali datanya di bagian Edit, maka langkahnya pastikan sudah berada di DBGrid1, arahkan ke Object Inspector, pilih Event cari tulisan OnCellClick (artinya apabila cell di klik, aksi apa yang akan dilakukan), klik 2x di sebelah kanan OnCellClick maka akan muncul kotak isian kode program. Isikan dengan kode berikut. DBGRID ONCELLCLICK procedure TFBarang.DBGrid1CellClick(Column: TColumn); begin //menampilkan data kekomponen edit melalui dbgrid EdKodeBarang.Text := QBarangKodeBarang.AsString; EdNamaBarang.Text := QBarangNamaBarang.AsString; EdHargaBarang.Text := QBarangHarga.AsString; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 18
EdStok.Text := QBarangStok.AsString; end;
Langkah 6: Berikut kode program untuk BtnKeluar (pasti sudah tahu). TOMBOL KELUAR procedure TFBarang.BtnKeluarClick(Sender: TObject); begin Close; end;
Langkah 7: Berikut adalah kode program untuk EdCariBarang. EDIT CARI BARANG procedure TFBarang.EdCariBarangChange(Sender: TObject); begin //mencari data berdasarkan nama barang QBarang.Close; QBarang.SQL.Clear; QBarang.SQL.Add('select * from tbl_barang where '+ 'NamaBarang LIKE '+QuotedStr('%'+EdCariBarang.Text+'%')+''); QBarang.Open; end;
Langkah 8: Berikut kode program Button1. TOMBOL HAPUS CARI BARANG procedure TFBarang.Button1Click(Sender: TObject); begin EdCariBarang.Clear; EdCariBarang.SetFocus; end;
Langkah 9: Untuk BtnSimpan lumayan banyak kode programnya, berikut adalah kodenya. TOMBOL SIMPAN procedure TFBarang.BtnSimpanClick(Sender: TObject); begin //validasi tombol simpan IF (EdNamaBarang.Text = '') or (EdHargaBarang.Text = '') or (EdStok.Text = '') THEN BEGIN ShowMessage('DATA TIDAK BOLEH KOSONG '); EdNamaBarang.SetFocus; Exit; END; //JIKA DATA BARU IF KET = 'BARU' THEN BEGIN ADOCommand1.CommandText := 'INSERT INTO tbl_barang '+ 'VALUES('+QuotedStr(EdKodeBarang.Text)+','+ QuotedStr(EdNamaBarang.Text)+','+ QuotedStr(EdHargaBarang.Text)+','+ QuotedStr(EdStok.Text)+')'; ADOCommand1.Execute; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 19
ShowMessage('DATA BERHASIL DISIMPAN COOY'); END //JIKA DATA UPDATE ELSE BEGIN ADOCommand1.CommandText := 'UPDATE tbl_barang set '+ 'NamaBarang = '+QuotedStr(EdNamaBarang.Text)+','+ 'Harga = '+QuotedStr(EdHargaBarang.Text)+','+ 'Stok = '+QuotedStr(EdStok.Text)+' WHERE '+ 'KodeBarang = '+QuotedStr(EdKodeBarang.Text)+''; ADOCommand1.Execute; ShowMessage('DATA BERHASIL DIEDIT COOY'); END; FormActivate(Sender); //kembali ke form aktif end;
Langkah 10: Berikut adalah kode program untuk BtnHapus. TOMBOL HAPUS procedure TFBarang.BtnHapusClick(Sender: TObject); begin //VALIDASI DATA, TIDAK BOLEH HAPUS KALAU BELUM PILIH DATA IF EdKodeBarang.Text = '' THEN BEGIN ShowMessage('pilih data dulu dong cuy'); exit; //proses berhenti END; //pesan sebelum username menghapus data IF MessageDlg('Yakin akan menghapus data dengan kode '+ 'barang '+EdKodeBarang.Text+' ?',mtWarning,[mbYes,mbNo],0) =MrYes THEN BEGIN ADOCommand1.CommandText := 'DELETE FROM tbl_barang WHERE '+ 'KodeBarang ='+QuotedStr(EdKodeBarang.Text)+''; ADOCommand1.Execute; ShowMessage('Data sudah lenyap cuy'); END; FormActivate(Sender); //membuat ke keadaab form aktif end;
5. Meminimalisir Kesalahan Pada Form. Langkah 1: Isikan kode program di PROCEDURE ATURPANEL(X:BOOLEAN), karena diawal sebelumnya sudah membuat procedure tersebut dan belum mengisi kode porgramya. Berikut adalah kode programanya. procedure TFBarang.ATURPANEL(X: BOOLEAN); begin Panel1.Enabled := NOT X; Panel4.Enabled := X; Panel3.Enabled :=NOT X; Panel2.Enabled :=X; GroupBox1.Enabled :=X; { misalkan x adalah TRUE, maka NOT X = tidak true X berarti panel aktif, dan NOT X berarti panel tidak aktif } end; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 20
Untuk form data barang sudah selesai, silahkan di running programnya. Apabila ada yang masih error, kemungkinan karena kurang teliti saja. Semoga bisa diikuti langkahlangkahnya sampai selesai, selanjutnya akan membuat form data supplier. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 21
Membuat Form Data Supplier Dengan Menggunakan Software Borland Delphi 7 Target : membuat desain form dan mengisi properties. membuat procedure global dan var global. mengisi semua kode program. meminimalisir kesalahan pada form data supplier. 1. Membuat Desain Form Data Supplier. Langkah 1: Berikut adalah tampilan desain form data supplier yang akan dibuat, silahkan di desain sesuai dengan keinginan atau mengikuti desain ini.
Langkah 2: Masukkan beberapa komponen berikut, Komponen yang dibutuhkan berada di tab Pallete Standard, tab Pallete Data Acces, tab Pallete Addtional dan tab Pallete ADO. Isi semua semua propertiesnya untuk form data supplier. Komponen Form1 : TForm1 Panel1 : TPanel Panel2 : TPanel Panel3 : TPanel Panel4 : TPanel GroupBox1 : TGroupBox Label1 : TLabel (Panel1) Label2 : TLabel (Panel1) Label3 : TLabel (Panel1)
Properties Yang Diubah Caption Position Name Caption BevelInnter Caption BevelInnter Caption BevelInnter Caption BevelInnter Caption Caption Caption Caption
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Nilai Properties .:: FORM SUPPLIER ::. PoScreenCenter FSupplier bvLowered bvLowered bvLowered bvLowered .:: Pencarian Data ::. Kode Supplier Nama Supplier Alamat Supplier
Page 22
Label4 : TLabel (Panel1) Label5 : TLabel (GroupBox1) Edit1 : TEdit (Panel1) Edit2 : TEdit (Panel1) Edit3 : TEdit (Panel1) Edit4 : TEdit (Panel1) Edit5 : TEdit (GroupBox1) BitBtn1 : TBitBtn (Panel4) BitBtn2 : TBitBtn (Panel4) BitBtn3 : TBitBtn (Panel4) BitBtn4 : TBitBtn (Panel4) BitBtn5 : TBitBtn (Panel3) BitBtn6 : TBitBtn (Panel3) Button1 : TButton (Groupbox1) ADOConnection1 : TADOConnection ADOQuery1 : TADOQuery
ADOCommad1 : TADOCommand DataSource1 : TDataSource DBGrid1 : TDBGrid
Caption Caption Name Name Name Name Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption ConnetionString LoginPromt Connection Name SQL Klik 2x QSupplier Active Connection DataSet Name DataSource Options... (dgEditing) Options... (dbRowSelect)
Telepon Supplier Masukkan Nama Supplier EdKodeSupplier EdNamaSupplier EdAlamatSupplier EdTeleponSupplier EdCariSupplier Baru BtnBaru Edit BtnEdit Hapus BtnHapus Keluar BtnKeluar Batal BtnBatal Simpan BtnSimpan << ODBC_TI12D False ADOConnection1 QSupplier SELECT * FROM tbl_supplier Klik kanan Add all fields True ADOConnection1 QSupplier DSSupplier DSSupplier False True
2. Membuat Procedure Public dan Var Global. Langkah 1: Klik 2x di FSupplier, cari tulisan { Public declarations } isikan koding seperti dibawah ini. public { Public declarations } PROCEDURE BERSIH; PROCEDURE REFRESH_DB; PROCEDURE AUTONUMBER; PROCEDURE ATURPANEL(X:BOOLEAN); end;
Kemudian klik 2x lagi di FSupplier, cara tulisan var isikan koding seperti berikut. var FSupplier: TFSupplier; //MEMBUAT VAR GLOBAL KET, sebagai keterangan tombol KET : STRING; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 23
Langkah 2: Pastikan kursor berada di procedure yang dibuat, kemudian tekan tombol (shift+ctrl+c), isikan masing-masing procedure dengan kode program berikut. PROCEDURE AUTONUMBER procedure TFSupplier.AUTONUMBER; (jangan ikut dicopy ya) var kode : double; //membuat var untuk menampung kodesupplier begin REFRESH_DB; //mengurutkan data melalui refresh db IF QSupplier.RecordCount = 0 THEN kode := 0001 ELSE //KONDISI, jika sudah data minimal data 1 di tbl BEGIN QSupplier.Last; //melihat data yang terakhir kode := StrToFloat(COPY(QSupplierKodeSupplier.AsString,2,4)); kode := kode + 1; END; EdKodeSupplier.Text := 'S'+FormatFloat('0000',kode); end;
PROCEDURE BERSIH procedure TFSupplier.BERSIH; (jangan ikut dicopy ya) begin EdKodeSupplier.clear; EdNamaSupplier.Clear; EdAlamatSupplier.Clear; EdTeleponSupplier.Clear; EdCariSupplier.Clear; end;
PROCEDURE REFRESH_DB procedure TFSupplier.REFRESH_DB; (jangan ikut dicopy ya) begin //MEREFRESH DATA PADA TABEL QSupplier.Close; QSupplier.SQL.Clear; QSupplier.SQL.Add('select * from tbl_supplier order by KodeSupplier'); QSupplier.Open; end;
3. Mengisi Semua Kode Program. Langkah 1: Pastikan sudah berada di Form Supplier, kemudian pilih Object Inspector, pilih Event, cari tulisan OnActive, klik 2x di sebelah kanannya, maka akan muncul kode program yang masih kosong, isikan dengan kode program dibawah ini. FORM BARANG ON ACTIVE procedure TFSupplier.FormActivate(Sender: TObject);(jangan ikut dicopy ya) begin //membuat beberapa procedure BERSIH; REFRESH_DB; ATURPANEL(TRUE); end;
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 24
Langkah 2: Mengisi kode program pada BtnBaru, caranya klik 2x BitBtn tersebut dan copy kode berikut. TOMBOL BARU procedure TFSupplier.BtnBaruClick(Sender: TObject); (jangan ikut dicopy ya) begin ATURPANEL(FALSE); BERSIH; AUTONUMBER; KET :='BARU'; //tombol ini pada saat diklik mempunyai keterangan BARU EdNamaSupplier.SetFocus; //fokus kursor ke ednamasupplier end;
Langkah 3: Berikut kode program untuk BtnEdit. TOMBOL EDIT procedure TFSupplier.BtnEditClick(Sender: TObject); (jangan ikut dicopy ya) begin ATURPANEL(FALSE); KET := 'EDIT'; //keterangan tombol adalah EDIT EdNamaSupplier.SetFocus; end;
Langkah 4: Berikut kode program untuk BtnBatal. TOMBOL BATAL procedure TFSupplier.BtnBatalClick(Sender: TObject); (jangan ikut dicopy) begin FormActivate(Sender); //memanggil coding di form aktif end;
Langkah 5: Jika kita klik di bagian DBGrid harus muncul kembali datanya di bagian Edit, maka langkahnya pastikan sudah berada di DBGrid1, arahkan ke Object Inspector, pilih Event cari tulisan OnCellClick (artinya apabila cell di klik, aksi apa yang akan dilakukan), klik 2x di sebelah kanan OnCellClick maka akan muncul kotak isian kode program. Isikan dengan kode berikut. DBGRID ONCELLCLICK procedure TFSupplier.DBGrid1CellClick(Column: TColumn); (jangan dicopy) begin //menampilkan data kekomponen edit melalui dbgrid EdKodeSupplier.Text := QSupplierKodeSupplier.AsString; EdNamaSupplier.Text := QSupplierNamaSupplier.AsString; EdAlamatSupplier.Text := QSupplierAlamatSupplier.AsString; EdTeleponSupplier.Text := QSupplierTeleponSupplier.AsString; end;
Langkah 6: Berikut kode program untuk BtnKeluar (pasti sudah tahu). TOMBOL KELUAR procedure TFSupplier.BtnKeluarClick(Sender: TObject); (jangan dicopy) begin Close; end; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 25
Langkah 7: Berikut adalah kode program untuk EdCariBarang. EDIT CARI BARANG procedure TFSupplier.EdCariSupplierChange(Sender: TObject); (jangan dicopy) begin //mencari data berdasarkan nama supplier QSupplier.Close; QSupplier.SQL.Clear; QSupplier.SQL.Add('select * from tbl_supplier where '+ 'NamaSupplier LIKE '+QuotedStr('%'+EdCariSupplier.Text+'%')+''); QSupplier.Open; end;
Langkah 8: Berikut kode program Button1. TOMBOL HAPUS CARI BARANG procedure TFSupplier.Button1Click(Sender: TObject); (jangan dicopy) begin EdCariSupplier.Clear; EdCariSupplier.SetFocus; end;
Langkah 9: Untuk BtnSimpan lumayan banyak kode programnya, berikut adalah kodenya. TOMBOL SIMPAN procedure TFSupplier.BtnSimpanClick(Sender: TObject); (jangan dicopy) begin //validasi tombol simpan IF (EdNamaSupplier.Text = '') or (EdAlamatSupplier.Text = '') or (EdTeleponSupplier.Text = '') THEN BEGIN ShowMessage('DATA TIDAK BOLEH KOSONG'); EdNamaSupplier.SetFocus; Exit; END; //JIKA DATA BARU IF KET = 'BARU' THEN BEGIN ADOCommand1.CommandText := 'INSERT INTO tbl_supplier '+ 'VALUES('+QuotedStr(EdKodeSupplier.Text)+','+ QuotedStr(EdNamaSupplier.Text)+','+ QuotedStr(EdAlamatSupplier.Text)+','+ QuotedStr(EdTeleponSupplier.Text)+')'; ADOCommand1.Execute; ShowMessage('DATA BERHASIL DISIMPAN COY'); END //JIKA DATA UPDATE ELSE BEGIN ADOCommand1.CommandText := 'UPDATE tbl_supplier set '+ 'NamaSupplier ='+QuotedStr(EdNamaSupplier.Text)+','+ 'AlamatSupplier ='+QuotedStr(EdAlamatSupplier.Text)+','+ 'TeleponSupplier ='+QuotedStr(EdTeleponSupplier.Text)+' WHERE '+ 'KodeSupplier ='+QuotedStr(EdKodeSupplier.Text)+''; ADOCommand1.Execute; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 26
ShowMessage('DATA BERHASIL DIEDIT COY'); END; FormActivate(Sender); //kembali ke form aktif end;
Langkah 10: Berikut adalah kode program untuk BtnHapus. TOMBOL HAPUS procedure TFSupplier.BtnHapusClick(Sender: TObject); (jangan dicopy) begin //VALIDASI DATA, TIDAK BOLEH HAPUS KALAU BELUM PILIH DATA IF EdKodeSupplier.Text = '' THEN BEGIN ShowMessage('pilih data dulu dong cuy'); exit; //proses berhenti END; //pesan sebelum username menghapus data IF MessageDlg('Yakin akan menghapus data dengan kode '+ 'supplier '+EdKodeSupplier.Text+' ?',mtWarning,[mbYes,mbNo],0) =MrYes THEN BEGIN ADOCommand1.CommandText := 'DELETE FROM tbl_supplier WHERE '+ 'KodeSupplier ='+QuotedStr(EdKodeSupplier.Text)+''; ADOCommand1.Execute; ShowMessage('data sudah lenyap cuy'); END; FormActivate(Sender); //membuat ke keadaan form aktif end;
4. Meminimalisir Kesalahan Pada Form. Langkah 1: Isikan kode program di PROCEDURE ATURPANEL(X:BOOLEAN), karena diawal sebelumnya sudah membuat procedure tersebut dan belum mengisi kode porgramya. Berikut adalah kode programanya. procedure TFSupplier.ATURPANEL(X: BOOLEAN); (jangan dicopy) begin Panel1.Enabled := NOT X; Panel4.Enabled := X; Panel3.Enabled := NOT X; Panel2.Enabled := X; { misalkan x adalah TRUE, maka NOT X = tidak true X berarti panel aktif, dan NOT X berarti panel tidak aktif } end;
Untuk form data supplier sudah selesai, silahkan di running programnya. Apabila ada yang masih error, kemungkinan karena kurang teliti saja. Semoga bisa diikuti langkahlangkahnya sampai selesai, selanjutnya akan membuat form faktur. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 27
Membuat Form Faktur Dengan Menggunakan Software Borland Delphi 7 Target : membuat desain form dan mengisi properties. membuat procedure global. mengisi semua kode program. 1. Membuat Desain Form Faktur. Langkah 1: Berikut adalah tampilan desain form faktur yang akan dibuat, silahkan di desain sesuai dengan keinginan atau mengikuti desain ini.
Langkah 2: Masukkan beberapa komponen berikut, Komponen yang dibutuhkan berada di tab Pallete Standard, tab Pallete Data Acces, tab Pallete Addtional, tab pallete Win32 dan tab Pallete ADO. Isi semua semua propertiesnya untuk form data supplier. Komponen Form1 : TForm1 Panel1 : TPanel Panel2 : TPanel GroupBox1 : TGroupBox
Properties Yang Diubah Caption Position Name Caption BevelInnter Caption BevelInnter Caption
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Nilai Properties .:: FORM FAKTUR ::. PoScreenCenter FFaktur bvLowered bvLowered .:: Data Faktur ::.
Page 28
GroupBox2 : TGroupBox GroupBox3 : TGroupBox GroupBox4 : TGroupBox GroupBox5 : TGroupBox GroupBox6 : TGroupBox Label1 : TLabel (GroupBox1) Label2 : TLabel (GroupBox1) Label3 : TLabel (GroupBox1) Label4 : TLabel (GroupBox1) Label5 : TLabel (GroupBox2) Label6 : TLabel (GroupBox2) Label7 : TLabel (GroupBox3) Label8 : TLabel (GroupBox3) Label9 : TLabel (GroupBox3) Label10 : TLabel (GroupBox3) Label11 : TLabel (GroupBox3) Label12 : TLabel (GroupBox3) Label13 : TLabel (GroupBox3) Label14 : TLabel (GbSupplier) Label15 : TLabel (GbBarang) TDateTimePicker1: TDateTimePicker (GroupBox1) TdateTimePicker2: TDateTimePicker (GroupBox1) TEdit1 : TEdit (GroupBox2) TEdit2 : TEdit (GroupBox2) TButton1 : TButton (GroupBox2) TEdit3 : TEdit (GroupBox3) TEdit4 : TEdit (GroupBox3) TEdit5 : TEdit (GroupBox3) TEdit6 : TEdit (GroupBox3) TButton2 : TButton (GroupBox3) TButton3 : TButton (GroupBox3) TButton4 : TButton (GroupBox3) TBitBtn1 : TBitBtn (Panel1) TBitBtn2 : TBitBtn (Panel1) TBitBtn3 : TBitBtn (Panel2) TEdit7 : TEdit (GbSupplier) TEdit8 : TEdit (GbBarang) ADOConnection1 : TADOConnection ADOCommad1 : TADOCommand
Caption Caption Caption Caption Name Caption Name Caption Name Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Name Caption Caption Name
.:: Data Supplier ::. .:: Data Pembelian Barang ::. .:: View Data Pembelian ::. Cari Supplier GbSupplier Cari Barang GbBarang No Faktur LblNoFaktur Tanggal J Tempo Kode Supplier Nama Kode Barang Nama Barang Harga Jumlah Total Rp. LblTotal Masukkan Nama Supplier Masukkan Nama Barang DtpTanggal
Name
DtpJatuhTempo
Name Name Caption Name Name Name Name Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Name Name ConnetionString LoginPromt Connection
EdKodeSupplier EdNamaSupplier ... BtnCariNamaSupplier EdKodeBarang EdNamaBarang EdHarga EdJumlah ... BtnCariNamaBarang + BtnTambah BtnKurang Baru BtnBaru Keluar BtnKeluar Cetak Faktur BtnCetak EdCariNamaSupplier EdCariNamaBarang ODBC_TI12D False ADOConnection1
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 29
ADOQuery1 : TADOQuery
DataSource1 : TDataSource DBGrid1 : TDBGrid ADOQuery2 : TADOQuery
DataSource2 : TDataSource DBGrid2 : TDBGrid ADOQuery3 : TADOQuery
DataSource3 : TDataSource DBGrid3 : TDBGrid ADOQuery4 : TADOQuery
Connection Name SQL Klik 2x QFaktur Active DataSet Name DataSource Options... (dgEditing) Options... (dbRowSelect) Connection Name SQL Klik 2x Barang Active DataSet Name DataSource Options... (dgEditing) Options... (dbRowSelect) Connection Name SQL Klik 2x QSupplier Active DataSet Name DataSource Options... (dgEditing) Options... (dbRowSelect) Connection Name
ADOConnection1 QFaktur SELECT * FROM vdetailbeli Klik kanan Add all fields True QFaktur DsFaktur DsFaktur False True ADOConnection1 QBarang SELECT * FROM tbl_barang Klik kanan Add all fields True QBarang DsBarang DsBarang False True ADOConnection1 QSupplier SELECT * FROM tbl_supplier Klik kanan Add all fields True QSupplier DsSupplier DsSupplier False True ADOConnection1 Qtotal
2. Membuat Procedure Public. Langkah 1: Klik 2x di FFaktur, cari tulisan { Public declarations } isikan koding seperti dibawah ini. public { Public declarations } PROCEDURE BERSIH; PROCEDURE REFRESH_DB; PROCEDURE AUTONUMBER; PROCEDURE REFRESH_INPUT; //kalau sudah isi data PROCEDURE REFRESH_FAKTUR; //hanya fokus ke faktur transaksi PROCEDURE TOTAL_BAYAR; end;
Langkah 2: Pastikan kursor berada di procedure yang telah dibuat, kemudian tekan tombol (shift+ctrl+c), isikan masing-masing procedure dengan kode program berikut. PROCEDURE AUTONUMBER Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 30
procedure TFFaktur.AUTONUMBER; var nomor : double; BLN, THN :string; begin //mengambil data bulan dan tahun BLN := FormatDateTime('MM',DtpTanggal.Date); THN := FormatDateTime('yyyy', DtpTanggal.Date); //refresh database REFRESH_DB; //kondisi untuk menentukan urutan nomor faktur IF QFaktur.RecordCount = 0 THEN nomor := 00001 ELSE BEGIN QFaktur.Last; nomor := StrToFloat(COPY(QFakturNomorFaktur.AsString,3,5)); nomor := nomor + 1; END; LblNoFaktur.Caption := 'FP'+FormatFloat('00000',nomor)+ '/'+BLN+'/'+THN; end;
PROCEDURE BERSIH procedure TFFaktur.BERSIH; begin LblNoFaktur.Caption:='-'; DtpTanggal.Date:=Date; DtpJatuhTempo.Date:=Date; EdKodeSupplier.Clear; EdNamaSupplier.Clear; EdKodeBarang.Clear; EdNamaBarang.Clear; EdHarga.Clear; EdJumlahBeli.Clear; LblTotal.Caption:='-'; end;
PROCEDURE REFRESH_DB procedure TFFaktur.REFRESH_DB; begin //refresh detail; QFaktur.Close; QFaktur.SQL.Clear; QFaktur.SQL.Add('select * from vdetailbeli order by '+ ' NomorFaktur'); QFaktur.Open; end;
PROCEDURE REFRESH_INPUT procedure TFFaktur.REFRESH_INPUT; begin REFRESH_FAKTUR; EdKodeBarang.Clear; EdNamaBarang.Clear; EdHarga.Clear; EdJumlahBeli.Clear; EdKodeBarang.SetFocus; end; Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 31
PROCEDURE REFRESH_FAKTUR procedure TFFaktur.REFRESH_FAKTUR; begin QFaktur.Close; QFaktur.SQL.Clear; QFaktur.SQL.Add('select * from vdetailbeli where '+ 'NomorFaktur = '+QuotedStr(LblNoFaktur.Caption)+''); QFaktur.Open; end;
PROCEDURE TOTAL_BAYAR procedure TFFaktur.TOTAL_BAYAR; begin REFRESH_FAKTUR; IF QFaktur.RecordCount = 0 THEN LblTotal.Caption := '0' ELSE BEGIN QTotal.Close; QTotal.SQL.Clear; QTotal.SQL.Add('select sum(Jumlah) as totalx from '+ ' vdetailbeli where '+ 'NomorFaktur = '+QuotedStr(LblNoFaktur.Caption)+''); QTotal.Open; LblTotal.Caption := QTotal.FieldValues['totalx']; END; end;
3. Mengisi Semua Kode Program. Langkah 1: Pastikan sudah berada di Form Faktur, kemudian pilih Object Inspector, pilih Event, cari tulisan OnActive, klik 2x di sebelah kanannya, maka akan muncul kode program yang masih kosong, isikan dengan kode program dibawah ini. FORM FAKTUR ONACTIVE procedure TFFaktur.FormActivate(Sender: TObject); begin //membuat beberapa procedure BERSIH; REFRESH_DB; //menyembunyikan groupbox pencarian data GbSupplier.Visible := False; GbBarang.Visible := False; end;
Langkah 2: Mengisi kode program pada BtnKeluar, caranya klik 2x BitBtn tersebut dan copy kode berikut. TOMBOL KELUAR procedure TFFaktur.BtnKeluarClick(Sender: TObject); begin close; end;
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 32
Langkah 3: Mengisi kode program pada BtnBaru, caranya klik 2x BitBtn tersebut dan copy kode berikut. TOMBOL BARU procedure TFFaktur.BtnBaruClick(Sender: TObject); begin BERSIH; AUTONUMBER; EdKodeSupplier.SetFocus; end;
Langkah 4: Membuat tombol apabila diklik 2x muncul GroupBox pencarian nama supplier, caranya klik 2x BtnCariNamaSupplier (ada di GroupBox2 dengan caption ...). Isikan kode program berikut. TOMBOL MASUK CARI SUPPLIER procedure TFFaktur.BtnCariNamaSupplierClick(Sender: TObject); begin //kondisi jika groupbox supplier nya tidak tampil IF GbSupplier.Visible = FALSE THEN BEGIN //refresh data do dbgrid supplier QSupplier.Close; QSupplier.SQL.Clear; QSupplier.SQL.Add('select * from tbl_supplier'); QSupplier.Open; GbSupplier.Visible := True; //groupbox supplier tampil EdCariNamaSupplier.Clear; //bersih edcarisupplier EdCariNamaSupplier.SetFocus; //fokus kursor ke edcari END ELSE //jika groupbox supplier sedang tampil BEGIN GbSupplier.Visible := False; //sembunyikan groupbox supplier END; end;
Langkah 5: Berikut adalah kode program untuk EdCariNamaSupplier (ada di GbSupplier). EDIT CARI NAMA SUPPLIER procedure TFFaktur.EdCariNamaSupplierChange(Sender: TObject); begin //mencari data supplier berdasarkan nama QSupplier.Close; QSupplier.SQL.Clear; QSupplier.SQL.Add('select * from tbl_supplier where '+ 'NamaSupplier LIKE '+QuotedStr('%'+EdCariNamaSupplier.Text+'%') +''); QSupplier.Open; end;
Langkah 6: Pastikan sudah di DBGrid3 (berada di GbSupplier), Arahkan ke Object Inspector, pilih Event cari tulisan OnCellClick (artinya apabila cell di klik, aksi apa yang akan dilakukan), klik 2x di sebelah kanan OnCellClick maka akan muncul kotak isian kode program. Fungsi kode ini adalah ketika kita memilih data di DBGrid3, maka Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 33
langsung di tampilkan di EdKodeSupplier dan EdNamaSupplier, kemudian GroupBox ini akan tersembunyi lagi. DBGRID ONCELLCLICK SUPPLIER procedure TFFaktur.DBGrid3CellClick(Column: TColumn); begin EdKodeSupplier.Text := QSupplierKodeSupplier.AsString; EdNamaSupplier.Text := QSupplierNamaSupplier.AsString; EdKodeBarang.SetFocus; //kursor fokus ke kode barang GbSupplier.Visible := False; //sembunyikan groupbox supplier end;
Langkah 7: Membuat tombol apabila diklik 2x muncul GroupBox pencarian nama barang, caranya klik 2x BtnCariNamaBarang (ada di GroupBox3 dengan caption ...), dan isikan kode program berikut. TOMBOL MASUK CARI BARANG procedure TFFaktur.BtnCariNamaBarangClick(Sender: TObject); begin //kondisi jika groupbox barang nya tidak tampil IF GbBarang.Visible = FALSE THEN BEGIN //refresh data do dbgrid supplier Qbarang.Close; Qbarang.SQL.Clear; Qbarang.SQL.Add('select * from tbl_barang'); Qbarang.Open; GbBarang.Visible := True; //groupbox supplier tampil EdCariNamaBarang.Clear; //bersih edcarisupplier EdCariNamaBarang.SetFocus; //fokus kursor ke edcari END ELSE //jika groupbox supplier sedang tampil BEGIN GbBarang.Visible := False; //sembunyikan groupbox supplier END; end;
Langkah 8: Berikut adalah kode program untuk EdCariNamaBarang (ada di GbBarang). EDIT CARI NAMA BARANG procedure TFFaktur.EdCariNamaBarangChange(Sender: TObject); begin //mencari data supplier berdasarkan nama Qbarang.Close; Qbarang.SQL.Clear; Qbarang.SQL.Add('select * from tbl_barang where '+ 'NamaBarang LIKE '+QuotedStr('%'+EdCariNamaBarang.Text+'%') +''); Qbarang.Open; end;
Langkah 9: Pastikan sudah di DBGrid2 (berada di GbBarang), Arahkan ke Object Inspector, pilih Event cari tulisan OnCellClick (artinya apabila cell di klik, aksi apa yang akan dilakukan), klik 2x di sebelah kanan OnCellClick maka akan muncul kotak isian kode program. Fungsi kode ini adalah ketika kita memilih data di DBGrid2, maka Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 34
langsung di tampilkan di EdKodeBarang, EdNamaBarang, dan EdHarga, kemudian GroupBox ini akan tersembunyi lagi. DBGRID ONCELLCLICK BARANG procedure TFFaktur.DBGrid2CellClick(Column: TColumn); begin EdKodeBarang.Text := QbarangKodeBarang.AsString; EdNamaBarang.Text := QbarangNamaBarang.AsString; EdHarga.Text := QbarangHarga.AsString; EdJumlahBeli.SetFocus; //kursor fokus ke kode barang GbBarang.Visible := False; //sembunyikan groupbox supplier end;
Langkah 10: Mengisi kode program pada BtnTambah (ada di GroupBox3), fungsinya apabila melakukan transaksi supplier boleh membeli lebih dari 1 barang. Isikan kode berikut. TOMBOL TAMBAH procedure TFFaktur.BtnTambahClick(Sender: TObject); var jumlahbayar : integer; begin QFaktur.Close; QFaktur.SQL.Clear; QFaktur.SQL.Add('select * from vdetailbeli where '+ 'NomorFaktur = '+QuotedStr(LblNoFaktur.Caption)+' AND '+ 'KodeBarang = '+QuotedStr(EdKodeBarang.Text)+''); QFaktur.Open; IF QFaktur.RecordCount = 0 THEN BEGIN jumlahbayar := StrToInt(EdHarga.Text)* StrToInt(EdJumlahBeli.Text); //proses penyimpanan ADOCommand1.CommandText := 'INSERT INTO '+ 'tbl_detailfaktur(NomorFaktur,KodeSupplier,'+ 'KodeBarang,JumlahBeli,Jumlah) '+ 'values('+QuotedStr(LblNoFaktur.Caption)+','+ QuotedStr(EdKodeSupplier.Text)+','+ QuotedStr(EdKodeBarang.Text)+','+ QuotedStr(EdJumlahBeli.Text)+','+ IntToStr(jumlahbayar)+')'; ADOCommand1.Execute; END ELSE ShowMessage('Data Sudah Ada Sebelumnya'); REFRESH_INPUT; TOTAL_BAYAR; end;
Langkah 11: Mengisi kode program pada BtnKurang (ada di GroupBox3), fungsinya apabila melakukan transaksi supplier boleh membatalkan atau menghapus barang yang tidak jadi dibeli sebelum disimpan ke database. Isikan kode berikut. TOMBOL KURANG procedure TFFaktur.BtnKurangClick(Sender: TObject); begin Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 35
ADOCommand1.CommandText := 'delete from tbl_detailfaktur '+ 'where '+ 'NomorFaktur = '+QuotedStr(LblNoFaktur.Caption)+' and '+ 'KodeBarang = '+QuotedStr(EdKodeBarang.Text)+''; ADOCommand1.Execute; REFRESH_INPUT; TOTAL_BAYAR; end;
Langkah 12: Mengisi BtnCetakFaktur (ada di panel2), tombol ini tidak akan berfungsi fasilitas cetaknya sebelum membuat terlebih dahulu report yang sesuai. Apabila report sudah dibuat maka tombol cetak ini sebelum mencetak report tombol ini menyimpan data yang diinputkan ke database. Ini adalah kode programnya. TOMBOL CETAK FAKTUR + SIMPAN DATABASE procedure TFFaktur.BtnCetakFakturClick(Sender: TObject); begin ADOCommand1.CommandText := 'INSERT INTO tbl_faktur '+ 'VALUES('+QuotedStr(LblNoFaktur.Caption)+','+ QuotedStr(FormatDateTime('yyyy/MM/dd',DtpTanggal.Date))+','+ QuotedStr(FormatDateTime('yyyy/MM/dd',DtpJatuhTempo.Date))+','+ QuotedStr(LblTotal.Caption)+')'; ADOCommand1.Execute; ShowMessage('DATA BERHASIL DISIMPAN'); //untuk mencetak faktur harus membuat form report terlebih dahulu flaporan.QLaporan.Close; flaporan.QLaporan.SQL.Clear; flaporan.QLaporan.SQL.Add('select * from vfaktur where '+ 'NomorFaktur = '+QuotedStr(LblNoFaktur.Caption)+''); flaporan.QLaporan.Open; // preview laporan flaporan.FakturPembelian.Preview; FormActivate(Sender); end;
tips : khusus tombol cetak faktur + simpan database, untuk memanggil form lain maka gunakan tombol (alt+f11) pilih form yang akan digunakan. misalnya kita berada di FFaktur dan ingin memanggil flaporan maka gunakan tombol (alt+f11) untuk memanggilnya. (tombol alt+f11 adalah untuk menampilkan kotak dialog use unit). Untuk form data faktur sudah selesai, silahkan di running programnya. Apabila ada yang masih error, kemungkinan karena kurang teliti saja. Semoga bisa diikuti langkahlangkahnya sampai selesai, selanjutnya akan membuat form untuk report. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 36
Membuat Laporan Faktur Dengan Menggunakan QReport di Software Borland Delphi 7 Target : mengintall QReport. membuat desain form report dan mengisi properties. menentukan ukuran kertas dan band yang akan digunakan. tampilan hasil desain report. 1. Menginstall QReport. Langkan 1: Sebelum menggunakan QReport, pastikan QReport sudah terinstall di Borland Delphi 7. Apabila belum terinstall ikut langkah-langkah berikut. - Buka Borland Delphi 7 - Masuk menu Component - Pilih Install Packages - Klik Button Add - Cari Lokasi di C:/Program File/Borland/Delphi7/Bin/ - Setelah masuk di Bin pilih file dclqrt70.bpl jangan sampai salah - Klik open kemudian Ok. - Apabila diikuti dengan benar maka QReport akan muncul di tab Pallete paling akhir. 2. Membuat Desain Form Report Faktur dan Mengisi Properties. Langkah 1: Berikut adalah tampilan desain form report faktur yang akan dibuat, silahkan di desain sesuai dengan keinginan atau mengikuti desain ini.
Langkah 2: Masukkan beberapa komponen berikut, Komponen yang dibutuhkan berada di tab Pallete QReport dan tab Pallete ADO. Isi semua semua propertiesnya untuk form data report. Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 37
Komponen Form1 : TForm1 ADOQuery1 : TADOQuery
QuickRep1 : TQuickRep QRLabel1 (PageHeader) QRLabel2 (PageHeader) QRLabel3 (PageHeader) QRLabel4 (PageHeader) QRLabel5 (PageHeader) QRLabel6 (PageHeader) QRLabel7 (PageHeader) QRLabel8 (PageHeader) QRLabel9 (PageHeader) QRLabel10 (PageHeader) QRLabel11 (PageHeader) QRLabel12 (PageHeader) QRLabel13 (PageHeader) QRDBText1 (PageHeader) QRDBText2 (PageHeader) QRDBText3 (PageHeader) QRDBText4 (PageHeader) QRDBText5 (PageHeader) QRLabel14 (PageHeader) QRLabel15 (PageHeader) QRLabel16 (PageHeader) QRLabel17 (PageHeader) QRLabel18 (PageHeader) QRLabel19 (PageHeader) QRShape1 (PageHeader) QRShape2 (PageHeader) QRShape3 (PageHeader) QRShape4 (PageHeader) QRShape5 (PageHeader)
Properties Yang Diubah Position Name ConnectionString Name SQL Klik 2x QLaporan Active Name DataSet Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption DataSet DataField AutoSize DataSet DataField AutoSize DataSet DataField AutoSize DataSet DataField AutoSize DataSet DataField AutoSize Caption Caption Caption Caption Caption Caption Width Width Width Width
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Nilai Properties PoScreenCenter FLaporan ODBC_TI12D QLaporan SELECT * FROM vfaktur Klik kanan Add all fields True FakturPembelian QLaporan FAKTUR PEMELIAN PT TI 12 D TOPAN ANGIN BADAI Jalan Apa Adanya Gang Sederhana, Samping Abadi No. 10 Lampung No Faktur Tanggal Jatuh Tempo : : : Kode Supplier Nama Supplier : : QFaktur NomorFaktur False QFaktur TanggalFaktur False QFaktur TanggalJatuhTempo False QFaktur KodeSupplier False QFaktur NamaSupplier False No Kode Barang Nama Barang Harga Jumlah Beli Jumlah 1 1 1 1
Page 38
QRShape6 (PageHeader) QRSysDate1 (Detail Band) QRDBText6 (Detail Band) QRDBText7 (Detail Band) QRLabel20 (Detail Band) QRDBText8 (Detail Band)
QRDBText9 (Detail Band) QRDBText10 (Detail Band) QRLabel21 (Detail Band) QRDBText11 (Detail Band)
QRShape7 (Detail Band) QRShape8 (Detail Band) QRShape9 (Detail Band) QRShape10 (Detail Band) QRShape11 (Detail Band) QRShape12 (Detail Band) QRLabel22 (Summary) QRLabel23 (Summary) QRDBText12 (Summary)
QRShape13 (Summary) QRLabel24 (Summary) QRLabel25 (Summary)
Width Data DataSet DataField AutoSize DataSet DataField AutoSize Caption DataSet DataField Mask AutoSize DataSet DataField AutoSize DataSet DataField AutoSize Caption DataSet DataField Mask Alignment AutoSize Width Width Width Width Width Caption Caption DataSet DataField Mask Alignment AutoSize Caption Caption
1 qrsDetailNo QFaktur KodeBarang False QFaktur NamaBarang False Rp. QFaktur Harga #,##0 False QFaktur JumlahBeli False QFaktur NamaSupplier False Rp. QFaktur Jumlah #,##0 taRightJustify False 1 1 1 1 1 Total Rp. QFaktur TotalFaktur #,##0 taRightJustify False Kasir, Prof. Dr. Ir. Tanpa Nama Asli, M.Kom., M.T.I
3. Menentukan Ukuran Kertas dan Band. Langkah 1: Setelah memasukan QuickRep1 ke dalam form Laporan, maka jangan dulu menginputkan komponen-komponennya. Terlebih dahulu mengatur ukuran kertas dan Band yang digunakan. Caranya klik 2x di bagian pinggir QuickRep1, apabila kurang jelas ikut gambar berikut. Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 39
Langkah 2: Setelah klik 2x dibagian tersebut, maka akan muncul kotak dialog Report Setting, atur sesuai dengan gambar berikut.
Langkah 3: apabila sudah sesuai dengan gambar diatas atau keinginan klik Ok.
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 40
4. Tampilan Hasil Desain Report. Berikut adalah contoh tampilan hasil desain report dari program yang dibuat.
Semua program telah dibuat, maka selesai juga modul ini semoga bisa diikuti dari awal desain database sampai menggunakan qreport, mohon maaf apabila ada kesalahan dalam penulisan kata atau huruf, karena kurang telitinya pembuat modul ini. silahkan memberikan pesan kesan setelah mengikuti modul ini. Pada modul ini sengaja tidak dijelaskan fungsi dan maksud komponen yang digunakan, hanya beberapa saja yang dijelaskan. Saya adalah adalah manusia biasa, kesalahan pasti ada didalam modul ini. silahkan inisiatif sendiri atau membenarkan kesalahan tersebut. siapa tahu ada yang penasaran berikut adalah link download dari program pembelian dan sudah dimodifikasi sehingga desainya lumayan menarik langsung saja menuju link berikut, : http://www.filedais.com/hejygzxo5vpd.htm
Modul Delphi 7 Aplikasi Penjualan Sederhana (By. Supiyan Sauri)
Page 41