Modul Praktikum Delphi II
Modul Praktikum Delphi II
Laboratorium Komputer Teknik Informatika Fakultas Teknik Universitas Suryakancana Cianjur 2011
1
Daftar Isi
1. 2. 3. 4. 5. 6. 7. 8. 9. Daftar Isi .. Pedoman Penulisan Laporan Contoh Cover Laporan .. Contoh Lembar Pengesahan Asisten . Latihan 1 .. Latihan 2 Latihan 3 Latihan 4 Latihan 5 i ii iii iv 1 7 13 19 25
Pedoman Pelaporan
Petunjuk Pembuatan Laporan dengan menggunakan Font Tahoma 16 untuk Judul dan Tahoma 11 untuk isi, dan Line Spasi 1,5. Ukuran Kertas A4 dengan Margin Kiri 4 cm, Atas 2,5cm, Kanan 2,5cm, dan Bawah 2,5cm. Jilid menggunakan Softcover warna Biru untuk Laporan I, dan Hijau Laporan II. Laporan untuk setiap Latihan berisi : 1. Pendahuluan Mengenai Latihan Tujuan dan Manfaatnya 2. Teori Teori Pendukung terhadap Latihan 3. Hasil Pengamatan Perintah Program & Jalannya Program Melaporkan pengamatan langkah dan perintah program, serta jalannya program 4. Pengujian Pengujian terhadap program dengan menyebutkan kekurangan dan kelebihan program yang dibuat 5. Kesimpulan Kesimpulan yang dapat diambil dari setiap latihan Laporan Dibuat Perorang dan diserahkan kepada Asisten sebanyak 2 (dua) kali penyerahan yaitu pada latihan ke-6 untuk laporan 1 sampai dengan 5, dan pada saat ujian untuk latihan 6 sampai dengan 10. Laporan Gabungan Terdiri dari : Untuk Laporan I 1. Cover 2. Pengesahan Asisten 3. Daftar Isi 4. Latihan1 5. Latihan2 6. Latihan3 7. Latihan4 8. Latihan5 9. Latihan6 10. Latihan7 11. Latihan8 12. Latihan9 13. Latihan10 14. Daftar Pustaka
Pemrograman Visual Laboratorium Komputer Teknik Informatika Fakultas Teknik Universitas Suryakancana Cianjur 20XX
4
Asisten II
( Nama Asisten I )
3. Click Kanan kemudian New atau pilih Menu Object | New atau dengan menekan tombol Ctrl+N maka akan muncul tampilan berikut :
6
4. Pilih driver database yang akan digunakan, untuk latihan 1 pilih Standard yang artinya memilih driver database untuk jenis Paradox 7.0, Driver database lain bisa dipilih dengan menggunakan combobox yang akan menampilkan daftar Driver Database. Setelah dipilih tekan tombol OK, apabila muncul tampilan seperti berikut :
dimana muncul warna merah terjadi kegagalan pada SQLExplorer,maka pilih menu Object | Cancel | Exit, dan untuk mengantisipasinya maka pilih pada Windows Start | Programs | Borland Delhi 7.0 | SQL Explorer dan lakukan langkah 3 dan 4
5.
Tulisan Standard1 ganti dengan nama database yang akan digunakan sebagai alias misalnya kita akan mengganti dengan Perpustakaan
Selanjutnya klik OK
Tekan tombol Yes, maka langkah untuk membuat Alias telah selesai
8
7.
Membuat Tabel dengan menggunakan database desktop, ada 2 (dua) cara, pertama melalui shortcut Database Desktop yang berada pada folder Borland Delphi 7.0, dan cara kedua melalui menu utama Borland Delphi 7.0 yaitu Tools | Database Desktop, sehingga muncul tampilan berikut :
Selanjutnya pilih menu File | New | Table, sehingga muncul tampilan berikut :
Pilihan type data ke Paradox 7 sebagai standar format database yang akan digunakan, selanjutnya buat struktur Tabel sebagai berikut :
Apabila telah selesai membuat struktur tabelnya, klik simpan dan beri nama Anggota Selanjutnya klik tombol edit (dilingkari) kemudian isikan data sebanyak 10 data seperti contoh dibawah ini :
9
8. Setelah selesai membuat tabel Anggota, maka kita buat tabel JenisPustaka dengan cara pilih menu File | New | Table dan buat strukturnya seperti berikut :
Simpan tabelnya dengan nama JenisPustaka kemudian isikan sekitar 10 record dengan menekan tombol edit data (dilingkari)
10
Simpan dengan Nama Penerbit dan isikan data minimal 10 record seperti berikut :
11
11. Untuk field Status Default Valuenya isi dengan A dan selanjutnya entry datanya sebanyak 10 Record seperti tampilan berikut :
12
13
14
UI adalah User Interface atau Form yang dirancang sebagai antar muka yang pada Delphi 7.0 menggunakan komponen Visual dimana komponen tersebut berfungsi untuk menampilkan data dari data yang disimpan dalam file atau database yang dibaca dengan perantara Data Module. Data Module terdiri dari komponen non Visual yang digunakan sebagai koneksi media dimana berfungsi untuk menghubungkan hasil pembacaan data dari file atau database dengan koneksi data dan Koneksi File yang digunakan untuk membaca data dari file atau table. Koneksi yang disediakan oleh Borland Delphi 7.0 diantaranya : a. Borland Database Engine b. Ado dengan ODBC Windows c. Interbase d. dbExpress Berikut tabel yang menggambarkan konfigurasi komponen Delphi 7.0 untuk pengolahan database.
Koneksi File Koneksi Media Koneksi Visual
BDE : Table -
15
Langkah praktikum : 1. Masuk Menu Utama Delphi 7.0 pilih File | New | Data Module
2. Kemudian ganti Nama DataModule2 menjadi DM untuk mempersingkat : 3. Selanjutnya pasang pada Data Module 5 table dari komponen palette BDE dan 5 datasource dari komponen palette Data Access
4. Konfigurasikan/setting untuk setiap table pada propertiesnya untuk dan TableName, sebagai berikut : Table\Properties Name Database Name Table Name Table1 User Perpustakaan User.db Table2 Anggota Perpustakaan Anggota.db Table3 Buku Perpustakaan Buku.db Table4 JenisPustaka Perpustakaan JenisPustaka.db Table5 Penerbit Perpustakaan Penerbit.db
16
5. Sedangkan untuk datasource-nya konfigurasi/setting propertiesnya sebagai berikut : Datasource\Properties Name Dataset Datasource1 dsUser User Datasource2 dsAnggota Anggota Datasource3 dsBuku Buku Datasource4 dsJenisPustaka JenisPustaka Datasource5 dsPenerbit Penerbit
6. Selanjutnya simpan dengan pilih menu utama Delphi : File | Save : DataModul.pas atau Ctrl+S DataModul.pas 7. Pindah ke Form1, ganti properties a. Name : FUserAdmin b. Caption : .:Pengelolaan User :. c. Position : poScreenCenter 8. Design Tampilan berikut :
17
10. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut : Komponen Properties Nilai DataSource DM.dsUser dbEdit1 DataField UserName DataSource DM.dsUser dbEdit2 DataField Password DataSource DM.dsUser DataField Akses dbComboBox1 O Items A dbNavigator DataSource DM.dsUser dbGrid DataSource DM.dsUser Button1 Caption &Tutup Sehingga tampilan form tampak seperti berikut :
18
12. Simpan dengan Nama : Fuser.pas 13. Run Program dengan menekan F-9 untuk mengguji program 14. Tambahkan data sekitar 5 record 15. Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut : a. Name : FAnggotaPerpustakaan b. Caption : .:Pengelolaan Anggota :. c. Position : poScreenCenter 16. Design Tampilan berikut :
17. Tekan tekan F-12, kemudian cari kata ketik : Uses DataModul;
19
18. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form 19. Untuk ActionList1 buat action standar dari a. TOpenPicture Caption Buka File Foto b. TDataSetInsert Caption &Tambah Datasource DM.dsAnggota c. TDataSetEdit Caption &Edit Datasource DM.dsAnggota d. TDataSetDelete Caption &Delete Datasource DM.dsAnggota e. TDataSetPost Caption &Simpan Datasource DM.dsAnggota f. TDataSetCancel Caption &Batal Datasource DM.dsAnggota
20
20. Konfigurasi/setting dari properties komponen adalah : Komponen Properties Nilai Panel1 Caption <Kosongkan> Panel2 Caption <Kosongkan> DataSource DM.dsAnggota dbEdit1 DataField NoAnggota DataSource DM.dsAnggota dbEdit2 DataField Nama DataSource DM.dsAnggota DataField Prodi dbComboBox1 INFORMATIKA Items INDUSTRI SIPIL DataSource DM.dsAnggota dbMemo1 DataField Alamat DataSource DM.dsAnggota dbImage1 DataField Foto DataSource DM.dsAnggota VisibelButton +nbInsert False dbNavigator1 +nbEdit False +ndDelete False +nbPost False +nbCancel False Button1 Action DataSetInsert1 Button2 Action DataSetEdit1 Button3 Action DataSetDelete1 Button4 Action DataSetPost1 Button5 Action DataSetCancel1 Button6 Caption &Tutup Button7 Action OpenPicture1 Button8 Caption &Kamera Maka hasilnya adalah sebagai berikut :
21
Simpan kedalam file dengan nama : FAnggota.pas 21. Jadikan FAnggota menjadi Form Utama 22. Run Program untuk menguji program 23. Tambahkan data sekitar 5 record 24. Simpan Project : Perpustakaan.dpr
22
4. Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses DataModul;
23
6. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut : Komponen Properties Nilai Panel1 Caption <Kosongkan> Panel2 Caption <Kosongkan> Edit1 Text <Kosongkan> Edit2 Text <Kosongkan> Button1 Caption Ke Awal Button2 Caption Berikut Button3 Caption Sebelum Button4 Caption Ke Akhir Button5 Caption &Tambah Button6 Caption &Edit Button7 Caption &Hapus Button8 Caption &Simpan Button9 Caption &Batal Button10 Caption &Tutup Sehingga tampilan sebagai berikut :
24
7. Form onActive ketik perintah berikut : procedure TFJenisPustaka.FormActivate(Sender: TObject); begin Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; end; 8. Double Klik Tombol Ke Awal, ketik perintah berikut : procedure TFJenisPustaka.Button1Click(Sender: TObject); begin DM.JenisPustaka.First; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button1.Enabled := False; Button3.Enabled := False; Button2.Enabled := True; Button4.Enabled := True; end; 9. Double Klik Tombol Berikut , ketik perintah berikut : procedure TFJenisPustaka.Button2Click(Sender: TObject); begin DM.JenisPustaka.Next; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button1.Enabled := True; Button3.Enabled := True; Button2.Enabled := True; Button4.Enabled := True; If DM.JenisPustaka.Eof Then Button4.Enabled := False; end; 10. Double Klik Tombol Sebelum , ketik perintah berikut : procedure TFJenisPustaka.Button3Click(Sender: TObject); begin DM.JenisPustaka.Prior; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button1.Enabled := True; Button3.Enabled := True; Button2.Enabled := True; Button4.Enabled := True; If DM.JenisPustaka.Bof Then Button1.Enabled := False; end;
25
11. Double Klik Tombol Ke Akhir , ketik perintah berikut : procedure TFJenisPustaka.Button4Click(Sender: TObject); begin DM.JenisPustaka.Last; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button2.Enabled := False; Button4.Enabled := False; Button1.Enabled := True; Button3.Enabled := True; end; 12. Double Klik Tombol Tambah , ketik perintah berikut : procedure TFJenisPustaka.Button5Click(Sender: TObject); begin Button5.Enabled := False; Button6.Enabled := False; Button7.Enabled := False; Button8.Enabled := True; Button9.Enabled := True; DM.JenisPustaka.Append; end; 13. Double Klik Tombol Edit , ketik perintah berikut : procedure TFJenisPustaka.Button6Click(Sender: TObject); begin Button5.Enabled := False; Button6.Enabled := False; Button7.Enabled := False; Button8.Enabled := True; Button9.Enabled := True; DM.JenisPustaka.Edit; end; 14. Double Klik Tombol Hapus , ketik perintah berikut : procedure TFJenisPustaka.Button7Click(Sender: TObject); begin If MessageDlg('Apakah Yakin Akan Menghapus ?',mtConfirmation,[mbYes,MbNo],0) = MrYes Then DM.JenisPustaka.Delete; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; end;
26
15. Double Klik Tombol Simpan , ketik perintah berikut : procedure TFJenisPustaka.Button8Click(Sender: TObject); begin Button5.Enabled := True; Button6.Enabled := True; Button7.Enabled := True; Button8.Enabled := False; Button9.Enabled := False; If (DM.JenisPustaka.State = dsInsert) or (DM.JenisPustaka.State = dsEdit) Then Begin DM.JenisPustaka.Fields[0].AsString := Edit1.Text; DM.JenisPustaka.Fields[2].AsString := Edit2.Text; DM.JenisPustaka.Post; End; end; 16. Double Klik Tombol Batal , ketik perintah berikut : procedure TFJenisPustaka.Button9Click(Sender: TObject); begin Button5.Enabled := True; Button6.Enabled := True; Button7.Enabled := True; Button8.Enabled := False; Button9.Enabled := False; DM.JenisPustaka.Cancel; end; 17. Double Klik Tombol Tutup , ketik perintah berikut : procedure TFJenisPustaka.Button10Click(Sender: TObject); begin Close; end; Simpan kedalam file dengan nama : FKodeJenisPustaka.pas 18. Jadikan FJenisPustaka menjadi Form Utama 19. Run Program untuk menguji program 20. Tambahkan data sekitar 5 record
27
21. Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut : a. Name : FPenerbit b. Caption : .:Pengelolaan Penerbit:. c. Position : poScreenCenter 22. Design Tampilan berikut :
23. Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses DataModul;
28
25. Pilih Oke 26. Konfigurasi semua datasource dari ActionList1 menjadi : DM.dsPenerbit a. b. c. d. e. TDataSetInsert Caption &Tambah Datasource DM.dsPenerbit TDataSetEdit Caption &Edit Datasource DM.dsPenerbit TDataSetDelete Caption &Delete Datasource DM.dsPenerbit TDataSetPost Caption &Simpan Datasource DM.dsPenerbit TDataSetCancel Caption &Batal Datasource DM.dsPenerbit
27. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut : Komponen Properties Nilai Panel1 Caption <Kosongkan> Panel2 Caption <Kosongkan> Edit1 Text <Kosongkan> Edit2 Text <Kosongkan> Button1 Caption Awal Action DataSet1First
29
Caption Berikut Action DataSet1Next Button3 Caption Sebelum Action DataSet1Prior Button4 Caption Ke Akhir Action DataSet1Last Button5 Caption &Tambah Action DataSet1Insert Button6 Caption &Edit Action DataSet1Edit Button7 Caption &Hapus Action DataSet1Delete Button8 Caption &Simpan Action DataSet1Post Button9 Caption &Batal Action DataSet1Cancel Button10 Caption &Tutup 28. Klik Tombol Tutup dan ketik program : procedure TFPenerbit.Button6Click(Sender: TObject); begin Close; end; Simpan kedalam file dengan nama : FPenerbitan.pas 29. Jadikan FPenerbit menjadi Form Utama 30. Simpan Project 31. Run Program untuk menguji program 32. Tambahkan data sekitar 5 record
Button2
30
31
5. Tambahkan komponen OpenPictureDialog1 dari komponen Palette Dialog 6. Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses DataModul;
32
7. Konfigurasi ActionList1
8. Konfigurasi semua datasource dari ActionList1 menjadi : DM.dsBuku a. b. c. d. e. TDataSetInsert Caption Datasource TDataSetEdit Caption Datasource TDataSetDelete Caption Datasource TDataSetPost Caption Datasource TDataSetCancel Caption Datasource &Tambah DM.dsBuku &Edit DM.dsBuku &Delete DM.dsBuku &Simpan DM.dsBuku &Batal DM.dsBuku
9. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut : Komponen Properties Nilai PageControl <Buat 2 Tabsheet> TabSheet1 Caption Data Buku DataSource DM.dsBuku dbEdit1 Field KodeJenis DataSource DM.dsBuku dbEdit2 Field Judul
33
DataSource Field dbLooKUpComboBox1 ListSource ListField KeyField DataSource dbEdit3 Field DataSource dbEdit4 Field DataSource Field dbLooKUpComboBox2 ListSource ListField KeyField DataSource dbMemo1 Field DataSource dbImage1 Field DataSource VisibelButton +nbInsert dbNavigator1 +nbEdit +ndDelete +nbPost +nbCancel Button1 Caption Caption Button2 Action Button3 Caption Caption Button4 Action Caption Button5 Action Caption Button6 Action Caption Button7 Action Caption Button8 Action Tabsheet2 Caption dbControlGrid1 Datasource dbText1 Field dbText2 Field Field dbText3 Aligment dbText4 Field
DM.dsBuku KodeJenis DM.dsJenisPustaka JenisPustaka KodeJenis DM.dsBuku Edisi DM.dsBuku TahunTerbit DM.dsBuku Penerbit DM.dsPenerbit Penerbit KodePenerbit DM.dsBuku Sumber DM.dsBuku Sampul DM.dsBuku False False False False False &Baru &Ambil Gambar OpenPicture1 &Kamera &Tambah DataSet1Insert &Edit DataSet1Edit &Hapus DataSet1Delete &Simpan DataSet1Post &Batal DataSet1Cancel Daftar Buku DM.dsBuku KodeBuku Judul Edisi taRightJustify Tahun
34
Dan
35
10. Double klik tombol Baru dan ketik program : procedure TFOlahBuku.Button1Click(Sender: TObject); begin FPenerbit.ShowModal; end; 11. Double klik tombol Tutup dan ketik program : procedure TFOlahBuku.Button9Click(Sender: TObject); begin Close; end; 12. Simpan File dengan nama : FBuku.pas 13. Run dan Tambahkan 5 record 14. Buat LookUp Field dengan cara masuk ke DataModule (Shift+F12) pilih DM
15. Pilih Buku kemudian klik kanan akan muncul PopUp Menu dan pilih Field Editor
36
17. Untuk membuat Field Bayangan untuk LookUp tekan Ctrl+N, maka akan muncul Field Bayangan Jenis untuk type LookUp
19. Untuk menampilkan Field LookUp tersebut, kembali ke Form FOlahBuku dengan cara tekan Shift+F12 lalu pilih FOlahBuku, selanjutnya tambahkan design pada Tabsheet2 seperti pada design :
37
20. Konfigurasi untuk komponen Komponen Properties Nilai dbText6 Field Jenis dbText7 Field NamaPenerbit 21. Hasilnya akan tampak :
38
23. Double Klik Tombol Cari No Buku dan ketikan program berikut : procedure TFOlahBuku.Button10Click(Sender: TObject); Var Cari : String; begin Cari := InputBox('Pencarian No.Buku','No.Buku',''); If Cari = ' ' Then MessageDlg('Isilah No.Buku Yang Dicari',mtError,[mbOk],0) Else If DM.Buku.FindKey([Cari]) Then MessageDlg('Data Ditemukan',mtConfirmation,[mbOk],0) Else MessageDlg('Maaf Data Tidak Ditemukan',mtConfirmation,[mbOk],0) end;
39
24. Untuk melakukan pencarian dengan Field yang ditentukan design tampilan berikut :
25. Konfigurasi Komponen sebagai berikut : Komponen Properties Nilai Judul Sumber Items Edisi ComboBox1 Tahun ItemIndex 0 Edit1 Text <Kosongkan> Button11 Caption Cari 26. Tuliskan Library db pada Uses, gunanya agar mengenal KeyWord LoPartialKey
40
27. Double klik tombol Cari dan ketikan program sebagai berikut :
procedure TFOlahBuku.Button11Click(Sender: TObject); begin If Edit1.Text = ' ' Then MessageDlg('Isi '+ComboBox1.Text+'Yang Dicari',mtError,[mbOk],0) Else If DM.Buku.Locate(ComboBox1.Text,Edit1.Text,[LoPartialKey]) Then MessageDlg('Data '+ComboBox1.Text+' '+Edit1.Text+'Ditemukan',mtConfirmation,[mbOk],0) Else MessageDlg('Maaf Data '+ComboBox1.Text+' '+Edit1.Text+' Tidak Ditemukan', mtConfirmation,[mbOk],0) end;
28. Untuk Filterisasi, design pada TabSheet2 dimodifikasi menjadi : 29. Konfigurasi Komponen Komponen Properties Nilai Judul Sumber Items Edisi ComboBox2 Tahun ItemIndex 0 Edit2 Text <Kosongkan> CheckBox1 Caption Filter Berdasarkan 30. Double Klik CheckBox1 dan ketikan program berikut : procedure TFOlahBuku.CheckBox1Click(Sender: TObject); begin If (Not CheckBox1.Checked) or (Edit2.Text = '') Then DM.Buku.Filtered := False Else Begin DM.Buku.Filtered := False; DM.Buku.Filter := ComboBox2.Text+' = '+QuotedStr(Edit2.Text); DM.Buku.Filtered := True; End; end;
41
32. Simpan dan Run, kemudian Uji Coba Pencarian dan Filterisasi, laporkan kejadian yang terjadi
42
3. Konfigurasi/setting propertiesnya sebagai berikut : a. Name : FGantiPassword b. BorderStyle : bsDialog c. Caption : .:Ganti Password:. d. Position : poScreenCenter 4. Tulis Uses DataModul; seperti tampilan berikut :
5. Konfigurasi komponen sebagai berikut : Komponen Properties Nilai Edit1 Text <Kosongkan> Text <Kosongkan> Edit2 PasswordChar * Caption &Ganti Button1 Enable False Button2 Caption &Batal
43
6. Ketik program pada Form event onActive : procedure TFGantiPassword.FormActivate(Sender: TObject); begin Edit1.Text := DM.User.Fields[0].AsString; end; 7. Ketik program pada Edit2 event OnChange sebagai berikut : procedure TFGantiPassword.Edit2Change(Sender: TObject); begin Button1.Enabled := (Edit2.Text <> ''); end; 8. Pada Button1 atau Ganti ketik program : procedure TFGantiPassword.Button1Click(Sender: TObject); begin DM.User.Edit; DM.User.Fields[1].AsString := Edit2.Text; DM.User.Post; end; 9. Pada Button2 atau Batal ketik program : procedure TFGantiPassword.Button2Click(Sender: TObject); begin Close; end; 10. Simpan dengan nama : FPassword.pas 11. Buat sebuah Form Baru kemudian Design sebagai berikut :
12. Konfigurasi/setting propertiesnya sebagai berikut : e. Name : FLogin f. BorderStyle : bsDialog g. Caption : :::Login:::. h. Position : poScreenCenter 13. Tulis Uses DataModul; seperti tampilan berikut :
44
15. Konfigurasi komponen sebagai berikut : Komponen Properties Nilai Edit1 Text <Kosongkan> Text <Kosongkan> Edit2 PasswordChar * Caption Log &in Button1 Enable False Button2 Caption &Batal 16. Ketik program pada Edit2 event OnChange : procedure TForm1.Edit2Change(Sender: TObject); begin Button1.Enabled := (Edit2.Text <> ''); end; 17. Ketik Program pada tombol Log In : procedure TFLogin.Button1Click(Sender: TObject); begin If DM.User.Locate('UserName;Password',VarArrayof([Edit1.Text,Edit2.Text]),[LoPartialKey]) Then Begin FUtama.Buku1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.JenisPustaka1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.Anggota1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.Penerbit1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.ShowModal; End
45
Else MessageDlg('Maaf User Name atau Password Salah !',mtError,[mbOk],0); Edit1.Text := ''; Edit2.Text := ''; End; 18. Ketik Program pada tombol Batal : procedure TForm1.Button2Click(Sender: TObject); begin Close; end; 19. Simpan Program dengan nama FormLogin.pas 20. Jadikan FLogin sebagai MainForm 21. Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut : a. Name : FUtama b. Caption : .:Sistem Informasi Perpustakaan:. c. Position : poScreenCenter 22. Jadikan Form FUtama menjadi Main Form 23. Pasang MainMenu1 (Standard) dan buat menu sebagai berikut : &File &Transaksi &Laporan &Bantuan &Buku Pe&minjaman Laporan &Buku &Pedoman &Jenis Pustaka Pen&gembalian Laporan &Transaksi P&rogrammer &Penerbit Laporan &Anggota &Anggota &Selesai 24. Pasang StatusBar1, klik kanan, add New sebanyak 3x, kemudian konfigurasi masing StatusPanel Panel ke-0 dan ke-2 Width = 150, sedangkan panel ke-1 Width = 360
25. Ketikan program pada Form Event onActive : procedure TFUtama.FormActivate(Sender: TObject); begin CurrencyString := ''; CurrencyFormat := 2; NegCurrFormat := 9; ThousandSeparator := '.'; DecimalSeparator := ','; CurrencyDecimals := 0; ShortDateFormat := 'dd-mm-yy';
46
LongDateFormat := 'dd-mm-yyyy'; DateSeparator := '-'; StatusBar1.Panels[0].Text := 'User : '+DM.User.Fields[0].AsString; StatusBar1.Panels[1].Text := 'Program Studi Teknik Informatika'; end; 26. Selanjutnya pasang Timer1, kemudian ketik perintah berikut : procedure TFUtama.Timer1Timer(Sender: TObject); begin StatusBar1.Panels[2].Text := FormatDateTime('ddd, dd mmm yyyy hh:mm:ss',Now); end; 27. Kemudian klik menu Arsip | Buku kemudian ketik : procedure TFUtama.Buku1Click(Sender: TObject); begin FOlahBuku.ShowModal; end; 28. Kemudian klik menu Arsip | Jenis Pustaka kemudian ketik : procedure TFUtama.JenisPustaka1Click(Sender: TObject); begin FJenisPustaka.ShowModal; end; 29. Kemudian klik menu Arsip | Penerbit kemudian ketik : procedure TFUtama.Penerbit1Click(Sender: TObject); begin FPenerbit.ShowModal; end; 30. Kemudian klik menu Arsip | Anggota kemudian ketik : procedure TFUtama.Anggota1Click(Sender: TObject); begin FAnggotaPerpustakaan.ShowModal; end; 31. Kemudian klik menu Arsip | Ganti Password kemudian ketik : procedure TFUtama.GantiPassword1Click(Sender: TObject); begin If DM.User.Fields[2].AsString = 'A' Then FUserAdmin.ShowModal Else FGantiPassword.ShowModal; end; 32. Kemudian klik menu Arsip | Selesai kemudian ketik : procedure TFUtama.Selesai1Click(Sender: TObject); begin Close; end;
47
34. Coba setiap menu yang telah diberikan perintah seperti Arsip | Buku, Arsip | Jenis Pustaka, Arsip | Anggota, dan Selesai, laporkan kejadiannya ! 35. Simpan File dan berinama : FPerpustakaan.pas 36. Copy-kan file berikut ke Folder program perpustakaan : (Minta kepada Asisten Lab.) a. vFW.dcu b. vFW.pas c. FCapturer.dfm d. FCapturer.pas e. FCapturer.dcu f. FCapturer.ddp 37. Pilih menu Project | Add To Project atau Shift+F11, kemudian file FCapturer dan vFw dipilih untuk digabungkan dengan program yang telah dibuat seperti gambar berikut :
48
39. Klik Tombol Kamera dan ketikan program berikut : procedure TFAnggotaPerpustakaan.Button8Click(Sender: TObject); begin FormCapture.ShowModal; If FormCapture.ModalResult = mrOk Then DBImage1.Picture := FormCapture.Image1.Picture; end; 40. Panggil FOlahBuku dengan Shift+F12
49
41. Klik Tombol Kamera dan ketikan program berikut : procedure TFOlahBuku.Button3Click(Sender: TObject); begin FormCapture.ShowModal; If FormCapture.ModalResult = mrOk Then DBImage1.Picture := FormCapture.Image1.Picture; end; 42. Simpan Semua dengan Shift+Ctrl+S 43. Jalankan program, kemudian masuk ke Arsip | Anggota, coba klik kamera dimana apabila terdapat Hardware Camera maka akan muncul gambar yang dapat di Capture.
50
51
3. Kemudian pilih ke Form DM (Shift+F12), dan pasang 2 Table dan 2 Datasource seperti design berikut :
4. Konfigurasi komponen sebagai Komponen Properties Name DatabaseName Table1 TableName Active Name Datasource1 DataSet Name DatabaseName TableName Table2 MasterSource MasterField Active Name Datasource1 DataSet
berikut Nilai Transaksi Perpustakaan Transaksi.db True dsTransaksi Transaksi TransPinjam Perpustakaan TranPinjam.db dsTransaksi NoTransaksi True dsTransPinjam TransPinjam
52
Klik
K l i k
Klik OK, Kemudian Pilih Table TranPinjam kemudian klik Kanan Pilih Field Editor kemudian Ctrl+F, kemudian tekan Ctrl+N ikuti seperti gambar dibawah ini lalu tekan tombol OK maka akan muncul seperti pada gambar disampingnya, selanjutnya drag Judul ke atas dibawah NoBuku sehingga seperti gambar dibawahnya.
53
54
6. Konfigurasi/setting propertiesnya sebagai berikut : a. Name : FTransPinjam b. BorderStyle : bsSizeable c. Caption : ::Peminjaman Buku:: d. Position : poScreenCenter 7. Komponen di setting sebagai berikut : Komponen Properties Nilai GroupBox1 Caption Data Transaksi DataSource dsTransaksi dbEdit1 Field NoTransaksi DataSource dsTransaksi dbEdit2 Field TglTransaksi DataSource dsTransaksi Field KodeAnggota dbLookUpComboBox1 ListSource dsAnggota ListField Nama KeyField NoAnggota DataSource dsTransaksi dbEdit4 Field NoTransaksi Enable False Button1 Caption &Baru Button2 Caption &Simpan Enable False Button3 Caption &Batal Enable False GroupBox2 Caption Transaksi Peminjaman dbControlGrid1 DataSource DM.dsTransPinjam DataSource dsTranPinjam dbEdit4 Field NoBuku
55
dbEdit5 dbMemo1
Query1
DatabaseName Perpustakaan SELECT NoBuku, Judul, Penulis, Status SQL FROM "Buku.DB" Buku WHERE Status = 'A' or Status = 'K' Active True DataSet Query Caption DataSource DataSource Field DataSource Field DataSource Field Caption Daftar Buku Yang Dapat Dipinjam DataSource1 DataSource1 NoBuku DataSource1 Penulis DataSource1 Judul &Tutup
9. Tulis Program pada Tombol Baru : procedure TFTransPinjam.Button1Click(Sender: TObject); begin DM.Transaksi.Append; DM.Transaksi.Fields[0].AsString := 'P'+IntToStr(DM.Transaksi.RecordCount+1); DM.Transaksi.Fields[1].AsDateTime := Now(); DM.Transaksi.Fields[3].AsString := 'P'; Button1.Enabled := False; Button2.Enabled := True; Button3.Enabled := True; end;
56
10. Tulis Program pada Tombol Simpan : procedure TFTransPinjam.Button2Click(Sender: TObject); begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Post; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False; end; 11. Tulis Program pada Tombol Batal : procedure TFTransPinjam.Button3Click(Sender: TObject); begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Cancel; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False; end; 12. Tulis Program pada Event Form OnActive : procedure TFTransPinjam.FormActivate(Sender: TObject); begin DM.Transaksi.Filtered := False; DM.Transaksi.Filter := 'JenisTransaksi = '+QuotedStr('P'); DM.Transaksi.Filtered := True; DM.TranPinjam.Filtered := False; DM.TranPinjam.Filter := 'Status = '+QuotedStr('P'); DM.TranPinjam.Filtered := True; DM.Transaksi.Last; Button1Click(Sender); end; 13. Tulis program dengan menklik dbControlGrid2, sebagai berikut : procedure TFTransPinjam.DBCtrlGrid2Click(Sender: TObject); begin DM.TranPinjam.Append; DM.TranPinjam.FieldByName('NoBuku').AsString := Query1.Fields[0].AsString; DM.TranPinjam.FieldByName('TglKembali').AsDateTime := Now()+7; If MessageDlg('Apakah Buku '+Query1.Fields[0].AsString+' Akan Dipinjam mtConfirmation,[mbYes,MbNo],0) = MrYes Then Begin If DM.Buku.FindKey([Query1.Fields[0].AsString]) Then Begin DM.Buku.Edit; DM.BukuStatus.Value := 'P'; DM.Buku.Post; End; DM.TranPinjam.Post; End Else
?',
57
DM.TranPinjam.Cancel; Query1.Close; Query1.Open; end; 14. Tulis program untuk tombol Tutup sebagai : procedure TFTransPinjam.Button4Click(Sender: TObject); begin Close; end; 15. Simpan dengan nama : FTransaksiPinjam.pas 16. Pilih Form FUtama, kemudian klik MainMenu untuk Transaksi | Peminjaman, dan tulis program berikut : begin FTransPinjam.ShowModal; end; 17. Buat sebuah Form Baru kemudian Design sebagai berikut :
58
18. Konfigurasi/setting propertiesnya sebagai berikut : a. Name : FTransKembali b. BorderStyle : bsSizeable c. Caption : ::Transaksi Pengembalian Buku:: d. Position : poScreenCenter 19. Komponen di setting sebagai berikut : Komponen Properties Nilai GroupBox1 Caption Data Transaksi DataSource dsTransaksi dbEdit1 Field NoTransaksi DataSource dsTransaksi dbEdit2 Field TglTransaksi DataSource dsTransaksi Field KodeAnggota dbLookUpComboBox1 ListSource dsAnggota ListField Nama KeyField NoAnggota DataSource dsTransaksi dbEdit4 Field NoTransaksi Enable False Button1 Caption &Baru Caption &Simpan Button2 Enable False Caption &Batal Button3 Enable False DatabaseName Perpustakaan SELECT Anggota.Nama, Transaksi.TglTransaksi, Transaksi.NoTransaksi, Transaksi.JenisTransaksi, Tranpinjam.NoBuku, Buku.Judul, Tranpinjam.TglKembali FROM "TranPinjam.DB" Tranpinjam INNER JOIN "Transaksi.DB" Transaksi SQL ON (Tranpinjam.NoTransaksi = Transaksi.NoTransaksi) INNER JOIN "Buku.DB" Buku Query1 ON (Buku.NoBuku = Tranpinjam.NoBuku) INNER JOIN "Anggota.DB" Anggota ON (Anggota.NoAnggota = Transaksi.KodeAnggota) WHERE Tranpinjam.Status = 'P' And Anggota.Nama Like :Nama 0 Nama <Gambar Params Query A> Params DataType ftString Active True dbControlGrid1 DataSource DataSource1 DataSource DataSource1 dbEdit4 Field NoBuku DataSource DataSource1 dbEdit5 Field TglKembali
59
dbMemo1
DataSource Field
DataSource1 Judul
0 NoTransaksi 1 NoBuku
21. Tulis Program pada Tombol Baru : procedure TFTransPinjam.Button1Click(Sender: TObject); begin DM.Transaksi.Append; DM.Transaksi.Fields[0].AsString := 'P'+IntToStr(DM.Transaksi.RecordCount+1); DM.Transaksi.Fields[1].AsDateTime := Now(); DM.Transaksi.Fields[3].AsString := 'P'; Button1.Enabled := False; Button2.Enabled := True; Button3.Enabled := True; end; 22. Tulis Program pada Tombol Simpan : procedure TFTransPinjam.Button2Click(Sender: TObject); begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Post; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False; end; 23. Tulis Program pada Tombol Batal : procedure TFTransPinjam.Button3Click(Sender: TObject); begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Cancel; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False; end;
61
24. Tulis Program pada Form onActive : procedure TFTransKembali.FormActivate(Sender: TObject); begin DM.Transaksi.Filtered := False; DM.Transaksi.Filter := 'JenisTransaksi = '+QuotedStr('K'); DM.Transaksi.Filtered := True; DM.Transaksi.Last; Button1Click(Sender); end; 25. Tulis Program pada dbLookUpComboBox1 : procedure TFTransKembali.DBLookupComboBox1Click(Sender: TObject); begin Query1.Close; Query1.Prepare; Query1.Params[0].AsString := DBLookupComboBox1.Text; Query1.Open; end; 26. Tulis Program dengan mengklik dbControlGrid1 : procedure TFTransKembali.DBCtrlGrid1Click(Sender: TObject); begin If MessageDlg('Apakah Buku '+Query1.Fields[4].AsString+' Akan ?',mtConfirmation,[mbYes,MbNo],0) = MrYes Then Begin {Update Data} Query2.Close; Query2.Prepare; Query2.Params[0].AsString := Query1NoTransaksi.Value; Query2.Params[1].AsString := Query1NoBuku.Value; Query2.ExecSQL; {Rubah status buku} If DM.Buku.FindKey([Query1NoBuku.Value]) Then Begin DM.Buku.Edit; DM.BukuStatus.Value := 'K'; DM.Buku.Post; End; End; {Tampilkan Data buku yang masih dipinjam} Query1.Close; Query1.Prepare; Query1.Params[0].AsString := DBLookupComboBox1.Text; Query1.Open; end; 27. Tulis program untuk Tombol Tutup : procedure TFTransKembali.Button4Click(Sender: TObject); begin Close; end;
Dikembalikan
62
28. Simpan dengan nama file : FTransaksiKembali.pas 29. Pilih FUtama dengan Shift+F12 kemudian pada main menu Transaksi | Pengembalian klik dan tulis program : procedure TFUtama.Pengembalian1Click(Sender: TObject); begin FTransKembali.ShowModal; end; 30. Simpan program, jadikan FLogin sebagai Form Utama dan jalankan
63