modul-delphi
TRANSCRIPT
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 1/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 telahmenguasai 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. 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 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 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 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 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 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).
-FORM
Form 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.
-UNIT
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
1
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 2/41
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 BARU
Untuk 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 Inspector 5. 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);
begin
Close;
end;
10. Jalankan program dengan menu Run | Run. Atau bisa juga dengan langsung menekan tombol F9
11. Untuk keluar dari program klik tombol tutup
12. File menu File | Save All
13. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 3/41
Halaman :
MODUL II
MENGHITUNG LUAS SEGI TIGA
Bahasan: Program Menghitung Luas Segi Tiga
Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Perhitungan Dengan Delphi
A. MENDESAIN FORM
Untuk 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 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 PROPERTI
Dengan menggunakan Object Inspector, ubahlah properti dari komponen yang ada dengan ketentuan sebagai berikut :
Nama Objek Properti Yang Diubah Nilai
Form1 : TForm1 Caption Mata Matiku...
Label1 : TLabel1 CaptionFont : Size
Menghitung 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 &Hitung
Button2 : Tbutton2 Caption &Tutup
Panel1 : 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 KODE
Agar 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='' THEN
Begin
MessageDlg('Alas masih kosong',mtInformation,[mbOK],0);
edit1.setfocus;
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
3
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 4/41
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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 5/41
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 bisamenghandlenya.
- Buatlah program baru seperti diatas, misalkan untuk menghitung luas lingkaran, volume tabung, dan sebagainya.
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
5
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 6/41
Halaman :
MODUL III
TERBILANG
Bahasan: Penggunaan Fungsi Dalam Delphi
Tujuan: 1. Mahasiswa Dapat Membuat Fungsi Untuk Setiap Permasalahan Dalam Delhi
A. DESAIN FORM
Sekarang 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 PROPERTI
Untuk memperindah tampilan, ubahlah properti masing-masing dengan ketentuan sebagai berikut:
Nama Object Properti Nilai
Label1 CaptionSize
Terbilang20
Label2 Caption Angka:
Panel1 Caption (dikosongkan)
BitBtn1 Caption
Glyph
&Cek
(Tbitmap)BitBtn2 Kind bkClose
Form1 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 Inspector
2. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 7/41
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. PENGKODEAN
9. 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 programtersebut 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 harusanda 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 8/41
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));
End
Else
Panel1.Caption:='Kosong';
end;
Berikut ini Contoh Aplikasi yang sedang di RUN.
Gambar 3.4. Contoh Form Yang Sedang Dijalankan
D. LATIHAN DAN TUGAS
1. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 9/41
Halaman :
MODUL IV
MENU
A. DESAIN FORM
Untuk membuat sebuah form bermenu caranya sangat mudah sekali yaitu :1. Buat sebauh aplikasi baru
2. 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 baru
4. 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 perubahanyang terjadi.
Gambar 3.4. Tampilan Setelah Penambahan Menu
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
9
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 10/41
Halaman :
B. PENGKODEAN
Tambahkan 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 11/41
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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 12/41
Halaman :
MODUL V
DATA BASE
Bahasan: Data Base Menggunakan Delphi
Tujuan: 1. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus LaporanDengan Delphi
2. Mahasiswa Dapat Membuat Aplikasi Utuh Dengan Delphi
A. MEMBUAT TABLE
Untuk 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, 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 13/41
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 OK 17. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 14/41
Halaman :
Gambar 6.7. Jendela Save As
19. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 15/41
Halaman :
Gambar 6.10. Jendela Konfirmasi.
25. Pilih menu File | Exit, untuk keluar dari program Database Desktop dan kembali ke programDelphi.
B. MENDESAIN FORM
Untuk 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 Nilai
Form1 BorderStyleCaption
bsDialogBasis Data...
Table1 DatabaseNameTableName
IndexFieldNameActive
Akademik Mahasiswa.db
Nim; Nama MahasiswaTrue
DataSource1 DataSet Table1
DBGrid1 DataSource DataSource1
DBNavigator1 DataSource DataSource1
Bitbtn1 CaptionGlyph
&Laporanreport.bmp
Bitbtn2 Kind bkClose
Label1 CaptionFont.NameFont.Size
DATABASE MAHASISWAVerdana20
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
15
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 16/41
Halaman :
Gambar 6.12. Rancangan Form Setelah Perubahan Properti.
Sekarang coba anda jalankan form tersebut.
C. REPORT
Sebelum 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 QuickRep b. Empat buah QRBandc. Enam buah QRLabeld. Enam buah QRDBtexte. Satu buah Table
3. Ubah propertinya sebagai berikut:
Nama Objek Properti Nilai
Form1 Caption Laporan...Table1 DatabaseNameTableNameIndexFieldNameActive
Akademik Mahasiswa.db Nim; Nama MahasiswaTrue
QRBand1 BandType rbTitle
QRBand2 BandType rbClumnHeader
QRBand3 BandType rbDetail
QRBand4 BandType rbPageFooter
QRLabel1 Caption NIM
QRLabel2 Caption Nama Mahasiswa
QRLabel3 Caption Tempat Lahir
QRLabel4 Caption Tanggal Lahir
QRLabel5 Caption JurusanQRLabel6 Caption Alamat
QRDBtext1 DataSetDataField
Table1 Nim
QRDBtext2 DataSetDataField
Table1 Nama Mahasiwa
QRDBtext3 DataSetDataField
Table1Tempat Lahir
QRDBtext4 DataSetDataField
Table1Tanggal Lahir
QRDBtext5 DataSetDataField
Table1Jurusan
QRDBtext6 DataSet
DataField
Table1
AlamatQuickRep1 DataSet
ReportTitleTable1Laporan Mahasiswa
4. Pastikan Tampilan Form anda akan terlihat seperti berikut :
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
16
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 17/41
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 F9
8. Ketika muncul konfirmasi, pilih tombol yes
Gambar 6.14. Jendela Konfirmasi.
9. Tekan tombol F9 sekali lagi
10. Sekarang aplikasi anda bisa diuji coba.
D. LATIHAN
1. 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 VI
SISTEM INFORMASI PRESENSI PEGAWAI
DENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6
Bahasan: Data Base Mysal Menggunakan Delphi
Tujuan: 26. Mahasiswa Dapat Membuat Aplikasi Basis Data Sekaligus LaporanDengan Delphi
27. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 18/41
Halaman :
a. Kopikan file .bpl yang berada di folder ZEOSDBO-6.6.0-beta\bplnya ke folder BPL yang ada di folder C:\ProgramFiles\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:\ProgramFiles\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 sudahditambahkan 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 propertiesZConnection sbb :
1. Name : ZConnectionPresensi2. Database : presensi3. HostName : localhost4. Protocol : mysql
5. 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 : ZConnectionPresensi
3. Sql : isi dengan sintaks sql select * from pegawai order by nip
4. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 19/41
Halaman :
7. Connection : ZConnectionPresensi
8. 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 : ZConnectionPresensi
13. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 20/41
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 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 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 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 pada
dataSource 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=&Keluar
Contoh hasil sebelum di Compile :
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
20
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 21/41
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 validasiagar tak terjadi redundancy data pada primary key. Atur propertiesnya sbb :
a. SQL= select * from pegawai
b. 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 22/41
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
elseif 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
beginMessageDlg('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 thenbegin
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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 23/41
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=10
3. 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 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 delphi
MODUL VI
SISTEM INFORMASI PRESENSI PEGAWAI
DENGAN DELPHI & MYSQL SERVER , CONECTOR ZEOSDBO6
Bahasan: Data Base Mysal Menggunakan Delphi
Tujuan: 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 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_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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 24/41
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. Silahkantambahkan 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 25/41
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 Nilai
Form1 : TForm1 AlignBorderStyleCaptionPosition Name
alClient bsSingle::[ Simple Simpus ]:: poScreenCenter frmUtama
ZConection1 : TZConnection DatabaseHostNameProtocolUser NameConected
simple_simpuslocalhostmysqlrootZConnectionSimpleSimpusTrue
ZQuery1 : TZQuery Connection NameSQL
Active
ZConnectionSimpleSimpusZQueryPetugasKlik pada elipses dan masukkan perintahselect * from petugasTrue
ZQuery2 : TZQuery Connection NameSQL
Active
ZConnectionSimpleSimpusZQueryAnggotaKlik pada elipses dan masukkan perintahselect * from anggotaTrue
ZQuery3 : TZQuery Connection NameSQL
Active
ZConnectionSimpleSimpusZQueryBukuKlik pada elipses dan masukkan perintahselect * from bukuTrue
ZQuery4 : TZQuery Connection NameSQL
Active
ZConnectionSimpleSimpusZQueryPeminjamanKlik pada elipses dan masukkan perintahselect * from peminjamanTrue
ZQuery5 : TZQuery Connection NameSQL
Active
ZConnectionSimpleSimpusZQueryAdminKlik pada elipses dan masukkan perintahselect * from adminTrue
MainMenu1 : TMainMenu Items Klik tombol elipses dan buatlah Menudengan mengisi properties captionnya :Aplikasi – About Program
– LoginFile – Petugas
– Anggota – Buku – Admin
Transaksi – SirkulasiKeluar
Image1 Stretch
AlignPicture
True
alClientklik 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 26/41
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 Petugas
Silahkan 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 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 27/41
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 Nilai
Form1 : TForm1 AlignBorderStyleCaptionPosition Name
alRight bsSingle::[ Data Petugas ]:: poScreenCenter frmPetugas
Panel1 : TPanel CaptionBevellInner BevellOuter AlignColor
:: DATA PETUGAS :: bvRaised bvLoweredalTop$00E7E7E7
Panel2: TPanel CaptionBevellInner BevellOuter AlignColor
(Kosongkan)
bvRaised bvLoweredalTop$00E7E7E7
ZQuery1 : TZQuery ConnectionSQL
frmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintahselect * from petugas
DataSource1:TDataSource DataSet frmUtama.ZQueryPetugas
Panel3 : TPanel CaptionBevellInner BevellOuter AlignColor
(Kosongkan)
bvRaised bvLoweredalBottom$00E7E7E7
StatusBar1 : TStatusBar AlignColor
alBottom$00E7E7E7
BitButton1 : TBitBtn CaptionLayoutGlyp
Name
&Simpan blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpan
BitButton2 : TBitBtn CaptionLayoutGlyp
Name
&Batal blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal
BitButton3 : TBitBtn CaptionLayoutGlyp
Name
&Edit blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnEdit
BitButton4 : TBitBtn CaptionLayoutGlyp
Name
&Hapus blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnHapus
BitButton5 : TBitBtn CaptionLayoutGlyp
&Show All blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
27
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 28/41
Halaman :
Namedijadikan backgroundBtnShowAll
BitButton6 : TBitBtn CaptionLayoutGlyp
Name
&Cetak blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background
BtnCetak BitButton7 : TBitBtn CaptionLayoutGlyp
Name
(kosongkan) blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnCari
BitButton8 : TBitBtn CaptionLayoutGlyp
Name
&Keluar blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background.BtnKeluar
DBNavigator1 : TDBNavigator DataSourceVisibleButtons
ALign
DataSource1Klik tombol + yang ada disiampingVisibleButtons dan atur tombol2 navigator yang mau ditampilkan seperti pada gambar alBottom
DBGrid1 : TDBGrid1 AlignDataSourcePopupMenu
alClientDataSource1PopupMenu2
Edit1 (dipanel 2) : TEdit NameText
edNIP(kosongkan)
Edit2 (dipanel 2) : TEdit NameText
edNama(kosongkan)
Edit3(dipanel 2) : TEdit Name
Text
edTmp
(kosongkan)Edit4(dipanel 2) : TEdit NameText
edSandi(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, Keluar
DateTimePicker1:TDateTimePicker Name DTPTglLahir
Edit5 (dipanel 3) NameText
edKeyWord(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 edNamaelse
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 kodelengkapnya :
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:=#0
end;
2. Klik pada Tombol BtnBatal dua kali, isikan diantara begin dan end kode :
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
28
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 29/41
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(ed
Sandi.Text)='')then//artinya jika ada field yg kosong maka akan keluar konfirmasibegin
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 samaZQuery1.Open;
if not(ZQuery1.IsEmpty) then//jika ada nip sama maka data tak bisa disimpan dan keluar konfirmasibegin
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 disimpanbegin
ZQuery1.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);
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(ed
Sandi.Text)='')thenbegin
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 NIPtersebut 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 30/41
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 databegin
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 databegin
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 sepertiform 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 editdari 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 31/41
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 Nilai
Form1 : TForm1 AlignBorderStyle
CaptionPosition Name
alRight bsSingle
::[ Data Anggota]:: poScreenCenter frmAnggota
Panel1 : TPanel CaptionBevellInner BevellOuter AlignColor
:: DATA ANGGOTA :: bvRaised bvLoweredalTop$00E7E7E7
Panel2: TPanel CaptionBevellInner BevellOuter AlignColor
(Kosongkan)
bvRaised bvLoweredalTop$00E7E7E7
ZQuery1 : TZQuery ConnectionSQL frmUtama.ZConnectionSimpleSimpusKlik pada elipses dan masukkan perintahselect * from anggota
DataSource1:TDataSource DataSet frmUtama.ZQueryAnggota
Panel3 : TPanel CaptionBevellInner BevellOuter AlignColor
(Kosongkan)
bvRaised bvLoweredalBottom$00E7E7E7
StatusBar1 : TStatusBar Align alBottom
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
31
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 32/41
Halaman :
Color $00E7E7E7
BitButton1 : TBitBtn CaptionLayoutGlyp
Name
&Simpan blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpan
BitButton2 : TBitBtn CaptionLayoutGlyp
Name
&Batal blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal
BitButton3 : TBitBtn CaptionLayoutGlyp
Name
&Edit blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnEdit
BitButton4 : TBitBtn Caption
LayoutGlyp
Name
&Hapus
blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnHapus
BitButton5 : TBitBtn CaptionLayoutGlyp
Name
&Show All blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnShowAll
BitButton6 : TBitBtn CaptionLayoutGlyp
Name
&Cetak blGlyphTopklik 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
&Keluar blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan background.BtnKeluar
DBNavigator1 : TDBNavigator DataSourceVisibleButtons
ALign
DataSource1Klik tombol + yang ada disiampingVisibleButtons dan atur tombol2 navigator yang mau ditampilkan seperti pada gambar alBottom
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 captiondengan -------- ^_ ̂ -----------
PopupMenu2 :TPopupMenu Items klik pada elipses dan isi capiondengan Simpan, Batal, Edit, Hapus, ShowAll, Cetak, Keluar
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
32
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 33/41
Halaman :
DateTimePicker1:TDateTimePicker Name DTPTglLahir
Edit5 (dipanel 3) NameText
edKeyWord(kosongkan)
DateTimePicker2:TDateTimePicker Name DTPTglGabung
DateTimePicker3:TDateTimePicker Name DTPTglKadaluarsa
Memo1 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(ed
NoTelp.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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 34/41
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
elseif(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 langsungaja ke form peminjaman dan pengembalian buku
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
34
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 35/41
Halaman :
4. Membuat Form Peminjaman
Silahkan 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 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 propertisnyamasing-masing componentnya sbb:
Nama Objek Properti Yang Diubah Nilai
Form1 : TForm1 AlignBorderStyleCaption
Position Name
alRight bsSingle::[ Data Peminjaman ]::
poScreenCenter frmPeminjaman
Panel1 : TPanel CaptionBevellInner BevellOuter AlignColor
:: DATA PEMINJAMAN :: bvRaised bvLoweredalTop$00E7E7E7
Panel2: TPanel CaptionBevellInner BevellOuter AlignColor
(Kosongkan) bvRaised bvLoweredalBottom$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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 36/41
Halaman :
and
peminjaman.nip=petugas.nip
DataSource1: TDataSource DataSet ZQuery1
StatusBar1 : TStatusBar AlignColor
alBottom$00E7E7E7
BitButton1 : TBitBtn CaptionLayout
Glyp
Name
&Pinjam blGlyphTop
klik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnPinjam
BitButton2 : TBitBtn CaptionLayoutGlyp
Name
&Kembali blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnKembali
BitButton3 : TBitBtn CaptionLayoutGlyp
Name
&Show All blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnShowAll
BitButton4 : TBitBtn CaptionLayoutGlyp
Name
&Cetak blGlyphTopklik 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
&Keluar blGlyphTopklik pada elipses dan pilih gambar yang ada
pada computer anda untuk dijadikan background.BtnKeluar
DBNavigator1 : TDBNavigator DataSourceVisibleButtons
ALign
DataSource1Klik tombol + yang ada disiamping VisibleButtonsdan atur tombol2 navigator yang mau ditampilkanseperti pada gambar alBottom
DBGrid1 : TDBGrid1 AlignDataSource
alClientDataSource1
PopupMenu1 :TPopupMenu Items klik pada elipses dan isi caption dengan --------^_ ̂ -----------
PopupMenu2 :TPopupMenu Items klik pada elipses dan isi caption denganPinjam,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 buatlagi 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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 37/41
Halaman :
Nama Objek Properti Yang Diubah Nilai
Form1 : TForm1 AlignBorderStyleCaptionPosition Name
alNone bsSingle::[ Input Peminjaman ]:: poScreenCenter frmInputPinjam
ComboBox1 : TComboBox NameText cmbInv(kosongkan)
ComboBox2 : TComboBox NameText
cmbPeminjam(kosongkan)
ComboBox3 : TComboBox NameText
cmbPetugas(kosongkan)
BitButton1 : TBitBtn CaptionLayoutGlyp
NameModalResult
&Simpan blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnSimpanmrYes
BitButton2 : TBitBtn CaptionLayoutGlyp
Name
&Batal blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnBatal
BitButton1 : TBitBtn CaptionLayoutGlyp
Name
&Keluar blGlyphTopklik pada elipses dan pilih gambar yang ada pada computer anda untuk dijadikan backgroundBtnKeluar
Edit1 : TEdit Name
TextColor ReadOnly
edInventaris
(kosongkan)clSilver True
Edit2 : TEdit NameTextColor ReadOnly
edPeminjam(kosongkan)
clSilver True
Edit3 : TEdit NameTextColor ReadOnly
edTgl(kosongkan)
clSilver True
Edit4 : TEdit NameTextColor ReadOnly
edPetugas(kosongkan)
clSilver TRue
Mengisikan 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)then
begin
cmbInv.Text:='';
cmbPeminjam.Text:='';
cmbPetugas.Text:='';
edInventaris.Clear;
edPeminjam.Clear;
edPetugas.Clear;
end
Modul Delphi , disempurnakan [email protected] . Khanza.Soft Media
37
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 38/41
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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 39/41
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(frmInputPinja
m.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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 40/41
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(frmInputPinja
m.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);
endelse
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
5/10/2018 modul-delphi - slidepdf.com
http://slidepdf.com/reader/full/modul-delphi-55a0bba16b84d 41/41
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