LAMPIRAN
Lampiran A - Kamus Data SI PKPRI
1. Kamus Data Proses Pendataan
Kamus data untuk proses pendataan adalah sebagai berikut :
Tabel A.1 Kamus Data Proses Pendataan Nama data_pengurus
Tipe Data
Deskripsi
data_pengurus = awal+
data pengurus yang diinput
akhir+ ketua1+ ketua2+
oleh pengguna
ketua3+ sekret1+ sekret2+ sekret3+ bend1+ bend2 data_anggota
data_anggota = kpri +
data pengurus yang diinput
bulan+ tahun+ nama+
oleh pengguna
nip+ pekerjaan+ alamat+ pokok+ bunga+ jumlah+ jangka+ ke data_PKPRI,
data_PKPRI = nama+
data KPRI yang diinput oleh
reg+ tanggal+ nomor+
pengguna
anggota+ tahun+ pokok+ wajib+ khusus+ usaha+ psp+ gedung+ sukarela+ jumlah
Universitas Sumatera Utara
data_pengurus_valid data_pengurus_valid =
data pengurus yang tersimpan
data_pengurus data_anggota_valid
data_anggota_valid =
data anggota yang tersimpan
data_anggota data_pkpri_valid
data_pkpri_valid =
data KPRI yang tersimpan
data_anggota awal
varchar(4)
masukan data awal periode
akhir
varchar(4)
masukan data akhirperiode
ketua1
varchar(20)
masukan data ketua 1
ketua2
varchar(20)
masukan data ketua 2
ketua3
varchar(20)
masukan data ketua 3
sekret1
varchar(20)
masukan data ketua 1
sekret2
varchar(20)
masukan data ketua 2
sekret3
varchar(20)
masukan data ketua 3
bend1
varchar(20)
masukan data ketua 1
bend2
varchar(20)
masukan data ketua 2
kpri
varchar(40)
masukan data KPRI
bulan
varchar(10)
masukan data bulan
tahun
varchar(4)
masukan data tahun
nama
varchar(40)
masukan data nama
nip
varchar(15)
masukan data NIP
pekerjaan
varchar(40)
masukan data pekerjaan
alamat
varchar(40)
masukan data alamat
pokok
int(11)
masukan data pokok
bunga
int(11)
masukan data bunga
jumlah
int(11)
masukan data jumlah
jangka
int(11)
masukan data jangka waktu
ke
varchar(3)
masukan urutan angsuran
nama
varchar(40)
masukan nama pada KPRI
reg
varchar(3)
masukan reg pada KPRI
tanggal
varchar(20)
masukan tanggal pada KPRI
Universitas Sumatera Utara
nomor
varchar(30)
masukan nomor pada KPRI
anggota
int(11)
masukan anggota pada KPRI
tahun
varchar(4)
masukan tahun pada KPRI
pokok
varchar(15)
masukan pokok pada KPRI
wajib
varchar(15)
masukan wajib pada KPRI
khusus
varchar(15)
masukan khusus pada KPRI
usaha
varchar(15)
masukan usaha pada KPRI
psp
varchar(15)
masukan psp pada KPRI
gedung
varchar(15)
masukan gedung pada KPRI
sukarela
varchar(15)
masukan sukarela pada KPRI
jumlah
varchar(15)
masukan jumlah pada KPRI
2. Kamus Data Proses Pelaporan
Kamus data untuk proses pelaporan adalah sebagai berikut :
Tabel A.2 Kamus Data Proses Pelaporan Nama minta_simpanan
Tipe Data minta_simpanan =
Deskripsi permintaan data simpanan
ketua1 + bendahara1 + tahun cari_simpanan
cari_simpanan = tahun pencarian data cari simpanan
lap_simpanan
lap_simpanan =
laporan simpanan yang terbentuk
data_PPRI_valid dapat_simpanan
dapat_simpanan =
data simpanan yang didapat
lap_simpanan minta_tahunan
minta_tahunan =
permintaan data tahunan
tahun cari_tahunan
cari_tahunan =
pencarian data tahunan
minta_tahunan
Universitas Sumatera Utara
lap_tahunan
lap_tahunan =
laporan tahunan yang terbentuk
data_PKPRI_valid dapat_tahunan
dapat_tahunan =
data tahunan yang didapat
lap_tahunan minta_anggota
cari_anggota
minta_tahunan =
Blok data yang telah mengalami
KPRI + bulan + tahun
output whitening
cari_anggota =
File hasil enkripsi
minta_anggota lap_anggota
lap_anggota =
permintaan data simpanan
dapat_anggota
dapat = lap_anggota
pencarian data cari simpanan
bulan
varchar(10)
Data bulan yang digunakan
tahun
varchar(4)
Data tahun yang digunakan
KPRI
varchar(40)
Data KPRI yang digunakan
ketua1
varchar(20)
Data ketua 1 yang digunakan
bendahara1
varchar(20)
Data bendahara 1 yang digunakan
Universitas Sumatera Utara
Lampiran B - Struktur Program SI PKPRI
Splash Screen
Login
Menu Utama
1
2
1.1
1.1 .1
1.2
1.3
4
2.1
2.2
2.3
2.1 .1
2.2 .1
2.3 .1
3.1
3
4
3.2
3.3
3.3 .1
3.3 .2
1.1 .3
1.1 .2
2.1.1. 1 1.2 .1
1.2 .2
1.3 .1
2.2.1. 1
2.3.1. 1
12. 3
1.3 .2
1.3 .3
Gambar B.1 Struktur Program SI PKPRI Medan
Universitas Sumatera Utara
Keterangan: 1 : Menu File 2 : Menu Laporan 3 : Menu Bantuan 4 : Close 1.1 : PKPRI 1.1.1 : Kepengurusan 1.1.2 : Ubah Data 1.1.3 : Rekapitulasi 1.2 : KPRI 1.2.1 : Tambah Data KPRI 1.2.2 : Ubah Data 1.2.3 : Rekapitulasi 1.3 : Anggota KPRI 1.3.1 : Tambah Data Anggota KPRI 1.3.2 : Ubah Data 1.3.3 : Rekapitulasi 2.1 : Laporan Angsuran Bulanan 2.1.1 : Pilih Laporan Angsuran Bulanan Anggota 2.1.1.1 : Laporan Angsuran Bulanan Terpilih 2.2 : Laporan Simpanan Tahunan 2.2.1 : Pilih Laporan Simpanan Tahunan 2.2.1.1 : Laporan Simpanan Tahunan Terpilih 2.3 : Laporan Akhir Tahun 2.3.1 : Pilih Laporan Akhir Tahun 2.3.1.1 : Laporan Akhir Tahun Terpilih 3.1 : Bantuan Penggunaan 3.2 : Tentang PKPRI V1 3.3 : Keamanan 3.3.1. Akun Pengguna 3.3.2. Histori Pengguna
Universitas Sumatera Utara
Lampiran C - Listing Program SI PKPRI 1. Listing Program Splash Screen unit Usplash; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, XPMan; type Tformsplash = class(TForm) GroupBox1: TGroupBox; Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; XPManifest1: TXPManifest; Timer1: TTimer; Label10: TLabel; procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var formsplash: Tformsplash; n:integer; implementation uses unlogin; {$R *.dfm} procedure Tformsplash.Timer1Timer(Sender: TObject); begin n:=n+1; if n=1 then label10.Caption:='Loading.'; if n=2 then label10.Caption:='Loading..'; if n=3 then label10.Caption:='Loading...'; if n=4 then label10.Caption:='Loading....'; if n=5 then label10.Caption:='Loading.....'; if n=6 then begin formsplash.Visible := false;
Universitas Sumatera Utara
frmlogin.Show; timer1.Enabled := false; end; end; procedure Tformsplash.FormActivate(Sender: TObject); begin n:=0; end; end.
2. Listing Program Menu Login unit Unlogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type Tfrmlogin = class(TForm) Label1: TLabel; Label2: TLabel; ednama: TEdit; edpass: TEdit; bbtnmasuk: TBitBtn; bbtnbatal: TBitBtn; procedure bbtnbatalClick(Sender: TObject); procedure bbtnmasukClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); private { Private declarations } public modepakai : boolean; { Public declarations } end; var frmlogin: Tfrmlogin; count : integer; implementation uses unutama, unkomponen; {$R *.dfm} procedure Tfrmlogin.bbtnbatalClick(Sender: TObject); begin if (application.MessageBox('Anda yakin untuk keluar dari program PKPRI_V1?','Konfirmasi',mb_iconquestion or mb_yesno) = idyes ) then
Universitas Sumatera Utara
begin application.MessageBox('Terima Kasih telah menggunakan Perangkat Lunak PKPRI_V1','Pesan',mb_iconinformation ); application.Terminate; end; end; procedure Tfrmlogin.bbtnmasukClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from user where nama = ' + petik + ednama.text + petik + ' and password = ' + petik + edpass.Text+ petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount > 0)then begin kueri petik petik petik
:= 'insert into histori values (' + + ednama.text + petik + ',' + + datetostr(now) + petik + ',' + + timetostr(now) + petik + ')';
frmkomponen.adoc.Execute(kueri); if ednama.Text
= 'admin' then modepakai := true;
frmlogin.Visible := false; frmutama.Showmodal; end else begin application.MessageBox('Maaf Pengguna atau Password anda salah','Gagal Masuk',mb_iconerror); count := count + 1; if count = 3 then begin application.MessageBox('Maaf anda telah Gagal masuk 3 kali!' + #13 + 'Anda tidak diizinkan menggunakan PKPRI_V1','Gagal Masuk',mb_iconerror ); application.Terminate; end; end; end; procedure Tfrmlogin.FormClose(Sender: TObject; var Action: TCloseAction); begin application.MessageBox('Terima Kasih telah menggunakan Perangkat Lunak PKPRI_V1','Pesan',mb_iconinformation ); application.Terminate;
Universitas Sumatera Utara
end; procedure Tfrmlogin.FormShow(Sender: TObject); begin ednama.Text := ''; edpass.Text := ''; count := 0; modepakai := false; end; end.
2. Listing Program Menu Utama unit UnUtama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls; type Tfrmutama = class(TForm) MainMenu1: TMainMenu; DataUtama1: TMenuItem; KPRI1: TMenuItem; ambahAnggota1: TMenuItem; RekapitulasiTahunan1: TMenuItem; AnggotaKPRI1: TMenuItem; UbahData1: TMenuItem; ambahDataAnggota1: TMenuItem; UbahData2: TMenuItem; N1: TMenuItem; Rekapitulasi1: TMenuItem; Keluar1: TMenuItem; Laporan1: TMenuItem; PKPRI1: TMenuItem; Kepengurusan1: TMenuItem; UbahData3: TMenuItem; Rekapitulasi2: TMenuItem; LaporanAngsuranBulanan1: TMenuItem; Bantuan1: TMenuItem; BantuanPenggunaan1: TMenuItem; entangPerangkatLunak1: TMenuItem; N2: TMenuItem; Keamanan1: TMenuItem; AkunPengguna1: TMenuItem; HstoriPenggunaanPKPRIV11: TMenuItem; LaporanSimpananTahunan1: TMenuItem; LaporanAkhirTahun1: TMenuItem; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage;
Universitas Sumatera Utara
Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; procedure Keluar1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure HstoriPenggunaanPKPRIV11Click(Sender: TObject); procedure AkunPengguna1Click(Sender: TObject); procedure entangPerangkatLunak1Click(Sender: TObject); procedure Kepengurusan1Click(Sender: TObject); procedure Rekapitulasi2Click(Sender: TObject); procedure ambahAnggota1Click(Sender: TObject); procedure RekapitulasiTahunan1Click(Sender: TObject); procedure ambahDataAnggota1Click(Sender: TObject); procedure LaporanAngsuranBulanan1Click(Sender: TObject); procedure Rekapitulasi1Click(Sender: TObject); procedure LaporanSimpananTahunan1Click(Sender: TObject); procedure LaporanAkhirTahun1Click(Sender: TObject); procedure UbahData3Click(Sender: TObject); procedure UbahData1Click(Sender: TObject); procedure UbahData2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmutama: Tfrmutama; implementation uses unlogin, unubahkpri, unubahanggota, unubahpengurus, unlihatkpri, unpilihlaporanangota, unpilihsimpanan, unbentukanggota, unbentukkpri, unpenguruspkpri, unlihatanggota, unlihatpenguruspkpri, unabout, unhistori, unakun, unpilihtahunan; {$R *.dfm} procedure Tfrmutama.Keluar1Click(Sender: TObject); begin frmlogin.bbtnbatalClick(Sender); end; procedure Tfrmutama.FormClose(Sender: TObject; var Action: TCloseAction); begin application.MessageBox('Terima Kasih telah menggunakan Perangkat Lunak PKPRI_V1','Pesan',mb_iconinformation ); application.Terminate; end;
Universitas Sumatera Utara
procedure Tfrmutama.HstoriPenggunaanPKPRIV11Click(Sender: TObject); begin frmhistori.ShowModal; end; procedure Tfrmutama.AkunPengguna1Click(Sender: TObject); begin frmakun.ShowModal; end; procedure Tfrmutama.entangPerangkatLunak1Click(Sender: TObject); begin frmabout.ShowModal; end; procedure Tfrmutama.Kepengurusan1Click(Sender: TObject); begin frmpenguruspkpri.ShowModal; end; procedure Tfrmutama.Rekapitulasi2Click(Sender: TObject); begin frmlihatpkpri.ShowModal; end; procedure Tfrmutama.ambahAnggota1Click(Sender: TObject); begin frmbentukkpri.ShowModal; end; procedure Tfrmutama.RekapitulasiTahunan1Click(Sender: TObject); begin frmlihatkpri.ShowModal; end; procedure Tfrmutama.ambahDataAnggota1Click(Sender: TObject); begin frmbentukanggota.ShowModal; end; procedure Tfrmutama.LaporanAngsuranBulanan1Click(Sender: TObject); begin frmpilihlaporan.ShowModal; end; procedure Tfrmutama.Rekapitulasi1Click(Sender: TObject); begin frmlihatanggota.ShowModal; end; procedure Tfrmutama.LaporanSimpananTahunan1Click(Sender: TObject); begin frmpilihsimpanan.showmodal; end; procedure Tfrmutama.LaporanAkhirTahun1Click(Sender: TObject);
Universitas Sumatera Utara
begin frmpilihtahunan.ShowModal; end; procedure Tfrmutama.UbahData3Click(Sender: TObject); begin frmubahpengurus.ShowModal; end; procedure Tfrmutama.UbahData1Click(Sender: TObject); begin frmubahkpri.ShowModal; end; procedure Tfrmutama.UbahData2Click(Sender: TObject); begin frmubahanggota.ShowModal; end; end.
4. Listing Program Kepengurusan PKPRI unit UnPengurusPKPRI; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TfrmpengurusPKPRI = class(TForm) Label1: TLabel; edawal: TEdit; Label2: TLabel; edakhir: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; edketua1: TEdit; edketua2: TEdit; edketua3: TEdit; edsekret1: TEdit; edsekret2: TEdit; edsekret3: TEdit; edbend1: TEdit; edbend2: TEdit; bbtnkembali: TBitBtn; bbtnsimpan: TBitBtn; Label11: TLabel; procedure bbtnkembaliClick(Sender: TObject); procedure bbtnsimpanClick(Sender: TObject); private procedure segar; { Private declarations } public { Public declarations } end;
Universitas Sumatera Utara
var frmpengurusPKPRI: TfrmpengurusPKPRI; implementation uses Unkomponen; {$R *.dfm} procedure TfrmpengurusPKPRI.segar; begin edawal.text := ''; edakhir.text := ''; edketua1.text := ''; edketua2.text := ''; edketua3.text := ''; edsekret1.text := ''; edsekret2.text := ''; edsekret3.text := ''; edbend1.text := ''; edbend2.Text := ''; end; procedure TfrmpengurusPKPRI.bbtnkembaliClick(Sender: TObject); begin close; end; procedure TfrmpengurusPKPRI.bbtnsimpanClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin if (edawal.Text = '') or (edakhir.Text = '') or (edbend1.Text = '') or(edbend2.Text = '') or (edketua1.Text = '') or (edketua2.Text = '') or(edketua3.Text = '') or (edsekret1.Text = '') or (edsekret2.Text = '') or(edsekret3.Text = '') then application.MessageBox('Masih ada data yang kosong','pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan where awal = ' + petik + edawal.text + petik + ' and akhir = ' + petik + edakhir.Text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount > 0)then application.MessageBox('Data Pengurus Periode tersebut telah ada','Pesan Kesalahan',mb_iconerror) else begin kueri := 'insert into kepengurusan values (' + petik + edawal.Text + petik +','+ petik + edakhir.Text + petik +','+ petik + edketua1.Text + petik +','+ petik + edketua2.Text + petik +','+ petik + edketua3.Text + petik +','+ petik + edsekret1.Text + petik +','+
Universitas Sumatera Utara
petik + edsekret2.Text + petik +','+ petik + edsekret3.Text + petik +','+ petik + edbend1.Text + petik +','+ petik + edbend2.Text + petik + ')'; frmkomponen.adoc.Execute(kueri); application.MessageBox('DATA PENGURUS PKPRI SUKSES DIBENTUK!!!','pesan',mb_iconinformation); segar; end; end; end; end.
5. Listing Program Ubah Data PKPRI unit unubahpengurus; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type Tfrmubahpengurus = class(TForm) Label1: TLabel; Label2: TLabel; edawal: TEdit; edakhir: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; edketua1: TEdit; edketua2: TEdit; edketua3: TEdit; edsekret1: TEdit; edsekret2: TEdit; edsekret3: TEdit; edbend1: TEdit; edbend2: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; bbtnulangi: TBitBtn; bbtncari: TBitBtn; bbtnhapus: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure bbtnulangiClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure bbtncariClick(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure bbtnhapusClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmubahpengurus: Tfrmubahpengurus; implementation uses unkomponen;
Universitas Sumatera Utara
{$R *.dfm} procedure Tfrmubahpengurus.BitBtn2Click(Sender: TObject); begin close; end; procedure Tfrmubahpengurus.bbtnulangiClick(Sender: TObject); begin edketua1.Text := ''; edketua2.Text := ''; edketua3.Text := ''; edsekret1.Text := ''; edsekret2.Text := ''; edsekret3.Text := ''; edbend1.Text := ''; edbend2.Text:= ''; edawal.Text:= ''; edakhir.Text:= ''; edawal.Enabled := true; edakhir.Enabled := true; end; procedure Tfrmubahpengurus.FormShow(Sender: TObject); begin frmubahpengurus.bbtnulangiClick(sender); end; procedure Tfrmubahpengurus.bbtncariClick(Sender: TObject); const petik : char = ''''; begin if (edawal.Text = '') and (edakhir.Text = '') then application.MessageBox('Data Pengurus Periode tersebut telah ada','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan where awal = ' + petik + edawal.text + petik + ' and akhir = ' + petik + edakhir.Text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then application.MessageBox('Data Pengurus Periode tersebut tidak ada ada','Pesan Kesalahan',mb_iconerror) else begin edketua1.Text := frmkomponen.adoq.fieldbyname('ketua1').AsString; edketua2.Text := frmkomponen.adoq.fieldbyname('ketua2').AsString; edketua3.Text := frmkomponen.adoq.fieldbyname('ketua3').AsString; edsekret1.Text := frmkomponen.adoq.fieldbyname('sekret1').AsString; edsekret2.Text := frmkomponen.adoq.fieldbyname('sekret2').AsString; edsekret3.Text := frmkomponen.adoq.fieldbyname('sekret3').AsString;
Universitas Sumatera Utara
edbend1.Text := frmkomponen.adoq.fieldbyname('bend1').AsString; edbend2.Text := frmkomponen.adoq.fieldbyname('bend2').AsString; edawal.Enabled := false; edakhir.Enabled := false; end end; end; procedure const petik : var kueri : begin kueri
Tfrmubahpengurus.BitBtn1Click(Sender: TObject); char = ''''; string; := 'update kepengurusan set ketua1 = ' + petik + edketua1.Text + petik + ',' + 'ketua2 =' + petik + edketua2.Text + petik + ','
+ 'ketua3 =' + petik + edketua3.Text + petik + ',' + 'sekret1 =' + petik + edsekret1.Text + petik + ',' + 'sekret2 =' + petik + edsekret2.Text + petik + ',' + 'sekret3 =' + petik + edsekret3.Text + petik + ',' + 'bend1 =' + petik + edbend1.Text + petik + ',' + 'bend2 =' + petik + edbend2.Text + petik + ' where awal = '+ petik + edawal.Text + petik + 'and akhir = '+ petik + edakhir.Text + petik; frmkomponen.adoc.Execute(kueri); application.MessageBox('Data kepengurusan sukses diubah','Informas', mb_iconinformation); frmubahpengurus.bbtnulangiClick(sender); end; procedure Tfrmubahpengurus.bbtnhapusClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan where awal = '+ petik + edawal.Text + petik + 'and akhir = '+ petik + edakhir.Text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (edawal.Text = '') and (edakhir.Text = '') then application.MessageBox('Data Pengurus Periode tersebut telah ada','Pesan Kesalahan',mb_iconerror) else
if (frmkomponen.adoq.RecordCount > 0)then
Universitas Sumatera Utara
begin kueri := 'delete from kepengurusan where awal = '+ petik + edawal.Text + petik + 'and akhir = '+ petik + edakhir.Text + petik; frmkomponen.adoc.Execute(kueri); application.MessageBox('AKUN TERPILIH SUKSES DIHAPUS!!!','pesan',mb_iconinformation); frmubahpengurus.bbtnulangiClick(sender); end else application.MessageBox('Data Tidak Ditemukan','Pesan Kesalahan',mb_iconerror)
end; end.
6. Listing Program Rekapitulasi PKPRI unit UnlihatPengurusPKPRI; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, Buttons; type Tfrmlihatpkpri = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; GroupBox3: TGroupBox; DBGrid1: TDBGrid; DBGrid2: TDBGrid; DBGrid3: TDBGrid; bbtnkembali: TBitBtn; Label1: TLabel; edawal: TEdit; bbtnlihat: TBitBtn; bbtnrefresh: TBitBtn; procedure bbtnkembaliClick(Sender: TObject); procedure bbtnlihatClick(Sender: TObject); procedure bbtnrefreshClick(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmlihatpkpri: Tfrmlihatpkpri; implementation uses Unkomponen; {$R *.dfm}
Universitas Sumatera Utara
procedure Tfrmlihatpkpri.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmlihatpkpri.bbtnlihatClick(Sender: TObject); const petik : char = ''''; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan where awal = ' + petik + edawal.Text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then begin application.MessageBox('Data Pengurus Periode tersebut tidak ada','Informasi',mb_iconerror); frmlihatpkpri.bbtnrefreshClick(sender); end end; procedure Tfrmlihatpkpri.bbtnrefreshClick(Sender: TObject); begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan order by awal ' ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; end; procedure Tfrmlihatpkpri.FormShow(Sender: TObject); begin frmlihatpkpri.bbtnrefreshClick(sender); end; end.
7. Listing Program Tambah Data KPRI unit UnbentukKPRI; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons; type Tfrmbentukkpri = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; dtptanggal: TDateTimePicker;
Universitas Sumatera Utara
ednama: TEdit; ednomor: TEdit; edjumlahorang: TEdit; bbtnkembali: TBitBtn; bbtnsimpan: TBitBtn; Label5: TLabel; edtahun: TEdit; lblreg: TLabel; edreg: TEdit; GroupBox1: TGroupBox; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; edpokok: TEdit; edwajib: TEdit; edkhusus: TEdit; edusaha: TEdit; edpsp: TEdit; edgedung: TEdit; edsukarela: TEdit; edjumlah: TEdit; procedure bbtnkembaliClick(Sender: TObject); procedure dtptanggalChange(Sender: TObject); procedure bbtnsimpanClick(Sender: TObject); procedure FormShow(Sender: TObject); private tgl, tahunan : string; procedure awal; { Private declarations } public { Public declarations } end; var frmbentukkpri: Tfrmbentukkpri; implementation uses Unkomponen; {$R *.dfm} procedure Tfrmbentukkpri.awal; begin tgl := ''; ednama.Text := ''; ednomor.Text := ''; edjumlah.Text := ''; tahunan := ''; end; procedure Tfrmbentukkpri.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmbentukkpri.dtptanggalChange(Sender: TObject); begin tgl := datetostr(dtptanggal.Date); end; procedure Tfrmbentukkpri.bbtnsimpanClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin
Universitas Sumatera Utara
if (tgl = '') or (ednama.Text = '') or (ednomor.Text = '') or (edjumlahorang.Text = '') or (edtahun.Text = '') or (edreg.Text = '') or (edpokok.text= '') or (edwajib.Text = '') or (edkhusus.Text = '') or (edusaha.Text = '') or (edpsp.Text = '') or (edgedung.Text = '') or (edsukarela.Text = '') then application.MessageBox('Masih ada data yang kosong','pesan Kesalahan',mb_iconerror) else begin edjumlah.Text := floattostr(strtofloat(edpokok.Text) + strtofloat(edwajib.Text) + strtofloat(edusaha.Text) + strtofloat(edpsp.Text) + strtofloat(edgedung.Text) + strtofloat(edsukarela.Text)); frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kpri where nomor = ' + petik + ednomor.text + petik + 'and tahun = '+ petik + edtahun.Text + petik); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount > 0)then application.MessageBox('Data KP-RI tersebut telah terdata','Pesan Kesalahan',mb_iconerror) else begin kueri := 'insert into kpri values (' + petik + ednama.Text + petik +','+ petik + edreg.Text + petik +','+ petik + tgl + petik +','+ petik + ednomor.Text + petik +','+ petik + edjumlah.Text + petik +','+ petik + edtahun.Text + petik +','+ petik + edpokok.Text + petik +','+ petik + edwajib.Text + petik +','+ petik + edkhusus.Text + petik +','+ petik + edusaha.Text + petik +','+ petik + edpsp.Text + petik +','+ petik + edgedung.Text + petik +','+ petik + edsukarela.Text + petik +','+ petik + edjumlah.Text + petik + ')'; frmkomponen.adoc.Execute(kueri); application.MessageBox('DATA KP-RI SUKSES DIBENTUK!!!','pesan',mb_iconinformation); awal; end; end; end; procedure Tfrmbentukkpri.FormShow(Sender: TObject); begin awal; end; end.
Universitas Sumatera Utara
8. Listing Program Ubah Data KPRI unit Unubahkpri; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons; type Tfrmubahkpri = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; bbtnulangi: TBitBtn; bbtnhapus: TBitBtn; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; dtptanggal: TDateTimePicker; ednama: TEdit; ednomor: TEdit; edjumlahorang: TEdit; GroupBox1: TGroupBox; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; edpokok: TEdit; edwajib: TEdit; edkhusus: TEdit; edusaha: TEdit; edpsp: TEdit; edgedung: TEdit; edsukarela: TEdit; edjumlah: TEdit; Label5: TLabel; edreg: TEdit; Label14: TLabel; edtahun: TEdit; bbtncari: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure bbtnulangiClick(Sender: TObject); procedure bbtnhapusClick(Sender: TObject); procedure bbtncariClick(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure dtptanggalChange(Sender: TObject); procedure FormShow(Sender: TObject); private tgl : string; { Private declarations } public { Public declarations } end; var frmubahkpri: Tfrmubahkpri; implementation uses unkomponen; {$R *.dfm} procedure Tfrmubahkpri.BitBtn2Click(Sender: TObject); begin close; end;
Universitas Sumatera Utara
procedure Tfrmubahkpri.bbtnulangiClick(Sender: TObject); begin ednama.Text := ''; ednomor.Text := ''; edjumlahorang.Text := ''; edpokok.Text := ''; edwajib.Text := ''; edkhusus.Text := ''; edusaha.Text := ''; edpsp.Text:= ''; edgedung.Text:= ''; edsukarela.Text:= ''; edtahun.Text:= ''; edreg.Text:= ''; edtahun.Enabled := true; edreg.Enabled := true; end; procedure Tfrmubahkpri.bbtnhapusClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kepengurusan where reg = '+ petik + edreg.Text + petik + 'and tahun = '+ petik + edtahun.Text + petik); frmkomponen.adoq.Active := true; if (edreg.Text = '') and (edtahun.Text = '') then application.MessageBox('Data KP-RI Periode tersebut telah ada','Pesan Kesalahan',mb_iconerror) else if (frmkomponen.adoq.RecordCount > 0)then begin kueri := 'delete from kpri where reg = '+ petik + edreg.Text + petik + 'and tahun = '+ petik + edtahun.Text + petik; frmkomponen.adoc.Execute(kueri); application.MessageBox('AKUN TERPILIH SUKSES DIHAPUS!!!','pesan',mb_iconinformation); frmubahkpri.bbtnulangiClick(sender); end else application.MessageBox('Data Tidak Ditemukan','Pesan Kesalahan',mb_iconerror) end; procedure Tfrmubahkpri.bbtncariClick(Sender: TObject); const petik : char = ''''; begin if (edreg.Text = '') and (edtahun.Text = '') then application.MessageBox('Data KP-RI Periode tersebut telah ada','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear;
Universitas Sumatera Utara
frmkomponen.adoq.SQL.Add('select * from kpri where reg = ' + petik + edreg.text + petik + ' and tahun = ' + petik + edtahun.Text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then application.MessageBox('Data Pengurus Periode tersebut tidak ada ada','Pesan Kesalahan',mb_iconerror) else begin ednama.Text := frmkomponen.adoq.fieldbyname('nama').AsString; ednomor.Text := frmkomponen.adoq.fieldbyname('nomor').AsString; edjumlahorang.Text := frmkomponen.adoq.fieldbyname('anggota').AsString; edpokok.Text := frmkomponen.adoq.fieldbyname('pokok').AsString; edwajib.Text := frmkomponen.adoq.fieldbyname('wajib').AsString; edkhusus.Text := frmkomponen.adoq.fieldbyname('khusus').AsString; edusaha.Text := frmkomponen.adoq.fieldbyname('usaha').AsString; edpsp.Text := frmkomponen.adoq.fieldbyname('psp').AsString; edgedung.Text := frmkomponen.adoq.fieldbyname('gedung').AsString; edsukarela.Text := frmkomponen.adoq.fieldbyname('sukarela').AsString; edtahun.Enabled := false; edreg.Enabled := false; end end; end; procedure Tfrmubahkpri.BitBtn1Click(Sender: TObject); const petik : char = ''''; var kueri : string; begin if tgl = '' then application.MessageBox('Data Tanggal tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else begin kueri := 'update kpri set nama = ' + petik + ednama.Text + petik + ',' + 'reg =' + petik + edreg.Text + petik + ',' + 'tanggal =' + petik + tgl + petik + ',' + 'nomor =' + petik + ednomor.Text + petik + ',' + 'anggota =' + petik + edjumlahorang.Text + petik + ',' + 'pokok =' + petik + edpokok.Text + petik + ',' + 'wajib =' + petik + edwajib.Text + petik + ',' + 'khusus =' + petik + edkhusus.Text + petik + ',' +
Universitas Sumatera Utara
'usaha =' + petik + edusaha.Text + petik + ',' + 'psp =' + petik + edpsp.Text + petik + ',' + 'gedung =' + petik + edgedung.Text + petik + ',' + 'sukarela =' + petik + edsukarela.Text + petik + 'where reg = '+ petik + edreg.Text + petik + 'and tahun = '+ petik + edtahun.Text + petik; frmkomponen.adoc.Execute(kueri); application.MessageBox('Data KP-RI sukses diubah','Informas', mb_iconinformation); frmubahkpri.bbtnulangiClick(sender); end; end; procedure Tfrmubahkpri.dtptanggalChange(Sender: TObject); begin tgl := datetostr(dtptanggal.Date); end; procedure Tfrmubahkpri.FormShow(Sender: TObject); begin frmubahkpri.bbtnulangiClick(sender); end; end.
9. Listing Program Rekapitulasi KPRI unit Unlihatkpri; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons; type Tfrmlihatkpri = class(TForm) DBGrid1: TDBGrid; GroupBox1: TGroupBox; Label1: TLabel; ednama: TEdit; Label2: TLabel; btncarinama: TBitBtn; ednomor: TEdit; btncarinomor: TButton; bbtnrefresh: TBitBtn; bbtnkembali: TBitBtn; DBGrid2: TDBGrid; procedure bbtnkembaliClick(Sender: TObject); procedure bbtnrefreshClick(Sender: TObject); procedure btncarinamaClick(Sender: TObject); procedure btncarinomorClick(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end;
Universitas Sumatera Utara
var frmlihatkpri: Tfrmlihatkpri; implementation uses unkomponen; {$R *.dfm} procedure Tfrmlihatkpri.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmlihatkpri.bbtnrefreshClick(Sender: TObject); begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kpri order by reg ' ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; ednama.Text := ''; ednomor.Text := ''; end; procedure Tfrmlihatkpri.btncarinamaClick(Sender: TObject); const petik : char = ''''; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kpri where nama like ' + petik + '%' + ednama.Text + '%' +petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then begin application.MessageBox('Data KP-RI tersebut tidak ada','Informasi',mb_iconerror); frmlihatkpri.bbtnrefreshClick(sender); end end; procedure Tfrmlihatkpri.btncarinomorClick(Sender: TObject); const petik : char = ''''; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from kpri where nomor like ' + petik + '%' +ednomor.Text + '%' +petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then begin application.MessageBox('Data KP-RI tersebut tidak ada','Informasi',mb_iconerror);
Universitas Sumatera Utara
frmlihatkpri.bbtnrefreshClick(sender); end; end; procedure Tfrmlihatkpri.FormShow(Sender: TObject); begin frmlihatkpri.bbtnrefreshClick(sender); end; end.
10. Listing Program Tambah Data Anggota KPRI unit Unbentukanggota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls, Buttons; type Tfrmbentukanggota = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Nama: TLabel; NIP: TLabel; Pekerjaan: TLabel; Alamat: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; cbbulan: TComboBox; edtahun: TEdit; ednama: TEdit; ednip: TEdit; edpekerjaan: TEdit; edalamat: TEdit; edke: TEdit; edjangka: TEdit; edpokok: TEdit; edbunga: TEdit; edjumlah: TEdit; bbtnkembali: TBitBtn; bbtnproses: TBitBtn; dblcbkpri: TDBLookupComboBox; procedure bbtnkembaliClick(Sender: TObject); procedure cbbulanChange(Sender: TObject); procedure bbtnprosesClick(Sender: TObject); procedure dblcbkpriClick(Sender: TObject); procedure edpokokChange(Sender: TObject); procedure edbungaChange(Sender: TObject); private procedure segar; { Private declarations } public { Public declarations } end; var frmbentukanggota: Tfrmbentukanggota; bln, kopri : string; nilaipokok, nilaibunga : integer;
Universitas Sumatera Utara
implementation uses unkomponen; {$R *.dfm} procedure Tfrmbentukanggota.segar; begin cbbulan.ItemIndex := 0; edalamat.Text := ''; edtahun.Text := ''; ednip.Text := ''; ednama.Text := ''; edke.Text := ''; edjangka.Text := ''; edpokok.Text := ''; edbunga.Text := ''; edjumlah.Text := ''; edpekerjaan.text := ''; end; procedure Tfrmbentukanggota.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmbentukanggota.cbbulanChange(Sender: TObject); begin if cbbulan.ItemIndex = 0 then bln := '' else bln := cbbulan.Text; end; procedure Tfrmbentukanggota.bbtnprosesClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin kopri :=
dblcbkpri.Text;
if trystrtoint(edpokok.Text,nilaiPokok) or trystrtoint(edbunga.Text,nilaibunga) then begin edjumlah.Text := inttostr(nilaipokok +nilaibunga); if (ednama.Text = '') or (edalamat.Text = '') or (edtahun.Text = '') or(bln = '') or (edpekerjaan.Text = '') or (ednip.Text = '') or(edke.Text = '') or (dblcbkpri.Text = '') or(edbunga.Text = '') or (edjangka.Text = '') or (edpokok.Text = '') or(edjumlah.Text = '') then application.MessageBox('Masih ada data yang kosong','pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from anggota where nama = ' + petik + ednama.Text + petik + ' and bulan = ' + petik + bln + petik + ' and tahun = ' + petik + edtahun.Text + petik + ' and kpri = ' + petik + kopri + petik ); frmkomponen.adoq.ExecSQL;
Universitas Sumatera Utara
frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount > 0)then application.MessageBox('Data Anggota tersebut telah ada','Pesan Kesalahan',mb_iconerror) else begin kueri := 'insert into anggota values (' + petik + kopri + petik +','+ petik + bln + petik +','+ petik + edtahun.Text + petik +','+ petik + ednama.Text + petik +','+ petik + ednip.Text + petik +','+ petik + edpekerjaan.Text + petik +','+ petik + edalamat.Text + petik +','+ petik + edpokok.Text + petik +','+ petik + edbunga.Text + petik +','+ petik + edjumlah.Text + petik +','+ petik + edjangka.Text + petik +','+ petik + edke.Text + petik + ')'; frmkomponen.adoc.Execute(kueri); application.MessageBox('DATA AnggotaSUKSES DIBENTUK!!!','pesan',mb_iconinformation); segar; end; end; end else application.MessageBox('Data masukan salah','Pesan Kesalahan',mb_iconerror) end; procedure Tfrmbentukanggota.dblcbkpriClick(Sender: TObject); begin kopri := dblcbkpri.Text; end; procedure Tfrmbentukanggota.edpokokChange(Sender: TObject); begin if trystrtoint(edpokok.Text,nilaiPokok) then edjumlah.Text := inttostr(nilaipokok +nilaibunga) end; procedure Tfrmbentukanggota.edbungaChange(Sender: TObject); begin if trystrtoint(edbunga.Text,nilaibunga) then edjumlah.Text := inttostr(nilaipokok +nilaibunga) end; end.
Universitas Sumatera Utara
11. Listing Program Ubah Data Anggota KPRI unit Unubahanggota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, StdCtrls, Buttons; type Tfrmubahanggota = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Nama: TLabel; NIP: TLabel; Pekerjaan: TLabel; Alamat: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label8: TLabel; cbbulan: TComboBox; edtahun: TEdit; ednama: TEdit; ednip: TEdit; edpekerjaan: TEdit; edalamat: TEdit; edke: TEdit; edjangka: TEdit; edpokok: TEdit; edbunga: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; bbtnulangi: TBitBtn; bbtnhapus: TBitBtn; edkpri: TEdit; bbtncari: TBitBtn; edjumlah: TEdit; procedure BitBtn2Click(Sender: TObject); procedure bbtnhapusClick(Sender: TObject); procedure bbtncariClick(Sender: TObject); procedure cbbulanChange(Sender: TObject); procedure bbtnulangiClick(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private bln : string; { Private declarations } public { Public declarations } end; var frmubahanggota: Tfrmubahanggota; implementation uses unkomponen;
{$R *.dfm} procedure Tfrmubahanggota.BitBtn2Click(Sender: TObject); begin close; end; procedure Tfrmubahanggota.bbtnhapusClick(Sender: TObject);
Universitas Sumatera Utara
const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from anggota where nama = ' + petik + ednama.Text + petik + ' and bulan = ' + petik + bln + petik + ' and tahun = ' + petik + edtahun.Text + petik + ' and kpri = ' + petik + edkpri.Text + petik ); frmkomponen.adoq.Active := true; if (cbbulan.Text = '') and (edtahun.Text = '') and (edkpri.text = '') and (ednama.Text = '') then application.MessageBox('Data Tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else if (frmkomponen.adoq.RecordCount > 0)then begin kueri := 'delete from anggota where nama = ' + petik + ednama.Text + petik + ' and bulan = ' + petik + bln + petik + ' and tahun = ' + petik + edtahun.Text + petik ' and kpri = ' + petik + edkpri.Text + petik; frmkomponen.adoc.Execute(kueri);
+
application.MessageBox('AKUN TERPILIH SUKSES DIHAPUS!!!','pesan',mb_iconinformation); frmubahanggota.bbtnulangiClick(sender); end else application.MessageBox('Data Tidak Ditemukan','Pesan Kesalahan',mb_iconerror) end; procedure Tfrmubahanggota.bbtncariClick(Sender: TObject); const petik : char = ''''; begin if (cbbulan.Text = '') and (edtahun.Text = '') and (edkpri.text = '') and (ednama.Text = '') then application.MessageBox('Data Tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from anggota where nama = ' + petik + ednama.Text + petik + ' and bulan = ' + petik + bln + petik + ' and tahun = ' + petik + edtahun.Text + petik + ' and kpri = ' + petik + edkpri.Text + petik );
Universitas Sumatera Utara
frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount = 0)then application.MessageBox('Data Pengurus Periode tersebut tidak ada','Pesan Kesalahan',mb_iconerror) else begin ednip.text := frmkomponen.adoq.fieldbyname('nip').AsString; edpekerjaan.Text := frmkomponen.adoq.fieldbyname('pekerjaan').AsString; edalamat.Text := frmkomponen.adoq.fieldbyname('alamat').AsString; edpokok.Text := frmkomponen.adoq.fieldbyname('pokok').AsString; edbunga.Text := frmkomponen.adoq.fieldbyname('bunga').AsString; edjangka.Text := frmkomponen.adoq.fieldbyname('jangka').AsString; edke.Text := frmkomponen.adoq.fieldbyname('ke').AsString; edkpri.Enabled := false; cbbulan.Enabled := false; ednama.Enabled := false; edtahun.Enabled := false; end end; end; procedure Tfrmubahanggota.cbbulanChange(Sender: TObject); begin if cbbulan.ItemIndex = 0 then bln := '' else bln := cbbulan.Text; end; procedure Tfrmubahanggota.bbtnulangiClick(Sender: TObject); begin ednip.text := ''; edpekerjaan.Text := ''; edalamat.Text := ''; edpokok.Text := ''; edbunga.Text := ''; edjangka.Text := ''; edke.Text := ''; edkpri.Text := ''; cbbulan.ItemIndex := 0; ednama.Text := ''; edtahun.Text := ''; edkpri.Enabled := true; cbbulan.Enabled := true; ednama.Enabled := true; edtahun.Enabled := true; end; procedure Tfrmubahanggota.BitBtn1Click(Sender: TObject); const petik : char = ''''; var kueri : string; begin
kueri := 'update anggota set nip = ' + petik + ednip.Text + petik + ',' + 'pekerjaan =' + petik + edpekerjaan.text + petik + ',' +
Universitas Sumatera Utara
'alamat =' + petik + edalamat.Text + petik + ',' + 'pokok =' + petik + edpokok.Text + petik + ',' + 'bunga =' + petik + edbunga.Text + petik + ',' + 'jangka =' + petik + edjangka.Text + petik + ',' + 'jumlah =' + petik + edjumlah.Text + petik + ',' + 'ke =' + petik + edke.Text + petik + ' where nama = ' +petik + ednama.Text + petik + ' and bulan = ' + petik + bln + petik + ' and tahun = ' + petik + edtahun.Text + petik + ' and kpri = ' + petik + edkpri.Text + petik; frmkomponen.adoc.Execute(kueri); application.MessageBox('Data KP-RI sukses diubah','Informas', mb_iconinformation); frmubahanggota.bbtnulangiClick(sender); end; end.
12. Listing Program Rekapitulasi Anggota KPRI unit unlihatanggota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons; type Tfrmlihatanggota = class(TForm) DBGrid1: TDBGrid; DBGrid2: TDBGrid; Label1: TLabel; bbtncari: TBitBtn; edkpri: TEdit; bbtnrefresh: TBitBtn; bbtnexit: TBitBtn; procedure bbtnexitClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure bbtnrefreshClick(Sender: TObject); procedure bbtncariClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmlihatanggota: Tfrmlihatanggota; implementation uses unkomponen; {$R *.dfm} procedure Tfrmlihatanggota.bbtnexitClick(Sender: TObject);
Universitas Sumatera Utara
begin close; end; procedure Tfrmlihatanggota.FormShow(Sender: TObject); begin frmlihatanggota.bbtnrefreshClick(sender); end; procedure Tfrmlihatanggota.bbtnrefreshClick(Sender: TObject); begin frmkomponen.adoanggota.Active := false; frmkomponen.adoanggota.SQL.Clear; frmkomponen.adoanggota.SQL.Add('select * from anggota order by kpri ' ); frmkomponen.adoanggota.ExecSQL; frmkomponen.adoanggota.Active := true; edkpri.Text := ''; end; procedure Tfrmlihatanggota.bbtncariClick(Sender: TObject); const petik : char = ''''; begin frmkomponen.adoanggota.Active := false; frmkomponen.adoanggota.SQL.Clear; frmkomponen.adoanggota.SQL.Add('select * from anggota where kpri like ' + petik + '%' + edkpri.Text + '%' +petik ); frmkomponen.adoanggota.ExecSQL; frmkomponen.adoanggota.Active := true; if (frmkomponen.adoanggota.RecordCount = 0)then begin application.MessageBox('Data KP-RI tersebut tidak ada','Informasi',mb_iconerror); frmlihatanggota.bbtnrefreshClick(sender); end; end; end.
13. Pilih Laporan Angsuran Bulanan Anggota unit Unpilihlaporanangota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math, Buttons, DBCtrls, Mask; type Tfrmpilihlaporan = class(TForm) Label1: TLabel; Label2: TLabel; cbbulan: TComboBox; edtahun: TEdit;
Universitas Sumatera Utara
bbtnproses: TBitBtn; bbtnkembali: TBitBtn; Label3: TLabel; dbpokok: TDBEdit; dblcbkpri: TEdit; procedure bbtnkembaliClick(Sender: TObject); procedure bbtnprosesClick(Sender: TObject); private { Private declarations } public jumlahpokok, jumlahbunga, jumlahjumlah : integer; { Public declarations } end; var frmpilihlaporan: Tfrmpilihlaporan; kopri : string; implementation uses unkomponen, unlaporan1; {$R *.dfm} procedure Tfrmpilihlaporan.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmpilihlaporan.bbtnprosesClick(Sender: TObject); const petik : char = ''''; var i : integer; begin kopri := dblcbkpri.Text; frmkomponen.adoanggota.Active := false; frmkomponen.adoanggota.SQL.Clear; frmkomponen.adoanggota.SQL.Add('select * from anggota where bulan = ' + petik + cbbulan.Text + petik + ' and tahun = ' + petik + edtahun.Text + petik + ' and kpri = ' + petik + kopri + petik ); frmkomponen.adoanggota.ExecSQL; frmkomponen.adoanggota.Active := true;
frmkomponen.adoanggota.First; for i := 0 to (frmkomponen.adoanggota.RecordCount - 1) do begin jumlahpokok := jumlahpokok + strtoint(frmkomponen.adoanggota.FieldByName('pokok').AsString); jumlahbunga := jumlahbunga + strtoint(frmkomponen.adoanggota.FieldByName('bunga').AsString); jumlahjumlah := jumlahjumlah + strtoint(frmkomponen.adoanggota.FieldByName('jumlah').AsString); frmkomponen.adoanggota.Next; end; frmlaporan1.qrlblpokok.Caption := inttostr(jumlahpokok); frmlaporan1.qrlblbunga.Caption := inttostr(jumlahbunga); frmlaporan1.qrlbljumlah.Caption := inttostr(jumlahjumlah);
Universitas Sumatera Utara
frmlaporan1.QRanggota.Preview; end; end.
14. Pilih Laporan Simpanan Tahunan unit unpilihsimpanan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type Tfrmpilihsimpanan = class(TForm) Label1: TLabel; edtahun: TEdit; bbtnproses: TBitBtn; BitBtn1: TBitBtn; Label2: TLabel; Label3: TLabel; edketua: TEdit; edbendahara: TEdit; procedure BitBtn1Click(Sender: TObject); procedure bbtnprosesClick(Sender: TObject); private jumlahpokok, jumlahwajib, jumlahkhusus, jumlahusaha, jumlahpsp, jumlahgedung, jumlahsukarela, jumlahjumlah : integer; { Private declarations } public { Public declarations } end; var frmpilihsimpanan: Tfrmpilihsimpanan; implementation uses unkomponen, Unlaporan1, unlapsimpanan; {$R *.dfm} procedure Tfrmpilihsimpanan.BitBtn1Click(Sender: TObject); begin close; end; procedure Tfrmpilihsimpanan.bbtnprosesClick(Sender: TObject); const petik : char = ''''; var i : integer; begin if (edtahun.Text = '') or (edketua.Text = '') or (edbendahara.Text = '') then
Universitas Sumatera Utara
application.MessageBox('Data tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoqkpri.Active := false; frmkomponen.adoqkpri.SQL.Clear; frmkomponen.adoqkpri.SQL.Add('select * from kpri where tahun = ' + petik + edtahun.Text + petik ); frmkomponen.adoqkpri.ExecSQL; frmkomponen.adoqkpri.Active := true;
frmkomponen.adoqkpri.First; for i := 0 to (frmkomponen.adoqkpri.RecordCount - 1) do begin jumlahpokok := jumlahpokok + strtoint(frmkomponen.adoqkpri.FieldByName('pokok').AsString); jumlahwajib := jumlahwajib + strtoint(frmkomponen.adoqkpri.FieldByName('wajib').AsString); jumlahkhusus := jumlahkhusus + strtoint(frmkomponen.adoqkpri.FieldByName('khusus').AsString); jumlahusaha := jumlahusaha + strtoint(frmkomponen.adoqkpri.FieldByName('usaha').AsString); jumlahpsp:= jumlahpsp + strtoint(frmkomponen.adoqkpri.FieldByName('psp').AsString); jumlahgedung := jumlahgedung + strtoint(frmkomponen.adoqkpri.FieldByName('gedung').AsString); jumlahsukarela := jumlahsukarela + strtoint(frmkomponen.adoqkpri.FieldByName('sukarela').AsString); jumlahjumlah := jumlahjumlah + strtoint(frmkomponen.adoqkpri.FieldByName('jumlah').AsString); frmkomponen.adoqkpri.Next end; frmlapsimpanan.pokok1.Caption := inttostr(jumlahpokok); frmlapsimpanan.wajib1.Caption := inttostr(jumlahwajib); frmlapsimpanan.khusus1.Caption := inttostr(jumlahkhusus); frmlapsimpanan.usaha1.Caption := inttostr(jumlahusaha); frmlapsimpanan.psp1.Caption := inttostr(jumlahpsp); frmlapsimpanan.gedung1.Caption := inttostr(jumlahgedung); frmlapsimpanan.sukarela1.Caption := inttostr(jumlahsukarela); frmlapsimpanan.jumlah1.Caption := inttostr(jumlahjumlah); frmlapsimpanan.qketua.Caption := '( ' + edketua.Text + ' )'; frmlapsimpanan.qbendahara.Caption := '( ' + edbendahara.Text + ' )'; frmlapsimpanan.qrsimpanan.Preview; end; end; end.
Universitas Sumatera Utara
15. Pilih Laporan Akhir Tahun unit unpilihtahunan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type Tfrmpilihtahunan = class(TForm) Label1: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; edtahun: TEdit; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private jumlahjumlah : integer; { Private declarations } public { Public declarations } end; var frmpilihtahunan: Tfrmpilihtahunan; implementation uses unkomponen, unlaptahunan, unlapsimpanan; {$R *.dfm} procedure Tfrmpilihtahunan.BitBtn2Click(Sender: TObject); begin close; end; procedure Tfrmpilihtahunan.BitBtn1Click(Sender: TObject); const petik : char = ''''; var i : integer; begin if edtahun.Text = '' then application.MessageBox('Data tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoqkpri.Active := false; frmkomponen.adoqkpri.SQL.Clear; frmkomponen.adoqkpri.SQL.Add('select * from kpri where tahun = ' + petik + edtahun.Text + petik ); frmkomponen.adoqkpri.ExecSQL; frmkomponen.adoqkpri.Active := true;
frmkomponen.adoqkpri.First; for i := 0 to (frmkomponen.adoqkpri.RecordCount - 1) do begin
Universitas Sumatera Utara
jumlahjumlah := jumlahjumlah + strtoint(frmkomponen.adoqkpri.FieldByName('anggota').AsString); frmkomponen.adoqkpri.Next end;
end;
frmlaptahunan.qjumlah.Caption := inttostr(jumlahjumlah); frmlaptahunan.qtahunan.Preview; end; end.
16. Bantuan Penggunaan unit Unbantu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons; type Tfrmbantu = class(TForm) rgbantu: TRadioGroup; M: TMemo; BitBtn1: TBitBtn; procedure rgbantuClick(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmbantu: Tfrmbantu; implementation {$R *.dfm} procedure Tfrmbantu.rgbantuClick(Sender: TObject); begin if rgbantu.ItemIndex = 0 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\1.txt') else if rgbantu.ItemIndex = 1 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\2.txt') else if rgbantu.ItemIndex = 2 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\3.txt') else if rgbantu.ItemIndex = 3 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\4.txt') else if rgbantu.ItemIndex = 4 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\5.txt') else if rgbantu.ItemIndex = 5 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\6.txt') else if rgbantu.ItemIndex = 6 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\7.txt')
Universitas Sumatera Utara
else if rgbantu.ItemIndex = 7 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\8.txt') else if rgbantu.ItemIndex = 8 then m.Lines.LoadFromFile(getcurrentdir+'\bantuan\9.txt') end; procedure Tfrmbantu.BitBtn1Click(Sender: TObject); begin close; end; end.
17. Tentang PKPRI V1 unit Unabout; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls; type Tfrmabout = class(TForm) imgabout: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; bbtntks: TBitBtn; bbtnkembali: TBitBtn; procedure bbtnkembaliClick(Sender: TObject); procedure bbtntksClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmabout: Tfrmabout;
implementation uses untks; {$R *.dfm} procedure Tfrmabout.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmabout.bbtntksClick(Sender: TObject); begin
Universitas Sumatera Utara
frmtks.ShowModal; end; end.
18. Akun Pengguna unit Unakun; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids; type Tfrmakun = class(TForm) bbtnbentukakun: TBitBtn; bbtnpassword: TBitBtn; bbtnhapusakun: TBitBtn; bbtnpengguna: TBitBtn; GB1: TGroupBox; GB2: TGroupBox; GB3: TGroupBox; GB4: TGroupBox; DBGrid1: TDBGrid; bbtnkembali: TBitBtn; Label1: TLabel; ednama: TEdit; Label2: TLabel; edpass: TEdit; bbtnbentuk: TBitBtn; bbtnubah: TBitBtn; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; edpl1: TEdit; edpl2: TEdit; edpb: TEdit; Label7: TLabel; eda: TEdit; Label8: TLabel; edH: TEdit; bbtnHapus: TBitBtn; procedure bbtnpenggunaClick(Sender: TObject); procedure bbtnhapusakunClick(Sender: TObject); procedure bbtnpasswordClick(Sender: TObject); procedure bbtnbentukakunClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure bbtnkembaliClick(Sender: TObject); procedure bbtnbentukClick(Sender: TObject); procedure bbtnubahClick(Sender: TObject); procedure bbtnHapusClick(Sender: TObject); private procedure segar; { Private declarations } public { Public declarations } end; var frmakun: Tfrmakun; implementation uses unkomponen, unlogin;
Universitas Sumatera Utara
{$R *.dfm} procedure Tfrmakun.segar; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from user order by nama ' ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; end; procedure Tfrmakun.bbtnpenggunaClick(Sender: TObject); begin segar; GB1.Visible := false; GB2.Visible := false; GB3.Visible := false; GB4.Visible := true; end; procedure Tfrmakun.bbtnhapusakunClick(Sender: TObject); begin GB1.Visible := false; GB2.Visible := false; GB3.Visible := true; GB4.Visible := false; end; procedure Tfrmakun.bbtnpasswordClick(Sender: TObject); begin GB1.Visible := false; GB2.Visible := true; GB3.Visible := false; GB4.Visible := false; end; procedure Tfrmakun.bbtnbentukakunClick(Sender: TObject); begin GB1.Visible := true; GB2.Visible := false; GB3.Visible := false; GB4.Visible := false; end; procedure Tfrmakun.FormShow(Sender: TObject); begin if frmlogin.modepakai = true then begin bbtnhapusakun.Enabled := true; bbtnpassword.Enabled := true; bbtnpengguna.Enabled := true; bbtnbentukakun.Enabled := true; eda.Enabled := true; end else begin bbtnhapusakun.Enabled := false; bbtnpassword.Enabled := true; bbtnpengguna.Enabled := false; bbtnbentukakun.Enabled := false; eda.Enabled := false; end; frmakun.bbtnpasswordClick(sender); eda.Text := frmlogin.ednama.Text; edpl1.Text := ''; edpl2.Text := '';
Universitas Sumatera Utara
edpb.Text := ''; ednama.Text := ''; edpass.Text := ''; end; procedure Tfrmakun.bbtnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmakun.bbtnbentukClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin if (ednama.Text = '')then application.MessageBox('Nama akun tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else begin frmkomponen.adoq.Active := false; kueri := 'select * from user where nama = ' + petik +ednama.Text+ petik ; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add(kueri); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if (frmkomponen.adoq.RecordCount > 0)then application.MessageBox('Data akun tidak boleh duplikat','Pesan Kesalahan',mb_iconerror) else begin kueri := 'insert into user values (' + petik + ednama.Text + petik +','+ petik + edpass.Text + petik + ')'; frmkomponen.adoc.Execute(kueri); application.MessageBox('AKUN SUKSES DIBENTUK!!!','pesan',mb_iconinformation); ednama.Text := ''; edpass.Text := ''; end; end end; procedure Tfrmakun.bbtnubahClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from user where nama = ' + petik + eda.text + petik + ' and password = ' + petik + edpl1.Text+ petik ); frmkomponen.adoq.ExecSQL;
Universitas Sumatera Utara
frmkomponen.adoq.Active := true; if (edpl1.Text <> edpl2.Text) then application.MessageBox('Maaf!!! Password lama tidak sama','Pesan Kesalahan',mb_iconerror) else if eda.Text = '' then application.MessageBox('Nama akun tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else if (frmkomponen.adoq.RecordCount > 0)then begin kueri := 'update user set password = ' + petik + edpb.Text + petik + ' where nama = '+ petik + eda.Text + petik ; frmkomponen.adoc.Execute(kueri); application.MessageBox('PASSWORD ATAU AKUN SUKSES DIUBAH!!!','pesan',mb_iconinformation); eda.Text := ''; edpl1.Text := ''; edpl2.Text := ''; edpb.Text := ''; end else application.MessageBox('Maaf Pengguna atau Password anda salah','Gagal Masuk',mb_iconerror) end;
procedure Tfrmakun.bbtnHapusClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from user where nama = ' + petik + edH.text + petik ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if edH.Text = '' then application.MessageBox('Data nama Akun tidak boleh kosong','Pesan Kesalahan',mb_iconerror) else if (frmkomponen.adoq.RecordCount > 0)then begin kueri := 'delete from user where nama = '+ petik + edH.Text + petik ; frmkomponen.adoc.Execute(kueri); application.MessageBox('AKUN TERPILIH SUKSES DIHAPUS!!!','pesan',mb_iconinformation); edH.Text := ''; end;
end; end.
Universitas Sumatera Utara
19. Histori Pengguna unit Unhistori; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons; type Tfrmhistori = class(TForm) dbg: TDBGrid; btnkembali: TBitBtn; btnhapus: TBitBtn; procedure FormShow(Sender: TObject); procedure btnkembaliClick(Sender: TObject); procedure btnhapusClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmhistori: Tfrmhistori; implementation uses unkomponen, unlogin; {$R *.dfm} procedure Tfrmhistori.FormShow(Sender: TObject); begin frmkomponen.adoq.Active := false; frmkomponen.adoq.SQL.Clear; frmkomponen.adoq.SQL.Add('select * from histori order by tanggal ' ); frmkomponen.adoq.ExecSQL; frmkomponen.adoq.Active := true; if frmlogin.modepakai = true then btnhapus.Enabled := true else btnhapus.Enabled := false; if (frmkomponen.adoq.RecordCount > 2)then application.MessageBox('Histori Pengguna sudah mencapai 20 atau lebih' + #13 + 'Hubungi admin untuk menghapus data yang tidak perlu'+ #13 + 'Terima Kasih','Gagal Masuk',mb_iconinformation);
end;
Universitas Sumatera Utara
procedure Tfrmhistori.btnkembaliClick(Sender: TObject); begin close; end; procedure Tfrmhistori.btnhapusClick(Sender: TObject); const petik : char = ''''; var kueri : string; begin kueri := 'delete from histori'; frmkomponen.adoc.Execute(kueri); frmkomponen.adoq.Active := false; frmkomponen.adoq.Active := true; application.MessageBox('Data Histori Penggunaan PKPRI_V1 sukses dihapus','Informasi',mb_iconinformation); end; end.
Universitas Sumatera Utara