7/21/2019 Delphi Modul 2
1/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 1
DATABASE
Definisi mengenai DataBase sangatlah bervariasi. C. J. Date menyatakan bahwa DataBasedapat dianggap sebagai tempat untuk sekumpulan berkas data yang terkomputerisasi.Melalui sistem BasisData seorang pemakai dapat melakukan berbagai fungsi, seperti
!. Menambah Data "#nsert$%. Menghapus Data "Delete$, dan&. Mengambil Data serta memperbaikinya "'pdate$
(ebuah DataBase terdiri dari beberapa Tabel. Contoh dalam Basis Data T)*+(*(#, makatabel-tabel yang terlibat di dalamnya adalah Tabel Barang, Tabel elanggan, dan lain-lain.(etiap Tabel pasti memiliki sebuah kun/i "key$. (alah satu istilah kun/i yang populer adalahun/i rimer "rimary ey$. un/i rimer digunakan untuk mengidentifikasi sebuah re/ord.un/i ini bersifat unik, yang berarti bahwa dalam sebuah Tabel tidak diperbolehkan terdapat% re/ord dengan data yang sama.
BEKERJA DENGAN DATABASE DESKTOP'ntuk memanipulasi database se/ara interaktif"tanpa melalui form$, Delphi menyediakantool yang disebut DataBase Desktop. Melalui tool inilah *nda akan berlatih memanipulasidatabase, sebelum memasuki ke tahap pemrograman.
'ntuk mengaktifkan DataBase DeskTop, mula-mula *nda lik Tombol (tart milik 0indows,kemudian pilih rogramsBorland DelphiDataBase Desktop.
Beberapa saat kemudian *nda akan melihat tampilan 1embar erja DataBase Desktop,seperti berikut
Dari lembar kerja DataBase Desktop, kita akan memulai bekerja dengan menggunakanBasisData.(ebelum kita meran/ang Basis data, ikuti langkah-langkah berikut
!. M2MB'*T D#)2T3)# 2)J*
(ebelum membuat basisdata, kita perlu men/iptakan sebuah direktori kerja yang kelakdigunakan untuk menyimpan berkas-berkas yang terkait dengan database.
Dengan menggunakan 0indows 24plorer, buatlah direktori bernama DB)*T2pada Drive C.
7/21/2019 Delphi Modul 2
2/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 2
(etelah direktori anda buat, kita perlu melakukan pengaturan direktori kerja. Denganpengaturan ini, se/ara otomatis database desktop akan merujuk kedirektoriDB)*T2 bila *nda mengoprasikan suatu tabel. Cara pengaturannya sebagai berikuta. lik Menu 5ile "milik lembar database desktop$b. lik 0orking Dire/tory, maka akan mun/ul kotak dialog (et 0orking Dire/tory/. lik Tombol Browse, pilih direktori C6DB)*T2, sehingga seperti nampak pada
gambar berikut
d. lik Tombol 3, untuk menutup kotak tersebut.
%. M2MB'*T *1#*(
(etelah membuat 7 mengatur direktori tempat kerja. 1angkah selanjutnya adalahmembuat nama alias, yang bermanfaat di dalam menentukan direktori database yangakan digunakan oleh program.Cara membuat *lias ikuti langkah-langkahnya a. lik Menu Tool "milik lembar database desktop$b. ilih *lias Manager, maka akan tampil lembar pembuatan alias, sebagai berikut
7/21/2019 Delphi Modul 2
3/45
7/21/2019 Delphi Modul 2
4/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 4
e. lik Tombol (ave *s, maka akan mun/ul gambar berikut
f. etik pada kotak isian 5ile name +ilaiMhs.DBg. ada kotak dropdown *lias pilih DB'h. lik Tombol (ave, untuk kembali ke lembar kerja database desktop
:. M2MB'* T*B211angkah untuk membuka tabel yang pernah dibuat dengan /ara a. lik menu 5ile "milik database desktop$b. ilih 3pen/. lik Tabled. ilih Tabel yang ingin anda buka, kemudian lik tombol 3pen
e. Maka akan tampil tabel pada lembar database desktop, seperti berikut
7/21/2019 Delphi Modul 2
5/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 5
f. 'ntuk memodifikasi field-field "untuk merubah struktur tabel$, anda tinggalmengklik #/on ini
Dengan syarat tabel belum diaktifkan "atau pada komponen table property */tivebelum diset menjadi True$
;. M2+
7/21/2019 Delphi Modul 2
6/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 6
engaturan omponen dalam Tabel roperty
+o omponen roperty >alue eterangan
! Table! DataBase+ameTable+ame
*/tive
DB'+ilaiMhs
True
Dari Tab BD2
% Data(our/e! Data(et Table! Dari TabData*//ess
& DB2dit! Data(our/e
Data5ield
Data(our/e!
+im
Dari TabDataControls
: DB2dit% Data(our/e
Data5ield
Data(our/e!
+ama
; DB2dit& Data(our/e
Data5ield
Data(our/e!
Tgl?1ahir
@ DB2dit: Data(our/e
Data5ield
Data(our/e!
s
9 DB)adioisibleButtons
5irst
rior
+e4t
1ast
Data(our/e
lik Tombol EF nya
5alse
5alse
5alse
5alse
Data(our/e!
Dari pengaturan property di atas, maka akan nampak seperti pada gambar di bawah ini
7/21/2019 Delphi Modul 2
7/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 7
)'+ rogram di atas, ikuti langkah-langkahnya
PET"NJ"K PEMAKA#AN
$ang%ah #nser& Da&a!. lik Tombol E%. #si kotak isian yang telah disediakan, sampai dengan kotak isian +ilai
Untuk tanggal masukkan dengan format : mm/dd/yy
&. lik Tombol Cek 1ist
:. 'langi dari point "!$.
Data-data yang dimasukkan
+im +ama Tgl?1ahir J s (mt ls +ilai
! *1#M'D#+ :7:7 T T# ! *! :
% ('(# ('(*+T# !7@7 5 * ! B ;@& J*MJ')# &7!7 T T# & *% @A
: M*)1#* 7%7 5 M# ; B A9
; #GB*1 52)+*+D3 !7!!7 T T# 9 *% @
$ang%ah Edi&'"pda&e'Pengu(ahan Da&a'ntuk mengubah data, maka langkah yang harus *nda lakukan adalah men/ari data yangakan hendak di ubah. =apus Db+avigator dari form *nda, kemudian ganti denganDB+avigator yang baru, isi nilai property Data(our/e dengan Data(our/e!. 8ang nantihasilnya akan seperti ini
)un kembali program *nda, /oba *nda lik Tombol H atau I, untuk menggerakan pointerke re/ord yang diinginkan.*nda /ari )e/ord berikut
& J*MJ')# &7!7 T T# & *% @A
7/21/2019 Delphi Modul 2
8/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 8
*nda )ubah data berikut +amun sebelumnya *nda lik Tombol kemudian rubah data tersebut menjadi
& *J*M &7!7 T T# & *% @;
lik Tombol
$ang%ah Dele&e')apus Da&a
'ntuk menhapus data, maka langkah yang harus *nda lakukan adalah men/ari data yangakan hendak di hapus. (etelah data yang akan dihapus ditemukan, maka *nda tinggalmenekan Tombol - , Bila terdapat kotak pesan berikut
*nda tinggal menekan Tombol 3, maka data akan terhapus se/ara permanen dari tabel.
Simpan uni& dengan nama *ile + "pra%DB!,PASSimpan Pro-e.& dengan nama *ile + Ppra%DB!,DPR
eterangan Tombol +avigator
+o 5ungsi
! Menempatkan pointer ke re/ord paling awal
% Menempatkan pointer ke re/ord sebelumnya
& Menempatkan pointer ke re/ord selanjutnya
: Menempatkan pointer ke re/ord paling akhir
; Menambahkan data "insert data$
@ Menghapus re/ord yang sedang aktif
9 2dit data yang sedang aktif
A Menyimpan data dalam tabel
Membatalkan proses insert atau edit
! )efresh, mengurutkan isi tabel mengikuti inde4nya.
1 2 3 4 5 6 7 8 9 10
7/21/2019 Delphi Modul 2
9/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 9
MENAMP#$KAN #S# TABE$'ntuk menampilkan data yang telah di simpan, kita dapat menggunakan komponenDB
7/21/2019 Delphi Modul 2
10/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 10
engaturan omponen dalam Tabel roperty
+o omponen roperty >alue eterangan
! Table! DataBase+ame
Table+ame
*/tive
DB'
+ilaiMhs
True
Dari Tab BD2
% Data(our/e! Data(et Table! Dari TabData*//ess
& DB
7/21/2019 Delphi Modul 2
11/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 11
$ombobo!1.e!t:= ' '; radiogroup1.ItemInde!:= %1; edit&.e!t:= ''; button1.Caption:='(ost'; able1.Insert; edit1.)et*o$us; end else begin if +,ppli$ation.messagebo!+',pakah data ini akan disimpan-''(ertanyaan' 0234)56 or 02IC657U4)I658=I934)8 then begin table1.*ieldy5ame+'nim'8.,s)tring:= edit1.e!t; table1.*ieldy5ame+'nama'8.,s)tring:= edit".e!t; table1.*ieldy5ame+'tgl2lahir'8.,s9ateime:= datetimepi$ker1.9ate ; $ase radiogroup1.ItemInde! of : jk:= rue;
1: jk:= *alse; end; table1.*ieldy5ame+'jk'8.,soolean:= jk ; table1.*ieldy5ame+'(s'8.,s)tring:= Comboo!1.e!t; table1.*ieldy5ame+'smt'8.,s)tring:= inttostr+Up9on1.(osition8; table1.*ieldy5ame+'kls'8.,s)tring:= edit#.e!t; table1.*ieldy5ame+'nilai'8.,sInteger:= strtoint+edit&.e!t8; table1.(ost; dbgrid1.efresh; end else begin table1.Can$el;
end; utton1.Caption:= 'Insert'; end;end5
%. lik Tombol 2dit
pro.edure T1orm!,Bu&&on2li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
12/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 12
end; table1.*ieldy5ame+'jk'8.,soolean:= jk ; table1.*ieldy5ame+'(s'8.,s)tring:= Comboo!1.e!t; table1.*ieldy5ame+'smt'8.,s)tring:= inttostr+Up9on1.(osition8; table1.*ieldy5ame+'kls'8.,s)tring:= edit#.e!t; table1.*ieldy5ame+'nilai'8.,sInteger:= strtoint+edit&.e!t8; table1.(ost; end else begin table1.Can$el; end; utton".Caption:= '4dit'; end;
end5
&. lik Tombol Delete
pro.edure T1orm!,Bu&&on/li.%3Sender+ TO(-e.&45(egin if +,ppli$ation.messagebo!+',pakah data ini akan dihapus-''(ertanyaan' 0234)56 or 02IC657U4)I658=I934)8 then table1.9elete;end5
:. lik Tombol KH
pro.edure T1orm!,Bu&&on6li.%3Sender+ TO(-e.&45
(egin table1.first; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring;
edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.of then begin button.4nabled:= false; button>.4nabled:= false; button?.4nabled:= U4; [email protected]:= true; shomessage+'e$ord sudah sampai batas atasA'8 end;
end5
7/21/2019 Delphi Modul 2
13/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 13
;. lik %4 Tombol H
pro.edure T1orm!,Bu&&on7li.%3Sender+ TO(-e.&45(egin table1.prior; button?.4nabled:= U4; [email protected]:= true; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8;
edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.of then begin button.4nabled:= false; button>.4nabled:= false; button?.4nabled:= U4; [email protected]:= true; shomessage+'e$ord sudah sampai batas atasA'8 end;end5
@. lik %4 Tombol I
pro.edure T1orm!,Bu&&on8li.%3Sender+ TO(-e.&45(egin table1.5e!t; button.4nabled:= true; button>.4nabled:= true; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then
radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.eof then begin button?.4nabled:= false; [email protected]:= false;
button.4nabled:= true; button>.4nabled:= true;
7/21/2019 Delphi Modul 2
14/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 14
shomessage+'e$ord sudah sampai batas akhirA'8 end;end5
9. lik %4 Tombol IKpro.edure T1orm!,Bu&&on9li.%3Sender+ TO(-e.&45(egin table1.last; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8;
edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.eof then begin button?.4nabled:= false; [email protected]:= false; button.4nabled:= true; button>.4nabled:= true; shomessage+'e$ord sudah sampai batas akhirA'8 end;end5
PET"NJ"K PENG#S#AN
#+(2)T D*T*!. lik Tombol #nsert "untuk menambahkan data dalam tabel$%. #si semua kotak isian yang sudah disediakan&. lik Tombol (impan#si &a(el se(an:a% ; re.ord
2D#T D*T*:. lik Tombol +avigasi "tentukan data yang akan di perbaiki$;. lik Tombol 2dit@. erbaiki datanya
9. lik Tombol (impan
=*'( D*T*A. lik Tombol +avigasi "tentukan data yang akan di hapus$. lik Tombol Delete!. Bila keluar kotak pertanyaan, lik tombol 8es
Simpan uni& dengan nama *ile + "pra%DB/,PASSimpan pro-e.& dengan nama *ile + Ppra%DB/,DPR
7/21/2019 Delphi Modul 2
15/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 15
M2MB2)#*+ T#M2) D*+ T*+
7/21/2019 Delphi Modul 2
16/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 16
pro.edure T1orm!,Bu&&on!
7/21/2019 Delphi Modul 2
17/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 17
end; end; end; end; $ase aalD edit.e!t:= inttostr+d8'/'inttostr+m8 '/'inttostr+y8;
tamp:= strtodate+edit.e!t8; edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;
end5
%. lik %4 Tombol -
pro.edure T1orm!,Bu&&on!!li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
18/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 18
end; end; B : begin $ase d of "..B1: d:= d%1; 1 : begin if +y mod #8= then d:= "@ else d:= "?;
m:= m%1; end; end; end; &>1:begin
$ase d of "..B1: d:= d%1; 1 : begin d:= B; m:= m%1; end; end; end; ? : begin $ase d of "..B1: d:= d%1; 1 : begin
d:= B1; m:= m%1; end; end; end; #@11:begin $ase d of "..B: d:= d%1; 1 : begin d:= B1; m:= m%1; end;
end; end; 1":begin $ase d of "..B1: d:= d%1; 1 : begin d:= B; m:= m%1; end; end; end;
end; $ase aalD edit.e!t:= inttostr+d8'/'inttostr+m8
7/21/2019 Delphi Modul 2
19/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 19
'/'inttostr+y8;
tamp:= strtodate+edit.e!t8; edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;end5
&. lik %4 2vent 3nCreate milik 5orm!
pro.edure T1orm!,1ormrea&e3Sender+ TO(-e.&45(egin timer1.4nabled:= true; tamp:= date; edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;end5
Jalan%an Apli%asi di a&as,*nda perhatikan pada kotak Date *nd Time, bila tanggal tidak
sesuai tekan Tombol EF untuk menampilkan hari esok atau -F untuk menampilkan tanggalkemarin
Simpan uni& dengan nama *ile + "pra%DB=,PASSimpan Pro-e.& dengan nama *ile + Ppra%DB=,DPR
MENERAPKAN PROSED"R PENAR#ANDATA DA$AM TABE$
Buka kembali file proje/t prakDB:.D)Tambahkan komponen baru untuk memperlengkap performansi sistem *nda, lihat tampilangambar di bawah ini
7/21/2019 Delphi Modul 2
20/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 20
*turan roperty
+o omponen roperty >alue eterangan
! Button!% Caption >alidasi
% alidasi
pro.edure T1orm!,Bu&&on!2li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
21/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 21
AT"RAN PEMAKA#AN
=apus semua re/ord yang ada di tabel "agar isi tabel menjadi kosong$emudian masukkan ! re/ord yang baru.
Data-data yang dimasukkan
+im +ama Tgl?1ahir J s (mt ls +ilai
! *1#M'D#+ :7:7 T T# ! *! :
% ('(# ('(*+T# !7@7 5 * ! B ;@
& J*MJ')# &7!7 T T# & *% @A
: M*)1#* 7%7 5 M# ; B A9
; #GB*1 52)+*+D3 !7!!7 T T# 9 *% @
@ )*=M*T =*8'M# !7!7A T T# & *! @9
9 T*'5# &77A T T# & *! AA
A #)3= M'+#)3= %7A7 5 M# ; B ;;
+3>#*+T# !7:7 5 M# 9 B &:! M*)#* '15*= :77 5 M# ; B 99
(etelah semua dimasukkan
!. lik Tombol #nsert, isi kotak nim dengan @%. lik Tombol >alidasi apa yang terjadiL Tombol ini di gunakan untuk menge/ek
keberadaan nim yang diinputkan dari kotak isian 2dit!, bila nim yang dimasukkan sudahada dalam tabel, maka akan mun/ul kotak informasi yang menyatakan bahwa nim yangdimasukkan sudah ada dalam tabel.Bila belum ada, maka kursor otomatis menuju ke kotak isian nama
&. #si kotak isian nim "pada kotak pen/arian data$ dengan 9:. lik Tombol Cari apa yang terjadi L;. Coba isi kembali untuk nim %, dan klik Tombol Cari, maka apa yang terjadiL
ombol $ari digunakan untuk men$ari salah satu data yang ada di tabel 5ilai0hs. iladata yang di$ari terdapat dalam tabel maka akan tampil data yang di$ari tersebut padakotak isian masing%masing dan pointer +pada Hrid8 akan mununjuk pada data yangditemukan.5amun bila data yang di$ari tidak ada dalam tabel maka akan mun$ul kotak informasiyang menyatakan baha data yang di$ari tidak ada dalam tabel.
Simpan uni& dengan nama *ile + "pra%DB;,PASSimpan pro-e.& dengan nama *ile + Ppra%DB;,DPR
7/21/2019 Delphi Modul 2
22/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 22
MENGG"NAKAN #NDEKS
#nde4 pertama yang telah dibuat pada saat membuat struktur tabel nilaimhs adalah nim. +imadalah merupakan kun/i utama "primary key$ yang informasi data-data nya tidak bolehkembar. (elain dari kun/i primer, terdapat pula kun/i alternatif "se/ondary #nde4$. Dimanasetiap indeks mempunyai peranan penting sebagai
!. (uatu alternatif untuk melakukan pengurutan data pada tabel%. enghubung ke tabel lain&. 'ntuk memper/epat pen/arian data
(ebagai gambaran, selain menggunakan +#M sebagai kun/i primer, *nda juga bisamenggunakan +*M* untuk melakukan pengurutan. 'ntuk melakukan ini, *nda terlebihdahulu membuat #ndeks sekunder menurut 5ield +*M*.
*dapun langkah-langkah untuk membentuk indeks sekunder adalah sebagai berikut !. Bukalah kembali file proje/t *nda "prakDB;.D)$%. lik omponen Table dari form tersebut&. 'bah property */tive yang mulanya True menjadi 5alse:. Masuklah pada lembar kerja DataBase Desktop;. Dari menu 5ile "database desktop$@. ilih 3pen9. lik Table, beberapa saat akan tampil kotak open TableA. lik kotak dropdown *lias kemudian pilih DB', maka akan mun/ul pada kotak nama
+ilaiMhs. ilih file +ilaiMhs!. lik 3pen, maka tabel akan tampil pada database desktop
!!. lik menu Table "database desktop$!%. lik )estru/ture, maka akan tampil struktur tabel +ilaiMhs!&. Dari otak Dropdown Table roperties, lalu pilih (e/ondary #nde4es!:. lik Tombol Define, langkah ini akan menampilkan kotak dialog seperti berikut
!;. lik ganda pada field +ama, langkah ini membuat field +ama diletakkan pada kotakdaftar #nde4es 5ields
!@. lik Tombol 3. 1angkah ini akan menampilkan kotak dialog (ave #nde4 *s!9. #si kotak #nde4 name dengan namamhs!A. lik Tombol 3, maka akan tampil struktur tabel asal, seperti berikut
7/21/2019 Delphi Modul 2
23/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 23
!. lik Tombol (ave%. Tutuplah tabel dan database desktop, karena tidak diperlukan lagi
MENERAPKAN #NDE>PADA PROGRAM AP$#KAS# N#$A# MA)AS#S?A
anggil kembali file proje/t prakDB;.D)Tambahkan komponen radiogroup letakkan di bawah navigasi. 'bah +ilai property Captionmenjadi engurutan #nde4. #si itemsnya dengan Menurut +#MMenurut +*M*Dari hasil tadi akan menghasilkan gambar desain sebagai berikut
'ile i&(ex )a&g baru
terbe&tu# * &a!a!+,
Sebagai Seco&(ar) &(ex
7/21/2019 Delphi Modul 2
24/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 24
E0en&,lik %4 omponen )adio
7/21/2019 Delphi Modul 2
25/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 25
anggil kembali file proje/t [email protected])Tambahkan omponen baru, sehingga nanti akan seperti pada gambar berikut ini
*turan roperty
+o omponen roperty >alue eterangan
!
7/21/2019 Delphi Modul 2
26/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 26
ARA PEMAKA#AN!. lik Tombol +ama Depan%. #si otak +ama Mahasiswa dengan nama depan mahasiswa&. lik Tombol 3:. *nda 1ihat pointer pada
7/21/2019 Delphi Modul 2
27/45
7/21/2019 Delphi Modul 2
28/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 28
!%. lik Tombol 3, maka akan tampil +ama 5ield baru hasil bentukan dari proseskalkulasi, pada kode editornya. Bisa dilihat pada gambar berikut
!&. ada otak 5orm! Table!, lik pada Tombol QF nya!:. embali pada 5orm, lik pada komponen table!;. lik ganda 2vent 3nCal/5ields
pro.edure T1orm!,Ta(le!al.1ields3Da&aSe&+ TDa&aSe&45(egin if table1.*ieldy5ame+'LG'8.,soolean = rue then table1LenisGelamin.,s)tring:= '(ria' else table1LenisGelamin.,s)tring:= 'Manita';
end5
'iel( +a,il be&tu#a&
peri&ta+ -al#ula,i
7/21/2019 Delphi Modul 2
29/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 29
ME$ETAKAN 1#E$D KA$K"$AS# KE DBGR#D
1angkah-langkahnya adalah !. ada form, klik komponen table ubah nilai property */tive menjadi True%. lik kanan pada komponen DB
7/21/2019 Delphi Modul 2
30/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 30
$ang%ahlang%ah +!. anggil kembali file roje/t prakDB.D)%. lik komponen Table, ubah nilai property */tive menjadi 5alse
&. Buat field kalkulasi dengan mengulang seperti /ara di atas. +amun ketika tampilkotak +ew 5ield, isikan kriteria berikut a. #si kotak isian +ame dengan
7/21/2019 Delphi Modul 2
31/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 31
Simpan "ni& dengan nama *ile + "pra%DB!
7/21/2019 Delphi Modul 2
32/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 32
)3alue eterangan
! Table! DataBase+ame
Table+ame
*/tive
DB'
+ilaiMhs
True
Dari Tab BD2
% Data(our/e! Data(et Table! Dari TabData*//ess
& DB
7/21/2019 Delphi Modul 2
33/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 33
A Button; Caption eluar
Button@ Caption KH
! Button9 Caption H
!! ButtonA Caption I!% Button Caption IK
!& Button! Caption E
!: Button!! Caption -
!; Button!% Caption
2nabled
>alidasi
5alse
!@ Button!& Caption Cari
!9 Button!: Caption +ama Depan
!A Button!; Caption )'+
! Button!@ Caption 5ilter +ormal
% Timer! 2nabled
#nterval
5alse
;
%! 'pDown *sso/iate
Min
Ma4
2dit&
!
9
%% 2dit% 2nabled 5alse
%& 2dit& 2nabled 5alse
%: 2dit: 2nabled 5alse
%; 2dit; 2nabled 5alse
%@ DateTimei/ker!
2nabled 5alse
%9 ComboBo4! 2nabled
#temsF
5alse
T#
*
M#
%A )adio
7/21/2019 Delphi Modul 2
34/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 34
pro.edure T1orm!,1ormrea&e3Sender+ TO(-e.&45(egin timer1.4nabled:= true; tamp:= date; edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;
edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1;
Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8;
edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8;end5
%. lik %4 2vent 3nCal/5ields milik Table!
pro.edure T1orm!,Ta(le!al.1ields3Da&aSe&+ TDa&aSe&45
7/21/2019 Delphi Modul 2
35/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 35
0ar A..ep&+ Boolean45(egin ,$$ept:= ([email protected]!t8 UpperCase+table1.fieldbyname+'nama'8.,s)tring88J;end5
:. lik %4 Timer!
pro.edure T1orm!,Timer!Timer3Sender+ TO(-e.&45(egin edit>.e!t:= timetostr+time8;end5
;. lik %4 Tombol E
pro.edure T1orm!,Bu&&on!
7/21/2019 Delphi Modul 2
36/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 36
1B&>?1:begin $ase d of 1..B: d:= d1; B1 : begin d:= 1; m:= m1; end; end; end; #@11:begin $ase d of 1.."@: d:= d1; B : begin d:= 1; m:= m1; end;
end; end; end; $ase aalD edit.e!t:= inttostr+d8'/'inttostr+m8 '/'inttostr+y8; tamp:= strtodate+edit.e!t8; edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;
end5@. lik %4 Tombol S
pro.edure T1orm!,Bu&&on!!li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
37/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 37
d:= B1; m:= m%1; end; end; end else begin $ase d of ".."?: d:= d%1; 1 : begin d:= B1; m:= m%1; end; end; end; end; B : begin
$ase d of "..B1: d:= d%1; 1 : begin if +y mod #8= then d:= "@ else d:= "?;
m:= m%1; end; end; end;
&>1:begin $ase d of "..B1: d:= d%1; 1 : begin d:= B; m:= m%1; end; end; end; ? : begin $ase d of "..B1: d:= d%1;
1 : begin d:= B1; m:= m%1; end; end; end; #@11:begin $ase d of "..B: d:= d%1; 1 : begin d:= B1;
m:= m%1; end;
7/21/2019 Delphi Modul 2
38/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 38
end; end; 1":begin $ase d of "..B1: d:= d%1; 1 : begin d:= B; m:= m%1; end; end; end; end; $ase aalD edit.e!t:= inttostr+d8'/'inttostr+m8 '/'inttostr+y8;
tamp:= strtodate+edit.e!t8;
edit.e!t:= format9ateime+'dddd dd mmmm yyyy'tamp8;
end5
9. lik %4 Tombol >alidasi
pro.edure T1orm!,Bu&&on!2li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
39/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 39
edit1.e!t:= ' '; edit".e!t:= ' '; edit#.e!t:= ' '; $ombobo!1.e!t:= ' '; radiogroup1.ItemInde!:= %1; edit&.e!t:= ''; button1.Caption:='(ost'; edit1.)et*o$us; end else begin if +,ppli$ation.messagebo!+',pakah data ini akan disimpan-''(ertanyaan' 0234)56 or 02IC657U4)I658=I934)8 then begin able1.Insert; table1.*ieldy5ame+'nim'8.,s)tring:= edit1.e!t; table1.*ieldy5ame+'nama'8.,s)tring:= edit".e!t;
table1.*ieldy5ame+'tgl2lahir'8.,s9ateime:= datetimepi$ker1.9ate ; $ase radiogroup1.ItemInde! of : jk:= rue; 1: jk:= *alse; end; table1.*ieldy5ame+'jk'8.,soolean:= jk ; table1.*ieldy5ame+'(s'8.,s)tring:= Comboo!1.e!t; table1.*ieldy5ame+'smt'8.,s)tring:= inttostr+Up9on1.(osition8; table1.*ieldy5ame+'kls'8.,s)tring:= edit#.e!t; table1.*ieldy5ame+'nilai'8.,sInteger:= strtoint+edit&.e!t8; table1.(ost;
edit".4nabled:= false; datetimepi$ker1.4nabled:= false; radiogroup1.4nabled:= false; $ombobo!1.4nabled:= false; editB.4nabled:= false; edit#.4nabled:= false; edit&.4nabled:= false; end else begin table1.Can$el; edit".4nabled:= false; datetimepi$ker1.4nabled:= false;
radiogroup1.4nabled:= false; $ombobo!1.4nabled:= false; editB.4nabled:= false; edit#.4nabled:= false; edit&.4nabled:= false; end; utton1.Caption:= 'Insert'; end;
end5. lik %4 Tombol 2dit
pro.edure T1orm!,Bu&&on2li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
40/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 40
7/21/2019 Delphi Modul 2
41/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 41
begin shomessage+')udah tidak ada dataNA'8; buttonB.4nabled:= false; end else begin if +,ppli$ation.messagebo!+',pakah data ini akan dihapus-''(ertanyaan' 0234)56 or 02IC657U4)I658=I934)8 then table1.9elete; uttonB.4nabled:= false;
table1.first; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:=
else radiogroup1.ItemInde!:= 1;
Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; end;
end5
!!. lik %4 Tombol )efresh
pro.edure T1orm!,Bu&&on=li.%3Sender+ TO(-e.&45(egin table1.efresh;end5
!%. lik %4 Tombol Cari
pro.edure T1orm!,Bu&&on!/li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
42/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 42
datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; edit?.)et*o$us; utton".4nabled:= true; end;
end5
!&. lik %4 Tombol KH
pro.edure T1orm!,Bu&&on6li.%3Sender+ TO(-e.&45(egin uttonB.4nabled:= true; table1.first; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1;
Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.of then begin button.4nabled:= false; button>.4nabled:= false; button?.4nabled:= U4; [email protected]:= true; shomessage+'e$ord sudah sampai batas atasA'8 end;
end5
!:. lik %4 Tombol H
pro.edure T1orm!,Bu&&on7li.%3Sender+ TO(-e.&45(egin uttonB.4nabled:= true; table1.prior; button?.4nabled:= U4; [email protected]:= true;
edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring;
7/21/2019 Delphi Modul 2
43/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 43
datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.of then begin button.4nabled:= false; button>.4nabled:= false; button?.4nabled:= U4; [email protected]:= true; shomessage+'e$ord sudah sampai batas atasA'8
end;
end5
!;. lik %4 Tombol I
pro.edure T1orm!,Bu&&on8li.%3Sender+ TO(-e.&45(egin uttonB.4nabled:= true; table1.5e!t; button.4nabled:= true; button>.4nabled:= true;
edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.eof then
begin button?.4nabled:= false; [email protected]:= false; button.4nabled:= true; button>.4nabled:= true; shomessage+'e$ord sudah sampai batas akhirA'8 end;
end5
!@. lik %4 Tombol IK
pro.edure T1orm!,Bu&&on9li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
44/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 44
(egin uttonB.4nabled:= true; table1.last; edit1.e!t:= table1.*ieldy5ame+'nim'8.,s)tring; edit".e!t:= table1.*ieldy5ame+'nama'8.,s)tring; datetimepi$ker1.9ate:= table1.*ieldy5ame+'tgl2lahir'8.,s9ateime; if table1.*ieldy5ame+'jk'8.,soolean=rue then radiogroup1.ItemInde!:= else radiogroup1.ItemInde!:= 1; Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; if table1.eof then begin
button?.4nabled:= false; [email protected]:= false; button.4nabled:= true; button>.4nabled:= true; shomessage+'e$ord sudah sampai batas akhirA'8 end;
end5
!9. lik %4 Tombol eluar
pro.edure T1orm!,Bu&&on;li.%3Sender+ TO(-e.&45
(egin appli$ation.erminate;end5
!A. lik %4 Tombol +ama Depan
pro.edure T1orm!,Bu&&on!=li.%3Sender+ TO(-e.&45
7/21/2019 Delphi Modul 2
45/45
Modul Pemrograman Visual Delphi2
Tidak dijual untuk umum hanya berlaku untuk mahasiswa 45
Comboo!1.e!t:= table1.*ieldy5ame+'(s'8.,s)tring; Up9on1.(osition:= strtoint+table1.*ieldy5ame+'smt'8.,s)tring8; edit#.e!t:= table1.*ieldy5ame+'kls'8.,s)tring; edit&.e!t:= inttostr+table1.*ieldy5ame+'nilai'8.,sInteger8; end;end5
!. lik %4 Tombol 5ilter +ormal
pro.edure T1orm!,Bu&&on!6li.%3Sender+ TO(-e.&45(egin table1.*iltered:= false;end5
%. lik %4 Tombol )'+
pro.edure T1orm!,Bu&&on!;li.%3Sender+ TO(-e.&45(egin edit1.e!t:= ' '; edit".e!t:= ' '; edit#.e!t:= ' '; $ombobo!1.e!t:= ' '; radiogroup1.ItemInde!:= %1; edit&.e!t:= '';
table1.Inde!5ame:= 'namamhs'; table1.*iltered:= true; listbo!1.Clear;
hile not table1.4of do begin listbo!1.Items.,dd+table1.fieldbyname+'nama'8.as)tring8; table1.5e!t; end; if listbo!1.Items.Count J then listbo!1.ItemInde!:= ;
end5
%!. lik %4 omponen )adio
Top Related