Anda di halaman 1dari 20

Q U I C KR E P O R TD E N G A N Q U I C R E P O R D E N G A B O R L A N DD E L P H I B O R L A N D E L P H

ElgaLesmana
elgalesmana@yahoo.com http://elgalesmana.net46.net

LisensiDokumen:
Copyright20032007 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecualimendapatkanijinterlebihdahuludariIlmuKomputer.Com.

Banyaksekalidelphierpemulabertanyatentangbagaimana membuatlaporandiDelphi, maka untukdariitusayaakanmencobamembuatsebuahtutorialtentangbagaimanamembuatlaporan di delphi dengan menggunakan Quick Report, meskipun banyak sekali komponen di delphi yangkhususuntukmembuatsebuahlaporansepertiRaveReports,QuickReport,CrystalReport danyanglainnya.Tapipenggunaanquickreportinimasihsangatbanyakdiminatidikalangan paraprogrammer. Ikuti petunjukdibawahuntukbagaimanacaramengaktifkanQuickReport: 1. JalankanDelphinya. Start BorlandDelphi7Delphi7//untukyangmenggunakanDelphi7 2. AktifkankomponenQuickReport ComponentInstallsPackages..

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

3. KliktombolAdd, Kemudianmasukkedirektory C:\ProgramFiles\Borland\Delphi7\Bin

4. Caripackagedclqrt70.bpl,kemudianklikOpen 5. KomponenQuickReporttelahberhasilditambahkandiPalleteDelphi, danbiasanyaakan beradadipalingujungpallete.

MembuatDatabaseDenganMenggunakanMicrosoftAccessdanMemberinyaPassword

1. JalankanMicrosoftAccess Start MicrosoftOfficeMicrosoftOfficeAccess2003 2. BuatDatabaseBar File NewBlankDatabase 3. Simpandengan namadatabase Data 4. Pilih Createtableindesignview untukmembuattablebaru 5. Buat6buahfieldsepertipadagambardibawah.Aturfieldsizesepertiyangdiinginkan

6. Simpan dengannamaTDKaryawan

7. KeluardariMicrosoftAccess. 8. JalankankembaliMicrosoftAccessnya.

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

9. File Open,carialamatdatabaseyangtadiandasimpan 10. Kemudianpilihdatabasenya,danbukasecaraExclusive

11. Masuk ke menu Tools Security Set Database Password, isi dengan password yang andainginkan. 12. Selesai. MembuatProgramdenganBorlandDelphi PenjelasanUmum: SeorangpegawaidisalahsatuperusahaandiidentifikasikandenganNomorIndukPegawaiyang sifatnya unik, yang berarti satu NIP hanya untuk seorang pegawai. Maka tidak ada pegawai denganNIPyangsama. Jabatandiidentifikasikandengan namajabatannya,denganketentuansepertidibawah: Manager Administrasi Karyawan Kodedelphiyangakandibahas: ValidasiButton Validasipenginputandata Mengubahwarnakomponenaktif PenggunaanQuickReport Danlainnya 1. JalankanDelphinya 2. Masukkan 5BuahLabel 4BuahTedit 1BuahComboBox 5BuahButton 1BuahDataGrid 1AdoConnection,1ADOTable,1ADOQuery,1DataSource 1,500,000 1,000,000 750,000

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

3. AturPropertynyasepertidibawah: TLabel NIP Nama Alamat Jabatan Upah Tedit,ComboBox Name Ednip Ednama Edalamat Edupah CboJabatan Tbutton Name btntambahdata btnhapusdata btnbatalkan btnsimpandata btnlaporan TADO,DataGrid,DataSource Property Connection Connection DataSet DataSource OptionsdgEditing

Label1 Label2 Label3 Label4 Label5

Komponen Tedit1 Tedit2 Tedit3 Tedit4 ComboBox1

Komponen Button1 Button2 Button3 Button4 Button5

Caption TambahData Hapus Batal SimpanData Laporan

Komponen ADOConnection1 ADOTable1 ADOQuery1 DataSource1 DBGrid1 DBGrid1

Nilai ADOConnection1 ADOConnection1 ADOTable1 DataSource1 False

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

4. ListingKodeProgram //////////////////////////////////////////////////////////////////////// ////Author :ElgaLesmana//////////////////////////////////////////// ////EMail :elgalesmana@yahoo.com/////////////////////////////////// ////Website:http://elgalesmana.net46.net//////////////////////////// ////copyright2008ilmukomputer.com////////////////////////////////// //////////////////////////////////////////////////////////////////////// unitUPertama interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls,Grids,DBGrids,ExtCtrls,ADODB,DB type TFrmPegawai=class(TForm) Label1:TLabel ednip:TEdit Label2:TLabel ednama:TEdit Label3:TLabel edalamat:TEdit Label4:TLabel cbojabatan:TComboBox Label5:TLabel edupah:TEdit DBGrid1:TDBGrid btntambahdata:TButton btnhapusdata:TButton btnbatalkan:TButton btnsimpandata:TButton btnlaporan:TButton ADOConnection1:TADOConnection ADOTable1:TADOTable ADOQuery1:TADOQuery DataSource1:TDataSource ADOTable1nip:TWideStringField ADOTable1nama:TWideStringField ADOTable1alamat:TWideStringField ADOTable1jabatan:TWideStringField ADOTable1gajih:TIntegerField procedureFormCreate(Sender:TObject) procedurebtntambahdataClick(Sender:TObject) procedurebtnbatalkanClick(Sender:TObject) procedureednipKeyPress(Sender:TObjectvarKey:Char) procedurebtnsimpandataClick(Sender:TObject) procedurecbojabatanChange(Sender:TObject) procedurebtnhapusdataClick(Sender:TObject) procedureDBGrid1CellClick(Column:TColumn) procedureFormDestroy(Sender:TObject)

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

private proceduretampilanawal(Sender:TObject) procedurewarnatedit(Sender:TObject) public {Publicdeclarations} end var FrmPegawai:TFrmPegawai si:shortint KomponenControl:TComponent implementation uses XPMan {$R*.dfm} procedureTFrmPegawai.tampilanawal(Sender:TObject) begin //kosongkansemuadataTEDIT,KodeiniberlakuuntukTcomboboxmaupunyanglain forsi:=0toComponentCount1do begin ifComponents[si]isTEditthenTEdit(Components[si]).Clear ifComponents[si]isTEditthenTEdit(Components[si]).Enabled:=False ifComponents[si]isTButtonthenTButton(Components[si]).Enabled:=true end //tambahdataitemcomboboxe withcbojabatandobegin AddItem('Manager',cbojabatan) AddItem('Administrasi',cbojabatan) AddItem('Karyawan',cbojabatan) Style:=csDropDownList ItemIndex:=0 end cbojabatan.Enabled:=false btnsimpandata.Enabled:=false btnbatalkan.Enabled:=false DBGrid1.Enabled:=true end //doactivecontroldigunakanuntukmerubahwarnakomponenteditsecaraotomatis //ketikasedangaktif procedureTFrmPegawai.warnatedit(Sender:Tobject) begin ifAssigned(KomponenControl)thenbegin //mengubahwarnabackgroundmenjadiputih (KomponenControlasTEdit).Color:=clWhite //mengubahwarnafontmenjadihitam

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

(KomponenControlasTEdit).Font.Color:=clBlack end ifActiveControlisTEditthenbegin //mengubahwarnabackgroundmenjadibirulangit (ActiveControlasTEdit).Color:=clSkyBlue //mengubahwarnabackgroundmenjadikuning (ActiveControlasTEdit).Font.Color:=clYellow KomponenControl:=ActiveControlasTEdit end end procedureTFrmPegawai.FormCreate(Sender:TObject) var alamatdb,namatabel:WideString begin //ManipulasicursorscrSQLWaitagartidaktampil Screen.Cursors[crSQLWait]:=Screen.Cursors[crDefault] //batasipenginputanedniphanyasampai5karakter ednip.MaxLength:=5 tampilanawal(Sender) //mengaktifkanproceduredoactivecontrol Screen.OnActiveControlChange:=warnatedit //aturkoneksipadaADOConnection //scriptinibergunauntukmengaturkoneksidatabasepadaaplikasi //agaraplikasidapatmemprosesdatabaseyangdipilihdikomputer //manapuntanpaharusmempunyaipath/alamatdatabaseyangsama. alamatdb:=ExtractFilePath(Application.ExeName)+'data.mdb' withADOConnection1dobegin Connected:=False LoginPrompt:=False Mode:=cmShareDenyNone ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0Jet Password=ikcDataSource='+ alamatdb+'PersistSecurityInfo=False' end ADOConnection1.Connected :=True namatabel:='TDKaryawan' ADOTable1.TableName:=namatabel ADOTable1.Open FrmPegawai.Caption:='DataPegawai' end procedureTFrmPegawai.btntambahdataClick(Sender:TObject) begin forsi:=0toComponentCount1do begin ifComponents[si]isTEditthenTEdit(Components[si]).Clear ifComponents[si]isTButtonthenTButton(Components[si]).Enabled:=false

OLEDB:Database

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

end ednip.Enabled:=true btnsimpandata.Enabled:=truebtnbatalkan.Enabled:=true DBGrid1.Enabled:=false ednip.SetFocus end procedureTFrmPegawai.btnbatalkanClick(Sender:TObject) begin tampilanawal(sender) end procedureTFrmPegawai.ednipKeyPress(Sender:TObjectvarKey:Char) var Cur:Currency CariData:boolean begin //cekjikabukantombolenteryangditekanjanganmerespon ifnot(key=chr(13))thenexit //cekjikapanjangtekskurangdari5makatampilkanpesan ifLength(ednip.Text)<5thenbegin Application.MessageBox('Pengisiandataharus5numerik','Informasi', MB_OKorMB_ICONINFORMATION) exit end //waktunyamengecekapakahisiednipNumerikataubukan //dimulaidisini withADOTable1dobegin try Cur:=StrToCurr(ednip.Text) except Application.MessageBox('NIPharusnumerik','Informasi', MB_OKorMB_ICONINFORMATION) exit end end //akhirpengecekannumerik //caridatajikaadatampilkandatanya withADOQuery1dobegin close sql.clear sql.add('select*fromTDKaryawanwhereniplike'+ QuotedStr(ednip.Text)) open end ifADOQuery1.RecordCount>0thenbegin ednip.SelectAllednip.SetFocus ednip.text:=ADOQuery1['nip'] ednama.Text:=ADOQuery1['nama']

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

edalamat.Text:=ADOQuery1['alamat'] edupah.Text:=ADOQuery1['gajih'] cbojabatan.Text:=ADOQuery1['jabatan'] exit end //selesaicekdata //jikadatatidakadayangsama ednama.Enabled:=true edalamat.Enabled:=true edupah.Text:='1500000' cbojabatan.Enabled:=true ednama.SetFocus end procedureTFrmPegawai.cbojabatanChange(Sender:TObject) begin casecbojabatan.ItemIndexof 0:edupah.Text:='1500000' 1:edupah.Text:='1000000' else edupah.Text:='750000' end end procedureTFrmPegawai.btnsimpandataClick(Sender:TObject) var s:string begin withADOTable1dobegin Append FieldByName('nip').AsString:=ednip.Text FieldByName('nama').AsString:=ednama.Text FieldByName('alamat').AsString:=edalamat.Text FieldByName('gajih').AsInteger:=StrToInt(edupah.Text) FieldByName('jabatan').AsString:=cbojabatan.Text Post end ///tampilkankonfirmasipengisiandatakembali if(Application.MessageBox('datatelahberhasildisimpan,isilagi', 'Konfirmasi',MB_YESNOorMB_ICONQUESTION)=idNO)thenbegin tampilanawal(sender) edupah.Text:='1500000' endelse btntambahdataClick(Sender) end procedureTFrmPegawai.btnhapusdataClick(Sender:TObject) begin if(Application.MessageBox('andayakinakanmenghapusdataini', 'KonfirmasiPenghapusan',MB_YESNOorMB_ICONQUESTION)=idNO)thenbegin

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

Abort endelse ADOTable1.Delete end procedureTFrmPegawai.FormDestroy(Sender:TObject) begin Screen.OnActiveControlChange:=nil end


end.

5. SelesaisebagiandarilistingkodeprogrampadaFormPertama 6. Sekarangikutilagipetunjuknya. 7. Klik2xPadaADOConnection1,sampaimuncultampilansepertidibawah

8. KlikBuild,pilihyangdilingkarigarismerah

9. PilihMicrosoftJet4.0OLEDBProvider,kemudianklikNext

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

10

10. Klikyangdilingkariwarnamerah 11. Kemudiancarialamatdatabaseyangandabuat.KlosudahmasuktabAll

12. Pilih Jet OLEDB: Database Password, kemudian klik Edit Value dan masukkan password databaseanda. 13. PilihOK. 14. PadaPropertyADOConnection1RubahLoginPrompt:FalsedanConnectedmenjadi:True 15. Selesai. Diatas adalah bagaimana cara kita untuk mengkoneksikan database lewat

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

11

connectionstringsecarawizard. 16. Sekarang pilih ADOTable dan rubah property TableName menjadi TDKaryawan, Active : True, 17. Klik2xADOTable1,kemudiantekanCtrl+Fsampaimiripsepertigambardibawah.

18. Sekarang klik2xDBGrid,makaakanmuncultampilansepertidibawah

19. Klikyangdilingkaridengan garisbermerah. 20. AturPropertynya. 21. Lanjutan ListingKodeProgram. procedureTFrmPegawai.DBGrid1CellClick(Column:TColumn) begin ednip.Text:=ADOTable1nip.Value ednama.Text:=ADOTable1nama.Value edalamat.Text:=ADOTable1alamat.Value edupah.Text:=ADOTable1gajih.AsString ifADOTable1jabatan.Value='Manager'then cbojabatan.ItemIndex:=0 elseifADOTable1jabatan.Value='Administrasi'then cbojabatan.ItemIndex:=1 else cbojabatan.ItemIndex:=2 end procedureTFrmPegawai.btnlaporanClick(Sender:TObject) begin //pastikantelahmengikutilangkahno23. Form1.ShowModal end

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

12

22. ListingUpertamaKodeProgramSelesai. 23. Tambahkan1BuahForm.File New Form, kemudiantekanAlt+F11danmasukkan UpertamakebagiandariForm.

24. SimpandengannamaunitUlaporan 25. Pada Form1 Masukkan 2 Buah RadioButton, 2 GroupBox, 2 Tbutton, 1 ComboBox, 1 QuickRepdaripalleteQreport,1ADOQuery 26. AturPropertynya Komponen GroupBox1 GroupBox2 RadioButton1 RadioButton2 ComboBox1 Button1 Button2 QuickRep1 ADOQuery1 Property Caption Caption Name Caption Name Caption Name Name Name DataSet Connection SQL Active Value OptionsLaporan OptionsCustoms Optsemuadata TampilkanSemuaData OptJabatan CustomJabatan Cbocustom Tampilkan Keluar ADOQuery1 FrmPegawai.ADOConnection1 Select*fromTDKaryawan True

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

13

27. Tambahkan komponen QRBand, perhatikan property BandType, defaultnya adalah rbTitle, jadikamutidakperlumengubahnya. 28. PadaBandtersebuttambahkan1QRLabel.UbahPropertynyamenjadisepertidibawah Komponen Alignment AlignToBand Caption Font Property taCenter True LaporanDataPegawai Arial,14Bold

29. TambahkanlagisebuahqrBanddanubahbeberapapropertynya. Property BandType Color Frame.DrawBottom Fram.DrawTop Isi rbColumnHeader clCream True True

30. Tambahkan 6 QRLabel pada band tersebut. Ubah masingmasing color menjadi clCream. Sesuaikancaptionnya. 31. TambahkanlagisebuahQrBanddenganBandTypeadalahrbDetail 32. Untuk menampilkan nomor urut tambahakan sebuah QRExpression dan ubah beberapa propertynya. Property Expression Alignment AuroSize Mask Master Isi COUNT TaLeftJustify False #0 QuickRep1

33. Tambahkan 5 buah QRDBText. Property DataSet dari keempat komponen tersebut adalah ADOquery1, sedangkan DataField masingmasing adalah NIP, Nama, Alamat, Jabatan, Gajih. 34. Untuk mencetak setiap keterangan di bawah setiap halaman, tambahkan sebuah QRBand denganBandTypeadalahrbPageFooter.UbahpropertycolormenjadiclCream. 35. UbahpropertyFrame.DrawBottomdanFrame.DrawTopmenjadiTrue. 36. Disebelah kiri akan menampilkan nomor halaman. Maka tambahkan QRSysData, ubah propertynya. Property Color Text Data Isi clCream Halamanke: qrsPageNumber

37. Disebelah kanan akan ditampilkan waktu pencetakkan. Tambahkan QRSysData, ubah beberapapropertynya: Property Color Text Isi clCream Dicetakpada:

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

14

Data Alignment 38. PerancanganFormSelesai 39. Aturbesarformmenjadisepertidibawah:

qrsDateTime taRightJustify

40. DandibawahlistingkodeprogramuLaporan. unitULaporan interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls,ExtCtrls,QuickRpt,DB,ADODB,QRCtrls type TForm1=class(TForm) Button1:TButton Button2:TButton GroupBox1:TGroupBox optsemuadata:TRadioButton optjabatan:TRadioButton GroupBox2:TGroupBox cbocustom:TComboBox QuickRep1:TQuickRep ADOQuery1:TADOQuery QRBand1:TQRBand QRLabel1:TQRLabel QRBand2:TQRBand QRLabel2:TQRLabel QRLabel3:TQRLabel QRLabel4:TQRLabel QRLabel5:TQRLabel QRLabel6:TQRLabel QRLabel7:TQRLabel QRBand3:TQRBand QRExpr1:TQRExpr

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

15

QRDBText1:TQRDBText QRDBText2:TQRDBText QRDBText3:TQRDBText QRDBText4:TQRDBText QRDBText5:TQRDBText QRBand4:TQRBand QRSysData1:TQRSysData QRSysData2:TQRSysData procedureButton2Click(Sender:TObject) procedureFormCreate(Sender:TObject) procedureoptjabatanClick(Sender:TObject) procedureoptsemuadataClick(Sender:TObject) procedureButton1Click(Sender:TObject) procedurecbocustomChange(Sender:TObject) private {Privatedeclarations} public {Publicdeclarations} end var Form1:TForm1 implementation usesUPertama {$R*.dfm} procedureTForm1.Button2Click(Sender:TObject) begin Close end procedureTForm1.FormCreate(Sender:TObject) begin cbocustom.Text:='' optsemuadata.Checked:=true GroupBox2.Enabled:=false end procedureTForm1.optjabatanClick(Sender:TObject) begin GroupBox2.Enabled:=true withcbocustomdobegin AddItem('Manager',cbocustom) AddItem('Administrasi',cbocustom) AddItem('Karyawan',cbocustom) Style:=csDropDownList ItemIndex:=0 end withADOQuery1dobegin close

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

16

sql.Clear sql.Add('select* fromTDKaryawanwherejabatanlike'+ QuotedStr(cbocustom.Text)) Open end end procedureTForm1.optsemuadataClick(Sender:TObject) begin cbocustom.Items.Clear GroupBox2.Enabled:=False withADOQuery1dobegin close sql.clear sql.Add('select*fromTDKaryawanorderbynip') Open end end procedureTForm1.Button1Click(Sender:TObject) begin QuickRep1.Preview end procedureTForm1.cbocustomChange(Sender:TObject) begin withADOQuery1dobegin close sql.Clear sql.Add('select*fromTDKaryawanwherejabatanlike'+ QuotedStr(cbocustom.Text)) Open end end end. 41. Selesai Saya mohon maafbila tutorial ini terlalu panjang, dan masih ada kesalahan dalam pembuatan kodeprogram.Sayaharaptutorialinibisamembantuuntukandayangmembutuhkan. NB:Mungkinketikaandamenjalankanprogramnyadicomputerlainakanterjadierrormessage pertamakalikarenakitamengikutilangkahpadanoke14,yaituconnectiondiADOConnection1 Active nya : true, tapi itu tidak masalah dalam menghubungkan koneksidatabase. Coba kamu benarkanbugtersebut.

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

17

TipsandTrik: Untuk kalian yang menggunakan BDE dan menggunakan basis data Microsoft Access, tetapi kesulitan menghubungkan BDE dengan Access karena databasenya menggunakan password, dibawahadalangkahpermasalahannya. 1. BuatODBCsepertibiasa. 2. ControlPanel AdministrativeToolsDataSources(ODBC)

3. KliktombolAdd,danpilihDriverdoMicrosoftAccess(*.mdb),kemudianklikFinish 4. Makaakanmuncultampilansepertidibawah

5. BerinamauntukDataSourceNamenya:Datapegawai 6. KemudianwaktunyamemilihdatabasedenganmengkliktombolSelect 7. CarialamatdatabasenyakemudianklikOK

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

18

8. Setelahmemilihdatabase,langkahselanjutnyamemasukkanpassworddatabasenya. 9. KliktombolAdvanced,makaakanmuncultampilandibawah

10. Pada Group Default Authorization, kosongkan untuk Login Name, dan pada Password, isikanpassworddatabasenya,kemudianklikOK 11. Selesai

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

19

BiografiPenulis
ElgaLesmana. Dilahirkantanggal2Desember1987diBandung. Menamatkan SMU di SMU Pasundan 1 Cimahi pada tahun 2006, dansaatinibekerjasebagaifreelancerdibandungdancimahiuntuk pembuatanprogramdatabasesepertisysteminformasiperpustakaan, penyimpanandatabarangdanstok,websiteprogrammer(PHP,ASP, MySQL ) , website designer, jaringan komputer, hardware dll. Pernah bekerja sebagai staff instruktur di lembaga kependidikan kursus LPKII (Lembaga Pendidikan Komputer Informatika Indonesia) di bandung, namun keluar karena harus meneruskankuliahdiUniversitasNasionalPasim.DisampingsebagaifreelancerElgaLesmana bekerjasebagaimaintenancedibeberapawarnetdiCimahimaupunBandung. hihihihihihihihhinothingspecialinmylife,justkiddingandsleeping.

KomunitaseLearningIlmuKomputer.Com Copyright20032007 IlmuKomputer.Com

20

Anda mungkin juga menyukai