Tuesday, 3 December 2013

belajar delphi

BAB I
Pemrogaman Delphi dan contoh



1.1  pengenalan Delphi

         Belajar Dasar Pemrogaman Delphi - Borland Delphi 7 merupakan bahasa pemrograman berbasis Windows. Delphi 7 dapat membantu untuk membuat berbagai macam aplikasi yang berjalan di sistem operasi Windows, mulai dari sebuah program sederhana sampai dengan program yang berbasiskan client/server atau jaringan. Delphi, termasuk aplikasi yang dapat digunakan untuk mengolah teks, grafik, angka, database dan aplikasi web. Berikut ini sebagian kecil dari banyak kelebihan Borland Delphi 7 :

Berbasis Object Oriented Programming (OOP). Setiap bagian yang ada pada program dipandang sebagai suatu object yang mempunyai sifat-sifat yang dapat diubah dan diatur.
Satu file .exe. Setelah program dirancang dalam IDE (Intergrated Development Environment) Delphi, Delphi akan mengkompilasinya menjadi sebuah file executable tunggal. Program yang dibuat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan sebuah kelebihan yang sangat berarti.
Borland Delphi 7 hadir bersama Borland Kylix 3 yang berbasiskan Linux, sehingga memungkinkan programmer untuk membuat aplikasi multi-platform.


1.1.2   Memulai Delphi 7

           Langkah awal untuk menjalankan program Borland Delphi 7, adalah sebagai berikut :
Klik tombol Start yang terletak pada bagian Taskbar.
Pilih menu Programs 4 Borland Delphi 7, kemudian klik Delphi 7.
Akan tampil sebuah splash screen Borland Delphi 7. Tunggulah beberapa saat sampai program Borland Delphi 7 tampil memenuhi layar monitor.
Bidang kerja Intergrated Development Environment (IDE) Delphi 7 akan tampil memenuhi layar monitor Pada bidang inilah programmer dapat menumpahkan kreativitasnya dalam membuat program.

1.1.3  Langkah Awal Pembuatan Project

            Pilih menu File New Application sehingga pada lembar kerja Delphi akan tampak sebuah form kosong.
Simpan rancangan project aplikasi yang masih kosong tersebut dengan perintah File Save All sehingga tampil kotak dialog Save Unit1 As. Pada bagian ini yang perlu diperhatikan bahwa direktori penyimpanan file harus diubah pada bagian Save in.
Selanjutnya masukkan nama unit pada bagian File Name dengan catatan nama unit tidak boleh sama dengan nama Form Designer, kemudian klik Save.
Kotak dialog berikutnya yang akan muncul adalah kotak dialog Save Project1 As. Kotak dialog ini digunakan untuk menentukan nama file Project yang diinginkan.
Setelah file Unit dan Project disimpan, maka delphi akan membentuk file-file dengan ekstensi berikut ini :
- dpr file Project yang berisi program utama dari aplikasi.
- pas file Unit yang digunakan untuk menangani kejadian (event) pada form.
- dfm file Form yang berisi daftar komponen berikut properti-propertinya.
- res file Resources yang berisi sebuh icon yang digunakan oleh project.
- dof file Options merupakan file yang berisi option-option dari suatu project yang dinyatakan melalui perintah Options dari menu Project.
.dcu file Unit Object merupakan file unit (.pas) yang telah dikompilasi oleh compiler yang akan dihubungkan dengan file eksekusi.
.exe file Executable yang dibentuk oleh kompiler dan merupakan file eksekusi (executable) dari program aplikasi.
Dengan menekan Tombol Ctrl + F12 atau Klik Menu View, Lalu Klik Unit maka akan ditampilkan :
Klik Prjakademik, lalu klik OK, maka akan ditampilkan program sumber dari file Prjakademik.dpr sebagai berikut :
program Prjakademik;

uses
  Forms,
  Uakademik in 'Uakademik.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Berikut ini sumber dari File Akademik.pas :
unit Uakademik;
Interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;

Implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
Begin
end;
end.
Penjelasan Listing Uakademik.pas
Sebuah unit ditandai dengan kata kunci unit yang diikuti nama unit dan diletakkan pada baris pertama.
Pada dasarnya unit terdiri dari dua bagian utama, yaitu Interface dan Implementasion.
Interface, merupakan tempat untuk mendeklarasikan kelas, prosedure, variabel global atau konstanta global.
Implementation, bagian yang berisi implementasi kelas, prosedur atau fungsi yang dideklarasikan pada bagian interface



1.1.4     Komponen Borland Delphi

             Untuk dapat membuat program aplikasi, programmer harus meletakkan komponen- komponen yang diambil dari component palatte serta mengatur tata letak komponen-komponen tersebut pada bagian form designer.
1. Meletakkan komponen pada form designer.
2. Mengubah Properties komponen.
3. Mengubah komponen Event
4. Jenis-jenis komponen standar Delphi 7.
Component, Property, Method, Event
Component merupakan sebuah objek pada Palette, : Objek adalah sebuah komponen dalam Component Palette, atau sesuatu yang dibuat melalui kode-kode / bahasa pemrograman
Property adalah sebuah nama/variabel milik sebuah objek/komponen misal Caption, Text yang dapat diubah nilai baik melalui object Inspector atau melalui program.
method adalah sebuah function/fungsi yang tergabung dalam sebuah objek. Contoh ListBox (dapat berarti sebuah array of strings) yang memiliki Method (Clear) yang membuat Listbox tersebut menjadi kosong.
Event adalah sebuah aksi pengguna (User Action) misal Mouse Click, KeyPressed. Setiap Events diawali dengan kata ‘On’.
Contoh :
Nama event Nama method
OnClick .. Button1Click(Sender : Tobject)
OnKeyDown .. Button1KeyDown(Sender : Tobject)
OnMouseMove .. Button1MouseMove(Sender : Tobject)

1.2  percabangan if Dan Case
              Percabangan  if – then – else Digunakan untuk menjalankan suatu pernyataan atau suatu blok pernyataan, tergantung pada nilai yang diuji.
Contoh Penulisan :
If then
Atau
If then else
CASE … OF … : Pemilihan N kasus
              Digunakan untuk kondisi dengan banyak pencabangan. Syarat pencabangan pada bentuk ini hanya boleh melibatkan satu buah parameter dengan tipe data bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi samadengan (=). Dengan demikian bila parameter bernilai tertentu maka dilakukan suatu aksi terkait, bila bernilai lain maka dilakukan aksi yang lain juga, demikia seterusnya.
contoh penulisan :
Case Of
: ;
: ;

: ;
Else
End;

1.2.1  Pernyataan Pengulangan

              Dalam menyelesaikan masalah, terkadang kita harus melakukan suatu proses yang sama lebih dari satu kali. Untuk itu perlu dibuat suatu algoritma pengulangan. Pascal memberikan tiga alternatif pengulangan, yaitu dengan For, While, atau Repeat. Masing-masing memiliki karakteristik, yang akan dipelajari pada modul ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu:
• Inisialisasi awal.
• Nilai akhir pengulangan atau kondisi berhenti
1.2.2 Pengulangan While … do
            Pernyataan ini bertugas mengulang satu pernyataan atau suatu blok pernyataan atau selama (while) suatu kondisi (syarat) bernilai true. Penulisannya adalah sebagai berikut :
while do
Program akan menguji
 jika bernilai false, maka tidak dilaksanakan dan perulangan berhenti, kemudian menjalankan baris berikutnya.
 Jika bernilai true maka pernyataan akan dilaksanakan satu kali.
 1.2.3 Pengulangan Repeat…Until
            Pengulangan ini sama dengan while do, dan biasanya digunakan jika jumlah pengulangan belum dapat ditentukan pada saat program ditulis.

 Perbedaan dengan while do adalah kondisi dicek pada awal blok sementara untuk repeat… until dicek pada akhir blok

 Perbedaan lainnya adalah while do mengulang pernyataan selama kondisi masih terpenuhi, tetapi pernyataan repeat … until hanya akan mengulang pernyataan selama kondisi belum terpenuhi.

 Pada repeat … until dapat melakukan pengulangan lebih dari satu pernyataan, baik yang berupa kumpulan pernyataan tunggal atau kumpulan blok pernyataan. Jadi bagian yang diulang adalah segala sesuai yang berada antara pernyataan repeat…until.
1.2.4 Pengulangan For … do
           Pengulangan ini paling sederhana digunakan untuk melaksanakan pengulangan satu pernyataan atau satu blok program beberapa kali yang ditentukan oleh nilai awal dan nilai akhir. Dengan kata lain, jumlah pengulangan yang akan dikerjakan sudah diketahui.

 For := to do ;

 Atau

 For := downto do ;
 1.3.1 SUBRUTIN
            Subroutin terdiri dari dua yaitu procedure dan fungsi, kedua subrutin ini berisi beberapa pernyataan yang berfungsi untuk melakukan tugas tertentu. Perbedaan dari kedua subrutin tersebut adalah bahwa fungsi (function) selalu mengembalikan suatu nilai setelah dipanggil sedangkan prosedure (procedure)tidak
1.3.2 Procedure
           merupakan bagian program yang melaksanakan program tertentu pada saat dipanggil dan kembali ke bagian pemangilnya.
contoh penulisannya :
Procedure nama_proc (Parameter1, parameter 2, …);
begin
end;
atau
Procedure latih (A : string);
begin
end;
1.3.2 Function
            Merupakan bagian program yang melaksanakan proram tertentu pada saat di panggil dan kembali ke bagian pemanggilnya dengan menghasilkan sebuah nilai. Contoh penulisannya :
function Nama_func (Paramater1, parameter2, .. ):Tipe;
Begin
end;
atau
function latihan(A : Integer) : real;
begin
end;
 1.3.3 UNIT
            Sebuah program dibangun berdasarkan modul kode-kode program yang disebut dengan unit. Setiap kita membuat sebuah form, unti akan dibuat dengan sendirinya. Unit tersebut berfungsi untuk mengatur serta mengendalikan segala sesuatu yang berhubungan dengan form.

 Unit memungkinkan bagi kita untuk membagi program yang besar menjadi modul-modul yang dapat disunting secara terpisah. Unit jenis ini dapat berisi kumpulan function atau procedure yang telah dikompilasi yang dapat dipakai program aplikasi lain.

BAB II
Dasar Pemrogaman Delphi - Membuat Database


2.1 Database
         Belajar Dasar Pemrogaman Delphi - Membuat Database - Dalam membuat program Aplikasi perpustakaan hal yang perlu dilakukan diawal adalah membuat Basis Data dengan menggunakan Microsoft Access 2007, adapun langkah-langkahnya dapat dilakukan dengan cara :

a. Mengaktifkan Micorosoft Access 2007, Dengan cara Klik Start, all program, Microsoft access, klik Microsoft Access 2007.

b. Setelah Microsoft Access aktif, pada “Getting Started with Microsoft Office Access, Klik blank Database, maka akan terbuka windows blank Database, tuliskan nama file pada file name, lalu klik brows untuk menentukan lokasi file database disimpan (D:\Persputakaan). Dan yang terakhir klik tombol Create.

c. Lembar kerja Access akan terbuka, kita cukup klik kanan pada Tabel1 dan klik design view, buatlah nama table dengan nama Penerbit, dan klik OK, adapun isi tabelnya adalah :
IDPenerbit Text field size : 5
NMPenerbit Text field size : 25
Alamat text field size : 30
d. Membuat table baru dapat mengklik tombol menu Create, lalu klik table dan klik kanan pada table1 dan klik design view, buatlah nama table dengan nama Buku, dan klik OK, adapun isi tabelnya adalah :
IDBuku Text field size : 5
JdlBuku Text field size : 30

e. Lakukan langkah-langkah untuk membuat table baru dan isikan field-field sesuai dengan table yang akan dibuat : adapun daftar table-table tersebut adalah :
1. Tabel Anggota
ID_ANggota text 7
NAma text 50
Alamat text 50
Kelurahan text 50
Kecataman text 50
Kota text 25
No_telp text 12
Tmp_lhr text 25
Tgl_lhr Date

2. Tabel Buku
IDBUku text 5
Jdlbuku text 100
Pengarag text 50
Th_terbit text 4
Status text 20

3. Tabel DPinjam
ID_Pinjam text 5
Id_Buku text 5

4. Tabel Jenis_Buku
ID_Buku text 5
Jenis text 20

5. Tabel Peminjam
ID_Pinjam text 5
ID_ANggota text 7
Tgl_Pinjam date
Tgl_Kembali date

6. Penerbit_Buku
ID_penerbit text 5
NMPenerbit text 50
AlmPenerbit text 30



BAB III
Membuat Menu Pemrogaman Delphi


            Dalam membuat program aplikasi dengan menggunakan Delphi 7.0 langkah pertama yang harus dilakukan adalah dengan cara :

1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Pada object Inspektor, pada bagian properties klik Caption, ketikkan Menu Utama.
3. Masih pada object inspector, pada bagian properties, Klik name, ketikan FrmMenu.
4. Klik tombol menu File, Klik Save all, tentukan folder yang akan digunakan untuk menyimpan program aplikasi, dan ganti unit1 pada file name, dengan Umenu, lalu Tekan tombol save, dan selanjutnya adalah ganti project1 pada file name, menjadi prjpustaka,lalu klik tombol Save.
Catatan :
Setiap kali ada penambahan form, selalu diganti caption dan name serta simpan form tersebut baru melanjutkan pekerjaan.
5. Membuat Menu Utama
Langkah selanjutnya adalah membuat menu utama yaitu dengan cara, klik standard pada component pallete, lalu klik MainMenu (Menus), gerakkan kursor pada form (area kerja) dan klik di sembarang tempat. Dengan demikian maka object mainmenu akan terletak pada form.
6. Klik kanan dengan mouse pada objek mainmenu di form, lalu klik Menu designer, dengan demikian akan ditampilkan windows designer.
7. Pada object inspector, di bagian properties, klik caption dan ketikkan File lalu tekan enter.
8. Klik file pada windows designer, lalu klik kotak dibawahnya, klik caption pada properties lalu ketikkan Penerbit, tekan enter. Klik kotak di bawah penerbit pada windows designer lalu klik caption pada properties ketik buku dan lanjutkan untuk menu-menu yang lain.
9. Tutup windows designer dengan cara klik form menu.
10. Tambahkan satu buah form lagi dengan cara klik Project, new dan klik form, Klik File, Klik Save, beri nama Upenerbit lalu klik Save.
11. Klik caption pada properties, lalu ketikan Input Penerbit, klik name pada properties lalu ketik frmpenerbit
12. Klik menu View, klik Forms, lalu double klik FrmMenu, klik File pada form menu, klik penerbit, ketikkan listing koding berikut :
Frmpenerbit.show
13. Jalankan program dengan cara klik menu Run, klik Run atau dapat juga menekan tombol F9, lalu klik File dan klik penerbit






BAB  IV

Membuat Form Pemrogaman Delphi



               Karena project Prjpustaka sebelumnya sudah dibuat, maka pada kesempatan ini adalah melengkapi frompenerbit yaitu dengan cara:
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik menu View, lalu klik forms dan double klik frmpenerbit, lengkapi form tersebut seperti gambar berikut :
Catatan :
Form diatas terdiri dari :
Palette standard : Label, Edit dan Button
Palette Data controls : DBGrid
Palette ADO : Ado Connection
Palette DAtaAcces : DataSource
4. Mengkoneksikan database
Klik ADOQuery1 pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
Dan klik next, pada data source ketikkan : D:\perpustakaan\perpustakaan.accdb, dan yang terakhir klik test connection.
Gambar 2. mengkoneksikan Database M. Access
5. apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmpenerbit.
6. Masih pada Adoquery1, klik SQL pada properties, lalu ketikkan select * From penerbit. Dan Klik Active pada properties ganti false menjadi true.
7. Mengaktifkan DataSource, yaitu dengan cara klik Datasource pada form penerbit, lalu klik Dataset pilih Adoquery1
8. Mengkoneksikan DBGrid dengan Data, yaitu dengan cara klik DBGrid, lalu klik Datasource dan pilih datasource1
9. Membuat Koding program pada tombol Insert, double klik tombol insert ketikkan listing berikut :
procedure TFrmpenerbit.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.clear;
adoquery1.SQL.Add ('insert into penerbit(id_penerbit,penerbit,alamat) values ("'+ edit1.text +'","'+edit2.text+'","'+edit3.text+'")');
adoquery1.ExecSQL;
adoquery1.SQL.Clear;
adoquery1.SQL.add('Select * from penerbit');
adoquery1.Open;
edit1.text =’’;
kosong;
end;

10. Membuat Koding program pada tombol update, double klik tombol update ketikkan listing berikut :
<p>procedure TFrmpenerbit.Button2Click(Sender: TObject);</p>
<p>begin</p>
<p>adoquery1.Close;</p>
<p>adoquery1.SQL.Clear;</p>
<p>adoquery1.SQL.add('update penerbit set penerbit ="'+ edit2.Text +'", alamat="'+ edit3.Text +'" where id_penerbit ="'+ edit1.Text +'"');</p>
<p>adoquery1.ExecSQL;</p>
<p>adoquery1.SQL.clear;</p>
<p>adoquery1.SQL.Add('Select * from penerbit');</p>
<p>adoquery1.Open;</p>
<p>edit1.text =’’;</p>
<p>kosong;</p>
<p>end;</p>
11. Membuat Koding program pada tombol Delete, double klik tombol delete ketikkan listing berikut :
<p>procedure TFrmpenerbit.Button3Click(Sender: TObject);</p>
<p>begin</p>
<p>adoquery1.Close;</p>
<p>adoquery1.SQL.Clear;</p>
<p>adoquery1.SQL.add('delete from penerbit where id_penerbit ="'+ edit1.Text +'"');</p>
<p>adoquery1.ExecSQL;</p>
<p>adoquery1.SQL.clear;</p>
<p>adoquery1.SQL.Add('Select * from penerbit');</p>
<p>adoquery1.Open;</p>
<p>edit1.text =’’;</p>
<p>kosong;</p>
<p>end;</p>

12. Membuat Koding program pada tombol close, double klik tombol close ketikkan listing berikut :

<p>procedure TFrmpenerbit.Button4Click(Sender: TObject);</p>
<p>begin</p>
<p>frmpenerbit.Close;</p>
<p>end;</p>
13. Membuat koding untuk filter pada edit1, apabila dimasukkan data dan ternyata data tersebut sudah ada maka akan ditampilkan datanya tetapi kalau belum ada maka kursor akan bergerak ke edit2. adapun caranya adalah klik edit1, lalu klik Events pada object inspector dan double klik pada Onkeypress, lalu ketik listing berikut :
<p>procedure TFrmpenerbit.Edit1KeyPress(Sender: TObject; var Key: Char);</p>
<p>begin</p>
<p>if key=#13 then</p>
<p>begin</p>
<p>adoquery1.Close;</p>
<p>adoquery1.SQL.Clear;</p>
<p>adoquery1.SQL.add('select * from penerbit where id_penerbit ="'+ edit1.Text +'"');</p>
<p>adoquery1.open;</p>
<p>if not adoquery1.Eof then</p>
<p>begin</p>
<p>  edit2.Text := adoquery1.Fields[1].AsString;</p>
<p>  edit3.Text := adoquery1.Fields[2].AsString;</p>
<p>end</p>
<p>else</p>
<p>  edit2.SetFocus;</p>
<p>end;</p>
<p>end;</p>

14. Membuat procedure kosong, ketik listing berikut :
1
2
3
4
5
<p>procedure TFrmpenerbit.kosong();</p>
<p>begin</p>
<p>edit2.text :='';</p>
<p>edit3.text :='';</p>
<p>end;</p>
15. Pada form Active (OnActive) ketik listing berikut :

1
2
3
4
5
6
<p>procedure TFrmpenerbit.FormActivate(Sender: TObject);</p>
<p>begin</p>
<p>edit1.text ='';</p>
<p>kosong;</p>
<p>@Ahmad</p>
<p>Selamat Mencoba…</p>





BAB V
Program Aplikasi Perpustakaan Delphi + Ms. Access


                  Maka pada kesempatan ini adalah melengkapi frmanggota yaitu dengan cara:
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Input Data Anggota, dan pada name ketikkan frmanggota.
4. Klik menu View, lalu klik forms dan double klik frmenu, klik file pada frmmenu, klik anggota dan ketikkan :
frmanggota.show;
5. Klik menu View, lalu klik forms dan double klik frmanggota, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form anggota
Catatan :
Form diatas terdiri dari :
Palette standard : Label, Edit, Button dan RadioGroup (items diisi dengan laki-laki dan perempuan, column diisi dengan 2)
Palette Data controls : DBGrid
Palette ADO : Ado Connection
Palette DataAcces : DataSource
Palette Win32 : DatetimePicker
6. Mengkoneksikan database
Klik ADOQuery1 pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
Dan klik next, pada data source ketikkan : D:\perpustakaan\perpustakaan.accdb, dan yang terakhir klik test connection.
Gambar 2. mengkoneksikan Database M. Access
7. apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmanggota.
8. Masih pada Adoquery1, klik SQL pada properties, lalu ketikkan :
select * From anggota
Dan Klik Active pada properties ganti false menjadi true.
9. Mengaktifkan DataSource, yaitu dengan cara klik Datasource pada form anggota, lalu klik Dataset pilih Adoquery1
10. Mengkoneksikan DBGrid dengan Data, yaitu dengan cara klik DBGrid, lalu klik Datasource dan pilih datasource1
11. Membuat koding pada pada radiogroup dengan cara dauble klik radiogroup lalu ketik listing berikut :
1
2
3
4
5
6
7
procedure TForm2.RadioGroup1Click(Sender: TObject);
begin
if radiogroup1.ItemIndex = 0 then
jenis := 'L'
else
jenis := 'P';
end;
12. Membuat Koding program pada tombol Insert, double klik tombol insert ketikkan listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
procedure TFrmanggota.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.clear;
adoquery1.SQL.Add ('insert into anggota(idanggota,nama,tgl_lhr,jenis) values ("'+ edit1.text +'","'+edit2.text+'","'+jenis+'","'+datetostr(datetimepicker1.date)+'")');
adoquery1.ExecSQL;
adoquery1.SQL.Clear;
adoquery1.SQL.add('Select * from anggota');
adoquery1.Open;
edit1.text =’’;
kosong;
end;
13. Membuat Koding program pada tombol update, double klik tombol update ketikkan listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
procedure TFrmanggota.Button2Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('update anggota set nama ="'+ edit2.Text +'", jenis="'+ jenis +'", tgl_lhr =”’+ datetostr(datetimepicker1.date) +’” where id_anggota ="'+ edit1.Text +'"');
adoquery1.ExecSQL;
adoquery1.SQL.clear;
adoquery1.SQL.Add('Select * from anggota');
adoquery1.Open;
edit1.text =’’;
kosong;
end;
14. Membuat Koding program pada tombol Delete, double klik tombol delete ketikkan listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
procedure TFrmanggota.Button3Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('delete from anggota where idanggota ="'+ edit1.Text +'"');
adoquery1.ExecSQL;
adoquery1.SQL.clear;
adoquery1.SQL.Add('Select * from anggota');
adoquery1.Open;
edit1.text =’’;
kosong;
end;
15. Membuat Koding program pada tombol close, double klik tombol close ketikkan listing berikut :
1
2
3
4
procedure TFrmanggota.Button4Click(Sender: TObject);
begin
frmanggota.Close;
end;
16. Membuat koding untuk filter pada edit1, apabila dimasukkan data dan ternyata data tersebut sudah ada maka akan ditampilkan datanya tetapi kalau belum ada maka kursor akan bergerak ke edit2. adapun caranya adalah klik edit1, lalu klik Events pada object inspector dan double klik pada Onkeypress, lalu ketik listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TFrmanggota.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from anggota where idanggota ="'+ edit1.Text +'"');
adoquery1.open;
if not adoquery1.Eof then
begin
edit2.Text := adoquery1.Fields[1].AsString;
edit3.Text := adoquery1.Fields[2].AsString;
if adoquery1.Fields[3].AsString = 'L' then
radiogroup1.ItemIndex :=0
else
radiogroup1.ItemIndex :=1;
datetimepicker1.DateTime := adoquery1.Fields[4].AsDateTime;
end
else
edit2.SetFocus;
end;
end;
17. Membuat procedure kosong, ketik listing berikut :
1
2
3
4
procedure TFrmanggota.kosong();
begin
edit2.text :='';
end;
18. Pada form Active (OnActive) ketik listing berikut :
1
2
3
4
procedure TFrmanggota.FormActivate(Sender: TObject);
begin
edit1.text ='';
kosong;



BAB VI

Membuat Form Buku Bahasa Pemrogaman Delphi -



           maka pada kesempatan ini adalah melengkapi frmBuku yaitu dengan cara:
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Input Data Buku, dan pada name ketikkan frmBuku.
4. Klik menu View, lalu klik forms dan double klik frmenu, klik file pada frmmenu, klik Buku dan ketikkan :
frmbuku.show;
5. Klik menu View, lalu klik forms dan double klik frmbuku, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form Buku




BAB VI
Transaksi Peminjaman Buku

                 maka pada kesempatan ini adalah melengkapi frmpinjam yaitu dengan cara:
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Input Data Transaksi Peminjaman, dan pada name ketikkan frmpinjam.
4. Klik menu View, lalu klik forms dan double klik frmenu, klik Transaksi pada frmmenu, klik peminjaman dan ketikkan :
frmpinjam.show;
5. Klik menu View, lalu klik forms dan double klik frmpeminjam, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form Transaksi Peminjaman Buku


Catatan :
Form diatas terdiri dari :
Palette DataControl : bblookupcombobox, DBedit
Palette standard : panel, Label, Edit, Button
Palette Additional : StringGrid
Palette ADO : Ado Connection dan ADOquery
Palette DataAcces : DataSource
Palette Win32 : DatetimePicker
6. Mengkoneksikan database dengan menggunakan Adoconnection
Klik ADOconnection pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
Dan klik next, pada data source ketikkan : D:\perpustakaan\perpustakaan.accdb, dan yang terakhir klik test connection.
Gambar 2. mengkoneksikan Database M. Access
7. apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmpinjam.
8. Klik Adoquery1, klik Adoconnection pada proterties: lalu pilih ADOConnection1, dan klik SQL pada properties, lalu ketikkan :
select * From anggota
Dan Klik Active pada properties ganti false menjadi true.
9. Klik Adoquery2, klik Adoconnection pada proterties: lalu pilih ADOConnection1, dan klik SQL pada properties, lalu ketikkan :
select * From Buku
Dan Klik Active pada properties ganti false menjadi true.
Untuk Adoquery3 dan ADOquery4 hanya properties untuk Adoconnection : ADOConnection1.
10. Mengaktifkan DataSource1, yaitu dengan cara klik Datasource1 pada form pinjam, lalu klik Dataset pilih Adoquery1
11. Mengaktifkan DataSource2, yaitu dengan cara klik Datasource2 pada form pinjam, lalu klik Dataset pilih Adoquery2
12. Mengaktifkan DBLookupComboBox1, dengan cara klik DBLookupcombobox1, dan klik listssource : pilih DataSource1, ListField isi dengan IDAnggota, dan untuk keyfield isi dengan IDAnggota.
13. Mengaktifkan DBEdit1, dengan cara klik DBEdit1, lalu klik Datasource pada properties, lalu pilih datasource1 dan datafilednya nama
14. Mengaktifkan DBLookupComboBox2, dengan cara klik DBLookupcombobox2, dan klik listssource : pilih DataSource2, ListField isi dengan IDBuku, dan untuk keyfield isi dengan IDBuku
15. Mengaktifkan DBEdit2, dengan cara klik DBEdit2, lalu klik Datasource pada properties, pilih datasource2 dan datafilednya JudulBuku
16. Mengaktifkan DBEdit3, dengan cara klik DBEdit3, lalu klik Datasource pada properties, pilih datasource2 dan datafilednya Pengarang
17. Mengisi Edit2, dengan cara double klik Edit2 pada form pinjam, ganti events dengan OnKeypress, lalu ketik listing berikut :
1
2
3
4
5
6
7
8
procedure TFrmPinjam.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key >= '0') and (key <= '9') or (key=#8)) then
begin
key:=#0;
Application.Messagebox('maaf hanya angka','Cek Input',mb_iconstop);
end;
end;
18. Mengisi Tombol Proses, dengan cara double klik tombol proses lalu ketik listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TFrmPinjam.Button1Click(Sender: TObject);
var
i,qty,tot:integer;
begin
sg.RowCount := sg.rowcount+1;
sg.cells[1,sg.RowCount-1]:=dblookupcombobox2.text;
sg.Cells[2,sg.RowCount-1]:=dbedit2.Text ;
sg.Cells[3,sg.rowcount-1]:=dbedit3.Text ;
qty:=strtoint(edit3.Text);
sg.cells[4,sg.rowcount-1]:=edit3.text;
tot:=0;
for i:=1 to sg.RowCount-1 do
begin
tot := tot + strtoint(sg.Cells[4,i]);
sg.Cells[0,i]:=inttostr(i);
end;
edit4.text := inttostr(tot);
end;
19. Mengisi tombol Hapus, dengan cara double klik tombol hapus lalu ketik listing berikut :
procedure TFrmPinjam.Button5Click(Sender: TObject);
begin
sg.RowCount := sg.rowcount-1;
end;
20. Mengisi tombol Save, dengan cara double klik tombol save lalu ketik listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TFrmPinjam.Button2Click(Sender: TObject);
var i :integer;
begin
if messagedlg('Yakin akan disimpan',mtinformation,[mbyes,mbno],0)=mryes then
begin
adoquery4.sql.Clear;
adoquery4.sql.add ('insert into pinjam(id_pinjam,id_anggota,tgl_pinjam)values ("'+ edit1.Text +'","'+ dblookupcombobox1.Text +'","'+ datetostr(dt.date) +'")');
adoquery4.execsql;
for i :=1 to sg.RowCount-1 do
begin
adoquery3.SQL.Clear;
adoquery3.sql.add('insert into dpinjam(id_pinjam,id_buku,jumlah) values ("'+ edit1.Text +'","'+ sg.Cells[1,i] +'","'+ sg.cells[4,i] +'")');
adoquery3.ExecSQL ;
end;
end;
end;
21. Membuat Koding program pada tombol close, double klik tombol close ketikkan listing berikut :
procedure TFrmpinjam.Button4Click(Sender: TObject);
begin
frmpinjam.Close;
end;
22. Pada form Create (OnCreate) ketik listing berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TFrmPinjam.FormCreate(Sender: TObject);
begin
edit2.text:=datetostr(dt.Date);
edit6.Text:=datetostr(dt2.Date);
sg.RowCount :=1;
sg.ColCount:=5;
sg.Cells[0,0]:='No';
sg.Cells[1,0]:='Kode Buku';
sg.Cells[2,0]:='Judul buku';
sg.Cells[3,0]:='Pengarang';
sg.Cells[4,0]:='Qty';
sg.ColWidths [0]:=40;
sg.ColWidths [1]:=60;
sg.ColWidths [2]:=80;
sg.Colwidths[3]:=80;
sg.colwidths[4]:=60;
end;


BAB VII

Pengembalian Buku Pemrogaman Delphi



            maka pada kesempatan ini adalah melengkapi frmkembali yaitu dengan cara :
1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Input
 Data TransaksiPengembalian, dan pada name ketikkan frmkembali.
4. Klik menu View, lalu klik forms dan double klik frmenu, klik Transaksi pada frmmenu, klik Pengembalian dan ketikkan :
frmkembali.show;
5. Klik menu View, lalu klik forms dan double klik frmkembali, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form Transaksi Pengembalian Buku


Adapun koding selengkapnya adalah :
a. Buatlah variable seperti di bawah ini :
b. Membuat Koding pada Form Activate
procedure TFrmKembali.FormActivate(Sender: TObject);
begin
edit1.SetFocus;
end;
c. Membuat Koding pada Form Create
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TFrmKembali.FormCreate(Sender: TObject);
begin
edit1.Text :='';
edit6.Text := '1000';
edit2.Enabled := false;
edit3.Enabled := false;
edit4.Enabled := false;
edit5.Enabled := false;
edit6.Enabled := false;
edit7.Enabled := false;
edit8.Enabled := false;
datetimepicker1.Enabled := false;
end;
d. Buat koding pada edit1 dengan menggunakan event on keypress
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
procedure TFrmKembali.Edit1KeyPress(Sender: TObject; var Key: Char);
var tgl :tdatetime;
begin
if key=#13 then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('Select * from pinjam where id_pinjam="'+ edit1.Text +'"');
adoquery1.open;
if not adoquery1.Eof then
begin

  //menghitung tanggal tempo
  decodedate(datetimepicker1.DateTime,thn,bln,hari);
  hari := hari + 5;
  tanggal := encodedate(thn,bln,hari);
  edit2.Text := formatdatetime('dd/mm/yyyy',tanggal);

  edit3.Text := adoquery1.Fields[1].AsString;
  tgl := adoquery1.Fields[3].AsDateTime;
  if datetostr(tgl)  <> ''  then
  begin
    button1.Enabled := false;
    datetimepicker2.enabled := false;
    showmessage('Buku Sudah dikembalikan');
  end;

  datetimepicker1.Date := adoquery1.Fields[2].AsDateTime;
  datetimepicker2.date := adoquery1.fields[3].asdatetime;


  //menselect data pada id anggota
  adoquery2.close;
  adoquery2.SQL.clear;
  adoquery2.SQL.add('select * from Anggota where id_Anggota = "'+ edit3.Text +'"');
  adoquery2.Open;
  if not adoquery2.Eof then
  begin
    edit4.text := adoquery2.Fields[1].AsString;
    edit5.Text := adoquery2.Fields[2].AsString;
  end;

  //menampilkan data buku pada datagrid
  adoquery3.Close;
  adoquery3.SQL.Clear;
  adoquery3.SQL.add('select dpinjam.id_pinjam,dpinjam.id_buku,buku.judulbuku,jumlah from dpinjam,buku where dpinjam.id_buku = buku.kode and id_pinjam ="' + edit1.Text +'"');
  adoquery3.open;
  if not adoquery3.eof then
  datasource1.dataset := adoquery3;
  DBGrid1.DataSource := datasource1;
end
else
  showmessage('data tidak ditemukan');

end;
end;
e. Membuat koding pada datetimepicker2 dengan menggunakan event change
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TFrmKembali.DateTimePicker2Change(Sender: TObject);
begin
edit8.text:='0';
edit7.Text :='0';
tgl1 := datetimepicker1.Date;
tgl2 := datetimepicker2.date;
if (tgl2 > tanggal) then
begin
lama :=trunc(tgl2 - tgl1);
edit7.Text := inttostr(lama);
edit8.text := inttostr(strtoint(edit6.text) * lama);
end
else
edit7.Text := '0';
end;
f. Membuat koding pada tombol prosess button1
procedure TFrmKembali.Button1Click(Sender: TObject);
begin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
adoquery1.Close;
adoquery1.SQL.clear;
adoquery1.SQL.add('update pinjam set tgl_kembali = "'+ datetostr(datetimepicker2.date)+'", tgl_tempo = "'+ edit2.text +'" where id_pinjam ="'+ edit1.text +'"');
adoquery1.ExecSQL;
showmessage('Data Sudah terupdate');
edit1.Text := '';
edit2.text := '';
edit3.text := '';
edit4.text := '';
edit5.text := '';
edit6.text := '';
edit7.text := '';
edit8.text := '';
end;



BAB VIII

Membuat Nomor Peminjaman Secara Otomatis Pada Form Transaksi Peminjaman Buku


 

              maka pada kesempatan ini adalah melengkapi frmpinjam yaitu dengan cara:

Membuat nomor pinjam secara otomatis yang terdiri dari 9 digit yang dihasilkan dengan proses :

Dua digit pertama adalah tahun
Dua digit kedua adalah bulan
Lima digit terakhir adalah nomor urut
Sehingga menghasilkan nomor : 100100001

Adapun langkah-langkahnya adalah :
1. Membuat fungsi rightstr dengan cara mengetikan koding secara langsung diluar procedure di bawah implementation.
// Membuat Fungsi Left, right, mid String

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
implementation
{$R *.dfm}
function RightStr
    (Const Str: String; Size: Word): String;
begin
  if Size > Length(Str) then Size := Length(Str) ;
  RightStr := Copy(Str, Length(Str)-Size+1, Size)
end;
function MidStr
    (Const Str: String; From, Size: Word): String;
begin
  MidStr := Copy(Str, From, Size)
end;
function LeftStr
    (Const Str: String; Size: Word): String;
begin
  LeftStr := Copy(Str, 1, Size)
end;

2. Membuat koding pada Form Create sebagai berikut :

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
procedure TFrmPinjam.FormCreate(Sender: TObject);
var i,nomor: integer;
nom,no : string;
begin
//Membuat Nomor peminjaman secara otomatis
decodedate(date,Thn,Bln,hari);
adoquery5.Close;
adoquery5.SQL.clear;
adoquery5.SQL.add('Select * from pinjam');
adoquery5.open;
if adoquery5.RecordCount = 0 then
  nomor := 1
else
begin
nom := rightstr(inttostr((adoquery5.fields[0].AsInteger)),5);
nomor := strtoint(nom) + 1;
end;
no:='0';
for i := 1 to (4 - length(inttostr(nomor))) do
begin
  no := no + '0';
end;
edit1.text := rightstr(inttostr(thn),2) + rightstr(('0'+inttostr(bln)),2)+no+ inttostr(nomor);
//untuk menghitung tanggal tempo
decodedate(date,Thn,Bln,hari);
hari := hari + 5;
tanggal := encodedate(thn,bln,hari);
edit2.Text := formatdatetime('DD/MM/yyyy',tanggal) ;
sg.RowCount :=1;
sg.ColCount:=5;
sg.Cells[0,0]:='No';
sg.Cells[1,0]:='Kode Buku';
sg.Cells[2,0]:='Judul buku';
sg.Cells[3,0]:='Pengarang';
sg.Cells[4,0]:='Qty';
sg.ColWidths [0]:=40;
sg.ColWidths [1]:=60;
sg.ColWidths [2]:=80;
sg.Colwidths[3]:=80;
sg.colwidths[4]:=60;
end;


BAB IX

Bahasa Pemrogaman Delphi - Membuat Report dengan Rave


               Karena project Prjpustaka sebelumnya sudah dibuat, pada modul 2. Membuat menu, maka pada kesempatan ini adalah melengkapi frmanggota yaitu dengan cara:
1.                  Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.
2.                  Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open
3.                  Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Cetak  Data Anggota, dan pada name ketikkan frmcetakanggota.
4.                  Klik menu View, lalu klik forms dan double klik frmenu, klik file pada frmmenu, klik anggota dan ketikkan :
frmcetakanggota.show;
5.                  Klik menu View, lalu klik forms dan double klik frmcetakanggota, lengkapi form tersebut seperti gambar berikut :
Gambar 1. Membuat form Cetak Anggota

Catatan :
Form disamping terdiri dari :
Ado connection, ADoQuery dan Dataset
Button1 untuk cetak dan Button2 untuk Cancel
Untuk membuat laporan kita menggunakan dua komponen pallete RAVE yaitu :
RVProject dan RVDataSetConnection
Mengkoneksikan database
  Klik ADOQuery1 pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
  Dan klik next, pada data source ketikkan : D:\perpustakaan\perpustakaan.accdb, dan yang terakhir klik test connection. Apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmCetakanggota.
  Masih pada Adoquery1, klik SQL pada properties, lalu ketikkan :
select * From anggota
Dan Klik Active pada properties ganti false menjadi true.
  Mengaktifkan DataSource, yaitu dengan cara klik Datasource pada form anggota, lalu klik Dataset pilih Adoquery1
  Mengkoneksikan RVDataSetConnection  dengan dataset, dengan cara klik RVDataSetConnection, pada properties klik Dataset, lalu pilih AdoQuery1

Langkah-langkah membuat laporan dengan menggunakan RAVE
1.                  Klik menu Tools pada delphi, klik RAVE designer
2.                  Klik file, Klik New
3.                  Klik File, Klik New Data Object
4.                  Klik Direct Dataview
5.                  Apabila sebelumnya pernah membuat laporan dengan rave, maka akan ditampilkan pesan “Warning! Duplicate Design-time Data Connections found with name “RvDataSetConnection1”. Lalu klik Ok dan klik tombol Next
6.                  Klik finish
7.                  Klik RVDatasetconnection1 (DT), lalu Klik Finish
8.                  Untuk  memastikan data yang akan dibuatkan reportnya dapat dilihat pada sudut kanan lembar kerja Rave yaitu seperti gambar berikut, dengan cara klik Data view Dictionary, Klik Dataview.

9.                  Klik menu tools pada Rave, lalu klik Report Wizard, Klik Simple Table
10.              Klik Dataview1 dan Klik Next, Klik All (untuk mengikutsertakan seluruh data yang ada pada table) atau klik field tertentu saja yang akan ditampilkan, lalu klik Next, Klik Next, Klik next dan yang terakhir klik Generate
11.              Untuk melihat hasil report dapat diklik menu File pada RAVE, lalu klik Execute report1 dan Klik OK
12.              Tutup laporan
13.              Klik Menu file pada RAVE, lalu Klik Save As, perintah ini untuk menyimpan Report, tentukan folder sama dengan project Delphi disimpan, beri nama file dengan nama PRJAnggota.rav, lalu Klik Save
10.  Kembali Menu Project Delphi
11.  Klik RVProject1, lalu pada properties klik ProjectFile, Klik tombol titik-titik, pilih file report yang akan ditampilkan (PRJanggota.rav) dan klik OK
12.  Selanjutnya adalah Double klik pada tombol Cetak dan ketikkan koding sebagai berikut :
1
2
3
4
5
6
7
8
9
10
procedure TFrmCetBuku.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.clear;
adoquery1.SQL.Add('select kode, judulbuku from Anggota');
adoquery1.Open;
adoquery1.Active := true;
RVproject1.Execute;
RVproject1.ExecuteReport('prjbuku.rav');
end;

BAB X

Membuat Report dengan Rave dan Delphi 7




                maka pada kesempatan ini adalah melengkapi frmanggota yaitu dengan cara:

1. Mengaktifkan Delphi 7.0 dengan cara, klik Start, Klik All Program, Klik Borland Delphi 7, Klik Delphi 7.

2. Klik menu File, klik Open Project, tentukan folder tempat anda menyimpan project PRjpustaka, lalu klik prjpustaka dan klik open

3. Klik Menu file, Klik New, klik form, ganti caption pada properties dengan Cetak Data Anggota, dan pada name ketikkan frmcetakanggota.


4. Klik menu View, lalu klik forms dan double klik frmenu, klik file pada frmmenu, klik anggota dan ketikkan :

frmcetakanggota.show;

5. Klik menu View, lalu klik forms dan double klik frmcetakanggota, lengkapi form tersebut seperti gambar berikut :

Gambar 1. Membuat form Cetak Buku Per Penerbit

 


Catatan :
Form diatas terdiri dari :
Groupbox, Edit1 dan label1
Ado connection, ADoQuery dan Dataset
Button1 untuk cetak dan Button2 untuk Cancel
Untuk membuat laporan kita menggunakan dua komponen pallete RAVE yaitu
RVProject dan RVDataSetConnection

6. Mengkoneksikan database
Klik ADOQuery1 pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection
Dan klik next, pada data source ketikkan : D:\perpustakaan\perpustakaan.accdb, dan yang terakhir klik test connection. Apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmCetakanggota.
7. Masih pada Adoquery1, klik SQL pada properties, lalu ketikkan :
select * From anggota
Dan Klik Active pada properties ganti false menjadi true.
8. Mengaktifkan DataSource, yaitu dengan cara klik Datasource pada form anggota, lalu klik Dataset pilih Adoquery1
9. Mengkoneksikan RVDataSetConnection dengan dataset, dengan cara klik RVDataSetConnection, pada properties klik Dataset, lalu pilih AdoQuery1

Setelah selesai membuat Report dengan Rave dilanjutkan dengan
10. Kembali Menu Project Delphi pada form Cetak
11. Klik RVProject1, lalu pada properties klik ProjectFile, Klik tombol titik-titik, pilih file report yang akan ditampilkan (PRJanggota.rav) dan klik OK
12. Selanjutnya adalah Double klik pada tombol Cetak dan ketikkan koding sebagai berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from Penerbit,buku where penerbit.id_penerbit = buku.id_penerbit and  buku.id_penerbit = "'+ edit1.Text +'"');
adoquery1.Open;
if not adoquery1.Eof then
begin
  rvproject1.Execute;
  rvproject1.ExecuteReport('prjbukupenerbit.rav');
end
else
  showmessage('Data tidak ditemukan');
end;

 

 

BAB XI

Membuat Laporan Rave Master dan Detail



1.                  

 

  Langkah-langkah pembuatan laporan dengan menggunakan Rave adalah :
1. Menambahkan form baru pada projek
 yang telah dibuat sebelumnya.
2. Tambahkan komponen :
1 buah Ado connection, 2 buah ADoQuery dan Dataset
dan tambahkan juga 2 buah button, Button1 untuk cetak dan Button2 untuk CancelUntuk membuat laporan kita menggunakan dua komponen pallete RAVE yaitu : 1 buah RVProject dan 2 buah RVDataSetConnectionD
3. Mengkoneksikan Database dengan Adoconnection : 

·                     Klik ADOConnencti pada Form, klik ConnectionString (…), klik Build, Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider (untuk office 2007) tetapi kalau menggunakan office XP dapat dipilih Microsoft jet OLEDB 4.0, test connection

·                     Dan klik next, pada data source ketikkan : D:\Transaksi\transaksi.accdb, dan yang terakhir klik test connection. Apabila test connection tampil keterangan tes connection succeeded, maka koneksinya sudah benar, tutup semua windows koneksi dengan cara klik OK. kembali ke frmCetakanggota.

4. Mengaktifkan Adoquery 1 untuk tabel Transaksi
Klik Adoquery1, klik SQL pada properties, lalu ketikkan :

select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli

perintah ini dijadikan sebagai master yang akan digunakan untuk menampilkan data transaksi dan beralasi dengan tabel pelanggan

Dan Klik Active pada properties ganti false menjadi true.

5. Mengaktifkan Adoquery 2 untuk tabel Djual

select * , harga * jumlah as jumlahharga from djual, barang where djual.kode_barang = barang.kode_barang

perintah ini dijadikan sebagai Detail yang akan digunakan untuk menampilkan data Detail dari transaksi dan berelasi dengan tabel barang disertai dengan proses untuk menghitung jumlahharga yang didapat diari perkalian harga * jumlah

6.Mengkoneksikan RVDataSetConnection 1 ke Adoquery 1, sebaiknya nama RVDatasetConnection 1 diganti dengan RVTransaksi pada properties dengan dataset, dengan cara klik RVDataSetConnection/RVtransaksi, pada properties klik Dataset, lalu pilih AdoQuery1.

7. Mengkoneksikan RVDataSetConnection 2 ke Adoquery 2, sebaiknya nama RVDatasetConnection 2 juga diganti dengan RVDetail pada properties, dengan cara klik RVDataSetConnection/RVDetail, pada properties klik Dataset, lalu pilih AdoQuery2.

8. Menjalankan Rave
langkah-langkahnya adalah :

DataView untuk Master

·                     Double klik pada Rave Project atau Klik menu Tools pada delphi, klik RAVE designer

·                     Klik File, Klik New Data Object

·                     Klik Direct Data view

·                     Klik RVTransaksi (DT), lalu klik Finish

Data View untuk Detail

·                     Klik File, Klik New Data Object

·                     Klik Direct Data view

·                     Klik RVTransaksi (DT), lalu klik Finish

Dengan cara tersebut maka disudut kanan atas akan terbuat 2 buah Dataview yaitu Dataview 1 (untuk master) dan DataView 2 (untuk Detail)

9. Desain Report Master/Detail secara Manual
Klik Report pada Tab report setelah itu klik Region Component, gerak kursur kearah lembar kerja dan drag sehing lembar kerja tertutup semua dengan Region Component :

Klik Band Component pada tab Report lalu letakkan pada region, Klik Tab Standar lalu klik Text component, pada properties sebelah kiri, ganti text menjadi “Form Laporan Transaksi Pembelian” ini digunakan untuk judul dari laporan yang dibuat.


Klik Tab Report dan klik Data Band Component gerakkan kearah region lalu klik, maka akan terbuat Data Band 1, ini akan digunakan sebagai master table header, selanjutnya atur pada properties :
untuk data band pertama rubah

·                     Klik Bandstyle lalu klik master (body Header), lalu OK

·                     Klik DataView pada properties isi dengan DataView1 (Master)

·                     Klik Detail Key isi dengan NO_faktur

·                     Klik start New Page isi dengan True

Jika sudah selesai lanjutkan dengan mengisi Text Component yang ada pada tab Standar, lalu isikan ke dalam Data View satu sebanyak empat buah text masing-masing untuk : no transaksi, tanggal transaksi, id pelanggan dan nama pelanggan.
Klik Tab Report, lalu klik Data Text Component dan letak pada Dataview 1 atau tepatnya pada Data Band 1, sebanyak empat buah masing-masing ganti pada propertiesnya : Dataview diisi dengan Dataview 1, dan DataField disesuaikan dentan texnya lanjutkan dengan Data text yang lain sehingga membentuk gambar berikut


Uji Rave dengan cara klik File lalu Execute dan klik OK

Klik Tab Report kembali, lalu klik Data Band Component lalu klik pada region ini digunakan untuk menampilkan field detail, setelah itu atur pada properties dengan cara :

·                     Klik BandStyle, lalu klik detail, lalu OK

·                     Klik dataviewnya isi dengan dataview2

·                     Klik Detail key lalu isi dengan No_faktur

·                     Klik ControllerBand isi dengan DataBand1

·                     klik MasterDataView isi dengan Dataview1

·                     Klik MasterKey isi dengan NO_Faktur

langkahselanjutnya adalah klik Tab Report lalu klik DataText Component, dan letakkan pada Databand 2, sebanyak 5 buah untuk kode barang, nama barang, harga barang, jumlah, dan total, atur masing-masing data text component pada properties untuk Dataview isi dengan dataview 2 dan Data Fieldnya sesuai dengan data yang akan ditampilkan.




Tambahkan satu buah Databand dengan cara klik Tab Report dan klik Data Band Componen ini digunakan untuk menjumlah total setelah itu atur pada propertiesnya :

·                     Klik BandStyle, lalu klik row Footer(), lalu OK

·                     Klik dataviewnya isi dengan dataview2

·                     Klik Detail key lalu isi dengan No_faktur

·                     Klik ControllerBand isi dengan DataBand1

·                     klik MasterDataView isi dengan Dataview1

·                     Klik MasterKey isi dengan NO_Faktur

Klik Tab Report lalu klik Calc Text Component, letakkan pada Databand 3, lalu antur pada propertiesnya untuk Dataview isi dengan Dataview1, dan Data Field isi dengan jumlahharga dan untuk Controllernya isi dengan Dataview 2.


Uji Program… dengan cara klik File Klik Execute lalu klik OK

jika sudah selesai setting pada rave simpan file rave dengan cara klik File Klik Save as lalu tentukan Folder dimana project delphi dibuat beri nama Prjlaporantransaksi.rav.

Kembali ke Delphi,
Double klik Tombol Cetak lalu ketik listing program berikut :

1
2
3
4
5
6
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli');
adoquery1.Open;
adoquery1.Active :=true;
RvProject1.Execute;
rvproject1.ExecuteReport('Prjlaporantransaksi.rav');

 

 

 

BAB XII

Pembuatan Laporan Transaksi PerTanggal dan PerPeriode


 

Langkah-langkah Pembuatan Laporan Transaksi PerTanggal dan PerPeriode adalah :

1. Buatlah Form serperti di atas

2.Koneksikan ke dalam database dan isi adoquery

3. Membuat laporan dengan menggunakan Rave

Untuk nomor 1, 2 dan 3 diatas silahkan baca kembali modul berikut : <a href=”http://ahmadrizal.wordpress.com/2011/01/25/pemrograman-delphi-9-pembuatan-laporan-trasaksi-pembelian-barang-dengan-menggunakan-rave-masterdetail/”&gt; Pembuatan Report dengan Rave </a>

4. Kembali kedalam Form Laporan di Delphi lalu Double klik pada RadioGroup untuk jenis report dan ketikkan listing berikut :

1
2
3
4
5
6
7
procedure TForm9.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
Jenis :='PT'
else
Jenis :='PP';
end;

5. Kembali ke Form, double Klik Tombol Cetak dan ketikkan koding berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
procedure TForm9.CetakClick(Sender: TObject);
begin
if jenis='PT' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli and tgl_faktur = #' + formatdatetime('mm/dd/yyyy',datetimepicker1.date) + '#');
adoquery1.Open;
if not adoquery1.eof then
begin
adoquery1.Active :=true;
RvProject1.Execute;
rvproject1.ExecuteReport('Transaksi.rav');
end
else
Application.Messagebox('yee datanya kagak ada...','Cek Input',mb_iconstop);
end;

if jenis='PP' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from penjualan, pelanggan where penjualan.id_pembeli = pelanggan.id_pembeli and tgl_faktur >= #' + formatdatetime('mm/dd/yyyy',datetimepicker1.date) + '# and tgl_faktur <= #' + formatdatetime('mm/dd/yyyy',datetimepicker2.date) + '#');
adoquery1.Open;
if not adoquery1.eof then
begin
adoquery1.Active :=true;
RvProject1.Execute;
rvproject1.ExecuteReport('Transaksi.rav');
end
else
Application.Messagebox('yee datanya kagak ada...','Cek Input',mb_iconstop);
end;
if jenis='' then
Application.Messagebox('maaf Pilih Dulu Jenis Laporannya...','Cek Input',mb_iconstop);
end;

Daftar Pustaka



No comments:

Post a Comment