Anda di halaman 1dari 22

1

MEMBUAT APLIKASI DATABASE DELPHI 7.0 KASUS : PERPUSTAKAAN


1.1 Microsoft Access

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

1. 2. 3. 4. 5.

Buat Folder Perpustakaan Jalankan Ms Access Create New Database Simpan dengan nama DBPerpus pilih format *.mdb Pastikan format *.mdb dan disimpan di folder Perpustakaan 6. Create Table Design Isi fieldnya seperti berikut:
Field Name PK KodeBuku JudulBuku Pengarang Penerbit TahunTerbit JumlahBuku Data Type Text Text Text Text Text Number Lebar 4 40 40 40 4

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

11. TDetailPeminjaman 7. Simpan Dengan Nama TBuku 8. Dengan Cara yang sama Buat TAnggota
Field Name PK NomorAnggota NamaAnggota TanggalLahir Alamat Foto Data Type Text Text Date/Time Text OLE Object Lebar 14 40 40 Field Name NomorPeminjaman KodeBuku Data Type Text Text Lebar 16 4

Created By: Mirza Yogy Kurniawan

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 ADOConnection1 Properties Connected LoginPrompt Name Isi True False CON

10. Save All

Created By: Mirza Yogy Kurniawan

B. Form Login

5. Atur Propertiesnya
Komponen Label1 Label2 Button1 Isi AlCustom False False Edit2 False ADOTable1 False BsDialog LOGIN FLogin PoDesktopCenter Button2 Edit1 Properties Caption Caption Name Caption Name Caption CharCase Name Name PasswordChar Name Connection TableName Active Isi Nama Pengguna Kata Sandi BMasuk Masuk BKeluar Keluar EcUpperCase EDUSER EDPASS * ADOTUser DM.CON TPetugas True

1. View Forms (Shift+F12) 2. Pilih ULogin/Form1 3. Ubah Properti Form


Komponen Form Properties Align BorderIcons biSystemMenu BorderIcons biMinimized BorderIcons biMaximized BorderIcons biHelp BorderStyle Caption Name Position

6. Cari Tulisan Implementation di Unit, Tambahkan variable LAGI:integer diatasnya.

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

Created By: Mirza Yogy Kurniawan

9. Klik 1 Kali Pada EDUser Events OnKeyDown 7. Klik 1 Kali pada Form Cari Event OnShow Klik 2 Kali
procedure Tflogin.FormShow(Sender: TObject); begin adotuser.Active:=false; adotuser.Active:=true; eduser.Clear; edpass.Clear; lagi:=0; end; procedure Tflogin.EDUSERKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edpass.SetFocus; end;

10. Klik 1 Kali Pada EDPass Events OnKeyDown


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

8. Klik 2 Kali Pada Tombol Keluar


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

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

Created By: Mirza Yogy Kurniawan

16. Klik 2 Kali Pada Tombol Masuk isikan:


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;

17. Save All Sampai sini ubah dulu di Project Option Tab Forms: Main Form ganti FLogin, DM Geser ke urutan pertama

Created By: Mirza Yogy Kurniawan

C. Form Utama

1. Pada Pembuatan Form sebelumnya sudah dibuat FUtama jadi tinggal lakukan: View Forms UUtama atau FUtama. 2. Ubah Properti Form
Komponen Form Properties Align BorderIcons biSystemMenu BorderIcons biMinimized BorderIcons biMaximized BorderIcons biHelp BorderStyle Caption Name Position Isi AlCustom False False False False BsDialog PERPUSTAKAAN FUtama PoDesktopCenter

3. Dari TAB Standard ambil komponen MainMenu 4. Klik 2 Kali Main Menu dan Isi Seperti Berikut:

Created By: Mirza Yogy Kurniawan

5. File Use Unit Flogin/Ulogin 6. Klik Form 1 Kali Events OnShow


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

7. Klik 2 Kali Pada Menu Keluar


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

Created By: Mirza Yogy Kurniawan

D. Form Buku

1. File New Form 2. Save Simpan dengan nama UBuku.pas 3. Ubah Properti Form
Komponen Form Properties Align BorderIcons biSystemMenu BorderIcons biMinimized BorderIcons biMaximized BorderIcons biHelp BorderStyle Caption Name Position Isi AlCustom False False False False BsDialog Data Buku FBuku PoDesktopCenter

4. Cari

Tulisan

Implementation

di

Unit,

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

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:

Created By: Mirza Yogy Kurniawan

Caption Button3 Name Caption Button4 Name Caption Button5 Name Caption Button6 Name Caption Button7 Name Caption Edit1 CharCase Name Edit2 CharCase Name Edit3 CharCase Name Edit4 CharCase Name Edit5 CharCase Name Edit6 CharCase Name Edit7 CharCase Name RadioGroup1 Items

ADOTable1

Caption Name Connection

Ubah BSimpan Simpan BHapus Hapus BBatal Batal BCari Cari BTutup Tutup EcUpperCase EDKODEBUKU EcUpperCase EDJUDULBUKU EcUpperCase EDPENGARANG EcUpperCase EDPENERBIT EcUpperCase EDTAHUNTERBIT EcUpperCase EDJUMLAHBUKU EcUpperCase EDCARI Kode Buku Judul Buku Pengarang Pencarian ADOTBuku DM.CON

DataSource1 DBGrid1

TableName Active Name DataSet DataSource Options dgEditing

TBuku True DSBuku ADOTBuku DSBuku False

7. Klik 2 Kali DBGrid Klik Kanan Add All Fields 8. Atur Properties
Komponen KodeBuku JudulBuku Pengarang Penerbit TahunTerbit JumlahBuku Properties Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Caption Isi taCenter Kode Buku taCenter Judul Buku taCenter Pengarang taCenter Penerbit taCenter Tahun Terbit taCenter Jumlah Buku

Created By: Mirza Yogy Kurniawan

10

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


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;

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;

Created By: Mirza Yogy Kurniawan

11

11. Klik 2 Kali Pada Tombol Ubah


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;

13. Klik 2 Kali Pada Tombol Hapus


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;

14. Klik EDTAHUNTERBIT Event - OnKeyPress


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;

15. Lakukan hal yang sama untuk EDJUMLAHBUKU 12. Klik 2 Kali Pada Tombol Batal
procedure TFBuku.BBatalClick(Sender: TObject); begin FORMSHOW(SENDER); end;

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;

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;

Created By: Mirza Yogy Kurniawan

14

18. Klik 1 Kali Pada DBGrid Event OnDblClick


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;

19. Isikan Close; pada tombol Keluar 20. Supaya Form Utama Bisa Memanggil Form Buku: a. View Form UUtama/FUtama b. File Use Unit Pilih FBuku/UBuku c. Klik Data Buku pada FUtama, isikan: FBuku.showModal; 21. Save All

Created By: Mirza Yogy Kurniawan

15

E. Form Anggota

5. Tambahkan 5 Label, 4 Edit, 8 Button, 1 DateTimePicker, 1 ADOTable, 1 DataSource, 1 DBGrid, 1 RadioGroup, 1 Image, dan 1 OpenPictureDialog
Isi AlCustom False False False False BsDialog Data Anggota FAngota PoDesktopCenter

1. File New Form 2. Save Simpan dengan nama UAnggota.pas 3. Ubah Properti Form
Komponen Form Properties Align BorderIcons biSystemMenu BorderIcons biMinimized BorderIcons biMaximized BorderIcons biHelp BorderStyle Caption Name Position

4. Cari Tulisan Implementation di Unit, Tambahkan variable Status,Lokasi:String dan Uses Jpeg diatasnya. 6. Atur Propertiesnya
Komponen Label1 Label2 Label3 Properties Caption Caption Caption Isi Nomor Anggota Nama Anggota Tanggal Lahir

Created By: Mirza Yogy Kurniawan

16

Label4 Label5 Button1 Button2 Button3 Button4 Button5 Button6 Button7 Button8 Edit1 Edit2 Edit3 Edit4 RadioGroup1

Caption Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption CharCase Name CharCase Name CharCase Name CharCase Name Items Caption Name Connection

ADOTable1

Alamat Foto BTambah Tambah BUbah Ubah BSimpan Simpan BHapus Hapus BBatal Batal BCari Cari BTutup Tutup BPilih Pilih EcUpperCase EDNOMOR EcUpperCase EDNAMA EcUpperCase EDALAMAT EcUpperCase EDCARI Nomor Anggota Nama Anggota Pencarian ADOTAnggota DM.CON

TableName Active DataSource1 Name DataSet DBGrid1 DataSource Options dgEditing Image1 Name OpenDialogPicture Name DateTimePicker format

TAnggota True DSAnggota ADOTAnggota DSAnggota False Img1 Opd Dd/MMM/yyy

7. Klik 2 Kali DBGrid Klik Kanan Add All Fields 8. Atur Properties
Komponen NomorAnggota Properties Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Caption Title - Alignment Title - Alignment Isi taCenter Nomor Anggota taCenter Nama Anggota taCenter Tanggal Lahir taCenter taCenter

NamaAnggota

TanggalLahir Penerbit Foto

Klik 2 Kali ADOTAnggota Klik Kanan Add All Fields Pilih TanggalLahir Properties DisplayFormat: dd/MMM/yyyy Created By: Mirza Yogy Kurniawan

17

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


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;

10. Klik 2 Kali pada tombol Ubah


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;

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;

Created By: Mirza Yogy Kurniawan

18

12. Klik 2 Kali Pada Tombol Pilih


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

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('nomoran ggota').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;

13. Klik 2 Kali Pada Tombol Batal


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

14. Klik 2 Kali Pada Tombol Tutup


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

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);

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;

Created By: Mirza Yogy Kurniawan

21

18. Klik 1 Kali Pada DBGrid Event OnDblClick


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;

19. Supaya Form Utama Bisa Memanggil Form Buku: d. View Form UUtama/FUtama e. File Use Unit Pilih FAnggota/UAnggota f. Klik Data Anggota pada FUtama, isikan: FAnggota.showModal; 20. Save All

Created By: Mirza Yogy Kurniawan

22

F. Form Petugas

Created By: Mirza Yogy Kurniawan

Anda mungkin juga menyukai