Top Banner
Created By: Mirza Yogy Kurniawan 1 MEMBUAT APLIKASI DATABASE DELPHI 7.0 KASUS : PERPUSTAKAAN 1.1 Microsoft Access 1. Buat Folder “Perpustakaan” 2. Jalankan Ms Access 3. Create New Database 4. Simpan dengan nama DBPerpuspilih format *.mdb 5. Pastikan format *.mdb dan disimpan di folder “Perpustakaan” 6. Create – Table Design – Isi fieldnya seperti berikut: Field Name Data Type Lebar PK KodeBuku Text 4 JudulBuku Text 40 Pengarang Text 40 Penerbit Text 40 TahunTerbit Text 4 JumlahBuku Number 7. Simpan Dengan Nama “TBuku” 8. Dengan Cara yang sama Buat “TAnggota” Field Name Data Type Lebar PK NomorAnggota Text 14 NamaAnggota Text 40 TanggalLahir Date/Time Alamat Text 40 Foto OLE Object 9. TPetugas Field Name Data Type Lebar PK NomorPetugas Text 15 NamaPetugas Text 40 NamaPengguna Text 25 JenisPengguna Text 5 KataSandi Text 25 Foto OLE Object 10. TPeminjaman Field Name Data Type Lebar PK NomorPeminjaman Text 16 NomorPetugas Text 15 NomorAnggota Text 14 TanggalPeminjaman Date/Time TanggalHarusKembali Date/Time TanggalPengembalian Date/Time Denda Number 11. TDetailPeminjaman Field Name Data Type Lebar NomorPeminjaman Text 16 KodeBuku Text 4
37

[www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Jan 23, 2023

Download

Documents

Andhi Pratama
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

1

MEMBUAT APLIKASI DATABASE DELPHI 7.0

KASUS : PERPUSTAKAAN

1.1 Microsoft Access

1. Buat Folder “Perpustakaan” 2. Jalankan Ms Access 3. Create New Database 4. Simpan dengan nama “DBPerpus” pilih format *.mdb 5. Pastikan format *.mdb dan disimpan di folder

“Perpustakaan” 6. Create – Table Design – Isi fieldnya seperti berikut:

Field Name Data Type Lebar PK KodeBuku Text 4 JudulBuku Text 40 Pengarang Text 40 Penerbit Text 40 TahunTerbit Text 4 JumlahBuku Number

7. Simpan Dengan Nama “TBuku” 8. Dengan Cara yang sama Buat “TAnggota”

Field Name Data Type Lebar PK NomorAnggota Text 14 NamaAnggota Text 40 TanggalLahir Date/Time Alamat Text 40 Foto OLE Object

9. TPetugas Field Name Data Type Lebar PK NomorPetugas Text 15 NamaPetugas Text 40 NamaPengguna Text 25 JenisPengguna Text 5 KataSandi Text 25 Foto OLE Object

10. TPeminjaman Field Name Data Type Lebar PK NomorPeminjaman Text 16 NomorPetugas Text 15 NomorAnggota Text 14 TanggalPeminjaman Date/Time TanggalHarusKembali Date/Time TanggalPengembalian Date/Time Denda Number

11. TDetailPeminjaman Field Name Data Type Lebar NomorPeminjaman Text 16 KodeBuku Text 4

Page 2: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

2

12. Buka TPetugas isi: NomorPetugas: 24/Mar/2012-P001 NamaPetugas : (Isi Sendiri) NamaPengguna: ADMIN JenisPengguna: ADMIN KataSandi: (Isi Sendiri) Foto: Kosongkan

13. Tutup Microsoft Access

1.2 Borland Delphi 7.0

A. Koneksi Dengan ADOConnection pada Data Module

1. Jalankan Delphi

2. File – Save All (Shift+Ctrl+S)

3. Simpan Unit Dengan Nama “ULogin.pas” dan

Project “PerpusApp”.

4. File – New – Data Module – Save dengan Nama

“UDM.Pas”

5. Ganti Properti Name menjadi DM

6. Tambahkan dari “Tab ADO” sebuah komponen

“ADOConnection”

7. Klik 2 Kali “ADOConnection1” – Build – Microsoft

Jet 4.0 OLE DB Provider – Next – Ketik

DBPerpus.mdb

8. Test Connection, Jika gagal pastikan DBPerpus.mdb

berada dalam folder yang sama dengan Project

PerpusApp

9. Ubah Komponen ADOConnection1

Komponen Properties Isi ADOConnection1 Connected True LoginPrompt False Name CON

10. Save All

Page 3: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

3

B. Form Login

1. View – Forms (Shift+F12)

2. Pilih ULogin/Form1

3. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False BorderStyle BsDialog Caption LOGIN Name FLogin Position PoDesktopCenter

4. Letakkan 1 ADOTable, 2 Label, 2 Edit, dan 2 Button

5. Atur Propertiesnya

Komponen Properties Isi Label1 Caption Nama Pengguna Label2 Caption Kata Sandi Button1 Name BMasuk Caption Masuk Button2 Name BKeluar Caption Keluar Edit1 CharCase EcUpperCase Name EDUSER Edit2 Name EDPASS PasswordChar * ADOTable1 Name ADOTUser Connection DM.CON TableName TPetugas Active True

6. Cari Tulisan “Implementation” di Unit, Tambahkan

variable LAGI:integer diatasnya.

Page 4: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

4

7. Klik 1 Kali pada Form – Cari Event OnShow – Klik 2

Kali

8. Klik 2 Kali Pada Tombol Keluar

9. Klik 1 Kali Pada EDUser – Events – OnKeyDown

10. Klik 1 Kali Pada EDPass – Events – OnKeyDown

11. Supaya Ketika Diklik Tombol Masuk bisa membuka form utama maka buat dulu form utama.

12. File – New – Form, Pada Properties ganti Name menjadi FUtama.

13. Simpan dengan nama UUtama.pas 14. Kembali ke FLogin: View – Forms – Flogin 15. File – Use Unit Pilih FUtama atau UUtama

procedure Tflogin.EDPASSKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then bmasuk.SetFocus; end;

procedure Tflogin.EDUSERKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edpass.SetFocus; end;

procedure Tflogin.BKELUARClick (Sender: TObject); Begin IF MessageDlg('Apakah Yakin Ingin Keluar..?', mtConfirmation,[mbyes,mbno],0)=mrYes then Application.Terminate; end;

procedure Tflogin.FormShow(Sender: TObject); begin adotuser.Active:=false; adotuser.Active:=true; eduser.Clear; edpass.Clear; lagi:=0; end;

Page 5: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

5

16. Klik 2 Kali Pada Tombol Masuk isikan:

17. Save All Sampai sini ubah dulu di

Project – Option – Tab Forms: Main Form ganti

FLogin, DM Geser ke urutan pertama

procedure Tflogin.BMASUKClick(Sender: TObject); Begin if (adotuser.Locate('namapengguna',EDUSER.Text,[])) and (adotuser.FieldByName('katasandi').AsString=edpass.Text) and (lagi<=2) then begin MessageDlg('Selamat Datang'+

adotuser.fieldbyname('namapetugas').AsString, mtInformation,[mbOK],0); futama.ShowModal; end else begin messagedlg('Nama Pengguna Atau Kata Sandi Salah',mtError,[mbOK],0); eduser.SetFocus; lagi:=lagi+1; if lagi>2 then begin MessageDlg('Hubungi Administrator',mtWarning,[mbOK],0); application.Terminate; end; exit; end; end;

Page 6: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

6

C. Form Utama

1. Pada Pembuatan Form sebelumnya sudah dibuat

FUtama jadi tinggal lakukan: View – Forms –

UUtama atau FUtama.

2. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False Caption PERPUSTAKAAN Name FUtama Position PoDesktopCenter

3. Dari TAB Standard ambil komponen MainMenu

4. Klik 2 Kali Main Menu dan Isi Seperti Berikut:

Page 7: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

7

5. File – Use Unit – Flogin/Ulogin

6. Klik Form 1 Kali – Events – OnShow

7. Klik 2 Kali Pada Menu Keluar

procedure TFUtama.Keluar1Click(Sender: TObject); begin FLogin.bKeluar.Click; end;

procedure TFUtama.FormShow(Sender: TObject); begin if flogin.adotuser.FieldByName('jenispengguna').AsString='ADMIN' then DataPetugas1.Visible:=true else DataPetugas1.Visible:=false; end;

Page 8: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

8

D. Form Buku

1. File – New Form

2. Save – Simpan dengan nama UBuku.pas

3. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False BorderStyle BsDialog Caption Data Buku Name FBuku Position PoDesktopCenter 4. Cari Tulisan “Implementation” di Unit,

Tambahkan variable Status:String diatasnya.

5. Tambahkan 6 Label, 7 Edit, 7 Button, 1

RadioGroup, 1 DBGrid, 1 ADOTable, 1 Data

Source, atur seperti gambar berikut:

6. Atur Propertiesnya

Komponen Properties Isi Label1 Caption Kode Buku Label2 Caption Judul Buku Label3 Caption Pengarang Label4 Caption Penerbit Label5 Caption Tahun Terbit Label6 Caption Jumlah Buku Button1 Name BTambah Caption Tambah Button2 Name BUbah

Page 9: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

9

Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Edit1 CharCase EcUpperCase Name EDKODEBUKU Edit2 CharCase EcUpperCase Name EDJUDULBUKU Edit3 CharCase EcUpperCase Name EDPENGARANG Edit4 CharCase EcUpperCase Name EDPENERBIT Edit5 CharCase EcUpperCase Name EDTAHUNTERBIT Edit6 CharCase EcUpperCase Name EDJUMLAHBUKU Edit7 CharCase EcUpperCase Name EDCARI RadioGroup1 Items Kode Buku

Judul Buku Pengarang

Caption Pencarian ADOTable1 Name ADOTBuku Connection DM.CON

TableName TBuku Active True DataSource1 Name DSBuku DataSet ADOTBuku DBGrid1 DataSource DSBuku Options

dgEditing False

7. Klik 2 Kali DBGrid – Klik Kanan Add All Fields

8. Atur Properties

Komponen Properties Isi KodeBuku Title - Alignment taCenter Title - Caption Kode Buku JudulBuku Title - Alignment taCenter Title - Caption Judul Buku Pengarang Title - Alignment taCenter Title - Caption Pengarang Penerbit Title - Alignment taCenter Title - Caption Penerbit TahunTerbit Title - Alignment taCenter Title - Caption Tahun Terbit JumlahBuku Title - Alignment taCenter Title - Caption Jumlah Buku

Page 10: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

10

9. Klik 1 Kali pada Form – Cari Event OnShow –

Klik 2 Kali

10. Klik 2 Kali Pada Tombol Tambah

procedure TFBuku.BTambahClick(Sender: TObject); begin STATUS:='TAMBAH'; EDKODEBUKU.Enabled:=TRUE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDKODEBUKU.SetFocus; end;

procedure TFBuku.FormShow(Sender: TObject); begin ADOTBUKU.Filtered:=FALSE; ADOTBUKU.Active:=FALSE; ADOTBUKU.Active:=TRUE; EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=FALSE; EDPENGARANG.Enabled:=FALSE; EDPENERBIT.Enabled:=FALSE; EDTAHUNTERBIT.Enabled:=FALSE; EDJUMLAHBUKU.Enabled:=FALSE; EDKODEBUKU.Clear; EDJUDULBUKU.Clear; EDPENGARANG.Clear; EDPENERBIT.Clear; EDTAHUNTERBIT.Clear; EDJUMLAHBUKU.Clear; EDCARI.Clear; EDCARI.Enabled:=TRUE; RadioGroup1.Enabled:=TRUE; BCARI.Enabled:=TRUE; BTAMBAH.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; RadioGroup1.ItemIndex:=-1; end;

Page 11: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

11

11. Klik 2 Kali Pada Tombol Ubah

12. Klik 2 Kali Pada Tombol Batal

13. Klik 2 Kali Pada Tombol Hapus

14. Klik EDTAHUNTERBIT – Event - OnKeyPress

15. Lakukan hal yang sama untuk EDJUMLAHBUKU

procedure TFBuku.EDTAHUNTERBITKeyPress(Sender: TObject; var Key: Char); begin if NOT (Key in ['0'..'9', #8, #9, #26, #13]) then begin Key:=#0; exit; end; end;

procedure TFBuku.BHapusClick(Sender: TObject); begin if MessageDlg('Apakah Data Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin ADOTBuku.Delete; FORMSHOW(SENDER); end; end;

procedure TFBuku.BBatalClick(Sender: TObject); begin FORMSHOW(SENDER); end;

procedure TFBuku.BUbahClick(Sender: TObject); begin STATUS:='UBAH';

EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDJUDULBUKU.SetFocus; end;

Page 12: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

12

16. Klik 2 Kali Pada Tombol Cari

procedure TFBUKU.bCariClick(Sender: TObject); VAR S:STRING; begin IF RADIOGROUP1.ItemIndex=-1 THEN BEGIN MESSAGEDLG('Pilih Field yang Dicari',mtWarning,[mbOK],0); exit; END ELSE IF RADIOGROUP1.ItemIndex=0 THEN BEGIN S:='KodeBuku like %'+edcari.Text+'%'; END ELSE IF RADIOGROUP1.ItemIndex=1 THEN BEGIN S:='JudulBuku like %'+edcari.Text+'%'; END ELSE BEGIN S:='Pengarang like %'+EDcari.Text+'%'; END; ADOTBuku.Filtered:=false; adotbuku.Filter:=S; adotbuku.Filtered:=true; if adotbuku.IsEmpty then BEGIN MESSAGEDLG('Data Tidak Ditemukan',mtWarning,[mbOK],0); formshow(sender); exit; END; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edtahun.Enabled:=false; edstok.Enabled:=false; dtp1.Enabled:=false; EDKODEBUKU.Text:=ADOTBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=ADOTBuku.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=ADOTBuku.FIELDBYNAME('PENGARANG').AsString; EDTAHUN.Text:=ADOTBuku.FIELDBYNAME('TAHUN').AsString; EDSTOK.Text:=ADOTBUKU.FIELDBYNAME('STOK').AsString; DTP1.DateTime:=ADOTBUKU.FIELDBYNAME('TANGGALMASUK').AsDateTime; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; bpilih.Enabled:=FALSE; end;

Page 13: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

13

17. Klik 2 Kali Pada Tombol Simpan

procedure TFBuku.BSimpanClick(Sender: TObject); begin if (edkodebuku.Text='') or (edjudulbuku.Text='') or (edpengarang.Text='') or (edpenerbit.Text='') or (edtahunterbit.Text='') or (EDJUMLAHBUKU.Text='') then begin messagedlg('Lengkapi Data',mtWarning,[mbOK],0); exit; end; if Length(edkodebuku.Text)>4 then begin messagedlg('Kode Buku Maksimal 4 Karakter',mtWarning,[mbOK],0); edkodebuku.SetFocus; exit; end; if (strtoint(EDTAHUNTERBIT.Text)>strtoint(formatdatetime('yyyy',now))) or (strtoint(EDTAHUNTERBIT.Text)<1900) then begin messagedlg('Tahun Salah',mtWarning,[mbOK],0); EDTAHUNTERBIT.SetFocus; exit; end; if status='TAMBAH' then begin if adotbuku.Locate('kodebuku',edkodebuku.Text,[]) then begin messagedlg('Kode Sudah Dipakai',mtWarning,[mbOK],0); exit; end; adotbuku.Append; adotbuku.FieldByName('KodeBuku').Value:=edkodebuku.Text;; end else begin adotbuku.Edit; end; adotbuku.FieldByName('judulbuku').AsString:=edjudulbuku.Text; adotbuku.FieldByName('pengarang').AsString:=edpengarang.Text; adotbuku.FieldByName('penerbit').AsString:=edpenerbit.Text; adotbuku.FieldByName('tahunterbit').AsString:=edtahunterbit.Text; adotbuku.FieldByName('jumlahbuku').asstring:=edjumlahbuku.Text; adotbuku.Post; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender); end;

Page 14: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

14

18. Klik 1 Kali Pada DBGrid – Event – OnDblClick

19. Isikan Close; pada tombol Keluar

20. Supaya Form Utama Bisa Memanggil Form Buku:

View – Form – UUtama/FUtama

File – Use Unit – Pilih FBuku/UBuku

Klik Data Buku pada FUtama, isikan: FBuku.showModal;

21. Save All

procedure TFBuku.DBGrid1DblClick(Sender: TObject); begin if ADOTBuku.IsEmpty then begin messagedlg('Data Masih Kosong',mtWarning,[mbOK],0); exit; end; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edpenerbit.Enabled:=false; EDTAHUNTERBIT.Enabled:=false; EDJUMLAHBUKU.Enabled:=false; EDKODEBUKU.Text:=ADOTBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=ADOTBuku.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=ADOTBuku.FIELDBYNAME('PENGARANG').AsString; EDPENERBIT.Text:=ADOTBUKU.FIELDBYNAME('PENERBIT').AsString; EDTAHUNterbit.Text:=ADOTBuku.FIELDBYNAME('TAHUNTERBIT').AsString; EDJUMLAHBUKU.Text:=ADOTBUKU.FIELDBYNAME('JUMLAHBUKU').AsString; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; end;

Page 15: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

15

E. Form Anggota

1. File – New Form

2. Save – Simpan dengan nama UAnggota.pas

3. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False BorderStyle BsDialog Caption Data Anggota Name FAngota Position PoDesktopCenter

4. Cari Tulisan “Implementation” di Unit,

Tambahkan variable Status,Lokasi:String dan

Uses Jpeg diatasnya.

5. Tambahkan 5 Label, 4 Edit, 8 Button, 1

DateTimePicker, 1 ADOTable, 1 DataSource, 1

DBGrid, 1 RadioGroup, 1 Image, dan 1

OpenPictureDialog

6. Atur Propertiesnya

Komponen Properties Isi Label1 Caption Nomor Anggota Label2 Caption Nama Anggota Label3 Caption Tanggal Lahir

Page 16: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

16

Label4 Caption Alamat Label5 Caption Foto Button1 Name BTambah Caption Tambah Button2 Name BUbah Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Button8 Name BPilih Caption Pilih Edit1 CharCase EcUpperCase Name EDNOMOR Edit2 CharCase EcUpperCase Name EDNAMA Edit3 CharCase EcUpperCase Name EDALAMAT Edit4 CharCase EcUpperCase Name EDCARI RadioGroup1 Items Nomor Anggota

Nama Anggota Caption Pencarian ADOTable1 Name ADOTAnggota Connection DM.CON

TableName TAnggota Active True DataSource1 Name DSAnggota DataSet ADOTAnggota DBGrid1 DataSource DSAnggota Options

dgEditing False

Image1 Name Img1 OpenDialogPicture Name Opd DateTimePicker format dd/MMM/yyy

7. Klik 2 Kali DBGrid – Klik Kanan Add All Fields

8. Atur Properties

Komponen Properties Isi NomorAnggota Title - Alignment taCenter Title - Caption Nomor

Anggota NamaAnggota Title - Alignment taCenter Title - Caption Nama

Anggota TanggalLahir Title - Alignment taCenter Title - Caption Tanggal Lahir Penerbit Title - Alignment taCenter Foto Title - Alignment taCenter

Klik 2 Kali ADOTAnggota – Klik Kanan – Add

All Fields – Pilih TanggalLahir – Properties –

DisplayFormat: dd/MMM/yyyy

Page 17: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

17

9. Klik 1 Kali pada Form – Cari Event OnShow –

Klik 2 Kali

10. Klik 2 Kali pada tombol Ubah

11. Klik 2 Kali Pada Tombol Hapus

procedure TFAnggota.BHAPUSClick(Sender: TObject); begin if MessageDlg('Apakah Data Benar Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin ADOTANGGOTA.Delete; FORMSHOW(SENDER); end; end;

procedure TFAnggota.BUBAHClick(Sender: TObject); begin status:='ubah'; ednama.Enabled:=true; datetimepicker1.Enabled:=true; edalamat.Enabled:=true; Bbaru.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; Bpilih.Enabled:=true; ednama.SetFocus; end;

procedure TFAnggota.FormShow(Sender: TObject); begin ADOTANGGOTA.Active:=FALSE; ADOTANGGOTA.Active:=TRUE; ADOTANGGOTA.Filtered:=FALSE; EDNOMOR.Enabled:=FALSE; EDNAMA.Enabled:=FALSE; DATETIMEPICKER1.Enabled:=FALSE; EDALAMAT.Enabled:=FALSE; IMG1.Picture.Graphic:=NIL; EDNOMOR.Clear; EDNAMA.Clear; DATETIMEPICKER1.DateTime:=NOW; EDALAMAT.Clear; EDCARI.Clear; BBARU.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; BPILIH.Enabled:=FALSE; RADIOGROUP1.ItemIndex:=-1; end;

Page 18: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

18

12. Klik 2 Kali Pada Tombol Pilih

13. Klik 2 Kali Pada Tombol Batal

14. Klik 2 Kali Pada Tombol Tutup

15. Klik 2 Kali Pada Tombol Tambah

procedure TFAnggota.BBARUClick(Sender: TObject); VAR KODE:STRING; begin IF ADOTAnggota.IsEmpty THEN BEGIN KODE:='001'; end else begin ADOTAnggota.Last; kode:=copy(ADOTAnggota.fieldbyname('nomoranggota').AsString,12,3); kode:=format('%.3d',[strtoint(kode)+1]); end; ednomor.Text:=formatdatetime('dd/MM/yyyy', now)+'-'+kode; ednomor.Enabled:=false; ednama.Enabled:=true; datetimepicker1.Enabled:=true; edalamat.Enabled:=true; Bbaru.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; BPILIH.Enabled:=true; ednama.SetFocus; status:='baru'; end;

procedure TFAnggota.BTUTUPClick(Sender: TObject); begin close; end;

procedure TFAnggota.BBATALClick(Sender: TObject); begin FORMSHOW(SENDER); end;

procedure TFAnggota.BPILIHClick(Sender: TObject); begin if dlgopd.Execute then begin lokasi:=dlgopd.FileName; Img1.Picture.LoadFromFile(lokasi); end; end;

Page 19: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

19

16. Klik 2 Kali Pada Tombol Simpan

procedure TFAnggota.BSIMPANClick(Sender: TObject); var year1,year2:integer; begin year1:=strtoint(formatdatetime('yyyy',now)); year2:=strtoint(formatdatetime('yyyy',datetimepicker1.DateTime)); if (year1-year2<6) or (year1-year2>99) then begin MessageDlg('Umur Tidak Sesuai',mtWarning,[mbok],0); exit; end; if (ednama.Text='') or (edalamat.Text='') or (img1.Picture.Graphic=nil) then begin MessageDlg('Data Belum Lengkap',mtWarning,[mbok],0); exit; end; if status='baru' then begin ADOTAnggota.Append; ADOTAnggota.FieldByName('nomoranggota').AsString:=ednomor.Text; end else begin ADOTAnggota.Edit; end; ADOTAnggota.FieldByName('namaanggota').AsString:=ednama.Text; ADOTAnggota.FieldByName('tanggallahir').AsDateTime:=datetimepicker1.DateTime; ADOTAnggota.FieldByName('alamat').AsString:=edalamat.Text; ADOTAnggota.FieldByName('foto').AsString:=lokasi; ADOTAnggota.Post; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender);

Page 20: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

20

17. Klik 2 Kali Pada Tombol Cari

procedure TFAnggota.Bcari1Click(Sender: TObject); var s:string; begin if radiogroup1.ItemIndex=-1 then begin MessageDlg('Pilih Tipe Pencarian',mtWarning,[mbOK],0); exit; end else if radiogroup1.ItemIndex=0 then begin s:='nomoranggota LIKE %'+Edcari.Text+'%'; end else begin s:='namaanggota LIKE %'+Edcari.Text+'%'; END; ADOTAnggota.Filtered:=false; ADOTAnggota.Filter:=s; ADOTAnggota.Filtered:=true; if ADOTAnggota.IsEmpty then begin messagedlg('Data Tidak Ditemukan',mtWarning,[mbok],0); formshow(sender); exit; end; with DBGrid1 do begin ednomor.Text:=ADOTAnggota.fieldbyname('nomoranggota').AsString; ednama.Text:=ADOTAnggota.fieldbyname('namaanggota').AsString; datetimepicker1.DateTime:=ADOTAnggota.fieldbyname('tanggallahir').AsDateTime; edalamat.Text:=ADOTAnggota.fieldbyname('alamat').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; end; if lokasi='' then begin Img1.Picture.Graphic:=nil; MessageDlg('Data Foto Masih Kosong',mtWarning,[mbOK],0); end else begin try Img1.Picture.LoadFromFile(lokasi) except begin MessageDlg('Data Foto Tidak Ditemukan',mtWarning,[mbOK],0); img1.Picture.Graphic:=nil; end; end; end; Bbaru.Enabled:=false; Bubah.Enabled:=true; Bsimpan.Enabled:=false; Bhapus.Enabled:=true; Bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; end;

Page 21: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

21

18. Klik 1 Kali Pada DBGrid – Event – OnDblClick

19. Supaya Form Utama Bisa Memanggil Form Buku:

View – Form – UUtama/FUtama

File – Use Unit – Pilih FAnggota/UAnggota

Klik Data Anggota pada FUtama, isikan: FAnggota.showModal;

20. Save All

procedure TFAnggota.DBGrid1DblClick(Sender: TObject); begin with DBGrid1 do begin ednomor.Text:=ADOTAnggota.fieldbyname('nomoranggota').AsString; ednama.Text:=ADOTAnggota.fieldbyname('namaanggota').AsString; datetimepicker1.DateTime:=ADOTAnggota.fieldbyname('tanggallahir').AsDateTime; edalamat.Text:=ADOTAnggota.fieldbyname('alamat').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; end; if lokasi='' then begin Img1.Picture.Graphic:=nil; MessageDlg('Data Foto Masih Kosong',mtWarning,[mbOK],0); end else begin try Img1.Picture.LoadFromFile(lokasi) except begin MessageDlg('Data Foto Tidak Ditemukan',mtWarning,[mbOK],0); img1.Picture.Graphic:=nil; end; end; end; Bbaru.Enabled:=false; Bubah.Enabled:=true; Bsimpan.Enabled:=false; Bhapus.Enabled:=true; Bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; end;

Page 22: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

22

F. Form Petugas

1. File – New Form

2. Save – Simpan dengan nama UPetugas.pas

3. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False BorderStyle BsDialog Caption Data Petugas Name FPetugas Position PoDesktopCenter

4. Cari Tulisan “Implementation” di Unit,

Tambahkan variable Status, Lokasi, JP:String

dan Uses Jpeg diatasnya.

5. Tambahkan 7 Label, 6 Edit, 8 Button, 1

ADOTable, 1 DataSource, 1 DBGrid, 2

RadioGroup, 1 Image, dan 1 OpenPictureDialog

6. Atur Propertiesnya

Komponen Properties Isi Label1 Caption Nomor Petugas Label2 Caption Nama Petugas Label3 Caption Nama Pengguna Label4 Caption Jenis Pengguna Label5 Caption Kata Sandi Label6 Caption Kata Sandi

(Ulangi)

Page 23: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

23

Label7 Caption Foto Button1 Name BTambah Caption Tambah Button2 Name BUbah Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Button8 Name BPilih Caption Pilih Gambar Edit1 Name EDNOMOR Edit2 CharCase EcUpperCase Name EDNAMA Edit3 CharCase EcUpperCase Name EDUSER Edit4 CharCase EcUpperCase Name EDPASS1 PasswordChar * Edit5 CharCase EcUpperCase Name EDPASS2 PasswordChar * Edit6 CharCase EcUpperCase Name EDCARI Edit7 CharCase EcUpperCase

Name EDCARI RadioGroup1 Items ADMIN

USER Columns 2 RadioGroup2 Items Nama Anggota

Nama Pengguna ADOTable1 Name ADOTPetugas Connection DM.CON TableName TPetugas Active True DataSource1 Name DSPetugas DataSet ADOTPetugas DBGrid1 DataSource DSBuku Options

dgEditing False

Image1 Name Img1 OpenDialogPicture Name DlgOpd

7. Klik 2 Kali DBGrid – Klik Kanan Add All

Fields, Hapus Field KataSandi

8. Atur Properties

Komponen Properties Isi NomorPetugas Title - Alignment taCenter Title - Caption Nomor

Petugas NamaPetugas Title - Alignment taCenter Title - Caption Nama Petugas JenisPengguna Title - Alignment taCenter

Page 24: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

24

Title - Caption JenisPengguna NamaPengguna Title - Alignment taCenter Title - Caption Nama

Pengguna Foto Title - Alignment taCenter

9. Klik 1 Kali pada Form – Cari Event OnShow – Klik 2

Kali

10. Klik 1 Kali tombol Hapus

procedure TfPetugas.bHAPUSClick(Sender: TObject); begin if MessageDlg('Apakah Data Benar Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin ADOTpetugas.Delete; FORMSHOW(SENDER); end; end;

BTAMBAH.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; BPILIH.Enabled:=FALSE; bcari.Enabled:=true; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP2.ItemIndex:=-1; RadioGroup1.Enabled:=false; RadioGroup2.Enabled:=TRUE; end;

procedure TfPetugas.FormShow(Sender: TObject); begin ADOTPETUGAS.Active:=FALSE; ADOTPETUGAS.Active:=TRUE; ADOTPETUGAS.Filtered:=FALSE; ADOTpetugas.Sort:='nomorpetugas'; EDNOMOR.Enabled:=FALSE; EDNAMA.Enabled:=FALSE; EDUSER.Enabled:=FALSE; EDPASS1.Enabled:=FALSE; EDPASS2.Enabled:=FALSE; EDCARI.Enabled:=TRUE; EDNOMOR.Clear; EDNAMA.Clear; EDUSER.Clear; EDPASS1.Clear; EDPASS2.Clear; EDCARI.Clear; IMG1.Picture.Graphic:=NIL;

Page 25: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

25

11. Klik 1 Kali tombol Pilih

12. Klik 1 Kali tombol Tutup

13. Klik 1 Kali tombol Batal

14. Klik 1 Kali tombol Tambah

begin IF ADOTPETUGAS.IsEmpty THEN BEGIN KODE:='P01'; end else begin ADOTPETUGAS.Last; kode:=copy(ADOTPETUGAS.fieldbyname('nomorpetugas').AsString,14,2); kode:='P'+format('%.2d',[strtoint(kode)+1]); end; ednomor.Text:=formatdatetime('dd/MMM/yyyy', now)+'-'+kode; ednomor.Enabled:=false; ednama.Enabled:=true; EDUSER.Enabled:=true; RadioGroup1.Enabled:=true; EDPASS1.Enabled:=true; EDPASS2.Enabled:=true; radiogroup2.Enabled:=false; edcari.Enabled:=false; BTAMBAH.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; BPILIH.Enabled:=true; bcari.Enabled:=false; ednama.SetFocus; status:='baru'; end;

procedure TfPetugas.btambahClick(Sender: TObject); VAR KODE:STRING;

procedure TfPetugas.bBATALClick(Sender: TObject); begin FORMSHOW(SENDER); end;

procedure TfPetugas.bTUTUPClick(Sender: TObject); begin CLOSE; end;

procedure TfPetugas.BPILIHClick(Sender: TObject); begin if dlgopd.Execute then begin lokasi:=dlgopd.FileName; Img1.Picture.LoadFromFile(lokasi); end; end;

Page 26: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

26

procedure TfPetugas.bSIMPANClick(Sender: TObject); begin if (ednama.Text='') or (eduser.Text='') or (radiogroup1.ItemIndex=-1) or (edpass1.Text='') or (edpass2.Text='') or (img1.Picture.Graphic=nil) then begin MessageDlg('Data Belum Lengkap',mtWarning,[mbok],0); exit; end; if (Length(eduser.Text)<3) or (Length(eduser.Text)>25) then begin MessageDlg('Panjang Nama Pengguna Harus 3-25 Karakter',mtWarning,[mbok],0); eduser.SetFocus; exit; end; if (Length(edpass1.Text)<3) or (Length(edpass1.Text)>25) then begin MessageDlg('Panjang Kata Sandi Harus 3-25 Karakter',mtWarning,[mbok],0); edpass1.SetFocus; exit; end; if edpass1.Text<>edpass2.Text then begin MessageDlg('Kata Sandi Tidak Cocok',mtWarning,[mbok],0); edpass1.SetFocus; exit; end; if status='baru' then begin if ADOTpetugas.Locate('namapengguna',eduser.Text,[]) then begin MessageDlg('Nama Pengguna Sudah Dipakai',mtWarning,[mbok],0); exit; end; ADOTpetugas.Append; ADOTpetugas.FieldByName('nomorpetugas').AsString:=ednomor.Text; end else begin ADOTpetugas.Edit; end; ADOTpetugas.FieldByName('namaPETUGAS').AsString:=ednama.Text; if RadioGroup1.ItemIndex=0 then jp:='ADMIN' ELSE JP:='USER'; ADOTpetugas.FieldByName('JENISPENGGUNA').AsString:=JP; ADOTpetugas.FieldByName('NAMAPENGGUNA').AsString:=EDUSER.Text; ADOTpetugas.FieldByName('KATASANDI').AsString:=EDPASS1.Text; ADOTpetugas.FieldByName('foto').AsString:=lokasi; ADOTpetugas.Post; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender); end;

Page 27: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

27

procedure TfPetugas.BCARIClick(Sender: TObject); var s:string; begin if radiogroup2.ItemIndex=-1 then begin MessageDlg('Pilih Tipe Pencarian',mtWarning,[mbOK],0); exit; end else if radiogroup2.ItemIndex=0 then begin s:='namapetugas LIKE %'+Edcari.Text+'%'; end else begin s:='namapengguna LIKE %'+Edcari.Text+'%'; END; adotpetugas.Filtered:=false; adotpetugas.Filter:=s; adotpetugas.Filtered:=true; if adotpetugas.IsEmpty then begin messagedlg('Data Tidak Ditemukan',mtWarning,[mbok],0); formshow(sender); exit; end; EDNOMOR.Enabled:=FALSE; EDNAMA.Enabled:=FALSE; EDUSER.Enabled:=FALSE; EDPASS1.Enabled:=FALSE; EDPASS2.Enabled:=FALSE; edcari.Enabled:=true; RadioGroup1.Enabled:=FALSE; RadioGroup2.Enabled:=TRUE; ednomor.Text:=ADOTpetugas.fieldbyname('nomorPETUGAS').AsString; ednama.Text:=ADOTpetugas.fieldbyname('namaPETUGAS').AsString; EDUSER.Text:=ADOTpetugas.fieldbyname('NAMAPENGGUNA').AsString; JP:=ADOTpetugas.FIELDBYNAME('JENISPENGGUNA').AsString; IF JP='ADMIN' THEN RadioGroup1.ItemIndex:=0 ELSE RadioGroup1.ItemIndex:=1; edPASS1.Text:=ADOTpetugas.fieldbyname('KATASANDI').AsString; edPASS2.Text:=ADOTpetugas.fieldbyname('KATASANDI').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; IF LOKASI='' THEN IMG1.Picture.Graphic:=nil ELSE Img1.Picture.LoadFromFile(lokasi); bTAMBAH.Enabled:=false; bUBah.Enabled:=true; bsimpan.Enabled:=false; bhapus.Enabled:=true; bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; BCARI.Enabled:=true; end;

Page 28: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

28

procedure TfPetugas.DBGrid1DblClick(Sender: TObject); begin if ADOTpetugas.IsEmpty then begin MessageDlg('Data Masih Kosong',mtWarning,[mbOK],0); exit; end; EDNOMOR.Enabled:=FALSE; EDNAMA.Enabled:=FALSE; EDUSER.Enabled:=FALSE; EDPASS1.Enabled:=FALSE; EDPASS2.Enabled:=FALSE; edcari.Enabled:=true; RadioGroup1.Enabled:=FALSE; RadioGroup2.Enabled:=TRUE; ednomor.Text:=ADOTpetugas.fieldbyname('nomorPETUGAS').AsString; ednama.Text:=ADOTpetugas.fieldbyname('namaPETUGAS').AsString; EDUSER.Text:=ADOTpetugas.fieldbyname('NAMAPENGGUNA').AsString; JP:=ADOTpetugas.FIELDBYNAME('JENISPENGGUNA').AsString; IF JP='ADMIN' THEN RadioGroup1.ItemIndex:=0 ELSE RadioGroup1.ItemIndex:=1; edPASS1.Text:=ADOTpetugas.fieldbyname('KATASANDI').AsString; edPASS2.Text:=ADOTpetugas.fieldbyname('KATASANDI').AsString; lokasi:=DBGrid1.DataSource.DataSet['foto']; IF LOKASI='' THEN IMG1.Picture.Graphic:=nil ELSE Img1.Picture.LoadFromFile(lokasi); bTAMBAH.Enabled:=false; bUBah.Enabled:=true; bsimpan.Enabled:=false; bhapus.Enabled:=true; bbatal.Enabled:=true; BPILIH.Enabled:=FALSE; BCARI.Enabled:=true; end;

Page 29: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

29

procedure TfPetugas.bUBAHClick(Sender: TObject); begin ednomor.Enabled:=false; ednama.Enabled:=true; EDUSER.Enabled:=false; RadioGroup1.Enabled:=true; EDPASS1.Enabled:=true; EDPASS2.Enabled:=true; radiogroup2.Enabled:=false; edcari.Enabled:=false; BTAMBAH.Enabled:=false; Bubah.Enabled:=false; BSIMPAN.Enabled:=true; BHAPUS.Enabled:=false; BBATAL.Enabled:=true; BPILIH.Enabled:=true; bcari.Enabled:=false; ednama.SetFocus; status:='ubah'; end;

Page 30: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

30

G. Form Buku (ADOQuery)

22. File – New Form

23. Save – Simpan dengan nama UBuku.pas

24. Ubah Properti Form

Komponen Properties Isi Form Align AlCustom BorderIcons

biSystemMenu False

BorderIcons biMinimized

False

BorderIcons biMaximized

False

BorderIcons biHelp False BorderStyle BsDialog Caption Data Buku Name FBuku Position PoDesktopCenter 25. Cari Tulisan “Implementation” di Unit,

Tambahkan variable Status:String diatasnya.

26. Tambahkan 6 Label, 7 Edit, 7 Button, 1

RadioGroup, 1 DBGrid, 2 ADOQuery, 1 Data

Source, atur seperti gambar berikut:

27. Atur Propertiesnya

Komponen Properties Isi Label1 Caption Kode Buku Label2 Caption Judul Buku Label3 Caption Pengarang Label4 Caption Penerbit Label5 Caption Tahun Terbit Label6 Caption Jumlah Buku Button1 Name BTambah Caption Tambah Button2 Name BUbah

Page 31: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

31

Caption Ubah Button3 Name BSimpan Caption Simpan Button4 Name BHapus Caption Hapus Button5 Name BBatal Caption Batal Button6 Name BCari Caption Cari Button7 Name BTutup Caption Tutup Edit1 CharCase EcUpperCase Name EDKODEBUKU Edit2 CharCase EcUpperCase Name EDJUDULBUKU Edit3 CharCase EcUpperCase Name EDPENGARANG Edit4 CharCase EcUpperCase Name EDPENERBIT Edit5 CharCase EcUpperCase Name EDTAHUNTERBIT Edit6 CharCase EcUpperCase Name EDJUMLAHBUKU Edit7 CharCase EcUpperCase Name EDCARI RadioGroup1 Items Kode Buku

Judul Buku Pengarang

Caption Pencarian ADOQuery1 Name QBuku Connection DM.CON

ADOQuery2 Name QPROSES Connection DM.CON DataSource1 Name DSBuku DataSet ADOTBuku DBGrid1 DataSource DSBuku Options

dgEditing False

Page 32: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

32

28. Klik 1 Kali pada Form – Cari Event OnShow –

Klik 2 Kali

29. Klik 2 Kali Pada Tombol Tambah

procedure TFBuku.BTambahClick(Sender: TObject); begin STATUS:='TAMBAH'; EDKODEBUKU.Enabled:=TRUE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDKODEBUKU.SetFocus; end;

procedure TFBuku.FormShow(Sender: TObject); begin QBUKU.Active:=FALSE; QBUKU.SQL.Text:='SELECT * FROM TBUKU '+ 'ORDER BY KODEBUKU'; QBUKU.Active:=TRUE; EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=FALSE; EDPENGARANG.Enabled:=FALSE; EDPENERBIT.Enabled:=FALSE; EDTAHUNTERBIT.Enabled:=FALSE; EDJUMLAHBUKU.Enabled:=FALSE; EDKODEBUKU.Clear; EDJUDULBUKU.Clear; EDPENGARANG.Clear; EDPENERBIT.Clear; EDTAHUNTERBIT.Clear; EDJUMLAHBUKU.Clear; EDCARI.Clear; EDCARI.Enabled:=TRUE; RadioGroup1.Enabled:=TRUE; BCARI.Enabled:=TRUE; BTAMBAH.Enabled:=TRUE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=FALSE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=FALSE; RadioGroup1.ItemIndex:=-1; end;

Page 33: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

33

30. Klik 2 Kali Pada Tombol Ubah

31. Klik 2 Kali Pada Tombol Batal

32. Klik 2 Kali Pada Tombol Hapus

33. Klik EDTAHUNTERBIT – Event - OnKeyPress

34. Lakukan hal yang sama untuk EDJUMLAHBUKU

procedure TFBuku.EDTAHUNTERBITKeyPress(Sender: TObject; var Key: Char); begin if NOT (Key in ['0'..'9', #8, #9, #26, #13]) then begin Key:=#0; exit; end; end;

procedure TFBuku.BHapusClick(Sender: TObject); begin if MessageDlg('Apakah Data Ingin Dihapus [Yes,No]...?', mtConfirmation,[mbYes,mbNo],0)=mrYes Then begin QPROSES.Active:=FALSE; QPROSES.SQL.Text:='DELETE * FROM TBUKU '+ 'WHERE KODEBUKU=:PAR1'; QPROSES.Parameters.ParamByName('PAR1').Value:=EDKODEBUKU.Text; QPROSES.ExecSQL; FORMSHOW(SENDER); end; end;

procedure TFBuku.BBatalClick(Sender: TObject); begin FORMSHOW(SENDER); end;

procedure TFBuku.BUbahClick(Sender: TObject); begin STATUS:='UBAH';

EDKODEBUKU.Enabled:=FALSE; EDJUDULBUKU.Enabled:=TRUE; EDPENGARANG.Enabled:=TRUE; EDPENERBIT.Enabled:=TRUE; EDTAHUNTERBIT.Enabled:=TRUE; EDJUMLAHBUKU.Enabled:=TRUE; RADIOGROUP1.ItemIndex:=-1; RADIOGROUP1.Enabled:=FALSE; EDCARI.Enabled:=FALSE; BCARI.Enabled:=FALSE; BTAMBAH.Enabled:=FALSE; BUBAH.Enabled:=FALSE; BSIMPAN.Enabled:=TRUE; BHAPUS.Enabled:=FALSE; BBATAL.Enabled:=TRUE; EDJUDULBUKU.SetFocus; end;

Page 34: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

34

35. Klik 2 Kali Pada Tombol Cari

procedure TFBUKU.bCariClick(Sender: TObject); VAR S:STRING; begin IF RADIOGROUP1.ItemIndex=-1 THEN BEGIN MESSAGEDLG('Pilih Field yang Dicari',mtWarning,[mbOK],0); exit; END ELSE IF RADIOGROUP1.ItemIndex=0 THEN BEGIN S:='KodeBuku like "%'+edcari.Text+'%"'; END ELSE IF RADIOGROUP1.ItemIndex=1 THEN BEGIN S:='JudulBuku like "%'+edcari.Text+'%"'; END ELSE BEGIN S:='Pengarang like "%'+EDcari.Text+'%"'; END; QBUku.Active:=false; QBuku.SQL.Text:='select * from TBUKU where '+s; QBUKU.Active:=true; if Qbuku.IsEmpty then BEGIN MESSAGEDLG('Data Tidak Ditemukan',mtWarning,[mbOK],0); formshow(sender); exit; END; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edpenerbit.Enabled:=false; EDTAHUNTERBIT.Enabled:=false; EDJUMLAHBUKU.Enabled:=false; EDKODEBUKU.Text:=QBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=QBUKU.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=QBUKU.FIELDBYNAME('PENGARANG').AsString; EDPENERBIT.Text:=QBUKU.FIELDBYNAME('PENERBIT').AsString; EDTAHUNterbit.Text:=QBUKU.FIELDBYNAME('TAHUNTERBIT').AsString; EDJUMLAHBUKU.Text:=QBUKU.FIELDBYNAME('JUMLAHBUKU').AsString; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; end;

Page 35: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

35

36. Klik 2 Kali Pada Tombol Simpan

procedure TFBuku.BSimpanClick(Sender: TObject); begin if (edkodebuku.Text='') or (edjudulbuku.Text='') or (edpengarang.Text='') or (edpenerbit.Text='') or (edtahunterbit.Text='') or (EDJUMLAHBUKU.Text='') then begin messagedlg('Lengkapi Data',mtWarning,[mbOK],0); exit; end; if Length(edkodebuku.Text)>4 then begin messagedlg('Kode Buku Maksimal 4 Karakter',mtWarning,[mbOK],0); edkodebuku.SetFocus; exit; end; if (strtoint(EDTAHUNTERBIT.Text)>strtoint(formatdatetime('yyyy',now))) or (strtoint(EDTAHUNTERBIT.Text)<1900) then begin messagedlg('Tahun Salah',mtWarning,[mbOK],0); EDTAHUNTERBIT.SetFocus; exit; end; if status='TAMBAH' then begin if Qbuku.Locate('kodebuku',edkodebuku.Text,[]) then begin messagedlg('Kode Sudah Dipakai',mtWarning,[mbOK],0); exit; end; QPROSES.SQL.Text:='INSERT INTO TBUKU VALUES (:PAR1, :PAR2, :PAR3, '+ ':PAR4, :PAR5, :PAR6)'; end else begin QPROSES.SQL.Text:='UPDATE TBUKU SET JUDULBUKU=:PAR2, '+ 'PENGARANG=:PAR3, PENERBIT=:PAR4, TAHUNTERBIT=:PAR5, '+ 'JUMLAHBUKU=:PAR6 WHERE KODEBUKU=:PAR1'; end; QPROSES.Parameters.ParamByName('PAR1').Value:=EDKODEBUKU.Text; QPROSES.Parameters.ParamByName('PAR2').Value:=EDJUDULBUKU.Text; QPROSES.Parameters.ParamByName('PAR3').Value:=EDPENGARANG.Text; QPROSES.Parameters.ParamByName('PAR4').Value:=EDPENERBIT.Text; QPROSES.Parameters.ParamByName('PAR5').Value:=EDTAHUNTERBIT.Text; QPROSES.Parameters.ParamByName('PAR6').Value:=EDJUMLAHBUKU.Text; QPROSES.ExecSQL; messagedlg('Data Sudah Disimpan',mtInformation,[mbok],0); formshow(sender); end;

Page 36: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

36

37. Klik 1 Kali Pada DBGrid – Event – OnDblClick

38. Isikan Close; pada tombol Keluar

39. Supaya Form Utama Bisa Memanggil Form Buku:

View – Form – UUtama/FUtama

File – Use Unit – Pilih FBuku/UBuku

Klik Data Buku pada FUtama, isikan: FBuku.showModal;

40. Save All

procedure TFBuku.DBGrid1DblClick(Sender: TObject); begin if QBuku.IsEmpty then begin messagedlg('Data Masih Kosong',mtWarning,[mbOK],0); exit; end; edkodebuku.Enabled:=false; edjudulbuku.Enabled:=false; edpengarang.Enabled:=false; edpenerbit.Enabled:=false; EDTAHUNTERBIT.Enabled:=false; EDJUMLAHBUKU.Enabled:=false; EDKODEBUKU.Text:=QBUKU.FIELDBYNAME('KODEBUKU').AsString; EdJudulBuku.Text:=QBUKU.FIELDBYNAME('JUDULBUKU').AsString; EDPENGARANG.Text:=QBUKU.FIELDBYNAME('PENGARANG').AsString; EDPENERBIT.Text:=QBUKU.FIELDBYNAME('PENERBIT').AsString; EDTAHUNterbit.Text:=QBUKU.FIELDBYNAME('TAHUNTERBIT').AsString; EDJUMLAHBUKU.Text:=QBUKU.FIELDBYNAME('JUMLAHBUKU').AsString; bTambah.Enabled:=FALSE; bUbah.Enabled:=TRUE; bSimpan.Enabled:=FALSE; bHapus.Enabled:=TRUE; bBatal.Enabled:=TRUE; end;

Page 37: [www indowebster com]-MEMBUAT APLIKASI DATABASE DELPHI 7

Created By: Mirza Yogy Kurniawan

37