bab-6 membuat laporan

Upload: ocky-octavianto

Post on 17-Oct-2015

25 views

Category:

Documents


0 download

TRANSCRIPT

BAB VII

BAB VII

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.

JENISKM

*KDJK

NAMAJK

TARFD

FASILITAS

JMLKAMAR

KAMAR

*NOKAMAR

**KDJK

STATUSKM

INAP

*NOREG

**KDTAMU

TGLMASUK

JAMMASUK

**KDPET

**NOKAMAR

KET

TAMU

*KDTAMU

NAMA

KEL

ALAMAT

TELP

BANGSA

TGLCATAT

KELUAR

*NOREG

TGLKELUAR

JAMKELUAR

BEAINAP

BEALAIN

PAJAK

**KDPET

PETUGAS

*KDPET

NAMAPET

JABATAN

PASP

LEVELP

Name : Label2

Name : Label3

Name : Tgl

Name : Bln

Name : Label4

Name : Thn

Name : CmdLayar

Name : CmdSelesai

Name : CmdCetak