Anda di halaman 1dari 26

E-Book yang Sedang Anda Baca Ini Berasal dari:

SUMBER ILMU PENGETAHUAN TANPA BATAS


www.pustaka78.com
Inilah situs yang selalu dicari. Akan menjadi sumber download buku digital
terbesar di Indonesia. Menyediakan ribuan ebook, audio, movie, foto, dan
software bermutu dalam berbagai kategori. Dijamin dapat didownload
GRATIS 100%. Kunjungi sekarang juga www.pustaka78.com

Hak Cipta Terpelihara


© Hak Cipta ada pada Penulis/ Pengarang, Penerbit, atau Sumber Online.
LISENSI PENGGUNAAN: Dokumen ini boleh dikutip, dimodifikasi, atau
disebarkan luaskan secara bebas tanpa menghilangkan identitas pemilik hak
cipta. Pustaka Gratis 78 semata-mata hanya sebagai perpustakaan digital
penyedia ilmu pengetahuan yang memiliki koleksi dokumen yang pada dasarnya
bersumber pada publikasi online gratis atau dokumentasi yang tidak
diperdagangkan lagi. Jika buku ini masih diperdagangkan, kami tetap
menyarankan Anda untuk membeli versi cetaknya agar dunia perbukuan di
Indonesia terus maju dan berkembang dengan pesat.
Semoga semua bahan bacaan koleksi Pustaka Gratis 78 ini bermanfaat bagi
masyarakat luas di Indonesia dan luar negeri.
Daftar Isi

Kata Pengantar ............................................................................. v


Daftar Isi ..................................................................................... vii
Bab 1 Membangun Multiaplikasi ......................................... 1
1.1 Latar Belakang Penulisan ............................................. 1
1.2 Crystal Reports ............................................................. 3
1.3 SQL Server ................................................................... 5
1.4 VB 6 pada Era Teknologi .NET..................................... 6
1.5 CD Pendamping ........................................................... 7
Bab 2 Multiaplikasi – Multiproject ....................................... 9
2.1 SingleAplikasi – SingleProject..................................... 12
2.2 Multiaplikasi – Multiproject.......................................... 16
2.3 ActiveX Component ................................................... 20
2.4 Membuat Komponen ActiveX - DLL ........................... 22
2.5 Multiaplikasi – Multiproject dalam Satu Logika
Program ..................................................................... 28
Bab 3 RecordSet Terputus dan Good Bye Control ADO
DC......................................................................... 35
3.1 RecordSet Terputus .................................................... 36
3.2 Good Bye Control ADO DC ........................................ 38
Bab 4 F1 – Online Help .................................................... 49
4.1 Membuat File Online Help .......................................... 50
4.2 Membuat File Help (.HLP) .......................................... 52
4.3 Membuat File Help (.CHM) ......................................... 55
4.4 Menyertakan File Online Help..................................... 60
Bab 5 Data Report ........................................................... 61
5.1 Data Report – AlbumList............................................. 62
5.2 Data Report – Penjualan ............................................. 69
5.3 Data Report – via Form dan Print Report..................... 78

vii
Bab 6 Membuat Laporan dengan Crystal Reports .............. 83
6.1 Persiapan Sebelum Membuat Laporan........................ 84
6.2 Membuat Cetakan Laporan......................................... 89
6.3 Menampilkan Laporan ................................................ 94
6.4 Menyiapkan Sumber Data Laporan........................... 100
6.5 Memformat Laporan ................................................. 105
6.6 Meng-update Objek RecordSet ................................. 113
Bab 7 Laporan Bertingkat via Crystal Reports ................. 117
7.1 Membuat Cetakan Laporan Penjualan ...................... 117
7.2 Menyiapkan Sumber Data ........................................ 121
7.3 Permasalahan pada Penyiapan Sumber Data dan
Solusinya.................................................................. 130
7.3.1 Via SubQuery ............................................. 131
7.3.2 Via SubQuery dan Tabel Sementara ........... 132
7.3.3 Via SubQuery dan Tabel Tetap................... 135
7.3.4 Via Join_All dan Tabel Tetap...................... 138
7.3.5 Via Variasi SubQuery dan Tabel Tetap ....... 140
7.3.6 Via Variasi SubQuery dan Tabel
Sementara.................................................. 146
7.3.7 Mempercepat Eksekusi Laporan................. 149
7.4 Menghitung Nilai Total.............................................. 150
Bab 8 Konversi ke Multiaplikasi – Multiproject ................. 155
8.1 Menjadi Multiaplikasi – Multiproject .......................... 155
8.2 Merawat Multiaplikasi – Multiproject ......................... 160
8.3 Aplikasi Program ...................................................... 165
8.3.1 Accounting dan Payroll Project ................... 165
8.3.2 Project Penjualan ........................................ 168
8.3.3 Project Login (Project Utama)..................... 171
Bab 9 Aplikasi Program Penjualan Barang ...................... 189
9.1 Tabel_Penjualan ....................................................... 191
9.2 Pelanggan (Customer).............................................. 197
9.3 Daftar Album (AlbumList) ........................................ 201
9.4 Penjualan (Sale) ....................................................... 220
9.5 Laporan .................................................................... 242

viii
Lampiran:
A Instalasi CD Program ..................................................243
B SQL Server 2000 ........................................................249

Daftar Pustaka ..........................................................................253

ix
BAB 5
Data Report

Data Report adalah fasilitas program (module) yang disertakan pada


aplikasi Visual Basic (VB6) untuk membuat suatu laporan, di mana
sumber datanya berasal dari Data Environment Designer (DED).
Sedangkan Data Environment adalah suatu objek yang men-
spesifikasikan hubungan ke sumber data (database) serta men-
dekripsikan pernyataan (kriteria) dari data/record yang ingin di-
peroleh.
Pada aplikasi program sesungguhnya, Data Report jarang digunakan,
lebih umum digunakan aplikasi program Crystal Reports. Hal ini
disebabkan spesifikasi (pernyataan) yang dideklarasikan pada DED
tidak dapat dimodifikasi lewat kode program sehingga informasi
yang ditampilkan melalui Data Report terkesan kaku (tidak fleksibel),
jadi tidak banyak manfaatnya.
Walaupun manfaat Data Report sangat minim, tidak ada salahnya
untuk mempelajari Data Report sebagai salah satu cara untuk
menampilkan data/laporan dalam bentuk yang lebih terformat.
Untuk itu penulis akan membimbing Anda melihat bagaimana record
dari tabel AlbumList ditampilkan. Dilanjutkan dengan contoh laporan
transaksi penjualan sebagai ilustrasi untuk memperlihatkan bagai-
mana record dari beberapa tabel disatukan dalam suatu laporan.
Mari kita mulai!

61
5.1 Data Report - AlbumList
Untuk mengetahui bagaimana menampilkan record dari tabel
AlbumList, dapat dilakukan dengan membuka project baru, men-
spesifikasikan hubungan ke database pada objek DED, kemudian
mengaitkan kolom yang akan ditampilkan pada Data Report, dan
diakhiri dengan menjalankan program. Untuk itu diperlukan langkah-
langkah berikut ini:
1. Buka project baru VB.
2. Melalui menu Project, pilih opsi Add Data Environment untuk
menambahkan Data Environment ke dalam project. Selanjutnya
Anda akan melihat jendela Data Environment. Gantilah nama
objek Connection1 menjadi objConnection (Gambar 5.1). Ke-
mudian lanjutkan dengan mengaktifkan shortcut menu dengan
cara mengklik tombol kanan mouse dari icon bersangkutan.

Gambar 5.1 Jendela Data Environment1

3. Selanjutnya pilih opsi Properties dari icon objConnection, dan


Anda akan melihat jendela Data Link Properties. Isilah sumber
data/konfigurasi yang diperlukan, yakni data provider yang akan
digunakan yaitu Microsoft OLE DB Provider for SQL Server
Dilanjutkan dengan pengisian informasi pada tab Connection

62
yakni nama server, nama user dan password, serta nama
database yang akan digunakan. Tentunya jangan lupa untuk
memberi tanda cek agar kode password disimpan juga (Gambar
5.2 dan Gambar 5.3).

Gambar 5.2 Jendela Data Link Properties

4. Selanjutnya tambahkan objek Command di bawah icon


objConnection melalui pilihan Add Command. Maka Anda akan
melihat icon Command1 ditambahkan tepat di bawah icon
objConnection. Lanjutkan dengan mengganti nama Command1
menjadi objComm_AlbumList (Gambar 5.4).

63
Gambar 5.3 Jendela Data Link Properties (Connection)

Gambar 5.4 Objek Command pada DataEnvironment1

5. Berikutnya, buka properti objek objComm_AlbumList melalui


pilihan pada menu shortcut. Anda akan melihat jendela
objComm_AlbumList Properties. Masukkan pernyataan SQL
yang akan digunakan sebagai sumber data, yakni Select * from
AlbumList (Gambar 5.5).

64
Gambar 5.5 Mengkonfigurasi sumber data objek
objComm_AlbumList

6. Pindah ke tab Advanced untuk menset properti recordset, type


cursor: static, lokasi cursor: client, dan lock type: read only (lihat
Gambar 5.6).

Gambar 5.6 Mengkonfigurasi recordset dari objek


objComm_AlbumList

65
7. Tekan tombol OK untuk menyimpan konfigurasi dan Anda telah
selesai mengkonfigurasi objek Data Environment. Klik tanda (+)
di depan icon objComm_AlbumList dan akan terlihat daftar nama
kolom milik tabel AlbumList, seperti tampak pada Gambar 5.7.
8. Langkah selanjutnya yaitu membuka jendela Data Report melalui
pilihan Project > Add Data Report.
9. Kemudian tambahkan kolom yang ingin ditampilkan pada layout
Data Report dengan cara menyeret (drag) kolom tersebut dari
jendela DED dan letakkan pada area/section Detail. Akan ada
dua kontrol disertakan lewat proses ini, salah satunya yaitu judul
field/kolom. Hapus saja kontrol judul (label) agar hanya nilai
kolom saja yang ditampilkan. Anda dapat melihat jenis kontrol/
nama kontrol melalui jendela Property.

Gambar 5.7 Tampilan kolom objComm_AlbumList

10. Lakukan penambahan untuk kolom Album_ID dan Album_Title,


lalu perbaiki tata letak dari kontrol tersebut. Anda dapat juga
memanfaatkan mouse untuk mengatur (memperbesar/mem-
perkecil) area Detail Section. Lihat Gambar 5.8.

66
Gambar 5.8 Jendela Data Report

11. Spesifikasikan sumber data bagi Data Report yakni Data-


Environment1 dan juga DataMember yang akan digunakan yakni
objek objComm_AlbumList, seperti tampak pada Gambar 5.9.

Gambar 5.9 Properties DataReport1

67
12. Terakhir, set Startup Object dari project tersebut melalui jendela
Project Properties dengan objek DataReport1 (Gambar 5.10) dan
akhiri proses dengan menjalankan program. Maka Anda akan
melihat tampilan record (laporan) seperti pada Gambar 5.11.

Gambar 5.10 Menset Startup Object

Gambar 5.11 Tampilan record AlbumList

68
5.2 Data Report - Penjualan
Proses penyiapan laporan penjualan tidaklah sulit. Prosesnya hampir
sama dengan yang telah dijelaskan sebelumnya, bedanya ada pada
proses penambahan objek ‘anak command/sub record.’
Jika pada laporan AlbumList, pernyataan SQL-lah yang menjadi
sumber data, maka pada laporan penjualan, sumber data berasal
dari pernyataan Shape yang berisi pernyataan SQL dan deskripsi
lainnya seperti relationship dan agregasi/agregate.
Anda tidak perlu khawatir dalam menyiapkan pernyataan Shape,
karena pernyataan Shape dapat dilakukan dengan memanfaatkan
menu yang tersedia. Untuk jelasnya mari kita ikuti langkah-langkah
berikut ini:
1. Anda dapat memulai proses dengan membuka project VB baru
kemudian mendeskripsikan objConnection seperti telah dijelas-
kan di atas. Cara lain yaitu dengan mengkopikan semua file yang
telah dibuat sebelumnya pada folder lain, dilanjutkan dengan
membuat objek Command atau langsung membuat objek
Command baru pada projek yang telah dibuat sebelumnya.
2. Silakan menambahkan objek Command di bawah icon
objConnection melalui pilihan Add Command, maka Anda akan
melihat icon Command1 ditambahkan tepat di bawah icon
objConnection. Gantilah nama Command1 menjadi objComm_-
Customer, karena Anda akan mengambil data field dari tabel
Customer (Gambar 5.12).
3. Berikutnya, buka properti objek objComm_Customer, dan Anda
akan melihat jendela objComm_Customer Properties (Gambar
5.13). Pada tab General, pilih opsi sumber data berasal dari
pernyataan SQL, kemudian ketik pernyataan SQL seperti berikut:
Select cus_id, cus_name from customer, klik tombol OK untuk
menyimpannya (Anda tidak perlu ke tab Advance, gunakan saja
setting yang tersedia).
4. Klik icon objComm_Customer, melalui menu shortcut pilih opsi
Add Child Command, lalu ganti namanya dari Command1
menjadi objComm_Sale.

69
Gambar 5.12 objComm_Customer

5. Klik icon objComm_Sale, aktifkan objek properti (Gambar 5.14),


kemudian ketik pernyataan SQL: select sale_id, sale_date,
cus_id, sale_amount from sale sebagai sumber datanya.

Gambar 5.13 Mengkonfigurasi sumber data objComm_Customer

70
Gambar 5.14 Mengkonfigurasi sumber data objek objComm_Sale

6. Pindah ke tab Relation (Gambar 5.15) untuk mengaitkan


hubungan objek induk (objComm_Customer) dengan objek anak
(objComm_Sale). Pilih field cus_id sebagai penghubung, ke-
mudian tekan tombol Add dan klik OK untuk menyimpannya.

Gambar 5.15 Mengaitkan objComm_Customer dengan


objComm_Sale

71
7. Klik icon objComm_Sale, melalui shortcut menu pilih opsi Add
Child Command, kemudian ganti nama command1 menjadi
objComm_Sale_Detail.
8. Klik icon objComm_Sale_Detail, aktifkan objek properti. Se-
lanjutnya Anda bisa mengetik pernyataan SQL seperti yang
dilakukan pada objek objComm_Sale atau membuat pernyataan
melalui tombol SQL Builder. Mari kita coba membuatnya melalui
SQL Design, tekan tombol SQL Builder, Anda akan melihat
jendela SQL Design (Gambar 5.17) dan jendeka DataView
ditampilkan (Gambar 5.16).
9. Lakukan proses penambahan tabel ke dalam panel diagram
dengan cara menyeret icon tabel (sale_detail dan albumlist) dari
folder Tables pada jendela Data View. Kemudian pilih field yang
diinginkan (dari tabel sale_detail: sale_id, album_id, sd_quantity,
sd_price dan album_title dari tabel albumlist). Jalankan program
dan Anda akan mendapatkan pernyatan SQL yang diinginkan.
Keluar dari jendela SQL Design dan simpan/kaitkan pernyataan
tersebut pada jendela properti objComm_Sale_Detail.

Gambar 5.16 Jendela DataView

72
Gambar 5.17 Membuat perintah SQL

10. Pindah ke tab Relation (Gambar 5.18) untuk mengaitkan hu-


bungan objek induk (objComm_Sale) dengan objek anak
(objComm_Sale_Detail). Pilih field Sale_id sebagai pengikat,
kemudian tekan tombol Add, dan klik OK untuk menyimpannya.

Gambar 5.18 Mengaitkan objComm_Sale dengan


objComm_Sale_Detail

73
11. Langkah selanjutnya adalah menghitung total nilai penjualan
untuk setiap pelanggan (mCus_Total_Sale). Untuk itu, klik icon
objComm_Customer, kemudian aktifkan jendela properti dan
pilih tab Aggregates (Gambar 5.19). Klik tombol Add, masukkan
nama variabel (mCus_Total_Sale), pilih fungsi Sum dari opsi
yang tersedia, lanjutkan dengan memilih objComm_Sale sebagai
sumber field kemudian pilih field yang ingin dijumlahkan
(sale_amount).
12. Untuk menghitung jumlah faktur pembelian per pelanggan
(mCus_Total_Invoice), lakukan hal yang serupa. Tekan tombol
Add, masukkan nama variabel (mCus_Total_Invoice), fungsi
yang diinginkan (Count), sumber data (objComm_Sale), dan
jumlah faktur yang ingin dihitung (sale_id). Kemudian klik OK
untuk menyimpannya (Gambar 5.20).

Gambar 5.19 Mengkonfigurasi variabel mCus_Total_Sale

13. Klik icon objComm_Customer, Anda akan melihat mCus_-


Total_Sale dan mCus_Total_Invoice disertakan di sana. Aktifkan
jendela Hierarchy Information. Anda akan melihat perintah pen-
jumlahan telah disertakan dalam pernyataan Shape (Gambar
5.21).

74
Gambar 5.20 Mengkonfigurasi variabel mCus_Total_Invoice

Gambar 5.21 Jendela Shape Command

14. Langkah selanjutnya adalah membuka jendela Data Report


melalui pilihan Project > Add Data Report.

75
15. Spesifikasikan sumber data bagi Data Report yakni Data-
Environment1 dan juga DataMember yang akan digunakan yakni
objek objComm_Customer, seperti tampak pada Gambar 5.22.

Gambar 5.22 Mengaitkan objek DED ke dalam form

16. Sisipkan group Header/Footer pada Data Report, kemudian


tambahkan kolom yang ingin ditampilkan sesuai dengan area
group Header atau Footer bersangkutan (lihat Gambar 5.23).
Anda dapat menambahkan label lainya untuk memperjelas
informasi yang ditampilkan.
17. Terakhir, set Startup Object dari project tersebut melalui jendela
Project Properties dan akhiri proses dengan menjalankan
program. Anda akan melihat tampilan record (laporan) seperti
pada Gambar 5.24.

76
Gambar 5.23 Mengkonfigurasi field yang akan ditampilkan

Gambar 5.24 Penampilan Laporan Penjualan

77
5.3 Data Report – via Form dan Print Report
Pada awal pembahasan, penulis telah mengatakan bahwa informasi
yang ditampilkan melalui Data Report bersifat kaku. Hal ini di-
sebabkan karena pernyataan untuk memperoleh data tidak dapat
diubah. Untuk lebih jelasnya coba simak penjelasan berikut ini.
Coba Anda awali observasi dengan melihat properti dari objek
objComm_DataList, maka pada kategori CommandText akan terlihat
pernyataan SQL yang dibuat melalui jendala objComm_AlbumList
Properties (Gambar 5.25). Selanjutnya Anda dapat melihat sumber
pernyataan (Data Member) yang digunakan oleh Data Report pada
Gambar 5.26, yakni objComm_AlbumList.

Gambar 5.25 Properties objComm_AlbumList

Gambar 5.26 Sumber Record Data Report

78
Setelah Anda meletakkan kolom yang ingin ditampilkan pada layout
Data Report, maka pada properti txtAlbum_ID akan terlihat sumber
data berasal dari data member objComm_AlbumList (Gambar 5.27).
Silahkan menjalankan program dan Anda akan melihat hasilnya
seperti telah dijelaskan di atas.

Gambar 5.27 Properti Kolom Album_ID

Mari kita coba melakukan perubahan dengan dua cara. Cara


pertama dengan membuat sebuah objek command baru, namai saja
newComm_AlbumList (Gambar 5.28), dan isi pernyataan SQL-nya:
Select * from AlbumList where Album_ID = ‘AL0001’.
Selanjutnya ganti properti Data Member dari DataReport menjadi
newComm_AlbumList (Gambar 5.29). Anda telah meletakkan kolom
pada layout Data Report, bukan? Jadi tidak perlu meletakkan kolom
lagi. Coba jalankan program maka Anda akan mendapat pesan
kesalahan – data tidak ditemukan!
Kenapa? Karena jika Anda lihat properti dari kolom yang di-
tampilkan, maka data member yang digunakan masih berasal dari
objComm_AlbumList, bukan berasal dari newComm_AlbumList. Hal
ini terjadi karena pada proses peletakan kolom data member berasal
dari objComm_AlbumList.
Tentunya adalah hal yang aneh jika kita harus mengganti nilai data
member dari setiap kolom yang ingin ditampilkan seandainya kita
mengganti sumber dari data member (objek Command). Hal itulah
yang dimaksud dengan kekakuan dalam menampilkan record via
Data Report.

79
Gambar 5.28 Objek newComm_AlbumList

Gambar 5.29 Mengganti Data Member

Cara kedua yaitu dengan membuat form untuk menerima per-


nyataan SQL yang dimasukkan oleh pengguna, kemudian mencoba
menset pernyataaan itu pada objek data environment maupun objek
Data Report. Dan hasilnya tetap nihil, baik disebabkan karena
perbedaan tipe data maupun objek properti tidak dapat diset.
Walaupun kegunaan Data Report agak minim tidak berarti tidak ada
gunanya. Karena paling tidak Anda dapat menggunakannya untuk
mencetak sesuatu yang bersifat rutin, misalnya struk pembelian yang
dicetak setelah proses penjualan dilakukan. Karenanya tidak ada
salahnya jika kita meluangkan waktu sedikit untuk melihat proses
pencetakan laporan yang dihasilkan dari Data Report.
Proses pencetakan laporan yang dihasilkan melalui Data Report,
dapat dilakukan melalui fasilitas Print yang ada pada tampilan

80
jendela preview data report. Seandainya Anda ingin langsung men-
cetaknya maka Anda dapat menambahkan kode program berikut
DataReport1.PrintReport False atau memberi batasan halaman yang
akan dicetak lewat perintah berikut:
DataReport1.PrintReport False, rptRangeFromTo, 1, 2.
Berikut adalah tampilan form untuk (mencoba) mengubah perintah
objek Command dan listing program yang menyertainya.

Gambar 5.30 Mengganti Perintah Objek Commandr

Private Sub Command1_Click()


' coba lakukan perubahan menggunakan nilai dari
' text1.text pada objek ...?? agar hanya satu
' record yang ditampilkan
' test setting berikut gagal:
' DataEnvironment1.objComm_AlbumList = Text1.Text
' DataReport1.DataMember = Text1.Text
' DataReport1.DataMember =
DataEnvironment1.newComm_AlbumList
' DataEnvironment1.objComm_AlbumList =
DataEnvironment1.newComm_AlbumList
DataReport1.Show
End Sub

Private Sub Command2_Click()


' Langsung cetak
DataReport1.PrintReport False
' langsung cetak + batasan halaman yang akan dicetak
' DataReport1.PrintReport False, rptRangeFromTo, 1, 2
End Sub

Private Sub Form_Load()


Text1.Text = "select * from albumlist where album_id =
'AL0001'"
End Sub

81

Anda mungkin juga menyukai