Modul Pemrograman Delphi 7.0.pdf - Google Drive

24 downloads 313 Views 7MB Size Report
Gambar 1-1 - Flowcode IDE. Page 3 of 120. Modul Pemrograman Delphi 7.0.pdf. Modul Pemrograman Delphi 7.0.pdf. Open. Extr
Modul Pemrograman Delphi 7

Tutoring Delphier Yugimage, M.Ber

Sekolah Tinggi Manajemen Informatika dan Komputer

BANI SALEH Bekasi 2014

 BAB 1 PENGANTAR PEMROGRAMAN VISUAL  BAB 2 PENGENALAN IDE DELPHI  BAB 3 PENGENALAN FORM SDI & MDI  BAB 4 TIPE ; Jet OLEDB:System ; Jet OLEDB:Registry Path="";

Tutorial Pembuatan Aplikasi Rental VCD

Connected LoginPrompt Mode Provider

Jet OLEDB:; Jet OLEDB:Engine Type=5; Jet OLEDB:; Jet OLEDB:Create System Database=False; Jet OLEDB:Encrypt Database=False; Jet OLEDB:Don't Copy Locale on Compact=False; Jet OLEDB:Compact Without Replica Repair=False; Jet OLEDB:SFP=False True False cmShareDenyNone Microsoft.Jet.OLEDB.4.0 Tabel 11-12 Properties ADOQueryVCD Properti Keterangan Name ADOQueryVCD Connection ADOConnRentalVCD CursorType ctStatic Active True SQL select * from vcd Tabel 11-13 Properties DSVCD Properti Keterangan Name DSVCD Dataset ADOQueryVCD Tabel 11-14 Properties DSAnggota Properti Keterangan Name DSAnggota Dataset ADOQueryAnggota Tabel 11-15 Properties DSPenyewaan Properti Keterangan Name DSPenyewaan Dataset ADOQueryPenyewaan Tabel 11-16 Properties ADOQueryAnggota Properti Keterangan Name ADOQueryAnggota Connection ADOConnRentalVCD CursorType ctStatic Active True SQL select * from anggota Tabel 11-17 Properties ADOQueryPenyewaan Properti Keterangan

Tutorial Pembuatan Aplikasi Rental VCD Name Connection CursorType Active SQL

ADOQueryPenyewaan ADOConnRentalVCD ctStatic True select * from penyewaanmaster

Gambar 11-40 – Properties Window ADOConnRentalVCD

Gambar 11-41 – ConnectionString Dialog

Gambar 11-42 – Data Link Properties - ConnectionString Builder Dialog

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-43 – Data Link Properties – Test Connection Success

Gambar 11-44 – Memasukkan string SQL pada property SQL ADOQueryLaporanPeminjaman 1.4.Menulis Kode Program VCD Rental

Gambar 11-45 – Cara 1 – Mengakses object untuk memasukkan code

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-46 – Cara 2 – Men-generate procedure baru dengan menggunakan event OnClick pada properties

Gambar 11-47 – Membuat procedure baru dengan meng-klik ganda pada button 1.4.1.Kode Program pada Form Utama unit UnitUtama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TfrmUtama = class(TForm) MainMenu1: TMainMenu; Program1: TMenuItem;

Tutorial Pembuatan Aplikasi Rental VCD Keluar1: TMenuItem; Master1: TMenuItem; Anggota1: TMenuItem; VCD1: TMenuItem; ransaksi1: TMenuItem; Penyewaan1: TMenuItem; Laporan1: TMenuItem; LaporanPeminjamanVCD1: TMenuItem; LaporanPengembalianVCD: TMenuItem; Bantuan1: TMenuItem; About: TMenuItem; LaporanPendapatan: TMenuItem; Label1: TLabel; procedure Keluar1Click(Sender: TObject); procedure Anggota1Click(Sender: TObject); procedure VCD1Click(Sender: TObject); procedure Penyewaan1Click(Sender: TObject); procedure LaporanPeminjamanVCD1Click(Sender: TObject); procedure LaporanPendapatanClick(Sender: TObject); procedure LaporanPengembalianVCDClick(Sender: TObject); procedure AboutClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmUtama: TfrmUtama; implementation uses DataModule, UnitAnggota, UnitTransaksi, UnitVCD, UnitAbout, UnitLaporanPeminjaman, UnitLaporanPendapatan, UnitLaporanPengembalian, Math, UnitKategori; {$R *.dfm} procedure TfrmUtama.Keluar1Click(Sender: TObject); begin Close; end; procedure TfrmUtama.Anggota1Click(Sender: TObject); begin Application.CreateForm(TfrmAnggota, frmAnggota); Anggota1.Enabled := false; end; procedure TfrmUtama.VCD1Click(Sender: TObject);

Tutorial Pembuatan Aplikasi Rental VCD begin Application.CreateForm(TfrmVCD, frmVCD); VCD1.Enabled := false; end; procedure TfrmUtama.Penyewaan1Click(Sender: TObject); begin Application.CreateForm(TfrmTransaksi, frmTransaksi); Penyewaan1.Enabled := false; end; procedure TfrmUtama.LaporanPeminjamanVCD1Click(Sender: TObject); begin frmLaporanPeminjaman.QRPeminjaman.Prepare; frmLaporanPeminjaman.QuickRep1.Preview; LaporanPeminjamanVCD1.Enabled := false; end; procedure TfrmUtama.LaporanPendapatanClick(Sender: TObject); begin Application.CreateForm(TfrmLaporanPendapatan, frmLaporanPendapatan); LaporanPendapatan.Enabled := false; end; procedure TfrmUtama.LaporanPengembalianVCDClick(Sender: TObject); begin Application.CreateForm(TfrmLaporanPengembalian, frmLaporanPengembalian ); LaporanPengembalianVCD.Enabled := false; end; procedure TfrmUtama.AboutClick(Sender: TObject); begin Application.CreateForm(TAboutBox, AboutBox); About.Enabled := false; end; end. 1.4.2.Kode Program pada Form Anggota unit UnitAnggota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids; type TfrmAnggota = class(TForm)

Tutorial Pembuatan Aplikasi Rental VCD DBGrid1: TDBGrid; btnTambah: TButton; btnEdit: TButton; btnHapus: TButton; btnSimpan: TButton; EditNamaAnggota: TEdit; EditAlamatAnggota: TEdit; EditTeleponAnggota: TEdit; Label1: TLabel; Nama: TLabel; EditKTPAnggota: TEdit; Alamat: TLabel; Label4: TLabel; Label5: TLabel; lblNoAnggota: TLabel; btnBatal: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure btnTambahClick(Sender: TObject); procedure btnEditClick(Sender: TObject); procedure btnBatalClick(Sender: TObject); procedure btnSimpanClick(Sender: TObject); procedure btnHapusClick(Sender: TObject); private { Private declarations } sqlstring: string; db_manipulation_mode: string; public { Public declarations } procedure refresh_table_anggota(); procedure tampil_data_anggota(); procedure clear_all(); end; var frmAnggota: TfrmAnggota; implementation uses UnitUtama, DataModule, ADODB, DB; {$R *.dfm} procedure TfrmAnggota.refresh_table_anggota(); begin sqlstring := 'select * from anggota'; with DM.ADOQueryAnggota do begin Close;

Tutorial Pembuatan Aplikasi Rental VCD SQL.Clear; SQL.Add(sqlstring); Open; end; end; procedure TfrmAnggota.tampil_data_anggota(); begin refresh_table_anggota; with DM.ADOQueryAnggota do begin if (IsEmpty = True) then begin ShowMessage('Belum ada anggota yang terdaftar dalam system'); end else begin lblNoAnggota.Caption := FieldByName('ID').AsString; EditNamaAnggota.Text := FieldByName('nama').AsString; EditAlamatAnggota.Text := FieldByName('alamat').AsString; EditTeleponAnggota.Text := FieldByName('telepon').AsString; EditKTPAnggota.Text := FieldByName('noktp').AsString; end; end; end; procedure TfrmAnggota.clear_all(); begin lblNoAnggota.Caption := ''; EditNamaAnggota.Clear; EditAlamatAnggota.Clear; EditTeleponAnggota.Clear; EditKTPAnggota.Clear; end; procedure TfrmAnggota.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.Anggota1.Enabled := True; end; procedure TfrmAnggota.FormShow(Sender: TObject); begin tampil_data_anggota; end; procedure TfrmAnggota.DBGrid1CellClick(Column: TColumn); begin tampil_data_anggota;

Tutorial Pembuatan Aplikasi Rental VCD end; procedure TfrmAnggota.btnTambahClick(Sender: TObject); begin clear_all; btnEdit.Enabled := false; btnHapus.Enabled := false; btnTambah.Enabled := false; EditNamaAnggota.SetFocus; db_manipulation_mode := 'insert'; end; procedure TfrmAnggota.btnEditClick(Sender: TObject); begin if (DM.ADOQueryAnggota.IsEmpty = False) and (lblNoAnggota.Caption '') then begin btnTambah.Enabled := false; btnHapus.Enabled := false; btnEdit.Enabled := false; EditNamaAnggota.SetFocus; db_manipulation_mode := 'update'; end else begin ShowMessage('Tidak ada data yang diedit!'); end; end; procedure TfrmAnggota.btnBatalClick(Sender: TObject); begin clear_all; btnTambah.Enabled := true; btnEdit.Enabled := true; btnHapus.Enabled := true; refresh_table_anggota; end; procedure TfrmAnggota.btnSimpanClick(Sender: TObject); begin if (db_manipulation_mode = 'insert') then begin sqlstring := 'insert into anggota(nama, alamat, telepon, noktp)' + ' values( ' + QuotedStr(EditNamaAnggota.Text) + ', '+QuotedStr(EditAlamatAnggota.Text)+', '+QuotedStr(EditTeleponAnggota.Text)+', '+QuotedStr(EditKTPAnggota.Text)+')'; end else if (db_manipulation_mode = 'update') then begin sqlstring := 'update anggota set nama = ' +

Tutorial Pembuatan Aplikasi Rental VCD QuotedStr(EditNamaAnggota.Text) + ', ' + ' alamat = ' + QuotedStr(EditAlamatAnggota.Text) + ', ' + ' telepon = ' + QuotedStr(EditTeleponAnggota.Text) + ', ' + ' noktp ' + QuotedStr(EditKTPAnggota.Text) + ' where ID = '+QuotedStr(lblNoAnggota.Caption); end; with DM.ADOQueryAnggota do begin Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_anggota; end; procedure TfrmAnggota.btnHapusClick(Sender: TObject); begin if (lblNoAnggota.Caption '') then begin if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation, mbOKCancel, 0) = mrOk) then begin with (DM.ADOQueryAnggota) do begin sqlstring := 'delete from anggota where ID = ' + lblNoAnggota.Caption; Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_anggota; end; end; end; end. 1.4.3.Kode Program pada Form VCD unit UnitVCD; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids; type TfrmVCD = class(TForm) EditJudulVCD: TEdit; editTahunVCD: TEdit;

Tutorial Pembuatan Aplikasi Rental VCD Label1: TLabel; Nama: TLabel; editSewa: TEdit; Alamat: TLabel; Label4: TLabel; Label5: TLabel; lblIDVCD: TLabel; DBGrid1: TDBGrid; btnTambah: TButton; btnEdit: TButton; btnHapus: TButton; btnSimpan: TButton; btnBatal: TButton; cmbKategori: TComboBox; Label2: TLabel; editBatasSewa: TEdit; Label3: TLabel; editDenda: TEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btnBatalClick(Sender: TObject); procedure btnSimpanClick(Sender: TObject); procedure btnHapusClick(Sender: TObject); procedure btnEditClick(Sender: TObject); procedure btnTambahClick(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure FormShow(Sender: TObject); procedure editTahunVCDKeyPress(Sender: TObject; var Key: Char); procedure editSewaKeyPress(Sender: TObject; var Key: Char); procedure editBatasSewaKeyPress(Sender: TObject; var Key: Char); procedure editDendaKeyPress(Sender: TObject; var Key: Char); private { Private declarations } sqlstring: string; db_manipulation_mode: string; public { Public declarations } procedure refresh_table_vcd(); procedure tampil_data_vcd(); procedure clear_all(); end; var frmVCD: TfrmVCD; implementation uses UnitUtama, DataModule; {$R *.dfm}

Tutorial Pembuatan Aplikasi Rental VCD procedure TfrmVCD.refresh_table_vcd(); begin sqlstring := 'select * from vcd'; with DM.ADOQueryVCD do begin Close; SQL.Clear; SQL.Add(sqlstring); Open; end; end; procedure TfrmVCD.tampil_data_vcd(); begin refresh_table_vcd; with DM.ADOQueryVCD do begin if (IsEmpty = True) then begin ShowMessage('Belum ada VCD yang terdaftar dalam system'); end else begin lblIDVCD.Caption := FieldByName('ID').AsString; EditJudulVCD.Text := FieldByName('judul').AsString; cmbKategori.Text := FieldByName('kategori').AsString; EditTahunVCD.Text := FieldByName('tahun').AsString; EditSewa.Text := FieldByName('sewa').AsString; EditBatasSewa.Text := FieldByName('batassewa').AsString; EditDenda.Text := FieldByName('denda').AsString; end; end; end; procedure TfrmVCD.clear_all(); begin lblIDVCD.Caption := ''; EditJudulVCD.Clear; EditTahunVCD.Clear; EditSewa.Clear; EditBatasSewa.Clear; EditDenda.Clear; end; procedure TfrmVCD.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.VCD1.Enabled := True; end;

Tutorial Pembuatan Aplikasi Rental VCD procedure TfrmVCD.btnBatalClick(Sender: TObject); begin clear_all; btnTambah.Enabled := true; btnEdit.Enabled := true; btnHapus.Enabled := true; refresh_table_VCD; end; procedure TfrmVCD.btnSimpanClick(Sender: TObject); begin if (db_manipulation_mode = 'insert') then begin sqlstring := 'insert into VCD(judul, Kategori, tahun, sewa, batassewa, denda)'+ ' values( ' + QuotedStr(EditJudulVCD.Text) + ' ,' + QuotedStr(cmbKategori.Text) + ' ,' + EditTahunVCD.Text + ' ,' + EditSewa.Text + ' ,' + EditBatasSewa.Text + ' ,' + EditDenda.Text + ' )'; end else if (db_manipulation_mode = 'update') then begin sqlstring := 'update VCD set judul = ' + QuotedStr(EditJudulVCD.Text) + ', ' +' Kategori = ' + QuotedStr(cmbKategori.Text) + ' ,' + ' tahun = ' + EditTahunVCD.Text + ', ' + ' sewa = ' + EditSewa.Text + ', ' + ' batassewa = ' + EditBatasSewa.Text + ', ' + ' denda = ' + EditDenda.Text + ', ' + ' where ID = ' + QuotedStr(lblIDVCD.Caption); end; with DM.ADOQueryVCD do begin Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_VCD; end; procedure TfrmVCD.btnHapusClick(Sender: TObject); begin if (lblIDVCD.Caption '') then begin if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation, mbOKCancel, 0) = mrOk) then begin with (DM.ADOQueryVCD) do begin

Tutorial Pembuatan Aplikasi Rental VCD sqlstring := 'delete from VCD where ID = ' + lblIDVCD.Caption; Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_VCD; end; end; end; procedure TfrmVCD.btnEditClick(Sender: TObject); begin if (DM.ADOQueryVCD.IsEmpty = False) and (lblIDVCD.Caption '') then begin btnTambah.Enabled := false; btnHapus.Enabled := false; btnEdit.Enabled := false; EditJudulVCD.SetFocus; db_manipulation_mode := 'update'; end else begin ShowMessage('Tidak ada data yang diedit!'); end; end; procedure TfrmVCD.btnTambahClick(Sender: TObject); begin clear_all; btnEdit.Enabled := false; btnHapus.Enabled := false; btnTambah.Enabled := false; EditJudulVCD.SetFocus; db_manipulation_mode := 'insert'; end; procedure TfrmVCD.DBGrid1CellClick(Column: TColumn); begin tampil_data_vcd; end; procedure TfrmVCD.FormShow(Sender: TObject); begin tampil_data_vcd; end; procedure TfrmVCD.editTahunVCDKeyPress(Sender: TObject; var Key: Char); begin if (key #8) then

Tutorial Pembuatan Aplikasi Rental VCD if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editSewaKeyPress(Sender: TObject; v ar Key: Char); begin if (key #8) then if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editBatasSewaKeyPress(Sender: TObject; var Key: Char); begin if (key #8) then if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editDendaKeyPress(Sender: TObject; var Key: Char); begin if (key #8) then if (key < '0') or (key > '9') then key := #0; end; end. 1.4.4.Kode Program pada Form Transaksi unit UnitTransaksi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DBCtrls; type TfrmTransaksi = class(TForm) Tambah: TButton; Label1: TLabel; lblTanggalSewa: TLabel; Label2: TLabel; lblTanggalKembali: TLabel; GroupPerminjam: TGroupBox; Label4: TLabel; EditCariAnggota: TEdit; rbNoAnggota: TRadioButton; rbNamaAnggota: TRadioButton; rbKTPAnggota: TRadioButton; GroupBox2: TGroupBox;

Tutorial Pembuatan Aplikasi Rental VCD Label6: TLabel; EditCariVCD: TEdit; rbIDVCD: TRadioButton; rbJudul: TRadioButton; rbKategori: TRadioButton; btnBatal: TButton; lblNamaAnggota: TLabel; btnPilih: TButton; DBGridDaftarVCD: TDBGrid; ListBoxPinjam: TListBox; Label3: TLabel; lblIDAnggota: TLabel; Label5: TLabel; lblHargaSewa: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btnPilihClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure EditCariAnggotaChange(Sender: TObject); procedure EditCariVCDChange(Sender: TObject); procedure TambahClick(Sender: TObject); procedure btnBatalClick(Sender: TObject); private { Private declarations } sqlstring: string; harga_sewa: integer; ListPinjamVCD: array[1..2, 1..10] of string; public { Public declarations } procedure hitung_harga_sewa(); end; var frmTransaksi: TfrmTransaksi; implementation uses UnitUtama, DataModule, DB, ADODB; {$R *.dfm} procedure TfrmTransaksi.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.Penyewaan1.Enabled := True; end; procedure TfrmTransaksi.btnPilihClick(Sender: TObject); var i: integer; idvcd: string;

Tutorial Pembuatan Aplikasi Rental VCD begin i := 1; idvcd := DBGridDaftarVCD.SelectedField.DataSet.FieldByName('ID').AsString; while i