Modul delphi
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
635
On Slideshare
635
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
62
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Halaman :MODUL IAPLIKASI DASARBahasan: Dasar-Dasar Pemograman DelphiTujuan: 1. Mahasiswa Dapat Membuat Aplikasi Sederhana Menggunakan DelphiA. MENGENAL DELPHIDelphi merupakan sebuah program berbasiskan windows yang memiliki bahasa mirip dengan pascal. Jadi bila anda telahmenguasai pascal barangkali tidak akan kesulitan dalam menggunakan program ini. Perbedaan mendasar antara delphi denganpascal adalah bahwa delphi memiliki oop (object orientation program) atau program yang berorientasi ke objek. Dengandemikian delphi lebih mudah digunakan dibandingkan dengan pascal, karena anda hanya tinggal mengatur properti atau sifatdari objek dan menambahkan sedikit pengkodean.Untuk menjalankan:1. Klik tombol Start, pilih menu Programs  Borland Dephi 7  Delphi 72. Tunggu hingga program delphi aktif3. Perhatikan komponen yang ada, diantaranya component pallete (berisi sekumpulan objek yang akan kita gunakandalam pembuatan proram) dan object inspector (berisi daftar property atau sifat dari objek yang aktif yang dapat kitaubah sesuai dengan kebutuhan dalam program kita). Kedua objek ini merupakan komponen yang paling seringdipakai dalam pembuatan program visual.Gambar 1.1.Toolbar Component Pallete.Gambar 1.2. Object InspectorB. KONSEP DASARDidalam delphi ada beberapa pengertian yang memerlukan penjelasan untuk memahami bagaimana dan apa sajakomponen yang ada dalam delphi, adapun diantaranya adalah:- PROJECTProject delphi adalah sekumpulan file yang akan membangun aplikasi atau library yang dapat disebarkan kepadapemrogram lain. Pada saat memulai delphi, delphi akan membuat sebuah project baru. Setelah itu terserah pengguna apakahapakah ingin memodifikasi projek terasebut, membuat projek baru lagi atau mungkin membuka projek yang sudah ada.Project aplikasi terdiri atas :1. File project : file ini tersimpan dengan ekstensi .Dpr, hanya ada satu file projek untuk satu projek.2. File form : file form tersimpan dengan ekstensi .dfm, adalah file biner yang berisi gambaran grafis dari form.Setiap file .dfm selalu pararel dengan satu unit file yang berekstensi .pas.3. Unit (source): file unit tersimpan dengan ekstensi .pas, dimana setiap unit berupa file source code dalam bahasapascal. Tidak setiap file unit memiliki atau terhubung file .dfmFile projek menggabung semua file diatas yang digunakan oleh delphi untuk melakukan kompilasi dan membuat file target(.exe atau .dll).-FORMForm merupakan tempat kita merancang program. Jika seorang pemogram diibaratkan sebagai seorang pelukis maka forminilah yang menjadi kanvasnya. Form yang dirancang dalam delphi bisa digunakan kembali oleh projek delphi yang lain. Formdapat juga disimpan dalam bentuk dll, sehingga dapat digunakan oleh aplikasi yang lain seperti c++, paradox, atau dbase.Delphi menawarkan kemudahan pembuatan form melalui model template.-UNITModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media1
  • 2. Halaman :Unit merupakan modul yang terpisah yang dapat dikompilasi tersendiri, yang berisi deklarasi bagian publik (antarmuka)dan bagian privat (implementasi). Setiap form dalam delphi mempunyai satu unit yang bersesuaian. Source code unittersimpan dengan ekstensi pas, sedangkan yang sudah terkompilasi tersimpan dengan ekstensi .dcu. proses link akanmenggabung file .dcu menjadi satu file exe atau dll.C. MEMBUAT PROYEK BARUUntuk membuat aplikasi atau proyek baru, langkah-langkah yang harus anda lakukan adalah:1. Pilih menu File | New Application2. Tunggu hingga muncul jendela form3. Dengan memilih component pallette standar, masukan sebuah label dan button4. Kemudian ubah propertinya dengan menggunakan Object Inspector5. Pada Fom1: Tform1, caption anda isi dengan pengalaman pertama...6. Label1, Caption : ini adalah pengalaman pertamaku menggunakan program delphi7. Button1, Caption : &Tutup8. Untuk lebih jelasnya, silahkan lihat gambar 1.3.Gambar 1.3.Jendela Form Hasil Perubahan.9. Klik dua kali pada button hingga muncul jendela pengkodean, kemudian ketik : Close diantara kata begin dan endsehingga terlihat sebagai berikut:procedure TForm1.Button1Click(Sender: TObject);beginClose;end;10. Jalankan program dengan menu Run | Run. Atau bisa juga dengan langsung menekan tombol F911. Untuk keluar dari program klik tombol tutup12. File menu File | Save All13. Simpan project anda dengan nama ppertama.dpr dan upertama.pas untuk unitnya.14. Kembangkan contoh program tersebut.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media2
  • 3. Halaman :MODUL IIMENGHITUNG LUAS SEGI TIGABahasan: Program Menghitung Luas Segi TigaTujuan: 1. Mahasiswa Dapat Membuat Aplikasi Perhitungan Dengan DelphiA. MENDESAIN FORMUntuk membuat program menghitung luas segitiga ini, kita membutuhkan sebuah form. Namun anda juga bisamembuatnya bersama proyek yang baru. Kemudian anda masukan beberapa komponen diantaranya Label sebanyak empatbuah, Edit sebanyak tiga buah dan Button sebanyak dua buah. Anda atur posisinya sehingga terlihat seperti pada Gambar 2.1.Gambar 2.1. Jendela Desain Form.B. MENGUBAH PROPERTIDengan menggunakan Object Inspector, ubahlah properti dari komponen yang ada dengan ketentuan sebagai berikut :Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Caption Mata Matiku...Label1 : TLabel1 CaptionFont : SizeMenghitung Luas Segitiga15Label2 : TLabel2 Caption Alas:Label3 : TLabel3 Caption Tinggi:Label4 : TLabel4 Caption Luas:Edit1 : TEdit1 Text (Kosongkan)Edit2 : Tedit2 Text (Kosongkan)Edit3 : Tedit3 Text (Kosongkan)Button1 : TButton1 Caption &HitungButton2 : Tbutton2 Caption &TutupPanel1 : TPanel1 Caption KosongkanJika sudah selesai seharusnya tampilan form anda akan terlihat seperti gambar 2.2.Gambar 2.2. Tampilan Hasil Perubahan Properti.C. MEMASUKAN KODEAgar desain program yang telah kita buat bisa berfungsi sebagaimana mestinya, tentunya kita harus memasukkan kodekedalam objek tersebut. Anda cukup memasukan kode untuk Button1 dan Button2 saja.Berikut ini kode sumbernya:procedure TForm1.Button1Click(Sender: TObject);var alas,tinggi,luas: real;begin// cek apakah input sudah diisi ?IF edit1.text= THENBeginMessageDlg(Alas masih kosong,mtInformation,[mbOK],0);edit1.setfocus;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media3
  • 4. Halaman :EndELSE IF edit2.text= THENBeginMessageDlg(Tinggi masih kosong,mtInformation,[mbOK],0);edit2.setfocus;EndELSE// jika sudah :Beginalas:=STRtoFLOAT(edit1.text);tinggi:=STRtoFLOAT(edit2.text);luas:=0.5*alas*tinggi;edit3.text:=FLOATtoSTR(luas);// Edit3.Text:=Bukan Bilangan;End;End;Sedangkan untuk kode Button2 adalah sebagai berikut :procedure TForm1.Button2Click(Sender: TObject);beginClose;end;Sehingga kode lengkapnya akan terlihat seperti dibawah ini:unit Usegi3;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Edit1: TEdit;Edit2: TEdit;Button1: TButton;Button2: TButton;Edit3: TEdit;Panel1: TPanel;Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;procedure Button2Click(Sender: TObject);procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.Button2Click(Sender: TObject);beginclose;end;procedure TForm1.Button1Click(Sender: TObject);var alas,tinggi,luas: real;begin// cek apakah input sudah diisi ?IF edit1.text= THENModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media4
  • 5. Halaman :BeginMessageDlg(Alas masih kosong,mtInformation,[mbOK],0);edit1.setfocus;EndELSE IF edit2.text= THENBeginMessageDlg(Tinggi masih kosong,mtInformation,[mbOK],0);edit2.setfocus;EndELSE// jika sudah :Beginalas:=STRtoFLOAT(edit1.text);tinggi:=STRtoFLOAT(edit2.text);luas:=0.5*alas*tinggi;edit3.text:=FLOATtoSTR(luas);Edit3.Text:=Bukan Bilangan;End;end;end.D. LATIHAN- Modifikasi program diatas, sehingga ketika user menginputkan nilai alas dan tinggi tidak berupa angka, program bisamenghandlenya.- Buatlah program baru seperti diatas, misalkan untuk menghitung luas lingkaran, volume tabung, dan sebagainya.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media5
  • 6. Halaman :MODUL IIITERBILANGBahasan: Penggunaan Fungsi Dalam DelphiTujuan: 1. Mahasiswa Dapat Membuat Fungsi Untuk Setiap Permasalahan Dalam DelhiA. DESAIN FORMSekarang kita mencoba membuat sebuah aplikasi untuk menampilkan keterangan bilangan yang dimasukan. Misalkanketika user atau pengguna mengetik angka 1, maka akan muncul tulisan Satu.Berikut ini contoh desainnya:Gambar 3.1. Contoh Tampilan Desain Form.B. UBAH PROPERTIUntuk memperindah tampilan, ubahlah properti masing-masing dengan ketentuan sebagai berikut:Nama Object Properti NilaiLabel1 CaptionSizeTerbilang20Label2 Caption Angka:Panel1 Caption (dikosongkan)BitBtn1 CaptionGlyph&Cek(Tbitmap)BitBtn2 Kind bkCloseForm1 Caption Kubilang Terbilang...Edit1 Text (dikosongkan)Untuk menambahkan icon pada BitBtn1, langkah yang harus anda lakukan adalah:1. Aktifkan komponen Bitbtn1, sehingga tampil propertinya pada Object Inspector2. Pada Tab Propeties pilih baris Glyph, kemudian klik tombol3. Tunggu hingga muncul jendela Picture Editor.Gambar 3.2. Jendela Picture Editor.4. Klik tombol Load...5. Ketik muncul jendela berikutnya, pastikan anda aktifkan foder : C:Program FilesCommon FilesBorland SharedImagesButton, pada bagian Look in:6. Pilih Check.bmp7. Klik tombol Open hingga kembali kejendela semulaModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media6
  • 7. Halaman :8. Klik tombol OK.Gambar 3.3. Jendela Picture Editor Pemilihan ImageJika langkah yang anda lakukan sudah tepat maka form anda akan terlihat seperti dibawah ini:Gambar 3.4. Tampilan Form Setelah PerubahanC. PENGKODEAN9. CARA SEDERHANAUntuk cara sederhana ini, kita hanya menyeleksi setiap angka pertama yang dimasukan dengan seleksi Case Of.Sebenarnya kita bisa juga menyeleksi dengan IF Then, namun akan membutuhkan lebih banyak pengkodean.Aktifkan Tombol Cek, dari Object Inspector di tab Events pada event OnClick() anda ketik kode berikut ini:procedure TForm1.BitBtn1Click(Sender: TObject);Var Digit1 : Char;beginDigit1 := Edit1.Text[1];Case Digit1 Of0 : Panel1.caption := Nol;1 : Panel1.caption := Satu;2 : Panel1.caption := Dua;3 : Panel1.caption := Tiga;4 : Panel1.caption := Empat;5 : Panel1.caption := Lima;6 : Panel1.caption := Enam;7 : Panel1.caption := Tujuh;8 : Panel1.caption := Delapan;9 : Panel1.caption := Sembilan;End;end;Untuk memeriksa apakah program kita bisa berjalan dengan baik atau tidak, sekarang coba anda jalankan programtersebut dengan menekan tombol F9. Kemudian anda isikan angka pada kotak isian dan klik tombol Cek.10. DENGAN FUNGSICara yang lebih efektif, untuk menerjemahkan banyak angka adalah dengan membuat sebuah fungsi. Fungsi ini harusanda letakkan dibagian bawah dari Implementation.Function TERBILANG( n : longint) : String;ConstBil : Array[0..11] Of String[15] =(,Satu,Dua,Tiga,Empat,Lima,Enam,Tujuh,Delapan,Sembilan,Sepuluh,Sebelas);Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media7
  • 8. Halaman :BeginCase n Of0..11 : Result := Bil[n];12..19 : Result := Terbilang(n-10) + Belas;20..99 : Result := Terbilang(n div 10) + Puluh + Terbilang(n mod 10);100..199 : Result := Seratus + Terbilang(n-100);200..999 : Result := Terbilang(n div 100) + Ratus + Terbilang(n mod 100);1000..1999: Result := Seribu + Terbilang(n-1000);2000..9999: Result := Terbilang(n div 1000) + Ribu + Terbilang(n mod 1000);End;//form1.caption := inttostr(n)End;Kemudian anda hapus dan ganti kode yang ada ditombol check sehingga menjadi sebagai berikut:procedure TForm1.BitBtn1Click(Sender: TObject);Var Digit1 : Char;beginIf Edit1.text<> ThenBeginIf Edit1.text=0 Then Panel1.Caption:=NolElse Panel1.Caption:= TERBILANG(STRtoINT(Edit1.text));EndElsePanel1.Caption:=Kosong;end;Berikut ini Contoh Aplikasi yang sedang di RUN.Gambar 3.4. Contoh Form Yang Sedang DijalankanD. LATIHAN DAN TUGAS1. Buat supaya keterangan tampil ketika kita sedang mengetik angkanya (tanpa mengklik tombol cek)2. Tambahkan pengkodean sehingga program bisa menghandle hingga bilangan Triliunan.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media8
  • 9. Halaman :MODUL IVMENUA. DESAIN FORMUntuk membuat sebuah form bermenu caranya sangat mudah sekali yaitu :1. Buat sebauh aplikasi baru2. Tambahkan sebuah MainMenu pada form anda.Gambar 4.1. Rancangan Form Bermenu.3. Double klik pada komponen MainMenu yang ada pada form, tunggu hingga muncul jendela baru4. Isi Properti Caption pada Object Inspector dengan : &Berkas, sehingga akan terlihat seperti Gambar 4.2Gambar 4.2. Penambahan Menu Berkas5. Klik tombol kosong yang ada dibawah tulisan Berkas pada form, kemudian anda tambahkan Caption dengan&Keluar6. Klik tanda titik-titik yang membentuk kotak kosong dengan disebelah kanan menu Berkas, kemudian anda ubahCaptionnya dengan &Warna.7. Berturut-turut anda buatkan 3 buah sub menu baru dibawah menu Warna dengan Caption masing-masing Hitam,Putih, Standar.8. Kemudian anda tambahkan menu Help, disamping kanan Warna.9. Dibawah menu Help, anda tambahkan dua sub menu dengan Caption Program, - , Tentang.10. Tutup Form rancangan menu tersebut sehingga kita kembali aktif di Form yang pertama dan perhatikan perubahanyang terjadi.Gambar 3.4. Tampilan Setelah Penambahan MenuModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media9
  • 10. Halaman :B. PENGKODEANTambahkan pengkodean sehingga seluruh kodenya akan terlihat seperti dibawah ini:unit Umenu;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,Menus;typeTForm1 = class(TForm)MainMenu1: TMainMenu;Berkas1: TMenuItem;Keluar1: TMenuItem;Warna1: TMenuItem;Hitam1: TMenuItem;Putih1: TMenuItem;Standar1: TMenuItem;Help1: TMenuItem;Program1: TMenuItem;N1: TMenuItem;Tentang1: TMenuItem;procedure Keluar1Click(Sender: TObject);procedure Hitam1Click(Sender: TObject);procedure Putih1Click(Sender: TObject);procedure Standar1Click(Sender: TObject);procedure Program1Click(Sender: TObject);procedure Tentang1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.Keluar1Click(Sender: TObject);beginif Application.MessageBox(Apakah anda yakin keluar program ? ,Keluar Program,36) = 6 thenClose;end;procedure TForm1.Hitam1Click(Sender: TObject);beginForm1.Color := clBlack;end;procedure TForm1.Putih1Click(Sender: TObject);beginForm1.Color := clWhite;end;procedure TForm1.Standar1Click(Sender: TObject);beginForm1.Color := clLtGray;end;procedure TForm1.Program1Click(Sender: TObject);beginModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media10
  • 11. Halaman :Application.MessageBox(Program Menu-Menuan v.0.1+#13+#13+Oleh : abu syafa,Tentang Program,64);end;procedure TForm1.Tentang1Click(Sender: TObject);beginApplication.MessageBox(Nama : Abu Syafa+#13+Alamat : Yogyakarta+#13+Phone : 618379 / 08562878105,Programmer...,64);end;end.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media11
  • 12. Halaman :MODUL VDATA BASEBahasan: Data Base Menggunakan DelphiTujuan: 1. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus LaporanDengan Delphi2. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan DelphiA. MEMBUAT TABLEUntuk membuat table dengan menggunakan delphi, anda membutuhkan sebuah program bantual lain yang menjadi satudengan delphi yaitu Database Desktop.Cara untuk membuat table, bisa anda lakukan dengan mengikuti langkah-langkah dibawah ini:3. Dari program delphi, pilih menu Tools | DataBase Desktop.4. Tunggu beberapa saat hingga muncul jendela Database Desktop.Gambar 6.1. Jendela Database Desktop.5. Dari jendela tersebut, anda pilih menu Tools | Alias Manager.Gambar 6.2 Jendela Alias Manager.6. Klik tombol New.7. Pada isian Database alias: anda ketikkan nama aliasnya misalkan Akademik.8. Driver type: anda pilih STANDAR.9. Path: diisi dengan letak penyimpanan tabel anda. Jika anda tidak hapal nama direktorinya, silahkanklik tombol Browse untuk mencarinya.10. Klik tombol OK, ketika muncul konfirmasi, anda pilih tombol Yes.Gambar 6.3. Jendela Konfirmasi.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media12
  • 13. Halaman :11. Kemudian anda pilih menu File | Working Directory...12. Setelah muncul jendela Set Working Directory, anda pilih Akademik pada bagian Aliases:13. Jika tidak muncul, kemungkinan ada kesalahan ketika anda membuat Alias Manager.Gambar 6.4. Jendela Working Directory.14. Klik tombol OK.15. Pilih menu File | New | Table.Gambar 6.5. Jendela Create Table.16. Ketika muncul jendela Create Table, anda pilih type table Paradox 7, kemudian klik tombol OK17. Setelah muncul jendela Create Paradox 7 Table, anda buat struktur tabel sebagai berikut:Gambar 6.6. Jendela Desain Tabel.18. Klik tombol Save As...Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media13
  • 14. Halaman :Gambar 6.7. Jendela Save As19. Pada isian File name, anda isikan nama tabelnya, misalkan Mhs, sedangkan pada bagain Alias andapilih Akademik.20. Klik tombol Save.21. Buka tabel anda, dengan memilih menu File | Open | TableGambar 6.8. Jendela Open.22. Ketika muncul jendela open, anda pilih table Mahasiswa23. Pilih menu Table | Edit Data, kemudin anda masukan record seperti dibawah ini:Gambar 6.9. Contoh Data Yang Dimasukan Tabel Mahasiswa.24. Pilih menu File | Close. Ketika muncul konfirmasi penyimpanan, anda pilih yes.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media14
  • 15. Halaman :Gambar 6.10. Jendela Konfirmasi.25. Pilih menu File | Exit, untuk keluar dari program Database Desktop dan kembali ke programDelphi.B. MENDESAIN FORMUntuk merancang aplikasi database ini, kita membutuhkan beberapa komponen pallete antara lain: Table, DataSource,DBGrid, dan DBNavigator. Anda bisa menambahkan komponen tersebut dari tab Data Access dan Data Control.Jangan lupa untuk menambahkan sebuah label dan dua buah Bitbtn. Atur sedemikian rupa sehingga terlihat seperti padagambar 6.11.Gambar 6.11. Rancangan Form DataBase.Atur propertinya sebagai berikut:Nama Object Properti NilaiForm1 BorderStyleCaptionbsDialogBasis Data...Table1 DatabaseNameTableNameIndexFieldNameActiveAkademikMahasiswa.dbNim; Nama MahasiswaTrueDataSource1 DataSet Table1DBGrid1 DataSource DataSource1DBNavigator1 DataSource DataSource1Bitbtn1 CaptionGlyph&Laporanreport.bmpBitbtn2 Kind bkCloseLabel1 CaptionFont.NameFont.SizeDATABASE MAHASISWAVerdana20Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media15
  • 16. Halaman :Gambar 6.12. Rancangan Form Setelah Perubahan Properti.Sekarang coba anda jalankan form tersebut.C. REPORTSebelum anda bisa menampilkan laporan terlebih dahulu anda harus mempersiapkan hal dibawah ini:1. Tambahkan sebuah form baru, dengan memilih menu File | New Form.2. Dengan menggunakan pallete QReport, masukkan beberapa komponen antara lain:a. Sebuah QuickRepb. Empat buah QRBandc. Enam buah QRLabeld. Enam buah QRDBtexte. Satu buah Table3. Ubah propertinya sebagai berikut:Nama Objek Properti NilaiForm1 Caption Laporan...Table1 DatabaseNameTableNameIndexFieldNameActiveAkademikMahasiswa.dbNim; Nama MahasiswaTrueQRBand1 BandType rbTitleQRBand2 BandType rbClumnHeaderQRBand3 BandType rbDetailQRBand4 BandType rbPageFooterQRLabel1 Caption NIMQRLabel2 Caption Nama MahasiswaQRLabel3 Caption Tempat LahirQRLabel4 Caption Tanggal LahirQRLabel5 Caption JurusanQRLabel6 Caption AlamatQRDBtext1 DataSetDataFieldTable1NimQRDBtext2 DataSetDataFieldTable1Nama MahasiwaQRDBtext3 DataSetDataFieldTable1Tempat LahirQRDBtext4 DataSetDataFieldTable1Tanggal LahirQRDBtext5 DataSetDataFieldTable1JurusanQRDBtext6 DataSetDataFieldTable1AlamatQuickRep1 DataSetReportTitleTable1Laporan Mahasiswa4. Pastikan Tampilan Form anda akan terlihat seperti berikut :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media16
  • 17. Halaman :Gambar 6.13. Tampilan Form Setelah Perubahan.5. Aktifkan kembali Form1 anda6. Double Klik pada Bibtn1 (tombol Laporan), kemudian anda ketik:Form2.QuickRep1.Preview;7. Tekan tombol F98. Ketika muncul konfirmasi, pilih tombol yesGambar 6.14. Jendela Konfirmasi.9. Tekan tombol F9 sekali lagi10. Sekarang aplikasi anda bisa diuji coba.D. LATIHAN1. Lengkapi laporan diatas dengan menambahkan Judul Laporan, Garis pembatas antar data, dan tanggal pencetakanlaporan pada bagian footer.2. Buat sebuah aplikasi utuh dengan menggunakan menu, grafik dan data base seperti yang telah anda buat sebelumnya.MODUL VISISTEM INFORMASI PRESENSI PEGAWAIDENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6Bahasan: Data Base Mysal Menggunakan DelphiTujuan: 26. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus LaporanDengan Delphi27. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan DelphiLangkah ke 1 : Mebuat Database presensi.sqla. Masuk ke mysql console dan ketikan perintah :mysql>create database presensi;b. Kemudian kita buat table admin dengan mengetikkan perintah :mysql> create table admin(-> id varchar(20),-> password varchar(20),-> judul_presensi varchar(50));c. Kemudian kita buat table pegawai dengan mengetikan perintah :mysql> create table pegawai(-> nip varchar(10),-> nama_pegawai varchar(20),-> j_kel char(1),-> alamat varchar(50),-> no_telp varchar(13),-> sandi varchar(20), primary key(nip));d. Kemudian kita buat table rekap_presensi dengan mengetikan perintah :mysql> create table rekap_presensi(-> nip varchar(10),-> nama_pegawai varchar(20),-> tanggal date,-> jam_datang time,-> jam_pulang time,-> durasi varchar(8));Langkah ke 2 : Menginstall Zeos di Delphi dengan cara :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media17
  • 18. Halaman :a. Kopikan file .bpl yang berada di folder ZEOSDBO-6.6.0-betabplnya ke folder BPL yang ada di folder C:ProgramFilesBorlandDelphi7ProjectsBPL.b. Kopikan juga file .dcu yang berada di folder ZEOSDBO-6.6.0-betabplnyadcu ke folder LIB yang ada di folder C:ProgramFilesBorlandDelphi7Libc. Kopikan juga file .dll yang ada di ZEOSDBO-6.6.0-betalibmysql ke folder C:WINDOWSsystemdan C:WINDOWSsystem32d. Kemudian buka Delphi masuk ke menu Component, install packages, kemudian pilih ADD, masukan file bpl yang ada difolder BPL yang ada di C:Program FilesBorlandDelphi7ProjectsBPL. Klik OK. Secara otomatis component Zeos sudahditambahkan pada tab component VCL DelphiLangkah ke 3 : Membuat Aplikasi dengan cara :a. Membuat formUtama :- Simpan form yang telah aktif dengan nama UUtama.pas untuk file .pas nya dan dengan nama Presensi untuk file .dprnya.- Atur Propertiesnya sbb:1. Name : frmUtama2. Caption : ::[ Presensi Pegawai ::]3. BorderStyle : bsSingle4. Border Icon : biMaximize=false5. Icon : pilih icon sesuai yang diinginkan dengan mengelikkan tombol icon6. Align : alClient7. Positiom : poScreenCenter- Tambahkan Component MainMenu dengan memilih pada tab standard dan letakkan di frmUtama.Buat menu-menu yang akan digunakan di aplikasi :1. &Admin : Data Admin,login2. &File : Data Pegawai, Rekap Presensi3. &Transaksi : Presensi Masuk, Presensi Pulang4. &Lihat : Data Pegawai, Presensi(Sudah Datang,Sudah Pulang),Cek Presensi5. A&bout Program6. &Keluar- Tambahkan Komponent ZConection ke frmUtama dengan memilih pada tab Zeos Access dan atur propertiesZConnection sbb :1. Name : ZConnectionPresensi2. Database : presensi3. HostName : localhost4. Protocol : mysql5. User : root6. Connected : true- Tambahkan 3 Component ZQuery ke frmUtama dengan memilih pada tab Zeos Access dan atur properties ZQuery1 sbb :1. Name : ZQueryPegawai2. Connection : ZConnectionPresensi3. Sql : isi dengan sintaks sql select * from pegawai order by nip4. Active : true5. Klik dua kali pada ZQueryPegawai, Klik kanan pilih Add all fieldsproperties ZQuery2 sbb :6. Name : ZQueryAdminModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media18
  • 19. Halaman :7. Connection : ZConnectionPresensi8. Sql : isi dengan sintaks sql select * from admin9. Active : true10. Klik dua kali pada ZQueryAdmin, Klik kanan pilih Add all fieldsproperties ZQuery3 sbb :11. Name : ZQueryRekapPresensi12. Connection : ZConnectionPresensi13. Sql : isi dengan sintaks sql select * from rekap_presensi order by tanggal14. Active : true15. Klik dua kali pada ZQueryRekapPresensi, Klik kanan pilih Add all fields- Tambahkan component image dengan memilih pada tab additional , letakkan pada frmUtama dan atur propertiesnya :1. Stretch : True2. Align : alClient3. Picture : tekan picture dan pilih picture sesuai kebutuhan.(kalau mau dikasih photoku aja juga boleh)- Tambahkan Component StatusBar dengan memilih pada tab Win32 , letakkan pada frmUtama dan atur propertiesnya :1. Height : 23Tampilan Sebelum decompile :Tekan F9 dan Tampilan Saat Dicompile :b. Membuat frmPegawai- Pilih menu File>New >Form, simpan ditempat yang sama dengan tempat menyimpan file UUtama. Beri namaUPegawai.pas (ingat loooch harus disimpan ditempat yang sama dengan UUtama, jangan sampai terpisah)- Atur propertiesnya sbb :1. Name : frmPegawai2. Caption : ::[ Data Pegawai ]::3. Positon : poScreenCenterModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media19
  • 20. Halaman :4. Icon : klik tombol icon dan pilih icon sesuai dengan kebutuhan5. BorderStyle : bsSingle6. BorderIcons : biMaximize dibuat false, biMinimize dibuat false- Tambahkan Component Panel dengan memilih pada tab standard, den letakkan ke frmPegawai dan atur properties daripanel tersebut :1. Name : PanelJudul2. Caption : :: DATA PEGAWAI ::3. Height : 404. Font : tekan tombol dan atur jenis font Book Antique, color = maroon , size =185. BevelInner : bvRaised6. BevelOuter : bvRaised- Tambahkan lagi Component Panel dengan memilih pada tab standard, den letakkan ke frmPegawai dan atur propertiesdari panel tersebut :7. Name : PanelField8. Caption : (kosongkan)9. BevelInner : bvRaised10. BevelOuter : bvRaised- Tambahkan Component image, 6 label dan 5 edit, 1 ComboBox letakkan ke dalam PanelField frmPegawai dan aturproperties masing-component tersebut tersebut :1. Image : Stretch=true, Align=alClient, Picture=pilih sesuai kebutuhan2. edit1 : Name =edNIP,3. edit2 : Name =edNama,4. edit3 : Name =edAlamat,5. edit4 : Name =edNoTelp,6. edit5 : Name =edSandi,7. ComboBox1 : Name=cmbJK, Items=LAKI-LAKI ; PEREMPUAN- Tambahkan Component DBGrid dan DBControl dengan memilih pada TAB DataControls, tambahkan ComponentdataSource dengan memilih pada dataAccess, tambahkan component statusbar dengan memilih pada Tab Win32.letakkan ke dalam frmPegawai dan atur properties masing-component tersebut sbb :8. DBGrid : Align=AlClient, DataSource=DataSource1, ReadOnly=true9. CBControl : Align=alBotom,DataSource=DataSource1, VisibleButtons= nbInsert=false; nbCancel=false;nbDelete=false;nbPost=false;nbEdit=false, Flat=true10. sebelum mengatur properties data source pilih menu File>use Unit>pilih UUtama>klik OK, baru kemudian padadataSource atur Properties DataSet =frmUtama.ZQueryPegawai11.- Tambahkan 5 component BiButton dengan memilih pada TAB Additional letakkan ke dalam panel field frmPegawai danatur properties masing-component tersebut sbb :12. BitButton1 : Name =bbtnSimpan, Caption=&Simpan13. BitButton1 : Name =bbtnBatal, Caption=&Batal14. BitButton1 : Name =bbtnEdit, Caption=&Edit15. BitButton1 : Name =bbtnHapus, Caption=&Hapus16. BitButton1 : Name =bbtnKeluar, Caption=&KeluarContoh hasil sebelum di Compile :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media20
  • 21. Halaman :- Kembali ke frmUtama lalu pilih Menu Files>Use Unit>pilih UPegawai>klik Ok- Pada frmPegawai tekan pada menu File>Data Pegawai dan masukkan perintah frmPegawai.ShowModal;Untuk sintak lengkapnya :procedure TfrmUtama.DataPegawai1Click(Sender: TObject);beginfrmPegawai.ShowModal;end;- Jalankan dengan menekan F9 dan hasilnya :- kembali ke frmPegawai dan akan mulai memasukkan baris2 perintah :1. Klik dua kali Tombol Keluar dan masukkan perintah close; untuk secript lengkapnya :procedure TfrmPegawai.bbtnKeluarClick(Sender: TObject);beginclose;end;2. Klik dua kali Tombol Batal dan untuk script lengkapnya :procedure TfrmPegawai.bbtnBatalClick(Sender: TObject);beginedNIP.Clear;edNama.Clear;cmbJK.Text:=;edAlamat.Clear;edNoTelp.Clear;edSandi.Clear;end;3. Tambahkan Component ZQuery terlebih dulu ke dalam frmPegawai yang nantinya akan digunakan untuk validasiagar tak terjadi redundancy data pada primary key. Atur propertiesnya sbb :a. SQL= select * from pegawaib. Connection=frmUtama.ZConnectionPresensic. Pada ZQuery klik dua kali, klik kanan dan pilih Add all fields4. Klik dua kali Tombol Simpan dan untuk perintah lengkapnya sbb :procedure TfrmPegawai.bbtnSimpanClick(Sender: TObject);beginZQuery1.Close;ZQuery1.SQL.Clear;ZQuery1.SQL.Add(select * from pegawai where nip ="+edNIP.Text+");ZQuery1.Open;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media21
  • 22. Halaman :if not ZQuery1.IsEmpty thenbeginMessageDlg(Maaf NIP +ZQuery1nip.Value+ sudah dipakai sebelumnya. Silahkan anda pakaiNIP lain..!!!,mtInformation,[mbOK],0);edNIP.Clear;edNIP.SetFocus;endelseif ZQuery1.IsEmpty thenbeginfrmUtama.ZQueryPegawai.Insert;frmUtama.ZQueryPegawainip.Value:=edNIP.Text;frmUtama.ZQueryPegawainama_pegawai.Value:=edNama.Text;frmUtama.ZQueryPegawaij_kel.Value:=cmbJK.Text;frmUtama.ZQueryPegawaialamat.Value:=edAlamat.Text;frmUtama.ZQueryPegawaino_telp.Value:=edNoTelp.Text;frmUtama.ZQueryPegawaisandi.Value:=edSandi.Text;frmUtama.ZQueryPegawai.Post;end;end;5. Klik dua kali tombol hapus dan untuk perintah lengkapnya sbb :procedure TfrmPegawai.bbtnHapusClick(Sender: TObject);beginif (frmUtama.ZQueryPegawai.RecordCount=0) thenbeginMessageDlg(" Maaf, Data Pegawai sudah kosong ! Silahkan Anda isikembali..!!!,mtInformation,[mbOK],0);edNIP.SetFocus;exit;endelseif MessageDlg(Yakin Data mau dihapus..??? ,mtConfirmation,[mbYes,mbNo],0)=mrYes thenbeginfrmUtama.ZQueryPegawai.Delete;edNIP.SetFocus;end;end;6. Klik dua kali tombol edit, dan untuk script lengkapnya :procedure TfrmPegawai.bbtnEditClick(Sender: TObject);beginZQuery1.Close;ZQuery1.SQL.Clear;ZQuery1.SQL.Add(select * from pegawai where nip ="+edNIP.Text+");ZQuery1.Open;if ZQuery1.IsEmpty thenbeginMessageDlg(Maaf NIP +edNIP.Text+ belum dimasukkan sebelumnya. Data tidakada!!!,mtInformation,[mbOK],0);edNIP.Clear;edNIP.SetFocus;endelseif Trim(edNIP.Text)= thenbeginMessageDlg(Maaf NIP harus diisi...!!!!,mtInformation,[mbOK],0);edNIP.SetFocus;endelseif not ZQuery1.IsEmpty thenbeginZQuery1.Edit;ZQuery1nip.Value:=edNIP.Text;ZQuery1nama_pegawai.Value:=edNama.Text;ZQuery1j_kel.Value:=cmbJK.Text;ZQuery1alamat.Value:=edAlamat.Text;ZQuery1no_telp.Value:=edNoTelp.Text;ZQuery1sandi.Value:=edSandi.Text;ZQuery1.Post;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media22
  • 23. Halaman :frmUtama.ZQueryPegawai.Refresh;end;end;- Untuk perintah button sudah lengkap untuk langkah berikutnya tinggal mengatur validasi security formnya.1. Set properties text menjadi kosong untuk semua component edit dan component combobox2. Set properties MaxLength edNip=103. Set properties MaxLength edNama=204. Set properties MaxLength cmbJK=15. Set properties MaxLength edAlamat=506. Set properties MaxLength edNoTelp=137. Set properties MaxLength edSandi=208. klik edNip, pada jendela Object Inspector pilih event OnKeypress dan masukkan perintah :procedure TfrmPegawai.edNIPKeyPress(Sender: TObject; var Key: Char);beginif (keyin[a..z,A..Z,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,},[,],:,;,",|,,<,>,?,/,,,.,~,`, ]) thenkey:=#0elseif not(Key=chr(13)) then exitelse edNama.SetFocus;end;9. klik edNama, pada jendela Object Inspector pilih event OnKeypress dan masukkan perintah :procedure TfrmPegawai.edNamaKeyPress(Sender: TObject; var Key: Char);beginif not(Key=chr(13)) then exitelse cmbJK.SetFocus;end;10. lakukan hal sama untuk component combobox dan edit- Untuk selanjutnya qita bisa membuat laporan / print out dari table Pegawai dengan menggunkan Quick report atau Ravereport atau komponen tambahan lainnya.Untuk membuat laporan dengan Quick report terlebih dulu qita harus menambahkan komponen seperti halnya ketika kitamenambahkan Zeos kedalam Delphi. Cara menambahkan Quick report dengan cara :1. Pilih Menu Componnent > Install Packages > setelah muncul jendela windows baru klik button Add2. Setelah Tampil jendela Add Design Package buka folder C > Program Files > Borland > Delphi7 > Bin > dclqrt.bpl> klik Ok secara otomatis akan ditambahkan di tab component pada delphiMODUL VISISTEM INFORMASI PRESENSI PEGAWAIDENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6Bahasan: Data Base Mysal Menggunakan DelphiTujuan: a. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus Laporan Dengan Delphib. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan DelphiPada tutorial ini diharapkan sebelumnya anda telah menguasai database mysql, Serta Component Zeos dan Quick Report telahditambahkan dalam palete Delphi anda karena dalam tutorial ini hal-hal tersebut tidak dibahas.Membuat database simple_simpus :Silahkan masuk ke commend prompt mysql dan masukkan perintah2 dibawah ini untuk membuat database simple_simpusmysql> create database simple_simpus;mysql> use simple_simpus;mysql> create table anggota(-> no_anggota varchar(8) primary key,-> nama_anggota varchar(30),-> tmp_lahir varchar(20),-> tgl_lahir date,-> alamat varchar(50),-> tgl_gabung date,-> tgl_habis_keanggotaan date);mysql> create table petugas(-> nip varchar(8)primary key,-> nama_petugas varchar(30),-> tmp_lahir varchar(20),-> tgl_lahir date,Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media23
  • 24. Halaman :-> alamat varchar(50));mysql> create table buku(-> no_inventaris varchar(10)primary key,-> judul_inventaris varchar(70),-> pengarang varchar(30),-> penerbit varchar(20),-> jml_halaman char(4),-> isbn varchar(20),-> thn_terbit year);mysql> create table peminjaman(-> no_inventaris varchar(10),-> no_anggota varchar(8),-> nip varchar(8),-> tgl_pinjam date,-> tgl_kembali date,-> foreign key(no_inventaris) references buku(no_inventaris) on delete cascade on update cascade,-> foreign key(no_anggota) references anggota(no_anggota) on delete cascade on update cascade,-> foreign key(nip) references petugas(nip) on delete cascade on update cascade);mysql> create table admin(-> id_admin varchar(20),-> password varchar(20));Membuat aplikasi Simple Simpus di Delphi :1. Membuat Form UtamaSilahkan buat Form aplikasi baru dengan cara pilih menu file->New->Aplication sehingga akan ditampilkan form baru. Silahkantambahkan component ZConennection, 5 component ZQuery dari pallete Zeos Access seperti ditampilkan pada gambar :Gb. Tampilan Tab Component Palette Zeos Access.Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media24
  • 25. Halaman :Gb. Tampilan Form UtamaTambahkan juga component MainMenu dari tab palete Standard dan component Image dari tab palete additional dan aturpropertiesnya masing-masing sbb :Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 AlignBorderStyleCaptionPositionNamealClientbsSingle::[ Simple Simpus ]::poScreenCenterfrmUtamaZConection1 : TZConnection DatabaseHostNameProtocolUserNameConectedsimple_simpuslocalhostmysqlrootZConnectionSimpleSimpusTrueZQuery1 : TZQuery ConnectionNameSQLActiveZConnectionSimpleSimpusZQueryPetugasKlik pada elipses dan masukkan perintahselect * from petugasTrueZQuery2 : TZQuery ConnectionNameSQLActiveZConnectionSimpleSimpusZQueryAnggotaKlik pada elipses dan masukkan perintahselect * from anggotaTrueZQuery3 : TZQuery ConnectionNameSQLActiveZConnectionSimpleSimpusZQueryBukuKlik pada elipses dan masukkan perintahselect * from bukuTrueZQuery4 : TZQuery ConnectionNameSQLActiveZConnectionSimpleSimpusZQueryPeminjamanKlik pada elipses dan masukkan perintahselect * from peminjamanTrueZQuery5 : TZQuery ConnectionNameSQLActiveZConnectionSimpleSimpusZQueryAdminKlik pada elipses dan masukkan perintahselect * from adminTrueMainMenu1 : TMainMenu Items Klik tombol elipses dan buatlah Menudengan mengisi properties captionnya :Aplikasi – About Program– LoginFile – Petugas– Anggota– Buku– AdminTransaksi – SirkulasiKeluarImage1 StretchAlignPictureTruealClientklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundGambar MainMenu yang tadi diisi captionnya :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media25
  • 26. Halaman :Silahkan simpan dengan nama UUtama.pas untuk file pasnya dan Simple_simpus.dpr untuk file dprnya. Klik pada masing2ZQuery dua kali kemudian ketika muncul jendela dialog silahkan klik kanan dan pilih Add all fields.2. Membuat Form PetugasSilahkan pilih menu File->New ->Form, Jangan sampai salah yaaaa. Tambahkan 3 Component Panel dari tab paletestandard. dana. Pada panel No 3 tambahkan 8 Component BitButton dari tab palete additional, 3 Component Label dan 1 component editdari tab palete standard.b. Pada panel No 2 tambahkan 4 Component Edit, 1 Component Memo dari tab palete standard, dan 1 componentDateTimePicker dari tab palete win32.Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tab palete DataAcces, 2Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBar dari tab palete 32, 1Component DBGrid dari tab panel DataControlAtur tampilannya seperti gambar berikut :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media26
  • 27. Halaman :Jika sudah, pilih menu file->Use Unit. Ketika muncul kotak dialog pilihan unit, pilih UUtama. Kemudian atur juga propertisnyamasing-masing componentnya sbb:Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 AlignBorderStyleCaptionPositionNamealRightbsSingle::[ Data Petugas ]::poScreenCenterfrmPetugasPanel1 : TPanel CaptionBevellInnerBevellOuterAlignColor:: DATA PETUGAS ::bvRaisedbvLoweredalTop$00E7E7E7Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor(Kosongkan)bvRaisedbvLoweredalTop$00E7E7E7ZQuery1 : TZQuery ConnectionSQLfrmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintahselect * from petugasDataSource1:TDataSource DataSet frmUtama.ZQueryPetugasPanel3 : TPanel CaptionBevellInnerBevellOuterAlignColor(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7StatusBar1 : TStatusBar AlignColoralBottom$00E7E7E7BitButton1 : TBitBtn CaptionLayoutGlypName&SimpanblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnSimpanBitButton2 : TBitBtn CaptionLayoutGlypName&BatalblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnBatalBitButton3 : TBitBtn CaptionLayoutGlypName&EditblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnEditBitButton4 : TBitBtn CaptionLayoutGlypName&HapusblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnHapusBitButton5 : TBitBtn CaptionLayoutGlyp&Show AllblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media27
  • 28. Halaman :Namedijadikan backgroundBtnShowAllBitButton6 : TBitBtn CaptionLayoutGlypName&CetakblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnCetakBitButton7 : TBitBtn CaptionLayoutGlypName(kosongkan)blGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnCariBitButton8 : TBitBtn CaptionLayoutGlypName&KeluarblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan background.BtnKeluarDBNavigator1 : TDBNavigator DataSourceVisibleButtonsALignDataSource1Klik tombol + yang ada disiampingVisibleButtons dan atur tombol2 navigatoryang mau ditampilkan seperti pada gambaralBottomDBGrid1 : TDBGrid1 AlignDataSourcePopupMenualClientDataSource1PopupMenu2Edit1 (dipanel 2) : TEdit NameTextedNIP(kosongkan)Edit2 (dipanel 2) : TEdit NameTextedNama(kosongkan)Edit3(dipanel 2) : TEdit NameTextedTmp(kosongkan)Edit4(dipanel 2) : TEdit NameTextedSandi(kosongkan)PopupMenu1 :TPopupMenu Items klik pada elipses dan isi captiondengan -------- ^_ ^ -----------PopupMenu2 :TPopupMenu Items klik pada elipses dan isi capiondengan Simpan, Batal, Edit, Hapus, ShowAll, Cetak, KeluarDateTimePicker1:TDateTimePicker Name DTPTglLahirEdit5 (dipanel 3) NameTextedKeyWord(kosongkan)Klik dua kali pada ZQuery1 kemudian ketika muncul jendela dialog silahkan klik kanan dan pilih Add all fields.Mengisikan Perintah program :1. Klik pada edNip, kemudian pada Object inspector klik tab Event. Pilih OnKeyPress dengan mengeklik dua kali dan isikan diantara begin dan end kode :if (Key=chr(13)) then edNama.SetFocus //artinya jika dienter maka cursor akan terfokus pada edNamaelseif not(key in[0..9,Chr(8)]) then key:=#0 //artinya membatasi imput keyboardbaris kode diatas digunakan untuk membatasi input keyboard yaitu hanya bisa dimasukkan angka 0 sampai 9 saja untuk kodelengkapnya :procedure TfrmPetugas.edNipKeyPress(Sender: TObject; var Key: Char);beginif (Key=chr(13)) then edNama.SetFocuselseif not(key in[0..9,Chr(8)]) then key:=#0end;2. Klik pada Tombol BtnBatal dua kali, isikan diantara begin dan end kode :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media28
  • 29. Halaman :edNip.Clear; //artinya teks pada edNip akan jadi kosong dikarenakan ada perintah clearedNama.Clear;edTmpLahir.Clear;mmAlamat.Clear;edSandi.Clear;edNip.SetFocus;3. Klik pada Tombol BtnSimpan dua kali, isikan diantara begin dan end kode :if(Trim(edNip.Text)=)or(Trim(edNama.Text)=)or(Trim(edTmpLahir.Text)=)or(Trim(mmAlamat.Text)=)or(Trim(edSandi.Text)=)then//artinya jika ada field yg kosong maka akan keluar konfirmasibeginMessageDlg(Maaf, Semua field harus isi...!!!,mtInformation,[mbOK],0);edNip.SetFocus;endelsebeginZQuery1.Close;ZQuery1.SQL.Clear;ZQuery1.SQL.Add(select * from petugas where nip="+edNip.Text+");//menyeleksi apa ada nip yg samaZQuery1.Open;if not(ZQuery1.IsEmpty) then//jika ada nip sama maka data tak bisa disimpan dan keluar konfirmasibeginMessageDlg(Maaf, NIP "+ZQuery1nip.Value+" sudah dipakai sebelumnya untuk petugas dengan nama"+ZQuery1nama_petugas.Value+". Silahkan anda ganti dengan NIP lain..!!!,mtInformation,[mbOK],0);edNip.Clear;edNip.SetFocus;endelseif (ZQuery1.IsEmpty) then//jika tidak ada nip yg sama maka data akan disimpanbeginZQuery1.Insert;//insert merupakan perintah untuk menyisipkan satu baris dataZQuery1nip.Value:=edNip.Text;ZQuery1nama_petugas.Value:=edNama.Text;ZQuery1tmp_lahir.Value:=edTmpLahir.Text;ZQuery1tgl_lahir.Value:=DTPTglLahir.Date;ZQuery1alamat.Value:=UpperCase(mmAlamat.Text);ZQuery1sandi.Value:=edSandi.Text;ZQuery1.Post;//post merupakan perintah untuk menyimpan satu baris data yang disisipkanfrmUtama.ZQueryPetugas.Refresh;BtnBatalClick(Sender);endend4. Klik pada Tombol btnEdit dua kali, isikan diantara begin dan end kode :if(Trim(edNip.Text)=)or(Trim(edNama.Text)=)or(Trim(edTmpLahir.Text)=)or(Trim(mmAlamat.Text)=)or(Trim(edSandi.Text)=)thenbeginMessageDlg(Maaf, Semua field harus isi...!!!,mtInformation,[mbOK],0);edNip.SetFocus;endelsebeginZQuery1.Close;ZQuery1.SQL.Clear;ZQuery1.SQL.Add(select * from petugas where nip="+edNip.Text+");ZQuery1.Open;if (ZQuery1.IsEmpty) thenbeginMessageDlg(Maaf, Petugas dengan NIP "+edNip.Text+" tidak ditemukan. Kemungkinan data petugas dengan NIPtersebut belum pernah dimasukkan sebelumnya atau sudah terhapus..!!!,mtInformation,[mbOK],0);edNip.Clear;edNip.SetFocus;endelseif not(ZQuery1.IsEmpty) thenbeginZQuery1.Edit;ZQuery1nip.Value:=edNip.Text;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media29
  • 30. Halaman :ZQuery1nama_petugas.Value:=edNama.Text;ZQuery1tmp_lahir.Value:=edTmpLahir.Text;ZQuery1tgl_lahir.Value:=DTPTglLahir.Date;ZQuery1alamat.Value:=UpperCase(mmAlamat.Text);ZQuery1sandi.Value:=edSandi.Text;ZQuery1.Post;frmUtama.ZQueryPetugas.Refresh;BtnBatalClick(Sender);endend5. Klik pada Tombol btnHapus dua kali, isikan diantara begin dan end kode :if(frmUtama.ZQueryPetugas.RecordCount=0)then//Melakukan pengecekkan jika terjadi kekosongan databeginMessageDlg(Maaf data petugas sudah habis. Tidak ada data yang bisa anda hapus...!!,mtInformation,[mbOK],0);edNip.SetFocus;endelseif(MessageDlg(Yakin data petugas dengan NIP "+frmUtama.ZQueryPetugasnip.Value+" maudihapus.. ???,mtConfirmation,[mbYes,mbNo],0)=mrYes)then//melakukan konfirmasi penghapusan databeginfrmUtama.ZQueryPetugas.Delete;end;6. Klik pada Tombol btnKeluar, isikan diantara begin dan end kode :Close;7. Klik pada Tombol btnShowAll, isikan diantara begin dan end kode :frmUtama.ZQueryPetugas.Close;frmUtama.ZQueryPetugas.SQL.Clear;frmUtama.ZQueryPetugas.SQL.Add(select * from petugas);frmUtama.ZQueryPetugas.Open;8. Klik pada Tombol btnCari dua kali, isikan diantara begin dan end kode :frmUtama.ZQueryPetugas.Close;frmUtama.ZQueryPetugas.SQL.Clear;frmUtama.ZQueryPetugas.SQL.Add(select * from petugas where nip like "%+Trim(edKeyword.Text)+%" ornama_petugas like "%+Trim(edKeyword.Text)+%" or tmp_lahir like "%+Trim(edKeyword.Text)+%" or tgl_lahir like"%+Trim(edKeyword.Text)+%" or alamat like "%+Trim(edKeyword.Text)+%");frmUtama.ZQueryPetugas.Open;jangan lupa simpan dulu dengan nama UPetugas…, jika sudah silahkan kembali ke frmUtama kemudian pilih File -> Use unit danpilih UPetugas. Selanjutnya pada form utama klik menu dan pilih menu petugas kemudian klik dua kali dan masukkan perintah :frmPetugas.ShowModal;Silahkan tekan F9 untuk melihat hasilnya dan pastikan form petugas tampil ketika anda pilih menu petugas3. Membuat Form AnggotaSilahkan pilih menu File->New ->Form, Jangan sampai salah yaaaa. Dalam pembuatan form ini hampir sama sepertiform sebelumnya. Hanya saja perlu pengeditan beberapa hal. Tambahkan 3 Component Panel dari tab palete standard. dana. Pada panel No 3 tambahkan 8 Component BitButton dari tab palete additional, 3 Component Label dan 1 component editdari tab palete standard.b. Pada panel No 2 tambahkan 4 Component Edit, 1 Component Memo dari tab palete standard, dan 3 componentDateTimePicker dari tab palete win32.Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tab palete DataAcces, 2Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBar dari tab palete 32, 1Component DBGrid dari tab panel DataControlAtur tampilannya seperti gambar berikut :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media30
  • 31. Halaman :Jika sudah, pilih menu file->Use Unit. Ketika muncul kotak dialog pilihan unit, pilih UUtama. Kemudian atur juga propertisnyamasing-masing componentnya sbb:Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 AlignBorderStyleCaptionPositionNamealRightbsSingle::[ Data Anggota]::poScreenCenterfrmAnggotaPanel1 : TPanel CaptionBevellInnerBevellOuterAlignColor:: DATA ANGGOTA ::bvRaisedbvLoweredalTop$00E7E7E7Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor(Kosongkan)bvRaisedbvLoweredalTop$00E7E7E7ZQuery1 : TZQuery ConnectionSQLfrmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintahselect * from anggotaDataSource1:TDataSource DataSet frmUtama.ZQueryAnggotaPanel3 : TPanel CaptionBevellInnerBevellOuterAlignColor(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7StatusBar1 : TStatusBar Align alBottomModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media31
  • 32. Halaman :Color $00E7E7E7BitButton1 : TBitBtn CaptionLayoutGlypName&SimpanblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnSimpanBitButton2 : TBitBtn CaptionLayoutGlypName&BatalblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnBatalBitButton3 : TBitBtn CaptionLayoutGlypName&EditblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnEditBitButton4 : TBitBtn CaptionLayoutGlypName&HapusblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnHapusBitButton5 : TBitBtn CaptionLayoutGlypName&Show AllblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnShowAllBitButton6 : TBitBtn CaptionLayoutGlypName&CetakblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnCetakBitButton7 : TBitBtn CaptionLayoutGlypName(kosongkan)blGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnCariBitButton8 : TBitBtn CaptionLayoutGlypName&KeluarblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan background.BtnKeluarDBNavigator1 : TDBNavigator DataSourceVisibleButtonsALignDataSource1Klik tombol + yang ada disiampingVisibleButtons dan atur tombol2 navigatoryang mau ditampilkan seperti pada gambaralBottomDBGrid1 : TDBGrid1 AlignDataSourcealClientDataSource1Edit1 (dipanel 2) : TEdit NameTextedNoAnggota(kosongkan)Edit2 (dipanel 2) : TEdit NameTextedNama(kosongkan)Edit3(dipanel 2) : TEdit NameTextedTmp(kosongkan)Edit4(dipanel 2) : TEdit NameTextedSandi(kosongkan)PopupMenu1 :TPopupMenu Items klik pada elipses dan isi captiondengan -------- ^_ ^ -----------PopupMenu2 :TPopupMenu Items klik pada elipses dan isi capiondengan Simpan, Batal, Edit, Hapus, ShowAll, Cetak, KeluarModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media32
  • 33. Halaman :DateTimePicker1:TDateTimePicker Name DTPTglLahirEdit5 (dipanel 3) NameTextedKeyWord(kosongkan)DateTimePicker2:TDateTimePicker Name DTPTglGabungDateTimePicker3:TDateTimePicker Name DTPTglKadaluarsaMemo1 Name mmAlamatKlik dua kali pada ZQuery1 kemudian ketika muncul jendela dialog silahkan klik kanan dan pilih Add all fields.Mengisikan baris kode :1. Klik pada Tombol btnBAtal dua kali, isikan diantara begin dan end kode :edNoA.Clear;edNama.Clear;edTmpLahir.Clear;mmAlamat.Clear;edNoTelp.Clear;edNoA.SetFocus;2. Klik pada Tombol btnSimpan dua kali, isikan diantara begin dan end kode :if(Trim(edNoA.Text)=)or(Trim(edNama.Text)=)or(Trim(edTmpLahir.Text)=)or(Trim(mmAlamat.Text)=)or(Trim(edNoTelp.Text)=)thenbeginMessageDlg(Maaf, Semua field harus isi...!!!,mtInformation,[mbOK],0);edNoA.SetFocus;endelsebeginZQuery1.Close;ZQuery1.SQL.Clear;ZQuery1.SQL.Add(select * from anggota where no_anggota="+edNoA.Text+");ZQuery1.Open;if not(ZQuery1.IsEmpty) thenbeginMessageDlg(Maaf, No.Anggota "+ZQuery1no_anggota.Value+" sudah dipakai sebelumnya untuk petugas dengannama "+ZQuery1nama_anggota.Value+". Silahkan anda ganti dengan No.Anggota lain..!!!,mtInformation,[mbOK],0);edNoA.Clear;edNoA.SetFocus;endelseif (ZQuery1.IsEmpty) thenbeginZQuery1.Insert;ZQuery1no_anggota.Value:=edNoA.Text;ZQuery1nama_anggota.Value:=edNama.Text;ZQuery1tmp_lahir.Value:=edTmpLahir.Text;ZQuery1tgl_lahir.Value:=DTPTglLahir.Date;ZQuery1alamat.Value:=UpperCase(mmAlamat.Text);ZQuery1tgl_gabung.Value:=DTPTglGabung.Date;ZQuery1tgl_habis_anggota.Value:=DTPTglKadaluarsa.Date;ZQuery1no_telp.Value:=edNoTelp.Text;ZQuery1.Post;frmUtama.ZQueryAnggota.Refresh;BtnBatalClick(Sender);endend3. Klik pada Tombol btnEdit dua kali, isikan diantara begin dan end kode :if(Trim(edNoA.Text)=)or(Trim(edNama.Text)=)or(Trim(edTmpLahir.Text)=)or(Trim(mmAlamat.Text)=)or(Trim(edNoTelp.Text)=)thenbeginMessageDlg(Maaf, Semua field harus isi...!!!,mtInformation,[mbOK],0);edNoA.SetFocus;endelsebeginZQuery1.Close;ZQuery1.SQL.Clear;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media33
  • 34. Halaman :ZQuery1.SQL.Add(select * from anggota where no_anggota="+edNoA.Text+");ZQuery1.Open;if (ZQuery1.IsEmpty) thenbeginMessageDlg(Maaf, Anggota dengan No.Anggota "+edNoA.Text+" tidak ditemukan. Kemungkinan data anggotadengan No.Anggota tersebut belum pernah dimasukkan sebelumnya atau sudah terhapus..!!!,mtInformation,[mbOK],0);edNoA.Clear;edNoA.SetFocus;endelseif not(ZQuery1.IsEmpty) thenbeginZQuery1.Edit;ZQuery1no_anggota.Value:=edNoA.Text;ZQuery1nama_anggota.Value:=edNama.Text;ZQuery1tmp_lahir.Value:=edTmpLahir.Text;ZQuery1tgl_lahir.Value:=DTPTglLahir.Date;ZQuery1alamat.Value:=UpperCase(mmAlamat.Text);ZQuery1tgl_gabung.Value:=DTPTglGabung.Date;ZQuery1tgl_habis_anggota.Value:=DTPTglKadaluarsa.Date;ZQuery1no_telp.Value:=edNoTelp.Text;ZQuery1.Post;frmUtama.ZQueryAnggota.Refresh;BtnBatalClick(Sender);endend4. Klik pada Tombol btnHapus dua kali, isikan diantara begin dan end kode :if(frmUtama.ZQueryAnggota.RecordCount=0)thenbeginMessageDlg(Maaf data anggota sudah habis. Tidak ada data yang bisa anda hapus...!!,mtInformation,[mbOK],0);edNoA.SetFocus;endelseif(MessageDlg(Yakin data anggota dengan No.Anggota "+frmUtama.ZQueryAnggotano_anggota.Value+" maudihapus.. ???,mtConfirmation,[mbYes,mbNo],0)=mrYes)thenbeginfrmUtama.ZQueryAnggota.Delete;end;5. Klik pada Tombol btnKeluar dua kali, isikan diantara begin dan end kode :close;6. Klik pada Tombol btnCari dua kali, isikan diantara begin dan end kode :frmUtama.ZQueryAnggota.Close;frmUtama.ZQueryAnggota.SQL.Clear;frmUtama.ZQueryAnggota.SQL.Add(select * from anggota where no_anggota like "%+Trim(edKeyword.Text)+%" ornama_anggota like "%+Trim(edKeyword.Text)+%" or tmp_lahir like "%+Trim(edKeyword.Text)+%" or tgl_lahir like"%+Trim(edKeyword.Text)+%" or alamat like "%+Trim(edKeyword.Text)+%" or tgl_gabung like"%+Trim(edKeyword.Text)+%" or tgl_habis_anggota like "%+Trim(edKeyword.Text)+%" or no_telp like"%+Trim(edKeyword.Text)+%");frmUtama.ZQueryAnggota.Open;Label15.Caption:=IntToStr(frmUtama.ZQueryAnggota.RecordCount);7. Klik pada Tombol btnShowAll, isikan diantara begin dan end kode :frmUtama.ZQueryPetugas.Close;frmUtama.ZQueryPetugas.SQL.Clear;frmUtama.ZQueryPetugas.SQL.Add(select * from anggota);frmUtama.ZQueryPetugas.Open;jangan lupa simpan dulu dengan nama UAnggota…, jika sudah silahkan kembali ke frmUtama kemudian pilih File -> Use unit danpilih UAnggota. Selanjutnya pada form utama klik menu dan pilih menu petugas kemudian klik dua kali dan masukkan perintah :frmAnggota.ShowModal;Silahkan tekan F9 untuk melihat hasilnya dan pastikan form Anggota tampil ketika anda pilih menu petugas. Untuk yang formbuku silahkan anda coba sendiri seperti dua contoh form diatas karena untuk algoritma hamper sama, untuk selanjutnya langsungaja ke form peminjaman dan pengembalian bukuModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media34
  • 35. Halaman :4. Membuat Form PeminjamanSilahkan pilih menu File->New ->Form, Jangan sampai salah yaaaa. Dalam pembuatan form ini hampir sama sepertiform sebelumnya. Hanya saja perlu pengeditan beberapa hal. Silahkan tambahkan 2 Component Panel dari tab palete standard.Pada panel No 2 tambahkan 6 Component BitButton dari tab palete additional, 3 Component Label dan 1 component edit daritab palete standard. Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tabpalete DataAcces, 2 Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBardari tab palete 32, 1 Component DBGrid dari tab panel DataControl. Atur tampilannya seperti gambar berikut:Jika sudah, pilih menu file->Use Unit. Ketika muncul kotak dialog pilihan unit, pilih UUtama. Kemudian atur juga propertisnyamasing-masing componentnya sbb:Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 AlignBorderStyleCaptionPositionNamealRightbsSingle::[ Data Peminjaman ]::poScreenCenterfrmPeminjamanPanel1 : TPanel CaptionBevellInnerBevellOuterAlignColor:: DATA PEMINJAMAN ::bvRaisedbvLoweredalTop$00E7E7E7Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7ZQuery1 : TZQuery ConnectionSQLfrmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintah selectpeminjaman.no_inventaris,buku.judul_inventaris,peminjaman.no_anggota,anggota.nama_anggota,peminjaman.nip,petugas.nama_petugas,peminjaman.tgl_pinjam,peminjaman.tgl_kembalifrom buku,peminjaman,anggota,petugaswherepeminjaman.no_inventaris=buku.no_inventarisandpeminjaman.no_anggota=anggota.no_anggotaModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media35
  • 36. Halaman :andpeminjaman.nip=petugas.nipDataSource1: TDataSource DataSet ZQuery1StatusBar1 : TStatusBar AlignColoralBottom$00E7E7E7BitButton1 : TBitBtn CaptionLayoutGlypName&PinjamblGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan backgroundBtnPinjamBitButton2 : TBitBtn CaptionLayoutGlypName&KembaliblGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan backgroundBtnKembaliBitButton3 : TBitBtn CaptionLayoutGlypName&Show AllblGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan backgroundBtnShowAllBitButton4 : TBitBtn CaptionLayoutGlypName&CetakblGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan backgroundBtnCetakBitButton5 : TBitBtn CaptionLayoutGlypName(kosongkan)blGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan backgroundBtnCariBitButton6 : TBitBtn CaptionLayoutGlypName&KeluarblGlyphTopklik pada elipses dan pilih gambar yang adapada computer anda untuk dijadikan background.BtnKeluarDBNavigator1 : TDBNavigator DataSourceVisibleButtonsALignDataSource1Klik tombol + yang ada disiamping VisibleButtonsdan atur tombol2 navigator yang mau ditampilkanseperti pada gambaralBottomDBGrid1 : TDBGrid1 AlignDataSourcealClientDataSource1PopupMenu1 :TPopupMenu Items klik pada elipses dan isi caption dengan --------^_ ^ -----------PopupMenu2 :TPopupMenu Items klik pada elipses dan isi caption denganPinjam,Kembali,Show All, Cetak KeluarEdit1 (dipanel 2) NameTextedKeyWord(kosongkan)Klik dua kali pada ZQuery1 kemudian ketika muncul jendela dialog silahkan klik kanan dan pilih Add all fields. Kemudian buatlagi form baru untuk menginputkan data peminjaman dengan tampilan :Simpan dengan nama UInputAnggota dan atur propertiesnya masing2 :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media36
  • 37. Halaman :Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 AlignBorderStyleCaptionPositionNamealNonebsSingle::[ Input Peminjaman ]::poScreenCenterfrmInputPinjamComboBox1 : TComboBox NameTextcmbInv(kosongkan)ComboBox2 : TComboBox NameTextcmbPeminjam(kosongkan)ComboBox3 : TComboBox NameTextcmbPetugas(kosongkan)BitButton1 : TBitBtn CaptionLayoutGlypNameModalResult&SimpanblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnSimpanmrYesBitButton2 : TBitBtn CaptionLayoutGlypName&BatalblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnBatalBitButton1 : TBitBtn CaptionLayoutGlypName&KeluarblGlyphTopklik pada elipses dan pilih gambaryang ada pada computer anda untukdijadikan backgroundBtnKeluarEdit1 : TEdit NameTextColorReadOnlyedInventaris(kosongkan)clSilverTrueEdit2 : TEdit NameTextColorReadOnlyedPeminjam(kosongkan)clSilverTrueEdit3 : TEdit NameTextColorReadOnlyedTgl(kosongkan)clSilverTrueEdit4 : TEdit NameTextColorReadOnlyedPetugas(kosongkan)clSilverTRueMengisikan baris kode :1. Klik pada Object TreeView, Pilih frmInputPinjam kemudian pada Object Inspector pilih tab Events kemudian klik dua kali padaOnActive. Masukkan code diantara begin dan end :frmUtama.FormActivate(sender);frmPeminjaman.ZQuery1.Active:=true;edTgl.Text:=DateToStr(now);2. Klik pada Tombol btnBatal dua kali, isikan diantara begin dan end kode :if(cmbInv.Enabled=true)thenbegincmbInv.Text:=;cmbPeminjam.Text:=;cmbPetugas.Text:=;edInventaris.Clear;edPeminjam.Clear;edPetugas.Clear;endModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media37
  • 38. Halaman :elseif(cmbInv.Enabled=false)then close;3. Klik pada Tombol btnKeluar dua kali, isikan diantara begin dan end kode :close;4. Membuat Procedure load :Masukkan diatas code program private baris code procedure load seperti ditampilkan pada gambarKemudian masukkan procedure load diantara procedure yang lain :procedure TfrmInputPinjam.load;vari:integer;begincmbPetugas.Clear;frmPetugas.tampil();for i:=1 to frmUtama.ZQueryPetugas.RecordCount dobegincmbPetugas.Items.Add(frmUtama.ZQueryPetugasnip.Value);frmUtama.ZQueryPetugas.Next;end;frmAnggota.tampil();cmbPeminjam.Clear;for i:=1 to frmUtama.ZQueryAnggota.RecordCount dobegincmbPeminjam.Items.Add(frmUtama.ZQueryAnggotano_anggota.Value);frmUtama.ZQueryAnggota.Next;end;frmBuku.tampil();cmbInv.Clear;for i:=1 to frmUtama.ZQueryBuku.RecordCount dobegincmbInv.Items.Add(frmUtama.ZQueryBukuno_inventaris.Value);frmUtama.ZQueryBuku.Next;end;end;Seperti ditunjukkan pada gambar :Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media38
  • 39. Halaman :Silahkan simpan dengan nama UInputPinjam, Kemudian silahkan kembali ke frmPeminjaman dan pilih Menu File->Use Unit->Pilih UInput PinjamMemasukkan Kode di frmPeminjaman :1. Klik pada Tombol btnPinjam dua kali, isikan diantara begin dan end kode :frmInputPinjam.load;frmInputPinjam.cmbInv.Text:=;frmInputPinjam.cmbInv.Enabled:=true;frmInputPinjam.cmbInv.Color:=clWindow;frmInputPinjam.cmbInv.Font.Color:=clGreen;frmInputPinjam.edInventaris.Clear;frmInputPinjam.cmbPeminjam.Text:=;frmInputPinjam.cmbPeminjam.Enabled:=true;frmInputPinjam.cmbPeminjam.Color:=clWindow;frmInputPinjam.cmbPeminjam.Font.Color:=clGreen;frmInputPinjam.edPeminjam.Clear;frmInputPinjam.cmbPetugas.Text:=;frmInputPinjam.cmbPetugas.Enabled:=true;frmInputPinjam.cmbPetugas.Color:=clWindow;frmInputPinjam.cmbPetugas.Font.Color:=clGreen;frmInputPinjam.edPetugas.Clear;frmInputPinjam.Caption:=::[ Input Peminjaman ]::;frmInputPinjam.Panel2.Caption:=:: INPUT PEMINJAMAN ::;frmInputPinjam.Label2.Caption:=Tgl.Pinjam :;frmInputPinjam.Label2.Left:=44;frmInputPinjam.ShowModal;if(frmInputPinjam.ModalResult=mrYes)thenbeginif(Trim(frmInputPinjam.edInventaris.Text)=)or(Trim(frmInputPinjam.edPeminjam.Text)=)or(Trim(frmInputPinjam.edPetugas.Text)=)thenbeginMessageDlg(Maaf, Semua field harus terisi. Jika pada Fild-field data ada yang kosong kemungkinan ada yang salahpada inputan di combo...!!,mtInformation,[mbOK],0);endelsebeginfrmUtama.ZQueryPeminjaman.Close;frmUtama.ZQueryPeminjaman.SQL.Clear;Modul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media39
  • 40. Halaman :frmUtama.ZQueryPeminjaman.SQL.Add(select * from peminjaman whereno_inventaris="+frmInputPinjam.cmbInv.Text+");frmUtama.ZQueryPeminjaman.Open;if not(frmUtama.ZQueryPeminjaman.IsEmpty)thenbeginMessageDlg(Maaf, Buku dengan No.Inventaris "+frmUtama.ZQueryPeminjamanno_inventaris.Value+" sedangdipinjam sejak tanggal "+frmUtama.ZQueryPeminjamantgl_pinjam.AsString+" dan belum kembali...!!!,mtInformation,[mbOK],0);endelseif(frmUtama.ZQueryPeminjaman.IsEmpty)thenbeginfrmUtama.ZQueryPeminjaman.Insert;frmUtama.ZQueryPeminjamanno_inventaris.Value:=frmInputPinjam.cmbInv.Text;frmUtama.ZQueryPeminjamanno_anggota.Value:=frmInputPinjam.cmbPeminjam.Text;frmUtama.ZQueryPeminjamannip.Value:=frmInputPinjam.cmbPetugas.Text;frmUtama.ZQueryPeminjamantgl_pinjam.Value:=now;frmUtama.ZQueryPeminjaman.Post;frmInputPinjam.BtnBatalClick(sender);ZQuery1.Refresh;end;end;end;2. Klik pada Tombol btnKembali dua kali, isikan diantara begin dan end kode :if(ZQuery1.RecordCount=0)thenbeginMessageDlg(Maaf, Data peminjaman sudah kosong. Tidak ada inventaris yang bisa dikembalikan,mtInformation,[mbOK],0);endelsebeginfrmInputPinjam.load;frmInputPinjam.cmbInv.Text:=ZQuery1no_inventaris.Value;frmInputPinjam.cmbInv.Enabled:=false;frmInputPinjam.cmbInv.Color:=clSilver;frmInputPinjam.cmbInv.Font.Color:=clWhite;frmInputPinjam.edInventaris.Text:=ZQuery1judul_inventaris.Value;frmInputPinjam.cmbPeminjam.Text:=ZQuery1no_anggota.Value;frmInputPinjam.cmbPeminjam.Enabled:=false;frmInputPinjam.cmbPeminjam.Color:=clSilver;frmInputPinjam.cmbPeminjam.Font.Color:=clWhite;frmInputPinjam.edPeminjam.Text:=ZQuery1nama_anggota.Value;frmInputPinjam.cmbPetugas.Text:=ZQuery1nip.Value;frmInputPinjam.cmbPetugas.Enabled:=false;frmInputPinjam.cmbPetugas.Color:=clSilver;frmInputPinjam.cmbPetugas.Font.Color:=clWhite;frmInputPinjam.edPetugas.Text:=ZQuery1nama_petugas.Value;frmInputPinjam.Caption:=::[ Input Pengembalian ]::;frmInputPinjam.Panel2.Caption:=:: INPUT PENGEMBALIAN ::;frmInputPinjam.Label2.Caption:=Tgl.Kembali :;frmInputPinjam.Label2.Left:=39;frmInputPinjam.ShowModal;if(frmInputPinjam.ModalResult=mrYes)thenbeginif(Trim(frmInputPinjam.edInventaris.Text)=)or(Trim(frmInputPinjam.edPeminjam.Text)=)or(Trim(frmInputPinjam.edPetugas.Text)=)thenbeginMessageDlg(Maaf, Semua field harus terisi. Jika pada Fild-field data ada yang kosong kemungkinan ada yang salahpada inputan di combo...!!,mtInformation,[mbOK],0);endelsebeginfrmUtama.ZQueryPeminjaman.Close;frmUtama.ZQueryPeminjaman.SQL.Clear;frmUtama.ZQueryPeminjaman.SQL.Add(select * from peminjaman whereno_inventaris="+frmInputPinjam.cmbInv.Text+");frmUtama.ZQueryPeminjaman.Open;if (frmUtama.ZQueryPeminjaman.IsEmpty)thenbeginModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media40
  • 41. Halaman :MessageDlg(Maaf, Buku dengan No.Inventaris "+frmUtama.ZQueryPeminjamanno_inventaris.Value+" sedangsedang dipinjam sejak tanggal "+frmUtama.ZQueryPeminjamantgl_pinjam.AsString+" dan belum kembali...!!!,mtInformation,[mbOK],0);endelseif not(frmUtama.ZQueryPeminjaman.IsEmpty)thenbeginfrmUtama.ZQueryPeminjaman.Delete;ZQuery1.Refresh;end;end;end;end;3. Klik pada Tombol btnKeluar dua kali, isikan diantara begin dan end kode :closeModul Delphi , disempurnakan akhi_tangguh@yahoo.com. Khanza.Soft Media41