delphi modul 2

Upload: keong-tak-menderita

Post on 04-Feb-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

  • 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