Modul Delphi ,buat pemula

41
Halaman : MODUL I APLIKASI DASAR Bahasan: Dasar-Dasar Pemograman Delphi Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Sederhana Menggunakan Delphi A. MENGENAL DELPHI Delphi merupakan sebuah program berbasiskan windows yang memiliki bahasa mirip dengan pascal. Jadi bila anda telah menguasai pascal barangkali tidak akan kesulitan dalam menggunakan program ini. Perbedaan mendasar antara delphi dengan pascal adalah bahwa delphi memiliki oop (object orientation program) atau program yang berorientasi ke objek. Dengan demikian delphi lebih mudah digunakan dibandingkan dengan pascal, karena anda hanya tinggal mengatur properti atau sifat dari objek dan menambahkan sedikit pengkodean. Untuk menjalankan: 1. Klik tombol Start, pilih menu Programs Borland Dephi 7 Delphi 7 2. Tunggu hingga program delphi aktif 3. Perhatikan komponen yang ada, diantaranya component pallete (berisi sekumpulan objek yang akan kita gunakan dalam pembuatan proram) dan object inspector (berisi daftar property atau sifat dari objek yang aktif yang dapat kita ubah sesuai dengan kebutuhan dalam program kita). Kedua objek ini merupakan komponen yang paling sering dipakai dalam pembuatan program visual. Gambar 1.1.Toolbar Component Pallete. Gambar 1.2. Object Inspector B. KONSEP DASAR Didalam delphi ada beberapa pengertian yang memerlukan penjelasan untuk memahami bagaimana dan apa saja komponen yang ada dalam delphi, adapun diantaranya adalah: - PROJECT Project delphi adalah sekumpulan file yang akan membangun aplikasi atau library yang dapat disebarkan kepada pemrogram lain. Pada saat memulai delphi, delphi akan membuat sebuah project baru. Setelah itu terserah pengguna apakah apakah 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 bahasa pascal. Tidak setiap file unit memiliki atau terhubung file .dfm File projek menggabung semua file diatas yang digunakan oleh delphi untuk melakukan kompilasi dan membuat file target (.exe atau .dll). -FORM Form merupakan tempat kita merancang program. Jika seorang pemogram diibaratkan sebagai seorang pelukis maka form inilah yang menjadi kanvasnya. Form yang dirancang dalam delphi bisa digunakan kembali oleh projek delphi yang lain. Form dapat 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. -UNIT Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media 1

description

Semua menu dan Rumus Delpi buat permula

Transcript of Modul Delphi ,buat pemula

Halaman :

MODUL IAPLIKASI DASAR

Bahasan: Dasar-Dasar Pemograman DelphiTujuan: 1. Mahasiswa Dapat Membuat Aplikasi Sederhana Menggunakan Delphi

A. MENGENAL DELPHI Delphi merupakan sebuah program berbasiskan windows yang memiliki bahasa mirip dengan pascal. Jadi bila anda telah

menguasai pascal barangkali tidak akan kesulitan dalam menggunakan program ini. Perbedaan mendasar antara delphi dengan pascal adalah bahwa delphi memiliki oop (object orientation program) atau program yang berorientasi ke objek. Dengan demikian delphi lebih mudah digunakan dibandingkan dengan pascal, karena anda hanya tinggal mengatur properti atau sifat dari 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 gunakan

dalam pembuatan proram) dan object inspector (berisi daftar property atau sifat dari objek yang aktif yang dapat kita ubah sesuai dengan kebutuhan dalam program kita). Kedua objek ini merupakan komponen yang paling sering dipakai dalam pembuatan program visual.

Gambar 1.1.Toolbar Component Pallete.

Gambar 1.2. Object Inspector

B. KONSEP DASARDidalam delphi ada beberapa pengertian yang memerlukan penjelasan untuk memahami bagaimana dan apa saja

komponen yang ada dalam delphi, adapun diantaranya adalah:

- PROJECTProject delphi adalah sekumpulan file yang akan membangun aplikasi atau library yang dapat disebarkan kepada

pemrogram lain. Pada saat memulai delphi, delphi akan membuat sebuah project baru. Setelah itu terserah pengguna apakah apakah 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 bahasa

pascal. 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 form

inilah yang menjadi kanvasnya. Form yang dirancang dalam delphi bisa digunakan kembali oleh projek delphi yang lain. Form dapat 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.

-UNIT

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

1

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 unit tersimpan dengan ekstensi pas, sedangkan yang sudah terkompilasi tersimpan dengan ekstensi .dcu. proses link akan menggabung 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 end sehingga terlihat sebagai berikut:procedure TForm1.Button1Click(Sender: TObject);begin

Close;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 [email protected]. Khanza.Soft Media

2

Halaman :

MODUL IIMENGHITUNG LUAS SEGI TIGA

Bahasan: Program Menghitung Luas Segi Tiga Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Perhitungan Dengan Delphi

A. MENDESAIN FORMUntuk membuat program menghitung luas segitiga ini, kita membutuhkan sebuah form. Namun anda juga bisa

membuatnya bersama proyek yang baru. Kemudian anda masukan beberapa komponen diantaranya Label sebanyak empat buah, 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 Caption

Font : SizeMenghitung Luas Segitiga15

Label2 : 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 Kosongkan

Jika 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 kode

kedalam 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='' THEN Begin MessageDlg('Alas masih kosong',mtInformation,[mbOK],0); edit1.setfocus;

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

3

Halaman :

End ELSE IF edit2.text='' THEN Begin MessageDlg('Tinggi masih kosong',mtInformation,[mbOK],0); edit2.setfocus; End ELSE // jika sudah : Begin alas:=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);begin Close; end;

Sehingga kode lengkapnya akan terlihat seperti dibawah ini:unit Usegi3;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = 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;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button2Click(Sender: TObject);begin close; end;

procedure TForm1.Button1Click(Sender: TObject);var alas,tinggi,luas: real;begin// cek apakah input sudah diisi ? IF edit1.text='' THEN

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

4

Halaman :

Begin MessageDlg('Alas masih kosong',mtInformation,[mbOK],0); edit1.setfocus; End ELSE IF edit2.text='' THEN Begin MessageDlg('Tinggi masih kosong',mtInformation,[mbOK],0); edit2.setfocus; End ELSE // jika sudah : Begin alas:=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 bisa

menghandlenya.- Buatlah program baru seperti diatas, misalkan untuk menghitung luas lingkaran, volume tabung, dan sebagainya.

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

5

Halaman :

MODUL IIITERBILANG

Bahasan: Penggunaan Fungsi Dalam DelphiTujuan: 1. Mahasiswa Dapat Membuat Fungsi Untuk Setiap Permasalahan Dalam Delhi

A. DESAIN FORMSekarang kita mencoba membuat sebuah aplikasi untuk menampilkan keterangan bilangan yang dimasukan. Misalkan

ketika 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 Caption

SizeTerbilang20

Label2 Caption Angka:Panel1 Caption (dikosongkan)BitBtn1 Caption

Glyph&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 tombol 3. 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 Files\Common Files\Borland Shared\

Images\Button, pada bagian Look in:6. Pilih Check.bmp7. Klik tombol Open hingga kembali kejendela semula

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

6

Halaman :

8. Klik tombol OK.

Gambar 3.3. Jendela Picture Editor Pemilihan Image

Jika langkah yang anda lakukan sudah tepat maka form anda akan terlihat seperti dibawah ini:

Gambar 3.4. Tampilan Form Setelah Perubahan

C. PENGKODEAN9. CARA SEDERHANA

Untuk 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;begin Digit1 := Edit1.Text[1]; Case Digit1 Of '0' : 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 program tersebut dengan menekan tombol F9. Kemudian anda isikan angka pada kotak isian dan klik tombol Cek.

10. DENGAN FUNGSI Cara yang lebih efektif, untuk menerjemahkan banyak angka adalah dengan membuat sebuah fungsi. Fungsi ini harus anda letakkan dibagian bawah dari Implementation.

Function TERBILANG( n : longint) : String;Const Bil : Array[0..11] Of String[15] = ('','Satu','Dua','Tiga','Empat','Lima', 'Enam','Tujuh','Delapan','Sembilan','Sepuluh','Sebelas');

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

7

Halaman :

Begin Case n Of 0..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;begin If Edit1.text<>'' Then Begin If Edit1.text='0' Then Panel1.Caption:='Nol' Else Panel1.Caption:= TERBILANG(STRtoINT(Edit1.text)); EndElse Panel1.Caption:='Kosong';end;

Berikut ini Contoh Aplikasi yang sedang di RUN.

Gambar 3.4. Contoh Form Yang Sedang Dijalankan

D. 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 [email protected]. Khanza.Soft Media

8

Halaman :

MODUL IVMENU

A. 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.2

Gambar 4.2. Penambahan Menu Berkas

5. Klik tombol kosong yang ada dibawah tulisan Berkas pada form, kemudian anda tambahkan Caption dengan &Keluar

6. Klik tanda titik-titik yang membentuk kotak kosong dengan disebelah kanan menu Berkas, kemudian anda ubah Captionnya 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 perubahan

yang terjadi.

Gambar 3.4. Tampilan Setelah Penambahan Menu

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

9

Halaman :

B. PENGKODEANTambahkan pengkodean sehingga seluruh kodenya akan terlihat seperti dibawah ini:

unit Umenu;

interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus;

type TForm1 = 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;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Keluar1Click(Sender: TObject);begin if Application.MessageBox( 'Apakah anda yakin keluar program ? ',

'Keluar Program',36) = 6 then Close;end;

procedure TForm1.Hitam1Click(Sender: TObject);begin Form1.Color := clBlack;end;

procedure TForm1.Putih1Click(Sender: TObject);begin Form1.Color := clWhite;end;

procedure TForm1.Standar1Click(Sender: TObject);begin Form1.Color := clLtGray;end;

procedure TForm1.Program1Click(Sender: TObject);begin

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

10

Halaman :

Application.MessageBox('Program Menu-Menuan v.0.1'+#13+#13+'Oleh : abu syafa', 'Tentang Program',64);end;

procedure TForm1.Tentang1Click(Sender: TObject);begin Application.MessageBox('Nama : Abu Syafa'+#13+ 'Alamat : Yogyakarta'+#13+ 'Phone : 618379 / 08562878105','Programmer...',64);

end;

end.

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

11

Halaman :

MODUL V

DATA BASE

Bahasan: Data Base Menggunakan DelphiTujuan: 1. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus Laporan

Dengan Delphi2. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan Delphi

A. MEMBUAT TABLEUntuk membuat table dengan menggunakan delphi, anda membutuhkan sebuah program bantual lain yang menjadi satu

dengan 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, silahkan

klik tombol Browse untuk mencarinya.10. Klik tombol OK, ketika muncul konfirmasi, anda pilih tombol Yes.

Gambar 6.3. Jendela Konfirmasi.

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

12

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 [email protected]. Khanza.Soft Media

13

Halaman :

Gambar 6.7. Jendela Save As19. Pada isian File name, anda isikan nama tabelnya, misalkan Mhs, sedangkan pada bagain Alias anda

pilih Akademik.20. Klik tombol Save.21. Buka tabel anda, dengan memilih menu File | Open | Table

Gambar 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 [email protected]. Khanza.Soft Media

14

Halaman :

Gambar 6.10. Jendela Konfirmasi.

25. Pilih menu File | Exit, untuk keluar dari program Database Desktop dan kembali ke program Delphi.

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 pada

gambar 6.11.

Gambar 6.11. Rancangan Form DataBase.

Atur propertinya sebagai berikut:

Nama Object Properti NilaiForm1 BorderStyle

CaptionbsDialogBasis Data...

Table1 DatabaseNameTableNameIndexFieldNameActive

AkademikMahasiswa.dbNim; Nama MahasiswaTrue

DataSource1 DataSet Table1DBGrid1 DataSource DataSource1DBNavigator1 DataSource DataSource1Bitbtn1 Caption

Glyph&Laporanreport.bmp

Bitbtn2 Kind bkCloseLabel1 Caption

Font.NameFont.Size

DATABASE MAHASISWAVerdana20

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

15

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 Table

3. Ubah propertinya sebagai berikut:

Nama Objek Properti NilaiForm1 Caption Laporan...Table1 DatabaseName

TableNameIndexFieldNameActive

AkademikMahasiswa.dbNim; Nama MahasiswaTrue

QRBand1 BandType rbTitleQRBand2 BandType rbClumnHeaderQRBand3 BandType rbDetailQRBand4 BandType rbPageFooterQRLabel1 Caption NIMQRLabel2 Caption Nama MahasiswaQRLabel3 Caption Tempat LahirQRLabel4 Caption Tanggal LahirQRLabel5 Caption JurusanQRLabel6 Caption AlamatQRDBtext1 DataSet

DataFieldTable1Nim

QRDBtext2 DataSetDataField

Table1Nama Mahasiwa

QRDBtext3 DataSetDataField

Table1Tempat Lahir

QRDBtext4 DataSetDataField

Table1Tanggal Lahir

QRDBtext5 DataSetDataField

Table1Jurusan

QRDBtext6 DataSetDataField

Table1Alamat

QuickRep1 DataSetReportTitle

Table1Laporan Mahasiswa

4. Pastikan Tampilan Form anda akan terlihat seperti berikut :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

16

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 yes

Gambar 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 pencetakan

laporan 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 PEGAWAI

DENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6Bahasan: Data Base Mysal Menggunakan DelphiTujuan: 26. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus Laporan

Dengan Delphi27. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan Delphi

Langkah 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 [email protected]. Khanza.Soft Media

17

Halaman :

a. Kopikan file .bpl yang berada di folder ZEOSDBO-6.6.0-beta\bplnya ke folder BPL yang ada di folder C:\Program Files\Borland\Delphi7\Projects\BPL.

b. Kopikan juga file .dcu yang berada di folder ZEOSDBO-6.6.0-beta\bplnya\dcu ke folder LIB yang ada di folder C:\Program Files\Borland\Delphi7\Lib

c. Kopikan juga file .dll yang ada di ZEOSDBO-6.6.0-beta\lib\mysql ke folder C:\WINDOWS\systemdan C:\WINDOWS\system32

d. Kemudian buka Delphi masuk ke menu Component, install packages, kemudian pilih ADD, masukan file bpl yang ada di folder BPL yang ada di C:\Program Files\Borland\Delphi7\Projects\BPL. Klik OK. Secara otomatis component Zeos sudah ditambahkan pada tab component VCL Delphi

Langkah 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 .dpr nya.

- 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 properties ZConnection 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 fields

properties ZQuery2 sbb :6. Name : ZQueryAdmin

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

18

Halaman :

7. Connection : ZConnectionPresensi8. Sql : isi dengan sintaks sql select * from admin9. Active : true10. Klik dua kali pada ZQueryAdmin, Klik kanan pilih Add all fields

properties 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 : 23

Tampilan 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 nama

UPegawai.pas (ingat loooch harus disimpan ditempat yang sama dengan UUtama, jangan sampai terpisah)- Atur propertiesnya sbb :

1. Name : frmPegawai2. Caption : ::[ Data Pegawai ]::3. Positon : poScreenCenter

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

19

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 dari panel 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 properties dari 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 atur properties 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 Component dataSource dengan memilih pada dataAccess, tambahkan component statusbar dengan memilih pada Tab Win 32.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 pada

dataSource atur Properties DataSet =frmUtama.ZQueryPegawai11.

- Tambahkan 5 component BiButton dengan memilih pada TAB Additional letakkan ke dalam panel field frmPegawai dan atur 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=&Keluar

Contoh hasil sebelum di Compile :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

20

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);begin frmPegawai.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);

begin close; end;

2. Klik dua kali Tombol Batal dan untuk script lengkapnya : procedure TfrmPegawai.bbtnBatalClick(Sender: TObject); begin edNIP.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 validasi agar 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 fields

4. Klik dua kali Tombol Simpan dan untuk perintah lengkapnya sbb : procedure TfrmPegawai.bbtnSimpanClick(Sender: TObject); begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from pegawai where nip ="'+edNIP.Text+'"'); ZQuery1.Open;

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

21

Halaman :

if not ZQuery1.IsEmpty then begin

MessageDlg('Maaf NIP '+ZQuery1nip.Value+' sudah dipakai sebelumnya. Silahkan anda pakai NIP lain..!!!',mtInformation,[mbOK],0);

edNIP.Clear; edNIP.SetFocus; end else if ZQuery1.IsEmpty then begin frmUtama.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); begin if (frmUtama.ZQueryPegawai.RecordCount=0) then begin

MessageDlg('" Maaf, Data Pegawai sudah kosong ! Silahkan Anda isi kembali..!!!',mtInformation,[mbOK],0);

edNIP.SetFocus; exit; end else if MessageDlg('Yakin Data mau dihapus..??? ',mtConfirmation,[mbYes,mbNo],0)=mrYes then begin frmUtama.ZQueryPegawai.Delete; edNIP.SetFocus; end; end;

6. Klik dua kali tombol edit, dan untuk script lengkapnya : procedure TfrmPegawai.bbtnEditClick(Sender: TObject); begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from pegawai where nip ="'+edNIP.Text+'"'); ZQuery1.Open; if ZQuery1.IsEmpty then begin

MessageDlg('Maaf NIP '+edNIP.Text+' belum dimasukkan sebelumnya. Data tidak ada!!!',mtInformation,[mbOK],0);edNIP.Clear;

edNIP.SetFocus; end else

if Trim(edNIP.Text)='' then begin MessageDlg('Maaf NIP harus diisi...!!!!',mtInformation,[mbOK],0); edNIP.SetFocus; end

else if not ZQuery1.IsEmpty then begin ZQuery1.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 [email protected]. Khanza.Soft Media

22

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); begin

if (key in['a'..'z','A'..'Z','!','@','#','$','%','^','&','*','(',')','_','-','+','=','{','}','[',']',':',';','"','|','\','<','>','?','/',',','.','~','`',' ']) then

key:=#0 else if not(Key=chr(13)) then exit else edNama.SetFocus;

end;

9. klik edNama, pada jendela Object Inspector pilih event OnKeypress dan masukkan perintah : procedure TfrmPegawai.edNamaKeyPress(Sender: TObject; var Key: Char); begin if not(Key=chr(13)) then exit else 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 Rave report atau komponen tambahan lainnya. Untuk membuat laporan dengan Quick report terlebih dulu qita harus menambahkan komponen seperti halnya ketika kita menambahkan 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 delphi

MODUL VISISTEM INFORMASI PRESENSI PEGAWAI

DENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6Bahasan: Data Base Mysal Menggunakan DelphiTujuan: a. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus Laporan Dengan Delphi

b. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan DelphiPada tutorial ini diharapkan sebelumnya anda telah menguasai database mysql, Serta Component Zeos dan Quick Report telah ditambahkan 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_simpus

mysql> 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 [email protected]. Khanza.Soft Media

23

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 Utama

Silahkan buat Form aplikasi baru dengan cara pilih menu file->New->Aplication sehingga akan ditampilkan form baru. Silahkan tambahkan component ZConennection, 5 component ZQuery dari pallete Zeos Access seperti ditampilkan pada gambar :

Gb. Tampilan Tab Component Palette Zeos Access.

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

24

Halaman :

Gb. Tampilan Form Utama

Tambahkan juga component MainMenu dari tab palete Standard dan component Image dari tab palete additional dan atur propertiesnya masing-masing sbb :

Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Align

BorderStyleCaptionPositionName

alClientbsSingle::[ Simple Simpus ]::poScreenCenterfrmUtama

ZConection1 : TZConnection DatabaseHostNameProtocolUserNameConected

simple_simpus localhostmysqlrootZConnectionSimpleSimpusTrue

ZQuery1 : TZQuery ConnectionNameSQL

Active

ZConnectionSimpleSimpusZQueryPetugasKlik pada elipses dan masukkan perintah select * from petugasTrue

ZQuery2 : TZQuery ConnectionNameSQL

Active

ZConnectionSimpleSimpusZQueryAnggotaKlik pada elipses dan masukkan perintah select * from anggotaTrue

ZQuery3 : TZQuery ConnectionNameSQL

Active

ZConnectionSimpleSimpusZQueryBukuKlik pada elipses dan masukkan perintah select * from bukuTrue

ZQuery4 : TZQuery ConnectionNameSQL

Active

ZConnectionSimpleSimpusZQueryPeminjamanKlik pada elipses dan masukkan perintah select * from peminjamanTrue

ZQuery5 : TZQuery ConnectionNameSQL

Active

ZConnectionSimpleSimpusZQueryAdminKlik pada elipses dan masukkan perintah select * from adminTrue

MainMenu1 : TMainMenu Items Klik tombol elipses dan buatlah Menu dengan mengisi properties captionnya :Aplikasi – About Program – LoginFile – Petugas

– Anggota– Buku– Admin

Transaksi – SirkulasiKeluar

Image1 StretchAlignPicture

TruealClientklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background

Gambar MainMenu yang tadi diisi captionnya :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

25

Halaman :

Silahkan simpan dengan nama UUtama.pas untuk file pasnya dan Simple_simpus.dpr untuk file dprnya. Klik pada masing2 ZQuery 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 palete

standard. dana. Pada panel No 3 tambahkan 8 Component BitButton dari tab palete additional, 3 Component Label dan 1 component edit dari tab palete standard.

b. Pada panel No 2 tambahkan 4 Component Edit, 1 Component Memo dari tab palete standard, dan 1 component DateTimePicker dari tab palete win32.

Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tab palete DataAcces, 2 Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBar dari tab palete 32, 1 Component DBGrid dari tab panel DataControl

Atur tampilannya seperti gambar berikut :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

26

Halaman :

Jika sudah, pilih menu file->Use Unit. Ketika muncul kotak dialog pilihan unit, pilih UUtama. Kemudian atur juga propertisnya masing-masing componentnya sbb:

Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Align

BorderStyleCaptionPositionName

alRightbsSingle::[ Data Petugas ]::poScreenCenterfrmPetugas

Panel1 : TPanel CaptionBevellInnerBevellOuterAlignColor

:: DATA PETUGAS ::bvRaisedbvLoweredalTop$00E7E7E7

Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor

(Kosongkan)bvRaisedbvLoweredalTop$00E7E7E7

ZQuery1 : TZQuery ConnectionSQL

frmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintah select * from petugas

DataSource1:TDataSource DataSet frmUtama.ZQueryPetugasPanel3 : TPanel Caption

BevellInnerBevellOuterAlignColor

(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7

StatusBar1 : TStatusBar AlignColor

alBottom$00E7E7E7

BitButton1 : TBitBtn CaptionLayoutGlyp

Name

&SimpanblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpan

BitButton2 : TBitBtn CaptionLayoutGlyp

Name

&BatalblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal

BitButton3 : TBitBtn CaptionLayoutGlyp

Name

&EditblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnEdit

BitButton4 : TBitBtn CaptionLayoutGlyp

Name

&HapusblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnHapus

BitButton5 : TBitBtn CaptionLayoutGlyp

&Show AllblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

27

Halaman :

Namedijadikan backgroundBtnShowAll

BitButton6 : TBitBtn CaptionLayoutGlyp

Name

&CetakblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCetak

BitButton7 : TBitBtn CaptionLayoutGlyp

Name

(kosongkan)blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCari

BitButton8 : TBitBtn CaptionLayoutGlyp

Name

&KeluarblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background.BtnKeluar

DBNavigator1 : TDBNavigator DataSourceVisibleButtons

ALign

DataSource1Klik tombol + yang ada disiamping VisibleButtons dan atur tombol2 navigator yang mau ditampilkan seperti pada gambaralBottom

DBGrid1 : TDBGrid1 AlignDataSourcePopupMenu

alClientDataSource1PopupMenu2

Edit1 (dipanel 2) : TEdit NameText

edNIP(kosongkan)

Edit2 (dipanel 2) : TEdit NameText

edNama(kosongkan)

Edit3(dipanel 2) : TEdit NameText

edTmp(kosongkan)

Edit4(dipanel 2) : TEdit NameText

edSandi(kosongkan)

PopupMenu1 :TPopupMenu Items klik pada elipses dan isi caption dengan -------- ^_ ^ -----------

PopupMenu2 :TPopupMenu Items klik pada elipses dan isi capion dengan Simpan, Batal, Edit, Hapus, Show All, Cetak, Keluar

DateTimePicker1:TDateTimePicker Name DTPTglLahirEdit5 (dipanel 3) Name

TextedKeyWord(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 di antara begin dan end kode :

if (Key=chr(13)) then edNama.SetFocus //artinya jika dienter maka cursor akan terfokus pada edNama else if not(key in['0'..'9',Chr(8)]) then key:=#0 //artinya membatasi imput keyboard

baris kode diatas digunakan untuk membatasi input keyboard yaitu hanya bisa dimasukkan angka 0 sampai 9 saja untuk kode lengkapnya :

procedure TfrmPetugas.edNipKeyPress(Sender: TObject; var Key: Char);begin if (Key=chr(13)) then edNama.SetFocus else if 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 [email protected]. Khanza.Soft Media

28

Halaman :

edNip.Clear; //artinya teks pada edNip akan jadi kosong dikarenakan ada perintah clear edNama.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 konfirmasi begin MessageDlg('Maaf, Semua field harus isi...!!!',mtInformation,[mbOK],0); edNip.SetFocus; end else begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from petugas where nip="'+edNip.Text+'"');//menyeleksi apa ada nip yg sama ZQuery1.Open; if not(ZQuery1.IsEmpty) then//jika ada nip sama maka data tak bisa disimpan dan keluar konfirmasi begin MessageDlg('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; end else if (ZQuery1.IsEmpty) then//jika tidak ada nip yg sama maka data akan disimpan begin ZQuery1.Insert;//insert merupakan perintah untuk menyisipkan satu baris data ZQuery1nip.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 disisipkan frmUtama.ZQueryPetugas.Refresh; BtnBatalClick(Sender); end end

4. 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)='')then begin MessageDlg('Maaf, Semua field harus isi...!!!',mtInformation,[mbOK],0); edNip.SetFocus; end else begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from petugas where nip="'+edNip.Text+'"'); ZQuery1.Open; if (ZQuery1.IsEmpty) then begin MessageDlg('Maaf, Petugas dengan NIP "'+edNip.Text+'" tidak ditemukan. Kemungkinan data petugas dengan NIP tersebut belum pernah dimasukkan sebelumnya atau sudah terhapus..!!!',mtInformation,[mbOK],0); edNip.Clear; edNip.SetFocus; end else if not(ZQuery1.IsEmpty) then begin ZQuery1.Edit; ZQuery1nip.Value:=edNip.Text;

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

29

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); end end

5. Klik pada Tombol btnHapus dua kali, isikan diantara begin dan end kode :

if(frmUtama.ZQueryPetugas.RecordCount=0)then//Melakukan pengecekkan jika terjadi kekosongan data begin MessageDlg('Maaf data petugas sudah habis. Tidak ada data yang bisa anda hapus...!!',mtInformation,[mbOK],0); edNip.SetFocus; end else if(MessageDlg('Yakin data petugas dengan NIP "'+frmUtama.ZQueryPetugasnip.Value+'" mau dihapus.. ???',mtConfirmation,[mbYes,mbNo],0)=mrYes)then//melakukan konfirmasi penghapusan data begin frmUtama.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)+'%" or nama_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 dan pilih 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 petugas

3. Membuat Form Anggota

Silahkan pilih menu File->New ->Form, Jangan sampai salah yaaaa. Dalam pembuatan form ini hampir sama seperti form sebelumnya. Hanya saja perlu pengeditan beberapa hal. Tambahkan 3 Component Panel dari tab palete standard. dan

a. Pada panel No 3 tambahkan 8 Component BitButton dari tab palete additional, 3 Component Label dan 1 component edit dari tab palete standard.

b. Pada panel No 2 tambahkan 4 Component Edit, 1 Component Memo dari tab palete standard, dan 3 component DateTimePicker dari tab palete win32.

Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tab palete DataAcces, 2 Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBar dari tab palete 32, 1 Component DBGrid dari tab panel DataControl

Atur tampilannya seperti gambar berikut :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

30

Halaman :

Jika sudah, pilih menu file->Use Unit. Ketika muncul kotak dialog pilihan unit, pilih UUtama. Kemudian atur juga propertisnya masing-masing componentnya sbb:

Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Align

BorderStyleCaptionPositionName

alRightbsSingle::[ Data Anggota]::poScreenCenterfrmAnggota

Panel1 : TPanel CaptionBevellInnerBevellOuterAlignColor

:: DATA ANGGOTA ::bvRaisedbvLoweredalTop$00E7E7E7

Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor

(Kosongkan)bvRaisedbvLoweredalTop$00E7E7E7

ZQuery1 : TZQuery ConnectionSQL

frmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintah select * from anggota

DataSource1:TDataSource DataSet frmUtama.ZQueryAnggotaPanel3 : TPanel Caption

BevellInnerBevellOuterAlignColor

(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7

StatusBar1 : TStatusBar Align alBottom

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

31

Halaman :

Color $00E7E7E7BitButton1 : TBitBtn Caption

LayoutGlyp

Name

&SimpanblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpan

BitButton2 : TBitBtn CaptionLayoutGlyp

Name

&BatalblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal

BitButton3 : TBitBtn CaptionLayoutGlyp

Name

&EditblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnEdit

BitButton4 : TBitBtn CaptionLayoutGlyp

Name

&HapusblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnHapus

BitButton5 : TBitBtn CaptionLayoutGlyp

Name

&Show AllblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnShowAll

BitButton6 : TBitBtn CaptionLayoutGlyp

Name

&CetakblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCetak

BitButton7 : TBitBtn CaptionLayoutGlyp

Name

(kosongkan)blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCari

BitButton8 : TBitBtn CaptionLayoutGlyp

Name

&KeluarblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background.BtnKeluar

DBNavigator1 : TDBNavigator DataSourceVisibleButtons

ALign

DataSource1Klik tombol + yang ada disiamping VisibleButtons dan atur tombol2 navigator yang mau ditampilkan seperti pada gambaralBottom

DBGrid1 : TDBGrid1 AlignDataSource

alClientDataSource1

Edit1 (dipanel 2) : TEdit NameText

edNoAnggota(kosongkan)

Edit2 (dipanel 2) : TEdit NameText

edNama(kosongkan)

Edit3(dipanel 2) : TEdit NameText

edTmp(kosongkan)

Edit4(dipanel 2) : TEdit NameText

edSandi(kosongkan)

PopupMenu1 :TPopupMenu Items klik pada elipses dan isi caption dengan -------- ^_ ^ -----------

PopupMenu2 :TPopupMenu Items klik pada elipses dan isi capion dengan Simpan, Batal, Edit, Hapus, Show All, Cetak, Keluar

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

32

Halaman :

DateTimePicker1:TDateTimePicker Name DTPTglLahirEdit5 (dipanel 3) Name

TextedKeyWord(kosongkan)

DateTimePicker2:TDateTimePicker Name DTPTglGabungDateTimePicker3:TDateTimePicker Name DTPTglKadaluarsaMemo1 Name mmAlamat

Klik 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)='')then begin MessageDlg('Maaf, Semua field harus isi...!!!',mtInformation,[mbOK],0); edNoA.SetFocus; end else begin ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select * from anggota where no_anggota="'+edNoA.Text+'"'); ZQuery1.Open; if not(ZQuery1.IsEmpty) then begin MessageDlg('Maaf, No.Anggota "'+ZQuery1no_anggota.Value+'" sudah dipakai sebelumnya untuk petugas dengan nama "'+ZQuery1nama_anggota.Value+'". Silahkan anda ganti dengan No.Anggota lain..!!!',mtInformation,[mbOK],0); edNoA.Clear; edNoA.SetFocus; end else if (ZQuery1.IsEmpty) then begin ZQuery1.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); end end

3. 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)='')then begin MessageDlg('Maaf, Semua field harus isi...!!!',mtInformation,[mbOK],0); edNoA.SetFocus; end else begin ZQuery1.Close; ZQuery1.SQL.Clear;

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

33

Halaman :

ZQuery1.SQL.Add('select * from anggota where no_anggota="'+edNoA.Text+'"'); ZQuery1.Open; if (ZQuery1.IsEmpty) then begin MessageDlg('Maaf, Anggota dengan No.Anggota "'+edNoA.Text+'" tidak ditemukan. Kemungkinan data anggota dengan No.Anggota tersebut belum pernah dimasukkan sebelumnya atau sudah terhapus..!!!',mtInformation,[mbOK],0); edNoA.Clear; edNoA.SetFocus; end else if not(ZQuery1.IsEmpty) then begin ZQuery1.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); end end

4. Klik pada Tombol btnHapus dua kali, isikan diantara begin dan end kode :

if(frmUtama.ZQueryAnggota.RecordCount=0)then begin MessageDlg('Maaf data anggota sudah habis. Tidak ada data yang bisa anda hapus...!!',mtInformation,[mbOK],0); edNoA.SetFocus; end else if(MessageDlg('Yakin data anggota dengan No.Anggota "'+frmUtama.ZQueryAnggotano_anggota.Value+'" mau dihapus.. ???',mtConfirmation,[mbYes,mbNo],0)=mrYes)then begin frmUtama.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)+'%" or nama_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 dan pilih 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 form buku silahkan anda coba sendiri seperti dua contoh form diatas karena untuk algoritma hamper sama, untuk selanjutnya langsung aja ke form peminjaman dan pengembalian buku

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

34

Halaman :

4. Membuat Form PeminjamanSilahkan pilih menu File->New ->Form, Jangan sampai salah yaaaa. Dalam pembuatan form ini hampir sama seperti

form 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 dari tab palete standard. Tambahkan juga 1 Component ZQuery dari tab palete ZQueryAccess, 1 Component DataSource dari tab palete DataAcces, 2 Component PopupMenu dari Tab Palete standard, 1 compoent XPManifest dan 1 Component StatusBar dari 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 propertisnya masing-masing componentnya sbb:

Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Align

BorderStyleCaptionPositionName

alRightbsSingle::[ Data Peminjaman ]::poScreenCenterfrmPeminjaman

Panel1 : TPanel CaptionBevellInnerBevellOuterAlignColor

:: DATA PEMINJAMAN ::bvRaisedbvLoweredalTop$00E7E7E7

Panel2: TPanel CaptionBevellInnerBevellOuterAlignColor

(Kosongkan)bvRaisedbvLoweredalBottom$00E7E7E7

ZQuery1 : TZQuery ConnectionSQL

frmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintah select peminjaman.no_inventaris,buku.judul_inventaris, peminjaman.no_anggota,anggota.nama_anggota, peminjaman.nip,petugas.nama_petugas, peminjaman.tgl_pinjam,peminjaman.tgl_kembali from buku,peminjaman,anggota,petugas where peminjaman.no_inventaris=buku.no_inventaris and peminjaman.no_anggota=anggota.no_anggota

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

35

Halaman :

and peminjaman.nip=petugas.nip

DataSource1: TDataSource DataSet ZQuery1StatusBar1 : TStatusBar Align

ColoralBottom$00E7E7E7

BitButton1 : TBitBtn CaptionLayoutGlyp

Name

&PinjamblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnPinjam

BitButton2 : TBitBtn CaptionLayoutGlyp

Name

&KembaliblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnKembali

BitButton3 : TBitBtn CaptionLayoutGlyp

Name

&Show AllblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnShowAll

BitButton4 : TBitBtn CaptionLayoutGlyp

Name

&CetakblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCetak

BitButton5 : TBitBtn CaptionLayoutGlyp

Name

(kosongkan)blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCari

BitButton6 : TBitBtn CaptionLayoutGlyp

Name

&KeluarblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background.BtnKeluar

DBNavigator1 : TDBNavigator DataSourceVisibleButtons

ALign

DataSource1Klik tombol + yang ada disiamping VisibleButtons dan atur tombol2 navigator yang mau ditampilkan seperti pada gambaralBottom

DBGrid1 : TDBGrid1 AlignDataSource

alClientDataSource1

PopupMenu1 :TPopupMenu Items klik pada elipses dan isi caption dengan -------- ^_ ^ -----------

PopupMenu2 :TPopupMenu Items klik pada elipses dan isi caption dengan Pinjam,Kembali,Show All, Cetak Keluar

Edit1 (dipanel 2) NameText

edKeyWord(kosongkan)

Klik dua kali pada ZQuery1 kemudian ketika muncul jendela dialog silahkan klik kanan dan pilih Add all fields. Kemudian buat lagi form baru untuk menginputkan data peminjaman dengan tampilan :

Simpan dengan nama UInputAnggota dan atur propertiesnya masing2 :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

36

Halaman :

Nama Objek Properti Yang Diubah NilaiForm1 : TForm1 Align

BorderStyleCaptionPositionName

alNonebsSingle::[ Input Peminjaman ]::poScreenCenterfrmInputPinjam

ComboBox1 : TComboBox NameText

cmbInv(kosongkan)

ComboBox2 : TComboBox NameText

cmbPeminjam (kosongkan)

ComboBox3 : TComboBox NameText

cmbPetugas (kosongkan)

BitButton1 : TBitBtn CaptionLayoutGlyp

NameModalResult

&SimpanblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpanmrYes

BitButton2 : TBitBtn CaptionLayoutGlyp

Name

&BatalblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal

BitButton1 : TBitBtn CaptionLayoutGlyp

Name

&KeluarblGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnKeluar

Edit1 : TEdit NameTextColorReadOnly

edInventaris(kosongkan)clSilverTrue

Edit2 : TEdit NameTextColorReadOnly

edPeminjam(kosongkan)clSilverTrue

Edit3 : TEdit NameTextColorReadOnly

edTgl(kosongkan)clSilverTrue

Edit4 : TEdit NameTextColorReadOnly

edPetugas(kosongkan)clSilverTRue

Mengisikan baris kode :1. Klik pada Object TreeView, Pilih frmInputPinjam kemudian pada Object Inspector pilih tab Events kemudian klik dua kali pada OnActive. 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)then begin cmbInv.Text:=''; cmbPeminjam.Text:=''; cmbPetugas.Text:=''; edInventaris.Clear; edPeminjam.Clear; edPetugas.Clear; end

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

37

Halaman :

else if(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 gambar

Kemudian masukkan procedure load diantara procedure yang lain :procedure TfrmInputPinjam.load;var i:integer;begin cmbPetugas.Clear; frmPetugas.tampil(''); for i:=1 to frmUtama.ZQueryPetugas.RecordCount do begin cmbPetugas.Items.Add(frmUtama.ZQueryPetugasnip.Value); frmUtama.ZQueryPetugas.Next; end; frmAnggota.tampil(''); cmbPeminjam.Clear; for i:=1 to frmUtama.ZQueryAnggota.RecordCount do begin cmbPeminjam.Items.Add(frmUtama.ZQueryAnggotano_anggota.Value); frmUtama.ZQueryAnggota.Next; end; frmBuku.tampil(''); cmbInv.Clear; for i:=1 to frmUtama.ZQueryBuku.RecordCount do begin cmbInv.Items.Add(frmUtama.ZQueryBukuno_inventaris.Value); frmUtama.ZQueryBuku.Next; end;end;

Seperti ditunjukkan pada gambar :

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

38

Halaman :

Silahkan simpan dengan nama UInputPinjam, Kemudian silahkan kembali ke frmPeminjaman dan pilih Menu File->Use Unit->Pilih UInput Pinjam

Memasukkan 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)then begin if(Trim(frmInputPinjam.edInventaris.Text)='')or(Trim(frmInputPinjam.edPeminjam.Text)='')or(Trim(frmInputPinjam.edPetugas.Text)='')then begin MessageDlg('Maaf, Semua field harus terisi. Jika pada Fild-field data ada yang kosong kemungkinan ada yang salah pada inputan di combo...!!',mtInformation,[mbOK],0); end else begin frmUtama.ZQueryPeminjaman.Close; frmUtama.ZQueryPeminjaman.SQL.Clear;

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

39

Halaman :

frmUtama.ZQueryPeminjaman.SQL.Add('select * from peminjaman where no_inventaris="'+frmInputPinjam.cmbInv.Text+'"'); frmUtama.ZQueryPeminjaman.Open; if not(frmUtama.ZQueryPeminjaman.IsEmpty)then begin MessageDlg('Maaf, Buku dengan No.Inventaris "'+frmUtama.ZQueryPeminjamanno_inventaris.Value+'" sedang dipinjam sejak tanggal "'+frmUtama.ZQueryPeminjamantgl_pinjam.AsString+'" dan belum kembali...!!! ',mtInformation,[mbOK],0); end else if(frmUtama.ZQueryPeminjaman.IsEmpty)then begin frmUtama.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)then begin MessageDlg('Maaf, Data peminjaman sudah kosong. Tidak ada inventaris yang bisa dikembalikan',mtInformation,[mbOK],0); end else begin frmInputPinjam.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)then begin if(Trim(frmInputPinjam.edInventaris.Text)='')or(Trim(frmInputPinjam.edPeminjam.Text)='')or(Trim(frmInputPinjam.edPetugas.Text)='')then begin MessageDlg('Maaf, Semua field harus terisi. Jika pada Fild-field data ada yang kosong kemungkinan ada yang salah pada inputan di combo...!!',mtInformation,[mbOK],0); end else begin frmUtama.ZQueryPeminjaman.Close; frmUtama.ZQueryPeminjaman.SQL.Clear; frmUtama.ZQueryPeminjaman.SQL.Add('select * from peminjaman where no_inventaris="'+frmInputPinjam.cmbInv.Text+'"'); frmUtama.ZQueryPeminjaman.Open; if (frmUtama.ZQueryPeminjaman.IsEmpty)then begin

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

40

Halaman :

MessageDlg('Maaf, Buku dengan No.Inventaris "'+frmUtama.ZQueryPeminjamanno_inventaris.Value+'" sedang sedang dipinjam sejak tanggal "'+frmUtama.ZQueryPeminjamantgl_pinjam.AsString+'" dan belum kembali...!!! ',mtInformation,[mbOK],0); end else if not(frmUtama.ZQueryPeminjaman.IsEmpty)then begin frmUtama.ZQueryPeminjaman.Delete; ZQuery1.Refresh; end; end; end; end;

3. Klik pada Tombol btnKeluar dua kali, isikan diantara begin dan end kode :close

Modul Delphi , disempurnakan [email protected]. Khanza.Soft Media

41