Sunday, October 14, 2012

MEMBUAT LAPORAN (REPORT) DENGAN VISUAL BASIC


A. Membuat Laporan (Report)
Laporan digunakan sebagai sarana untuk menampilkan hasil pengolahan data, baik tampilan di layar maupun di kertas melalui printer. Pada pemrograman visual basic, laporan dapat dibuat dengan fasilitas Cristal Report (diinstal tersendiri) maupun dengan Data Report (bawaan standard). Pada bahasan di bawah ini laporan dibuat engan menggunakan Data Report.
a)      Persiapan
Untuk membuat laporan dengan Data Report, dapat dilakukan dengan cara menambahkan objek Data Report pada project, yaitu :
-          Tampilkan menu Project
-          Klik pilihan Add Data Report, sehingga akan ditampilkan desain laporan.
Sebelum melanjutkan untuk merancang laporan yang diinginkan, ada beberapa tahapan yang perlu dilakukan yaitu :
1)      Menetapkan Data Enviroment (Lingkungan Data)
Untuk membuat Data Environment lakukan langkah-langkah sbb :
-          Klik kanan pada jendela Project
-          Pilih Add
-          Pilih Data Environment, sehingga akan ditampilkan layar seperti gambar di bawah ini :
Gambar 47 : Kotak Dialog Data Environment
Untuk masing-masing nama (DataEnvironment1 dan Connection1) dapat dirubah namanya melalui properties.
-          Buat koneksi data agar bisa dihubungkan dengan Database yang akan digunakan untuk pembuatan laporan. Caranya adalah dengan klik kanan pada Connection1, lalu pilih Properties, sehingga akan ditampilkan jendela seperti gambar di bawah ini.
Gambar 48 : Kotak Dialog Link Database
-          Klik pilihan Microsoft Jet 4.0 OLE DB Provider, lalu klik tombol Next, sehingga akan ditampilkan jendela di bawah ini
Gambar 49 : Kotak Dialog Koneksi Database
-          Ketikkan nama database yang digunakan (pada posisi kursor saat ini) atau klik tombol titik tiga sehingga memudahkan dalam menentukan database yang dimaksudkan. Setelah database selesai ditetapkan, maka untuk mencoba koneksi bisa diklik tombolTest Conection. Jika dinyatakan sukses, maka langkah selanjutnya dapat dilakukan dengan mengklik tombol OK.
2)      Membuat Sumber Data (Tabel/SQL yang akan digunakan)
Untuk mempersipkan sumber data yang akan digunakan, maka lakukan langkah-langkah di bawah ini.
-          Klik kanan pada bagian Connection1
-          Pilih Add Command, sehingga akan ditambahkan satu nama untuk sumber data yaitu Command1. Nama ini dapat dirubah pada properties. (setiap kali ingin menambah sumber data lakukan hal yang sama seperi di atas)
-          Tentukan sumber data dengan klik kanan pada Command1, lalu pilih Properties sehingga akan ditampilkan kotak dialog seperti gambar di bawah ini.
Gambar 50 : Kotak Dialog Properties Pembuatan Sumber Data
Sumber data dapat berupa tabel atau sql. Jika sumber data adalah tabel, maka klik Database Object lalu pilih Table. Setelah itu pada bagian bawahnya pilih nama tabel yang akan digunakan. Jika sumber data adalah query maka klik SQL Statement, lalu tulis SQL yang dibutuhkan. Untuk memperjelas keadaan dari dua alternatif di atas dapat dilihat gambar di bawah ini.
Gambar 51 : Sumber Data Berupa Tabel
Gambar 52 : Sumber Data Berupa SQL
-          Setelah selesai menentap Tabel atau SQL, klik tombol Apply.
-          Apabila laporan yang dibuat adalah mengambil seluruh data pada tabel seperti contoh di atas, maka proses sudah selesi dengan mengklik tombol OK. Tapi jika laporan yang dibuat agak bervariasi, misalnya menampikan data tertentu atau menampilkan data dengan kelompok tertentu, maka dapat ditindak lanjuti dengan menetapkan beberapa hal pada kotak dialog di atas.
b)      Proses Pembuatan
Setelah persiapan-persiapan atau kelengkapan dari pembuatan laporan sudah dilakukan, maka proses pembuatan dapat dilakukan. Ada dua tahapan yang perlu dilakukan supaya laporan bisa terwujud yaitu mengatur properties dan membuat rancangan (desain) laporan. Untuk keperluan tersebut kembali dulu ke tampilan rancangan report. Jika masih dalam tampilan Environmet, maka tutup dulu tampilan tersebut.
1)      Mengatur properties laporan
Gambar 53 : Layar Desain Laporan
Pada saat tampilan desain report seperti di atas, maka atur propertiesnya yaitu DataSource dan DataMember.
-          Mengatur DataSource
Klik properti DataSource, lalu pilih sesuai dengan nama Environment (pada contoh di atas namanya adalah Environment1)
-          Mengatur DataMember
Klik properties DataMember, lalu pilih nama sumber data ysng digunakan (pada contoh di atas menggunakan Command1).
Properties yang lain dapat diatur, misalnya batas kiri laporan (Left Margin), batas kanan laporan (Right Margin), batas atas laporan (Top Margin), dan batas bawah laporan (Bottom Margin).
2)      Membuat desain laporan
Untuk membuat rancangan laporan dapat digunakan kontrol-kontrol yang sudah disediakan. Untuk penerapannya sama seperti dalam perancangan form. Langkah-langkahnya sebagai berhkut :
  1. Gunakan kontrol Label (RptLabel) untuk membuat tampilan berupa keterangan seperti judul dan sebagainya. Atur propertiesnya terutama Caption.
  2. Gunakan kontrol text (RptTextbox)  untuk menampilkan data berupa field dan letakkan pada bagian Detail. Properties yang diatur adalah DataMember (sesuai nama sumber datanya) data DataField (sesuai dengan field-field yang akan ditampilkan)
  3. Gunakan kontrol fungsi (RptFunction) untuk menampilkan perhitungan seperti penjumlahan dan letakkan pada bagian Report Footer. Properties yang diatur adalah DataMember (sesuai nama sumber datanya) data DataField (sesuai dengan field-field yang akan ditampilkan)
  4. Gunakan kontrol Shape (RptShape) untuk membuat kotak atau kolom-kolom pada laporan.
  5. Gunakan kontrol Line (RptLine) untuk membentuk garis pada laporan.
  6. Gunakan kontrol Image (RptImage) untuk menampilkan gambar pada laporan. Properties yang diatur adalah properties Picture.
c)      Menjalankan/Memanggil Report
Untuk memanggil/menjalankan report dapat dilakukan dengan dua bentuk, yaitu laporan yang akan ditampilkan di layar dan laporan yang akan dicetak.
1)      Memanggil/Menjalankan laporan untuk layar
DataReport1.Show
2)      Memanggil/Menjalankan laporan yang akan dicetak
DataReport1.PrintReport
Catatan :
DataReport1 adalah nama laporan.
Perintah tersebut dituliskan pada tombol peritah yang sesuai.
d)     Contoh Penerapan
Di bawah ini adalah database sederhana dari administrasi perhotelan. Beri saja nama database ini dengan DATAHOTEL.MDB. Diminta untuk membuat laporan tentang daftar tamu yang menginap dengan pilihan (semua, tanggal tertentu, bulan tertentu, tahun tertentu.
Gambar 54 : Relasi Antar Tabel Database Sederhana
Penyelesaian :
1)      Rancang terlebih dahulu database dengan menggunakan Microsoft Access
2)      Buat seluruh tabel dan tentukan jenis field dan kunci jika ada.
3)      Buatlah Query agar memudahkan dalam menghasilkan informasi yang lengkap, khusus untuk penginapan yang menggabungkan tabel Inap, tabel Tamu, tabel Petugas, tabel Kamar dan tabel Jeniskm. Simpanlah Query tersebut dengan nama Qinap. Setelah database selesai, jangan lupa untuk melakukan proses Convert Database.
4)      Buatlah project untuk menghasilkan aplikasi yang diinginkan.
5)      Buatlah laporan dengan menambahkan Objek Data Report ke dalam project.
6)      Lakukan persiapan laporan dengan membuat Data Environment
7)      Tetapkanlah koneksi data untuk membuat sumberdata
8)      Ciptakanlah 4 buah sumber data (klik kanan pada Connection lalu klik Add Command) karena laporan yang akan dihasilkan sebanyak 4 buah laporan. Nama masing-masingnya biarlah seperti aslinya (Command, Command2, Command3, dan Command4). Untuk masing-masing sumber data dibuat dengan SQL saja.
-          SQL pada Command1 (semua data)
Klik kanan pada Command1, lalu pilih Properties dan tulis SQL sbb :
Select * from QINAP
Klik Apply
-          SQL pada Command2 (data tanggal tertentu)
Klik kanan pada Command2, lalu pilih Properties dan tulis SQL sbb :
Select * from QINAP Where (tglmasuk = ?)
Klik Apply
Klik tab Parameters, klik tanda tanya yang muncul, lalu tulis nama parameter pada bagian Name dengan nama VTGL, klik Apply
Klik tab Group, tandai check box Group Command Object, klik field tglmasuk, pindahkan ke sebelah kanan dengan tombol arah kanan
Klik tombol OK
-          SQL pada Command3 (data bulan tertentu)
Klik kanan pada Command3, lalu pilih Properties dan tulis SQL sbb :
Select *, month(tglmasuk) as BULAN, year(tglmasuk) as TAHUN from QINAP Where (month(tglmasuk) = ? and year(tglmasuk) = ?)
Klik Apply
Klik tab Parameters, klik tanda tanya yang muncul. Tanda tanya pertama beri nama pada Name dengan VBULAN, tanda tanya kedua beri nama pada Name dengan VTAHUN, lalu klik Apply
Klik tab Group, tandai check box Group Command Object, klik field BULAN pindahkan ke sebelah kanan dengan tombol arah kanan, field TAHUN pindahkan kesebelah kanan dengan tombol arah kanan.
Klik tombol OK
-          SQL pada Command4 (data tahun tertentu)
Klik kanan pada Command3, lalu pilih Properties dan tulis SQL sbb :
Select *, year(tglmasuk) as TAHUN from QINAP Where (year(tglmasuk) = ?)
Klik Apply
Klik tab Parameters, klik tanda tanya yang muncul dan nama pada Name dengan VTAHUN, lalu klik Apply
Klik tab Group, tandai check box Group Command Object, field TAHUN pindahkan kesebelah kanan dengan tombol arah kanan.
Klik tombol OK
Catatan :
Penggunaan tanya (?) dalam SQL menunjukkan pada bagian itu akan diisi oleh parameter (nilainya tidak pasti) yang akan dikirim dari form pemanggilnya
Setelah selesai membuat SQL masing-masing sumber data, akan terlihat pada jendela Environment seperti terlihat pada gambar di bawah ini.
Gambar 55 : Jendela Environment
Tutup jendela di atas supaya kembali ke desain report.
9)      Rancanglah 4 buah laporan untuk masing-masing sumber data yang telah dibuat. Hubungkan dengan sumber data yang sesuai.
10)  Rancanglah form untuk menjalankan report yang telah dibuat dengan rancangan seperti gambar di bawah ini.
Gambar 56 : Rancangan Form Laporan
11)  Tulislah kode program pada form sebagai berikut :
Dim bl As Single
Private Sub Form_Load()
Option1.Value = True
thn.Text = Year(Date)
End Sub
Private Sub cmdlayar_Click()
Call cekbulan
If Option1.Value = True Then
If DataEnvironment1.rsCommand1.State = adStateOpen Then
DataEnvironment1.rsCommand1.Close
DataEnvironment1.rsCommand1.Open
If DataEnvironment1.rsCommand1.RecordCount = 0 Then
MsgBox “Data belum ada atau tabel masih kosong!”
Else
DataReport1.Show
End If
ElseIf Option2.Value = True Then
If DataEnvironment1.rsCommand2_Grouping.State = adStateOpen Then
DataEnvironment1.rsCommand2_Grouping.Close
DataEnvironment1.command2_Grouping tgl.Value
If DataEnvironment1.rsCommand2_Grouping.RecordCount = 0 Then
MsgBox “Data belum ada atau tabel masih kosong!”
Else
DataReport2.Show
End If
ElseIf Option3.Value = True Then
If DataEnvironment1.rsCommand3_Grouping.State = adStateOpen Then
DataEnvironment1.rsCommand3_Grouping.Close
DataEnvironment1.command3_Grouping bl, Val(thn.Text)
If DataEnvironment1.rsCommand3_Grouping.RecordCount = 0 Then
MsgBox “Data belum ada atau tabel masih kosong!”
Else
DataReport3.Show
End If
ElseIf Option4.Value = True Then
If DataEnvironment1.rsCommand4_Grouping.State = adStateOpen Then
DataEnvironment1.rsCommand4_Grouping.Close
DataEnvironment1.command4_Grouping Val(thn.Text)
If DataEnvironment1.rsCommand4_Grouping.RecordCount = 0 Then
MsgBox “Data belum ada atau tabel masih kosong!”
Else
DataReport4.Show
End If
End If
End Sub
Private Sub cmdselesai_Click()
Unload Me
End Sub
Public Sub cekbulan()
If bln.Text = “Januari” Then
bl = 1
ElseIf bln.Text = “Februari” Then
bl = 2
ElseIf bln.Text = “Maret” Then
bl = 3
ElseIf bln.Text = “April” Then
bl = 4
ElseIf bln.Text = “Mei” Then
bl = 5
ElseIf bln.Text = “Juni” Then
bl = 6
ElseIf bln.Text = “Juli” Then
bl = 7
ElseIf bln.Text = “Agustus” Then
bl = 8
ElseIf bln.Text = “September” Then
bl = 9
ElseIf bln.Text = “Oktober” Then
bl = 10
ElseIf bln.Text = “Nopember” Then
bl = 11
ElseIf bln.Text = “Desember” Then
bl = 12
End If
End Sub
Private Sub Option1_Click()
Label2.Visible = False
tgl.Visible = False
Label3.Visible = False
bln.Visible = False
Label4.Visible = False
thn.Visible = False
End Sub
Private Sub Option2_Click()
Label2.Visible = True
tgl.Visible = True
Label3.Visible = False
bln.Visible = False
Label4.Visible = False
thn.Visible = False
tgl.SetFocus
End Sub
Private Sub Option3_Click()
Label2.Visible = False
tgl.Visible = False
Label3.Visible = True
bln.Visible = True
Label4.Visible = True
thn.Visible = True
bln.SetFocus
End Sub
Private Sub Option4_Click()
Label2.Visible = False
tgl.Visible = False
Label3.Visible = False
bln.Visible = False
Label4.Visible = True
thn.Visible = True
thn.SetFocus
End Sub
Keterangan :
Kode untuk tombol Cetak tidak disertakan pada listing di atas. Anda dapat membuat kodenya dengan meng-copy kode pada tombol Layar, lalu DataReport1.Show diganti dengan DataReport1.PrintReport. Sesuaikan juga untuk perintah yang lain.

4 Komentar "MEMBUAT LAPORAN (REPORT) DENGAN VISUAL BASIC"

Unknown February 12, 2013 at 12:13 AM WIB Permalink

thanx sob,,,, sngat mmbantu dan akurat !!!!

Aries_Bro February 12, 2013 at 3:23 PM WIB Permalink

ok sob...
thanks for your visit...

Islam Is Rahmatan May 10, 2013 at 9:12 AM WIB Permalink

kok gk bisa tampil ya laporannya, tapi misalkan kalo pas pilih option trus langsung cetak bisa sih. tapi kalo harus di buat close sama open/value dia tidak muncul apa2, tidak ada error atau apa pun... mohon pencerahan gan

Aries_Bro May 10, 2013 at 6:16 PM WIB Permalink

Saya kurang mengerti pertanyaan anda dengan kronologi seperti itu Gan...