LANJUTAN APLIKASI DATABASE D. Menu Pinjam 1. Buat Form Pinjam beri nama dengan Fpinjam
tbAnggota
DB dit"
DB dit!
DB dit& tbFilm
tbPinjam
!. *at+ Komponen DBLookup*omboBo31 Properti ListSour)e ListField 4eyField ListSour)e ListField 4eyField DataSour)e DataField DataSour)e DataField DataSour)e DataField :ead;nly DataSour)e :ead;nly *1e)ked :ead;nly DataSour)e DataField :ead;nly DataSour)e DataField :ead;nly nilai dsFilm judul 4ode5Film dsAnggota 6ama Id5Anggota dsFilm 4ode5Film dsAnggota Id5Anggota dsQ sesuaikan dengan label (rue dsQ (rue (rue (rue dsFilm 4ode5Film (rue dsAnggota Id5Anggota (rue
DBLookup*omboBo32
DB dit2
". Pada menu utama isi sour)e )ode berikut+ Buat Prosedur Sendiri pro edure T!Utama."reate!ormPinjam# ,ar Form + (FPinjambegin Form+.(FPinjam.*reate/Appli)ation0Form.S1o2endPada Main Menu Tom$o% Pinjam pro edure T!Utama.Pinjam&"%i '(Sender) TO$je t*# begin *reateFormPinjam end2
#. Diba2a1 Pri,ate buat+ pro edure *reateFormPinjam$. Isi pada e,ent On"%i ' dalam (oolBar dengan Pinjam&"%i ' %. Pada Proje)t < ;ptions pinda1kan !Pinjam ke A+ai%a$%e ,orms '. Isi sour)e )ode Form Pinjam +
unit UPinjam# inter=a)e uses type (FPinjam . )lass/(Form0 pro)edure bersi1pri,ate > Pri,ate de)larations ? publi) > Publi) de)larations ? end,ar FPinjam+ (FPinjamimplementation >@: A.d=m? pro edure T!Pinjam.$ersi-# begin DB dit1.(e3t +. BBDB dit2.(e3t +. BBdit1.(e3t +. BBdit2.(e3t +. BBdit!.(e3t +. BBendpro edure T!Pinjam.!orm"%ose(Sender) TO$je t# +ar A tion) T"%oseA tion*# begin A)tion+. )aFreeendpro edure T!Pinjam..adioButton&"%i '(Sender) TO$je t*# begin DB*trl7rid1.Cisible +.=alse endpro edure T!Pinjam..adioButton/"%i '(Sender) TO$je t*# begin DB*trl7rid1.Cisible +.true endpro edure T!Pinjam.DateTimePi 'er&"-an0e(Sender) TO$je t*# begin edit1.(e3t +. Date(oStr/Date(imePi)ker1.Date0 endpro edure T!Pinjam.DateTimePi 'er/"-an0e(Sender) TO$je t*# begin edit2.(e3t +. Date(oStr/Date(imePi)ker2.Date0 endpro edure T!Pinjam.$tSa+e"%i '(Sender) TO$je t*# begin DDjika kotak isian masi1 ada yang kosong maka mun)ul kotak pesan i= not/DB dit1.(e3t E<BB0 or not/DB dit2.(e3t E<BB0 or not/edit1.(e3t E<BB0 or not/edit2.(e3t E<BB0 or not/ dit!.(e3t E<BB0 t1en
begin Appli)ation.FessageBo3/BIsi semua dulu kotak isiannyaB8BGmmB8 mb5;k H Fb5I)on 3)lamation0e3itendDD)ari inde3 kode =ilm di tabel pinjam tbPinjam.Inde36ame +.BBtbPinjam.Find6earest/IDB dit1.(e3tJ0DDjika kode =ilm sama dengan yang ada di dalam tabel artinya =ilm suda1 dipinjam i= DB dit1.(e3t . tbPinjamIB4ode5FilmBJ t1en begin Appli)ation.FessageBo3/BFilm suda1 dipinjamB8BGmmB8 mb5;k H Fb5I)on 3)lamation0DB dit1.SetFo)use3itendDDjika tidak sama maka tabel akan diisi re)ord baru tbPinjam.AppendtbPinjamIB4ode5FilmBJ +. DB dit1.(e3ttbPinjamIBId5AnggotaBJ +. DB dit2.(e3ttbPinjamIB(gl5PinjamBJ +. edit1.(e3ttbPinjamIB(gl54embaliBJ+. edit2.(e3ttbPinjamIBGargaBJ +. edit!.(e3ttbPinjam.Postbersi1Query1.*loseQuery1.;pen endpro edure T!Pinjam.$tBata%"%i '(Sender) TO$je t*# begin bersi1 endend.
&. Sekarang kita kembali ke menu Anggota8 ruba1 kode pada tombol 1apus. Agar bila user ingin meng1apus kun)i utama /Id Anggota0 akan mun)ul peringatan bila Anggota tersebut sedang meminjam =ilm8 peringatan tersebut akan men)ega1 peng1apusan Id Anggota sebelum data Anggota di tabel pinjam di1apus.Sebelumnya tamba1kan sebua1 komponen tabel dan sebua1 data sour)e atur ke tabel Pinjam. Sour e "ode Tom$o% 1apus
pro edure T!An00ota.$t1apus"%i '(Sender) TO$je t*# begin DDjika kotak isian masi1 ada yang kosong maka mun)ul kotak pesan i= not/edit1.(e3t E<BB0 or not/edit2.(e3t E<BB0 or not/edit!.(e3t E<BB0 t1en begin Appli)ation.FessageBo3/BIsi semua dulu kotak isiannyaB8BGmmB8 mb5;k H Fb5I)on 3)lamation0e3itend22a'ti,'an inde3 pen arian pada ,orm pinjam t$Pinjam.Inde3Name )4 5id3Id5# t$Pinjam.!indNearest(6edit&.Te3t7*#
"
22ji'a id an00ota sama den0an di ta$e% pinjam ma'a tida' $o%e- men0-apus data i, edit&.Te3t 4 t$Pinjam65Id8An00ota57 t-en $e0in App%i ation.Messa0eBo3(5Tida' Bisa Men0-apus 'arena An00ota masi- ada Pinjaman59 5E-em..E-em59M$8O' : M$8I on;arnin0*# e3it# end# DDkalau suda1 terisi maka akti=kan inde3 pen)arian kun)i utama tbAnggota.Inde36ame +.BBtbAnggota.Find6earest/Iedit1.(e3tJ0DDjika id anggota sama dengan yang ada di dalam tabel artinya bole1 di 1apus i= edit1.(e3t . tbAnggotaIBId5AnggotaBJ t1en begin i= Appli)ation.FessageBo3/BKakin 1apusB8B 1emB8 Fb5Kes6o or Fb5I)onQuestion0.IdKes t1en begin tbAnggota.Deletebersi1e3itende3itendDDkalau tidak sama maka Appli)ation.FessageBo3/BId5Anggota tidak adaLB8BGmm..mmB8 mb5;k H mb5I)on 3)lamation0end-
1M. Lakukan 1al yang sama pada menu Film seperti no.& Sour e "ode Tom$o% 1apus
pro edure T!!i%m.$t1apus"%i '(Sender) TO$je t*# begin DDjika kotak isian masi1 ada yang kosong maka mun)ul kotak pesan i= not/edit1.(e3t E<BB0 or not/edit2.(e3t E<BB0 or not/edit!.(e3t E<BB0 or not/edit".(e3t E<BB0 t1en begin Appli)ation.FessageBo3/BIsi semua dulu kotak isiannyaB8BGmmB8 mb5;k H Fb5I)on 3)lamation0e3itend22a'ti,'an inde3 pen arian pada ,orm pinjam t$Pinjam.Inde3Name )4 55# t$Pinjam.!indNearest(6edit&.Te3t7*# 22ji'a 'ode ,i%m sama den0an di ta$e% pinjam ma'a tida' $o%e- men0-apus data i, edit&.Te3t 4 t$Pinjam65Kode8,i%m57 t-en $e0in App%i ation.Messa0eBo3(5Tida' Bisa Men0-apus 'arena !i%m masi- Dipinjam59 5E-em..E-em59M$8O' : M$8I on;arnin0*# e3it# end# DDkalau suda1 terisi maka akti=kan inde3 pen)arian kun)i utama tbFilm.Inde36ame +.BBtbFilm.Find6earest/Iedit1.(e3tJ0-
DDjika id anggota sama dengan yang ada di dalam tabel artinya bole1 di 1apus i= edit1.(e3t . tbFilmIB4ode5FilmBJ t1en begin i= Appli)ation.FessageBo3/BKakin 1apusB8B 1emB8 Fb5Kes6o or Fb5I)onQuestion0.IdKes t1en begin tbFilm.Deletebersi1e3itende3itendDDkalau tidak sama maka Appli)ation.FessageBo3/B4ode Film tidak adaLB8BGmm..mmB8 mb5;k H mb5I)on 3)lamation0end-