LAPORAN (REPORT)
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
tombol Test 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 berikut :
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.