• Tidak ada hasil yang ditemukan

Membuat Form Daftar Koleksi

Dalam dokumen MODUL KULIAH PEMROGRAMAN VISUAL 1 (Halaman 187-195)

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;

Dalam dokumen MODUL KULIAH PEMROGRAMAN VISUAL 1 (Halaman 187-195)