LATIHAN 5 Aplikasi dengan DataModul ARSys Software Developed/AbdRohim 49
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
Lakukanlah langkah-langkah berikut ini: 1. Bukalah project baru 2. isikan pada properti sbb: Form1 Position Aplikasi Stok Barang FmLatih5a 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: DataModul1 dmbarang 5. Tempatkan pada datamodul tersebut 1 buah Table dan 1 buah. Isikan pada propertinya sbb: Table1 1 DatabBase Table Active DataSet DBKursus tbbarang Barang.DB TbBarang 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: Panel1 Panel2 Panel3 AlTop AlBottom AlClient 9. Klik menu File Use Unit. Klik nam file Latih4aDM dan kemudian klik OK 10. Tempatkan pada Panel1 1 buah DBNavigator dan 1 buah Table dan 1 buah 11. Tempatkan pada Panel2 1 buah BitBtn dan 3 buah Button 12. Tempatkan pada Panel3 1 buah DBGrid ARSys Software Developed/AbdRohim 51
13. Isikan nilai-nilai pada properti sbb: DBNavigator1 Hints DBGrid1 ShowHint +VisibleButton (Double klik pada kata tersebut) - nbinsert - nbdelete - nbedit - nbpost - nbcancel - nbrefresh +Option (Double klik pada kata tersebut) - dgrowselect - dgalwayshow DmBarang.DsBarang Ke Awal Record Ke Record Sebelumnya Ke Record Sesudahnya Ke Akhir Record DmBarang.dsBarang BitBtn1 Kind bkclose Button1 &Insert btninsert Button2 &Edit btnedit Button3 &Delete btndelete 14. Simpanlah kembali programnya 15. Sekarang programnya boleh dijalankan, jika anda penasaran. ARSys Software Developed/AbdRohim 52
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: Form1 Panel1 Panel2 Panel3 BorderStyle Position bsdialog Stok Barang fmedbarang poscreencenter AlTop AlBottom AlClient 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: Label1 AutoSize lblket Label2 Kode Barang Label3 Nama Barang Label4 Kategori Label5 Stok On Hand Label6 Stok on Order Label7 Satuan ARSys Software Developed/AbdRohim 53
Label8 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: DBEdit1 DBEdit2 DBEdit3 DBEdit4 DBEdit5 DBEdit6 DateTimePicker1 dtplast BitBtn1 Kind bkok BitBtn2 Kind bkcancel KodeBarang dbekode NamaBarang dbenama Kategori dbekategori OnHand dbeonhand OnOrder dbeonorder Satuan dbesatuan 9. Simpanlah form ini dengan nama Latih5aEd 10. Panggil / aktifkan kembali form FmLatih3a (yang pertama) 11. Klik Menu File Use Unit. Sorot Latih3aEd lalu klik tombol OK 12. Double klik pada button Insert. Tuliskanlah program berikut ini: (Tanyakan langsung jika ada statemen yang tidak dimengerti kepada assistenya) procedure TfmMain.btnInsertClick(Sender: TObject); fmedbarang.dtplast.date :=NOW; fmedbarang.lblket.:='insert Data'; fmedbarang.dbekode.color:=clwindow; fmedbarang.dbekode.readonly:=false; fmedbarang.activecontrol:=fmedbarang.dbekode; dmbarang.tbbarang.insert; fmedbarang.showmodal; if fmedbarang.modalresult=mrok then dmbarang.tbbarang.edit; dmbarang.tbbaranglastupdate.value:=fmedbarang.dtplast.date; ARSys Software Developed/AbdRohim 54
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); fmedbarang.dtplast.date :=dmbarang.tbbaranglastupdate.value; fmedbarang.lblket.:='edit Data'; fmedbarang.dbekode.color:=clbtnface; fmedbarang.dbekode.readonly:=true; fmedbarang.activecontrol:=fmedbarang.dbenama; dmbarang.tbbarang.edit; fmedbarang.showmodal; if fmedbarang.modalresult=mrok then dmbarang.tbbarang.edit; dmbarang.tbbaranglastupdate.value:=fmedbarang.dtplast.date; 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); 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