Sabtu, 26 Maret 2011

Modul 10. Membuat Nomor peminjaman secara otomatis pada Form Transaksi Peminjaman Buku pada Delphi 7.0 + MS. Access 2007

Karena project Perpustakaan sebelumnya sudah dibuat dan From peminjaman pun sudah dibuat pada modul 8. Klik disini , 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
//sumber : Klik disini
01
02implementation
03 
04{$R *.dfm}
05function RightStr
06    (Const Str: String; Size: Word): String;
07begin
08  if Size > Length(Str) then Size := Length(Str) ;
09  RightStr := Copy(Str, Length(Str)-Size+1, Size)
10end;
11 
12function MidStr
13    (Const Str: String; From, Size: Word): String;
14begin
15  MidStr := Copy(Str, From, Size)
16end;
17 
18function LeftStr
19    (Const Str: String; Size: Word): String;
20begin
21  LeftStr := Copy(Str, 1, Size)
22end;
2. Membuat koding pada Form Create sebagai berikut :
01procedure TFrmPinjam.FormCreate(Sender: TObject);
02var i,nomor: integer;
03nom,no : string;
04begin
05 
06//Membuat Nomor peminjaman secara otomatis
07decodedate(date,Thn,Bln,hari);
08adoquery5.Close;
09adoquery5.SQL.clear;
10adoquery5.SQL.add('Select * from pinjam');
11adoquery5.open;
12if adoquery5.RecordCount = 0 then
13  nomor := 1
14else
15begin
16nom := rightstr(inttostr((adoquery5.fields[0].AsInteger)),5);
17nomor := strtoint(nom) + 1;
18end;
19no:='0';
20for i := 1 to (4 - length(inttostr(nomor))) do
21begin
22  no := no + '0';
23end;
24edit1.text := rightstr(inttostr(thn),2) + rightstr(('0'+inttostr(bln)),2)+no+ inttostr(nomor);
25 
26//untuk menghitung tanggal tempo
27decodedate(date,Thn,Bln,hari);
28hari := hari + 5;
29tanggal := encodedate(thn,bln,hari);
30edit2.Text := formatdatetime('DD/MM/yyyy',tanggal) ;
31sg.RowCount :=1;
32sg.ColCount:=5;
33sg.Cells[0,0]:='No';
34sg.Cells[1,0]:='Kode Buku';
35sg.Cells[2,0]:='Judul buku';
36sg.Cells[3,0]:='Pengarang';
37sg.Cells[4,0]:='Qty';
38 
39sg.ColWidths [0]:=40;
40sg.ColWidths [1]:=60;
41sg.ColWidths [2]:=80;
42sg.Colwidths[3]:=80;
43sg.colwidths[4]:=60;
44 
45end;

Membuat Form Transaksi pengembalian buku pada Delphi7+Ms.Accsess2007

Karena project Perpustakaan sebelumnya sudah dibuat, pada modul 4.
Membuat menu
, 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 Transaksi Pengembalian, 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
01procedure TFrmKembali.FormCreate(Sender: TObject);
02begin
03edit1.Text :='';
04edit6.Text := '1000';
05edit2.Enabled := false;
06edit3.Enabled := false;
07edit4.Enabled := false;
08edit5.Enabled := false;
09edit6.Enabled := false;
10edit7.Enabled := false;
11edit8.Enabled := false;
12datetimepicker1.Enabled := false;
13end;
d. Buat koding pada edit1 dengan menggunakan event on keypress
01procedure TFrmKembali.Edit1KeyPress(Sender: TObject; var Key: Char);
02var tgl :tdatetime;
03begin
04if key=#13 then
05begin
06adoquery1.Close;
07adoquery1.SQL.Clear;
08adoquery1.SQL.add('Select * from pinjam where id_pinjam="'+ edit1.Text +'"');
09adoquery1.open;
10if not adoquery1.Eof then
11begin
12
13  //menghitung tanggal tempo
14  decodedate(datetimepicker1.DateTime,thn,bln,hari);
15  hari := hari + 5;
16  tanggal := encodedate(thn,bln,hari);
17  edit2.Text := formatdatetime('dd/mm/yyyy',tanggal);
18
19  edit3.Text := adoquery1.Fields[1].AsString;
20  tgl := adoquery1.Fields[3].AsDateTime;
21  if datetostr(tgl)  <> ''  then
22  begin
23    button1.Enabled := false;
24    datetimepicker2.enabled := false;
25    showmessage('Buku Sudah dikembalikan');
26  end;
27
28  datetimepicker1.Date := adoquery1.Fields[2].AsDateTime;
29  datetimepicker2.date := adoquery1.fields[3].asdatetime;
30
31  //menselect data pada id anggota
32  adoquery2.close;
33  adoquery2.SQL.clear;
34  adoquery2.SQL.add('select * from Anggota where id_Anggota = "'+ edit3.Text +'"');
35  adoquery2.Open;
36  if not adoquery2.Eof then
37  begin
38    edit4.text := adoquery2.Fields[1].AsString;
39    edit5.Text := adoquery2.Fields[2].AsString;
40  end;
41
42  //menampilkan data buku pada datagrid
43  adoquery3.Close;
44  adoquery3.SQL.Clear;
45  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 +'"');
46  adoquery3.open;
47  if not adoquery3.eof then
48  datasource1.dataset := adoquery3;
49  DBGrid1.DataSource := datasource1;
50end
51else
52  showmessage('data tidak ditemukan');
53
54end;
55end;
e. Membuat koding pada datetimepicker2 dengan menggunakan event change
01procedure TFrmKembali.DateTimePicker2Change(Sender: TObject);
02begin
03edit8.text:='0';
04edit7.Text :='0';
05tgl1 := datetimepicker1.Date;
06tgl2 := datetimepicker2.date;
07if (tgl2 > tanggal) then
08begin
09lama :=trunc(tgl2 - tgl1);
10edit7.Text := inttostr(lama);
11edit8.text := inttostr(strtoint(edit6.text) * lama);
12end
13else
14edit7.Text := '0';
15end;
f. Membuat koding pada tombol prosess button1
procedure TFrmKembali.Button1Click(Sender: TObject);
begin
01adoquery1.Close;
02adoquery1.SQL.clear;
03adoquery1.SQL.add('update pinjam set tgl_kembali = "'+ datetostr(datetimepicker2.date)+'", tgl_tempo = "'+ edit2.text +'" where id_pinjam ="'+ edit1.text +'"');
04adoquery1.ExecSQL;
05showmessage('Data Sudah terupdate');
06edit1.Text := '';
07edit2.text := '';
08edit3.text := '';
09edit4.text := '';
10edit5.text := '';
11edit6.text := '';
12edit7.text := '';
13edit8.text := '';
14end;

delphi+ Access

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

delphi7

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.
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.
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 :
01program Prjakademik;
02uses
03  Forms,
04  Uakademik in 'Uakademik.pas' {Form1};
05{$R *.res}
06begin
07  Application.Initialize;
08  Application.CreateForm(TForm1, Form1);
09  Application.Run;
10end.
Berikut ini sumber dari File Akademik.pas :
01unit Uakademik;
02Interface
03uses
04  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
05  Dialogs;
06type
07  TForm1 = class(TForm)
08    procedure FormCreate(Sender: TObject);
09  private
10    { Private declarations }
11  public
12    { Public declarations }
13  end;
14var
15  Form1: TForm1;
16 
17Implementation
18{$R *.dfm}
19procedure TForm1.FormCreate(Sender: TObject);
20Begin
21end;
22end.
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
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)