Program Aplikasi Perpustakaan dengan Delphi + Ms. Access 2007
Ahmad Rizal Abidin, M.Kom
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008
Karena project Prjpustaka 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
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
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
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
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;
@Ahmad
Selamat MEncOba…
Materi yang berhubungan :
Modul 1. Dasar Pemograman Delphi 7
Modul 2. Alur Program Delphi 7.0
Modul 3. Membuat Database dengan Menggunakan Microsoft Acces 2007
Modul 4. Membuat Menu Pada Delphi 7.0
Modul 5. Membuat Form Penerbit pada Delphi 7.0
Modul 6. Membuat Form Anggota pada Delphi 7.0
Modul 7. Membuat Form Buku pada Delphi 7.0
Modul 8. Membuat Form Transaksi Peminjaman Buku pada Delphi 7.0
Modul 9. Membuat Form Transaksi Pengembalian Buku pada Delphi 7.0 + MS. Access 2007
Modul 10. Membuat Nomor peminjaman secara otomatis pada Form Transaksi Peminjaman Buku pada Delphi 7.0 + MS. Access 2007
Modul 11. Membuat Report dengan Rave
Modul 12. Membuat Report dengan Rave + Delphi 7
Filed under: Delphi |
gimana mengatasi masalah ini pak ???
perintah 1 : if datetostr(tanggal) ” then
error : messing operator or semicolon
perintah 2 : if (tgl2 > ; tanggal) then
error : illegal character in input file: ‘&’ [$26]
perintah 1
if datetostr(tanggal) ā then
hilangan tanda kutip dua menjadi
atau
cek aja lagi di modulnya udah diperbaiki…
Salam kenal Pak Ahmad..
Mau tanya, gmana codingnya untuk perhitungan simulasi Pinjaman, misal gini, Plafond 1.000.000, Bunga 5%, Jangka waktu 24 bln, Jika Button1.Click maka tampil angsuran perbulannya ( pokok dan bunga ) sampai nilai angsurannya = 0. Makasi pncerahannya ya..
Kodingnnya Sederhana adalah :
Pokok = Plafond / jangkawaktu
Bunga = (Plafond * (5/100))
Anggsuran = Pokok + Bunga
Sisa =Plafond – Pokok
nah masalahnya untuk angsuran berikutnya berarti :
sisa = Plafon – Pokok (berarti sisa harus dalam status update)
pak ahmad..
maw tanya nih pak….saya lagi membuat sistem pembayaran parkir…tapi saya bingung caranya membuat source codenya, antara jam keluar dukrangi jam masuk…biar nanti bisa didapatkan saldonya….misal tiap 1 jam dikalikan 1000…mohon pencerahannya pak…trima kasih….
coba aja perintah dibawah ini : …..
SELECT hour( sec_to_time( time_to_sec( jam2 ) – time_to_sec( jam1 ) ) ) AS jam
FROM parkir
atau
select hour(timediff(jam2,jam1)) as jam from parkir
pakk,,salam kenal.
senang bisa belajar seperti ini,
saya mau minta tolong.
bagaimana membuat sintak menghitung jumlah hari bila tidak memakai datetimepicker,,
saya memakai maskedit,,
saya ingin tgl pinjam di input,,tgl kembali di input lalu di enter keluar hasil berapa hari peminjaman di edit1.text..
maaf,,,saya masih awam
procedure TForm1.KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
edit1.text:=floattostr(strtodate(maskedit2.Text)-strtodate(maskedit1.Text));
end;
assalamu alaikum wr. wb.
pak ahmad.. aku mnt tlong.. q lgi buat skripsi ne..
tlong mnta cara ataau kode y untuk membuat form sistem parkir menggunakan delphi 07 yang nantinya akan di koneksikan dengan database microsoft acces 07
oh yach… mungkin sebaiknya anda buat dulu databasenya setelah itu buat form-form master, baru transaksinya…
nah… kalau ada kesulitan baru kita diskusikan ….
good luck…
permisi.. mau numpang nanya,,
bisa nggak yach text yang ada di datetimepicker ditampilkan dalam sebuah stringgrid??
numpang nanya pak, koding untuk bagian A di atas itu apa yah?
tanya om ahmad, itu yg pas bagian ini >
decodedate(datetimepicker1.DateTime,thn,bln,hari);
hari := hari + 5;
tanggal := encodedate(thn,bln,hari);
edit4.Text := formatdatetime(‘dd/mm/yyyy’,tanggal);
error pada th,bln,hari. apa itu harus di declare dulu atau gmn? trimakasih
Assalam.. pak ahmad, saya mau tanya
saya sedang ada tugas tentang algoritma knn,
apa ada source kode algoritma knn untuk delphi? kalo ada dimana ya saya bisa akses?