Form Daftar Koleksi menampilkan seluruh koleksi yang ada
dalam database Rental. Form ini bisa digunakan untuk
pencarian koleksi berdasarkan criteria tertentu. Data hasil
pencarian dapat diurutkan berdasarkan kolom tertentu
dengan orientasi ascending maupun descending. Form ini
juga menampilkan kondisi stock masing-masing koleksi.
Form Daftar Koleksi berhubungan dengan form FKoleksi
untuk menampilkan data lengkap koleksi, preview koleksi
serta histori transaksi tiap koleksi.
Langkah-langkah :
1. Pastikan project Rental.dpr telah dibuka. 2. Buat form baru, klik menu File – New – Form.
3. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Property Value
Form1 Caption Daftar Koleksi BorderStyle bsSizeable
Name FDMember
Position poDesktopCenter WindowState wsMaximized
4. Klik menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UFDKoleksi.pas dalam folder Rental.
5. Klik menu File – Use Unit, pilih UFUtama, klik OK untuk melanjutkan. 6. Tambahkan 2 buah ADOQuery dari tab ADO, atur property seperti table
di bawah ini :
Komponen Tab Parent Property Value
ADOQuery1 ADO FDKoleksi Connection FUtama.ADOConnection1
Name qAwal SQL SELECT KOLEKSI.KOLEKSIID, KOLEKSI.JUDUL, KOLEKSI.PEMERANUTAMA, KOLEKSI.KATEGORI, KOLEKSI.JENISKOLEKSI, KOLEKSI.TGLBELI, KOLEKSI.JUMLAH, (KOLEKSI.JUMLAH - (SELECT COUNT(DPINJAM.DPINJAMID) FROM DPINJAM, PINJAM WHERE (PINJAM.PINJAMID = DPINJAM.PINJAMID) AND (DPINJAM.KOLEKSIID = KOLEKSI.KOLEKSIID) AND (DPINJAM.KEMBALIID = 0))) AS STOCK, (SELECT COUNT(DPINJAM.DPINJAMID) FROM DPINJAM, PINJAM
WHERE (PINJAM.PINJAMID = DPINJAM.PINJAMID) AND (DPINJAM.KOLEKSIID =
KOLEKSI.KOLEKSIID)) AS TOTALDIPINJAM FROM KOLEKSI WHERE
(KOLEKSI.JUDUL LIKE :JUDUL) AND (KOLEKSI.PEMERANUTAMA LIKE :PEMERANUTAMA) AND
(KOLEKSI.KATEGORI LIKE :KATEGORI) AND
(KOLEKSI.JENISKOLEKSI LIKE :JENISKOLEKSI)
ADOQuery2 ADO FDKoleksi Connection FUtama.ADOConnection1
Name qSearch
SQL sama dengan qAwal, cukup copy paste dari qAwal.
7. Tambahkan 1 buah DataSource dari tab Data Access, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value Datasource1 Data Access FDKoleksi Dataset qSearch
8. Pilih qSearch pada Object TreeView, atur property Parameters seperti pada table di bawah ini :
Komponen Property Value TParameters[0] DataType ftWideString TParameters[1] DataType ftWideString TParameters[2] DataType ftWideString TParameters[3] DataType ftWideString
9. Buat persistent field query qSearch, klik dua kali qSearch untuk membuka field editor, klik kanan dan pilih Add All Fields.
10. Tambahkan 1 buah Panel dari tab Standard ke dalam FDKoleksi, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value Panel1 Standard FDKoleksi Align alTop
11. Tambahkan 1 buah GroupBox dan 2 buah RadioGroup dari tab Standard ke dalam Panel1, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value GroupBox1 Standard Panel1 Align alLeft
Caption Kriteria Pencarian : RadioGroup1 Standard Panel1 Align alLeft
Caption Urut Berdasarkan : Items KoleksiID Judul Pemeran Utama Kategori Jenis Koleksi Tanggal Beli
Jumlah Koleksi Stock
Total Dipinjam RadioGroup2 Standard Panel1 Align alClient
Caption Orientasi : Items Ascending
Descending
12. Tambahkan 4 buah Label, 2 buah Edit dan 2 buah Combobox dari tab Standard ke dalam GroupBox1, ubah property seperti table di bawah ini :
Komponen Tab Parent Property Value Label1 Standard GroupBox1 Caption Judul
Label2 Standard GroupBox1 Caption Pemeran Utama Label3 Standard GroupBox1 Caption Kategori Label4 Standard GroupBox1 Caption Jenis Koleksi
Combobox1 Standard GroupBox1 Items ACTION
DRAMA DRAMA MUSICAL HOROR HOROR KOMEDI KARTUN KOMEDI KOMEDI ROMANTIS LAIN-LAIN
Combobox2 Standard GroupBox1 Items CD
CD AUDIO CD MP3 DVD Edit1, Edit2, Combobox1, Combobox2
Standard GroupBox1 Charcase ecUpperCase Text
13. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox1, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value BitBtn1 Additional GroupBox1 Caption Search
Glyph Cari.bmp BitBtn2 Additional GroupBox1 Caption Reset
Glyph Reset.bmp
14. Tambahkan 1 buah GroupBox dari tab Standard ke dalam FDKoleksi, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value GroupBox2 Standard FDKoleksi Align alClient
Caption Hasil Pencarian :
15. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox2, atur property seperti table di bawah ini :
Komponen Tab Parent Property Value
DBGrid1 Data Control GroupBox2 Align alClient
Datasource DataSource1
Options.dgRowSelect True Options.dgAlwaysShowSelection True 16. Klik dua kali DBGrid2 pada Object TreeView untuk membuka Column
Editor, klik kanan dan pilih Add All Fields, ubah property masing-masing kolom seperti table di bawah ini :
Komponen Property Value
DBGrid1.Columns[0] Title.Caption ID
DBGrid1.Columns[1] Title.Caption Judul Koleksi DBGrid1.Columns[2] Title.Caption Pemeran Utama DBGrid1.Columns[3] Title.Caption Kategori DBGrid1.Columns[4] Title.Caption Jenis Koleksi DBGrid1.Columns[5] Title.Caption Tanggal Beli DBGrid1.Columns[6] Title.Caption Jumlah DBGrid1.Columns[7] Title.Caption Stock
DBGrid1.Columns[8] Title.Caption Total Dipinjam DBGrid1.Columns[0], DBGrid1.Columns[1], DBGrid1.Columns[2], DBGrid1.Columns[3], DBGrid1.Columns[4], DBGrid1.Columns[5], DBGrid1.Columns[6], DBGrid1.Columns[7], DBGrid1.Columns[8] Title.Alignment taCenter Title.Font.Style.fsBold True
17. Atur layout form FDKoleksi seperti gambar di bawah ini :
18. Buat procedure Search dan procedure Reset pada blok Private, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
FDKoleksi Search procedure TFDKoleksi.Search; var I : Integer; begin qSearch.Close; qSearch.SQL := qAwal.SQL; Case RadioGroup1.ItemIndex of 0 : qSearch.SQL.Add('ORDER BY 1'); 1 : qSearch.SQL.Add('ORDER BY 2'); 2 : qSearch.SQL.Add('ORDER BY 3'); 3 : qSearch.SQL.Add('ORDER BY 4'); 4 : qSearch.SQL.Add('ORDER BY 5'); 5 : qSearch.SQL.Add('ORDER BY 6'); 6 : qSearch.SQL.Add('ORDER BY 7'); 7 : qSearch.SQL.Add('ORDER BY 8'); 8 : qSearch.SQL.Add('ORDER BY 9'); End; Case RadioGroup2.ItemIndex of 0 : qSearch.SQL.Add('ASC'); 1 : qSearch.SQL.Add('DESC'); End; qSearch.Parameters[0].Value := '%' + Edit1.Text + '%'; qSearch.Parameters[1].Value := '%' + Edit2.Text + '%'; qSearch.Parameters[2].Value := '%' + Combobox1.Text + '%'; qSearch.Parameters[3].Value := '%' + Combobox2.Text + '%'; qSearch.Open; For I := 0 to DBGrid1.Columns.Count - 1 do DBGrid1.Columns[I].Color := clWindow; If RadioGroup2.ItemIndex = 0 then DBGrid1.Columns[RadioGroup1.ItemIndex].Color := clMoneyGreen Else DBGrid1.Columns[RadioGroup1.ItemIndex].Color := clSkyBlue; ActiveControl := DBGrid1;
end;
Reset procedure TFDKoleksi.Reset; begin Edit1.Text := ''; Edit2.Text := ''; ComboBox1.ItemIndex := -1; ComboBox2.ItemIndex := -1; RadioGroup1.ItemIndex := 0; RadioGroup2.ItemIndex := 0; Search; end;
19. Pilih FDKoleksi pada Object TreeView, buat event onShow dan onClose, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
FDKoleksi onShow procedure TFDKoleksi.FormShow(Sender: TObject); begin
Komponen Event Code end;
onClose procedure TFDKoleksi.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qSearch.Close; end;
20. Pilih Edit1, dan Edit2 pada Object TreeView, buat event onKeyPress, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
Edit1, Edit2 onKeyPress procedure TFDKoleksi.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = #13 then Search; end;
21. Pilih Combobox1 dan Combobox2 pada Object TreeView, buat event onChange, ketikkan perintah seperti table di bawah ini :
Komponen Event Code Combobox1,
Combobox2
onChange procedure TFDKoleksi.ComboBox1Change(Sender: TObject); begin
Search; end;
22. Pilih BitBtn1 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
BitBtn1 onClick procedure TFDKoleksi.BitBtn1Click(Sender: TObject); begin
Search; end;
23. Pilih BitBtn2 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
BitBtn2 onClick procedure TFDKoleksi.BitBtn2Click(Sender: TObject); begin
Reset; end;
24. Pilih RadioGroup1 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
RadioGroup1 onClick procedure TFDKoleksi.RadioGroup1Click(Sender: TObject); begin
If RadioGroup1.ItemIndex in [7,8] then Begin
Komponen Event Code
RadioGroup2.Enabled := False; End Else RadioGroup2.Enabled := True; Search;
end;
25. Pilih RadioGroup2 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
RadioGroup2 onClick procedure TFDKoleksi.RadioGroup2Click(Sender: TObject); begin
Search; end;
26. Klik menu File – Use Unit, pilih FKoleksi, klik OK untuk melanjutkan. 27. Pilih DBGrid1 pada Object TreeView, buat event onDblClick, ketikkan
perintah seperti table di bawah ini : Komponen Event Code
DBGrid1 onDblClick procedure TFDKoleksi.DBGrid1DblClick(Sender: TObject); begin With FKoleksi do Begin KoleksiID := qSearchKoleksiID.Value; ShowModal; End; end;
28. Kembali ke form FUtama, klik menu View – Form, pilih FUtama, klik OK untuk melanjutkan.
29. Klik menu File – Use Unit, pilih FDKoleksi, klik OK untuk melanjutkan. 30. Pilih DaftarKoleksi1 pada Object TreeView, buat event onClick, ketikkan
perintah seperti table di bawah ini : Komponen Event Code
DaftarKoleksi1 onClick procedure TFUtama.DaftarKoleksi1Click(Sender: TObject); begin
FDKoleksi.ShowModal; end;
31. Pilih SpeedButton6 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen Event Code
SpeedButton6 onClick procedure TFUtama.SpeedButton6Click(Sender: TObject); begin
FDKoleksi.ShowModal; end;