Data Modul
LATIHAN 5
Aplikasi dengan DataModul
ARSys Software Developed/AbdRohim
49
Data Modul
Data Modul adalah sebuah objek yang ditempatkan pada sebuah aplikasi sebagai pusat dari penyimpanan komponen-komponen nonvisual. Komponen-komponen tersebut diantaranya komponen data access yang terdiri dari TSession, TSessionList, TDatabase, TTable, TQuery, TStoredProc, dan TBatchMove, tetapi pada data modul ini tidak semua komponen non visula dapat ditempatkan. Diantaranya komponen yang tidak bisa ditempatkan adalah TTimer, TOpenDialog, TImageList, or TOleContainer. Dalam pemrograman data base ini data modul sangat penting dan sangat membantu dalam pembuatan dan penyederhanaan pembuatan program. Dalam sebuah aplikasi yang melibatkan banyak form diamana pada masing masing form tersebut mengakses tabel , tidak perlu pada masing-masing tabel tersebut ditempelkan komponen tabel (akan merepotkan sekali bahkan akan sangat menylitkan) cukup komponen tabel tersebut disimpan pada DataModul hanya satu tetapi bisa digunakan oleh banyak form. Cara menggunakan tabel-tabel yang ada pada datamodul cukup dengan mengkik menu File | Use Unit, kemudian sorot file data modulnya dan klik OK. Maka dengan ini form dengan data modul telah terhubung. Buatlah program seperti berikut ini yang sangat mirip dengan program Aplikasi Stok Barang pada Latihan 3. bedanya disini akan menggunakan DataModul dan entry data menggunakan DBEdit bukan Edit seperti program sebelumnya.
ARSys Software Developed/AbdRohim
50
Data Modul
Lakukanlah langkah-langkah berikut ini: 1. Bukalah project baru 2. isikan pada properti sbb: Komponen Properti Nilai Form1 Caption Aplikasi Stok Barang Name FmLatih5a Position poScreenCenter 3. Simpanlah project ini. Atur direktori ke tempat penyimpanan datanya. Gantilah nama file Unit1 dengan Latih5a.Pas dan nama project Project1.Dpr dengan Latihan5a.Dpr 4. Klik menu File | New Data Modul. Isikan pada properti data modul sbb: Komponen DataModul1
Properti Name
Nilai dmBarang
5. Tempatkan pada datamodul tersebut 1 buah Table dan 1 buah DataSource. Isikan pada propertinya sbb: Komponen Properti Nilai DBKursus Table1 DatabBaseName tbBarang Name Barang.DB TableName True Active DataSource1 DataSet TbBarang Name dsBarang 6. Buatlah variabel field untuk tabel barang ini. Masih ingat langkah-langkahnya ? jika lupa baca kembali latihan 1 tentang Tip hari ini. 7. Simpan kembali programnya berikan nama datamodul ini dengan nama Latih4aDM.Pas 8. Kembali pada form1. Tempatkan 3 buah Panel pada form, aturlah properti untuk panel tersebut sbb: Komponen Properti Nilai Panel1 Align AlTop BevelOuter BvLowered Caption (Kosongkan) Panel2 Align AlBottom BevelOuter BvLowered Caption (Kosongkan) Panel3 Align AlClient BevelOuter BvLowered Caption (Kosongkan) 9. 10. 11. 12.
Klik menu File | Use Unit. Klik nam file Latih4aDM dan kemudian klik OK Tempatkan pada Panel1 1 buah DBNavigator dan 1 buah Table dan 1 buah DataSource Tempatkan pada Panel2 1 buah BitBtn dan 3 buah Button Tempatkan pada Panel3 1 buah DBGrid
ARSys Software Developed/AbdRohim
51
Data Modul
13. Isikan nilai-nilai pada properti sbb: Komponen DBNavigator1
DBGrid1
BitBtn1 Button1 Button2 Button3
Properti DataSource Hints
ShowHint +VisibleButton (Double klik pada kata tersebut) - nbInsert - nbDelete - nbEdit - nbPost - nbCancel - nbRefresh DataSource +Option (Double klik pada kata tersebut) - dgRowSelect - dgAlwayShow Kind Caption Name Caption Name Caption Name
Nilai DmBarang.DsBarang Ke Awal Record Ke Record Sebelumnya Ke Record Sesudahnya Ke Akhir Record True
False False False False False False DmBarang.dsBarang
True True bkClose &Insert btnInsert &Edit btnEdit &Delete btnDelete
14. Simpanlah kembali programnya 15. Sekarang programnya boleh dijalankan, jika anda penasaran.
ARSys Software Developed/AbdRohim
52
Data Modul
Masih dalam project ini Latihan5a.DPR) buatlah form baru. Klik menu File | New Form Buatlah form dengan bentuk sbb:
Lakukanlah langkah-langkah berikut ini: 1. Tempatkan tiga buah panel pada form tersebut 2. Isikan pada properti nilai-nilai sbb: Komponen Properti Nilai bsDialog Form1 BorderStyle Stok Barang Caption fmEdBarang Name poScreenCenter Position Panel1 Align AlTop BevelOuter BvLowered Caption (Kosongkan) Panel2 Align AlBottom BevelOuter BvLowered Caption (Kosongkan) Panel3 Align AlClient BevelOuter BvLowered Caption (Kosongkan) 3. Tempatkan pada panel1 1 buah Label 4. Tempatkan pada panel2 7 buah Label, 6 buah DBEdit dan 1 buah DateTimePicker 5. Tempatkan pada panel3 2 buah BitBtn 6. Isikan pada masing-masing properti nilai-nilai berikut ini: Komponen Properti Nilai Label1 AutoSize False Caption (Kosongkan) Name lblKet Label2 Caption Kode Barang Label3 Caption Nama Barang Label4 Caption Kategori Label5 Caption Stok On Hand Label6 Caption Stok on Order Label7 Caption Satuan
ARSys Software Developed/AbdRohim
53
Data Modul
Label8
Caption
Last Update
7. Klik menu File | Use Unit. Klik nam file Latih4aDM dan kemudian klik OK 8. Isikan pada masing-masing properti nilai-nilai berikut ini: Komponen Properti Nilai dmBarang.dsBarang DBEdit1 DataSource KodeBarang DataField dbeKode Name DBEdit2 DataSource dmBarang.dsBarang DataField NamaBarang Name dbeNama DBEdit3 DataSource dmBarang.dsBarang DataField Kategori Name dbeKategori dmBarang.dsBarang DBEdit4 DataSource OnHand DataField dbeOnHand Name DBEdit5 DataSource dmBarang.dsBarang DataField OnOrder Name dbeOnOrder DBEdit6 DataSource dmBarang.dsBarang DataField Satuan Name dbeSatuan DateTimePicker1 Name dtpLast BitBtn1 Kind bkOK BitBtn2 Kind bkCancel 9. 10. 11. 12.
Simpanlah form ini dengan nama Latih5aEd Panggil / aktifkan kembali form FmLatih3a (yang pertama) Klik Menu File | Use Unit. Sorot Latih3aEd lalu klik tombol OK Double klik pada button Insert. Tuliskanlah program berikut ini: (Tanyakan langsung jika ada statemen yang tidak dimengerti kepada assistenya) procedure TfmMain.btnInsertClick(Sender: TObject); begin fmEdBarang.dtpLast.Date :=NOW; fmEdBarang.lblKet.Caption:='Insert Data'; fmEdBarang.dbeKode.Color:=clWindow; fmEdBarang.dbeKode.ReadOnly:=false; fmEdBarang.ActiveControl:=fmEdBarang.dbeKode; dmBarang.tbBarang.Insert; fmEdBarang.ShowModal; if fmEdBarang.ModalResult=mrOK then begin dmBarang.tbBarang.Post; dmBarang.tbBarang.Edit; dmBarang.tbBarangLastUpdate.Value:=fmEdBarang.dtpLast.Date;
ARSys Software Developed/AbdRohim
54
Data Modul
dmBarang.tbBarang.Post; end else dmBarang.tbBarang.Cancel; end; 13. Kembali ke tampilan form. Double klik pada button Edit. Tuliskanlah program berikut ini: (Tanyakan langsung jika ada statemen yang tidak dimengerti kepada assistenya) procedure TfmMain.btnEditClick(Sender: TObject); begin fmEdBarang.dtpLast.Date :=dmBarang.tbBarangLastUpdate.Value; fmEdBarang.lblKet.Caption:='Edit Data'; fmEdBarang.dbeKode.Color:=clBtnFace; fmEdBarang.dbeKode.ReadOnly:=true; fmEdBarang.ActiveControl:=fmEdBarang.dbeNama; dmBarang.tbBarang.Edit; fmEdBarang.ShowModal; if fmEdBarang.ModalResult=mrOK then begin dmBarang.tbBarang.Post; dmBarang.tbBarang.Edit; dmBarang.tbBarangLastUpdate.Value:=fmEdBarang.dtpLast.Date; dmBarang.tbBarang.Post; end else dmBarang.tbBarang.Cancel; end; 14. Kembali ke tampilan form. Double klik pada button Delete. Tuliskanlah program berikut ini: (Tanyakan langsung jika ada statemen yang tidak dimengerti kepada assistenya) procedure TfmMain.btnDeleteClick(Sender: TObject); begin if MessageDlg('Yakin akan dihapus ?' ,mtConfirmation,mbOKCancel,0)=mrOK then dmBarang.tbBarang.Delete; end; 15. Simpan kembali programnya 16. Silahkan dijalankan kembali programnya
ARSys Software Developed/AbdRohim
55